Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 9756049 | 1700 days ago | IN | 0 ETH | 0.00225515 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
tokenService
Compiler Version
v0.6.1+commit.e6f7d5a4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-03-29 */ pragma solidity ^0.6.0; interface publicCalls { function setOwnerTokenService ( ) external; function tokenCreatedSet ( address _address, address _tokenCreated ) external; function tokenICOCreatedSet ( address _address, address _tokenICOCreated ) external; function amountOfMNEForToken ( ) external view returns ( uint256 ); function amountOfMNEForTokenICO ( ) external view returns ( uint256 ); function ethFeeForToken ( ) external view returns ( uint256 ); function ethFeeForTokenICO ( ) external view returns ( uint256 ); function tokenWithoutICOCount ( ) external view returns ( uint256 ); function tokenICOCount ( ) external view returns ( uint256 ); function tokenWithoutICOCountSet ( uint256 _tokenWithoutICOCount ) external; function tokenICOCountSet ( uint256 _tokenICOCount ) external; } interface genesis { function availableBalanceOf ( address _address ) external view returns ( uint256 Balance ); } contract tokenService { address public ownerMain = 0x0000000000000000000000000000000000000000; address public updaterAddress = 0x0000000000000000000000000000000000000000; function setUpdater() public {if (updaterAddress == 0x0000000000000000000000000000000000000000) updaterAddress = msg.sender; else revert();} function updaterSetOwnerMain(address _address) public {if (tx.origin == updaterAddress) ownerMain = _address; else revert();} function setOwnerMain() public { if (tx.origin == updaterAddress) ownerMain = msg.sender; else revert(); } modifier onlyOwner(){ require(msg.sender == ownerMain); _; } publicCalls public pc; genesis public gn; constructor(address _publicCallsAddress, address _genesisAddress) public { setUpdater(); pc = publicCalls(_publicCallsAddress); pc.setOwnerTokenService(); gn = genesis(_genesisAddress); } function reloadGenesis(address _address) public { if (msg.sender == updaterAddress) { gn = genesis(_address); } else revert(); } function reloadPublicCalls(address _address, uint code) public { if (!(code == 1234)) revert(); if (msg.sender == updaterAddress) {pc = publicCalls(_address); pc.setOwnerTokenService();} else revert();} event CreateTokenHistory(address indexed _owner, address indexed _address); event CreateTokenICOHistory(address indexed _owner, address indexed _address); function CreateToken(address _from, uint256 _msgvalue) public onlyOwner returns (uint256 _mneToBurn, address _address) { uint256 mneToBurn = pc.amountOfMNEForToken(); if (!(gn.availableBalanceOf(_from) >= mneToBurn)) revert('(!(gn.availableBalanceOf(_from) >= mneToBurn))'); uint256 feesToPayToContract = pc.ethFeeForToken(); uint256 feesToPayToSeller = 0; uint256 feesGeneralToPayToContract = (feesToPayToContract + feesToPayToSeller) * 0; uint256 totalToSend = feesToPayToContract + feesToPayToSeller + feesGeneralToPayToContract; if (!(_msgvalue == totalToSend)) revert('(!(_msgvalue == totalToSend))'); Token token = new Token(_from); pc.tokenCreatedSet(_from, address(token)); emit CreateTokenHistory(_from, address(token)); pc.tokenWithoutICOCountSet(pc.tokenWithoutICOCount() + 1); return (mneToBurn, address(token)); } function CreateTokenICO(address _from, uint256 _msgvalue) public onlyOwner returns (uint256 _mneToBurn, address _address) { uint256 mneToBurn = pc.amountOfMNEForTokenICO(); if (!(gn.availableBalanceOf(_from) >= mneToBurn)) revert('(!(gn.availableBalanceOf(_from) >= mneToBurn))'); uint256 feesToPayToContract = pc.ethFeeForTokenICO(); uint256 feesToPayToSeller = 0; uint256 feesGeneralToPayToContract = (feesToPayToContract + feesToPayToSeller) * 0; uint256 totalToSend = feesToPayToContract + feesToPayToSeller + feesGeneralToPayToContract; if (!(_msgvalue == totalToSend)) revert('(!(_msgvalue == totalToSend))'); TokenICO token = new TokenICO(payable(_from)); pc.tokenICOCreatedSet(_from, address(token)); emit CreateTokenICOHistory(_from, address(token)); pc.tokenICOCountSet(pc.tokenICOCount() + 1); return (mneToBurn, address(token)); } } contract Token { string public symbol = ""; string public name = ""; uint8 public constant decimals = 18; uint256 _totalSupply = 0; address owner = 0x0000000000000000000000000000000000000000; bool setupDone = false; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; constructor(address adr) public { owner = adr; } function SetupToken(string memory tokenName, string memory tokenSymbol, uint256 tokenSupply) public { if (msg.sender == owner && setupDone == false) { symbol = tokenSymbol; name = tokenName; _totalSupply = tokenSupply * 1000000000000000000; balances[owner] = _totalSupply; setupDone = true; } } function totalSupply() public view returns (uint256 totalSupply) { return _totalSupply; } function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } function transfer(address _to, uint256 _amount) public returns (bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[msg.sender] -= _amount; balances[_to] += _amount; emit Transfer(msg.sender, _to, _amount); return true; } else { return false; } } function transferFrom( address _from, address _to, uint256 _amount ) public returns (bool success) { if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[_from] -= _amount; allowed[_from][msg.sender] -= _amount; balances[_to] += _amount; emit Transfer(_from, _to, _amount); return true; } else { return false; } } function approve(address _spender, uint256 _amount) public returns (bool success) { allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } } contract TokenICO { string public symbol = ""; string public name = ""; uint8 public constant decimals = 18; string public constant ICOFactoryVersion = "1.0"; uint256 _totalSupply = 0; uint256 _oneEtherEqualsInWei = 0; uint256 _maxICOpublicSupply = 0; uint256 _ownerICOsupply = 0; uint256 _currentICOpublicSupply = 0; uint256 _blockICOdatetime = 0; address payable _ICOfundsReceiverAddress = 0x0000000000000000000000000000000000000000; address _remainingTokensReceiverAddress = 0x0000000000000000000000000000000000000000; address payable owner = 0x0000000000000000000000000000000000000000; bool setupDone = false; bool isICOrunning = false; bool ICOstarted = false; uint256 ICOoverTimestamp = 0; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Burn(address indexed _owner, uint256 _value); mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; constructor(address payable adr) public { owner = adr; } receive() external payable { if ((isICOrunning && _blockICOdatetime == 0) || (isICOrunning && _blockICOdatetime > 0 && now <= _blockICOdatetime)) { uint256 _amount = ((msg.value * _oneEtherEqualsInWei) / 1000000000000000000); if (((_currentICOpublicSupply + _amount) > _maxICOpublicSupply) && _maxICOpublicSupply > 0) revert(); if(!_ICOfundsReceiverAddress.send(msg.value)) revert(); _currentICOpublicSupply += _amount; balances[msg.sender] += _amount; _totalSupply += _amount; emit Transfer(address(this), msg.sender, _amount); } else { revert(); } } function SetupToken(string memory tokenName, string memory tokenSymbol, uint256 oneEtherEqualsInWei, uint256 maxICOpublicSupply, uint256 ownerICOsupply, address remainingTokensReceiverAddress, address payable ICOfundsReceiverAddress, uint256 blockICOdatetime) public { if (msg.sender == owner && !setupDone) { symbol = tokenSymbol; name = tokenName; _oneEtherEqualsInWei = oneEtherEqualsInWei; _maxICOpublicSupply = maxICOpublicSupply * 1000000000000000000; if (ownerICOsupply > 0) { _ownerICOsupply = ownerICOsupply * 1000000000000000000; _totalSupply = _ownerICOsupply; balances[owner] = _totalSupply; emit Transfer(address(this), owner, _totalSupply); } _ICOfundsReceiverAddress = ICOfundsReceiverAddress; if (_ICOfundsReceiverAddress == 0x0000000000000000000000000000000000000000) _ICOfundsReceiverAddress = owner; _remainingTokensReceiverAddress = remainingTokensReceiverAddress; _blockICOdatetime = blockICOdatetime; setupDone = true; } } function StartICO() public returns (bool success) { if (msg.sender == owner && !ICOstarted && setupDone) { ICOstarted = true; isICOrunning = true; } else { revert(); } return true; } function StopICO() public returns (bool success) { if (msg.sender == owner && isICOrunning) { if (_remainingTokensReceiverAddress != 0x0000000000000000000000000000000000000000 && _maxICOpublicSupply > 0) { uint256 _remainingAmount = _maxICOpublicSupply - _currentICOpublicSupply; if (_remainingAmount > 0) { balances[_remainingTokensReceiverAddress] += _remainingAmount; _totalSupply += _remainingAmount; emit Transfer(address(this), _remainingTokensReceiverAddress, _remainingAmount); } } isICOrunning = false; ICOoverTimestamp = now; } else { revert(); } return true; } function BurnTokens(uint256 amountInWei) public returns (bool success) { if (balances[msg.sender] >= amountInWei) { balances[msg.sender] -= amountInWei; _totalSupply -= amountInWei; emit Burn(msg.sender, amountInWei); emit Transfer(msg.sender, 0x0000000000000000000000000000000000000000, amountInWei); } else { revert(); } return true; } function totalSupply() public view returns (uint256 totalSupplyValue) { return _totalSupply; } function OneEtherEqualsInWei() public view returns (uint256 oneEtherEqualsInWei) { return _oneEtherEqualsInWei; } function MaxICOpublicSupply() public view returns (uint256 maxICOpublicSupply) { return _maxICOpublicSupply; } function OwnerICOsupply() public view returns (uint256 ownerICOsupply) { return _ownerICOsupply; } function CurrentICOpublicSupply() public view returns (uint256 currentICOpublicSupply) { return _currentICOpublicSupply; } function RemainingTokensReceiverAddress() public view returns (address remainingTokensReceiverAddress) { return _remainingTokensReceiverAddress; } function ICOfundsReceiverAddress() public view returns (address ICOfundsReceiver) { return _ICOfundsReceiverAddress; } function Owner() public view returns (address ownerAddress) { return owner; } function SetupDone() public view returns (bool setupDoneFlag) { return setupDone; } function IsICOrunning() public view returns (bool isICOrunningFalg) { return isICOrunning; } function IsICOstarted() public view returns (bool isICOstartedFlag) { return ICOstarted; } function ICOoverTimeStamp() public view returns (uint256 ICOoverTimestampCheck) { return ICOoverTimestamp; } function BlockICOdatetime() public view returns (uint256 blockStopICOdate) { return _blockICOdatetime; } function TimeNow() public view returns (uint256 timenow) { return now; } function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } function transfer(address _to, uint256 _amount) public returns (bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[msg.sender] -= _amount; balances[_to] += _amount; emit Transfer(msg.sender, _to, _amount); return true; } else { return false; } } function transferFrom( address _from, address _to, uint256 _amount ) public returns (bool success) { if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[_from] -= _amount; allowed[_from][msg.sender] -= _amount; balances[_to] += _amount; emit Transfer(_from, _to, _amount); return true; } else { return false; } } function approve(address _spender, uint256 _amount) public returns (bool success) { allowed[msg.sender][_spender] = _amount; emit Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_publicCallsAddress","type":"address"},{"internalType":"address","name":"_genesisAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"CreateTokenICOHistory","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_msgvalue","type":"uint256"}],"name":"CreateToken","outputs":[{"internalType":"uint256","name":"_mneToBurn","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_msgvalue","type":"uint256"}],"name":"CreateTokenICO","outputs":[{"internalType":"uint256","name":"_mneToBurn","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gn","outputs":[{"internalType":"contract genesis","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerMain","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pc","outputs":[{"internalType":"contract publicCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicCalls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updaterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600080546001600160a01b031990811690915560018054909116905534801561002c57600080fd5b506040516127643803806127648339818101604052604081101561004f57600080fd5b5080516020909101516100696001600160e01b0361010616565b600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156100c657600080fd5b505af11580156100da573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b03949094169390931790925550610134915050565b6001546001600160a01b031661012d57600180546001600160a01b03191633179055610132565b600080fd5b565b612621806101436000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806393c63b9d1161007157806393c63b9d14610136578063a472591c1461015c578063b378e89b146101a9578063e2412630146101d5578063e69919ae146101dd578063fdbc6530146101e5576100a9565b806313b9f0c7146100ae57806327d4da0e146100b85780633118f543146100de5780637366881714610102578063919e0b791461012e575b600080fd5b6100b66101ed565b005b6100b6600480360360208110156100ce57600080fd5b50356001600160a01b0316610215565b6100e6610247565b604080516001600160a01b039092168252519081900360200190f35b6100b66004803603604081101561011857600080fd5b506001600160a01b038135169060200135610256565b6100e66102f0565b6100b66004803603602081101561014c57600080fd5b50356001600160a01b03166102ff565b6101886004803603604081101561017257600080fd5b506001600160a01b038135169060200135610332565b604080519283526001600160a01b0390911660208301528051918290030190f35b610188600480360360408110156101bf57600080fd5b506001600160a01b038135169060200135610709565b6100b6610a4c565b6100e6610a73565b6100e6610a82565b6001546001600160a01b03163214156100a957600080546001600160a01b031916331790555b565b6001546001600160a01b03163214156100a957600080546001600160a01b0319166001600160a01b0383161790555b50565b6003546001600160a01b031681565b806104d21461026457600080fd5b6001546001600160a01b03163314156100a957600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031681565b6001546001600160a01b03163314156100a957600380546001600160a01b0319166001600160a01b038316179055610244565b6000805481906001600160a01b0316331461034c57600080fd5b6002546040805163c2baa78960e01b815290516000926001600160a01b03169163c2baa789916004808301926020929190829003018186803b15801561039157600080fd5b505afa1580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b15801561040f57600080fd5b505afa158015610423573d6000803e3d6000fd5b505050506040513d602081101561043957600080fd5b505110156104785760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163d26980ad60e01b815290516000926001600160a01b03169163d26980ad916004808301926020929190829003018186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d60208110156104e757600080fd5b5051905060008082878114610543576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161055290610a91565b6001600160a01b03909116815260405190819003602001906000f08015801561057f573d6000803e3d6000fd5b506002546040805163045cbb9360e21b81526001600160a01b038e8116600483015280851660248301529151939450911691631172ee4c9160448082019260009290919082900301818387803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507faccab6f21368253d0a59267d673766b05cce40512fe834ac5dfb3c034b53a8ad90600090a36002546040805163b19a948b60e01b815290516001600160a01b039092169163adf1923c91839163b19a948b91600480820192602092909190829003018186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d602081101561069f57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b50979c929b50919950505050505050505050565b6000805481906001600160a01b0316331461072357600080fd5b6002546040805163c1e786d560e01b815290516000926001600160a01b03169163c1e786d5916004808301926020929190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051101561084f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163217dd64560e01b815290516000926001600160a01b03169163217dd645916004808301926020929190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b505190506000808287811461091a576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161092990610a9e565b6001600160a01b03909116815260405190819003602001906000f080158015610956573d6000803e3d6000fd5b506002546040805163824eca6f60e01b81526001600160a01b038e811660048301528085166024830152915193945091169163824eca6f9160448082019260009290919082900301818387803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507f1de1df184536fe176d3bab87fb15d6cf9d42f06a12e6a35b4611568bcb0d688e90600090a3600254604080516353ef781160e01b815290516001600160a01b0390921691638ffb7c529183916353ef781191600480820192602092909190829003018186803b15801561067557600080fd5b6001546001600160a01b03166100a957600180546001600160a01b03191633179055610213565b6002546001600160a01b031681565b6001546001600160a01b031681565b61116a80610aac83390190565b6109a880611c168339019056fe60a0604081905260006080819052620000199181620000e4565b506040805160208101918290526000908190526200003a91600191620000e4565b506000600281905560038190556004819055600581905560068190556007819055600880546001600160a01b0319908116909155600980549091169055600a80546001600160b81b0319169055600b553480156200009757600080fd5b506040516200116a3803806200116a83398181016040526020811015620000bd57600080fd5b5051600a80546001600160a01b0319166001600160a01b0390921691909117905562000189565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012757805160ff191683800117855562000157565b8280016001018555821562000157579182015b82811115620001575782518255916020019190600101906200013a565b506200016592915062000169565b5090565b6200018691905b8082111562000165576000815560010162000170565b90565b610fd180620001996000396000f3fe6080604052600436106101a05760003560e01c80636a6b8077116100ec578063a9059cbb1161008a578063b67ddf2011610064578063b67ddf201461075d578063c21bbe5614610772578063d21ceba014610787578063dd62ed3e1461079c576102ad565b8063a9059cbb146106fa578063b4a99a4e14610733578063b597842a14610748576102ad565b806374c77b52116100c657806374c77b52146105565780637ed40602146106bb57806395878da6146106d057806395d89b41146106e5576102ad565b80636a6b8077146104f95780636eba68f91461050e57806370a0823114610523576102ad565b80632cd3fd701161015957806339bc91fa1161013357806339bc91fa146104895780633dbedbd41461049e5780634b2930d0146104b357806361b930ae146104c8576102ad565b80632cd3fd701461041f5780632f0dbae114610449578063313ce5671461045e576102ad565b806306fdde03146102b4578063095ea7b31461033e57806318160ddd1461038b5780631fd3dd97146103b25780632091f2d9146103c757806323b872dd146103dc576102ad565b366102ad57600a54600160a81b900460ff1680156101be5750600754155b806101ed5750600a54600160a81b900460ff1680156101df57506000600754115b80156101ed57506007544211155b156102ad576000670de0b6b3a764000060035434028161020957fe5b049050600454816006540111801561022357506000600454115b1561022d57600080fd5b6008546040516001600160a01b03909116903480156108fc02916000818181858888f1935050505061025e57600080fd5b6006805482019055336000818152600c60209081526040918290208054850190556002805485019055815184815291513092600080516020610f7c83398151915292908290030190a3506102b2565b600080fd5b005b3480156102c057600080fd5b506102c96107d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610864565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103a06108cb565b60408051918252519081900360200190f35b3480156103be57600080fd5b506103a06108d2565b3480156103d357600080fd5b506103a06108d8565b3480156103e857600080fd5b50610377600480360360608110156103ff57600080fd5b506001600160a01b038135811691602081013590911690604001356108de565b34801561042b57600080fd5b506103776004803603602081101561044257600080fd5b50356109de565b34801561045557600080fd5b506103a0610a76565b34801561046a57600080fd5b50610473610a7c565b6040805160ff9092168252519081900360200190f35b34801561049557600080fd5b506103a0610a81565b3480156104aa57600080fd5b50610377610a87565b3480156104bf57600080fd5b50610377610b50565b3480156104d457600080fd5b506104dd610b60565b604080516001600160a01b039092168252519081900360200190f35b34801561050557600080fd5b50610377610b6f565b34801561051a57600080fd5b506102c9610bd7565b34801561052f57600080fd5b506103a06004803603602081101561054657600080fd5b50356001600160a01b0316610bf6565b34801561056257600080fd5b506102b2600480360361010081101561057a57600080fd5b81019060208101813564010000000081111561059557600080fd5b8201836020820111156105a757600080fd5b803590602001918460018302840111640100000000831117156105c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561061c57600080fd5b82018360208201111561062e57600080fd5b8035906020019184600183028401116401000000008311171561065057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135610c11565b3480156106c757600080fd5b50610377610d63565b3480156106dc57600080fd5b506103a0610d73565b3480156106f157600080fd5b506102c9610d79565b34801561070657600080fd5b506103776004803603604081101561071d57600080fd5b506001600160a01b038135169060200135610dd4565b34801561073f57600080fd5b506104dd610e80565b34801561075457600080fd5b506103a0610e8f565b34801561076957600080fd5b506103a0610e93565b34801561077e57600080fd5b50610377610e99565b34801561079357600080fd5b506104dd610ea9565b3480156107a857600080fd5b506103a0600480360360408110156107bf57600080fd5b506001600160a01b0381358116916020013516610eb8565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b820191906000526020600020905b81548152906001019060200180831161083f57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b60035490565b600b5490565b6001600160a01b0383166000908152600c6020526040812054821180159061092957506001600160a01b0384166000908152600d602090815260408083203384529091529020548211155b80156109355750600082115b801561095a57506001600160a01b0383166000908152600c6020526040902054828101115b156109d3576001600160a01b038085166000818152600c6020818152604080842080548990039055600d825280842033855282528084208054899003905594881680845291815291849020805487019055835186815293519093600080516020610f7c83398151915292908290030190a35060016109d7565b5060005b9392505050565b336000908152600c602052604081205482116102ad57336000818152600c602090815260409182902080548690039055600280548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805183815290516000913391600080516020610f7c8339815191529181900360200190a3506001919050565b60045490565b601281565b60055490565b600a546000906001600160a01b031633148015610aad5750600a54600160a81b900460ff165b156102ad576009546001600160a01b031615801590610ace57506000600454115b15610b3857600654600454038015610b3657600980546001600160a01b039081166000908152600c602090815260409182902080548601905560028054860190559254815185815291519216923092600080516020610f7c8339815191529281900390910190a35b505b600a805460ff60a81b1916905542600b555b50600190565b600a54600160a81b900460ff1690565b6008546001600160a01b031690565b600a546000906001600160a01b031633148015610b965750600a54600160b01b900460ff16155b8015610bab5750600a54600160a01b900460ff165b156102ad57600a805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b179055610b4a565b604051806040016040528060038152602001620312e360ec1b81525081565b6001600160a01b03166000908152600c602052604090205490565b600a546001600160a01b031633148015610c355750600a54600160a01b900460ff16155b15610d59578651610c4d9060009060208a0190610ee3565b508751610c619060019060208b0190610ee3565b506003869055670de0b6b3a764000085026004558315610cda57670de0b6b3a7640000840260058190556002819055600a80546001600160a01b039081166000908152600c60209081526040918290208590559254815194855290519116923092600080516020610f7c83398151915292918290030190a35b600880546001600160a01b0319166001600160a01b03848116919091179182905516610d2357600a54600880546001600160a01b0319166001600160a01b039092169190911790555b600980546001600160a01b0385166001600160a01b03199091161790556007819055600a805460ff60a01b1916600160a01b1790555b5050505050505050565b600a54600160b01b900460ff1690565b60065490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b336000908152600c60205260408120548211801590610df35750600082115b8015610e1857506001600160a01b0383166000908152600c6020526040902054828101115b15610e7857336000818152600c60209081526040808320805487900390556001600160a01b0387168084529281902080548701905580518681529051929392600080516020610f7c833981519152929181900390910190a35060016108c5565b5060006108c5565b600a546001600160a01b031690565b4290565b60075490565b600a54600160a01b900460ff1690565b6009546001600160a01b031690565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f2457805160ff1916838001178555610f51565b82800160010185558215610f51579182015b82811115610f51578251825591602001919060010190610f36565b50610f5d929150610f61565b5090565b6108cf91905b80821115610f5d5760008155600101610f6756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ec566b9312d90f1e0bc33bcf20cc694729711abe25ceda5cd386913146c37bf564736f6c6343000601003360a060408190526000608081905261001791816100a1565b50604080516020810191829052600090819052610036916001916100a1565b506000600255600380546001600160a81b031916905534801561005857600080fd5b506040516109a83803806109a88339818101604052602081101561007b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905561013c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e257805160ff191683800117855561010f565b8280016001018555821561010f579182015b8281111561010f5782518255916020019190600101906100f4565b5061011b92915061011f565b5090565b61013991905b8082111561011b5760008155600101610125565b90565b61085d8061014b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101ce57806395d89b41146101f4578063a9059cbb146101fc578063b6d2a9b914610228578063dd62ed3e146103595761009e565b806306fdde03146100a3578063095ea7b31461012057806318160ddd1461016057806323b872dd1461017a578063313ce567146101b0575b600080fd5b6100ab610387565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e55781810151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61014c6004803603604081101561013657600080fd5b506001600160a01b038135169060200135610414565b604080519115158252519081900360200190f35b61016861047b565b60408051918252519081900360200190f35b61014c6004803603606081101561019057600080fd5b506001600160a01b03813581169160208101359091169060400135610482565b6101b8610594565b6040805160ff9092168252519081900360200190f35b610168600480360360208110156101e457600080fd5b50356001600160a01b0316610599565b6100ab6105b4565b61014c6004803603604081101561021257600080fd5b506001600160a01b03813516906020013561060f565b6103576004803603606081101561023e57600080fd5b81019060208101813564010000000081111561025957600080fd5b82018360208201111561026b57600080fd5b8035906020019184600183028401116401000000008311171561028d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102e057600080fd5b8201836020820111156102f257600080fd5b8035906020019184600183028401116401000000008311171561031457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506106cd915050565b005b6101686004803603604081101561036f57600080fd5b506001600160a01b0381358116916020013516610764565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b6001600160a01b03831660009081526004602052604081205482118015906104cd57506001600160a01b03841660009081526005602090815260408083203384529091529020548211155b80156104d95750600082115b80156104fe57506001600160a01b038316600090815260046020526040902054828101115b15610589576001600160a01b0380851660008181526004602081815260408084208054899003905560058252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a350600161058d565b5060005b9392505050565b601281565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b33600090815260046020526040812054821180159061062e5750600082115b801561065357506001600160a01b038316600090815260046020526040902054828101115b156106c557336000818152600460209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001610475565b506000610475565b6003546001600160a01b0316331480156106f15750600354600160a01b900460ff16155b1561075f57815161070990600090602085019061078f565b50825161071d90600190602086019061078f565b50670de0b6b3a764000081026002819055600380546001600160a01b0316600090815260046020526040902091909155805460ff60a01b1916600160a01b1790555b505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107d057805160ff19168380011785556107fd565b828001600101855582156107fd579182015b828111156107fd5782518255916020019190600101906107e2565b5061080992915061080d565b5090565b61047f91905b80821115610809576000815560010161081356fea2646970667358221220d30252092212adac029040dc0fecb3d5cc1e7505b53299eb26d1a220fdcccffc64736f6c63430006010033282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929a26469706673582212202503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e64736f6c6343000601003300000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806393c63b9d1161007157806393c63b9d14610136578063a472591c1461015c578063b378e89b146101a9578063e2412630146101d5578063e69919ae146101dd578063fdbc6530146101e5576100a9565b806313b9f0c7146100ae57806327d4da0e146100b85780633118f543146100de5780637366881714610102578063919e0b791461012e575b600080fd5b6100b66101ed565b005b6100b6600480360360208110156100ce57600080fd5b50356001600160a01b0316610215565b6100e6610247565b604080516001600160a01b039092168252519081900360200190f35b6100b66004803603604081101561011857600080fd5b506001600160a01b038135169060200135610256565b6100e66102f0565b6100b66004803603602081101561014c57600080fd5b50356001600160a01b03166102ff565b6101886004803603604081101561017257600080fd5b506001600160a01b038135169060200135610332565b604080519283526001600160a01b0390911660208301528051918290030190f35b610188600480360360408110156101bf57600080fd5b506001600160a01b038135169060200135610709565b6100b6610a4c565b6100e6610a73565b6100e6610a82565b6001546001600160a01b03163214156100a957600080546001600160a01b031916331790555b565b6001546001600160a01b03163214156100a957600080546001600160a01b0319166001600160a01b0383161790555b50565b6003546001600160a01b031681565b806104d21461026457600080fd5b6001546001600160a01b03163314156100a957600280546001600160a01b0319166001600160a01b03848116919091179182905560408051630eaa789d60e41b81529051929091169163eaa789d09160048082019260009290919082900301818387803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031681565b6001546001600160a01b03163314156100a957600380546001600160a01b0319166001600160a01b038316179055610244565b6000805481906001600160a01b0316331461034c57600080fd5b6002546040805163c2baa78960e01b815290516000926001600160a01b03169163c2baa789916004808301926020929190829003018186803b15801561039157600080fd5b505afa1580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b15801561040f57600080fd5b505afa158015610423573d6000803e3d6000fd5b505050506040513d602081101561043957600080fd5b505110156104785760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163d26980ad60e01b815290516000926001600160a01b03169163d26980ad916004808301926020929190829003018186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d60208110156104e757600080fd5b5051905060008082878114610543576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161055290610a91565b6001600160a01b03909116815260405190819003602001906000f08015801561057f573d6000803e3d6000fd5b506002546040805163045cbb9360e21b81526001600160a01b038e8116600483015280851660248301529151939450911691631172ee4c9160448082019260009290919082900301818387803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507faccab6f21368253d0a59267d673766b05cce40512fe834ac5dfb3c034b53a8ad90600090a36002546040805163b19a948b60e01b815290516001600160a01b039092169163adf1923c91839163b19a948b91600480820192602092909190829003018186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d602081101561069f57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156106e157600080fd5b505af11580156106f5573d6000803e3d6000fd5b50979c929b50919950505050505050505050565b6000805481906001600160a01b0316331461072357600080fd5b6002546040805163c1e786d560e01b815290516000926001600160a01b03169163c1e786d5916004808301926020929190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b5051600354604080516325d998bb60e01b81526001600160a01b0389811660048301529151939450849391909216916325d998bb916024808301926020929190829003018186803b1580156107e657600080fd5b505afa1580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b5051101561084f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806125be602e913960400191505060405180910390fd5b6002546040805163217dd64560e01b815290516000926001600160a01b03169163217dd645916004808301926020929190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b505190506000808287811461091a576040805162461bcd60e51b815260206004820152601d60248201527f2821285f6d736776616c7565203d3d20746f74616c546f53656e642929000000604482015290519081900360640190fd5b60008960405161092990610a9e565b6001600160a01b03909116815260405190819003602001906000f080158015610956573d6000803e3d6000fd5b506002546040805163824eca6f60e01b81526001600160a01b038e811660048301528085166024830152915193945091169163824eca6f9160448082019260009290919082900301818387803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b50506040516001600160a01b0380851693508d1691507f1de1df184536fe176d3bab87fb15d6cf9d42f06a12e6a35b4611568bcb0d688e90600090a3600254604080516353ef781160e01b815290516001600160a01b0390921691638ffb7c529183916353ef781191600480820192602092909190829003018186803b15801561067557600080fd5b6001546001600160a01b03166100a957600180546001600160a01b03191633179055610213565b6002546001600160a01b031681565b6001546001600160a01b031681565b61116a80610aac83390190565b6109a880611c168339019056fe60a0604081905260006080819052620000199181620000e4565b506040805160208101918290526000908190526200003a91600191620000e4565b506000600281905560038190556004819055600581905560068190556007819055600880546001600160a01b0319908116909155600980549091169055600a80546001600160b81b0319169055600b553480156200009757600080fd5b506040516200116a3803806200116a83398181016040526020811015620000bd57600080fd5b5051600a80546001600160a01b0319166001600160a01b0390921691909117905562000189565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012757805160ff191683800117855562000157565b8280016001018555821562000157579182015b82811115620001575782518255916020019190600101906200013a565b506200016592915062000169565b5090565b6200018691905b8082111562000165576000815560010162000170565b90565b610fd180620001996000396000f3fe6080604052600436106101a05760003560e01c80636a6b8077116100ec578063a9059cbb1161008a578063b67ddf2011610064578063b67ddf201461075d578063c21bbe5614610772578063d21ceba014610787578063dd62ed3e1461079c576102ad565b8063a9059cbb146106fa578063b4a99a4e14610733578063b597842a14610748576102ad565b806374c77b52116100c657806374c77b52146105565780637ed40602146106bb57806395878da6146106d057806395d89b41146106e5576102ad565b80636a6b8077146104f95780636eba68f91461050e57806370a0823114610523576102ad565b80632cd3fd701161015957806339bc91fa1161013357806339bc91fa146104895780633dbedbd41461049e5780634b2930d0146104b357806361b930ae146104c8576102ad565b80632cd3fd701461041f5780632f0dbae114610449578063313ce5671461045e576102ad565b806306fdde03146102b4578063095ea7b31461033e57806318160ddd1461038b5780631fd3dd97146103b25780632091f2d9146103c757806323b872dd146103dc576102ad565b366102ad57600a54600160a81b900460ff1680156101be5750600754155b806101ed5750600a54600160a81b900460ff1680156101df57506000600754115b80156101ed57506007544211155b156102ad576000670de0b6b3a764000060035434028161020957fe5b049050600454816006540111801561022357506000600454115b1561022d57600080fd5b6008546040516001600160a01b03909116903480156108fc02916000818181858888f1935050505061025e57600080fd5b6006805482019055336000818152600c60209081526040918290208054850190556002805485019055815184815291513092600080516020610f7c83398151915292908290030190a3506102b2565b600080fd5b005b3480156102c057600080fd5b506102c96107d7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103035781810151838201526020016102eb565b50505050905090810190601f1680156103305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034a57600080fd5b506103776004803603604081101561036157600080fd5b506001600160a01b038135169060200135610864565b604080519115158252519081900360200190f35b34801561039757600080fd5b506103a06108cb565b60408051918252519081900360200190f35b3480156103be57600080fd5b506103a06108d2565b3480156103d357600080fd5b506103a06108d8565b3480156103e857600080fd5b50610377600480360360608110156103ff57600080fd5b506001600160a01b038135811691602081013590911690604001356108de565b34801561042b57600080fd5b506103776004803603602081101561044257600080fd5b50356109de565b34801561045557600080fd5b506103a0610a76565b34801561046a57600080fd5b50610473610a7c565b6040805160ff9092168252519081900360200190f35b34801561049557600080fd5b506103a0610a81565b3480156104aa57600080fd5b50610377610a87565b3480156104bf57600080fd5b50610377610b50565b3480156104d457600080fd5b506104dd610b60565b604080516001600160a01b039092168252519081900360200190f35b34801561050557600080fd5b50610377610b6f565b34801561051a57600080fd5b506102c9610bd7565b34801561052f57600080fd5b506103a06004803603602081101561054657600080fd5b50356001600160a01b0316610bf6565b34801561056257600080fd5b506102b2600480360361010081101561057a57600080fd5b81019060208101813564010000000081111561059557600080fd5b8201836020820111156105a757600080fd5b803590602001918460018302840111640100000000831117156105c957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561061c57600080fd5b82018360208201111561062e57600080fd5b8035906020019184600183028401116401000000008311171561065057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040810135906001600160a01b03606082013581169160808101359091169060a00135610c11565b3480156106c757600080fd5b50610377610d63565b3480156106dc57600080fd5b506103a0610d73565b3480156106f157600080fd5b506102c9610d79565b34801561070657600080fd5b506103776004803603604081101561071d57600080fd5b506001600160a01b038135169060200135610dd4565b34801561073f57600080fd5b506104dd610e80565b34801561075457600080fd5b506103a0610e8f565b34801561076957600080fd5b506103a0610e93565b34801561077e57600080fd5b50610377610e99565b34801561079357600080fd5b506104dd610ea9565b3480156107a857600080fd5b506103a0600480360360408110156107bf57600080fd5b506001600160a01b0381358116916020013516610eb8565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b820191906000526020600020905b81548152906001019060200180831161083f57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b60035490565b600b5490565b6001600160a01b0383166000908152600c6020526040812054821180159061092957506001600160a01b0384166000908152600d602090815260408083203384529091529020548211155b80156109355750600082115b801561095a57506001600160a01b0383166000908152600c6020526040902054828101115b156109d3576001600160a01b038085166000818152600c6020818152604080842080548990039055600d825280842033855282528084208054899003905594881680845291815291849020805487019055835186815293519093600080516020610f7c83398151915292908290030190a35060016109d7565b5060005b9392505050565b336000908152600c602052604081205482116102ad57336000818152600c602090815260409182902080548690039055600280548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a26040805183815290516000913391600080516020610f7c8339815191529181900360200190a3506001919050565b60045490565b601281565b60055490565b600a546000906001600160a01b031633148015610aad5750600a54600160a81b900460ff165b156102ad576009546001600160a01b031615801590610ace57506000600454115b15610b3857600654600454038015610b3657600980546001600160a01b039081166000908152600c602090815260409182902080548601905560028054860190559254815185815291519216923092600080516020610f7c8339815191529281900390910190a35b505b600a805460ff60a81b1916905542600b555b50600190565b600a54600160a81b900460ff1690565b6008546001600160a01b031690565b600a546000906001600160a01b031633148015610b965750600a54600160b01b900460ff16155b8015610bab5750600a54600160a01b900460ff165b156102ad57600a805460ff60a81b1960ff60b01b19909116600160b01b1716600160a81b179055610b4a565b604051806040016040528060038152602001620312e360ec1b81525081565b6001600160a01b03166000908152600c602052604090205490565b600a546001600160a01b031633148015610c355750600a54600160a01b900460ff16155b15610d59578651610c4d9060009060208a0190610ee3565b508751610c619060019060208b0190610ee3565b506003869055670de0b6b3a764000085026004558315610cda57670de0b6b3a7640000840260058190556002819055600a80546001600160a01b039081166000908152600c60209081526040918290208590559254815194855290519116923092600080516020610f7c83398151915292918290030190a35b600880546001600160a01b0319166001600160a01b03848116919091179182905516610d2357600a54600880546001600160a01b0319166001600160a01b039092169190911790555b600980546001600160a01b0385166001600160a01b03199091161790556007819055600a805460ff60a01b1916600160a01b1790555b5050505050505050565b600a54600160b01b900460ff1690565b60065490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085c5780601f106108315761010080835404028352916020019161085c565b336000908152600c60205260408120548211801590610df35750600082115b8015610e1857506001600160a01b0383166000908152600c6020526040902054828101115b15610e7857336000818152600c60209081526040808320805487900390556001600160a01b0387168084529281902080548701905580518681529051929392600080516020610f7c833981519152929181900390910190a35060016108c5565b5060006108c5565b600a546001600160a01b031690565b4290565b60075490565b600a54600160a01b900460ff1690565b6009546001600160a01b031690565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f2457805160ff1916838001178555610f51565b82800160010185558215610f51579182015b82811115610f51578251825591602001919060010190610f36565b50610f5d929150610f61565b5090565b6108cf91905b80821115610f5d5760008155600101610f6756feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ec566b9312d90f1e0bc33bcf20cc694729711abe25ceda5cd386913146c37bf564736f6c6343000601003360a060408190526000608081905261001791816100a1565b50604080516020810191829052600090819052610036916001916100a1565b506000600255600380546001600160a81b031916905534801561005857600080fd5b506040516109a83803806109a88339818101604052602081101561007b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905561013c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e257805160ff191683800117855561010f565b8280016001018555821561010f579182015b8281111561010f5782518255916020019190600101906100f4565b5061011b92915061011f565b5090565b61013991905b8082111561011b5760008155600101610125565b90565b61085d8061014b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101ce57806395d89b41146101f4578063a9059cbb146101fc578063b6d2a9b914610228578063dd62ed3e146103595761009e565b806306fdde03146100a3578063095ea7b31461012057806318160ddd1461016057806323b872dd1461017a578063313ce567146101b0575b600080fd5b6100ab610387565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e55781810151838201526020016100cd565b50505050905090810190601f1680156101125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61014c6004803603604081101561013657600080fd5b506001600160a01b038135169060200135610414565b604080519115158252519081900360200190f35b61016861047b565b60408051918252519081900360200190f35b61014c6004803603606081101561019057600080fd5b506001600160a01b03813581169160208101359091169060400135610482565b6101b8610594565b6040805160ff9092168252519081900360200190f35b610168600480360360208110156101e457600080fd5b50356001600160a01b0316610599565b6100ab6105b4565b61014c6004803603604081101561021257600080fd5b506001600160a01b03813516906020013561060f565b6103576004803603606081101561023e57600080fd5b81019060208101813564010000000081111561025957600080fd5b82018360208201111561026b57600080fd5b8035906020019184600183028401116401000000008311171561028d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102e057600080fd5b8201836020820111156102f257600080fd5b8035906020019184600183028401116401000000008311171561031457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506106cd915050565b005b6101686004803603604081101561036f57600080fd5b506001600160a01b0381358116916020013516610764565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b820191906000526020600020905b8154815290600101906020018083116103ef57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6002545b90565b6001600160a01b03831660009081526004602052604081205482118015906104cd57506001600160a01b03841660009081526005602090815260408083203384529091529020548211155b80156104d95750600082115b80156104fe57506001600160a01b038316600090815260046020526040902054828101115b15610589576001600160a01b0380851660008181526004602081815260408084208054899003905560058252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a350600161058d565b5060005b9392505050565b601281565b6001600160a01b031660009081526004602052604090205490565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561040c5780601f106103e15761010080835404028352916020019161040c565b33600090815260046020526040812054821180159061062e5750600082115b801561065357506001600160a01b038316600090815260046020526040902054828101115b156106c557336000818152600460209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506001610475565b506000610475565b6003546001600160a01b0316331480156106f15750600354600160a01b900460ff16155b1561075f57815161070990600090602085019061078f565b50825161071d90600190602086019061078f565b50670de0b6b3a764000081026002819055600380546001600160a01b0316600090815260046020526040902091909155805460ff60a01b1916600160a01b1790555b505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107d057805160ff19168380011785556107fd565b828001600101855582156107fd579182015b828111156107fd5782518255916020019190600101906107e2565b5061080992915061080d565b5090565b61047f91905b80821115610809576000815560010161081356fea2646970667358221220d30252092212adac029040dc0fecb3d5cc1e7505b53299eb26d1a220fdcccffc64736f6c63430006010033282128676e2e617661696c61626c6542616c616e63654f66285f66726f6d29203e3d206d6e65546f4275726e2929a26469706673582212202503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e64736f6c63430006010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c
-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x90E340e2d11E6Eb1D99E34D122D6fE0fEF3213fd
Arg [1] : _genesisAddress (address): 0xa6be27538A28114Fe03EB7ADE9AdfE53164f2a4c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd
Arg [1] : 000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c
Deployed Bytecode Sourcemap
971:3163:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;971:3163:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1421:117;;;:::i;:::-;;1292:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1292:125:0;-1:-1:-1;;;;;1292:125:0;;:::i;1642:17::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1642:17:0;;;;;;;;;;;;;;2008:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2008:203:0;;;;;;;;:::i;1000:69::-;;;:::i;1861:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1861:143:0;-1:-1:-1;;;;;1861:143:0;;:::i;3247:884::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3247:884:0;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3247:884:0;;;;;;;;;;;;;;;;2374:869;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2374:869:0;;;;;;;;:::i;1150:140::-;;;:::i;1618:21::-;;;:::i;1073:74::-;;;:::i;1421:117::-;1473:14;;-1:-1:-1;;;;;1473:14:0;1460:9;:27;1456:78;;;1492:9;:22;;-1:-1:-1;;;;;;1492:22:0;1504:10;1492:22;;;1456:78;1421:117::o;1292:125::-;1364:14;;-1:-1:-1;;;;;1364:14:0;1351:9;:27;1347:68;;;1380:9;:20;;-1:-1:-1;;;;;;1380:20:0;-1:-1:-1;;;;;1380:20:0;;;;;1347:68;1292:125;:::o;1642:17::-;;;-1:-1:-1;;;;;1642:17:0;;:::o;2008:203::-;2079:4;2087;2079:12;2073:29;;2094:8;;;2073:29;2123:14;;-1:-1:-1;;;;;2123:14:0;2109:10;:28;2105:104;;;2140:2;:26;;-1:-1:-1;;;;;;2140:26:0;-1:-1:-1;;;;;2140:26:0;;;;;;;;;;;2168:25;;;-1:-1:-1;;;2168:25:0;;;;:2;;;;;:23;;:25;;;;;-1:-1:-1;;2168:25:0;;;;;;;;-1:-1:-1;2168:2:0;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;2168:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2168:25:0;;;;2008:203;;:::o;1000:69::-;;;-1:-1:-1;;;;;1000:69:0;;:::o;1861:143::-;1932:14;;-1:-1:-1;;;;;1932:14:0;1918:10;:28;1914:86;;;1955:2;:22;;-1:-1:-1;;;;;;1955:22:0;-1:-1:-1;;;;;1955:22:0;;;;;1914:86;;3247:884;3331:18;1591:9;;3331:18;;-1:-1:-1;;;;;1591:9:0;1577:10;:23;1569:32;;;;;;3393:2:::1;::::0;:27:::1;::::0;;-1:-1:-1;;;3393:27:0;;;;3373:17:::1;::::0;-1:-1:-1;;;;;3393:2:0::1;::::0;:25:::1;::::0;:27:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:27;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3393:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3393:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3393:27:0;3433:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;3433:28:0;;-1:-1:-1;;;;;3433:28:0;;::::1;;::::0;::::1;::::0;;;3393:27;;-1:-1:-1;3393:27:0;;3433:2;;;::::1;::::0;:21:::1;::::0;:28;;;;;3393:27:::1;::::0;3433:28;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3433:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3433:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3433:28:0;:41:::1;;3427:106;;3477:56;;-1:-1:-1::0;;;3477:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3427:106;3571:2;::::0;:22:::1;::::0;;-1:-1:-1;;;3571:22:0;;;;3541:27:::1;::::0;-1:-1:-1;;;;;3571:2:0::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:22;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3571:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3571:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3571:22:0;;-1:-1:-1;3597:25:0::1;::::0;3571:22;3823:24;;::::1;3817:72;;3850:39;::::0;;-1:-1:-1;;;3850:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;3817:72;3896:14;3934:5;3913:28;;;;;:::i;:::-;-1:-1:-1::0;;;;;3913:28:0;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;3945:2:0::1;::::0;:44:::1;::::0;;-1:-1:-1;;;3945:44:0;;-1:-1:-1;;;;;3945:44:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;3896:45;;-1:-1:-1;3945:2:0;::::1;::::0;:21:::1;::::0;:44;;;;;:2:::1;::::0;:44;;;;;;;;:2;;:44;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3945:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;3998:44:0::1;::::0;-1:-1:-1;;;;;3998:44:0;;::::1;::::0;-1:-1:-1;3998:44:0;::::1;::::0;-1:-1:-1;3998:44:0::1;::::0;;;::::1;4046:2;::::0;4066:18:::1;::::0;;-1:-1:-1;;;4066:18:0;;;;-1:-1:-1;;;;;4046:2:0;;::::1;::::0;:19:::1;::::0;:2;;4066:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;4046:2;4066:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4066:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;4066:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;4066:18:0;4046:43:::1;::::0;;-1:-1:-1;;;;;;4046:43:0::1;::::0;;;;;;4087:1:::1;4066:22:::0;;::::1;4046:43;::::0;::::1;::::0;;;;;;;-1:-1:-1;;4046:43:0;;;;;;;-1:-1:-1;4046:43:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;4046:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;4101:9:0;;4120:5;;-1:-1:-1;3247:884:0;;-1:-1:-1;;;;;;;;;;3247:884:0:o;2374:869::-;2455:18;1591:9;;2455:18;;-1:-1:-1;;;;;1591:9:0;1577:10;:23;1569:32;;;;;;2517:2:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;2517:24:0;;;;2497:17:::1;::::0;-1:-1:-1;;;;;2517:2:0::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:24;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2517:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2517:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2517:24:0;2555:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;2555:28:0;;-1:-1:-1;;;;;2555:28:0;;::::1;;::::0;::::1;::::0;;;2517:24;;-1:-1:-1;2517:24:0;;2555:2;;;::::1;::::0;:21:::1;::::0;:28;;;;;2517:24:::1;::::0;2555:28;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2555:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2555:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2555:28:0;:41:::1;;2549:106;;2599:56;;-1:-1:-1::0;;;2599:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:106;2693:2;::::0;:19:::1;::::0;;-1:-1:-1;;;2693:19:0;;;;2663:27:::1;::::0;-1:-1:-1;;;;;2693:2:0::1;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:19;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2693:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2693:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2693:19:0;;-1:-1:-1;2716:25:0::1;::::0;2693:19;2942:24;;::::1;2936:72;;2969:39;::::0;;-1:-1:-1;;;2969:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;2936:72;3015:11;3039:5;3029:16;;;;;:::i;:::-;-1:-1:-1::0;;;;;3029:16:0;;::::1;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;3049:2:0::1;::::0;:41:::1;::::0;;-1:-1:-1;;;3049:41:0;;-1:-1:-1;;;;;3049:41:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;3015:30;;-1:-1:-1;3049:2:0;::::1;::::0;:18:::1;::::0;:41;;;;;:2:::1;::::0;:41;;;;;;;;:2;;:41;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3049:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;3099:41:0::1;::::0;-1:-1:-1;;;;;3099:41:0;;::::1;::::0;-1:-1:-1;3099:41:0;::::1;::::0;-1:-1:-1;3099:41:0::1;::::0;;;::::1;3144:2;::::0;3171:25:::1;::::0;;-1:-1:-1;;;3171:25:0;;;;-1:-1:-1;;;;;3144:2:0;;::::1;::::0;:26:::1;::::0;:2;;3171:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;3144:2;3171:25;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;1150:140:0::0;1184:14;;-1:-1:-1;;;;;1184:14:0;1180:108;;1246:14;:27;;-1:-1:-1;;;;;;1246:27:0;1263:10;1246:27;;;1180:108;;1618:21;;;-1:-1:-1;;;;;1618:21:0;;:::o;1073:74::-;;;-1:-1:-1;;;;;1073:74:0;;:::o;971:3163::-;;;;;;;;:::o;:::-;;;;;;;;:::o
Swarm Source
ipfs://2503f2741d460db38e19f87b489853a7e3edb77a9e62cfeebb659ed2304d855e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.