More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,820 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake Axia Tok... | 16014983 | 798 days ago | IN | 0 ETH | 0.00116072 | ||||
Take Dividends | 16014974 | 798 days ago | IN | 0 ETH | 0.00060681 | ||||
Take Dividends | 16014973 | 798 days ago | IN | 0 ETH | 0.00085833 | ||||
Unstake Axia Tok... | 15418614 | 884 days ago | IN | 0 ETH | 0.00070931 | ||||
Unstake Axia Tok... | 15399833 | 887 days ago | IN | 0 ETH | 0.00160173 | ||||
Take Dividends | 15399823 | 887 days ago | IN | 0 ETH | 0.00078799 | ||||
Unstake Axia Tok... | 15381210 | 890 days ago | IN | 0 ETH | 0.00094148 | ||||
Unstake Axia Tok... | 15207936 | 917 days ago | IN | 0 ETH | 0.00209382 | ||||
Unstake Axia Tok... | 15207924 | 917 days ago | IN | 0 ETH | 0.00050549 | ||||
Stake Axia Token... | 15017025 | 948 days ago | IN | 0 ETH | 0.00065201 | ||||
Stake Axia Token... | 15017025 | 948 days ago | IN | 0 ETH | 0.002942 | ||||
Take Dividends | 14914809 | 965 days ago | IN | 0 ETH | 0.00167361 | ||||
Unstake Axia Tok... | 14914805 | 965 days ago | IN | 0 ETH | 0.00384778 | ||||
Stake Axia Token... | 14769813 | 989 days ago | IN | 0 ETH | 0.00648293 | ||||
Stake Axia Token... | 14769780 | 989 days ago | IN | 0 ETH | 0.00356639 | ||||
Stake Axia Token... | 14719465 | 997 days ago | IN | 0 ETH | 0.01760607 | ||||
Take Dividends | 14665151 | 1006 days ago | IN | 0 ETH | 0.001492 | ||||
Unstake Axia Tok... | 14665126 | 1006 days ago | IN | 0 ETH | 0.00308231 | ||||
Unstake Axia Tok... | 14657823 | 1007 days ago | IN | 0 ETH | 0.00437012 | ||||
Take Dividends | 14657816 | 1007 days ago | IN | 0 ETH | 0.00318157 | ||||
Unstake Axia Tok... | 14647174 | 1008 days ago | IN | 0 ETH | 0.00257387 | ||||
Take Dividends | 14577592 | 1019 days ago | IN | 0 ETH | 0.00267081 | ||||
Unstake Axia Tok... | 14554969 | 1023 days ago | IN | 0 ETH | 0.00323249 | ||||
Take Dividends | 14442334 | 1040 days ago | IN | 0 ETH | 0.00099257 | ||||
Unstake Axia Tok... | 14387772 | 1049 days ago | IN | 0 ETH | 0.00395275 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ASP
Compiler Version
v0.6.4+commit.1dca32f3
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-09 */ /* * @dev This is the Axia Protocol Staking pool contract (AXIA LONE Pool), a part of the protocol where stakers are rewarded in AXIA tokens * when they make stakes of Axia tokens. * stakers reward come from the daily emission from the total supply into circulation, * this happens daily and upon the reach of a new epoch each made of 180 days, * halvings are experienced on the emitting amount of tokens. * on the 11th epoch all the tokens would have been completed emitted into circulation, * from here on, the stakers will still be earning from daily emissions * which would now be coming from the accumulated basis points over the epochs. * upon unstaking, stakers are charged a fee of 1% of their unstaking sum which is * burnt forever, thereby reducing the total supply. this gives the Axia token its deflationary feature. */ pragma solidity 0.6.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function supplyeffect(uint _amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } 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. */ 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. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { 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. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract ASP{ using SafeMath for uint256; //======================================EVENTS=========================================// event StakeEvent(address indexed staker, address indexed pool, uint amount); event UnstakeEvent(address indexed unstaker, address indexed pool, uint amount); event RewardEvent(address indexed staker, address indexed pool, uint amount); event RewardStake(address indexed staker, address indexed pool, uint amount); //======================================STAKING POOL=========================================// address public Axiatoken; bool public stakingEnabled; uint256 constant private FLOAT_SCALAR = 2**64; uint256 public MINIMUM_STAKE = 1000000000000000000; // 1000 AXIA Tokens uint256 public MIN_DIVIDENDS_DUR = 18 hours; uint256 private UNSTAKE_FEE = 1; //1% burns when you unstake uint public infocheck; uint _burnedAmount; uint actualValue; struct User { uint256 balance; uint256 frozen; int256 scaledPayout; uint256 staketime; } struct Info { uint256 totalSupply; uint256 totalFrozen; mapping(address => User) users; uint256 scaledPayoutPerToken; //pool balance address admin; } Info private info; constructor() public { info.admin = msg.sender; stakingEnabled = false; } //======================================ADMINSTRATION=========================================// modifier onlyCreator() { require(msg.sender == info.admin, "Ownable: caller is not the administrator"); _; } modifier onlyAxiaToken() { require(msg.sender == Axiatoken, "Authorization: only token contract can call"); _; } function tokenconfigs(address _axiatoken) public onlyCreator returns (bool success) { Axiatoken = _axiatoken; return true; } function _minStakeAmount(uint256 _number) onlyCreator public { MINIMUM_STAKE = _number*1000000000000000000; } function stakingStatus(bool _status) public onlyCreator { require(Axiatoken != address(0), "Pool address is not yet setup"); stakingEnabled = _status; } function unstakeburnrate(uint _rate) public onlyCreator returns (bool success) { UNSTAKE_FEE = _rate; return true; } function MIN_DIVIDENDS_DUR_TIME(uint256 _minDuration) public onlyCreator { MIN_DIVIDENDS_DUR = _minDuration; } //======================================USER WRITE=========================================// function StakeAxiaTokens(uint256 _tokens) external { _stake(_tokens); } function UnstakeAxiaTokens(uint256 _tokens) external { _unstake(_tokens); } //======================================USER READ=========================================// function totalFrozen() public view returns (uint256) { return info.totalFrozen; } function frozenOf(address _user) public view returns (uint256) { return info.users[_user].frozen; } function dividendsOf(address _user) public view returns (uint256) { if(info.users[_user].staketime < MIN_DIVIDENDS_DUR){ return 0; }else{ return uint256(int256(info.scaledPayoutPerToken * info.users[_user].frozen) - info.users[_user].scaledPayout) / FLOAT_SCALAR; } } function userData(address _user) public view returns (uint256 totalTokensFrozen, uint256 userFrozen, uint256 userDividends, uint256 userStaketime, int256 scaledPayout) { return (totalFrozen(), frozenOf(_user), dividendsOf(_user), info.users[_user].staketime, info.users[_user].scaledPayout); } //======================================ACTION CALLS=========================================// function _stake(uint256 _amount) internal { require(stakingEnabled, "Staking not yet initialized"); require(IERC20(Axiatoken).balanceOf(msg.sender) >= _amount, "Insufficient Axia token balance"); require(frozenOf(msg.sender) + _amount >= MINIMUM_STAKE, "Your amount is lower than the minimum amount allowed to stake"); require(IERC20(Axiatoken).allowance(msg.sender, address(this)) >= _amount, "Not enough allowance given to contract yet to spend by user"); info.users[msg.sender].staketime = now; info.totalFrozen += _amount; info.users[msg.sender].frozen += _amount; info.users[msg.sender].scaledPayout += int256(_amount * info.scaledPayoutPerToken); IERC20(Axiatoken).transferFrom(msg.sender, address(this), _amount); // Transfer liquidity tokens from the sender to this contract emit StakeEvent(msg.sender, address(this), _amount); } function _unstake(uint256 _amount) internal { require(frozenOf(msg.sender) >= _amount, "You currently do not have up to that amount staked"); info.totalFrozen -= _amount; info.users[msg.sender].frozen -= _amount; info.users[msg.sender].scaledPayout -= int256(_amount * info.scaledPayoutPerToken); _burnedAmount = mulDiv(_amount, UNSTAKE_FEE, 100); actualValue = _amount.sub(_burnedAmount); require(IERC20(Axiatoken).transfer(msg.sender, actualValue), "Transaction failed"); emit UnstakeEvent(address(this), msg.sender, actualValue); require(IERC20(Axiatoken).transfer(address(0x0), _burnedAmount), "Transaction failed"); IERC20(Axiatoken).supplyeffect(_burnedAmount); TakeDividends(); } function TakeDividends() public returns (uint256) { uint256 _dividends = dividendsOf(msg.sender); require(_dividends >= 0, "you do not have any dividend yet"); info.users[msg.sender].scaledPayout += int256(_dividends * FLOAT_SCALAR); require(IERC20(Axiatoken).transfer(msg.sender, _dividends), "Transaction Failed"); // Transfer dividends to msg.sender emit RewardEvent(msg.sender, address(this), _dividends); return _dividends; } function scaledToken(uint _amount) external onlyAxiaToken returns(bool){ info.scaledPayoutPerToken += _amount * FLOAT_SCALAR / info.totalFrozen; infocheck = info.scaledPayoutPerToken; return true; } function mulDiv (uint x, uint y, uint z) public pure returns (uint) { (uint l, uint h) = fullMul (x, y); assert (h < z); uint mm = mulmod (x, y, z); if (mm > l) h -= 1; l -= mm; uint pow2 = z & -z; z /= pow2; l /= pow2; l += h * ((-pow2) / pow2 + 1); uint r = 1; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; r *= 2 - z * r; return l * r; } function fullMul (uint x, uint y) private pure returns (uint l, uint h) { uint mm = mulmod (x, y, uint (-1)); l = x * y; h = mm - l; if (mm < l) h -= 1; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"StakeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"unstaker","type":"address"},{"indexed":true,"internalType":"address","name":"pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UnstakeEvent","type":"event"},{"inputs":[],"name":"Axiatoken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_DIVIDENDS_DUR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minDuration","type":"uint256"}],"name":"MIN_DIVIDENDS_DUR_TIME","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"StakeAxiaTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TakeDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"UnstakeAxiaTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number","type":"uint256"}],"name":"_minStakeAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"frozenOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"infocheck","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"z","type":"uint256"}],"name":"mulDiv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"scaledToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"stakingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_axiatoken","type":"address"}],"name":"tokenconfigs","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalFrozen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"unstakeburnrate","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"userData","outputs":[{"internalType":"uint256","name":"totalTokensFrozen","type":"uint256"},{"internalType":"uint256","name":"userFrozen","type":"uint256"},{"internalType":"uint256","name":"userDividends","type":"uint256"},{"internalType":"uint256","name":"userStaketime","type":"uint256"},{"internalType":"int256","name":"scaledPayout","type":"int256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052670de0b6b3a764000060015561fd20600255600160035534801561002757600080fd5b50600b80546001600160a01b031916331790556000805460ff60a01b19169055611166806100566000396000f3fe608060405234801561001057600080fd5b50600436106101205760003560e01c806369c18e12116100ad578063ac3c853511610071578063ac3c8535146102bd578063b333de24146102dc578063b821b6bf146102e4578063c8910913146102ec578063e0287b3e1461033d57610120565b806369c18e12146102355780636b6b6aa41461023d5780637640cb9e1461025a578063a43fc87114610277578063aa9a09121461029457610120565b80631bf6e00d116100f45780631bf6e00d146101be5780631cfff51b146101e45780631e7f87bc146101ec57806321dee127146101f45780636387c9491461021157610120565b806265318b1461012557806305d872aa1461015d57806308dbbb03146101975780631495bf9a1461019f575b600080fd5b61014b6004803603602081101561013b57600080fd5b50356001600160a01b031661035a565b60408051918252519081900360200190f35b6101836004803603602081101561017357600080fd5b50356001600160a01b03166103c1565b604080519115158252519081900360200190f35b61014b610432565b6101bc600480360360208110156101b557600080fd5b5035610438565b005b61014b600480360360208110156101d457600080fd5b50356001600160a01b0316610444565b610183610462565b61014b610472565b6101836004803603602081101561020a57600080fd5b5035610478565b6102196104cd565b604080516001600160a01b039092168252519081900360200190f35b61014b6104dc565b6101bc6004803603602081101561025357600080fd5b50356104e2565b6101836004803603602081101561027057600080fd5b50356104eb565b6101bc6004803603602081101561028d57600080fd5b5035610560565b61014b600480360360608110156102aa57600080fd5b50803590602081013590604001356105b8565b6101bc600480360360208110156102d357600080fd5b5035151561066c565b61014b610730565b61014b61085a565b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610860565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101bc6004803603602081101561035357600080fd5b50356108b7565b6002546001600160a01b03821660009081526009602052604081206003015490911115610389575060006103bc565b6001600160a01b03821660009081526009602052604090206002810154600190910154600a54600160401b929102030490505b919050565b600b546000906001600160a01b0316331461040d5760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60015481565b61044181610905565b50565b6001600160a01b031660009081526009602052604090206001015490565b600054600160a01b900460ff1681565b60085490565b600b546000906001600160a01b031633146104c45760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b50600355600190565b6000546001600160a01b031681565b60045481565b61044181610c27565b600080546001600160a01b031633146105355760405162461bcd60e51b815260040180806020018281038252602b815260200180611066602b913960400191505060405180910390fd5b600854600160401b83028161054657fe5b600a80549290910490910190819055600455506001919050565b600b546001600160a01b031633146105a95760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b670de0b6b3a764000002600155565b60008060006105c78686610f26565b915091508381106105d457fe5b600084806105de57fe5b8688099050828111156105f2576001820391505b91829003916000859003851680868161060757fe5b04955080848161061357fe5b04935080816000038161062257fe5b046001019290920292909201600285810380870282030280870282030280870282030280870282030280870282030280870282030295860290039094029390930295945050505050565b600b546001600160a01b031633146106b55760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b6000546001600160a01b0316610712576040805162461bcd60e51b815260206004820152601d60248201527f506f6f6c2061646472657373206973206e6f7420796574207365747570000000604482015290519081900360640190fd5b60008054911515600160a01b0260ff60a01b19909216919091179055565b60008061073c3361035a565b3360008181526009602090815260408083206002018054600160401b87020190558254815163a9059cbb60e01b815260048101959095526024850186905290519495506001600160a01b03169363a9059cbb93604480820194918390030190829087803b1580156107ac57600080fd5b505af11580156107c0573d6000803e3d6000fd5b505050506040513d60208110156107d657600080fd5b505161081e576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b604080518281529051309133917f8c998377165b6abd6e99f8b84a86ed2c92d0055aeef42626fedea45c2909f6eb9181900360200190a3905090565b60025481565b6000806000806000610870610472565b61087987610444565b6108828861035a565b6001600160a01b0398909816600090815260096020526040902060038101546002909101549299919897509550909350915050565b600b546001600160a01b031633146109005760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b600255565b600054600160a01b900460ff16610963576040805162461bcd60e51b815260206004820152601b60248201527f5374616b696e67206e6f742079657420696e697469616c697a65640000000000604482015290519081900360640190fd5b600054604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156109ad57600080fd5b505afa1580156109c1573d6000803e3d6000fd5b505050506040513d60208110156109d757600080fd5b50511015610a2c576040805162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74204178696120746f6b656e2062616c616e636500604482015290519081900360640190fd5b60015481610a3933610444565b011015610a775760405162461bcd60e51b815260040180806020018281038252603d8152602001806110cc603d913960400191505060405180910390fd5b60005460408051636eb1769f60e11b8152336004820152306024820152905183926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d6020811015610af157600080fd5b50511015610b305760405162461bcd60e51b815260040180806020018281038252603b815260200180611091603b913960400191505060405180910390fd5b336000818152600960209081526040808320426003820155600880548701905560018101805487019055600a54600290910180549187029091019055825481516323b872dd60e01b815260048101959095523060248601526044850186905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505050506040513d6020811015610beb57600080fd5b5050604080518281529051309133917f160ffcaa807f78c8b4983836e2396338d073e75695ac448aa0b5e4a75b210b1d9181900360200190a350565b80610c3133610444565b1015610c6e5760405162461bcd60e51b81526004018080602001828103825260328152602001806110346032913960400191505060405180910390fd5b6008805482900390553360009081526009602052604090206001810180548390039055600a54600290910180549183029091039055600354610cb390829060646105b8565b6005819055610cc990829063ffffffff610f5316565b6006819055600080546040805163a9059cbb60e01b81523360048201526024810194909452516001600160a01b039091169263a9059cbb9260448083019360209390929083900390910190829087803b158015610d2557600080fd5b505af1158015610d39573d6000803e3d6000fd5b505050506040513d6020811015610d4f57600080fd5b5051610d97576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8819985a5b195960721b604482015290519081900360640190fd5b6006546040805191825251339130917f15fba2c381f32b0e84d073dd1adb9edbcfd33a033ee48aaea415ac61ca7d448d9181900360200190a3600080546005546040805163a9059cbb60e01b8152600481018590526024810192909252516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b505050506040513d6020811015610e5357600080fd5b5051610e9b576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8819985a5b195960721b604482015290519081900360640190fd5b60008054600554604080516326796dd560e01b81526004810192909252516001600160a01b03909216926326796dd5926024808401936020939083900390910190829087803b158015610eed57600080fd5b505af1158015610f01573d6000803e3d6000fd5b505050506040513d6020811015610f1757600080fd5b50610f229050610730565b5050565b6000808060001984860990508385029250828103915082811015610f4b576001820391505b509250929050565b6000610f9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f9c565b9392505050565b6000818484111561102b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff0578181015183820152602001610fd8565b50505050905090810190601f16801561101d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe596f752063757272656e746c7920646f206e6f74206861766520757020746f207468617420616d6f756e74207374616b6564417574686f72697a6174696f6e3a206f6e6c7920746f6b656e20636f6e74726163742063616e2063616c6c4e6f7420656e6f75676820616c6c6f77616e636520676976656e20746f20636f6e74726163742079657420746f207370656e642062792075736572596f757220616d6f756e74206973206c6f776572207468616e20746865206d696e696d756d20616d6f756e7420616c6c6f77656420746f207374616b654f776e61626c653a2063616c6c6572206973206e6f74207468652061646d696e6973747261746f72a2646970667358221220829ed5041f5835822710304b2162bfc515c9408fc8d9c1d40281e861d84398e564736f6c63430006040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101205760003560e01c806369c18e12116100ad578063ac3c853511610071578063ac3c8535146102bd578063b333de24146102dc578063b821b6bf146102e4578063c8910913146102ec578063e0287b3e1461033d57610120565b806369c18e12146102355780636b6b6aa41461023d5780637640cb9e1461025a578063a43fc87114610277578063aa9a09121461029457610120565b80631bf6e00d116100f45780631bf6e00d146101be5780631cfff51b146101e45780631e7f87bc146101ec57806321dee127146101f45780636387c9491461021157610120565b806265318b1461012557806305d872aa1461015d57806308dbbb03146101975780631495bf9a1461019f575b600080fd5b61014b6004803603602081101561013b57600080fd5b50356001600160a01b031661035a565b60408051918252519081900360200190f35b6101836004803603602081101561017357600080fd5b50356001600160a01b03166103c1565b604080519115158252519081900360200190f35b61014b610432565b6101bc600480360360208110156101b557600080fd5b5035610438565b005b61014b600480360360208110156101d457600080fd5b50356001600160a01b0316610444565b610183610462565b61014b610472565b6101836004803603602081101561020a57600080fd5b5035610478565b6102196104cd565b604080516001600160a01b039092168252519081900360200190f35b61014b6104dc565b6101bc6004803603602081101561025357600080fd5b50356104e2565b6101836004803603602081101561027057600080fd5b50356104eb565b6101bc6004803603602081101561028d57600080fd5b5035610560565b61014b600480360360608110156102aa57600080fd5b50803590602081013590604001356105b8565b6101bc600480360360208110156102d357600080fd5b5035151561066c565b61014b610730565b61014b61085a565b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610860565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101bc6004803603602081101561035357600080fd5b50356108b7565b6002546001600160a01b03821660009081526009602052604081206003015490911115610389575060006103bc565b6001600160a01b03821660009081526009602052604090206002810154600190910154600a54600160401b929102030490505b919050565b600b546000906001600160a01b0316331461040d5760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60015481565b61044181610905565b50565b6001600160a01b031660009081526009602052604090206001015490565b600054600160a01b900460ff1681565b60085490565b600b546000906001600160a01b031633146104c45760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b50600355600190565b6000546001600160a01b031681565b60045481565b61044181610c27565b600080546001600160a01b031633146105355760405162461bcd60e51b815260040180806020018281038252602b815260200180611066602b913960400191505060405180910390fd5b600854600160401b83028161054657fe5b600a80549290910490910190819055600455506001919050565b600b546001600160a01b031633146105a95760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b670de0b6b3a764000002600155565b60008060006105c78686610f26565b915091508381106105d457fe5b600084806105de57fe5b8688099050828111156105f2576001820391505b91829003916000859003851680868161060757fe5b04955080848161061357fe5b04935080816000038161062257fe5b046001019290920292909201600285810380870282030280870282030280870282030280870282030280870282030280870282030295860290039094029390930295945050505050565b600b546001600160a01b031633146106b55760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b6000546001600160a01b0316610712576040805162461bcd60e51b815260206004820152601d60248201527f506f6f6c2061646472657373206973206e6f7420796574207365747570000000604482015290519081900360640190fd5b60008054911515600160a01b0260ff60a01b19909216919091179055565b60008061073c3361035a565b3360008181526009602090815260408083206002018054600160401b87020190558254815163a9059cbb60e01b815260048101959095526024850186905290519495506001600160a01b03169363a9059cbb93604480820194918390030190829087803b1580156107ac57600080fd5b505af11580156107c0573d6000803e3d6000fd5b505050506040513d60208110156107d657600080fd5b505161081e576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b604080518281529051309133917f8c998377165b6abd6e99f8b84a86ed2c92d0055aeef42626fedea45c2909f6eb9181900360200190a3905090565b60025481565b6000806000806000610870610472565b61087987610444565b6108828861035a565b6001600160a01b0398909816600090815260096020526040902060038101546002909101549299919897509550909350915050565b600b546001600160a01b031633146109005760405162461bcd60e51b81526004018080602001828103825260288152602001806111096028913960400191505060405180910390fd5b600255565b600054600160a01b900460ff16610963576040805162461bcd60e51b815260206004820152601b60248201527f5374616b696e67206e6f742079657420696e697469616c697a65640000000000604482015290519081900360640190fd5b600054604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156109ad57600080fd5b505afa1580156109c1573d6000803e3d6000fd5b505050506040513d60208110156109d757600080fd5b50511015610a2c576040805162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e74204178696120746f6b656e2062616c616e636500604482015290519081900360640190fd5b60015481610a3933610444565b011015610a775760405162461bcd60e51b815260040180806020018281038252603d8152602001806110cc603d913960400191505060405180910390fd5b60005460408051636eb1769f60e11b8152336004820152306024820152905183926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b158015610ac757600080fd5b505afa158015610adb573d6000803e3d6000fd5b505050506040513d6020811015610af157600080fd5b50511015610b305760405162461bcd60e51b815260040180806020018281038252603b815260200180611091603b913960400191505060405180910390fd5b336000818152600960209081526040808320426003820155600880548701905560018101805487019055600a54600290910180549187029091019055825481516323b872dd60e01b815260048101959095523060248601526044850186905290516001600160a01b03909116936323b872dd9360648083019493928390030190829087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505050506040513d6020811015610beb57600080fd5b5050604080518281529051309133917f160ffcaa807f78c8b4983836e2396338d073e75695ac448aa0b5e4a75b210b1d9181900360200190a350565b80610c3133610444565b1015610c6e5760405162461bcd60e51b81526004018080602001828103825260328152602001806110346032913960400191505060405180910390fd5b6008805482900390553360009081526009602052604090206001810180548390039055600a54600290910180549183029091039055600354610cb390829060646105b8565b6005819055610cc990829063ffffffff610f5316565b6006819055600080546040805163a9059cbb60e01b81523360048201526024810194909452516001600160a01b039091169263a9059cbb9260448083019360209390929083900390910190829087803b158015610d2557600080fd5b505af1158015610d39573d6000803e3d6000fd5b505050506040513d6020811015610d4f57600080fd5b5051610d97576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8819985a5b195960721b604482015290519081900360640190fd5b6006546040805191825251339130917f15fba2c381f32b0e84d073dd1adb9edbcfd33a033ee48aaea415ac61ca7d448d9181900360200190a3600080546005546040805163a9059cbb60e01b8152600481018590526024810192909252516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b505050506040513d6020811015610e5357600080fd5b5051610e9b576040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8819985a5b195960721b604482015290519081900360640190fd5b60008054600554604080516326796dd560e01b81526004810192909252516001600160a01b03909216926326796dd5926024808401936020939083900390910190829087803b158015610eed57600080fd5b505af1158015610f01573d6000803e3d6000fd5b505050506040513d6020811015610f1757600080fd5b50610f229050610730565b5050565b6000808060001984860990508385029250828103915082811015610f4b576001820391505b509250929050565b6000610f9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f9c565b9392505050565b6000818484111561102b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ff0578181015183820152602001610fd8565b50505050905090810190601f16801561101d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe596f752063757272656e746c7920646f206e6f74206861766520757020746f207468617420616d6f756e74207374616b6564417574686f72697a6174696f6e3a206f6e6c7920746f6b656e20636f6e74726163742063616e2063616c6c4e6f7420656e6f75676820616c6c6f77616e636520676976656e20746f20636f6e74726163742079657420746f207370656e642062792075736572596f757220616d6f756e74206973206c6f776572207468616e20746865206d696e696d756d20616d6f756e7420616c6c6f77656420746f207374616b654f776e61626c653a2063616c6c6572206973206e6f74207468652061646d696e6973747261746f72a2646970667358221220829ed5041f5835822710304b2162bfc515c9408fc8d9c1d40281e861d84398e564736f6c63430006040033
Deployed Bytecode Sourcemap
6383:7295:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6383:7295:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;9502:314:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9502:314:0;-1:-1:-1;;;;;9502:314:0;;:::i;:::-;;;;;;;;;;;;;;;;8178:147;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8178:147:0;-1:-1:-1;;;;;8178:147:0;;:::i;:::-;;;;;;;;;;;;;;;;;;7117:50;;;:::i;9028:76::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9028:76:0;;:::i;:::-;;9393:104;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9393:104:0;-1:-1:-1;;;;;9393:104:0;;:::i;7026:26::-;;;:::i;9298:86::-;;;:::i;8641:139::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8641:139:0;;:::i;6989:24::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6989:24:0;;;;;;;;;;;;;;7302:21;;;:::i;9116:80::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9116:80:0;;:::i;12464:252::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12464:252:0;;:::i;8331:122::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8331:122:0;;:::i;12735:696::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12735:696:0;;;;;;;;;;;;:::i;8465:164::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8465:164:0;;;;:::i;11969:484::-;;;:::i;7191:43::-;;;:::i;9824:321::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9824:321:0;-1:-1:-1;;;;;9824:321:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8798:130;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8798:130:0;;:::i;9502:314::-;9616:17;;-1:-1:-1;;;;;9586:17:0;;9559:7;9586:17;;;:10;:17;;;;;:27;;;9559:7;;-1:-1:-1;9583:229:0;;;-1:-1:-1;9653:1:0;9646:8;;9583:229;-1:-1:-1;;;;;9754:17:0;;;;;;:10;:17;;;;;:10;:30;;;9726:24;;;;;9698:25;;-1:-1:-1;;;7105:5:0;9698:52;;9691:93;9683:117;9676:124;;9583:229;9502:314;;;:::o;8178:147::-;7946:10;;8248:12;;-1:-1:-1;;;;;7946:10:0;7932;:24;7924:77;;;;-1:-1:-1;;;7924:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8273:9:0::1;:22:::0;;-1:-1:-1;;;;;8273:22:0;::::1;-1:-1:-1::0;;;;;;8273:22:0;;::::1;;::::0;;;8178:147;;;:::o;7117:50::-;;;;:::o;9028:76::-;9084:15;9091:7;9084:6;:15::i;:::-;9028:76;:::o;9393:104::-;-1:-1:-1;;;;;9468:17:0;9447:7;9468:17;;;:10;:17;;;;;:24;;;;9393:104::o;7026:26::-;;;-1:-1:-1;;;7026:26:0;;;;;:::o;9298:86::-;9363:16;;9298:86;:::o;8641:139::-;7946:10;;8706:12;;-1:-1:-1;;;;;7946:10:0;7932;:24;7924:77;;;;-1:-1:-1;;;7924:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8731:11:0::1;:19:::0;8768:4:::1;::::0;8641:139::o;6989:24::-;;;-1:-1:-1;;;;;6989:24:0;;:::o;7302:21::-;;;;:::o;9116:80::-;9174:17;9183:7;9174:8;:17::i;12464:252::-;12530:4;8091:9;;-1:-1:-1;;;;;8091:9:0;8077:10;:23;8069:79;;;;-1:-1:-1;;;8069:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12612:16;;-1:-1:-1;;;12587:22:0;::::1;12612:16:::0;12587:41:::1;;;;12558:25:::0;:70;;12587:41;;;::::1;12558:70:::0;;::::1;::::0;;;;12637:9:::1;:37:::0;-1:-1:-1;;;12464:252:0;-1:-1:-1;12464:252:0:o;8331:122::-;7946:10;;-1:-1:-1;;;;;7946:10:0;7932;:24;7924:77;;;;-1:-1:-1;;;7924:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8425:19:::1;8417:27;8401:13;:43:::0;8331:122::o;12735:696::-;12797:4;12821:6;12829;12839:14;12848:1;12851;12839:7;:14::i;:::-;12820:33;;;;12882:1;12878;:5;12870:14;;;;12901:7;12925:1;12911:16;;;;;12922:1;12919;12911:16;12901:26;;12953:1;12948:2;:6;12944:18;;;12961:1;12956:6;;;;12944:18;12979:7;;;;;13003:9;13019:2;;;13015:6;;;13020:1;13015:6;13038:9;;;;;;;13069:4;13064:9;;;;;;;;;13110:4;13102;13101:5;;13100:14;;;;;;13117:1;13100:18;13095:24;;;;13090:29;;;;13168:1;:9;;;13203:5;;;13199:9;;13194:14;13234:5;;;13230:9;;13225:14;13265:5;;;13261:9;;13256:14;13296:5;;;13292:9;;13287:14;13327:5;;;13323:9;;13318:14;13358:5;;;13354:9;;13349:14;13389:5;;;13385:9;;13380:14;;;13418:5;;;;;12735:696;-1:-1:-1;;;;;12735:696:0:o;8465:164::-;7946:10;;-1:-1:-1;;;;;7946:10:0;7932;:24;7924:77;;;;-1:-1:-1;;;7924:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8557:1:::1;8536:9:::0;-1:-1:-1;;;;;8536:9:0::1;8528:65;;;::::0;;-1:-1:-1;;;8528:65:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8597:14;:24:::0;;;::::1;;-1:-1:-1::0;;;8597:24:0::1;-1:-1:-1::0;;;;8597:24:0;;::::1;::::0;;;::::1;::::0;;8465:164::o;11969:484::-;12010:7;12032:18;12053:23;12065:10;12053:11;:23::i;:::-;12157:10;12146:22;;;;:10;:22;;;;;;;;:10;:35;:72;;-1:-1:-1;;;12192:25:0;;12146:72;;;12242:9;;12235:50;;-1:-1:-1;;;12235:50:0;;;;;;;;;;;;;;;;;12032:44;;-1:-1:-1;;;;;;12242:9:0;;12235:26;;:50;;;;;;;;;;;;;12242:9;12235:50;;;2:2:-1;;;;27:1;24;17:12;2:2;12235:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12235:50:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12235:50:0;12227:81;;;;;-1:-1:-1;;;12227:81:0;;;;;;;;;;;;-1:-1:-1;;;12227:81:0;;;;;;;;;;;;;;;12357:50;;;;;;;;12389:4;;12369:10;;12357:50;;;;;;;;;12423:10;-1:-1:-1;11969:484:0;:::o;7191:43::-;;;;:::o;9824:321::-;9881:25;9908:18;9931:21;9954;9977:19;10018:13;:11;:13::i;:::-;10033:15;10042:5;10033:8;:15::i;:::-;10050:18;10062:5;10050:11;:18::i;:::-;-1:-1:-1;;;;;10070:17:0;;;;;;;;:10;:17;;;;;:27;;;;:10;10099:30;;;;10010:120;;;;;-1:-1:-1;10070:27:0;-1:-1:-1;10099:30:0;;-1:-1:-1;9824:321:0;-1:-1:-1;;9824:321:0:o;8798:130::-;7946:10;;-1:-1:-1;;;;;7946:10:0;7932;:24;7924:77;;;;-1:-1:-1;;;7924:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8885:17:::1;:32:::0;8798:130::o;10254:910::-;10319:14;;-1:-1:-1;;;10319:14:0;;;;10311:54;;;;;-1:-1:-1;;;10311:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10392:9;;10385:39;;;-1:-1:-1;;;10385:39:0;;10413:10;10385:39;;;;;;10428:7;;-1:-1:-1;;;;;10392:9:0;;10385:27;;:39;;;;;;;;;;;;;;10392:9;10385:39;;;2:2:-1;;;;27:1;24;17:12;2:2;10385:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10385:39:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10385:39:0;:50;;10377:94;;;;;-1:-1:-1;;;10377:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10518:13;;10507:7;10484:20;10493:10;10484:8;:20::i;:::-;:30;:47;;10476:121;;;;-1:-1:-1;;;10476:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10617:9;;10610:54;;;-1:-1:-1;;;10610:54:0;;10638:10;10610:54;;;;10658:4;10610:54;;;;;;10668:7;;-1:-1:-1;;;;;10617:9:0;;10610:27;;:54;;;;;;;;;;;;;;10617:9;10610:54;;;2:2:-1;;;;27:1;24;17:12;2:2;10610:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10610:54:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10610:54:0;:65;;10602:137;;;;-1:-1:-1;;;10602:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:10;10748:22;;;;:10;:22;;;;;;;;10783:3;10748:32;;;:38;10791:16;:27;;;;;;-1:-1:-1;10823:29:0;;:40;;;;;;10928:25;;10748:10;10872:35;;;:82;;10918:35;;;10872:82;;;;;10967:9;;10960:66;;-1:-1:-1;;;10960:66:0;;;;;;;;;11011:4;10960:66;;;;;;;;;;;;-1:-1:-1;;;;;10967:9:0;;;;10960:30;;:66;;;;;10748:22;10960:66;;;;;;;;10967:9;10960:66;;;2:2:-1;;;;27:1;24;17:12;2:2;10960:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10960:66:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;11113:46:0;;;;;;;;11144:4;;11124:10;;11113:46;;;;;10960:66;11113:46;;;10254:910;:::o;11180:770::-;11268:7;11244:20;11253:10;11244:8;:20::i;:::-;:31;;11236:94;;;;-1:-1:-1;;;11236:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11339:16;:27;;;;;;;11382:10;-1:-1:-1;11371:22:0;;;:10;:22;;;;;-1:-1:-1;11371:29:0;;:40;;;;;;;11472:25;;11371:10;11416:35;;;:82;;11462:35;;;11416:82;;;;;11472:25;11539:11;11523:33;;11339:27;;11552:3;11523:6;:33::i;:::-;11507:13;:49;;;11575:26;;:7;;:26;:11;:26;:::i;:::-;11561:11;:40;;;11625:9;;;11618:51;;;-1:-1:-1;;;11618:51:0;;11645:10;11618:51;;;;;;;;;;;;-1:-1:-1;;;;;11625:9:0;;;;11618:26;;:51;;;;;;;;;;;;;;;;;;;11625:9;11618:51;;;2:2:-1;;;;27:1;24;17:12;2:2;11618:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11618:51:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11618:51:0;11610:82;;;;;-1:-1:-1;;;11610:82:0;;;;;;;;;;;;-1:-1:-1;;;11610:82:0;;;;;;;;;;;;;;;11748:11;;11708:52;;;;;;;11736:10;;11729:4;;11708:52;;;;;;;;;11788:9;;;11822:13;;11781:55;;;-1:-1:-1;;;11781:55:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11788:9:0;;;;11781:26;;:55;;;;;;;;;;;;;;;;;11788:9;11781:55;;;2:2:-1;;;;27:1;24;17:12;2:2;11781:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11781:55:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11781:55:0;11773:86;;;;;-1:-1:-1;;;11773:86:0;;;;;;;;;;;;-1:-1:-1;;;11773:86:0;;;;;;;;;;;;;;;11872:9;;;11896:13;;11865:45;;;-1:-1:-1;;;11865:45:0;;;;;;;;;;-1:-1:-1;;;;;11872:9:0;;;;11865:30;;:45;;;;;;;;;;;;;;;;;11872:9;11865:45;;;2:2:-1;;;;27:1;24;17:12;2:2;11865:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11865:45:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11921:15:0;;-1:-1:-1;11921:13:0;:15::i;:::-;;11180:770;:::o;13447:219::-;13503:6;;;-1:-1:-1;;13557:1:0;13554;13546:24;13536:34;;13595:1;13591;:5;13587:9;;13622:1;13617:2;:6;13613:10;;13649:1;13644:2;:6;13640:18;;;13657:1;13652:6;;;;13640:18;13447:219;;;;;;:::o;2383:136::-;2441:7;2468:43;2472:1;2475;2468:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2461:50;2383:136;-1:-1:-1;;;2383:136:0:o;2822:192::-;2908:7;2944:12;2936:6;;;;2928:29;;;;-1:-1:-1;;;2928: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;2928:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2980:5:0;;;2822:192::o
Swarm Source
ipfs://829ed5041f5835822710304b2162bfc515c9408fc8d9c1d40281e861d84398e5
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.001754 | 359,290.7846 | $630.32 |
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.