Source Code
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x1C20b02E...D61402F8F The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
CouncilVesting
Compiler Version
v0.4.25+commit.59dbf8f1
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-08-08
*/
pragma solidity >=0.4.23;
/// @title Math operations with safety checks
/// @author Melonport AG <team@melonport.com>
/// @notice From https://github.com/status-im/status-network-token/blob/master/contracts/safeMath.sol
library safeMath {
function mul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint a, uint b) internal returns (uint) {
uint c = a / b;
return c;
}
function sub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function add(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c >= a);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
}
/// @title ERC20 Token Interface
/// @author Melonport AG <team@melonport.com>
/// @notice See https://github.com/ethereum/EIPs/issues/20
contract ERC20Interface {
// EVENTS
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
// CONSTANT METHODS
function totalSupply() constant returns (uint256 totalSupply) {}
function balanceOf(address _owner) constant returns (uint256 balance) {}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {}
// NON-CONSTANT METHODS
function transfer(address _to, uint256 _value) returns (bool success) {}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {}
function approve(address _spender, uint256 _value) returns (bool success) {}
}
/// @title ERC20 Token
/// @author Melonport AG <team@melonport.com>
/// @notice Original taken from https://github.com/ethereum/EIPs/issues/20
/// @notice Checked against integer overflow
contract ERC20 is ERC20Interface {
function transfer(address _to, uint256 _value) returns (bool success) {
if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
} else { throw; }
}
function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
balances[_to] += _value;
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
return true;
} else { throw; }
}
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
function approve(address _spender, uint256 _value) returns (bool success) {
// See: https://github.com/ethereum/EIPs/issues/20#issuecomment-263555598
if (_value > 0) {
require(allowed[msg.sender][_spender] == 0);
}
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
mapping (address => uint256) balances;
mapping (address => mapping (address => uint256)) allowed;
uint256 public totalSupply;
}
contract CouncilVesting {
using safeMath for uint;
// FIELDS
// Constructor fields
ERC20 public MELON_CONTRACT; // MLN as ERC20 contract
address public owner; // deployer; can interrupt vesting
// Methods fields
bool public interrupted; // whether vesting is still possible
bool public isVestingStarted; // whether vesting period has begun
uint public totalVestingAmount; // quantity of vested Melon in total
uint public vestingStartTime; // timestamp when vesting is set
uint public vestingPeriod; // total vesting period in seconds
address public beneficiary; // address of the beneficiary
uint public withdrawn; // quantity of Melon withdrawn so far
// MODIFIERS
modifier not_interrupted() {
require(
!interrupted,
"The contract has been interrupted"
);
_;
}
modifier only_owner() {
require(
msg.sender == owner,
"Only owner can do this"
);
_;
}
modifier only_beneficiary() {
require(
msg.sender == beneficiary,
"Only beneficiary can do this"
);
_;
}
modifier vesting_not_started() {
require(
!isVestingStarted,
"Vesting cannot be started"
);
_;
}
modifier vesting_started() {
require(
isVestingStarted,
"Vesting must be started"
);
_;
}
/// @notice Calculates the quantity of Melon asset that's currently withdrawable
/// @return withdrawable Quantity of withdrawable Melon asset
function calculateWithdrawable() public view returns (uint withdrawable) {
uint timePassed = block.timestamp.sub(vestingStartTime);
if (timePassed < vestingPeriod) {
uint vested = totalVestingAmount.mul(timePassed).div(vestingPeriod);
withdrawable = vested.sub(withdrawn);
} else {
withdrawable = totalVestingAmount.sub(withdrawn);
}
}
// NON-CONSTANT METHODS
/// @param ofMelonAsset Address of Melon asset
constructor(address ofMelonAsset, address ofOwner) {
MELON_CONTRACT = ERC20(ofMelonAsset);
owner = ofOwner;
}
/// @param ofBeneficiary Address of beneficiary
/// @param ofMelonQuantity Address of MLN asset
/// @param ofVestingPeriod Vesting period in seconds from vestingStartTime
function setVesting(
address ofBeneficiary,
uint ofMelonQuantity,
uint ofVestingPeriod
)
external
only_owner
not_interrupted
vesting_not_started
{
require(ofMelonQuantity > 0, "Must vest some MLN");
require(
MELON_CONTRACT.transferFrom(msg.sender, this, ofMelonQuantity),
"MLN deposit failed"
);
isVestingStarted = true;
vestingStartTime = block.timestamp;
totalVestingAmount = ofMelonQuantity;
vestingPeriod = ofVestingPeriod;
beneficiary = ofBeneficiary;
}
/// @notice Withdraw
function withdraw()
external
only_beneficiary
vesting_started
not_interrupted
{
uint withdrawable = calculateWithdrawable();
withdrawn = withdrawn.add(withdrawable);
require(
MELON_CONTRACT.transfer(beneficiary, withdrawable),
"Transfer to beneficiary failed"
);
}
/// @notice Withdraw vested tokens to beneficiary
/// @notice Send remainder back to owner
/// @notice Prevent further vesting
function forceWithdrawalAndInterrupt()
external
only_owner
vesting_started
not_interrupted
{
interrupted = true;
uint remainingVested = calculateWithdrawable();
uint totalToBeVested = withdrawn.add(remainingVested);
uint remainingUnvested = totalVestingAmount.sub(totalToBeVested);
withdrawn = totalVestingAmount;
require(
MELON_CONTRACT.transfer(beneficiary, remainingVested),
"Transfer to beneficiary failed"
);
require(
MELON_CONTRACT.transfer(owner, remainingUnvested),
"Transfer to owner failed"
);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"totalVestingAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isVestingStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"interrupted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestingPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestingStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"forceWithdrawalAndInterrupt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MELON_CONTRACT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ofBeneficiary","type":"address"},{"name":"ofMelonQuantity","type":"uint256"},{"name":"ofVestingPeriod","type":"uint256"}],"name":"setVesting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"calculateWithdrawable","outputs":[{"name":"withdrawable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"ofMelonAsset","type":"address"},{"name":"ofOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]Contract Creation Code
0x608060405234801561001057600080fd5b50604051604080610d2083398101604052805160209091015160008054600160a060020a03938416600160a060020a03199182161790915560018054939092169216919091179055610cb9806100676000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632db94d1981146100c9578063381cec91146100f057806338af3eed146101195780633ccfd60b1461014a5780634aa5f391146101615780637313ee5a146101765780638da5cb5b1461018b578063a8660a78146101a0578063c80ec522146101b5578063d74ad321146101ca578063d94a75bc146101df578063e0a668b4146101f4578063f0c69e8d1461021b575b600080fd5b3480156100d557600080fd5b506100de610230565b60408051918252519081900360200190f35b3480156100fc57600080fd5b50610105610236565b604080519115158252519081900360200190f35b34801561012557600080fd5b5061012e610246565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b5061015f610255565b005b34801561016d57600080fd5b506101056104c0565b34801561018257600080fd5b506100de6104d0565b34801561019757600080fd5b5061012e6104d6565b3480156101ac57600080fd5b506100de6104e5565b3480156101c157600080fd5b506100de6104eb565b3480156101d657600080fd5b5061015f6104f1565b3480156101eb57600080fd5b5061012e610897565b34801561020057600080fd5b5061015f600160a060020a03600435166024356044356108a6565b34801561022757600080fd5b506100de610ba2565b60025481565b60015460a860020a900460ff1681565b600554600160a060020a031681565b600554600090600160a060020a031633146102ba576040805160e560020a62461bcd02815260206004820152601c60248201527f4f6e6c792062656e65666963696172792063616e20646f207468697300000000604482015290519081900360640190fd5b60015460a860020a900460ff16151561031d576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff16156103a5576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6103ad610ba2565b6006549091506103c3908263ffffffff610c2a16565b60065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561043b57600080fd5b505af115801561044f573d6000803e3d6000fd5b505050506040513d602081101561046557600080fd5b505115156104bd576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b50565b60015460a060020a900460ff1681565b60045481565b600154600160a060020a031681565b60035481565b60065481565b60015460009081908190600160a060020a0316331461055a576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a860020a900460ff1615156105bd576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610645576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a179055610671610ba2565b600654909350610687908463ffffffff610c2a16565b60025490925061069d908363ffffffff610c4016565b60025460065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101899052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b5051151561079b576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b60008054600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561081057600080fd5b505af1158015610824573d6000803e3d6000fd5b505050506040513d602081101561083a57600080fd5b50511515610892576040805160e560020a62461bcd02815260206004820152601860248201527f5472616e7366657220746f206f776e6572206661696c65640000000000000000604482015290519081900360640190fd5b505050565b600054600160a060020a031681565b600154600160a060020a03163314610908576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610990576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60015460a860020a900460ff16156109f2576040805160e560020a62461bcd02815260206004820152601960248201527f56657374696e672063616e6e6f74206265207374617274656400000000000000604482015290519081900360640190fd5b60008211610a4a576040805160e560020a62461bcd02815260206004820152601260248201527f4d757374207665737420736f6d65204d4c4e0000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216926323b872dd926064808401936020939083900390910190829087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b50511515610b40576040805160e560020a62461bcd02815260206004820152601260248201527f4d4c4e206465706f736974206661696c65640000000000000000000000000000604482015290519081900360640190fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790554260035560029190915560045560058054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055565b6000806000610bbc60035442610c4090919063ffffffff16565b9150600454821015610c0d57610bef600454610be384600254610c5290919063ffffffff16565b9063ffffffff610c7616565b9050610c0660065482610c4090919063ffffffff16565b9250610c25565b600654600254610c229163ffffffff610c4016565b92505b505090565b600082820183811015610c3957fe5b9392505050565b600082821115610c4c57fe5b50900390565b6000828202831580610c6e5750828482811515610c6b57fe5b04145b1515610c3957fe5b6000808284811515610c8457fe5b049493505050505600a165627a7a7230582098035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe0910029000000000000000000000000ec67005c4e498ec7f55e092bd1d35cbc47c918920000000000000000000000008e452b55e3e00428ad90f9683565ae1fba16efbf
Deployed Bytecode
0x6080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632db94d1981146100c9578063381cec91146100f057806338af3eed146101195780633ccfd60b1461014a5780634aa5f391146101615780637313ee5a146101765780638da5cb5b1461018b578063a8660a78146101a0578063c80ec522146101b5578063d74ad321146101ca578063d94a75bc146101df578063e0a668b4146101f4578063f0c69e8d1461021b575b600080fd5b3480156100d557600080fd5b506100de610230565b60408051918252519081900360200190f35b3480156100fc57600080fd5b50610105610236565b604080519115158252519081900360200190f35b34801561012557600080fd5b5061012e610246565b60408051600160a060020a039092168252519081900360200190f35b34801561015657600080fd5b5061015f610255565b005b34801561016d57600080fd5b506101056104c0565b34801561018257600080fd5b506100de6104d0565b34801561019757600080fd5b5061012e6104d6565b3480156101ac57600080fd5b506100de6104e5565b3480156101c157600080fd5b506100de6104eb565b3480156101d657600080fd5b5061015f6104f1565b3480156101eb57600080fd5b5061012e610897565b34801561020057600080fd5b5061015f600160a060020a03600435166024356044356108a6565b34801561022757600080fd5b506100de610ba2565b60025481565b60015460a860020a900460ff1681565b600554600160a060020a031681565b600554600090600160a060020a031633146102ba576040805160e560020a62461bcd02815260206004820152601c60248201527f4f6e6c792062656e65666963696172792063616e20646f207468697300000000604482015290519081900360640190fd5b60015460a860020a900460ff16151561031d576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff16156103a5576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6103ad610ba2565b6006549091506103c3908263ffffffff610c2a16565b60065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561043b57600080fd5b505af115801561044f573d6000803e3d6000fd5b505050506040513d602081101561046557600080fd5b505115156104bd576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b50565b60015460a060020a900460ff1681565b60045481565b600154600160a060020a031681565b60035481565b60065481565b60015460009081908190600160a060020a0316331461055a576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a860020a900460ff1615156105bd576040805160e560020a62461bcd02815260206004820152601760248201527f56657374696e67206d7573742062652073746172746564000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610645576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a179055610671610ba2565b600654909350610687908463ffffffff610c2a16565b60025490925061069d908363ffffffff610c4016565b60025460065560008054600554604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101899052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050506040513d602081101561074357600080fd5b5051151561079b576040805160e560020a62461bcd02815260206004820152601e60248201527f5472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b60008054600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561081057600080fd5b505af1158015610824573d6000803e3d6000fd5b505050506040513d602081101561083a57600080fd5b50511515610892576040805160e560020a62461bcd02815260206004820152601860248201527f5472616e7366657220746f206f776e6572206661696c65640000000000000000604482015290519081900360640190fd5b505050565b600054600160a060020a031681565b600154600160a060020a03163314610908576040805160e560020a62461bcd02815260206004820152601660248201527f4f6e6c79206f776e65722063616e20646f207468697300000000000000000000604482015290519081900360640190fd5b60015460a060020a900460ff1615610990576040805160e560020a62461bcd02815260206004820152602160248201527f54686520636f6e747261637420686173206265656e20696e746572727570746560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60015460a860020a900460ff16156109f2576040805160e560020a62461bcd02815260206004820152601960248201527f56657374696e672063616e6e6f74206265207374617274656400000000000000604482015290519081900360640190fd5b60008211610a4a576040805160e560020a62461bcd02815260206004820152601260248201527f4d757374207665737420736f6d65204d4c4e0000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690529051600160a060020a03909216926323b872dd926064808401936020939083900390910190829087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050506040513d6020811015610ae857600080fd5b50511515610b40576040805160e560020a62461bcd02815260206004820152601260248201527f4d4c4e206465706f736974206661696c65640000000000000000000000000000604482015290519081900360640190fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790554260035560029190915560045560058054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216919091179055565b6000806000610bbc60035442610c4090919063ffffffff16565b9150600454821015610c0d57610bef600454610be384600254610c5290919063ffffffff16565b9063ffffffff610c7616565b9050610c0660065482610c4090919063ffffffff16565b9250610c25565b600654600254610c229163ffffffff610c4016565b92505b505090565b600082820183811015610c3957fe5b9392505050565b600082821115610c4c57fe5b50900390565b6000828202831580610c6e5750828482811515610c6b57fe5b04145b1515610c3957fe5b6000808284811515610c8457fe5b049493505050505600a165627a7a7230582098035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe0910029
Deployed Bytecode Sourcemap
3942:4447:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4349:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4349:30:0;;;;;;;;;;;;;;;;;;;;4277:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4277:28:0;;;;;;;;;;;;;;;;;;;;;;4563:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4563:26:0;;;;;;;;-1:-1:-1;;;;;4563:26:0;;;;;;;;;;;;;;7180:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7180:372:0;;;;;;4204:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4204:23:0;;;;4492:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4492:25:0;;;;4110:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4110:20:0;;;;4423:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4423:28:0;;;;4629:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4629:21:0;;;;7702:684;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7702:684:0;;;;4049:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4049:27:0;;;;6512:634;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6512:634:0;-1:-1:-1;;;;;6512:634:0;;;;;;;;;5678:417;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5678:417:0;;;;4349:30;;;;:::o;4277:28::-;;;-1:-1:-1;;;4277:28:0;;;;;:::o;4563:26::-;;;-1:-1:-1;;;;;4563:26:0;;:::o;7180:372::-;5113:11;;7310:17;;-1:-1:-1;;;;;5113:11:0;5099:10;:25;5077:103;;;;;-1:-1:-1;;;;;5077:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5430:16;;-1:-1:-1;;;5430:16:0;;;;5408:89;;;;;;;-1:-1:-1;;;;;5408:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7330:23;:21;:23::i;:::-;7376:9;;7310:43;;-1:-1:-1;7376:27:0;;7310:43;7376:27;:13;:27;:::i;:::-;7364:9;:39;7436:14;;;7460:11;;7436:50;;;;;;-1:-1:-1;;;;;7460:11:0;;;7436:50;;;;;;;;;;;;:14;;;;;:23;;:50;;;;;;;;;;;;;;;;;;:14;:50;;;5:2:-1;;;;30:1;27;20:12;5:2;7436:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7436:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7436:50:0;7414:130;;;;;;;-1:-1:-1;;;;;7414:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7180:372;:::o;4204:23::-;;;-1:-1:-1;;;4204:23:0;;;;;:::o;4492:25::-;;;;:::o;4110:20::-;;;-1:-1:-1;;;;;4110:20:0;;:::o;4423:28::-;;;;:::o;4629:21::-;;;;:::o;7702:684::-;4955:5;;7874:20;;;;;;-1:-1:-1;;;;;4955:5:0;4941:10;:19;4919:91;;;;;-1:-1:-1;;;;;4919:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5430:16;;-1:-1:-1;;;5430:16:0;;;;5408:89;;;;;;;-1:-1:-1;;;;;5408:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:4;7845:18;;-1:-1:-1;;7845:18:0;-1:-1:-1;;;7845:18:0;;;7897:23;:21;:23::i;:::-;7954:9;;7874:46;;-1:-1:-1;7954:30:0;;7874:46;7954:30;:13;:30;:::i;:::-;8020:18;;7931:53;;-1:-1:-1;8020:39:0;;7931:53;8020:39;:22;:39;:::i;:::-;8082:18;;8070:9;:30;-1:-1:-1;8133:14:0;;8157:11;;8133:53;;;;;;-1:-1:-1;;;;;8157:11:0;;;8133:53;;;;;;;;;;;;7995:64;;-1:-1:-1;8133:14:0;;;:23;;:53;;;;;;;;;;;;;;;;;;:14;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;8133:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8133:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8133:53:0;8111:133;;;;;;;-1:-1:-1;;;;;8111:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:14;;;;8301:5;8277:49;;;;;;-1:-1:-1;;;;;8301:5:0;;;8277:49;;;;;;;;;;;;:14;;;;;:23;;:49;;;;;;;;;;;;;;;;;;:14;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;8277:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8277:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8277:49:0;8255:123;;;;;;;-1:-1:-1;;;;;8255:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7702:684;;;:::o;4049:27::-;;;-1:-1:-1;;;;;4049:27:0;;:::o;6512:634::-;4955:5;;-1:-1:-1;;;;;4955:5:0;4941:10;:19;4919:91;;;;;-1:-1:-1;;;;;4919:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4786:11;;-1:-1:-1;;;4786:11:0;;;;4785:12;4763:95;;;;;-1:-1:-1;;;;;4763:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5273:16;;-1:-1:-1;;;5273:16:0;;;;5272:17;5250:92;;;;;-1:-1:-1;;;;;5250:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6767:1;6749:19;;6741:50;;;;;-1:-1:-1;;;;;6741:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6824:14;;;:62;;;;;;6852:10;6824:62;;;;6864:4;6824:62;;;;;;;;;;;;-1:-1:-1;;;;;6824:14:0;;;;:27;;:62;;;;;;;;;;;;;;;;;:14;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;6824:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6824:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6824:62:0;6802:130;;;;;;;-1:-1:-1;;;;;6802:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6962:4;6943:23;;-1:-1:-1;;6943:23:0;-1:-1:-1;;;6943:23:0;;;6996:15;6977:16;:34;7022:18;:36;;;;7069:13;:31;7111:11;:27;;-1:-1:-1;;;;;7111:27:0;;;-1:-1:-1;;7111:27:0;;;;;;;;;6512:634::o;5678:417::-;5732:17;5762:15;5877:11;5780:37;5800:16;;5780:15;:19;;:37;;;;:::i;:::-;5762:55;;5847:13;;5834:10;:26;5830:258;;;5891:53;5930:13;;5891:34;5914:10;5891:18;;:22;;:34;;;;:::i;:::-;:38;:53;:38;:53;:::i;:::-;5877:67;;5974:21;5985:9;;5974:6;:10;;:21;;;;:::i;:::-;5959:36;;5830:258;;;6066:9;;6043:18;;:33;;;:22;:33;:::i;:::-;6028:48;;5830:258;5678:417;;;:::o;592:116::-;639:4;661:5;;;680:6;;;;673:14;;;;701:1;592:116;-1:-1:-1;;;592:116:0:o;487:99::-;534:4;554:6;;;;547:14;;;;-1:-1:-1;575:5:0;;;487:99::o;250:130::-;297:4;319:5;;;338:6;;;:20;;;357:1;352;348;:5;;;;;;;;:10;338:20;331:28;;;;;386:95;433:4;446:6;459:1;455;:5;;;;;;;;;386:95;-1:-1:-1;;;;386:95:0:o
Swarm Source
bzzr://98035a585ee272f0740e9caff12f0c12487d60e4b92c85a91c5ee48924dbe091
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.