Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 16 from a total of 16 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Reclaim Token | 7980656 | 2063 days ago | IN | 0 ETH | 0.00015453 | ||||
Reclaim Token | 7980656 | 2063 days ago | IN | 0 ETH | 0.000178 | ||||
Reclaim Token | 7980648 | 2063 days ago | IN | 0 ETH | 0.000178 | ||||
Reclaim Token | 7980646 | 2063 days ago | IN | 0 ETH | 0.000178 | ||||
Reclaim Token | 7980641 | 2063 days ago | IN | 0 ETH | 0.0002225 | ||||
Vote Burn | 7843635 | 2085 days ago | IN | 0 ETH | 0.00068004 | ||||
Vote Burn | 7843627 | 2085 days ago | IN | 0 ETH | 0.00053759 | ||||
Vote Burn | 7843621 | 2085 days ago | IN | 0 ETH | 0.00012556 | ||||
Vote Burn | 7840555 | 2085 days ago | IN | 0 ETH | 0.00020064 | ||||
Vote Burn | 7840541 | 2085 days ago | IN | 0 ETH | 0.0003172 | ||||
Vote Burn | 7840525 | 2085 days ago | IN | 0 ETH | 0.0003172 | ||||
Vote Burn | 7840512 | 2085 days ago | IN | 0 ETH | 0.0007403 | ||||
Vote Burn | 7840475 | 2085 days ago | IN | 0 ETH | 0.00077506 | ||||
Vote Burn | 7840412 | 2085 days ago | IN | 0 ETH | 0.00012556 | ||||
Vote Burn | 7837804 | 2086 days ago | IN | 0 ETH | 0.00046503 | ||||
Vote Burn | 7837782 | 2086 days ago | IN | 0 ETH | 0.00064522 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ZmineVoteBurn
Compiler Version
v0.5.8+commit.23d335f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-07 */ pragma solidity ^0.5.8; /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library IterableMap { struct IMap { mapping(address => uint256) mapToData; mapping(address => uint256) mapToIndex; // start with index 1 address[] indexes; } function insert(IMap storage self, address _address, uint256 _value) internal returns (bool replaced) { require(_address != address(0)); if(self.mapToIndex[_address] == 0){ // add new self.indexes.push(_address); self.mapToIndex[_address] = self.indexes.length; self.mapToData[_address] = _value; return false; } // replace self.mapToData[_address] = _value; return true; } function remove(IMap storage self, address _address) internal returns (bool success) { require(_address != address(0)); // not existing if(self.mapToIndex[_address] == 0){ return false; } uint256 deleteIndex = self.mapToIndex[_address]; if(deleteIndex <= 0 || deleteIndex > self.indexes.length){ return false; } // if index to be deleted is not the last index, swap position. if (deleteIndex < self.indexes.length) { // swap self.indexes[deleteIndex-1] = self.indexes[self.indexes.length-1]; self.mapToIndex[self.indexes[deleteIndex-1]] = deleteIndex; } self.indexes.length -= 1; delete self.mapToData[_address]; delete self.mapToIndex[_address]; return true; } function contains(IMap storage self, address _address) internal view returns (bool exists) { return self.mapToIndex[_address] > 0; } function size(IMap storage self) internal view returns (uint256) { return self.indexes.length; } function get(IMap storage self, address _address) internal view returns (uint256) { return self.mapToData[_address]; } // start with index 0 function getKey(IMap storage self, uint256 _index) internal view returns (address) { if(_index < self.indexes.length){ return self.indexes[_index]; } return address(0); } } /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error. */ library SafeMath { /** * @dev Multiplies two unsigned integers, reverts on 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-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two unsigned integers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ZmineVoteBurn is Ownable { // Use itmap for all functions on the struct using IterableMap for IterableMap.IMap; using SafeMath for uint256; // ERC20 basic token contract being held IERC20 public token; // map address => vote IterableMap.IMap voteRecordMap; // map address => token available for reclaim IterableMap.IMap reclaimTokenMap; // time to start vote period uint256 public timestampStartVote; // time to end vote period uint256 public timestampEndVote; // time to enable reclaim token process uint256 public timestampReleaseToken; // cumulative count for total vote uint256 _totalVote; constructor(IERC20 _token) public { token = _token; // (Mainnet) May 22, 2019 GMT (epoch time 1558483200) // (Kovan) from now timestampStartVote = 1558483200; // (Mainnet) May 28, 2019 GMT (epoch time 1559001600) // (Kovan) period for 10 years timestampEndVote = 1559001600; // (Mainnet) May 30, 2019 GMT (epoch time 1559174400) // (Kovan) from now timestampReleaseToken = 1559174400; } /** * modifier */ // during the votable period? modifier onlyVotable() { require(isVotable()); _; } // during the reclaimable period? modifier onlyReclaimable() { require(isReclaimable()); _; } /** * public methods */ function isVotable() public view returns (bool){ return (timestampStartVote <= block.timestamp && block.timestamp <= timestampEndVote); } function isReclaimable() public view returns (bool){ return (block.timestamp >= timestampReleaseToken); } function countVoteUser() public view returns (uint256){ return voteRecordMap.size(); } function countVoteScore() public view returns (uint256){ return _totalVote; } function getVoteByAddress(address _address) public view returns (uint256){ return voteRecordMap.get(_address); } // vote by transfer token into this contract as collateral // This process require approval from sender, to allow contract transfer token on the sender behalf. function voteBurn(uint256 amount) public onlyVotable { require(token.balanceOf(msg.sender) >= amount); // transfer token on the sender behalf. token.transferFrom(msg.sender, address(this), amount); // calculate cumulative vote uint256 newAmount = voteRecordMap.get(msg.sender).add(amount); // save to map reclaimTokenMap.insert(msg.sender, newAmount); voteRecordMap.insert(msg.sender, newAmount); // cumulative count total vote _totalVote = _totalVote.add(amount); } // Take the token back to the sender after reclaimable period has come. function reclaimToken() public onlyReclaimable { uint256 amount = reclaimTokenMap.get(msg.sender); require(amount > 0); require(token.balanceOf(address(this)) >= amount); // transfer token back to sender token.transfer(msg.sender, amount); // remove from map reclaimTokenMap.remove(msg.sender); } /** * admin methods */ function adminCountReclaimableUser() public view onlyOwner returns (uint256){ return reclaimTokenMap.size(); } function adminCheckReclaimableAddress(uint256 index) public view onlyOwner returns (address){ require(index >= 0); if(reclaimTokenMap.size() > index){ return reclaimTokenMap.getKey(index); }else{ return address(0); } } function adminCheckReclaimableToken(uint256 index) public view onlyOwner returns (uint256){ require(index >= 0); if(reclaimTokenMap.size() > index){ return reclaimTokenMap.get(reclaimTokenMap.getKey(index)); }else{ return 0; } } function adminCheckVoteAddress(uint256 index) public view onlyOwner returns (address){ require(index >= 0); if(voteRecordMap.size() > index){ return voteRecordMap.getKey(index); }else{ return address(0); } } function adminCheckVoteToken(uint256 index) public view onlyOwner returns (uint256){ require(index >= 0); if(voteRecordMap.size() > index){ return voteRecordMap.get(voteRecordMap.getKey(index)); }else{ return 0; } } // perform reclaim token by admin function adminReclaimToken(address _address) public onlyOwner { uint256 amount = reclaimTokenMap.get(_address); require(amount > 0); require(token.balanceOf(address(this)) >= amount); token.transfer(_address, amount); // remove from map reclaimTokenMap.remove(_address); } // Prevent deposit tokens by accident to a contract with the transfer function? // The transaction will succeed but this will not be recognized by the contract. // After reclaim process was ended, admin will able to transfer the remain tokens to himself. // And return the remain tokens to senders by manual process. function adminSweepMistakeTransferToken() public onlyOwner { require(reclaimTokenMap.size() == 0); require(token.balanceOf(address(this)) > 0); token.transfer(owner, token.balanceOf(address(this))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"adminCheckVoteToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timestampReleaseToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"adminReclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"adminCheckVoteAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"adminSweepMistakeTransferToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isReclaimable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getVoteByAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timestampStartVote","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isVotable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"adminCheckReclaimableToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"voteBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adminCountReclaimableUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countVoteScore","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"adminCheckReclaimableAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"countVoteUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timestampEndVote","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610e7e8339810180604052602081101561003057600080fd5b5051600080546001600160a01b03199081163317909155600180546001600160a01b0390931692909116919091179055635ce49100600855635cec7a00600955635cef1d00600a55610df7806100876000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c80639701d7c6116100ad578063d6f34c2511610071578063d6f34c2514610291578063dbc0241f14610299578063f2fde38b146102a1578063fc0c546a146102c7578063fff28137146102cf5761012b565b80639701d7c61461022a5780639c4bbb8a14610247578063bfe9edc314610264578063c0f7bdb41461026c578063d412e79a146102745761012b565b80637f731ba3116100f45780637f731ba3146101d057806380525548146101ec5780638229b84f146102125780638da5cb5b1461021a57806393c2a916146102225761012b565b80629ae52a1461013057806316ed0daa1461015f57806320c1a1e7146101675780633c4f37071461018f5780636363ecf1146101c8575b600080fd5b61014d6004803603602081101561014657600080fd5b50356102d7565b60408051918252519081900360200190f35b61014d610332565b61018d6004803603602081101561017d57600080fd5b50356001600160a01b0316610338565b005b6101ac600480360360208110156101a557600080fd5b5035610491565b604080516001600160a01b039092168252519081900360200190f35b61018d6104cb565b6101d8610679565b604080519115158252519081900360200190f35b61014d6004803603602081101561020257600080fd5b50356001600160a01b0316610683565b61014d61069c565b6101ac6106a2565b6101d86106b1565b61014d6004803603602081101561024057600080fd5b50356106cc565b61018d6004803603602081101561025d57600080fd5b5035610717565b61014d61089b565b61014d6108bd565b6101ac6004803603602081101561028a57600080fd5b50356108c3565b61014d6108fd565b61014d610909565b61018d600480360360208110156102b757600080fd5b50356001600160a01b031661090f565b6101ac610994565b61018d6109a3565b600080546001600160a01b031633146102ef57600080fd5b816102fa6002610aef565b11156103295761032261031460028463ffffffff610af616565b60029063ffffffff610b3916565b905061032d565b5060005b919050565b600a5481565b6000546001600160a01b0316331461034f57600080fd5b600061036260058363ffffffff610b3916565b90506000811161037157600080fd5b60015460408051600160e01b6370a08231028152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156103be57600080fd5b505afa1580156103d2573d6000803e3d6000fd5b505050506040513d60208110156103e857600080fd5b505110156103f557600080fd5b60015460408051600160e01b63a9059cbb0281526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d602081101561047857600080fd5b5061048c905060058363ffffffff610b5516565b505050565b600080546001600160a01b031633146104a957600080fd5b816104b46002610aef565b11156103295761032260028363ffffffff610af616565b6000546001600160a01b031633146104e257600080fd5b6104ec6005610aef565b156104f657600080fd5b60015460408051600160e01b6370a0823102815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d602081101561056e57600080fd5b50511161057a57600080fd5b60015460005460408051600160e01b6370a0823102815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d60208110156105ff57600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b505050506040513d602081101561067557600080fd5b5050565b600a544210155b90565b600061069660028363ffffffff610b3916565b92915050565b60085481565b6000546001600160a01b031681565b600042600854111580156106c757506009544211155b905090565b600080546001600160a01b031633146106e457600080fd5b816106ef6005610aef565b11156103295761032261070960058463ffffffff610af616565b60059063ffffffff610b3916565b61071f6106b1565b61072857600080fd5b60015460408051600160e01b6370a08231028152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b505110156107ac57600080fd5b60015460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b50600090506108598261084d60023363ffffffff610b3916565b9063ffffffff610cc516565b905061086d6005338363ffffffff610cde16565b506108806002338363ffffffff610cde16565b50600b54610894908363ffffffff610cc516565b600b555050565b600080546001600160a01b031633146108b357600080fd5b6106c76005610aef565b600b5490565b600080546001600160a01b031633146108db57600080fd5b816108e66005610aef565b11156103295761032260058363ffffffff610af616565b60006106c76002610aef565b60095481565b6000546001600160a01b0316331461092657600080fd5b6001600160a01b03811661093957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6109ab610679565b6109b457600080fd5b60006109c760053363ffffffff610b3916565b9050600081116109d657600080fd5b60015460408051600160e01b6370a08231028152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610a2357600080fd5b505afa158015610a37573d6000803e3d6000fd5b505050506040513d6020811015610a4d57600080fd5b50511015610a5a57600080fd5b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610ab157600080fd5b505af1158015610ac5573d6000803e3d6000fd5b505050506040513d6020811015610adb57600080fd5b50610675905060053363ffffffff610b5516565b6002015490565b6002820154600090821015610b3057826002018281548110610b1457fe5b6000918252602090912001546001600160a01b03169050610696565b50600092915050565b6001600160a01b03166000908152602091909152604090205490565b60006001600160a01b038216610b6a57600080fd5b6001600160a01b0382166000908152600184016020526040902054610b9157506000610696565b6001600160a01b0382166000908152600184016020526040902054801580610bbc5750600284015481115b15610bcb576000915050610696565b6002840154811015610c84576002840180546000198101908110610beb57fe5b6000918252602090912001546002850180546001600160a01b03909216916000198401908110610c1757fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080846001016000866002016001850381548110610c5e57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6002840180546000190190610c999082610d8e565b5050506001600160a01b0316600090815260208281526040808320839055600193840190915281205590565b600082820183811015610cd757600080fd5b9392505050565b60006001600160a01b038316610cf357600080fd5b6001600160a01b0383166000908152600185016020526040902054610d6b5750600283018054600180820183556000838152602080822090930180546001600160a01b0319166001600160a01b0388169081179091559354938152908601825260408082209390935590859052908120829055610cd7565b506001600160a01b03919091166000908152602092909252604090912055600190565b81548183558181111561048c5760008381526020902061048c91810190830161068091905b80821115610dc75760008155600101610db3565b509056fea165627a7a7230582069347324d0288efd4bbc471565fedfd9ce4afba9b5f98e93e439f7c208c34b540029000000000000000000000000554ffc77f4251a9fb3c0e3590a6a205f8d4e067d
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012b5760003560e01c80639701d7c6116100ad578063d6f34c2511610071578063d6f34c2514610291578063dbc0241f14610299578063f2fde38b146102a1578063fc0c546a146102c7578063fff28137146102cf5761012b565b80639701d7c61461022a5780639c4bbb8a14610247578063bfe9edc314610264578063c0f7bdb41461026c578063d412e79a146102745761012b565b80637f731ba3116100f45780637f731ba3146101d057806380525548146101ec5780638229b84f146102125780638da5cb5b1461021a57806393c2a916146102225761012b565b80629ae52a1461013057806316ed0daa1461015f57806320c1a1e7146101675780633c4f37071461018f5780636363ecf1146101c8575b600080fd5b61014d6004803603602081101561014657600080fd5b50356102d7565b60408051918252519081900360200190f35b61014d610332565b61018d6004803603602081101561017d57600080fd5b50356001600160a01b0316610338565b005b6101ac600480360360208110156101a557600080fd5b5035610491565b604080516001600160a01b039092168252519081900360200190f35b61018d6104cb565b6101d8610679565b604080519115158252519081900360200190f35b61014d6004803603602081101561020257600080fd5b50356001600160a01b0316610683565b61014d61069c565b6101ac6106a2565b6101d86106b1565b61014d6004803603602081101561024057600080fd5b50356106cc565b61018d6004803603602081101561025d57600080fd5b5035610717565b61014d61089b565b61014d6108bd565b6101ac6004803603602081101561028a57600080fd5b50356108c3565b61014d6108fd565b61014d610909565b61018d600480360360208110156102b757600080fd5b50356001600160a01b031661090f565b6101ac610994565b61018d6109a3565b600080546001600160a01b031633146102ef57600080fd5b816102fa6002610aef565b11156103295761032261031460028463ffffffff610af616565b60029063ffffffff610b3916565b905061032d565b5060005b919050565b600a5481565b6000546001600160a01b0316331461034f57600080fd5b600061036260058363ffffffff610b3916565b90506000811161037157600080fd5b60015460408051600160e01b6370a08231028152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156103be57600080fd5b505afa1580156103d2573d6000803e3d6000fd5b505050506040513d60208110156103e857600080fd5b505110156103f557600080fd5b60015460408051600160e01b63a9059cbb0281526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d602081101561047857600080fd5b5061048c905060058363ffffffff610b5516565b505050565b600080546001600160a01b031633146104a957600080fd5b816104b46002610aef565b11156103295761032260028363ffffffff610af616565b6000546001600160a01b031633146104e257600080fd5b6104ec6005610aef565b156104f657600080fd5b60015460408051600160e01b6370a0823102815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d602081101561056e57600080fd5b50511161057a57600080fd5b60015460005460408051600160e01b6370a0823102815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d60208110156105ff57600080fd5b50516040805163ffffffff851660e01b81526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b505050506040513d602081101561067557600080fd5b5050565b600a544210155b90565b600061069660028363ffffffff610b3916565b92915050565b60085481565b6000546001600160a01b031681565b600042600854111580156106c757506009544211155b905090565b600080546001600160a01b031633146106e457600080fd5b816106ef6005610aef565b11156103295761032261070960058463ffffffff610af616565b60059063ffffffff610b3916565b61071f6106b1565b61072857600080fd5b60015460408051600160e01b6370a08231028152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b505110156107ac57600080fd5b60015460408051600160e01b6323b872dd0281523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b50600090506108598261084d60023363ffffffff610b3916565b9063ffffffff610cc516565b905061086d6005338363ffffffff610cde16565b506108806002338363ffffffff610cde16565b50600b54610894908363ffffffff610cc516565b600b555050565b600080546001600160a01b031633146108b357600080fd5b6106c76005610aef565b600b5490565b600080546001600160a01b031633146108db57600080fd5b816108e66005610aef565b11156103295761032260058363ffffffff610af616565b60006106c76002610aef565b60095481565b6000546001600160a01b0316331461092657600080fd5b6001600160a01b03811661093957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6109ab610679565b6109b457600080fd5b60006109c760053363ffffffff610b3916565b9050600081116109d657600080fd5b60015460408051600160e01b6370a08231028152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610a2357600080fd5b505afa158015610a37573d6000803e3d6000fd5b505050506040513d6020811015610a4d57600080fd5b50511015610a5a57600080fd5b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610ab157600080fd5b505af1158015610ac5573d6000803e3d6000fd5b505050506040513d6020811015610adb57600080fd5b50610675905060053363ffffffff610b5516565b6002015490565b6002820154600090821015610b3057826002018281548110610b1457fe5b6000918252602090912001546001600160a01b03169050610696565b50600092915050565b6001600160a01b03166000908152602091909152604090205490565b60006001600160a01b038216610b6a57600080fd5b6001600160a01b0382166000908152600184016020526040902054610b9157506000610696565b6001600160a01b0382166000908152600184016020526040902054801580610bbc5750600284015481115b15610bcb576000915050610696565b6002840154811015610c84576002840180546000198101908110610beb57fe5b6000918252602090912001546002850180546001600160a01b03909216916000198401908110610c1757fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080846001016000866002016001850381548110610c5e57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6002840180546000190190610c999082610d8e565b5050506001600160a01b0316600090815260208281526040808320839055600193840190915281205590565b600082820183811015610cd757600080fd5b9392505050565b60006001600160a01b038316610cf357600080fd5b6001600160a01b0383166000908152600185016020526040902054610d6b5750600283018054600180820183556000838152602080822090930180546001600160a01b0319166001600160a01b0388169081179091559354938152908601825260408082209390935590859052908120829055610cd7565b506001600160a01b03919091166000908152602092909252604090912055600190565b81548183558181111561048c5760008381526020902061048c91810190830161068091905b80821115610dc75760008155600101610db3565b509056fea165627a7a7230582069347324d0288efd4bbc471565fedfd9ce4afba9b5f98e93e439f7c208c34b540029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000554ffc77f4251a9fb3c0e3590a6a205f8d4e067d
-----Decoded View---------------
Arg [0] : _token (address): 0x554FFc77F4251a9fB3c0E3590a6a205f8d4e067D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000554ffc77f4251a9fb3c0e3590a6a205f8d4e067d
Deployed Bytecode Sourcemap
6121:5942:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6121:5942:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:295;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10759:295:0;;:::i;:::-;;;;;;;;;;;;;;;;6726:36;;;:::i;11106:361::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11106:361:0;-1:-1:-1;;;;;11106:361:0;;:::i;:::-;;10452:295;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10452:295:0;;:::i;:::-;;;;-1:-1:-1;;;;;10452:295:0;;;;;;;;;;;;;;11818:242;;;:::i;7879:119::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;8225:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8225:126:0;-1:-1:-1;;;;;8225:126:0;;:::i;6571:33::-;;;:::i;5267:20::-;;;:::i;7716:151::-;;;:::i;10132:308::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10132:308:0;;:::i;8533:603::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8533:603:0;;:::i;9678:124::-;;;:::i;8122:91::-;;;:::i;9814:306::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9814:306:0;;:::i;8010:100::-;;;:::i;6643:31::-;;;:::i;5922:192::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5922:192:0;-1:-1:-1;;;;;5922:192:0;;:::i;6346:19::-;;;:::i;9225:394::-;;;:::i;10759:295::-;10834:7;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;10922:5;10899:20;:13;:18;:20::i;:::-;:28;10896:151;;;10950:46;10968:27;:13;10989:5;10968:27;:20;:27;:::i;:::-;10950:13;;:46;:17;:46;:::i;:::-;10943:53;;;;10896:151;-1:-1:-1;11034:1:0;10896:151;10759:295;;;:::o;6726:36::-;;;;:::o;11106:361::-;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;11187:14;11204:29;:15;11224:8;11204:29;:19;:29;:::i;:::-;11187:46;;11261:1;11252:6;:10;11244:19;;;;;;11282:5;;:30;;;-1:-1:-1;;;;;11282:30:0;;11306:4;11282:30;;;;;;11316:6;;-1:-1:-1;;;;;11282:5:0;;:15;;:30;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;11282:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11282:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11282:30:0;:40;;11274:49;;;;;;11346:5;;:32;;;-1:-1:-1;;;;;11346:32:0;;-1:-1:-1;;;;;11346:32:0;;;;;;;;;;;;;;;:5;;;;;:14;;:32;;;;;;;;;;;;;;:5;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;11346:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11346:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11427:32:0;;-1:-1:-1;11427:15:0;11450:8;11427:32;:22;:32;:::i;:::-;;5736:1;11106:361;:::o;10452:295::-;10529:7;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;10625:5;10602:20;:13;:18;:20::i;:::-;:28;10599:141;;;10653:27;:13;10674:5;10653:27;:20;:27;:::i;11818:242::-;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;11906:22;:15;:20;:22::i;:::-;:27;11898:36;;;;;;11953:5;;:30;;;-1:-1:-1;;;;;11953:30:0;;11977:4;11953:30;;;;;;11986:1;;-1:-1:-1;;;;;11953:5:0;;:15;;:30;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;11953:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11953:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11953:30:0;:34;11945:43;;;;;;11999:5;;;12014;12021:30;;;-1:-1:-1;;;;;12021:30:0;;12045:4;12021:30;;;;;;-1:-1:-1;;;;;11999:5:0;;;;:14;;12014:5;;11999;;12021:15;;:30;;;;;;;;;;;;;;;11999:5;12021:30;;;5:2:-1;;;;30:1;27;20:12;5:2;12021:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12021:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12021:30:0;11999:53;;;;;;;;;;-1:-1:-1;;;;;11999:53:0;;;;;;;;;;;;;;;;;;;;12021:30;;11999:53;;;;;;;-1:-1:-1;11999:53:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;11999:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11999:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;11818:242:0:o;7879:119::-;7968:21;;7949:15;:40;;7879:119;;:::o;8225:126::-;8290:7;8316:27;:13;8334:8;8316:27;:17;:27;:::i;:::-;8309:34;8225:126;-1:-1:-1;;8225:126:0:o;6571:33::-;;;;:::o;5267:20::-;;;-1:-1:-1;;;;;5267:20:0;;:::o;7716:151::-;7758:4;7804:15;7782:18;;:37;;:76;;;;;7842:16;;7823:15;:35;;7782:76;7774:85;;7716:151;:::o;10132:308::-;10214:7;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;10304:5;10279:22;:15;:20;:22::i;:::-;:30;10276:157;;;10332:50;10352:29;:15;10375:5;10352:29;:22;:29;:::i;:::-;10332:15;;:50;:19;:50;:::i;8533:603::-;7493:11;:9;:11::i;:::-;7485:20;;;;;;8607:5;;:27;;;-1:-1:-1;;;;;8607:27:0;;8623:10;8607:27;;;;;;8638:6;;-1:-1:-1;;;;;8607:5:0;;:15;;:27;;;;;;;;;;;;;;:5;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;8607:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8607:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8607:27:0;:37;;8599:46;;;;;;8715:5;;:53;;;-1:-1:-1;;;;;8715:53:0;;8734:10;8715:53;;;;8754:4;8715:53;;;;;;;;;;;;-1:-1:-1;;;;;8715:5:0;;;;:18;;:53;;;;;;;;;;;;;;;:5;;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;8715:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8715:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8827:17:0;;-1:-1:-1;8847:41:0;8881:6;8847:29;:13;8865:10;8847:29;:17;:29;:::i;:::-;:33;:41;:33;:41;:::i;:::-;8827:61;-1:-1:-1;8933:45:0;:15;8956:10;8827:61;8933:45;:22;:45;:::i;:::-;-1:-1:-1;8989:43:0;:13;9010:10;9022:9;8989:43;:20;:43;:::i;:::-;-1:-1:-1;9106:10:0;;:22;;9121:6;9106:22;:14;:22;:::i;:::-;9093:10;:35;-1:-1:-1;;8533:603:0:o;9678:124::-;9746:7;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;9772:22;:15;:20;:22::i;8122:91::-;8195:10;;8122:91;:::o;9814:306::-;9898:7;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;9996:5;9971:22;:15;:20;:22::i;:::-;:30;9968:145;;;10024:29;:15;10047:5;10024:29;:22;:29;:::i;8010:100::-;8056:7;8082:20;:13;:18;:20::i;6643:31::-;;;;:::o;5922:192::-;5719:5;;-1:-1:-1;;;;;5719:5:0;5705:10;:19;5697:28;;;;;;-1:-1:-1;;;;;6003:22:0;;5995:31;;;;;;6063:5;;;6042:37;;-1:-1:-1;;;;;6042:37:0;;;;6063:5;;;6042:37;;;6090:5;:16;;-1:-1:-1;;;;;;6090:16:0;-1:-1:-1;;;;;6090:16:0;;;;;;;;;;5922:192::o;6346:19::-;;;-1:-1:-1;;;;;6346:19:0;;:::o;9225:394::-;7622:15;:13;:15::i;:::-;7614:24;;;;;;9291:14;9308:31;:15;9328:10;9308:31;:19;:31;:::i;:::-;9291:48;;9367:1;9358:6;:10;9350:19;;;;;;9388:5;;:30;;;-1:-1:-1;;;;;9388:30:0;;9412:4;9388:30;;;;;;9422:6;;-1:-1:-1;;;;;9388:5:0;;:15;;:30;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;9388:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9388:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9388:30:0;:40;;9380:49;;;;;;9494:5;;:34;;;-1:-1:-1;;;;;9494:34:0;;9509:10;9494:34;;;;;;;;;;;;-1:-1:-1;;;;;9494:5:0;;;;:14;;:34;;;;;;;;;;;;;;;:5;;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;9494:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9494:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9577:34:0;;-1:-1:-1;9577:15:0;9600:10;9577:34;:22;:34;:::i;2625:110::-;2708:12;;:19;;2625:110::o;2912:225::-;3028:12;;;:19;2986:7;;3019:28;;3016:86;;;3070:4;:12;;3083:6;3070:20;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3070:20:0;;-1:-1:-1;3063:27:0;;3016:86;-1:-1:-1;3127:1:0;2912:225;;;;:::o;2745:132::-;-1:-1:-1;;;;;2845:24:0;2818:7;2845:24;;;;;;;;;;;;;2745:132::o;1546:909::-;1617:12;-1:-1:-1;;;;;1659:22:0;;1651:31;;;;;;-1:-1:-1;;;;;1731:25:0;;;;;;:15;;;:25;;;;;;1728:76;;-1:-1:-1;1784:5:0;1777:12;;1728:76;-1:-1:-1;;;;;1846:25:0;;1824:19;1846:25;;;:15;;;:25;;;;;;1885:16;;;:53;;-1:-1:-1;1919:12:0;;;:19;1905:33;;1885:53;1882:96;;;1961:5;1954:12;;;;;1882:96;2089:12;;;:19;2075:33;;2071:226;;;2177:12;;;2190:19;;-1:-1:-1;;2190:21:0;;;2177:35;;;;;;;;;;;;;;;;2147:12;;;:27;;-1:-1:-1;;;;;2177:35:0;;;;-1:-1:-1;;2160:13:0;;;2147:27;;;;;;;;;;;;;;:65;;;;;-1:-1:-1;;;;;2147:65:0;;;;;-1:-1:-1;;;;;2147:65:0;;;;;;2274:11;2227:4;:15;;:44;2243:4;:12;;2268:1;2256:11;:13;2243:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2243:27:0;2227:44;;;;;;;;;;;;:58;2071:226;2307:12;;;:24;;-1:-1:-1;;2307:24:0;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;2349:24:0;:14;:24;;;;;;;;;;;2342:31;;;2391:15;;;;:25;;;;;2384:32;2391:15;1546:909::o;4606:150::-;4664:7;4696:5;;;4720:6;;;;4712:15;;;;;;4747:1;4606:150;-1:-1:-1;;;4606:150:0:o;995:539::-;1082:13;-1:-1:-1;;;;;1124:22:0;;1116:31;;;;;;-1:-1:-1;;;;;1171:25:0;;;;;;:15;;;:25;;;;;;1168:263;;-1:-1:-1;1255:12:0;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;1255:27:0;;;;;;;;;;;;-1:-1:-1;;;;;;1255:27:0;-1:-1:-1;;;;;1255:27:0;;;;;;;;1325:19;;1297:25;;;:15;;;:25;;;;;;:47;;;;1359:24;;;;;;;:33;;;1407:12;;1168:263;-1:-1:-1;;;;;;1471:24:0;;;;:14;:24;;;;;;;;;;;;:33;1522:4;;995:539::o;6121:5942::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://69347324d0288efd4bbc471565fedfd9ce4afba9b5f98e93e439f7c208c34b54
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.