Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Trigger Token Se... | 12496996 | 1131 days ago | IN | 0 ETH | 0.13052528 | ||||
Trigger Token Se... | 12309290 | 1160 days ago | IN | 0 ETH | 0.07093624 | ||||
Trigger Token Se... | 12111568 | 1191 days ago | IN | 0 ETH | 0.2633493 | ||||
Trigger Token Se... | 11893614 | 1224 days ago | IN | 0 ETH | 0.0996966 | ||||
Transfer Ownersh... | 11893610 | 1224 days ago | IN | 0 ETH | 0.00616 | ||||
Set TGE Date | 11893607 | 1224 days ago | IN | 0 ETH | 0.0086404 | ||||
Set Token Addres... | 11893604 | 1224 days ago | IN | 0 ETH | 0.0088424 | ||||
0x60806040 | 11893578 | 1224 days ago | IN | Create: DistibutionContract2 | 0 ETH | 1.9415936 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
DistibutionContract2
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-20 */ /** *Submitted for verification at Etherscan.io on 2020-09-28 */ /** *Submitted for verification at Etherscan.io on 2018-09-01 */ pragma solidity 0.5.8; // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: openzeppelin-solidity/contracts/ownership/Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: openzeppelin-solidity/contracts/lifecycle/Pausable.sol /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. contract DistibutionContract2 is Pausable { using SafeMath for uint256; uint256 constant public decimals = 1 ether; address[] public tokenOwners ; /* Tracks distributions mapping (iterable) */ uint256 public TGEDate = 0; /* Date From where the distribution starts (TGE) */ uint256 constant public month = 30 days; uint256 constant public year = 365 days; uint256 public lastDateDistribution = 0; mapping(address => DistributionStep[]) public distributions; /* Distribution object */ ERC20 public erc20; struct DistributionStep { uint256 amountAllocated; uint256 currentAllocated; uint256 unlockDay; uint256 amountSent; } constructor() public{ /* Private Sale 2 */ setInitialDistribution(0x9fd50776F133751E8Ae6abE1Be124638Bb917E05, 120000, 1*month); setInitialDistribution(0x9fd50776F133751E8Ae6abE1Be124638Bb917E05, 120000, 2*month); setInitialDistribution(0x9fd50776F133751E8Ae6abE1Be124638Bb917E05, 120000, 3*month); setInitialDistribution(0xD4e3F28E219F864B2cF99B3465431AeBECBB14b7, 30000, 1*month); setInitialDistribution(0xD4e3F28E219F864B2cF99B3465431AeBECBB14b7, 30000, 2*month); setInitialDistribution(0xD4e3F28E219F864B2cF99B3465431AeBECBB14b7, 30000, 3*month); setInitialDistribution(0x43f4759153292Ac675ec7ff56439c60065ACbC51, 80000, 1*month); setInitialDistribution(0x43f4759153292Ac675ec7ff56439c60065ACbC51, 80000, 2*month); setInitialDistribution(0x43f4759153292Ac675ec7ff56439c60065ACbC51, 80000, 3*month); setInitialDistribution(0xd350A04D2566B5356afc7B6eC93DB428084D7392, 80000, 1*month); setInitialDistribution(0xd350A04D2566B5356afc7B6eC93DB428084D7392, 80000, 2*month); setInitialDistribution(0xd350A04D2566B5356afc7B6eC93DB428084D7392, 80000, 3*month); setInitialDistribution(0x2165Ffc3b1c7eE4A618ecDf3D025625f30112E4E, 50000, 1*month); setInitialDistribution(0x2165Ffc3b1c7eE4A618ecDf3D025625f30112E4E, 50000, 2*month); setInitialDistribution(0x2165Ffc3b1c7eE4A618ecDf3D025625f30112E4E, 50000, 3*month); setInitialDistribution(0x2938b2a7EbF9a59645E39d51ec5eCA2869D6C53D, 50000, 1*month); setInitialDistribution(0x2938b2a7EbF9a59645E39d51ec5eCA2869D6C53D, 50000, 2*month); setInitialDistribution(0x2938b2a7EbF9a59645E39d51ec5eCA2869D6C53D, 50000, 3*month); setInitialDistribution(0xE3DB42B9C80c54030e45A3072b59494c7cDa10F2, 20000, 1*month); setInitialDistribution(0xE3DB42B9C80c54030e45A3072b59494c7cDa10F2, 20000, 2*month); setInitialDistribution(0xE3DB42B9C80c54030e45A3072b59494c7cDa10F2, 20000, 3*month); setInitialDistribution(0xF2F2aEAaAEfad5883711f790d351690b4852B73c, 150000, 1*month); setInitialDistribution(0xF2F2aEAaAEfad5883711f790d351690b4852B73c, 150000, 2*month); setInitialDistribution(0xF2F2aEAaAEfad5883711f790d351690b4852B73c, 150000, 3*month); setInitialDistribution(0x73D050F18AeBeB8818C038FfDF2F44b8B1A2749b, 40000, 1*month); setInitialDistribution(0x73D050F18AeBeB8818C038FfDF2F44b8B1A2749b, 40000, 2*month); setInitialDistribution(0x73D050F18AeBeB8818C038FfDF2F44b8B1A2749b, 40000, 3*month); setInitialDistribution(0xf3b387cd539F8D9666817994d058e218E711Cb85, 170000, 1*month); setInitialDistribution(0xf3b387cd539F8D9666817994d058e218E711Cb85, 170000, 2*month); setInitialDistribution(0xf3b387cd539F8D9666817994d058e218E711Cb85, 170000, 3*month); setInitialDistribution(0x468cB54a3821d8b0129C42Ea6ADf12748d97fD98, 110000, 1*month); setInitialDistribution(0x468cB54a3821d8b0129C42Ea6ADf12748d97fD98, 110000, 2*month); setInitialDistribution(0x468cB54a3821d8b0129C42Ea6ADf12748d97fD98, 110000, 3*month); setInitialDistribution(0x6c8E15EC8e35b6ffb246d60AbcA2Ba81d4e247F4, 60000, 1*month); setInitialDistribution(0x6c8E15EC8e35b6ffb246d60AbcA2Ba81d4e247F4, 60000, 2*month); setInitialDistribution(0x6c8E15EC8e35b6ffb246d60AbcA2Ba81d4e247F4, 60000, 3*month); setInitialDistribution(0x4553eD5d8d3731E629f67BD86abd021175F31848, 30000, 1*month); setInitialDistribution(0x4553eD5d8d3731E629f67BD86abd021175F31848, 30000, 2*month); setInitialDistribution(0x4553eD5d8d3731E629f67BD86abd021175F31848, 30000, 3*month); setInitialDistribution(0x3074dDb83bC64cF1f09cE20887f40df2Fd314883, 170000, 1*month); setInitialDistribution(0x3074dDb83bC64cF1f09cE20887f40df2Fd314883, 170000, 2*month); setInitialDistribution(0x3074dDb83bC64cF1f09cE20887f40df2Fd314883, 170000, 3*month); setInitialDistribution(0x69fAcc3cffDEb6F8E3c8d5542787b57930812F81, 200000, 1*month); setInitialDistribution(0x69fAcc3cffDEb6F8E3c8d5542787b57930812F81, 200000, 2*month); setInitialDistribution(0x69fAcc3cffDEb6F8E3c8d5542787b57930812F81, 200000, 3*month); setInitialDistribution(0xA53c1ddC63D9f33994C4A2189EB4F92E36694C5c, 100000, 1*month); setInitialDistribution(0xA53c1ddC63D9f33994C4A2189EB4F92E36694C5c, 100000, 2*month); setInitialDistribution(0xA53c1ddC63D9f33994C4A2189EB4F92E36694C5c, 100000, 3*month); setInitialDistribution(0x5F6a4215FE729870A437f29d3b3278e27C8789B0, 100000, 1*month); setInitialDistribution(0x5F6a4215FE729870A437f29d3b3278e27C8789B0, 100000, 2*month); setInitialDistribution(0x5F6a4215FE729870A437f29d3b3278e27C8789B0, 100000, 3*month); setInitialDistribution(0xD2Ef10da66727627C68bEd148e881C923C1baA77, 10000, 1*month); setInitialDistribution(0xD2Ef10da66727627C68bEd148e881C923C1baA77, 10000, 2*month); setInitialDistribution(0xD2Ef10da66727627C68bEd148e881C923C1baA77, 10000, 3*month); setInitialDistribution(0x860AD5284eeD848967D34f8B30257cc9c5218F4A, 50000, 1*month); setInitialDistribution(0x860AD5284eeD848967D34f8B30257cc9c5218F4A, 50000, 2*month); setInitialDistribution(0x860AD5284eeD848967D34f8B30257cc9c5218F4A, 50000, 3*month); setInitialDistribution(0xc042C97F8E11abB59117C24e5E9f48151437E336, 60000, 1*month); setInitialDistribution(0xc042C97F8E11abB59117C24e5E9f48151437E336, 60000, 2*month); setInitialDistribution(0xc042C97F8E11abB59117C24e5E9f48151437E336, 60000, 3*month); setInitialDistribution(0x89CE23FfC0b0c8E59A49135bb66C4F484Eca97Cc, 50000, 1*month); setInitialDistribution(0x89CE23FfC0b0c8E59A49135bb66C4F484Eca97Cc, 50000, 2*month); setInitialDistribution(0x89CE23FfC0b0c8E59A49135bb66C4F484Eca97Cc, 50000, 3*month); setInitialDistribution(0x6cb8e395D1F7c7B00D6594deD6Aa03C5f7cA13C8, 20000, 1*month); setInitialDistribution(0x6cb8e395D1F7c7B00D6594deD6Aa03C5f7cA13C8, 20000, 2*month); setInitialDistribution(0x6cb8e395D1F7c7B00D6594deD6Aa03C5f7cA13C8, 20000, 3*month); setInitialDistribution(0xb72D959a9670b546a5759a9d50E8CdB59187F1b5, 40000, 1*month); setInitialDistribution(0xb72D959a9670b546a5759a9d50E8CdB59187F1b5, 40000, 2*month); setInitialDistribution(0xb72D959a9670b546a5759a9d50E8CdB59187F1b5, 40000, 3*month); setInitialDistribution(0x2D69BAB9738b05048be16DE3E5E0A945b8EeEf3a, 50000, 1*month); setInitialDistribution(0x2D69BAB9738b05048be16DE3E5E0A945b8EeEf3a, 50000, 2*month); setInitialDistribution(0x2D69BAB9738b05048be16DE3E5E0A945b8EeEf3a, 50000, 3*month); setInitialDistribution(0x1DBe623157F7CDf98771020e688f7bc25A2e9A21, 80000, 1*month); setInitialDistribution(0x1DBe623157F7CDf98771020e688f7bc25A2e9A21, 80000, 2*month); setInitialDistribution(0x1DBe623157F7CDf98771020e688f7bc25A2e9A21, 80000, 3*month); setInitialDistribution(0x1C4D667e0cdbB46D296cC6Aa8ce92C3ec9edfF34, 100000, 1*month); setInitialDistribution(0x1C4D667e0cdbB46D296cC6Aa8ce92C3ec9edfF34, 100000, 2*month); setInitialDistribution(0x1C4D667e0cdbB46D296cC6Aa8ce92C3ec9edfF34, 100000, 3*month); } function setTokenAddress(address _tokenAddress) external onlyOwner whenNotPaused { erc20 = ERC20(_tokenAddress); } function safeGuardAllTokens(address _address) external onlyOwner whenPaused { /* In case of needed urgency for the sake of contract bug */ require(erc20.transfer(_address, erc20.balanceOf(address(this)))); } function setTGEDate(uint256 _time) external onlyOwner whenNotPaused { TGEDate = _time; } /** * Should allow any address to trigger it, but since the calls are atomic it should do only once per day */ function triggerTokenSend() external whenNotPaused { /* Require TGE Date already been set */ require(TGEDate != 0, "TGE date not set yet"); /* TGE has not started */ require(block.timestamp > TGEDate, "TGE still hasn´t started"); /* Test that the call be only done once per day */ require(block.timestamp.sub(lastDateDistribution) > 1 days, "Can only be called once a day"); lastDateDistribution = block.timestamp; /* Go thru all tokenOwners */ for(uint i = 0; i < tokenOwners.length; i++) { /* Get Address Distribution */ DistributionStep[] memory d = distributions[tokenOwners[i]]; /* Go thru all distributions array */ for(uint j = 0; j < d.length; j++){ if( (block.timestamp.sub(TGEDate) > d[j].unlockDay) /* Verify if unlockDay has passed */ && (d[j].currentAllocated > 0) /* Verify if currentAllocated > 0, so that address has tokens to be sent still */ ){ uint256 sendingAmount; sendingAmount = d[j].currentAllocated; distributions[tokenOwners[i]][j].currentAllocated = distributions[tokenOwners[i]][j].currentAllocated.sub(sendingAmount); distributions[tokenOwners[i]][j].amountSent = distributions[tokenOwners[i]][j].amountSent.add(sendingAmount); require(erc20.transfer(tokenOwners[i], sendingAmount)); } } } } function setInitialDistribution(address _address, uint256 _tokenAmount, uint256 _unlockDays) internal onlyOwner whenNotPaused { /* Add tokenOwner to Eachable Mapping */ bool isAddressPresent = false; /* Verify if tokenOwner was already added */ for(uint i = 0; i < tokenOwners.length; i++) { if(tokenOwners[i] == _address){ isAddressPresent = true; } } /* Create DistributionStep Object */ DistributionStep memory distributionStep = DistributionStep(_tokenAmount * decimals, _tokenAmount * decimals, _unlockDays, 0); /* Attach */ distributions[_address].push(distributionStep); /* If Address not present in array of iterable token owners */ if(!isAddressPresent){ tokenOwners.push(_address); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"distributions","outputs":[{"name":"amountAllocated","type":"uint256"},{"name":"currentAllocated","type":"uint256"},{"name":"unlockDay","type":"uint256"},{"name":"amountSent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_time","type":"uint256"}],"name":"setTGEDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"month","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDateDistribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"erc20","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"triggerTokenSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"safeGuardAllTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TGEDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"year","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenOwners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260008054600160a01b60ff021916815560028190556003553480156200002957600080fd5b50600080546001600160a01b031916331790556200006a739fd50776f133751e8ae6abe1be124638bb917e056201d4c062278d0062000eb6602090811b901c565b6200009a739fd50776f133751e8ae6abe1be124638bb917e056201d4c062278d0060020262000eb660201b60201c565b620000ca739fd50776f133751e8ae6abe1be124638bb917e056201d4c062278d0060030262000eb660201b60201c565b620000f973d4e3f28e219f864b2cf99b3465431aebecbb14b761753062278d0060010262000eb660201b60201c565b6200012873d4e3f28e219f864b2cf99b3465431aebecbb14b761753062278d0060020262000eb660201b60201c565b6200015773d4e3f28e219f864b2cf99b3465431aebecbb14b761753062278d0060030262000eb660201b60201c565b620001877343f4759153292ac675ec7ff56439c60065acbc516201388062278d0060010262000eb660201b60201c565b620001b77343f4759153292ac675ec7ff56439c60065acbc516201388062278d0060020262000eb660201b60201c565b620001e77343f4759153292ac675ec7ff56439c60065acbc516201388062278d0060030262000eb660201b60201c565b6200021773d350a04d2566b5356afc7b6ec93db428084d73926201388062278d0060010262000eb660201b60201c565b6200024773d350a04d2566b5356afc7b6ec93db428084d73926201388062278d0060020262000eb660201b60201c565b6200027773d350a04d2566b5356afc7b6ec93db428084d73926201388062278d0060030262000eb660201b60201c565b620002a6732165ffc3b1c7ee4a618ecdf3d025625f30112e4e61c35062278d0060010262000eb660201b60201c565b620002d5732165ffc3b1c7ee4a618ecdf3d025625f30112e4e61c35062278d0060020262000eb660201b60201c565b62000304732165ffc3b1c7ee4a618ecdf3d025625f30112e4e61c35062278d0060030262000eb660201b60201c565b62000333732938b2a7ebf9a59645e39d51ec5eca2869d6c53d61c35062278d0060010262000eb660201b60201c565b62000362732938b2a7ebf9a59645e39d51ec5eca2869d6c53d61c35062278d0060020262000eb660201b60201c565b62000391732938b2a7ebf9a59645e39d51ec5eca2869d6c53d61c35062278d0060030262000eb660201b60201c565b620003c073e3db42b9c80c54030e45a3072b59494c7cda10f2614e2062278d0060010262000eb660201b60201c565b620003ef73e3db42b9c80c54030e45a3072b59494c7cda10f2614e2062278d0060020262000eb660201b60201c565b6200041e73e3db42b9c80c54030e45a3072b59494c7cda10f2614e2062278d0060030262000eb660201b60201c565b6200044e73f2f2aeaaaefad5883711f790d351690b4852b73c620249f062278d0060010262000eb660201b60201c565b6200047e73f2f2aeaaaefad5883711f790d351690b4852b73c620249f062278d0060020262000eb660201b60201c565b620004ae73f2f2aeaaaefad5883711f790d351690b4852b73c620249f062278d0060030262000eb660201b60201c565b620004dd7373d050f18aebeb8818c038ffdf2f44b8b1a2749b619c4062278d0060010262000eb660201b60201c565b6200050c7373d050f18aebeb8818c038ffdf2f44b8b1a2749b619c4062278d0060020262000eb660201b60201c565b6200053b7373d050f18aebeb8818c038ffdf2f44b8b1a2749b619c4062278d0060030262000eb660201b60201c565b6200056b73f3b387cd539f8d9666817994d058e218e711cb856202981062278d0060010262000eb660201b60201c565b6200059b73f3b387cd539f8d9666817994d058e218e711cb856202981062278d0060020262000eb660201b60201c565b620005cb73f3b387cd539f8d9666817994d058e218e711cb856202981062278d0060030262000eb660201b60201c565b620005fb73468cb54a3821d8b0129c42ea6adf12748d97fd986201adb062278d0060010262000eb660201b60201c565b6200062b73468cb54a3821d8b0129c42ea6adf12748d97fd986201adb062278d0060020262000eb660201b60201c565b6200065b73468cb54a3821d8b0129c42ea6adf12748d97fd986201adb062278d0060030262000eb660201b60201c565b6200068a736c8e15ec8e35b6ffb246d60abca2ba81d4e247f461ea6062278d0060010262000eb660201b60201c565b620006b9736c8e15ec8e35b6ffb246d60abca2ba81d4e247f461ea6062278d0060020262000eb660201b60201c565b620006e8736c8e15ec8e35b6ffb246d60abca2ba81d4e247f461ea6062278d0060030262000eb660201b60201c565b62000717734553ed5d8d3731e629f67bd86abd021175f3184861753062278d0060010262000eb660201b60201c565b62000746734553ed5d8d3731e629f67bd86abd021175f3184861753062278d0060020262000eb660201b60201c565b62000775734553ed5d8d3731e629f67bd86abd021175f3184861753062278d0060030262000eb660201b60201c565b620007a5733074ddb83bc64cf1f09ce20887f40df2fd3148836202981062278d0060010262000eb660201b60201c565b620007d5733074ddb83bc64cf1f09ce20887f40df2fd3148836202981062278d0060020262000eb660201b60201c565b62000805733074ddb83bc64cf1f09ce20887f40df2fd3148836202981062278d0060030262000eb660201b60201c565b620008357369facc3cffdeb6f8e3c8d5542787b57930812f8162030d4062278d0060010262000eb660201b60201c565b620008657369facc3cffdeb6f8e3c8d5542787b57930812f8162030d4062278d0060020262000eb660201b60201c565b620008957369facc3cffdeb6f8e3c8d5542787b57930812f8162030d4062278d0060030262000eb660201b60201c565b620008c573a53c1ddc63d9f33994c4a2189eb4f92e36694c5c620186a062278d0060010262000eb660201b60201c565b620008f573a53c1ddc63d9f33994c4a2189eb4f92e36694c5c620186a062278d0060020262000eb660201b60201c565b6200092573a53c1ddc63d9f33994c4a2189eb4f92e36694c5c620186a062278d0060030262000eb660201b60201c565b62000955735f6a4215fe729870a437f29d3b3278e27c8789b0620186a062278d0060010262000eb660201b60201c565b62000985735f6a4215fe729870a437f29d3b3278e27c8789b0620186a062278d0060020262000eb660201b60201c565b620009b5735f6a4215fe729870a437f29d3b3278e27c8789b0620186a062278d0060030262000eb660201b60201c565b620009e473d2ef10da66727627c68bed148e881c923c1baa7761271062278d0060010262000eb660201b60201c565b62000a1373d2ef10da66727627c68bed148e881c923c1baa7761271062278d0060020262000eb660201b60201c565b62000a4273d2ef10da66727627c68bed148e881c923c1baa7761271062278d0060030262000eb660201b60201c565b62000a7173860ad5284eed848967d34f8b30257cc9c5218f4a61c35062278d0060010262000eb660201b60201c565b62000aa073860ad5284eed848967d34f8b30257cc9c5218f4a61c35062278d0060020262000eb660201b60201c565b62000acf73860ad5284eed848967d34f8b30257cc9c5218f4a61c35062278d0060030262000eb660201b60201c565b62000afe73c042c97f8e11abb59117c24e5e9f48151437e33661ea6062278d0060010262000eb660201b60201c565b62000b2d73c042c97f8e11abb59117c24e5e9f48151437e33661ea6062278d0060020262000eb660201b60201c565b62000b5c73c042c97f8e11abb59117c24e5e9f48151437e33661ea6062278d0060030262000eb660201b60201c565b62000b8b7389ce23ffc0b0c8e59a49135bb66c4f484eca97cc61c35062278d0060010262000eb660201b60201c565b62000bba7389ce23ffc0b0c8e59a49135bb66c4f484eca97cc61c35062278d0060020262000eb660201b60201c565b62000be97389ce23ffc0b0c8e59a49135bb66c4f484eca97cc61c35062278d0060030262000eb660201b60201c565b62000c18736cb8e395d1f7c7b00d6594ded6aa03c5f7ca13c8614e2062278d0060010262000eb660201b60201c565b62000c47736cb8e395d1f7c7b00d6594ded6aa03c5f7ca13c8614e2062278d0060020262000eb660201b60201c565b62000c76736cb8e395d1f7c7b00d6594ded6aa03c5f7ca13c8614e2062278d0060030262000eb660201b60201c565b62000ca573b72d959a9670b546a5759a9d50e8cdb59187f1b5619c4062278d0060010262000eb660201b60201c565b62000cd473b72d959a9670b546a5759a9d50e8cdb59187f1b5619c4062278d0060020262000eb660201b60201c565b62000d0373b72d959a9670b546a5759a9d50e8cdb59187f1b5619c4062278d0060030262000eb660201b60201c565b62000d32732d69bab9738b05048be16de3e5e0a945b8eeef3a61c35062278d0060010262000eb660201b60201c565b62000d61732d69bab9738b05048be16de3e5e0a945b8eeef3a61c35062278d0060020262000eb660201b60201c565b62000d90732d69bab9738b05048be16de3e5e0a945b8eeef3a61c35062278d0060030262000eb660201b60201c565b62000dc0731dbe623157f7cdf98771020e688f7bc25a2e9a216201388062278d0060010262000eb660201b60201c565b62000df0731dbe623157f7cdf98771020e688f7bc25a2e9a216201388062278d0060020262000eb660201b60201c565b62000e20731dbe623157f7cdf98771020e688f7bc25a2e9a216201388062278d0060030262000eb660201b60201c565b62000e50731c4d667e0cdbb46d296cc6aa8ce92c3ec9edff34620186a062278d0060010262000eb660201b60201c565b62000e80731c4d667e0cdbb46d296cc6aa8ce92c3ec9edff34620186a062278d0060020262000eb660201b60201c565b62000eb0731c4d667e0cdbb46d296cc6aa8ce92c3ec9edff34620186a062278d0060030262000eb660201b60201c565b6200104e565b6000546001600160a01b0316331462000ece57600080fd5b60005474010000000000000000000000000000000000000000900460ff161562000ef757600080fd5b6000805b60015481101562000f4857846001600160a01b03166001828154811062000f1e57fe5b6000918252602090912001546001600160a01b0316141562000f3f57600191505b60010162000efb565b5062000f5362001026565b5060408051608081018252670de0b6b3a7640000850280825260208083019182528284018681526000606085018181526001600160a01b038b168252600480855296822080546001818101835591845294909220865194909702909601928355925192820192909255905160028201559151600390920191909155816200101f576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0387161790555b5050505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b610c92806200105e6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063785e9e86116100a2578063b90c72ae11610071578063b90c72ae14610231578063cb12872814610257578063f2fde38b1461025f578063f326971614610285578063f8a14f461461028d5761010b565b8063785e9e86146101f557806383e2ad63146102195780638456cb59146102215780638da5cb5b146102295761010b565b80633f4ba83a116100de5780633f4ba83a146101c15780635c975abb146101c9578063702921f5146101e557806376093957146101ed5761010b565b806326a4e8d2146101105780632d9b4b2514610138578063313ce5671461018a57806332a01103146101a4575b600080fd5b6101366004803603602081101561012657600080fd5b50356001600160a01b03166102aa565b005b6101646004803603604081101561014e57600080fd5b506001600160a01b0381351690602001356102fa565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61019261033d565b60408051918252519081900360200190f35b610136600480360360208110156101ba57600080fd5b5035610349565b61013661037c565b6101d16103e2565b604080519115158252519081900360200190f35b6101926103f2565b6101926103f9565b6101fd6103ff565b604080516001600160a01b039092168252519081900360200190f35b61013661040e565b6101366108c1565b6101fd61092e565b6101366004803603602081101561024757600080fd5b50356001600160a01b031661093d565b610192610a6c565b6101366004803603602081101561027557600080fd5b50356001600160a01b0316610a72565b610192610af7565b6101fd600480360360208110156102a357600080fd5b5035610aff565b6000546001600160a01b031633146102c157600080fd5b600054600160a01b900460ff16156102d857600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004602052816000526040600020818154811061031357fe5b60009182526020909120600490910201805460018201546002830154600390930154919450925084565b670de0b6b3a764000081565b6000546001600160a01b0316331461036057600080fd5b600054600160a01b900460ff161561037757600080fd5b600255565b6000546001600160a01b0316331461039357600080fd5b600054600160a01b900460ff166103a957600080fd5b60008054600160a01b60ff02191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a01b900460ff1681565b62278d0081565b60035481565b6005546001600160a01b031681565b600054600160a01b900460ff161561042557600080fd5b60025461047c5760408051600160e51b62461bcd02815260206004820152601460248201527f5447452064617465206e6f742073657420796574000000000000000000000000604482015290519081900360640190fd5b60025442116104d55760408051600160e51b62461bcd02815260206004820152601960248201527f544745207374696c6c206861736ec2b474207374617274656400000000000000604482015290519081900360640190fd5b620151806104ee60035442610b2690919063ffffffff16565b116105435760408051600160e51b62461bcd02815260206004820152601d60248201527f43616e206f6e6c792062652063616c6c6564206f6e6365206120646179000000604482015290519081900360640190fd5b4260035560005b6001548110156108be576060600460006001848154811061056757fe5b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b828210156106025783829060005260206000209060040201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050815260200190600101906105a8565b509293506000925050505b81518110156108b45781818151811061062257fe5b60200260200101516040015161064360025442610b2690919063ffffffff16565b1180156106675750600082828151811061065957fe5b602002602001015160200151115b156108ac57600082828151811061067a57fe5b60200260200101516020015190506106ed81600460006001888154811061069d57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054859081106106cd57fe5b906000526020600020906004020160010154610b2690919063ffffffff16565b60046000600187815481106106fe57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548490811061072e57fe5b9060005260206000209060040201600101819055506107a881600460006001888154811061075857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548590811061078857fe5b906000526020600020906004020160030154610b6f90919063ffffffff16565b60046000600187815481106107b957fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106107e957fe5b6000918252602090912060036004909202010155600554600180546001600160a01b039092169163a9059cbb91908790811061082157fe5b60009182526020808320909101546040805163ffffffff861660e01b81526001600160a01b039092166004830152602482018790525160448083019491928390030190829087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108aa57600080fd5b505b60010161060d565b505060010161054a565b50565b6000546001600160a01b031633146108d857600080fd5b600054600160a01b900460ff16156108ef57600080fd5b60008054600160a01b60ff021916600160a01b1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b6000546001600160a01b031681565b6000546001600160a01b0316331461095457600080fd5b600054600160a01b900460ff1661096a57600080fd5b60055460408051600160e01b6370a0823102815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d60208110156109eb57600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a3757600080fd5b505af1158015610a4b573d6000803e3d6000fd5b505050506040513d6020811015610a6157600080fd5b50516108be57600080fd5b60025481565b6000546001600160a01b03163314610a8957600080fd5b6001600160a01b038116610a9c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6301e1338081565b60018181548110610b0c57fe5b6000918252602090912001546001600160a01b0316905081565b6000610b6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bcc565b9392505050565b600082820183811015610b685760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610c5e57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c23578181015183820152602001610c0b565b50505050905090810190601f168015610c505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea165627a7a723058200e2009ef1effad22c425d9663611664d799a7a135847edc91375869dc1ff9f300029
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063785e9e86116100a2578063b90c72ae11610071578063b90c72ae14610231578063cb12872814610257578063f2fde38b1461025f578063f326971614610285578063f8a14f461461028d5761010b565b8063785e9e86146101f557806383e2ad63146102195780638456cb59146102215780638da5cb5b146102295761010b565b80633f4ba83a116100de5780633f4ba83a146101c15780635c975abb146101c9578063702921f5146101e557806376093957146101ed5761010b565b806326a4e8d2146101105780632d9b4b2514610138578063313ce5671461018a57806332a01103146101a4575b600080fd5b6101366004803603602081101561012657600080fd5b50356001600160a01b03166102aa565b005b6101646004803603604081101561014e57600080fd5b506001600160a01b0381351690602001356102fa565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61019261033d565b60408051918252519081900360200190f35b610136600480360360208110156101ba57600080fd5b5035610349565b61013661037c565b6101d16103e2565b604080519115158252519081900360200190f35b6101926103f2565b6101926103f9565b6101fd6103ff565b604080516001600160a01b039092168252519081900360200190f35b61013661040e565b6101366108c1565b6101fd61092e565b6101366004803603602081101561024757600080fd5b50356001600160a01b031661093d565b610192610a6c565b6101366004803603602081101561027557600080fd5b50356001600160a01b0316610a72565b610192610af7565b6101fd600480360360208110156102a357600080fd5b5035610aff565b6000546001600160a01b031633146102c157600080fd5b600054600160a01b900460ff16156102d857600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004602052816000526040600020818154811061031357fe5b60009182526020909120600490910201805460018201546002830154600390930154919450925084565b670de0b6b3a764000081565b6000546001600160a01b0316331461036057600080fd5b600054600160a01b900460ff161561037757600080fd5b600255565b6000546001600160a01b0316331461039357600080fd5b600054600160a01b900460ff166103a957600080fd5b60008054600160a01b60ff02191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a01b900460ff1681565b62278d0081565b60035481565b6005546001600160a01b031681565b600054600160a01b900460ff161561042557600080fd5b60025461047c5760408051600160e51b62461bcd02815260206004820152601460248201527f5447452064617465206e6f742073657420796574000000000000000000000000604482015290519081900360640190fd5b60025442116104d55760408051600160e51b62461bcd02815260206004820152601960248201527f544745207374696c6c206861736ec2b474207374617274656400000000000000604482015290519081900360640190fd5b620151806104ee60035442610b2690919063ffffffff16565b116105435760408051600160e51b62461bcd02815260206004820152601d60248201527f43616e206f6e6c792062652063616c6c6564206f6e6365206120646179000000604482015290519081900360640190fd5b4260035560005b6001548110156108be576060600460006001848154811061056757fe5b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b828210156106025783829060005260206000209060040201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050815260200190600101906105a8565b509293506000925050505b81518110156108b45781818151811061062257fe5b60200260200101516040015161064360025442610b2690919063ffffffff16565b1180156106675750600082828151811061065957fe5b602002602001015160200151115b156108ac57600082828151811061067a57fe5b60200260200101516020015190506106ed81600460006001888154811061069d57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054859081106106cd57fe5b906000526020600020906004020160010154610b2690919063ffffffff16565b60046000600187815481106106fe57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548490811061072e57fe5b9060005260206000209060040201600101819055506107a881600460006001888154811061075857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548590811061078857fe5b906000526020600020906004020160030154610b6f90919063ffffffff16565b60046000600187815481106107b957fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106107e957fe5b6000918252602090912060036004909202010155600554600180546001600160a01b039092169163a9059cbb91908790811061082157fe5b60009182526020808320909101546040805163ffffffff861660e01b81526001600160a01b039092166004830152602482018790525160448083019491928390030190829087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d602081101561089f57600080fd5b50516108aa57600080fd5b505b60010161060d565b505060010161054a565b50565b6000546001600160a01b031633146108d857600080fd5b600054600160a01b900460ff16156108ef57600080fd5b60008054600160a01b60ff021916600160a01b1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b6000546001600160a01b031681565b6000546001600160a01b0316331461095457600080fd5b600054600160a01b900460ff1661096a57600080fd5b60055460408051600160e01b6370a0823102815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d60208110156109eb57600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a3757600080fd5b505af1158015610a4b573d6000803e3d6000fd5b505050506040513d6020811015610a6157600080fd5b50516108be57600080fd5b60025481565b6000546001600160a01b03163314610a8957600080fd5b6001600160a01b038116610a9c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6301e1338081565b60018181548110610b0c57fe5b6000918252602090912001546001600160a01b0316905081565b6000610b6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bcc565b9392505050565b600082820183811015610b685760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115610c5e57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c23578181015183820152602001610c0b565b50505050905090810190601f168015610c505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fea165627a7a723058200e2009ef1effad22c425d9663611664d799a7a135847edc91375869dc1ff9f300029
Deployed Bytecode Sourcemap
9484:11241:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9484:11241:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17671:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17671:129:0;-1:-1:-1;;;;;17671:129:0;;:::i;:::-;;9926:59;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9926:59:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9568:42;;;:::i;:::-;;;;;;;;;;;;;;;;18042:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18042:103:0;;:::i;8707:105::-;;;:::i;8032:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;9784:39;;;:::i;9876:::-;;;:::i;10024:18::-;;;:::i;:::-;;;;-1:-1:-1;;;;;10024:18:0;;;;;;;;;;;;;;18284:1562;;;:::i;8511:103::-;;;:::i;6920:20::-;;;:::i;17812:222::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17812:222:0;-1:-1:-1;;;;;17812:222:0;;:::i;9699:26::-;;;:::i;7569:192::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7569:192:0;-1:-1:-1;;;;;7569:192:0;;:::i;9830:39::-;;;:::i;9617:28::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9617:28:0;;:::i;17671:129::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;8218:6;;-1:-1:-1;;;8218:6:0;;;;8217:7;8209:16;;;;;;17764:5;:28;;-1:-1:-1;;;;;;17764:28:0;-1:-1:-1;;;;;17764:28:0;;;;;;;;;;17671:129::o;9926:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9926:59:0;-1:-1:-1;9926:59:0;:::o;9568:42::-;9603:7;9568:42;:::o;18042:103::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;8218:6;;-1:-1:-1;;;8218:6:0;;;;8217:7;8209:16;;;;;;18122:7;:15;18042:103::o;8707:105::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;8394:6;;-1:-1:-1;;;8394:6:0;;;;8386:15;;;;;;8774:5;8765:14;;-1:-1:-1;;;;;;8765:14:0;;;8795:9;;;;8774:5;8795:9;8707:105::o;8032:26::-;;;-1:-1:-1;;;8032:26:0;;;;;:::o;9784:39::-;9816:7;9784:39;:::o;9876:::-;;;;:::o;10024:18::-;;;-1:-1:-1;;;;;10024:18:0;;:::o;18284:1562::-;8218:6;;-1:-1:-1;;;8218:6:0;;;;8217:7;8209:16;;;;;;18404:7;;18396:45;;;;;-1:-1:-1;;;;;18396:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18513:7;;18495:15;:25;18487:63;;;;;-1:-1:-1;;;;;18487:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18673:6;18629:41;18649:20;;18629:15;:19;;:41;;;;:::i;:::-;:50;18621:92;;;;;-1:-1:-1;;;;;18621:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18747:15;18724:20;:38;18816:6;18812:1024;18832:11;:18;18828:22;;18812:1024;;;18916:27;18946:13;:29;18960:11;18972:1;18960:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18960:14:0;18946:29;;;;;;;;;;;;;;;18916:59;;;;;;;;;;;;;;;;;;;18946:29;;18916:59;18960:14;18916:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18916:59:0;;-1:-1:-1;19045:6:0;;-1:-1:-1;;;19041:784:0;19061:1;:8;19057:1;:12;19041:784;;;19130:1;19132;19130:4;;;;;;;;;;;;;;:14;;;19099:28;19119:7;;19099:15;:19;;:28;;;;:::i;:::-;:45;19098:136;;;;;19232:1;19208;19210;19208:4;;;;;;;;;;;;;;:21;;;:25;19098:136;19094:716;;;19358:21;19418:1;19420;19418:4;;;;;;;;;;;;;;:21;;;19402:37;;19514:68;19568:13;19514;:29;19528:11;19540:1;19528:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19528:14:0;19514:29;;;;;;;;;;;;:32;;19544:1;;19514:32;;;;;;;;;;;;;;;;:49;;;:53;;:68;;;;:::i;:::-;19462:13;:29;19476:11;19488:1;19476:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19476:14:0;19462:29;;;;;;;;;;;;:32;;19492:1;;19462:32;;;;;;;;;;;;;;;;:49;;:120;;;;19651:62;19699:13;19651;:29;19665:11;19677:1;19665:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19665:14:0;19651:29;;;;;;;;;;;;:32;;19681:1;;19651:32;;;;;;;;;;;;;;;;:43;;;:47;;:62;;;;:::i;:::-;19605:13;:29;19619:11;19631:1;19619:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19619:14:0;19605:29;;;;;;;;;;;;:32;;19635:1;;19605:32;;;;;;;;;;;;;;:43;:32;;;;;:43;:108;19744:5;;;19759:14;;-1:-1:-1;;;;;19744:5:0;;;;:14;;:5;19771:1;;19759:14;;;;;;;;;;;;;;;;;;19744:45;;;;;;;;;;-1:-1:-1;;;;;19759:14:0;;;19744:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;19744:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19744:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19744:45:0;19736:54;;;;;;19094:716;;19071:3;;19041:784;;;-1:-1:-1;;18852:3:0;;18812:1024;;;;18284:1562::o;8511:103::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;8218:6;;-1:-1:-1;;;8218:6:0;;;;8217:7;8209:16;;;;;;8570:6;:13;;-1:-1:-1;;;;;;8570:13:0;-1:-1:-1;;;8570:13:0;;;8599:7;;;;8570:6;8599:7;8511:103::o;6920:20::-;;;-1:-1:-1;;;;;6920:20:0;;:::o;17812:222::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;8394:6;;-1:-1:-1;;;8394:6:0;;;;8386:15;;;;;;17969:5;;17994:30;;;-1:-1:-1;;;;;17994:30:0;;18018:4;17994:30;;;;;;-1:-1:-1;;;;;17969:5:0;;;;:14;;17984:8;;17969:5;;17994:15;;:30;;;;;;;;;;;;;;17969:5;17994:30;;;5:2:-1;;;;30:1;27;20:12;5:2;17994:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17994:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17994:30:0;17969:56;;;;;;;;;;-1:-1:-1;;;;;17969:56:0;;;;;;;;;;;;;;;;;;;;17994:30;;17969:56;;;;;;;-1:-1:-1;17969:56:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;17969:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17969:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17969:56:0;17961:65;;;;;9699:26;;;;:::o;7569:192::-;7369:5;;-1:-1:-1;;;;;7369:5:0;7355:10;:19;7347:28;;;;;;-1:-1:-1;;;;;7650:22:0;;7642:31;;;;;;7710:5;;;7689:37;;-1:-1:-1;;;;;7689:37:0;;;;7710:5;;;7689:37;;;7737:5;:16;;-1:-1:-1;;;;;;7737:16:0;-1:-1:-1;;;;;7737:16:0;;;;;;;;;;7569:192::o;9830:39::-;9861:8;9830:39;:::o;9617:28::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9617:28:0;;-1:-1:-1;9617:28:0;:::o;1967:136::-;2025:7;2052:43;2056:1;2059;2052:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2045:50;1967:136;-1:-1:-1;;;1967:136:0:o;1511:181::-;1569:7;1601:5;;;1625:6;;;;1617:46;;;;;-1:-1:-1;;;;;1617:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2440:192;2526:7;2562:12;2554:6;;;;2546:29;;;;-1:-1:-1;;;;;2546:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2546:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2598:5:0;;;2440:192::o
Swarm Source
bzzr://0e2009ef1effad22c425d9663611664d799a7a135847edc91375869dc1ff9f30
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.