ERC-20
Overview
Max Total Supply
600,000,000 SUPMT
Holders
636
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
166,666 SUPMTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Token
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-18 */ pragma solidity ^0.4.18; /* // -- // -- // -- // ___ ___ ___ ___ ___ // /\ \ /\__\ /\ \ /\__\ /\ \ // /::\ \ /:/ _/_ /::\ \ /::L_L_ \:\ \ // /\:\:\__\ /:/_/\__\ /::\:\__\ /:/L:\__\ /::\__\ // \:\:\/__/ \:\/:/ / \/\::/ / \/_/:/ / /:/\/__/ // \::/ / \::/ / \/__/ /:/ / \/__/ // \/__/ \/__/ \/__/ // -- // -- // -- */ // Contract must have an owner contract Owned { address public owner; constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function setOwner(address _owner) onlyOwner public { owner = _owner; } } // SafeMath methods contract SafeMath { function add(uint256 _a, uint256 _b) internal pure returns (uint256) { uint256 c = _a + _b; assert(c >= _a); return c; } function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_a >= _b); return _a - _b; } function mul(uint256 _a, uint256 _b) internal pure returns (uint256) { uint256 c = _a * _b; assert(_a == 0 || c / _a == _b); return c; } } // for safety methods interface ERC20Token { function transfer(address _to, uint256 _value) external returns (bool); function balanceOf(address _addr) external view returns (uint256); function decimals() external view returns (uint8); } // the main ERC20-compliant contract contract Token is SafeMath, Owned { uint256 constant DAY_IN_SECONDS = 86400; string public constant standard = "0.66"; string public name = ""; string public symbol = ""; uint8 public decimals = 0; uint256 public totalSupply = 0; mapping (address => uint256) public balanceP; mapping (address => mapping (address => uint256)) public allowance; mapping (address => uint256[]) public lockTime; mapping (address => uint256[]) public lockValue; mapping (address => uint256) public lockNum; mapping (address => bool) public locker; uint256 public later = 0; uint256 public earlier = 0; // standard ERC20 events event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); // timelock-related events event TransferLocked(address indexed _from, address indexed _to, uint256 _time, uint256 _value); event TokenUnlocked(address indexed _address, uint256 _value); // safety method-related events event WrongTokenEmptied(address indexed _token, address indexed _addr, uint256 _amount); event WrongEtherEmptied(address indexed _addr, uint256 _amount); // constructor for the ERC20 Token constructor(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply) public { require(bytes(_name).length > 0 && bytes(_symbol).length > 0); name = _name; symbol = _symbol; decimals = _decimals; totalSupply = _totalSupply; balanceP[msg.sender] = _totalSupply; } modifier validAddress(address _address) { require(_address != 0x0); _; } // owner may add or remove a locker address for the contract function addLocker(address _address) public validAddress(_address) onlyOwner { locker[_address] = true; } function removeLocker(address _address) public validAddress(_address) onlyOwner { locker[_address] = false; } // fast-forward the timelocks for all accounts function setUnlockEarlier(uint256 _earlier) public onlyOwner { earlier = add(earlier, _earlier); } // delay the timelocks for all accounts function setUnlockLater(uint256 _later) public onlyOwner { later = add(later, _later); } // show unlocked balance of an account function balanceUnlocked(address _address) public view returns (uint256 _balance) { _balance = balanceP[_address]; uint256 i = 0; while (i < lockNum[_address]) { if (add(now, earlier) > add(lockTime[_address][i], later)) _balance = add(_balance, lockValue[_address][i]); i++; } return _balance; } // show timelocked balance of an account function balanceLocked(address _address) public view returns (uint256 _balance) { _balance = 0; uint256 i = 0; while (i < lockNum[_address]) { if (add(now, earlier) < add(lockTime[_address][i], later)) _balance = add(_balance, lockValue[_address][i]); i++; } return _balance; } // standard ERC20 balanceOf with timelock added function balanceOf(address _address) public view returns (uint256 _balance) { _balance = balanceP[_address]; uint256 i = 0; while (i < lockNum[_address]) { _balance = add(_balance, lockValue[_address][i]); i++; } return _balance; } // show timelocks in an account function showTime(address _address) public view validAddress(_address) returns (uint256[] _time) { uint i = 0; uint256[] memory tempLockTime = new uint256[](lockNum[_address]); while (i < lockNum[_address]) { tempLockTime[i] = sub(add(lockTime[_address][i], later), earlier); i++; } return tempLockTime; } // show values locked in an account's timelocks function showValue(address _address) public view validAddress(_address) returns (uint256[] _value) { return lockValue[_address]; } // Calculate and process the timelock states of an account function calcUnlock(address _address) private { uint256 i = 0; uint256 j = 0; uint256[] memory currentLockTime; uint256[] memory currentLockValue; uint256[] memory newLockTime = new uint256[](lockNum[_address]); uint256[] memory newLockValue = new uint256[](lockNum[_address]); currentLockTime = lockTime[_address]; currentLockValue = lockValue[_address]; while (i < lockNum[_address]) { if (add(now, earlier) > add(currentLockTime[i], later)) { balanceP[_address] = add(balanceP[_address], currentLockValue[i]); emit TokenUnlocked(_address, currentLockValue[i]); } else { newLockTime[j] = currentLockTime[i]; newLockValue[j] = currentLockValue[i]; j++; } i++; } uint256[] memory trimLockTime = new uint256[](j); uint256[] memory trimLockValue = new uint256[](j); i = 0; while (i < j) { trimLockTime[i] = newLockTime[i]; trimLockValue[i] = newLockValue[i]; i++; } lockTime[_address] = trimLockTime; lockValue[_address] = trimLockValue; lockNum[_address] = j; } // standard ERC20 transfer function transfer(address _to, uint256 _value) public validAddress(_to) returns (bool success) { if (lockNum[msg.sender] > 0) calcUnlock(msg.sender); if (balanceP[msg.sender] >= _value && _value > 0) { balanceP[msg.sender] = sub(balanceP[msg.sender], _value); balanceP[_to] = add(balanceP[_to], _value); emit Transfer(msg.sender, _to, _value); return true; } else { return false; } } // transfer Token with timelocks function transferLocked(address _to, uint256[] _time, uint256[] _value) public validAddress(_to) returns (bool success) { require(_value.length == _time.length); if (lockNum[msg.sender] > 0) calcUnlock(msg.sender); uint256 i = 0; uint256 totalValue = 0; while (i < _value.length) { totalValue = add(totalValue, _value[i]); i++; } if (balanceP[msg.sender] >= totalValue && totalValue > 0) { i = 0; while (i < _time.length) { balanceP[msg.sender] = sub(balanceP[msg.sender], _value[i]); lockTime[_to].length = lockNum[_to]+1; lockValue[_to].length = lockNum[_to]+1; lockTime[_to][lockNum[_to]] = add(now, _time[i]); lockValue[_to][lockNum[_to]] = _value[i]; // emit custom TransferLocked event emit TransferLocked(msg.sender, _to, lockTime[_to][lockNum[_to]], lockValue[_to][lockNum[_to]]); // emit standard Transfer event for wallets emit Transfer(msg.sender, _to, lockValue[_to][lockNum[_to]]); lockNum[_to]++; i++; } return true; } else { return false; } } // lockers set by owners may transfer Token with timelocks function transferLockedFrom(address _from, address _to, uint256[] _time, uint256[] _value) public validAddress(_from) validAddress(_to) returns (bool success) { require(locker[msg.sender]); require(_value.length == _time.length); if (lockNum[_from] > 0) calcUnlock(_from); uint256 i = 0; uint256 totalValue = 0; while (i < _value.length) { totalValue = add(totalValue, _value[i]); i++; } if (balanceP[_from] >= totalValue && totalValue > 0 && allowance[_from][msg.sender] >= totalValue) { i = 0; while (i < _time.length) { balanceP[_from] = sub(balanceP[_from], _value[i]); allowance[_from][msg.sender] = sub(allowance[_from][msg.sender], _value[i]); lockTime[_to].length = lockNum[_to]+1; lockValue[_to].length = lockNum[_to]+1; lockTime[_to][lockNum[_to]] = add(now, _time[i]); lockValue[_to][lockNum[_to]] = _value[i]; // emit custom TransferLocked event emit TransferLocked(_from, _to, lockTime[_to][lockNum[_to]], lockValue[_to][lockNum[_to]]); // emit standard Transfer event for wallets emit Transfer(_from, _to, lockValue[_to][lockNum[_to]]); lockNum[_to]++; i++; } return true; } else { return false; } } // standard ERC20 transferFrom function transferFrom(address _from, address _to, uint256 _value) public validAddress(_from) validAddress(_to) returns (bool success) { if (lockNum[_from] > 0) calcUnlock(_from); if (balanceP[_from] >= _value && _value > 0 && allowance[_from][msg.sender] >= _value) { allowance[_from][msg.sender] = sub(allowance[_from][msg.sender], _value); balanceP[_from] = sub(balanceP[_from], _value); balanceP[_to] = add(balanceP[_to], _value); emit Transfer(_from, _to, _value); return true; } else { return false; } } // should only be called when first setting an allowance function approve(address _spender, uint256 _value) public validAddress(_spender) returns (bool success) { require(allowance[msg.sender][_spender] == 0); if (lockNum[msg.sender] > 0) calcUnlock(msg.sender); allowance[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } // increase or decrease allowance function increaseApproval(address _spender, uint _value) public returns (bool) { allowance[msg.sender][_spender] = add(allowance[msg.sender][_spender], _value); emit Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint _value) public returns (bool) { if(_value > allowance[msg.sender][_spender]) { allowance[msg.sender][_spender] = 0; } else { allowance[msg.sender][_spender] = sub(allowance[msg.sender][_spender], _value); } emit Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } // safety methods function () public payable { revert(); } function emptyWrongToken(address _addr) onlyOwner public { ERC20Token wrongToken = ERC20Token(_addr); uint256 amount = wrongToken.balanceOf(address(this)); require(amount > 0); require(wrongToken.transfer(msg.sender, amount)); emit WrongTokenEmptied(_addr, msg.sender, amount); } // shouldn't happen, just in case function emptyWrongEther() onlyOwner public { uint256 amount = address(this).balance; require(amount > 0); msg.sender.transfer(amount); emit WrongEtherEmptied(msg.sender, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"balanceUnlocked","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_time","type":"uint256[]"},{"name":"_value","type":"uint256[]"}],"name":"transferLockedFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"showValue","outputs":[{"name":"_value","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addLocker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"balanceLocked","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"earlier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"showTime","outputs":[{"name":"_time","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_time","type":"uint256[]"},{"name":"_value","type":"uint256[]"}],"name":"transferLocked","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"later","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_later","type":"uint256"}],"name":"setUnlockLater","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeLocker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"locker","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"emptyWrongToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"emptyWrongEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_earlier","type":"uint256"}],"name":"setUnlockEarlier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"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":"_time","type":"uint256"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"TransferLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"TokenUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"WrongTokenEmptied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"WrongEtherEmptied","type":"event"}]
Contract Creation Code
60a06040819052600060808190526200001b9160019162000127565b506040805160208101918290526000908190526200003c9160029162000127565b506003805460ff1916905560006004819055600b819055600c553480156200006357600080fd5b5060405162002364380380620023648339810160409081528151602083015191830151606084015160008054600160a060020a0319163317815592850180519095949094019391929091118015620000bc575060008351115b1515620000c857600080fd5b8351620000dd90600190602087019062000127565b508251620000f390600290602086019062000127565b506003805460ff191660ff939093169290921790915560048190553360009081526005602052604090205550620001cc9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016a57805160ff19168380011785556200019a565b828001600101855582156200019a579182015b828111156200019a5782518255916020019190600101906200017d565b50620001a8929150620001ac565b5090565b620001c991905b80821115620001a85760008155600101620001b3565b90565b61218880620001dc6000396000f3006080604052600436106101a05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630451f52081146101a557806306fdde03146101d8578063095ea7b3146102625780630fce887b1461029a57806310e24db51461033e57806313af4035146103af57806316b81889146103d2578063170f8a51146103f357806318160ddd1461041457806323b872dd14610429578063313ce5671461045357806332308cce1461047e57806334af370f146104a257806345cc5890146104c65780635a3b7e42146104e75780635fc3a312146104fc578063661884631461051d57806366fbc1541461054157806370a0823114610556578063885cb436146105775780638da5cb5b1461059857806395d89b41146105c9578063a9059cbb146105de578063b91aedab14610602578063c7cc4ee91461069e578063ca0cd7c0146106b3578063ce62cd4a146106cb578063d71c9c12146106ec578063d72901811461070d578063d73dd6231461072e578063d80b205614610752578063dd62ed3e14610767578063df51d46b1461078e575b600080fd5b3480156101b157600080fd5b506101c6600160a060020a03600435166107a6565b60408051918252519081900360200190f35b3480156101e457600080fd5b506101ed61087a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022757818101518382015260200161020f565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026e57600080fd5b50610286600160a060020a0360043516602435610907565b604080519115158252519081900360200190f35b3480156102a657600080fd5b506040805160206004604435818101358381028086018501909652808552610286958335600160a060020a039081169660248035909216963696956064959294930192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506109d69650505050505050565b34801561034a57600080fd5b5061035f600160a060020a0360043516610dfd565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561039b578181015183820152602001610383565b505050509050019250505060405180910390f35b3480156103bb57600080fd5b506103d0600160a060020a0360043516610e80565b005b3480156103de57600080fd5b506101c6600160a060020a0360043516610ec6565b3480156103ff57600080fd5b506101c6600160a060020a0360043516610ed8565b34801561042057600080fd5b506101c6610eea565b34801561043557600080fd5b50610286600160a060020a0360043581169060243516604435610ef0565b34801561045f57600080fd5b50610468611096565b6040805160ff9092168252519081900360200190f35b34801561048a57600080fd5b506101c6600160a060020a036004351660243561109f565b3480156104ae57600080fd5b506101c6600160a060020a03600435166024356110cf565b3480156104d257600080fd5b506103d0600160a060020a03600435166110ea565b3480156104f357600080fd5b506101ed61113c565b34801561050857600080fd5b506101c6600160a060020a0360043516611173565b34801561052957600080fd5b50610286600160a060020a0360043516602435611207565b34801561054d57600080fd5b506101c6611313565b34801561056257600080fd5b506101c6600160a060020a0360043516611319565b34801561058357600080fd5b5061035f600160a060020a0360043516611388565b3480156105a457600080fd5b506105ad611479565b60408051600160a060020a039092168252519081900360200190f35b3480156105d557600080fd5b506101ed611488565b3480156105ea57600080fd5b50610286600160a060020a03600435166024356114e0565b34801561060e57600080fd5b50604080516020600460248035828101358481028087018601909752808652610286968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506115d69650505050505050565b3480156106aa57600080fd5b506101c661190b565b3480156106bf57600080fd5b506103d0600435611911565b3480156106d757600080fd5b506103d0600160a060020a036004351661193a565b3480156106f857600080fd5b50610286600160a060020a0360043516611989565b34801561071957600080fd5b506103d0600160a060020a036004351661199e565b34801561073a57600080fd5b50610286600160a060020a0360043516602435611b3b565b34801561075e57600080fd5b506103d0611b69565b34801561077357600080fd5b506101c6600160a060020a0360043581169060243516611bf8565b34801561079a57600080fd5b506103d0600435611c15565b600160a060020a038116600090815260056020526040812054905b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a0383166000908152600760205260409020805461081d91908390811061080a57fe5b9060005260206000200154600b54611c3e565b61082942600c54611c3e565b111561086c57600160a060020a038316600090815260086020526040902080546108699184918490811061085957fe5b9060005260206000200154611c3e565b91505b6001016107c1565b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ff5780601f106108d4576101008083540402835291602001916108ff565b820191906000526020600020905b8154815290600101906020018083116108e257829003601f168201915b505050505081565b600082600160a060020a038116151561091f57600080fd5b336000908152600660209081526040808320600160a060020a03881684529091529020541561094d57600080fd5b33600090815260096020526040812054111561096c5761096c33611c54565b336000818152600660209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b6000808086600160a060020a03811615156109f057600080fd5b86600160a060020a0381161515610a0657600080fd5b336000908152600a602052604090205460ff161515610a2457600080fd5b8651865114610a3257600080fd5b600160a060020a0389166000908152600960205260408120541115610a5a57610a5a89611c54565b60009350600092505b8551841015610a9a57610a8d838786815181101515610a7e57fe5b90602001906020020151611c3e565b6001909401939250610a63565b600160a060020a0389166000908152600560205260409020548311801590610ac25750600083115b8015610af15750600160a060020a03891660009081526006602090815260408083203384529091529020548311155b15610dec57600093505b8651841015610de357600160a060020a0389166000908152600560205260409020548651610b3f9190889087908110610b3057fe5b90602001906020020151612099565b600160a060020a038a1660009081526005602090815260408083209390935560068152828220338352905220548651610b7f9190889087908110610b3057fe5b600160a060020a03808b166000908152600660209081526040808320338452825280832094909455918b1681526009825282812054600790925291909120600190910190610bcd90826120ab565b50600160a060020a0388166000908152600960209081526040808320546008909252909120600190910190610c0290826120ab565b50610c15428886815181101515610a7e57fe5b600160a060020a038916600090815260076020908152604080832060099092529091205481548110610c4357fe5b6000918252602090912001558551869085908110610c5d57fe5b6020908102909101810151600160a060020a038a166000908152600883526040808220600990945290205482549192918110610c9557fe5b6000918252602080832090910192909255600160a060020a03808b1680835260078452604080842060099095529092205483549293918d16927f34c966766e471b87b7ce8d0d0358378cf20008a30bbb36246a3413c8a286834e9291908110610cfa57fe5b6000918252602080832090910154600160a060020a038e16835260088252604080842060099093529092205481548110610d3057fe5b6000918252602091829020015460408051938452918301528051918290030190a3600160a060020a038089166000818152600860209081526040808320600990925290912054815492938d169260008051602061213d8339815191529291908110610d9757fe5b90600052602060002001546040518082815260200191505060405180910390a3600160a060020a0388166000908152600960205260409020805460019081019091559390930192610afb565b60019450610df1565b600094505b50505050949350505050565b606081600160a060020a0381161515610e1557600080fd5b600160a060020a03831660009081526008602090815260409182902080548351818402810184019094528084529091830182828015610e7357602002820191906000526020600020905b815481526020019060010190808311610e5f575b5050505050915050919050565b600054600160a060020a03163314610e9757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b60056020526000908152604090205481565b60045481565b600083600160a060020a0381161515610f0857600080fd5b83600160a060020a0381161515610f1e57600080fd5b600160a060020a0386166000908152600960205260408120541115610f4657610f4686611c54565b600160a060020a0386166000908152600560205260409020548411801590610f6e5750600084115b8015610f9d5750600160a060020a03861660009081526006602090815260408083203384529091529020548411155b1561108857600160a060020a0386166000908152600660209081526040808320338452909152902054610fd09085612099565b600160a060020a03871660008181526006602090815260408083203384528252808320949094559181526005909152205461100b9085612099565b600160a060020a03808816600090815260056020526040808220939093559087168152205461103a9085611c3e565b600160a060020a0380871660008181526005602090815260409182902094909455805188815290519193928a169260008051602061213d83398151915292918290030190a36001925061108d565b600092505b50509392505050565b60035460ff1681565b6008602052816000526040600020818154811015156110ba57fe5b90600052602060002001600091509150505481565b6007602052816000526040600020818154811015156110ba57fe5b80600160a060020a038116151561110057600080fd5b600054600160a060020a0316331461111757600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60408051808201909152600481527f302e363600000000000000000000000000000000000000000000000000000000602082015281565b6000805b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a038316600090815260076020526040902080546111c091908390811061080a57fe5b6111cc42600c54611c3e565b10156111ff57600160a060020a038316600090815260086020526040902080546111fc9184918490811061085957fe5b91505b600101611177565b336000908152600660209081526040808320600160a060020a038616845290915281205482111561125b57336000908152600660209081526040808320600160a060020a03871684529091528120556112ae565b336000908152600660209081526040808320600160a060020a03871684529091529020546112899083612099565b336000908152600660209081526040808320600160a060020a03881684529091529020555b336000818152600660209081526040808320600160a060020a0388168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600c5481565b600160a060020a038116600090815260056020526040812054905b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a0383166000908152600860205260409020805461137e9184918490811061085957fe5b9150600101611334565b606060008183600160a060020a03811615156113a357600080fd5b600092506009600086600160a060020a0316600160a060020a03168152602001908152602001600020546040519080825280602002602001820160405280156113f6578160200160208202803883390190505b5091505b600160a060020a03851660009081526009602052604090205483101561147157600160a060020a0385166000908152600760205260409020805461144e91611446918690811061080a57fe5b600c54612099565b828481518110151561145c57fe5b602090810290910101526001909201916113fa565b509392505050565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156108ff5780601f106108d4576101008083540402835291602001916108ff565b600082600160a060020a03811615156114f857600080fd5b3360009081526009602052604081205411156115175761151733611c54565b3360009081526005602052604090205483118015906115365750600083115b156115cd57336000908152600560205260409020546115559084612099565b3360009081526005602052604080822092909255600160a060020a038616815220546115819084611c3e565b600160a060020a03851660008181526005602090815260409182902093909355805186815290519192339260008051602061213d8339815191529281900390910190a3600191506109cf565b600091506109cf565b6000808085600160a060020a03811615156115f057600080fd5b85518551146115fe57600080fd5b33600090815260096020526040812054111561161d5761161d33611c54565b60009250600091505b845183101561164e57611641828685815181101515610a7e57fe5b6001909301929150611626565b33600090815260056020526040902054821180159061166d5750600082115b156118fc57600092505b85518310156118f3573360009081526005602052604090205485516116a39190879086908110610b3057fe5b33600090815260056020908152604080832093909355600160a060020a038a168252600981528282205460079091529190206001909101906116e590826120ab565b50600160a060020a038716600090815260096020908152604080832054600890925290912060019091019061171a90826120ab565b5061172d428785815181101515610a7e57fe5b600160a060020a03881660009081526007602090815260408083206009909252909120548154811061175b57fe5b600091825260209091200155845185908490811061177557fe5b6020908102909101810151600160a060020a03891660009081526008835260408082206009909452902054825491929181106117ad57fe5b6000918252602080832090910192909255600160a060020a0389168082526007835260408083206009909452909120548254919233927f34c966766e471b87b7ce8d0d0358378cf20008a30bbb36246a3413c8a286834e9290811061180e57fe5b6000918252602080832090910154600160a060020a038d1683526008825260408084206009909352909220548154811061184457fe5b6000918252602091829020015460408051938452918301528051918290030190a3600160a060020a03871660008181526008602090815260408083206009909252909120548154339260008051602061213d83398151915292909181106118a757fe5b90600052602060002001546040518082815260200191505060405180910390a3600160a060020a0387166000908152600960205260409020805460019081019091559290920191611677565b60019350611901565b600093505b5050509392505050565b600b5481565b600054600160a060020a0316331461192857600080fd5b611934600b5482611c3e565b600b5550565b80600160a060020a038116151561195057600080fd5b600054600160a060020a0316331461196757600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19169055565b600a6020526000908152604090205460ff1681565b600080548190600160a060020a031633146119b857600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015611a1c57600080fd5b505af1158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b5051905060008111611a5757600080fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529051600160a060020a0384169163a9059cbb9160448083019260209291908290030181600087803b158015611abf57600080fd5b505af1158015611ad3573d6000803e3d6000fd5b505050506040513d6020811015611ae957600080fd5b50511515611af657600080fd5b6040805182815290513391600160a060020a038616917f5d8daa04d680e083e2ab17a35494ba9f290f554edf76a78f0103a8a599b5c4249181900360200190a3505050565b336000908152600660209081526040808320600160a060020a03861684529091528120546112899083611c3e565b60008054600160a060020a03163314611b8157600080fd5b50303160008111611b9157600080fd5b604051339082156108fc029083906000818181858888f19350505050158015611bbe573d6000803e3d6000fd5b5060408051828152905133917faea7a96dc17068a25e51e08f8ed45b86bd34b10af65af8e757af57b7e7b9e55d919081900360200190a250565b600660209081526000928352604080842090915290825290205481565b600054600160a060020a03163314611c2c57600080fd5b611c38600c5482611c3e565b600c5550565b600082820183811015611c4d57fe5b9392505050565b6000806060806060806060806000975060009650600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054604051908082528060200260200182016040528015611cb7578160200160208202803883390190505b509350600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054604051908082528060200260200182016040528015611d09578160200160208202803883390190505b50600160a060020a038a166000908152600760209081526040918290208054835181840281018401909452808452939650919290830182828015611d6c57602002820191906000526020600020905b815481526020019060010190808311611d58575b50505050509550600860008a600160a060020a0316600160a060020a03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611de257602002820191906000526020600020905b815481526020019060010190808311611dce575b505050505094505b600160a060020a038916600090815260096020526040902054881015611f4d57611e2d8689815181101515611e1b57fe5b90602001906020020151600b54611c3e565b611e3942600c54611c3e565b1115611edb57600160a060020a0389166000908152600560205260409020548551611e6b919087908b908110610a7e57fe5b600160a060020a038a1660008181526005602052604090209190915585517f613edbda9d1e6bda8af8e869a973f88cccf93854a11f351589038de07e1ab4e39087908b908110611eb757fe5b906020019060200201516040518082815260200191505060405180910390a2611f42565b8588815181101515611ee957fe5b906020019060200201518488815181101515611f0157fe5b602090810290910101528451859089908110611f1957fe5b906020019060200201518388815181101515611f3157fe5b602090810290910101526001909601955b600190970196611dea565b86604051908082528060200260200182016040528015611f77578160200160208202803883390190505b50915086604051908082528060200260200182016040528015611fa4578160200160208202803883390190505b509050600097505b8688101561201f578388815181101515611fc257fe5b906020019060200201518289815181101515611fda57fe5b602090810290910101528251839089908110611ff257fe5b90602001906020020151818981518110151561200a57fe5b60209081029091010152600190970196611fac565b600160a060020a03891660009081526007602090815260409091208351612048928501906120d4565b50600160a060020a03891660009081526008602090815260409091208251612072928401906120d4565b505050600160a060020a039096166000908152600960205260409020939093555050505050565b6000818310156120a557fe5b50900390565b8154818355818111156120cf576000838152602090206120cf91810190830161211f565b505050565b82805482825590600052602060002090810192821561210f579160200282015b8281111561210f5782518255916020019190600101906120f4565b5061211b92915061211f565b5090565b61213991905b8082111561211b5760008155600101612125565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d5685c7dd1cdc910cfbcd2e1babbeef04be1dbae98e1ff442b4bcce2607640640029000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000001f04ef12cb04cf158000000000000000000000000000000000000000000000000000000000000000000000a5355504d20746f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055355504d54000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101a05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630451f52081146101a557806306fdde03146101d8578063095ea7b3146102625780630fce887b1461029a57806310e24db51461033e57806313af4035146103af57806316b81889146103d2578063170f8a51146103f357806318160ddd1461041457806323b872dd14610429578063313ce5671461045357806332308cce1461047e57806334af370f146104a257806345cc5890146104c65780635a3b7e42146104e75780635fc3a312146104fc578063661884631461051d57806366fbc1541461054157806370a0823114610556578063885cb436146105775780638da5cb5b1461059857806395d89b41146105c9578063a9059cbb146105de578063b91aedab14610602578063c7cc4ee91461069e578063ca0cd7c0146106b3578063ce62cd4a146106cb578063d71c9c12146106ec578063d72901811461070d578063d73dd6231461072e578063d80b205614610752578063dd62ed3e14610767578063df51d46b1461078e575b600080fd5b3480156101b157600080fd5b506101c6600160a060020a03600435166107a6565b60408051918252519081900360200190f35b3480156101e457600080fd5b506101ed61087a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022757818101518382015260200161020f565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026e57600080fd5b50610286600160a060020a0360043516602435610907565b604080519115158252519081900360200190f35b3480156102a657600080fd5b506040805160206004604435818101358381028086018501909652808552610286958335600160a060020a039081169660248035909216963696956064959294930192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506109d69650505050505050565b34801561034a57600080fd5b5061035f600160a060020a0360043516610dfd565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561039b578181015183820152602001610383565b505050509050019250505060405180910390f35b3480156103bb57600080fd5b506103d0600160a060020a0360043516610e80565b005b3480156103de57600080fd5b506101c6600160a060020a0360043516610ec6565b3480156103ff57600080fd5b506101c6600160a060020a0360043516610ed8565b34801561042057600080fd5b506101c6610eea565b34801561043557600080fd5b50610286600160a060020a0360043581169060243516604435610ef0565b34801561045f57600080fd5b50610468611096565b6040805160ff9092168252519081900360200190f35b34801561048a57600080fd5b506101c6600160a060020a036004351660243561109f565b3480156104ae57600080fd5b506101c6600160a060020a03600435166024356110cf565b3480156104d257600080fd5b506103d0600160a060020a03600435166110ea565b3480156104f357600080fd5b506101ed61113c565b34801561050857600080fd5b506101c6600160a060020a0360043516611173565b34801561052957600080fd5b50610286600160a060020a0360043516602435611207565b34801561054d57600080fd5b506101c6611313565b34801561056257600080fd5b506101c6600160a060020a0360043516611319565b34801561058357600080fd5b5061035f600160a060020a0360043516611388565b3480156105a457600080fd5b506105ad611479565b60408051600160a060020a039092168252519081900360200190f35b3480156105d557600080fd5b506101ed611488565b3480156105ea57600080fd5b50610286600160a060020a03600435166024356114e0565b34801561060e57600080fd5b50604080516020600460248035828101358481028087018601909752808652610286968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506115d69650505050505050565b3480156106aa57600080fd5b506101c661190b565b3480156106bf57600080fd5b506103d0600435611911565b3480156106d757600080fd5b506103d0600160a060020a036004351661193a565b3480156106f857600080fd5b50610286600160a060020a0360043516611989565b34801561071957600080fd5b506103d0600160a060020a036004351661199e565b34801561073a57600080fd5b50610286600160a060020a0360043516602435611b3b565b34801561075e57600080fd5b506103d0611b69565b34801561077357600080fd5b506101c6600160a060020a0360043581169060243516611bf8565b34801561079a57600080fd5b506103d0600435611c15565b600160a060020a038116600090815260056020526040812054905b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a0383166000908152600760205260409020805461081d91908390811061080a57fe5b9060005260206000200154600b54611c3e565b61082942600c54611c3e565b111561086c57600160a060020a038316600090815260086020526040902080546108699184918490811061085957fe5b9060005260206000200154611c3e565b91505b6001016107c1565b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108ff5780601f106108d4576101008083540402835291602001916108ff565b820191906000526020600020905b8154815290600101906020018083116108e257829003601f168201915b505050505081565b600082600160a060020a038116151561091f57600080fd5b336000908152600660209081526040808320600160a060020a03881684529091529020541561094d57600080fd5b33600090815260096020526040812054111561096c5761096c33611c54565b336000818152600660209081526040808320600160a060020a03891680855290835292819020879055805187815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b6000808086600160a060020a03811615156109f057600080fd5b86600160a060020a0381161515610a0657600080fd5b336000908152600a602052604090205460ff161515610a2457600080fd5b8651865114610a3257600080fd5b600160a060020a0389166000908152600960205260408120541115610a5a57610a5a89611c54565b60009350600092505b8551841015610a9a57610a8d838786815181101515610a7e57fe5b90602001906020020151611c3e565b6001909401939250610a63565b600160a060020a0389166000908152600560205260409020548311801590610ac25750600083115b8015610af15750600160a060020a03891660009081526006602090815260408083203384529091529020548311155b15610dec57600093505b8651841015610de357600160a060020a0389166000908152600560205260409020548651610b3f9190889087908110610b3057fe5b90602001906020020151612099565b600160a060020a038a1660009081526005602090815260408083209390935560068152828220338352905220548651610b7f9190889087908110610b3057fe5b600160a060020a03808b166000908152600660209081526040808320338452825280832094909455918b1681526009825282812054600790925291909120600190910190610bcd90826120ab565b50600160a060020a0388166000908152600960209081526040808320546008909252909120600190910190610c0290826120ab565b50610c15428886815181101515610a7e57fe5b600160a060020a038916600090815260076020908152604080832060099092529091205481548110610c4357fe5b6000918252602090912001558551869085908110610c5d57fe5b6020908102909101810151600160a060020a038a166000908152600883526040808220600990945290205482549192918110610c9557fe5b6000918252602080832090910192909255600160a060020a03808b1680835260078452604080842060099095529092205483549293918d16927f34c966766e471b87b7ce8d0d0358378cf20008a30bbb36246a3413c8a286834e9291908110610cfa57fe5b6000918252602080832090910154600160a060020a038e16835260088252604080842060099093529092205481548110610d3057fe5b6000918252602091829020015460408051938452918301528051918290030190a3600160a060020a038089166000818152600860209081526040808320600990925290912054815492938d169260008051602061213d8339815191529291908110610d9757fe5b90600052602060002001546040518082815260200191505060405180910390a3600160a060020a0388166000908152600960205260409020805460019081019091559390930192610afb565b60019450610df1565b600094505b50505050949350505050565b606081600160a060020a0381161515610e1557600080fd5b600160a060020a03831660009081526008602090815260409182902080548351818402810184019094528084529091830182828015610e7357602002820191906000526020600020905b815481526020019060010190808311610e5f575b5050505050915050919050565b600054600160a060020a03163314610e9757600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205481565b60056020526000908152604090205481565b60045481565b600083600160a060020a0381161515610f0857600080fd5b83600160a060020a0381161515610f1e57600080fd5b600160a060020a0386166000908152600960205260408120541115610f4657610f4686611c54565b600160a060020a0386166000908152600560205260409020548411801590610f6e5750600084115b8015610f9d5750600160a060020a03861660009081526006602090815260408083203384529091529020548411155b1561108857600160a060020a0386166000908152600660209081526040808320338452909152902054610fd09085612099565b600160a060020a03871660008181526006602090815260408083203384528252808320949094559181526005909152205461100b9085612099565b600160a060020a03808816600090815260056020526040808220939093559087168152205461103a9085611c3e565b600160a060020a0380871660008181526005602090815260409182902094909455805188815290519193928a169260008051602061213d83398151915292918290030190a36001925061108d565b600092505b50509392505050565b60035460ff1681565b6008602052816000526040600020818154811015156110ba57fe5b90600052602060002001600091509150505481565b6007602052816000526040600020818154811015156110ba57fe5b80600160a060020a038116151561110057600080fd5b600054600160a060020a0316331461111757600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19166001179055565b60408051808201909152600481527f302e363600000000000000000000000000000000000000000000000000000000602082015281565b6000805b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a038316600090815260076020526040902080546111c091908390811061080a57fe5b6111cc42600c54611c3e565b10156111ff57600160a060020a038316600090815260086020526040902080546111fc9184918490811061085957fe5b91505b600101611177565b336000908152600660209081526040808320600160a060020a038616845290915281205482111561125b57336000908152600660209081526040808320600160a060020a03871684529091528120556112ae565b336000908152600660209081526040808320600160a060020a03871684529091529020546112899083612099565b336000908152600660209081526040808320600160a060020a03881684529091529020555b336000818152600660209081526040808320600160a060020a0388168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600c5481565b600160a060020a038116600090815260056020526040812054905b600160a060020a03831660009081526009602052604090205481101561087457600160a060020a0383166000908152600860205260409020805461137e9184918490811061085957fe5b9150600101611334565b606060008183600160a060020a03811615156113a357600080fd5b600092506009600086600160a060020a0316600160a060020a03168152602001908152602001600020546040519080825280602002602001820160405280156113f6578160200160208202803883390190505b5091505b600160a060020a03851660009081526009602052604090205483101561147157600160a060020a0385166000908152600760205260409020805461144e91611446918690811061080a57fe5b600c54612099565b828481518110151561145c57fe5b602090810290910101526001909201916113fa565b509392505050565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156108ff5780601f106108d4576101008083540402835291602001916108ff565b600082600160a060020a03811615156114f857600080fd5b3360009081526009602052604081205411156115175761151733611c54565b3360009081526005602052604090205483118015906115365750600083115b156115cd57336000908152600560205260409020546115559084612099565b3360009081526005602052604080822092909255600160a060020a038616815220546115819084611c3e565b600160a060020a03851660008181526005602090815260409182902093909355805186815290519192339260008051602061213d8339815191529281900390910190a3600191506109cf565b600091506109cf565b6000808085600160a060020a03811615156115f057600080fd5b85518551146115fe57600080fd5b33600090815260096020526040812054111561161d5761161d33611c54565b60009250600091505b845183101561164e57611641828685815181101515610a7e57fe5b6001909301929150611626565b33600090815260056020526040902054821180159061166d5750600082115b156118fc57600092505b85518310156118f3573360009081526005602052604090205485516116a39190879086908110610b3057fe5b33600090815260056020908152604080832093909355600160a060020a038a168252600981528282205460079091529190206001909101906116e590826120ab565b50600160a060020a038716600090815260096020908152604080832054600890925290912060019091019061171a90826120ab565b5061172d428785815181101515610a7e57fe5b600160a060020a03881660009081526007602090815260408083206009909252909120548154811061175b57fe5b600091825260209091200155845185908490811061177557fe5b6020908102909101810151600160a060020a03891660009081526008835260408082206009909452902054825491929181106117ad57fe5b6000918252602080832090910192909255600160a060020a0389168082526007835260408083206009909452909120548254919233927f34c966766e471b87b7ce8d0d0358378cf20008a30bbb36246a3413c8a286834e9290811061180e57fe5b6000918252602080832090910154600160a060020a038d1683526008825260408084206009909352909220548154811061184457fe5b6000918252602091829020015460408051938452918301528051918290030190a3600160a060020a03871660008181526008602090815260408083206009909252909120548154339260008051602061213d83398151915292909181106118a757fe5b90600052602060002001546040518082815260200191505060405180910390a3600160a060020a0387166000908152600960205260409020805460019081019091559290920191611677565b60019350611901565b600093505b5050509392505050565b600b5481565b600054600160a060020a0316331461192857600080fd5b611934600b5482611c3e565b600b5550565b80600160a060020a038116151561195057600080fd5b600054600160a060020a0316331461196757600080fd5b50600160a060020a03166000908152600a60205260409020805460ff19169055565b600a6020526000908152604090205460ff1681565b600080548190600160a060020a031633146119b857600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015611a1c57600080fd5b505af1158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b5051905060008111611a5757600080fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529051600160a060020a0384169163a9059cbb9160448083019260209291908290030181600087803b158015611abf57600080fd5b505af1158015611ad3573d6000803e3d6000fd5b505050506040513d6020811015611ae957600080fd5b50511515611af657600080fd5b6040805182815290513391600160a060020a038616917f5d8daa04d680e083e2ab17a35494ba9f290f554edf76a78f0103a8a599b5c4249181900360200190a3505050565b336000908152600660209081526040808320600160a060020a03861684529091528120546112899083611c3e565b60008054600160a060020a03163314611b8157600080fd5b50303160008111611b9157600080fd5b604051339082156108fc029083906000818181858888f19350505050158015611bbe573d6000803e3d6000fd5b5060408051828152905133917faea7a96dc17068a25e51e08f8ed45b86bd34b10af65af8e757af57b7e7b9e55d919081900360200190a250565b600660209081526000928352604080842090915290825290205481565b600054600160a060020a03163314611c2c57600080fd5b611c38600c5482611c3e565b600c5550565b600082820183811015611c4d57fe5b9392505050565b6000806060806060806060806000975060009650600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054604051908082528060200260200182016040528015611cb7578160200160208202803883390190505b509350600960008a600160a060020a0316600160a060020a0316815260200190815260200160002054604051908082528060200260200182016040528015611d09578160200160208202803883390190505b50600160a060020a038a166000908152600760209081526040918290208054835181840281018401909452808452939650919290830182828015611d6c57602002820191906000526020600020905b815481526020019060010190808311611d58575b50505050509550600860008a600160a060020a0316600160a060020a03168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611de257602002820191906000526020600020905b815481526020019060010190808311611dce575b505050505094505b600160a060020a038916600090815260096020526040902054881015611f4d57611e2d8689815181101515611e1b57fe5b90602001906020020151600b54611c3e565b611e3942600c54611c3e565b1115611edb57600160a060020a0389166000908152600560205260409020548551611e6b919087908b908110610a7e57fe5b600160a060020a038a1660008181526005602052604090209190915585517f613edbda9d1e6bda8af8e869a973f88cccf93854a11f351589038de07e1ab4e39087908b908110611eb757fe5b906020019060200201516040518082815260200191505060405180910390a2611f42565b8588815181101515611ee957fe5b906020019060200201518488815181101515611f0157fe5b602090810290910101528451859089908110611f1957fe5b906020019060200201518388815181101515611f3157fe5b602090810290910101526001909601955b600190970196611dea565b86604051908082528060200260200182016040528015611f77578160200160208202803883390190505b50915086604051908082528060200260200182016040528015611fa4578160200160208202803883390190505b509050600097505b8688101561201f578388815181101515611fc257fe5b906020019060200201518289815181101515611fda57fe5b602090810290910101528251839089908110611ff257fe5b90602001906020020151818981518110151561200a57fe5b60209081029091010152600190970196611fac565b600160a060020a03891660009081526007602090815260409091208351612048928501906120d4565b50600160a060020a03891660009081526008602090815260409091208251612072928401906120d4565b505050600160a060020a039096166000908152600960205260409020939093555050505050565b6000818310156120a557fe5b50900390565b8154818355818111156120cf576000838152602090206120cf91810190830161211f565b505050565b82805482825590600052602060002090810192821561210f579160200282015b8281111561210f5782518255916020019190600101906120f4565b5061211b92915061211f565b5090565b61213991905b8082111561211b5760008155600101612125565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d5685c7dd1cdc910cfbcd2e1babbeef04be1dbae98e1ff442b4bcce2607640640029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000001f04ef12cb04cf158000000000000000000000000000000000000000000000000000000000000000000000a5355504d20746f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055355504d54000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): SUPM token
Arg [1] : _symbol (string): SUPMT
Arg [2] : _decimals (uint8): 18
Arg [3] : _totalSupply (uint256): 600000000000000000000000000
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000001f04ef12cb04cf158000000
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 5355504d20746f6b656e00000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 5355504d54000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://d5685c7dd1cdc910cfbcd2e1babbeef04be1dbae98e1ff442b4bcce260764064
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.