Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 995 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unfreeze Tokens | 21491710 | 36 days ago | IN | 0 ETH | 0.00033841 | ||||
Unfreeze Tokens | 21491686 | 36 days ago | IN | 0 ETH | 0.00035196 | ||||
Unfreeze Tokens | 19298084 | 342 days ago | IN | 0 ETH | 0.00062465 | ||||
Unfreeze Tokens | 19298076 | 342 days ago | IN | 0 ETH | 0.00059508 | ||||
Unfreeze Tokens | 17827950 | 548 days ago | IN | 0 ETH | 0.00155505 | ||||
Unfreeze Tokens | 17827950 | 548 days ago | IN | 0 ETH | 0.00155505 | ||||
Unfreeze Tokens | 17827950 | 548 days ago | IN | 0 ETH | 0.00219012 | ||||
Unfreeze Tokens | 16928579 | 675 days ago | IN | 0 ETH | 0.00242426 | ||||
Unfreeze Tokens | 16608116 | 720 days ago | IN | 0 ETH | 0.00126714 | ||||
Unfreeze Tokens | 16493183 | 736 days ago | IN | 0 ETH | 0.0017763 | ||||
Unfreeze Tokens | 16493129 | 736 days ago | IN | 0 ETH | 0.00166586 | ||||
Unfreeze Tokens | 16188412 | 779 days ago | IN | 0 ETH | 0.00079793 | ||||
Unfreeze Tokens | 16188404 | 779 days ago | IN | 0 ETH | 0.00104537 | ||||
Unfreeze Tokens | 16072973 | 795 days ago | IN | 0 ETH | 0.00079456 | ||||
Unfreeze Tokens | 16064885 | 796 days ago | IN | 0 ETH | 0.00077931 | ||||
Unfreeze Tokens | 16011369 | 803 days ago | IN | 0 ETH | 0.00133574 | ||||
Unfreeze Tokens | 15774318 | 837 days ago | IN | 0 ETH | 0.00143769 | ||||
Unfreeze Tokens | 15760596 | 838 days ago | IN | 0 ETH | 0.00108966 | ||||
Unfreeze Tokens | 15602754 | 861 days ago | IN | 0 ETH | 0.00033401 | ||||
Unfreeze Tokens | 15579895 | 864 days ago | IN | 0 ETH | 0.00033754 | ||||
Unfreeze Tokens | 15579895 | 864 days ago | IN | 0 ETH | 0.00030709 | ||||
Unfreeze Tokens | 15579895 | 864 days ago | IN | 0 ETH | 0.00032182 | ||||
Unfreeze Tokens | 15579888 | 864 days ago | IN | 0 ETH | 0.00032355 | ||||
Unfreeze Tokens | 15555033 | 867 days ago | IN | 0 ETH | 0.00031811 | ||||
Freeze Tokens | 15171083 | 928 days ago | IN | 0 ETH | 0.00049768 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
HxyFreeze
Compiler Version
v0.6.4+commit.1dca32f3
Contract Source Code (Solidity Multiple files format)
pragma solidity 0.6.4; import "./SafeMath.sol"; import "./IERC20.sol"; //////////////////////////////////////////////// ////////////////////EVENTS///////////////////// ////////////////////////////////////////////// contract TokenEvents { //when a user freezes tokens event TokenFreeze( address indexed user, uint value, uint length ); //when a user unfreezes tokens event TokenUnfreeze( address indexed user, uint value, uint length ); } ////////////////////////////////////// //////////HXYFREEZE CONTRACT//////// //////////////////////////////////// contract HxyFreeze is TokenEvents { using SafeMath for uint256; address public hxyAddress = 0xf3A2ace8e48751c965eA0A1D064303AcA53842b9; IERC20 hxyInterface = IERC20(hxyAddress); //freeze setup uint internal daySeconds = 86400; // seconds in a day uint public totalFrozen; uint public total90Frozen; uint public total180Frozen; uint public total270Frozen; uint public total365Frozen; mapping (address => uint) public token90FrozenBalances;//balance of HXY frozen mapped by user mapping (address => uint) public token180FrozenBalances;//balance of HXY frozen mapped by user mapping (address => uint) public token270FrozenBalances;//balance of HXY frozen mapped by user mapping (address => uint) public token365FrozenBalances;//balance of HXY frozen mapped by user bool private sync; mapping (address => Frozen) public frozen; struct Frozen{ uint256 freeze90StartTimestamp; uint256 freeze180StartTimestamp; uint256 freeze270StartTimestamp; uint256 freeze365StartTimestamp; } //protects against potential reentrancy modifier synchronized { require(!sync, "Sync lock"); sync = true; _; sync = false; } constructor() public { } //////////////////////////////////////////////////////// /////////////////PUBLIC FACING - HXY FREEZE CONTROL////////// ////////////////////////////////////////////////////// //freeze HXY tokens to contract function FreezeTokens(uint amt, uint dayLength) public { require(amt > 0, "zero input"); require(hxyInterface.balanceOf(msg.sender) >= amt, "Error: insufficient balance");//ensure user has enough funds if(isFreezeFinished(msg.sender, dayLength)){ UnfreezeTokens(dayLength);//unfreezes all currently frozen tokens + profit } //update balances if(dayLength == 90){ token90FrozenBalances[msg.sender] = token90FrozenBalances[msg.sender].add(amt); total90Frozen = total90Frozen.add(amt); totalFrozen = totalFrozen.add(amt); frozen[msg.sender].freeze90StartTimestamp = now; hxyInterface.transferFrom(msg.sender, address(this), amt);//make transfer } else if(dayLength == 180){ token180FrozenBalances[msg.sender] = token180FrozenBalances[msg.sender].add(amt); total180Frozen = total180Frozen.add(amt); totalFrozen = totalFrozen.add(amt); frozen[msg.sender].freeze180StartTimestamp = now; hxyInterface.transferFrom(msg.sender, address(this), amt);//make transfer } else if(dayLength == 270){ token270FrozenBalances[msg.sender] = token270FrozenBalances[msg.sender].add(amt); total270Frozen = total270Frozen.add(amt); totalFrozen = totalFrozen.add(amt); frozen[msg.sender].freeze270StartTimestamp = now; hxyInterface.transferFrom(msg.sender, address(this), amt);//make transfer } else if(dayLength == 365){ token365FrozenBalances[msg.sender] = token365FrozenBalances[msg.sender].add(amt); total365Frozen = total365Frozen.add(amt); totalFrozen = totalFrozen.add(amt); frozen[msg.sender].freeze365StartTimestamp = now; hxyInterface.transferFrom(msg.sender, address(this), amt);//make transfer } else{ revert(); } emit TokenFreeze(msg.sender, amt, dayLength); } //unfreeze HXY tokens from contract function UnfreezeTokens(uint dayLength) public synchronized { uint amt = 0; if(dayLength == 90){ require(token90FrozenBalances[msg.sender] > 0,"Error: unsufficient frozen balance");//ensure user has enough frozen funds require(isFreezeFinished(msg.sender, dayLength), "tokens cannot be unfrozen yet, min 90 days"); amt = token90FrozenBalances[msg.sender]; token90FrozenBalances[msg.sender] = 0; frozen[msg.sender].freeze90StartTimestamp = 0; total90Frozen = total90Frozen.sub(amt); totalFrozen = totalFrozen.sub(amt); hxyInterface.transfer(msg.sender, amt);//make transfer } else if(dayLength == 180){ require(token180FrozenBalances[msg.sender] > 0,"Error: unsufficient frozen balance");//ensure user has enough frozen funds require(isFreezeFinished(msg.sender, dayLength), "tokens cannot be unfrozen yet, min 180 days"); amt = token180FrozenBalances[msg.sender]; token180FrozenBalances[msg.sender] = 0; frozen[msg.sender].freeze180StartTimestamp = 0; total180Frozen = total180Frozen.sub(amt); totalFrozen = totalFrozen.sub(amt); hxyInterface.transfer(msg.sender, amt);//make transfer } else if(dayLength == 270){ require(token270FrozenBalances[msg.sender] > 0,"Error: unsufficient frozen balance");//ensure user has enough frozen funds require(isFreezeFinished(msg.sender, dayLength), "tokens cannot be unfrozen yet, min 270 days"); amt = token270FrozenBalances[msg.sender]; token270FrozenBalances[msg.sender] = 0; frozen[msg.sender].freeze270StartTimestamp = 0; total270Frozen = total270Frozen.sub(amt); totalFrozen = totalFrozen.sub(amt); hxyInterface.transfer(msg.sender, amt);//make transfer } else if(dayLength == 365){ require(token365FrozenBalances[msg.sender] > 0,"Error: unsufficient frozen balance");//ensure user has enough frozen funds require(isFreezeFinished(msg.sender, dayLength), "tokens cannot be unfrozen yet, min 365 days"); amt = token365FrozenBalances[msg.sender]; token365FrozenBalances[msg.sender] = 0; frozen[msg.sender].freeze365StartTimestamp = 0; total365Frozen = total365Frozen.sub(amt); totalFrozen = totalFrozen.sub(amt); hxyInterface.transfer(msg.sender, amt);//make transfer } else{ revert(); } emit TokenUnfreeze(msg.sender, amt, dayLength); } /////////////////////////////// ////////VIEW ONLY////////////// /////////////////////////////// function isFreezeFinished(address _user, uint freezeDayLength) public view returns(bool) { if(freezeDayLength == 90){ if(frozen[_user].freeze90StartTimestamp == 0){ return false; } else{ return frozen[_user].freeze90StartTimestamp.add(freezeDayLength.mul(daySeconds)) <= now; } } else if(freezeDayLength == 180){ if(frozen[_user].freeze180StartTimestamp == 0){ return false; } else{ return frozen[_user].freeze180StartTimestamp.add(freezeDayLength.mul(daySeconds)) <= now; } } else if(freezeDayLength == 270){ if(frozen[_user].freeze270StartTimestamp == 0){ return false; } else{ return frozen[_user].freeze270StartTimestamp.add(freezeDayLength.mul(daySeconds)) <= now; } } else if(freezeDayLength == 365){ if(frozen[_user].freeze365StartTimestamp == 0){ return false; } else{ return frozen[_user].freeze365StartTimestamp.add(freezeDayLength.mul(daySeconds)) <= now; } } else{ return false; } } }
pragma solidity 0.6.4; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see {ERC20Detailed}. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value);//from address(0) for minting /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
pragma solidity 0.6.4; /** * @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; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"length","type":"uint256"}],"name":"TokenFreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"length","type":"uint256"}],"name":"TokenUnfreeze","type":"event"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"},{"internalType":"uint256","name":"dayLength","type":"uint256"}],"name":"FreezeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dayLength","type":"uint256"}],"name":"UnfreezeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozen","outputs":[{"internalType":"uint256","name":"freeze90StartTimestamp","type":"uint256"},{"internalType":"uint256","name":"freeze180StartTimestamp","type":"uint256"},{"internalType":"uint256","name":"freeze270StartTimestamp","type":"uint256"},{"internalType":"uint256","name":"freeze365StartTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hxyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"freezeDayLength","type":"uint256"}],"name":"isFreezeFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"token180FrozenBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"token270FrozenBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"token365FrozenBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"token90FrozenBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total180Frozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total270Frozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total365Frozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total90Frozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600080546001600160a01b031990811673f3a2ace8e48751c965ea0a1d064303aca53842b91791829055600180549091166001600160a01b03929092169190911790556201518060025534801561005a57600080fd5b506111868061006a6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b07a08211161008c578063dc039e2d11610066578063dc039e2d1461021f578063eb205b1b14610245578063ec6984dc14610285578063f0294f0b1461028d576100ea565b8063b07a0821146101c3578063cd9d6b1c146101cb578063d0516650146101d3576100ea565b80632c4774b1116100c85780632c4774b11461014b5780636051e195146101715780638a9fba6e14610197578063aff37535146101bb576100ea565b806312e2cb6b146100ef5780631e7f87bc14610114578063245590da1461012e575b600080fd5b6101126004803603604081101561010557600080fd5b50803590602001356102b3565b005b61011c610793565b60408051918252519081900360200190f35b6101126004803603602081101561014457600080fd5b5035610799565b61011c6004803603602081101561016157600080fd5b50356001600160a01b0316610c60565b61011c6004803603602081101561018757600080fd5b50356001600160a01b0316610c72565b61019f610c84565b604080516001600160a01b039092168252519081900360200190f35b61011c610c93565b61011c610c99565b61011c610c9f565b6101f9600480360360208110156101e957600080fd5b50356001600160a01b0316610ca5565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61011c6004803603602081101561023557600080fd5b50356001600160a01b0316610ccc565b6102716004803603604081101561025b57600080fd5b506001600160a01b038135169060200135610cde565b604080519115158252519081900360200190f35b61011c610eb7565b61011c600480360360208110156102a357600080fd5b50356001600160a01b0316610ebd565b600082116102f5576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600154604080516370a0823160e01b8152336004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561033f57600080fd5b505afa158015610353573d6000803e3d6000fd5b505050506040513d602081101561036957600080fd5b505110156103be576040805162461bcd60e51b815260206004820152601b60248201527f4572726f723a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6103c83382610cde565b156103d6576103d681610799565b80605a14156104d857336000908152600860205260409020546103ff908363ffffffff610ecf16565b33600090815260086020526040902055600454610422908363ffffffff610ecf16565b600455600354610438908363ffffffff610ecf16565b600355336000818152600d6020908152604080832042905560015481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b505af11580156104ba573d6000803e3d6000fd5b505050506040513d60208110156104d057600080fd5b506107559050565b8060b414156105aa5733600090815260096020526040902054610501908363ffffffff610ecf16565b33600090815260096020526040902055600554610524908363ffffffff610ecf16565b60055560035461053a908363ffffffff610ecf16565b600355336000818152600d60209081526040808320426001918201555481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b8061010e141561067f57336000908152600a60205260409020546105d4908363ffffffff610ecf16565b336000908152600a60205260409020556006546105f7908363ffffffff610ecf16565b60065560035461060d908363ffffffff610ecf16565b600355336000818152600d602090815260408083204260029091015560015481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b8061016d14156100ea57336000908152600b60205260409020546106a9908363ffffffff610ecf16565b336000908152600b60205260409020556007546106cc908363ffffffff610ecf16565b6007556003546106e2908363ffffffff610ecf16565b6003908155336000818152600d602090815260408083204295019490945560015484516323b872dd60e01b815260048101949094523060248501526044840187905293516001600160a01b03909416936323b872dd93606480820194918390030190829087803b1580156104a657600080fd5b6040805183815260208101839052815133927f9c6dea23fe3b510bb5d170df49dc74e387692eaa3258c691918cd3aa94f5fb74928290030190a25050565b60035481565b600c5460ff16156107dd576040805162461bcd60e51b815260206004820152600960248201526853796e63206c6f636b60b81b604482015290519081900360640190fd5b600c805460ff191660011790556000605a82141561095b57336000908152600860205260409020546108405760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b61084a3383610cde565b6108855760405162461bcd60e51b815260040180806020018281038252602a8152602001806110db602a913960400191505060405180910390fd5b50336000908152600860209081526040808320805490849055600d9092528220919091556004546108bc908263ffffffff610f3016565b6004556003546108d2908263ffffffff610f3016565b6003556001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d602081101561095357600080fd5b50610c189050565b8160b41415610a4457336000908152600960205260409020546109af5760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b6109b93383610cde565b6109f45760405162461bcd60e51b815260040180806020018281038252602b815260200180611105602b913960400191505060405180910390fd5b50336000908152600960209081526040808320805490849055600d909252822060010191909155600554610a2e908263ffffffff610f3016565b6005556003546108d2908263ffffffff610f3016565b8161010e1415610b2e57336000908152600a6020526040902054610a995760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b610aa33383610cde565b610ade5760405162461bcd60e51b815260040180806020018281038252602b815260200180611063602b913960400191505060405180910390fd5b50336000908152600a60209081526040808320805490849055600d909252822060020191909155600654610b18908263ffffffff610f3016565b6006556003546108d2908263ffffffff610f3016565b8161016d14156100ea57336000908152600b6020526040902054610b835760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b610b8d3383610cde565b610bc85760405162461bcd60e51b815260040180806020018281038252602b81526020018061108e602b913960400191505060405180910390fd5b50336000908152600b60209081526040808320805490849055600d909252822060030191909155600754610c02908263ffffffff610f3016565b6007556003546108d2908263ffffffff610f3016565b6040805182815260208101849052815133927f6af0bd0dc10ed68b491c02f56f292243a20b09953d7b6f09563ab3b80ce500e6928290030190a25050600c805460ff19169055565b60096020526000908152604090205481565b60086020526000908152604090205481565b6000546001600160a01b031681565b60065481565b60045481565b60055481565b600d6020526000908152604090208054600182015460028301546003909301549192909184565b600a6020526000908152604090205481565b600081605a1415610d55576001600160a01b0383166000908152600d6020526040902054610d0e57506000610eb1565b42610d4c610d2760025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020549063ffffffff610ecf16565b11159050610eb1565b8160b41415610dc7576001600160a01b0383166000908152600d6020526040902060010154610d8657506000610eb1565b42610d4c610d9f60025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600101549063ffffffff610ecf16565b8161010e1415610e3a576001600160a01b0383166000908152600d6020526040902060020154610df957506000610eb1565b42610d4c610e1260025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600201549063ffffffff610ecf16565b8161016d1415610ead576001600160a01b0383166000908152600d6020526040902060030154610e6c57506000610eb1565b42610d4c610e8560025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600301549063ffffffff610ecf16565b5060005b92915050565b60075481565b600b6020526000908152604090205481565b600082820183811015610f29576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610f2983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fcb565b600082610f8157506000610eb1565b82820282848281610f8e57fe5b0414610f295760405162461bcd60e51b81526004018080602001828103825260218152602001806111306021913960400191505060405180910390fd5b6000818484111561105a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561101f578181015183820152602001611007565b50505050905090810190601f16801561104c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e203237302064617973746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e2033363520646179734572726f723a20756e73756666696369656e742066726f7a656e2062616c616e6365746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e2039302064617973746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e203138302064617973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122010c431858253d6eb4eb03b606da65e4b8006355de011e9d1828ed1903e20e0b264736f6c63430006040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b07a08211161008c578063dc039e2d11610066578063dc039e2d1461021f578063eb205b1b14610245578063ec6984dc14610285578063f0294f0b1461028d576100ea565b8063b07a0821146101c3578063cd9d6b1c146101cb578063d0516650146101d3576100ea565b80632c4774b1116100c85780632c4774b11461014b5780636051e195146101715780638a9fba6e14610197578063aff37535146101bb576100ea565b806312e2cb6b146100ef5780631e7f87bc14610114578063245590da1461012e575b600080fd5b6101126004803603604081101561010557600080fd5b50803590602001356102b3565b005b61011c610793565b60408051918252519081900360200190f35b6101126004803603602081101561014457600080fd5b5035610799565b61011c6004803603602081101561016157600080fd5b50356001600160a01b0316610c60565b61011c6004803603602081101561018757600080fd5b50356001600160a01b0316610c72565b61019f610c84565b604080516001600160a01b039092168252519081900360200190f35b61011c610c93565b61011c610c99565b61011c610c9f565b6101f9600480360360208110156101e957600080fd5b50356001600160a01b0316610ca5565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61011c6004803603602081101561023557600080fd5b50356001600160a01b0316610ccc565b6102716004803603604081101561025b57600080fd5b506001600160a01b038135169060200135610cde565b604080519115158252519081900360200190f35b61011c610eb7565b61011c600480360360208110156102a357600080fd5b50356001600160a01b0316610ebd565b600082116102f5576040805162461bcd60e51b815260206004820152600a6024820152691e995c9bc81a5b9c1d5d60b21b604482015290519081900360640190fd5b600154604080516370a0823160e01b8152336004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561033f57600080fd5b505afa158015610353573d6000803e3d6000fd5b505050506040513d602081101561036957600080fd5b505110156103be576040805162461bcd60e51b815260206004820152601b60248201527f4572726f723a20696e73756666696369656e742062616c616e63650000000000604482015290519081900360640190fd5b6103c83382610cde565b156103d6576103d681610799565b80605a14156104d857336000908152600860205260409020546103ff908363ffffffff610ecf16565b33600090815260086020526040902055600454610422908363ffffffff610ecf16565b600455600354610438908363ffffffff610ecf16565b600355336000818152600d6020908152604080832042905560015481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b505af11580156104ba573d6000803e3d6000fd5b505050506040513d60208110156104d057600080fd5b506107559050565b8060b414156105aa5733600090815260096020526040902054610501908363ffffffff610ecf16565b33600090815260096020526040902055600554610524908363ffffffff610ecf16565b60055560035461053a908363ffffffff610ecf16565b600355336000818152600d60209081526040808320426001918201555481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b8061010e141561067f57336000908152600a60205260409020546105d4908363ffffffff610ecf16565b336000908152600a60205260409020556006546105f7908363ffffffff610ecf16565b60065560035461060d908363ffffffff610ecf16565b600355336000818152600d602090815260408083204260029091015560015481516323b872dd60e01b815260048101959095523060248601526044850187905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b1580156104a657600080fd5b8061016d14156100ea57336000908152600b60205260409020546106a9908363ffffffff610ecf16565b336000908152600b60205260409020556007546106cc908363ffffffff610ecf16565b6007556003546106e2908363ffffffff610ecf16565b6003908155336000818152600d602090815260408083204295019490945560015484516323b872dd60e01b815260048101949094523060248501526044840187905293516001600160a01b03909416936323b872dd93606480820194918390030190829087803b1580156104a657600080fd5b6040805183815260208101839052815133927f9c6dea23fe3b510bb5d170df49dc74e387692eaa3258c691918cd3aa94f5fb74928290030190a25050565b60035481565b600c5460ff16156107dd576040805162461bcd60e51b815260206004820152600960248201526853796e63206c6f636b60b81b604482015290519081900360640190fd5b600c805460ff191660011790556000605a82141561095b57336000908152600860205260409020546108405760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b61084a3383610cde565b6108855760405162461bcd60e51b815260040180806020018281038252602a8152602001806110db602a913960400191505060405180910390fd5b50336000908152600860209081526040808320805490849055600d9092528220919091556004546108bc908263ffffffff610f3016565b6004556003546108d2908263ffffffff610f3016565b6003556001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d602081101561095357600080fd5b50610c189050565b8160b41415610a4457336000908152600960205260409020546109af5760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b6109b93383610cde565b6109f45760405162461bcd60e51b815260040180806020018281038252602b815260200180611105602b913960400191505060405180910390fd5b50336000908152600960209081526040808320805490849055600d909252822060010191909155600554610a2e908263ffffffff610f3016565b6005556003546108d2908263ffffffff610f3016565b8161010e1415610b2e57336000908152600a6020526040902054610a995760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b610aa33383610cde565b610ade5760405162461bcd60e51b815260040180806020018281038252602b815260200180611063602b913960400191505060405180910390fd5b50336000908152600a60209081526040808320805490849055600d909252822060020191909155600654610b18908263ffffffff610f3016565b6006556003546108d2908263ffffffff610f3016565b8161016d14156100ea57336000908152600b6020526040902054610b835760405162461bcd60e51b81526004018080602001828103825260228152602001806110b96022913960400191505060405180910390fd5b610b8d3383610cde565b610bc85760405162461bcd60e51b815260040180806020018281038252602b81526020018061108e602b913960400191505060405180910390fd5b50336000908152600b60209081526040808320805490849055600d909252822060030191909155600754610c02908263ffffffff610f3016565b6007556003546108d2908263ffffffff610f3016565b6040805182815260208101849052815133927f6af0bd0dc10ed68b491c02f56f292243a20b09953d7b6f09563ab3b80ce500e6928290030190a25050600c805460ff19169055565b60096020526000908152604090205481565b60086020526000908152604090205481565b6000546001600160a01b031681565b60065481565b60045481565b60055481565b600d6020526000908152604090208054600182015460028301546003909301549192909184565b600a6020526000908152604090205481565b600081605a1415610d55576001600160a01b0383166000908152600d6020526040902054610d0e57506000610eb1565b42610d4c610d2760025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020549063ffffffff610ecf16565b11159050610eb1565b8160b41415610dc7576001600160a01b0383166000908152600d6020526040902060010154610d8657506000610eb1565b42610d4c610d9f60025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600101549063ffffffff610ecf16565b8161010e1415610e3a576001600160a01b0383166000908152600d6020526040902060020154610df957506000610eb1565b42610d4c610e1260025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600201549063ffffffff610ecf16565b8161016d1415610ead576001600160a01b0383166000908152600d6020526040902060030154610e6c57506000610eb1565b42610d4c610e8560025485610f7290919063ffffffff16565b6001600160a01b0386166000908152600d60205260409020600301549063ffffffff610ecf16565b5060005b92915050565b60075481565b600b6020526000908152604090205481565b600082820183811015610f29576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000610f2983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fcb565b600082610f8157506000610eb1565b82820282848281610f8e57fe5b0414610f295760405162461bcd60e51b81526004018080602001828103825260218152602001806111306021913960400191505060405180910390fd5b6000818484111561105a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561101f578181015183820152602001611007565b50505050905090810190601f16801561104c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e203237302064617973746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e2033363520646179734572726f723a20756e73756666696369656e742066726f7a656e2062616c616e6365746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e2039302064617973746f6b656e732063616e6e6f7420626520756e66726f7a656e207965742c206d696e203138302064617973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122010c431858253d6eb4eb03b606da65e4b8006355de011e9d1828ed1903e20e0b264736f6c63430006040033
Deployed Bytecode Sourcemap
662:8031:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;662:8031:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;2236:2097:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2236:2097:0;;;;;;;:::i;:::-;;943:23;;;:::i;:::-;;;;;;;;;;;;;;;;4386:2745;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4386:2745:0;;:::i;1209:55::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1209:55:0;-1:-1:-1;;;;;1209:55:0;;:::i;1110:54::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1110:54:0;-1:-1:-1;;;;;1110:54:0;;:::i;740:70::-;;;:::i;:::-;;;;-1:-1:-1;;;;;740:70:0;;;;;;;;;;;;;;1038:26;;;:::i;973:25::-;;;:::i;1005:26::-;;;:::i;1541:41::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1541:41:0;-1:-1:-1;;;;;1541:41:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:55;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1309:55:0;-1:-1:-1;;;;;1309:55:0;;:::i;7256:1434::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7256:1434:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1071:26;;;:::i;1409:55::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1409:55:0;-1:-1:-1;;;;;1409:55:0;;:::i;2236:2097::-;2330:1;2324:3;:7;2316:30;;;;;-1:-1:-1;;;2316:30:0;;;;;;;;;;;;-1:-1:-1;;;2316:30:0;;;;;;;;;;;;;;;2365:12;;:34;;;-1:-1:-1;;;2365:34:0;;2388:10;2365:34;;;;;;2403:3;;-1:-1:-1;;;;;2365:12:0;;:22;;:34;;;;;;;;;;;;;;:12;:34;;;2:2:-1;;;;27:1;24;17:12;2:2;2365:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2365:34:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2365:34:0;:41;;2357:81;;;;;-1:-1:-1;;;2357:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2482:39;2499:10;2511:9;2482:16;:39::i;:::-;2479:143;;;2537:25;2552:9;2537:14;:25::i;:::-;2662:9;2675:2;2662:15;2659:1612;;;2751:10;2729:33;;;;:21;:33;;;;;;:42;;2767:3;2729:42;:37;:42;:::i;:::-;2715:10;2693:33;;;;:21;:33;;;;;:78;2802:13;;:22;;2820:3;2802:22;:17;:22;:::i;:::-;2786:13;:38;2853:11;;:20;;2869:3;2853:20;:15;:20;:::i;:::-;2839:11;:34;2895:10;2888:18;;;;:6;:18;;;;;;;;2932:3;2888:47;;2950:12;;:57;;-1:-1:-1;;;2950:57:0;;;;;;;;;2996:4;2950:57;;;;;;;;;;;;-1:-1:-1;;;;;2950:12:0;;;;:25;;:57;;;;;2888:18;2950:57;;;;;;;;:12;:57;;;2:2:-1;;;;27:1;24;17:12;2:2;2950:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2950:57:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2659:1612:0;;-1:-1:-1;2659:1612:0;;3052:9;3065:3;3052:16;3049:1222;;;3144:10;3121:34;;;;:22;:34;;;;;;:43;;3160:3;3121:43;:38;:43;:::i;:::-;3107:10;3084:34;;;;:22;:34;;;;;:80;3196:14;;:23;;3215:3;3196:23;:18;:23;:::i;:::-;3179:14;:40;3248:11;;:20;;3264:3;3248:20;:15;:20;:::i;:::-;3234:11;:34;3290:10;3283:18;;;;:6;:18;;;;;;;;3328:3;3283:42;;;;:48;3346:12;:57;;-1:-1:-1;;;3346:57:0;;;;;;;;;3392:4;3346:57;;;;;;;;;;;;-1:-1:-1;;;;;3346:12:0;;;;:25;;:57;;;;;3283:18;3346:57;;;;;;;;:12;:57;;;2:2:-1;;;;27:1;24;17:12;3049:1222:0;3448:9;3461:3;3448:16;3445:826;;;3540:10;3517:34;;;;:22;:34;;;;;;:43;;3556:3;3517:43;:38;:43;:::i;:::-;3503:10;3480:34;;;;:22;:34;;;;;:80;3592:14;;:23;;3611:3;3592:23;:18;:23;:::i;:::-;3575:14;:40;3644:11;;:20;;3660:3;3644:20;:15;:20;:::i;:::-;3630:11;:34;3686:10;3679:18;;;;:6;:18;;;;;;;;3724:3;3679:42;;;;:48;3742:12;;:57;;-1:-1:-1;;;3742:57:0;;;;;;;;;3788:4;3742:57;;;;;;;;;;;;-1:-1:-1;;;;;3742:12:0;;;;:25;;:57;;;;;3679:18;3742:57;;;;;;;;:12;:57;;;2:2:-1;;;;27:1;24;17:12;3445:826:0;3844:9;3857:3;3844:16;3841:430;;;3936:10;3913:34;;;;:22;:34;;;;;;:43;;3952:3;3913:43;:38;:43;:::i;:::-;3899:10;3876:34;;;;:22;:34;;;;;:80;3988:14;;:23;;4007:3;3988:23;:18;:23;:::i;:::-;3971:14;:40;4040:11;;:20;;4056:3;4040:20;:15;:20;:::i;:::-;4026:11;:34;;;4082:10;4075:18;;;;:6;:18;;;;;;;;4120:3;4075:42;;:48;;;;4138:12;;:57;;-1:-1:-1;;;4138:57:0;;;;;;;;;4184:4;4138:57;;;;;;;;;;;;-1:-1:-1;;;;;4138:12:0;;;;:25;;:57;;;;;;;;;;;;;:12;:57;;;2:2:-1;;;;27:1;24;17:12;3841:430:0;4286:39;;;;;;;;;;;;;;4298:10;;4286:39;;;;;;;;2236:2097;;:::o;943:23::-;;;;:::o;4386:2745::-;1878:4;;;;1877:5;1869:27;;;;;-1:-1:-1;;;1869:27:0;;;;;;;;;;;;-1:-1:-1;;;1869:27:0;;;;;;;;;;;;;;;1907:4;:11;;-1:-1:-1;;1907:11:0;1914:4;1907:11;;;:4;4519:2:::1;4506:15:::0;::::1;4503:2562;;;4567:10;4581:1;4545:33:::0;;;:21:::1;:33;::::0;;;;;4537:83:::1;;;;-1:-1:-1::0;;;4537:83:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4680:39;4697:10;4709:9;4680:16;:39::i;:::-;4672:94;;;;-1:-1:-1::0;;;4672:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;4809:10:0::1;4787:33;::::0;;;:21:::1;:33;::::0;;;;;;;;;4835:37;;;;4887:6:::1;:18:::0;;;;;:45;;;;4963:13:::1;::::0;:22:::1;::::0;4787:33;4963:22:::1;:17;:22;:::i;:::-;4947:13;:38:::0;5014:11:::1;::::0;:20:::1;::::0;5030:3;5014:20:::1;:15;:20;:::i;:::-;5000:11;:34:::0;5049:12:::1;::::0;:38:::1;::::0;;-1:-1:-1;;;5049:38:0;;5071:10:::1;5049:38;::::0;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;5049:12:0;;::::1;::::0;:21:::1;::::0;:38;;;;;::::1;::::0;;;;;;;;;:12:::1;::::0;:38;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;5049:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5049:38:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;4503:2562:0::1;::::0;-1:-1:-1;4503:2562:0::1;;5132:9;5145:3;5132:16;5129:1936;;;5195:10;5209:1;5172:34:::0;;;:22:::1;:34;::::0;;;;;5164:84:::1;;;;-1:-1:-1::0;;;5164:84:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:39;5325:10;5337:9;5308:16;:39::i;:::-;5300:95;;;;-1:-1:-1::0;;;5300:95:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;5439:10:0::1;5416:34;::::0;;;:22:::1;:34;::::0;;;;;;;;;5465:38;;;;5518:6:::1;:18:::0;;;;;-1:-1:-1;5518:42:0::1;:46:::0;;;;5596:14:::1;::::0;:23:::1;::::0;5416:34;5596:23:::1;:18;:23;:::i;:::-;5579:14;:40:::0;5648:11:::1;::::0;:20:::1;::::0;5664:3;5648:20:::1;:15;:20;:::i;5129:1936::-;5766:9;5779:3;5766:16;5763:1302;;;5829:10;5843:1;5806:34:::0;;;:22:::1;:34;::::0;;;;;5798:84:::1;;;;-1:-1:-1::0;;;5798:84:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5942:39;5959:10;5971:9;5942:16;:39::i;:::-;5934:95;;;;-1:-1:-1::0;;;5934:95:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6073:10:0::1;6050:34;::::0;;;:22:::1;:34;::::0;;;;;;;;;6099:38;;;;6152:6:::1;:18:::0;;;;;:42:::1;;:46:::0;;;;6230:14:::1;::::0;:23:::1;::::0;6050:34;6230:23:::1;:18;:23;:::i;:::-;6213:14;:40:::0;6282:11:::1;::::0;:20:::1;::::0;6298:3;6282:20:::1;:15;:20;:::i;5763:1302::-;6400:9;6413:3;6400:16;6397:668;;;6463:10;6477:1;6440:34:::0;;;:22:::1;:34;::::0;;;;;6432:84:::1;;;;-1:-1:-1::0;;;6432:84:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6576:39;6593:10;6605:9;6576:16;:39::i;:::-;6568:95;;;;-1:-1:-1::0;;;6568:95:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;6707:10:0::1;6684:34;::::0;;;:22:::1;:34;::::0;;;;;;;;;6733:38;;;;6786:6:::1;:18:::0;;;;;:42:::1;;:46:::0;;;;6864:14:::1;::::0;:23:::1;::::0;6684:34;6864:23:::1;:18;:23;:::i;:::-;6847:14;:40:::0;6916:11:::1;::::0;:20:::1;::::0;6932:3;6916:20:::1;:15;:20;:::i;6397:668::-;7082:41;::::0;;;;;::::1;::::0;::::1;::::0;;;;;7096:10:::1;::::0;7082:41:::1;::::0;;;;;;::::1;-1:-1:-1::0;;1941:4:0;:12;;-1:-1:-1;;1941:12:0;;;4386:2745::o;1209:55::-;;;;;;;;;;;;;:::o;1110:54::-;;;;;;;;;;;;;:::o;740:70::-;;;-1:-1:-1;;;;;740:70:0;;:::o;1038:26::-;;;;:::o;973:25::-;;;;:::o;1005:26::-;;;;:::o;1541:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1309:55::-;;;;;;;;;;;;;:::o;7256:1434::-;7366:4;7391:15;7410:2;7391:21;7388:1295;;;-1:-1:-1;;;;;7431:13:0;;;;;;:6;:13;;;;;:36;7428:246;;-1:-1:-1;7499:5:0;7492:12;;7428:246;7640:3;7563:73;7604:31;7624:10;;7604:15;:19;;:31;;;;:::i;:::-;-1:-1:-1;;;;;7563:13:0;;;;;;:6;:13;;;;;:36;;:73;:40;:73;:::i;:::-;:80;;7556:87;;;;7388:1295;7703:15;7722:3;7703:22;7700:983;;;-1:-1:-1;;;;;7744:13:0;;;;;;:6;:13;;;;;:37;;;7741:248;;-1:-1:-1;7813:5:0;7806:12;;7741:248;7955:3;7877:74;7919:31;7939:10;;7919:15;:19;;:31;;;;:::i;:::-;-1:-1:-1;;;;;7877:13:0;;;;;;:6;:13;;;;;:37;;;;:74;:41;:74;:::i;7700:983::-;8018:15;8037:3;8018:22;8015:668;;;-1:-1:-1;;;;;8059:13:0;;;;;;:6;:13;;;;;:37;;;8056:248;;-1:-1:-1;8128:5:0;8121:12;;8056:248;8270:3;8192:74;8234:31;8254:10;;8234:15;:19;;:31;;;;:::i;:::-;-1:-1:-1;;;;;8192:13:0;;;;;;:6;:13;;;;;:37;;;;:74;:41;:74;:::i;8015:668::-;8333:15;8352:3;8333:22;8330:353;;;-1:-1:-1;;;;;8374:13:0;;;;;;:6;:13;;;;;:37;;;8371:248;;-1:-1:-1;8443:5:0;8436:12;;8371:248;8585:3;8507:74;8549:31;8569:10;;8549:15;:19;;:31;;;;:::i;:::-;-1:-1:-1;;;;;8507:13:0;;;;;;:6;:13;;;;;:37;;;;:74;:41;:74;:::i;8330:353::-;-1:-1:-1;8666:5:0;8330:353;7256:1434;;;;:::o;1071:26::-;;;;:::o;1409:55::-;;;;;;;;;;;;;:::o;858:181:2:-;916:7;948:5;;;972:6;;;;964:46;;;;;-1:-1:-1;;;964:46:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;1030:1;858:181;-1:-1:-1;;;858:181:2:o;1314:136::-;1372:7;1399:43;1403:1;1406;1399:43;;;;;;;;;;;;;;;;;:3;:43::i;2230:471::-;2288:7;2533:6;2529:47;;-1:-1:-1;2563:1:2;2556:8;;2529:47;2600:5;;;2604:1;2600;:5;:1;2624:5;;;;;:10;2616:56;;;;-1:-1:-1;;;2616:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1787:192;1873:7;1909:12;1901:6;;;;1893:29;;;;-1:-1:-1;;;1893:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1893:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1945:5:2;;;1787:192::o
Swarm Source
ipfs://10c431858253d6eb4eb03b606da65e4b8006355de011e9d1828ed1903e20e0b2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.