Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
2,774,329 NTOK
Holders
10,896
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
6.412825651 NTOKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
NTOKTokenContract
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-01 */ pragma solidity ^0.4.24; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } contract Claimable is Ownable { address public pendingOwner; modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } function transferOwnership(address newOwner) onlyOwner public { pendingOwner = newOwner; } function claimOwnership() onlyPendingOwner public { emit OwnershipTransferred(owner, pendingOwner); owner = pendingOwner; pendingOwner = address(0); } } contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; function totalSupply() public view returns (uint256) { return totalSupply_; } function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } library SafeERC20 { function safeTransfer(ERC20Basic token, address to, uint256 value) internal { require(token.transfer(to, value)); } function safeTransferFrom( ERC20 token, address from, address to, uint256 value ) internal { require(token.transferFrom(from, to, value)); } function safeApprove(ERC20 token, address spender, uint256 value) internal { require(token.approve(spender, value)); } } contract CanReclaimToken is Ownable { using SafeERC20 for ERC20Basic; function reclaimToken(ERC20Basic token) external onlyOwner { uint256 balance = token.balanceOf(this); token.safeTransfer(owner, balance); } } contract BurnableToken is BasicToken { event Burn(address indexed burner, uint256 value); function burn(uint256 _value) public { _burn(msg.sender, _value); } function _burn(address _who, uint256 _value) internal { require(_value <= balances[_who]); balances[_who] = balances[_who].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(_who, _value); emit Transfer(_who, address(0), _value); } } library Roles { struct Role { mapping (address => bool) bearer; } function add(Role storage role, address addr) internal { role.bearer[addr] = true; } function remove(Role storage role, address addr) internal { role.bearer[addr] = false; } function check(Role storage role, address addr) view internal { require(has(role, addr)); } function has(Role storage role, address addr) view internal returns (bool) { return role.bearer[addr]; } } contract RBAC { using Roles for Roles.Role; mapping (string => Roles.Role) private roles; event RoleAdded(address indexed operator, string role); event RoleRemoved(address indexed operator, string role); function checkRole(address _operator, string _role) view public { roles[_role].check(_operator); } function hasRole(address _operator, string _role) view public returns (bool) { return roles[_role].has(_operator); } function addRole(address _operator, string _role) internal { roles[_role].add(_operator); emit RoleAdded(_operator, _role); } function removeRole(address _operator, string _role) internal { roles[_role].remove(_operator); emit RoleRemoved(_operator, _role); } modifier onlyRole(string _role) { checkRole(msg.sender, _role); _; } } contract Whitelist is Ownable, RBAC { string public constant ROLE_WHITELISTED = "whitelist"; modifier onlyIfWhitelisted(address _operator) { checkRole(_operator, ROLE_WHITELISTED); _; } function addAddressToWhitelist(address _operator) onlyOwner public { addRole(_operator, ROLE_WHITELISTED); } function whitelist(address _operator) public view returns (bool) { return hasRole(_operator, ROLE_WHITELISTED); } function addAddressesToWhitelist(address[] _operators) onlyOwner public { for (uint256 i = 0; i < _operators.length; i++) { addAddressToWhitelist(_operators[i]); } } function removeAddressFromWhitelist(address _operator) onlyOwner public { removeRole(_operator, ROLE_WHITELISTED); } function removeAddressesFromWhitelist(address[] _operators) onlyOwner public { for (uint256 i = 0; i < _operators.length; i++) { removeAddressFromWhitelist(_operators[i]); } } } contract DateKernel { uint256 public unlockTime; constructor(uint256 _time) public { unlockTime = _time; } function determineDate() internal view returns (uint256 v) { uint256 n = now; uint256 ut = unlockTime; uint256 mo = 30 * 1 days; uint8 p = 10; assembly { if sgt(n, ut) { if or(slt(sub(n, ut), mo), eq(sub(n, ut), mo)) { v := 1 } if sgt(sub(n, ut), mo) { v := add(div(sub(n, ut), mo), 1) } if or(eq(v, p), sgt(v, p)) { v := p } } } } } contract Distributable is StandardToken, Ownable, Whitelist, DateKernel { using SafeMath for uint; event Distributed(uint256 amount); event MemberUpdated(address member, uint256 balance); struct member { uint256 lastWithdrawal; uint256 tokensTotal; uint256 tokensLeft; } mapping (address => member) public teams; function _transfer(address _from, address _to, uint256 _value) private returns (bool) { require(_value <= balances[_from]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(_from, _to, _value); return true; } function updateMember(address _who, uint256 _last, uint256 _total, uint256 _left) internal returns (bool) { teams[_who] = member(_last, _total, _left); emit MemberUpdated(_who, _left); return true; } function airdrop(address[] dests, uint256[] values) public onlyOwner { require(dests.length == values.length); for (uint256 i = 0; i < dests.length; i++) { transfer(dests[i], values[i]); } } function distributeTokens(address[] _member, uint256[] _amount) onlyOwner public returns (bool) { require(_member.length == _amount.length); for (uint256 i = 0; i < _member.length; i++) { updateMember(_member[i], 0, _amount[i], _amount[i]); addAddressToWhitelist(_member[i]); } emit Distributed(_member.length); return true; } function rewardController(address _member) internal returns (uint256) { member storage mbr = teams[_member]; require(mbr.tokensLeft > 0, "You've spent your share"); uint256 multiplier; uint256 callback; uint256 curDate = determineDate(); uint256 lastDate = mbr.lastWithdrawal; if(curDate > lastDate) { multiplier = curDate.sub(lastDate); } else if(curDate == lastDate) { revert("Its no time"); } if(mbr.tokensTotal >= mbr.tokensLeft && mbr.tokensTotal > 0) { if(curDate == 10) { callback = mbr.tokensLeft; } else { callback = multiplier.mul((mbr.tokensTotal).div(10)); } } updateMember( _member, curDate, mbr.tokensTotal, mbr.tokensLeft.sub(callback) ); return callback; } function getDistributedToken() public onlyIfWhitelisted(msg.sender) returns(bool) { require(unlockTime > now); uint256 amount = rewardController(msg.sender); _transfer(this, msg.sender, amount); return true; } } contract NTOKTokenContract is Distributable, BurnableToken, CanReclaimToken, Claimable { string public name; string public symbol; uint8 public decimals; uint256 public INITIAL_SUPPLY; constructor() public DateKernel(1541030400) { name = "NTOK Token Contract"; symbol = "NTOK"; decimals = 18; INITIAL_SUPPLY = 33000000 * 10 ** uint256(decimals); totalSupply_ = INITIAL_SUPPLY; balances[msg.sender] = INITIAL_SUPPLY; emit Transfer(address(0), msg.sender, INITIAL_SUPPLY); } function() external { revert("Does not accept ether"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_operator","type":"address"},{"name":"_role","type":"string"}],"name":"checkRole","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ROLE_WHITELISTED","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_operator","type":"address"},{"name":"_role","type":"string"}],"name":"hasRole","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operators","type":"address[]"}],"name":"removeAddressesFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unlockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getDistributedToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"}],"name":"removeAddressFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_member","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"name":"distributeTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"dests","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"}],"name":"addAddressToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_operator","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"teams","outputs":[{"name":"lastWithdrawal","type":"uint256"},{"name":"tokensTotal","type":"uint256"},{"name":"tokensLeft","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operators","type":"address[]"}],"name":"addAddressesToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"member","type":"address"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"MemberUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"role","type":"string"}],"name":"RoleAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"role","type":"string"}],"name":"RoleRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060038054600160a060020a03191633179055635bda42006005556040805180820190915260138082527f4e544f4b20546f6b656e20436f6e747261637400000000000000000000000000602090920191825262000072916008916200012c565b506040805180820190915260048082527f4e544f4b000000000000000000000000000000000000000000000000000000006020909201918252620000b9916009916200012c565b50600a8054601260ff199091161780825560ff16900a6301f78a4002600b819055600181905533600081815260208181526040808320859055805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016f57805160ff19168380011785556200019f565b828001600101855582156200019f579182015b828111156200019f57825182559160200191906001019062000182565b50620001ad929150620001b1565b5090565b620001ce91905b80821115620001ad5760008155600101620001b8565b90565b611c8780620001e16000396000f3006080604052600436106101955763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610209578063095ea7b3146102935780630988ca8c146102cb57806317ffc3201461033457806318160ddd1461035557806318b919e91461037c578063217fe6c61461039157806323b872dd146103f857806324953eaa14610422578063251c1aa31461047757806327d6ba211461048c578063286dd3f5146104a15780632ff2e9dc146104c2578063313ce567146104d757806342966c68146105025780634bd09c2a1461051a5780634e71e0c8146105a857806366188463146105bd57806367243482146105e157806370a082311461066f578063715018a6146106905780637b9417c8146106a55780638da5cb5b146106c657806395d89b41146106f75780639b19251a1461070c578063a9059cbb1461072d578063c458324014610751578063d73dd62314610790578063dd62ed3e146107b4578063e2ec6ec3146107db578063e30c397814610830578063f2fde38b14610845575b3480156101a157600080fd5b50604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f446f6573206e6f74206163636570742065746865720000000000000000000000604482015290519081900360640190fd5b34801561021557600080fd5b5061021e610866565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610258578181015183820152602001610240565b50505050905090810190601f1680156102855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029f57600080fd5b506102b7600160a060020a03600435166024356108f4565b604080519115158252519081900360200190f35b3480156102d757600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610332958335600160a060020a031695369560449491939091019190819084018382808284375094975061095b9650505050505050565b005b34801561034057600080fd5b50610332600160a060020a03600435166109c9565b34801561036157600080fd5b5061036a610a93565b60408051918252519081900360200190f35b34801561038857600080fd5b5061021e610a99565b34801561039d57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526102b7958335600160a060020a0316953695604494919390910191908190840183828082843750949750610abe9650505050505050565b34801561040457600080fd5b506102b7600160a060020a0360043581169060243516604435610b31565b34801561042e57600080fd5b506040805160206004803580820135838102808601850190965280855261033295369593946024949385019291829185019084908082843750949750610c949650505050505050565b34801561048357600080fd5b5061036a610ce3565b34801561049857600080fd5b506102b7610ce9565b3480156104ad57600080fd5b50610332600160a060020a0360043516610d48565b3480156104ce57600080fd5b5061036a610d8f565b3480156104e357600080fd5b506104ec610d95565b6040805160ff9092168252519081900360200190f35b34801561050e57600080fd5b50610332600435610d9e565b34801561052657600080fd5b50604080516020600480358082013583810280860185019096528085526102b795369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610da89650505050505050565b3480156105b457600080fd5b50610332610e98565b3480156105c957600080fd5b506102b7600160a060020a0360043516602435610f22565b3480156105ed57600080fd5b506040805160206004803580820135838102808601850190965280855261033295369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506110119650505050505050565b34801561067b57600080fd5b5061036a600160a060020a036004351661108c565b34801561069c57600080fd5b506103326110a7565b3480156106b157600080fd5b50610332600160a060020a0360043516611115565b3480156106d257600080fd5b506106db611159565b60408051600160a060020a039092168252519081900360200190f35b34801561070357600080fd5b5061021e611168565b34801561071857600080fd5b506102b7600160a060020a03600435166111c3565b34801561073957600080fd5b506102b7600160a060020a03600435166024356111f2565b34801561075d57600080fd5b50610772600160a060020a03600435166112bf565b60408051938452602084019290925282820152519081900360600190f35b34801561079c57600080fd5b506102b7600160a060020a03600435166024356112e0565b3480156107c057600080fd5b5061036a600160a060020a0360043581169060243516611379565b3480156107e757600080fd5b5060408051602060048035808201358381028086018501909652808552610332953695939460249493850192918291850190849080828437509497506113a49650505050505050565b34801561083c57600080fd5b506106db6113e4565b34801561085157600080fd5b50610332600160a060020a03600435166113f3565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6109c5826004836040518082805190602001908083835b602083106109915780518252601f199092019160209182019101610972565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611439565b5050565b600354600090600160a060020a031633146109e357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d6020811015610a6e57600080fd5b50516003549091506109c590600160a060020a0384811691168363ffffffff61144e16565b60015490565b6040805180820190915260098152600080516020611c1c833981519152602082015281565b6000610b2a836004846040518082805190602001908083835b60208310610af65780518252601f199092019160209182019101610ad7565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611501565b9392505050565b600160a060020a038316600090815260208190526040812054821115610b5657600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610b8657600080fd5b600160a060020a0383161515610b9b57600080fd5b600160a060020a038416600090815260208190526040902054610bc4908363ffffffff61152016565b600160a060020a038086166000908152602081905260408082209390935590851681522054610bf9908363ffffffff61153216565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610c3b908363ffffffff61152016565b600160a060020a0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611c3c833981519152929181900390910190a35060019392505050565b600354600090600160a060020a03163314610cae57600080fd5b5060005b81518110156109c557610cdb8282815181101515610ccc57fe5b90602001906020020151610d48565b600101610cb2565b60055481565b60008033610d1a81604080519081016040528060098152602001600080516020611c1c83398151915281525061095b565b6005544210610d2857600080fd5b610d313361153f565b9150610d3e303384611700565b5060019250505090565b600354600160a060020a03163314610d5f57600080fd5b610d8c81604080519081016040528060098152602001600080516020611c1c8339815191528152506117e5565b50565b600b5481565b600a5460ff1681565b610d8c33826118f6565b6003546000908190600160a060020a03163314610dc457600080fd5b8251845114610dd257600080fd5b5060005b8351811015610e5a57610e318482815181101515610df057fe5b9060200190602002015160008584815181101515610e0a57fe5b906020019060200201518685815181101515610e2257fe5b906020019060200201516119e5565b50610e528482815181101515610e4357fe5b90602001906020020151611115565b600101610dd6565b835160408051918252517fddc9c30275a04c48091f24199f9c405765de34d979d6847f5b9798a57232d2e59181900360200190a15060019392505050565b600754600160a060020a03163314610eaf57600080fd5b600754600354604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610f7657336000908152600260209081526040808320600160a060020a0388168452909152812055610fab565b610f86818463ffffffff61152016565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600354600090600160a060020a0316331461102b57600080fd5b815183511461103957600080fd5b5060005b82518110156110875761107e838281518110151561105757fe5b90602001906020020151838381518110151561106f57fe5b906020019060200201516111f2565b5060010161103d565b505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a031633146110be57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a0316331461112c57600080fd5b610d8c81604080519081016040528060098152602001600080516020611c1c833981519152815250611a6e565b600354600160a060020a031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ec5780601f106108c1576101008083540402835291602001916108ec565b600061095582604080519081016040528060098152602001600080516020611c1c833981519152815250610abe565b3360009081526020819052604081205482111561120e57600080fd5b600160a060020a038316151561122357600080fd5b33600090815260208190526040902054611243908363ffffffff61152016565b3360009081526020819052604080822092909255600160a060020a03851681522054611275908363ffffffff61153216565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611c3c8339815191529281900390910190a350600192915050565b60066020526000908152604090208054600182015460029092015490919083565b336000908152600260209081526040808320600160a060020a0386168452909152812054611314908363ffffffff61153216565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600090600160a060020a031633146113be57600080fd5b5060005b81518110156109c5576113dc8282815181101515610e4357fe5b6001016113c2565b600754600160a060020a031681565b600354600160a060020a0316331461140a57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6114438282611501565b15156109c557600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156114ca57600080fd5b505af11580156114de573d6000803e3d6000fd5b505050506040513d60208110156114f457600080fd5b5051151561108757600080fd5b600160a060020a03166000908152602091909152604090205460ff1690565b60008282111561152c57fe5b50900390565b8181018281101561095557fe5b600160a060020a03811660009081526006602052604081206002810154829081908190819081106115d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f596f75277665207370656e7420796f7572207368617265000000000000000000604482015290519081900360640190fd5b6115d9611b40565b85549092509050808211156115ff576115f8828263ffffffff61152016565b935061166e565b8082141561166e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f497473206e6f2074696d65000000000000000000000000000000000000000000604482015290519081900360640190fd5b846002015485600101541015801561168a575060008560010154115b156116ce5781600a14156116a457846002015492506116ce565b60018501546116cb906116be90600a63ffffffff611b9616565b859063ffffffff611bab16565b92505b6116f4878387600101546116ef878a6002015461152090919063ffffffff16565b6119e5565b50919695505050505050565b600160a060020a03831660009081526020819052604081205482111561172557600080fd5b600160a060020a038316151561173a57600080fd5b600160a060020a038416600090815260208190526040902054611763908363ffffffff61152016565b600160a060020a038086166000908152602081905260408082209390935590851681522054611798908363ffffffff61153216565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919392881692600080516020611c3c83398151915292918290030190a35060019392505050565b61184f826004836040518082805190602001908083835b6020831061181b5780518252601f1990920191602091820191016117fc565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611bd4565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b838110156118b85781810151838201526020016118a0565b50505050905090810190601f1680156118e55780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600160a060020a03821660009081526020819052604090205481111561191b57600080fd5b600160a060020a038216600090815260208190526040902054611944908263ffffffff61152016565b600160a060020a038316600090815260208190526040902055600154611970908263ffffffff61152016565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611c3c8339815191529181900360200190a35050565b604080516060810182528481526020808201858152828401858152600160a060020a038916600081815260068552868120955186559251600186015590516002909401939093558351928352908201849052825190927f721b01fe9b63fefb91c981e165c04d96058511dc990901f8d80c37dd2f6f695e928290030190a1506001949350505050565b611ad8826004836040518082805190602001908083835b60208310611aa45780518252601f199092019160209182019101611a85565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611bf6565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b70048982604051808060200182810382528381815181526020019150805190602001908083836000838110156118b85781810151838201526020016118a0565b600554600090429062278d00600a82841315611b8f578284038281129083141715611b6a57600194505b818385031315611b7f57600182848603040194505b8085138186141715611b8f578094505b5050505090565b60008183811515611ba357fe5b049392505050565b6000821515611bbc57506000610955565b50818102818382811515611bcc57fe5b041461095557fe5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0316600090815260209190915260409020805460ff19166001179055560077686974656c6973740000000000000000000000000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058202d1ab0b4db07b4b323daf78367917d789e8f1b2ae3c45f194bf783badb7883650029
Deployed Bytecode
0x6080604052600436106101955763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610209578063095ea7b3146102935780630988ca8c146102cb57806317ffc3201461033457806318160ddd1461035557806318b919e91461037c578063217fe6c61461039157806323b872dd146103f857806324953eaa14610422578063251c1aa31461047757806327d6ba211461048c578063286dd3f5146104a15780632ff2e9dc146104c2578063313ce567146104d757806342966c68146105025780634bd09c2a1461051a5780634e71e0c8146105a857806366188463146105bd57806367243482146105e157806370a082311461066f578063715018a6146106905780637b9417c8146106a55780638da5cb5b146106c657806395d89b41146106f75780639b19251a1461070c578063a9059cbb1461072d578063c458324014610751578063d73dd62314610790578063dd62ed3e146107b4578063e2ec6ec3146107db578063e30c397814610830578063f2fde38b14610845575b3480156101a157600080fd5b50604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f446f6573206e6f74206163636570742065746865720000000000000000000000604482015290519081900360640190fd5b34801561021557600080fd5b5061021e610866565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610258578181015183820152602001610240565b50505050905090810190601f1680156102855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029f57600080fd5b506102b7600160a060020a03600435166024356108f4565b604080519115158252519081900360200190f35b3480156102d757600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610332958335600160a060020a031695369560449491939091019190819084018382808284375094975061095b9650505050505050565b005b34801561034057600080fd5b50610332600160a060020a03600435166109c9565b34801561036157600080fd5b5061036a610a93565b60408051918252519081900360200190f35b34801561038857600080fd5b5061021e610a99565b34801561039d57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526102b7958335600160a060020a0316953695604494919390910191908190840183828082843750949750610abe9650505050505050565b34801561040457600080fd5b506102b7600160a060020a0360043581169060243516604435610b31565b34801561042e57600080fd5b506040805160206004803580820135838102808601850190965280855261033295369593946024949385019291829185019084908082843750949750610c949650505050505050565b34801561048357600080fd5b5061036a610ce3565b34801561049857600080fd5b506102b7610ce9565b3480156104ad57600080fd5b50610332600160a060020a0360043516610d48565b3480156104ce57600080fd5b5061036a610d8f565b3480156104e357600080fd5b506104ec610d95565b6040805160ff9092168252519081900360200190f35b34801561050e57600080fd5b50610332600435610d9e565b34801561052657600080fd5b50604080516020600480358082013583810280860185019096528085526102b795369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610da89650505050505050565b3480156105b457600080fd5b50610332610e98565b3480156105c957600080fd5b506102b7600160a060020a0360043516602435610f22565b3480156105ed57600080fd5b506040805160206004803580820135838102808601850190965280855261033295369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506110119650505050505050565b34801561067b57600080fd5b5061036a600160a060020a036004351661108c565b34801561069c57600080fd5b506103326110a7565b3480156106b157600080fd5b50610332600160a060020a0360043516611115565b3480156106d257600080fd5b506106db611159565b60408051600160a060020a039092168252519081900360200190f35b34801561070357600080fd5b5061021e611168565b34801561071857600080fd5b506102b7600160a060020a03600435166111c3565b34801561073957600080fd5b506102b7600160a060020a03600435166024356111f2565b34801561075d57600080fd5b50610772600160a060020a03600435166112bf565b60408051938452602084019290925282820152519081900360600190f35b34801561079c57600080fd5b506102b7600160a060020a03600435166024356112e0565b3480156107c057600080fd5b5061036a600160a060020a0360043581169060243516611379565b3480156107e757600080fd5b5060408051602060048035808201358381028086018501909652808552610332953695939460249493850192918291850190849080828437509497506113a49650505050505050565b34801561083c57600080fd5b506106db6113e4565b34801561085157600080fd5b50610332600160a060020a03600435166113f3565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6109c5826004836040518082805190602001908083835b602083106109915780518252601f199092019160209182019101610972565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611439565b5050565b600354600090600160a060020a031633146109e357600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b505050506040513d6020811015610a6e57600080fd5b50516003549091506109c590600160a060020a0384811691168363ffffffff61144e16565b60015490565b6040805180820190915260098152600080516020611c1c833981519152602082015281565b6000610b2a836004846040518082805190602001908083835b60208310610af65780518252601f199092019160209182019101610ad7565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611501565b9392505050565b600160a060020a038316600090815260208190526040812054821115610b5657600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610b8657600080fd5b600160a060020a0383161515610b9b57600080fd5b600160a060020a038416600090815260208190526040902054610bc4908363ffffffff61152016565b600160a060020a038086166000908152602081905260408082209390935590851681522054610bf9908363ffffffff61153216565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610c3b908363ffffffff61152016565b600160a060020a0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611c3c833981519152929181900390910190a35060019392505050565b600354600090600160a060020a03163314610cae57600080fd5b5060005b81518110156109c557610cdb8282815181101515610ccc57fe5b90602001906020020151610d48565b600101610cb2565b60055481565b60008033610d1a81604080519081016040528060098152602001600080516020611c1c83398151915281525061095b565b6005544210610d2857600080fd5b610d313361153f565b9150610d3e303384611700565b5060019250505090565b600354600160a060020a03163314610d5f57600080fd5b610d8c81604080519081016040528060098152602001600080516020611c1c8339815191528152506117e5565b50565b600b5481565b600a5460ff1681565b610d8c33826118f6565b6003546000908190600160a060020a03163314610dc457600080fd5b8251845114610dd257600080fd5b5060005b8351811015610e5a57610e318482815181101515610df057fe5b9060200190602002015160008584815181101515610e0a57fe5b906020019060200201518685815181101515610e2257fe5b906020019060200201516119e5565b50610e528482815181101515610e4357fe5b90602001906020020151611115565b600101610dd6565b835160408051918252517fddc9c30275a04c48091f24199f9c405765de34d979d6847f5b9798a57232d2e59181900360200190a15060019392505050565b600754600160a060020a03163314610eaf57600080fd5b600754600354604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610f7657336000908152600260209081526040808320600160a060020a0388168452909152812055610fab565b610f86818463ffffffff61152016565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600354600090600160a060020a0316331461102b57600080fd5b815183511461103957600080fd5b5060005b82518110156110875761107e838281518110151561105757fe5b90602001906020020151838381518110151561106f57fe5b906020019060200201516111f2565b5060010161103d565b505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a031633146110be57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a0316331461112c57600080fd5b610d8c81604080519081016040528060098152602001600080516020611c1c833981519152815250611a6e565b600354600160a060020a031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ec5780601f106108c1576101008083540402835291602001916108ec565b600061095582604080519081016040528060098152602001600080516020611c1c833981519152815250610abe565b3360009081526020819052604081205482111561120e57600080fd5b600160a060020a038316151561122357600080fd5b33600090815260208190526040902054611243908363ffffffff61152016565b3360009081526020819052604080822092909255600160a060020a03851681522054611275908363ffffffff61153216565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611c3c8339815191529281900390910190a350600192915050565b60066020526000908152604090208054600182015460029092015490919083565b336000908152600260209081526040808320600160a060020a0386168452909152812054611314908363ffffffff61153216565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600090600160a060020a031633146113be57600080fd5b5060005b81518110156109c5576113dc8282815181101515610e4357fe5b6001016113c2565b600754600160a060020a031681565b600354600160a060020a0316331461140a57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6114438282611501565b15156109c557600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156114ca57600080fd5b505af11580156114de573d6000803e3d6000fd5b505050506040513d60208110156114f457600080fd5b5051151561108757600080fd5b600160a060020a03166000908152602091909152604090205460ff1690565b60008282111561152c57fe5b50900390565b8181018281101561095557fe5b600160a060020a03811660009081526006602052604081206002810154829081908190819081106115d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f596f75277665207370656e7420796f7572207368617265000000000000000000604482015290519081900360640190fd5b6115d9611b40565b85549092509050808211156115ff576115f8828263ffffffff61152016565b935061166e565b8082141561166e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f497473206e6f2074696d65000000000000000000000000000000000000000000604482015290519081900360640190fd5b846002015485600101541015801561168a575060008560010154115b156116ce5781600a14156116a457846002015492506116ce565b60018501546116cb906116be90600a63ffffffff611b9616565b859063ffffffff611bab16565b92505b6116f4878387600101546116ef878a6002015461152090919063ffffffff16565b6119e5565b50919695505050505050565b600160a060020a03831660009081526020819052604081205482111561172557600080fd5b600160a060020a038316151561173a57600080fd5b600160a060020a038416600090815260208190526040902054611763908363ffffffff61152016565b600160a060020a038086166000908152602081905260408082209390935590851681522054611798908363ffffffff61153216565b600160a060020a03808516600081815260208181526040918290209490945580518681529051919392881692600080516020611c3c83398151915292918290030190a35060019392505050565b61184f826004836040518082805190602001908083835b6020831061181b5780518252601f1990920191602091820191016117fc565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611bd4565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b838110156118b85781810151838201526020016118a0565b50505050905090810190601f1680156118e55780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600160a060020a03821660009081526020819052604090205481111561191b57600080fd5b600160a060020a038216600090815260208190526040902054611944908263ffffffff61152016565b600160a060020a038316600090815260208190526040902055600154611970908263ffffffff61152016565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611c3c8339815191529181900360200190a35050565b604080516060810182528481526020808201858152828401858152600160a060020a038916600081815260068552868120955186559251600186015590516002909401939093558351928352908201849052825190927f721b01fe9b63fefb91c981e165c04d96058511dc990901f8d80c37dd2f6f695e928290030190a1506001949350505050565b611ad8826004836040518082805190602001908083835b60208310611aa45780518252601f199092019160209182019101611a85565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611bf6565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b70048982604051808060200182810382528381815181526020019150805190602001908083836000838110156118b85781810151838201526020016118a0565b600554600090429062278d00600a82841315611b8f578284038281129083141715611b6a57600194505b818385031315611b7f57600182848603040194505b8085138186141715611b8f578094505b5050505090565b60008183811515611ba357fe5b049392505050565b6000821515611bbc57506000610955565b50818102818382811515611bcc57fe5b041461095557fe5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0316600090815260209190915260409020805460ff19166001179055560077686974656c6973740000000000000000000000000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058202d1ab0b4db07b4b323daf78367917d789e8f1b2ae3c45f194bf783badb7883650029
Swarm Source
bzzr://2d1ab0b4db07b4b323daf78367917d789e8f1b2ae3c45f194bf783badb788365
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.