Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
30,425 TORI
Holders
40
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
85 TORIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x9BBEE408...D54adF12a The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
SponseeTokenModel
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-07 */ pragma solidity ^0.4.13; /** * Math operations with safety checks */ library SafeMath { function mul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint a, uint b) internal returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function sub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function add(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c >= a); return c; } function max64(uint64 a, uint64 b) internal constant returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal constant returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal constant returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal constant returns (uint256) { return a < b ? a : b; } function assert(bool assertion) internal { if (!assertion) { revert(); } } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant 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); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /* * Fix for the ERC20 short address attack */ modifier onlyPayloadSize(uint size) { if (msg.data.length < size + 4) { revert(); } _; } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public onlyPayloadSize(2 * 32) returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } } contract Ownable { address public owner; function Ownable() { owner = msg.sender; } modifier onlyOwner() { if (msg.sender != owner) { revert(); } _; } } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } } contract RBInformationStore is Ownable { address public profitContainerAddress; address public companyWalletAddress; uint public etherRatioForOwner; address public multiSigAddress; address public accountAddressForSponsee; bool public isPayableEnabledForAll = true; modifier onlyMultiSig() { require(multiSigAddress == msg.sender); _; } function RBInformationStore ( address _profitContainerAddress, address _companyWalletAddress, uint _etherRatioForOwner, address _multiSigAddress, address _accountAddressForSponsee ) { profitContainerAddress = _profitContainerAddress; companyWalletAddress = _companyWalletAddress; etherRatioForOwner = _etherRatioForOwner; multiSigAddress = _multiSigAddress; accountAddressForSponsee = _accountAddressForSponsee; } function changeProfitContainerAddress(address _address) onlyMultiSig { profitContainerAddress = _address; } function changeCompanyWalletAddress(address _address) onlyMultiSig { companyWalletAddress = _address; } function changeEtherRatioForOwner(uint _value) onlyMultiSig { etherRatioForOwner = _value; } function changeMultiSigAddress(address _address) onlyMultiSig { multiSigAddress = _address; } function changeOwner(address _address) onlyMultiSig { owner = _address; } function changeAccountAddressForSponsee(address _address) onlyMultiSig { accountAddressForSponsee = _address; } function changeIsPayableEnabledForAll() onlyMultiSig { isPayableEnabledForAll = !isPayableEnabledForAll; } } contract Rate { uint public ETH_USD_rate; RBInformationStore public rbInformationStore; modifier onlyOwner() { require(msg.sender == rbInformationStore.owner()); _; } function Rate(uint _rate, address _address) { ETH_USD_rate = _rate; rbInformationStore = RBInformationStore(_address); } function setRate(uint _rate) onlyOwner { ETH_USD_rate = _rate; } } /** @title SponseeTokenModel */ contract SponseeTokenModel is StandardToken { string public name; string public symbol; uint8 public decimals = 0; uint public totalSupply = 0; uint public cap = 100000000; // maximum cap = 1 000 000 $ = 100 000 000 tokens uint public minimumSupport = 500; // minimum support is 5$(500 cents) uint public etherRatioForInvestor = 10; // etherRatio (10%) to send ether to investor address public sponseeAddress; bool public isPayableEnabled = true; RBInformationStore public rbInformationStore; Rate public rate; event LogReceivedEther(address indexed from, address indexed to, uint etherValue, string tokenName); event LogBuy(address indexed from, address indexed to, uint indexed value, uint paymentId); event LogRollbackTransfer(address indexed from, address indexed to, uint value); event LogExchange(address indexed from, address indexed token, uint value); event LogIncreaseCap(uint value); event LogDecreaseCap(uint value); event LogSetRBInformationStoreAddress(address indexed to); event LogSetName(string name); event LogSetSymbol(string symbol); event LogMint(address indexed to, uint value); event LogChangeSponseeAddress(address indexed to); event LogChangeIsPayableEnabled(bool flag); modifier onlyAccountAddressForSponsee() { require(rbInformationStore.accountAddressForSponsee() == msg.sender); _; } modifier onlyMultiSig() { require(rbInformationStore.multiSigAddress() == msg.sender); _; } // constructor function SponseeTokenModel( string _name, string _symbol, address _rbInformationStoreAddress, address _rateAddress, address _sponsee ) { name = _name; symbol = _symbol; rbInformationStore = RBInformationStore(_rbInformationStoreAddress); rate = Rate(_rateAddress); sponseeAddress = _sponsee; } /** @notice Receive ether from any EOA accounts. Amount of ether received in this function is distributed to 3 parts. One is a profitContainerAddress which is address of containerWallet to dividend to investor of Boost token. Another is an ownerAddress which is address of owner of REALBOOST site. The other is an sponseeAddress which is address of owner of this contract. Then, return token of this contract to msg.sender related to the amount of ether that msg.sender sent and rate (US cent) of ehter stored in Rate contract. */ function() payable { // check condition require(isPayableEnabled && rbInformationStore.isPayableEnabledForAll()); // check validation if (msg.value <= 0) { revert(); } // calculate support amount in US uint supportedAmount = msg.value.mul(rate.ETH_USD_rate()).div(10**18); // if support is less than minimum => return money to supporter if (supportedAmount < minimumSupport) { revert(); } // calculate the ratio of Ether for distribution uint etherRatioForOwner = rbInformationStore.etherRatioForOwner(); uint etherRatioForSponsee = uint(100).sub(etherRatioForOwner).sub(etherRatioForInvestor); /* divide Ether */ // calculate uint etherForOwner = msg.value.mul(etherRatioForOwner).div(100); uint etherForInvestor = msg.value.mul(etherRatioForInvestor).div(100); uint etherForSponsee = msg.value.mul(etherRatioForSponsee).div(100); // get address address profitContainerAddress = rbInformationStore.profitContainerAddress(); address companyWalletAddress = rbInformationStore.companyWalletAddress(); // send Ether if (!profitContainerAddress.send(etherForInvestor)) { revert(); } if (!companyWalletAddress.send(etherForOwner)) { revert(); } if (!sponseeAddress.send(etherForSponsee)) { revert(); } // token amount is transfered to sender // 1 token = 1 cent, 1 usd = 100 cents uint tokenAmount = msg.value.mul(rate.ETH_USD_rate()).div(10**18); // add tokens balances[msg.sender] = balances[msg.sender].add(tokenAmount); // increase total supply totalSupply = totalSupply.add(tokenAmount); // check cap if (totalSupply > cap) { revert(); } // send Event LogExchange(msg.sender, this, tokenAmount); LogReceivedEther(msg.sender, this, msg.value, name); Transfer(address(0x0), msg.sender, tokenAmount); } /** @notice Change rbInformationStoreAddress. @param _address The address of new rbInformationStore */ function setRBInformationStoreAddress(address _address) onlyMultiSig { rbInformationStore = RBInformationStore(_address); // send Event LogSetRBInformationStoreAddress(_address); } /** @notice Change name. @param _name The new name of token */ function setName(string _name) onlyAccountAddressForSponsee { name = _name; // send Event LogSetName(_name); } /** @notice Change symbol. @param _symbol The new symbol of token */ function setSymbol(string _symbol) onlyAccountAddressForSponsee { symbol = _symbol; // send Event LogSetSymbol(_symbol); } /** @notice Mint new token amount. @param _address The address that new token amount is added @param _value The new amount of token */ function mint(address _address, uint _value) onlyAccountAddressForSponsee { // add tokens balances[_address] = balances[_address].add(_value); // increase total supply totalSupply = totalSupply.add(_value); // check cap if (totalSupply > cap) { revert(); } // send Event LogMint(_address, _value); Transfer(address(0x0), _address, _value); } /** @notice Increase cap. @param _value The amount of token that should be increased */ function increaseCap(uint _value) onlyAccountAddressForSponsee { // change cap here cap = cap.add(_value); // send Event LogIncreaseCap(_value); } /** @notice Decrease cap. @param _value The amount of token that should be decreased */ function decreaseCap(uint _value) onlyAccountAddressForSponsee { // check whether cap is lower than totalSupply or not if (totalSupply > cap.sub(_value)) { revert(); } // change cap here cap = cap.sub(_value); // send Event LogDecreaseCap(_value); } /** @notice Rollback transfer. @param _from The EOA address for rollback transfer @param _to The EOA address for rollback transfer @param _value The number of token for rollback transfer */ function rollbackTransfer(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) onlyMultiSig { balances[_to] = balances[_to].sub(_value); balances[_from] = balances[_from].add(_value); // send Event LogRollbackTransfer(_from, _to, _value); Transfer(_from, _to, _value); } /** @notice Transfer from msg.sender for downloading of content. @param _to The EOA address for buy content @param _value The number of token for buy content @param _paymentId The id of content which msg.sender want to buy */ function buy(address _to, uint _value, uint _paymentId) { transfer(_to, _value); // send Event LogBuy(msg.sender, _to, _value, _paymentId); } /** @notice This method will change old sponsee address with a new one. @param _newAddress new address is set */ function changeSponseeAddress(address _newAddress) onlyAccountAddressForSponsee { sponseeAddress = _newAddress; // send Event LogChangeSponseeAddress(_newAddress); } /** @notice This method will change isPayableEnabled flag. */ function changeIsPayableEnabled() onlyMultiSig { isPayableEnabled = !isPayableEnabled; // send Event LogChangeIsPayableEnabled(isPayableEnabled); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setRBInformationStoreAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"sponseeAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"increaseCap","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"decreaseCap","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"etherRatioForInvestor","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_paymentId","type":"uint256"}],"name":"buy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minimumSupport","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"changeSponseeAddress","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"rollbackTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isPayableEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rbInformationStore","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"changeIsPayableEnabled","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_rbInformationStoreAddress","type":"address"},{"name":"_rateAddress","type":"address"},{"name":"_sponsee","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"etherValue","type":"uint256"},{"indexed":false,"name":"tokenName","type":"string"}],"name":"LogReceivedEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"value","type":"uint256"},{"indexed":false,"name":"paymentId","type":"uint256"}],"name":"LogBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogRollbackTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"token","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"LogIncreaseCap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"LogDecreaseCap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"}],"name":"LogSetRBInformationStoreAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"}],"name":"LogSetName","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"symbol","type":"string"}],"name":"LogSetSymbol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"}],"name":"LogChangeSponseeAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"flag","type":"bool"}],"name":"LogChangeIsPayableEnabled","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
60606040526005805460ff1916905560006006556305f5e1006007556101f4600855600a6009819055805460a060020a60ff0219167401000000000000000000000000000000000000000017905534156200005957600080fd5b60405162001e6e38038062001e6e8339810160405280805182019190602001805182019190602001805191906020018051919060200180519150505b6003858051620000aa9291602001906200010a565b506004848051620000c09291602001906200010a565b50600b8054600160a060020a03808616600160a060020a031992831617909255600c8054858416908316179055600a8054928416929091169190911790555b5050505050620001b4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014d57805160ff19168380011785556200017d565b828001600101855582156200017d579182015b828111156200017d57825182559160200191906001019062000160565b5b506200018c92915062000190565b5090565b620001b191905b808211156200018c576000815560010162000197565b5090565b90565b611caa80620001c46000396000f300606060405236156101385763ffffffff60e060020a60003504166306fdde038114610710578063095ea7b31461079b57806318160ddd146107d157806323b872dd146107f65780632502c19c14610832578063262af333146108535780632c4e722e14610882578063313ce567146108b1578063355274ea146108da57806340c10f19146108ff578063523e95511461092357806370a082311461093b5780637430a6891461096c57806395d89b411461098457806395e2a95314610a0f578063a59ac6dd14610a34578063a72b144414610a5b578063a9059cbb14610a80578063b84c824614610ab6578063c47f002714610b09578063cab0f63214610b5c578063cc4fa08d14610b7d578063dbbc6fcc14610ba7578063dd62ed3e14610bce578063ec74b81814610c05578063fd037bc514610c34575b5b6000806000806000806000806000600a60149054906101000a900460ff1680156101c25750600b54600160a060020a031663a7261f796000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156101a657600080fd5b6102c65a03f115156101b757600080fd5b505050604051805190505b15156101cd57600080fd5b600034116101da57600080fd5b600c5461026790670de0b6b3a76400009061025b90600160a060020a031663e7a6e75c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561023457600080fd5b6102c65a03f1151561024557600080fd5b505050604051805134915063ffffffff610c4916565b9063ffffffff610c7816565b985060085489101561027857600080fd5b600b54600160a060020a031663d3400a1d6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102c057600080fd5b6102c65a03f115156102d157600080fd5b505050604051805160095490995061030191506102f560648b63ffffffff610cba16565b9063ffffffff610cba16565b9650610324606461025b348b63ffffffff610c4916565b9063ffffffff610c7816565b955061034c606461025b60095434610c4990919063ffffffff16565b9063ffffffff610c7816565b945061036f606461025b348a63ffffffff610c4916565b9063ffffffff610c7816565b600b54909450600160a060020a03166325cb4f2c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156103ba57600080fd5b6102c65a03f115156103cb57600080fd5b5050506040518051600b54909450600160a060020a0316905063074e89406000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561042057600080fd5b6102c65a03f1151561043157600080fd5b5050506040518051925050600160a060020a03831685156108fc0286604051600060405180830381858888f19350505050151561046d57600080fd5b600160a060020a03821686156108fc0287604051600060405180830381858888f19350505050151561049e57600080fd5b600a54600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156104d157600080fd5b600c5461055e90670de0b6b3a76400009061025b90600160a060020a031663e7a6e75c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561023457600080fd5b6102c65a03f1151561024557600080fd5b505050604051805134915063ffffffff610c4916565b9063ffffffff610c7816565b600160a060020a03331660009081526001602052604090205490915061058a908263ffffffff610cd316565b600160a060020a0333166000908152600160205260409020556006546105b6908263ffffffff610cd316565b60068190556007549011156105ca57600080fd5b30600160a060020a031633600160a060020a03167fbc2674b1c231352f5fe99c10d8db7182a2c0c857f496f1157968bdcbdb52bf3d8360405190815260200160405180910390a330600160a060020a031633600160a060020a03167f90972e896d80439fc9c5e1b20d0c7c18a56565ec7067426aa75a6f660c384726346003604051828152604060208201818152835460026000196101006001841615020190911604918301829052906060830190849080156106c85780601f1061069d576101008083540402835291602001916106c8565b820191906000526020600020905b8154815290600101906020018083116106ab57829003601f168201915b5050935050505060405180910390a3600160a060020a0333166000600080516020611c5f8339815191528360405190815260200160405180910390a35b505050505050505050005b341561071b57600080fd5b610723610cef565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156107605780820151818401525b602001610747565b50505050905090810190601f16801561078d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107a657600080fd5b6107bd600160a060020a0360043516602435610d8d565b604051901515815260200160405180910390f35b34156107dc57600080fd5b6107e4610dfa565b60405190815260200160405180910390f35b341561080157600080fd5b6107bd600160a060020a0360043581169060243516604435610e00565b604051901515815260200160405180910390f35b341561083d57600080fd5b610851600160a060020a0360043516610f71565b005b341561085e57600080fd5b610866611049565b604051600160a060020a03909116815260200160405180910390f35b341561088d57600080fd5b610866611058565b604051600160a060020a03909116815260200160405180910390f35b34156108bc57600080fd5b6108c4611067565b60405160ff909116815260200160405180910390f35b34156108e557600080fd5b6107e4611070565b60405190815260200160405180910390f35b341561090a57600080fd5b610851600160a060020a0360043516602435611076565b005b341561092e57600080fd5b6108516004356111cb565b005b341561094657600080fd5b6107e4600160a060020a0360043516611295565b60405190815260200160405180910390f35b341561097757600080fd5b6108516004356112b4565b005b341561098f57600080fd5b61072361139f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156107605780820151818401525b602001610747565b50505050905090810190601f16801561078d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a1a57600080fd5b6107e461143d565b60405190815260200160405180910390f35b3415610a3f57600080fd5b610851600160a060020a0360043516602435604435611443565b005b3415610a6657600080fd5b6107e461149c565b60405190815260200160405180910390f35b3415610a8b57600080fd5b6107bd600160a060020a03600435166024356114a2565b604051901515815260200160405180910390f35b3415610ac157600080fd5b61085160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061159f95505050505050565b005b3415610b1457600080fd5b61085160046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506116cd95505050505050565b005b3415610b6757600080fd5b610851600160a060020a03600435166117fb565b005b3415610b8857600080fd5b610851600160a060020a03600435811690602435166044356118d3565b005b3415610bb257600080fd5b6107bd611a51565b604051901515815260200160405180910390f35b3415610bd957600080fd5b6107e4600160a060020a0360043581169060243516611a72565b60405190815260200160405180910390f35b3415610c1057600080fd5b610866611a9f565b604051600160a060020a03909116815260200160405180910390f35b3415610c3f57600080fd5b610851611aae565b005b6000828202610c6d841580610c685750838583811515610c6557fe5b04145b611bae565b8091505b5092915050565b600080610c8760008411611bae565b8284811515610c9257fe5b049050610c6d8385811515610ca357fe5b06828502018514611bae565b8091505b5092915050565b6000610cc883831115611bae565b508082035b92915050565b6000828201610c6d84821015611bae565b8091505b5092915050565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d855780601f10610d5a57610100808354040283529160200191610d85565b820191906000526020600020905b815481529060010190602001808311610d6857829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60065481565b6000600160a060020a0383161515610e1757600080fd5b600160a060020a038416600090815260016020526040902054821115610e3c57600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610e6f57600080fd5b600160a060020a038416600090815260016020526040902054610e98908363ffffffff610cba16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610ecd908363ffffffff610cd316565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610f15908363ffffffff610cba16565b600160a060020a0380861660008181526002602090815260408083203386168452909152908190209390935590851691600080516020611c5f8339815191529085905190815260200160405180910390a35060015b9392505050565b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b50505060405180519050600160a060020a0316141515610fed57600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091557fe71c3b383040a457ea5badfa68b8a64d005e47d1ee10ab58632e7dc11c3c398560405160405180910390a25b5b50565b600a54600160a060020a031681565b600c54600160a060020a031681565b60055460ff1681565b60075481565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110c257600080fd5b6102c65a03f115156110d357600080fd5b50505060405180519050600160a060020a03161415156110f257600080fd5b600160a060020a03821660009081526001602052604090205461111b908263ffffffff610cd316565b600160a060020a038316600090815260016020526040902055600654611147908263ffffffff610cd316565b600681905560075490111561115b57600080fd5b81600160a060020a03167f9f494565851dbcb31fb5198ca217cda6833282fadb96ba9431bd19c82afc1dd38260405190815260200160405180910390a2600160a060020a0382166000600080516020611c5f8339815191528360405190815260200160405180910390a35b5b5050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121757600080fd5b6102c65a03f1151561122857600080fd5b50505060405180519050600160a060020a031614151561124757600080fd5b60075461125a908263ffffffff610cd316565b6007557ff26240677c6bead94226ad1a428dce65c8194a0eede73b1bcf5e81fa2e4163068160405190815260200160405180910390a15b5b50565b600160a060020a0381166000908152600160205260409020545b919050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561130057600080fd5b6102c65a03f1151561131157600080fd5b50505060405180519050600160a060020a031614151561133057600080fd5b600754611343908263ffffffff610cba16565b600654111561135157600080fd5b600754611364908263ffffffff610cba16565b6007557fcda68e5d11151131100612aea234a65e3e5a4386aeb812e92d726f4c379274898160405190815260200160405180910390a15b5b50565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d855780601f10610d5a57610100808354040283529160200191610d85565b820191906000526020600020905b815481529060010190602001808311610d6857829003601f168201915b505050505081565b60095481565b61144d83836114a2565b508183600160a060020a031633600160a060020a03167fa3fca67715bc310846e7f86e7a83f261d7e6771a25e116797ff651b19cb0885e8460405190815260200160405180910390a45b505050565b60085481565b6000604060443610156114b457600080fd5b600160a060020a03841615156114c957600080fd5b600160a060020a0333166000908152600160205260409020548311156114ee57600080fd5b600160a060020a033316600090815260016020526040902054611517908463ffffffff610cba16565b600160a060020a03338116600090815260016020526040808220939093559086168152205461154c908463ffffffff610cd316565b600160a060020a038086166000818152600160205260409081902093909355913390911690600080516020611c5f8339815191529086905190815260200160405180910390a3600191505b5b5092915050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156115eb57600080fd5b6102c65a03f115156115fc57600080fd5b50505060405180519050600160a060020a031614151561161b57600080fd5b600481805161162e929160200190611bbe565b507fe4c01bbbeee6a02394698d8ad0521227a670864e53589c6832313eed0e87a1318160405160208082528190810183818151815260200191508051906020019080838360005b8381101561168e5780820151818401525b602001611675565b50505050905090810190601f1680156116bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561171957600080fd5b6102c65a03f1151561172a57600080fd5b50505060405180519050600160a060020a031614151561174957600080fd5b600381805161175c929160200190611bbe565b507f331c5d60a79e667febb5206348001d7c0534579b2095f078cbceb2e538d632f38160405160208082528190810183818151815260200191508051906020019080838360005b8381101561168e5780820151818401525b602001611675565b50505050905090810190601f1680156116bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561184757600080fd5b6102c65a03f1151561185857600080fd5b50505060405180519050600160a060020a031614151561187757600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091557f121ab65bd55322d3431da7dfe39bc9937ddffe4ff99f1d2a2fe2074569e62d1860405160405180910390a25b5b50565b606060643610156118e357600080fd5b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561192f57600080fd5b6102c65a03f1151561194057600080fd5b50505060405180519050600160a060020a031614151561195f57600080fd5b600160a060020a038316600090815260016020526040902054611988908363ffffffff610cba16565b600160a060020a0380851660009081526001602052604080822093909355908616815220546119bd908363ffffffff610cd316565b600160a060020a038086166000818152600160205260409081902093909355908516917f5306a5af97234a2a0b6f245ecad36b4311e80ef0cd4d57e0fca893c2fd6d75679085905190815260200160405180910390a382600160a060020a031684600160a060020a0316600080516020611c5f8339815191528460405190815260200160405180910390a35b5b5b50505050565b600a5474010000000000000000000000000000000000000000900460ff1681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600b54600160a060020a031681565b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611afa57600080fd5b6102c65a03f11515611b0b57600080fd5b50505060405180519050600160a060020a0316141515611b2a57600080fd5b600a805460ff74010000000000000000000000000000000000000000808304821615810274ff00000000000000000000000000000000000000001990931692909217928390557fb7a1c236b2f9981d664453771400857fbdd634e133fad48256b10ef144f42481929190910416604051901515815260200160405180910390a15b5b565b80151561104557600080fd5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611bff57805160ff1916838001178555611c2c565b82800160010185558215611c2c579182015b82811115611c2c578251825591602001919060010190611c11565b5b50611c39929150611c3d565b5090565b611c5b91905b80821115611c395760008155600101611c43565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582024345b3629a55ac4b92d11a44b0c8935f6aee5633c3b91767ef78d28761ea67b002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000dbd9b1a3077e19d5ec975e759ada47031a94b95400000000000000000000000017db86b8a8a53476236a41fd9511b0a67622013f00000000000000000000000063310726b11d01b1ab626aac00709e2fcba12f18000000000000000000000000000000000000000000000000000000000000000747524e4b41434b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000447524e4b00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x606060405236156101385763ffffffff60e060020a60003504166306fdde038114610710578063095ea7b31461079b57806318160ddd146107d157806323b872dd146107f65780632502c19c14610832578063262af333146108535780632c4e722e14610882578063313ce567146108b1578063355274ea146108da57806340c10f19146108ff578063523e95511461092357806370a082311461093b5780637430a6891461096c57806395d89b411461098457806395e2a95314610a0f578063a59ac6dd14610a34578063a72b144414610a5b578063a9059cbb14610a80578063b84c824614610ab6578063c47f002714610b09578063cab0f63214610b5c578063cc4fa08d14610b7d578063dbbc6fcc14610ba7578063dd62ed3e14610bce578063ec74b81814610c05578063fd037bc514610c34575b5b6000806000806000806000806000600a60149054906101000a900460ff1680156101c25750600b54600160a060020a031663a7261f796000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156101a657600080fd5b6102c65a03f115156101b757600080fd5b505050604051805190505b15156101cd57600080fd5b600034116101da57600080fd5b600c5461026790670de0b6b3a76400009061025b90600160a060020a031663e7a6e75c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561023457600080fd5b6102c65a03f1151561024557600080fd5b505050604051805134915063ffffffff610c4916565b9063ffffffff610c7816565b985060085489101561027857600080fd5b600b54600160a060020a031663d3400a1d6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102c057600080fd5b6102c65a03f115156102d157600080fd5b505050604051805160095490995061030191506102f560648b63ffffffff610cba16565b9063ffffffff610cba16565b9650610324606461025b348b63ffffffff610c4916565b9063ffffffff610c7816565b955061034c606461025b60095434610c4990919063ffffffff16565b9063ffffffff610c7816565b945061036f606461025b348a63ffffffff610c4916565b9063ffffffff610c7816565b600b54909450600160a060020a03166325cb4f2c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156103ba57600080fd5b6102c65a03f115156103cb57600080fd5b5050506040518051600b54909450600160a060020a0316905063074e89406000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561042057600080fd5b6102c65a03f1151561043157600080fd5b5050506040518051925050600160a060020a03831685156108fc0286604051600060405180830381858888f19350505050151561046d57600080fd5b600160a060020a03821686156108fc0287604051600060405180830381858888f19350505050151561049e57600080fd5b600a54600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156104d157600080fd5b600c5461055e90670de0b6b3a76400009061025b90600160a060020a031663e7a6e75c6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561023457600080fd5b6102c65a03f1151561024557600080fd5b505050604051805134915063ffffffff610c4916565b9063ffffffff610c7816565b600160a060020a03331660009081526001602052604090205490915061058a908263ffffffff610cd316565b600160a060020a0333166000908152600160205260409020556006546105b6908263ffffffff610cd316565b60068190556007549011156105ca57600080fd5b30600160a060020a031633600160a060020a03167fbc2674b1c231352f5fe99c10d8db7182a2c0c857f496f1157968bdcbdb52bf3d8360405190815260200160405180910390a330600160a060020a031633600160a060020a03167f90972e896d80439fc9c5e1b20d0c7c18a56565ec7067426aa75a6f660c384726346003604051828152604060208201818152835460026000196101006001841615020190911604918301829052906060830190849080156106c85780601f1061069d576101008083540402835291602001916106c8565b820191906000526020600020905b8154815290600101906020018083116106ab57829003601f168201915b5050935050505060405180910390a3600160a060020a0333166000600080516020611c5f8339815191528360405190815260200160405180910390a35b505050505050505050005b341561071b57600080fd5b610723610cef565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156107605780820151818401525b602001610747565b50505050905090810190601f16801561078d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107a657600080fd5b6107bd600160a060020a0360043516602435610d8d565b604051901515815260200160405180910390f35b34156107dc57600080fd5b6107e4610dfa565b60405190815260200160405180910390f35b341561080157600080fd5b6107bd600160a060020a0360043581169060243516604435610e00565b604051901515815260200160405180910390f35b341561083d57600080fd5b610851600160a060020a0360043516610f71565b005b341561085e57600080fd5b610866611049565b604051600160a060020a03909116815260200160405180910390f35b341561088d57600080fd5b610866611058565b604051600160a060020a03909116815260200160405180910390f35b34156108bc57600080fd5b6108c4611067565b60405160ff909116815260200160405180910390f35b34156108e557600080fd5b6107e4611070565b60405190815260200160405180910390f35b341561090a57600080fd5b610851600160a060020a0360043516602435611076565b005b341561092e57600080fd5b6108516004356111cb565b005b341561094657600080fd5b6107e4600160a060020a0360043516611295565b60405190815260200160405180910390f35b341561097757600080fd5b6108516004356112b4565b005b341561098f57600080fd5b61072361139f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156107605780820151818401525b602001610747565b50505050905090810190601f16801561078d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a1a57600080fd5b6107e461143d565b60405190815260200160405180910390f35b3415610a3f57600080fd5b610851600160a060020a0360043516602435604435611443565b005b3415610a6657600080fd5b6107e461149c565b60405190815260200160405180910390f35b3415610a8b57600080fd5b6107bd600160a060020a03600435166024356114a2565b604051901515815260200160405180910390f35b3415610ac157600080fd5b61085160046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061159f95505050505050565b005b3415610b1457600080fd5b61085160046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506116cd95505050505050565b005b3415610b6757600080fd5b610851600160a060020a03600435166117fb565b005b3415610b8857600080fd5b610851600160a060020a03600435811690602435166044356118d3565b005b3415610bb257600080fd5b6107bd611a51565b604051901515815260200160405180910390f35b3415610bd957600080fd5b6107e4600160a060020a0360043581169060243516611a72565b60405190815260200160405180910390f35b3415610c1057600080fd5b610866611a9f565b604051600160a060020a03909116815260200160405180910390f35b3415610c3f57600080fd5b610851611aae565b005b6000828202610c6d841580610c685750838583811515610c6557fe5b04145b611bae565b8091505b5092915050565b600080610c8760008411611bae565b8284811515610c9257fe5b049050610c6d8385811515610ca357fe5b06828502018514611bae565b8091505b5092915050565b6000610cc883831115611bae565b508082035b92915050565b6000828201610c6d84821015611bae565b8091505b5092915050565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d855780601f10610d5a57610100808354040283529160200191610d85565b820191906000526020600020905b815481529060010190602001808311610d6857829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60065481565b6000600160a060020a0383161515610e1757600080fd5b600160a060020a038416600090815260016020526040902054821115610e3c57600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610e6f57600080fd5b600160a060020a038416600090815260016020526040902054610e98908363ffffffff610cba16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610ecd908363ffffffff610cd316565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610f15908363ffffffff610cba16565b600160a060020a0380861660008181526002602090815260408083203386168452909152908190209390935590851691600080516020611c5f8339815191529085905190815260200160405180910390a35060015b9392505050565b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b50505060405180519050600160a060020a0316141515610fed57600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091557fe71c3b383040a457ea5badfa68b8a64d005e47d1ee10ab58632e7dc11c3c398560405160405180910390a25b5b50565b600a54600160a060020a031681565b600c54600160a060020a031681565b60055460ff1681565b60075481565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110c257600080fd5b6102c65a03f115156110d357600080fd5b50505060405180519050600160a060020a03161415156110f257600080fd5b600160a060020a03821660009081526001602052604090205461111b908263ffffffff610cd316565b600160a060020a038316600090815260016020526040902055600654611147908263ffffffff610cd316565b600681905560075490111561115b57600080fd5b81600160a060020a03167f9f494565851dbcb31fb5198ca217cda6833282fadb96ba9431bd19c82afc1dd38260405190815260200160405180910390a2600160a060020a0382166000600080516020611c5f8339815191528360405190815260200160405180910390a35b5b5050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561121757600080fd5b6102c65a03f1151561122857600080fd5b50505060405180519050600160a060020a031614151561124757600080fd5b60075461125a908263ffffffff610cd316565b6007557ff26240677c6bead94226ad1a428dce65c8194a0eede73b1bcf5e81fa2e4163068160405190815260200160405180910390a15b5b50565b600160a060020a0381166000908152600160205260409020545b919050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561130057600080fd5b6102c65a03f1151561131157600080fd5b50505060405180519050600160a060020a031614151561133057600080fd5b600754611343908263ffffffff610cba16565b600654111561135157600080fd5b600754611364908263ffffffff610cba16565b6007557fcda68e5d11151131100612aea234a65e3e5a4386aeb812e92d726f4c379274898160405190815260200160405180910390a15b5b50565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d855780601f10610d5a57610100808354040283529160200191610d85565b820191906000526020600020905b815481529060010190602001808311610d6857829003601f168201915b505050505081565b60095481565b61144d83836114a2565b508183600160a060020a031633600160a060020a03167fa3fca67715bc310846e7f86e7a83f261d7e6771a25e116797ff651b19cb0885e8460405190815260200160405180910390a45b505050565b60085481565b6000604060443610156114b457600080fd5b600160a060020a03841615156114c957600080fd5b600160a060020a0333166000908152600160205260409020548311156114ee57600080fd5b600160a060020a033316600090815260016020526040902054611517908463ffffffff610cba16565b600160a060020a03338116600090815260016020526040808220939093559086168152205461154c908463ffffffff610cd316565b600160a060020a038086166000818152600160205260409081902093909355913390911690600080516020611c5f8339815191529086905190815260200160405180910390a3600191505b5b5092915050565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156115eb57600080fd5b6102c65a03f115156115fc57600080fd5b50505060405180519050600160a060020a031614151561161b57600080fd5b600481805161162e929160200190611bbe565b507fe4c01bbbeee6a02394698d8ad0521227a670864e53589c6832313eed0e87a1318160405160208082528190810183818151815260200191508051906020019080838360005b8381101561168e5780820151818401525b602001611675565b50505050905090810190601f1680156116bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561171957600080fd5b6102c65a03f1151561172a57600080fd5b50505060405180519050600160a060020a031614151561174957600080fd5b600381805161175c929160200190611bbe565b507f331c5d60a79e667febb5206348001d7c0534579b2095f078cbceb2e538d632f38160405160208082528190810183818151815260200191508051906020019080838360005b8381101561168e5780820151818401525b602001611675565b50505050905090810190601f1680156116bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b600b54600160a060020a03338116911663c1918e906000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561184757600080fd5b6102c65a03f1151561185857600080fd5b50505060405180519050600160a060020a031614151561187757600080fd5b600a805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383169081179091557f121ab65bd55322d3431da7dfe39bc9937ddffe4ff99f1d2a2fe2074569e62d1860405160405180910390a25b5b50565b606060643610156118e357600080fd5b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561192f57600080fd5b6102c65a03f1151561194057600080fd5b50505060405180519050600160a060020a031614151561195f57600080fd5b600160a060020a038316600090815260016020526040902054611988908363ffffffff610cba16565b600160a060020a0380851660009081526001602052604080822093909355908616815220546119bd908363ffffffff610cd316565b600160a060020a038086166000818152600160205260409081902093909355908516917f5306a5af97234a2a0b6f245ecad36b4311e80ef0cd4d57e0fca893c2fd6d75679085905190815260200160405180910390a382600160a060020a031684600160a060020a0316600080516020611c5f8339815191528460405190815260200160405180910390a35b5b5b50505050565b600a5474010000000000000000000000000000000000000000900460ff1681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600b54600160a060020a031681565b600b54600160a060020a033381169116631516def76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611afa57600080fd5b6102c65a03f11515611b0b57600080fd5b50505060405180519050600160a060020a0316141515611b2a57600080fd5b600a805460ff74010000000000000000000000000000000000000000808304821615810274ff00000000000000000000000000000000000000001990931692909217928390557fb7a1c236b2f9981d664453771400857fbdd634e133fad48256b10ef144f42481929190910416604051901515815260200160405180910390a15b5b565b80151561104557600080fd5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611bff57805160ff1916838001178555611c2c565b82800160010185558215611c2c579182015b82811115611c2c578251825591602001919060010190611c11565b5b50611c39929150611c3d565b5090565b611c5b91905b80821115611c395760008155600101611c43565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582024345b3629a55ac4b92d11a44b0c8935f6aee5633c3b91767ef78d28761ea67b0029
Swarm Source
bzzr://24345b3629a55ac4b92d11a44b0c8935f6aee5633c3b91767ef78d28761ea67b
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.