More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 921 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Finalize | 4361695 | 2609 days ago | IN | 0 ETH | 0.00130159 | ||||
Transfer | 4234168 | 2649 days ago | IN | 0.93 ETH | 0.001 | ||||
Transfer | 4233982 | 2649 days ago | IN | 0.01 ETH | 0.0010002 | ||||
Transfer | 4233972 | 2649 days ago | IN | 0.01 ETH | 0.00075015 | ||||
Transfer | 4233965 | 2649 days ago | IN | 3 ETH | 0.00253751 | ||||
Transfer | 4233963 | 2649 days ago | IN | 1 ETH | 0.00253751 | ||||
Transfer | 4233961 | 2649 days ago | IN | 0.95 ETH | 0.0060417 | ||||
Transfer | 4233943 | 2649 days ago | IN | 0.89 ETH | 0.00253751 | ||||
Transfer | 4233941 | 2649 days ago | IN | 0.5 ETH | 0.0045417 | ||||
Transfer | 4233937 | 2649 days ago | IN | 14 ETH | 0.00190751 | ||||
Transfer | 4233937 | 2649 days ago | IN | 10 ETH | 0.0060417 | ||||
Transfer | 4233937 | 2649 days ago | IN | 1.1 ETH | 0.0045417 | ||||
Transfer | 4233921 | 2649 days ago | IN | 2 ETH | 0.0045417 | ||||
Transfer | 4233909 | 2649 days ago | IN | 6 ETH | 0.0060417 | ||||
Transfer | 4233908 | 2649 days ago | IN | 2.99 ETH | 0.0060417 | ||||
Transfer | 4233903 | 2649 days ago | IN | 10 ETH | 0.00253751 | ||||
Transfer | 4233903 | 2649 days ago | IN | 0.22 ETH | 0.0045417 | ||||
Transfer | 4233902 | 2649 days ago | IN | 2 ETH | 0.00189 | ||||
Transfer | 4233899 | 2649 days ago | IN | 7.29 ETH | 0.00227085 | ||||
Transfer | 4233898 | 2649 days ago | IN | 0.5 ETH | 0.0045417 | ||||
Transfer | 4233897 | 2649 days ago | IN | 29 ETH | 0.00241668 | ||||
Transfer | 4233897 | 2649 days ago | IN | 0.24 ETH | 0.0045417 | ||||
Transfer | 4233896 | 2649 days ago | IN | 1.23 ETH | 0.0045417 | ||||
Transfer | 4233892 | 2649 days ago | IN | 4.8 ETH | 0.0060417 | ||||
Transfer | 4233888 | 2649 days ago | IN | 0.25 ETH | 0.0011 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4233965 | 2649 days ago | 3 ETH | ||||
4233963 | 2649 days ago | 1 ETH | ||||
4233961 | 2649 days ago | 0.95 ETH | ||||
4233943 | 2649 days ago | 0.89 ETH | ||||
4233941 | 2649 days ago | 0.5 ETH | ||||
4233937 | 2649 days ago | 14 ETH | ||||
4233937 | 2649 days ago | 10 ETH | ||||
4233937 | 2649 days ago | 1.1 ETH | ||||
4233921 | 2649 days ago | 2 ETH | ||||
4233909 | 2649 days ago | 6 ETH | ||||
4233908 | 2649 days ago | 2.99 ETH | ||||
4233903 | 2649 days ago | 10 ETH | ||||
4233903 | 2649 days ago | 0.22 ETH | ||||
4233899 | 2649 days ago | 7.29 ETH | ||||
4233898 | 2649 days ago | 0.5 ETH | ||||
4233897 | 2649 days ago | 29 ETH | ||||
4233897 | 2649 days ago | 0.24 ETH | ||||
4233896 | 2649 days ago | 1.23 ETH | ||||
4233892 | 2649 days ago | 4.8 ETH | ||||
4233886 | 2649 days ago | 201 ETH | ||||
4233858 | 2649 days ago | 4.9 ETH | ||||
4233856 | 2649 days ago | 5 ETH | ||||
4233844 | 2649 days ago | 0.57752915 ETH | ||||
4233844 | 2649 days ago | 2.5 ETH | ||||
4233844 | 2649 days ago | 1.01 ETH |
Loading...
Loading
Contract Name:
KeyTokenSale
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-09-01 */ // Copyright (C) 2017 DappHub, LLC pragma solidity ^0.4.11; //import "ds-exec/exec.sol"; contract DSExec { function tryExec( address target, bytes calldata, uint value) internal returns (bool call_ret) { return target.call.value(value)(calldata); } function exec( address target, bytes calldata, uint value) internal { if(!tryExec(target, calldata, value)) { throw; } } // Convenience aliases function exec( address t, bytes c ) internal { exec(t, c, 0); } function exec( address t, uint256 v ) internal { bytes memory c; exec(t, c, v); } function tryExec( address t, bytes c ) internal returns (bool) { return tryExec(t, c, 0); } function tryExec( address t, uint256 v ) internal returns (bool) { bytes memory c; return tryExec(t, c, v); } } //import "ds-auth/auth.sol"; contract DSAuthority { function canCall( address src, address dst, bytes4 sig ) constant returns (bool); } contract DSAuthEvents { event LogSetAuthority (address indexed authority); event LogSetOwner (address indexed owner); } contract DSAuth is DSAuthEvents { DSAuthority public authority; address public owner; function DSAuth() { owner = msg.sender; LogSetOwner(msg.sender); } function setOwner(address owner_) auth { owner = owner_; LogSetOwner(owner); } function setAuthority(DSAuthority authority_) auth { authority = authority_; LogSetAuthority(authority); } modifier auth { assert(isAuthorized(msg.sender, msg.sig)); _; } function isAuthorized(address src, bytes4 sig) internal returns (bool) { if (src == address(this)) { return true; } else if (src == owner) { return true; } else if (authority == DSAuthority(0)) { return false; } else { return authority.canCall(src, this, sig); } } function assert(bool x) internal { if (!x) throw; } } //import "ds-note/note.sol"; contract DSNote { event LogNote( bytes4 indexed sig, address indexed guy, bytes32 indexed foo, bytes32 indexed bar, uint wad, bytes fax ) anonymous; modifier note { bytes32 foo; bytes32 bar; assembly { foo := calldataload(4) bar := calldataload(36) } LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data); _; } } //import "ds-math/math.sol"; contract DSMath { /* standard uint256 functions */ function add(uint256 x, uint256 y) constant internal returns (uint256 z) { assert((z = x + y) >= x); } function sub(uint256 x, uint256 y) constant internal returns (uint256 z) { assert((z = x - y) <= x); } function mul(uint256 x, uint256 y) constant internal returns (uint256 z) { z = x * y; assert(x == 0 || z / x == y); } function div(uint256 x, uint256 y) constant internal returns (uint256 z) { z = x / y; } function min(uint256 x, uint256 y) constant internal returns (uint256 z) { return x <= y ? x : y; } function max(uint256 x, uint256 y) constant internal returns (uint256 z) { return x >= y ? x : y; } /* uint128 functions (h is for half) */ function hadd(uint128 x, uint128 y) constant internal returns (uint128 z) { assert((z = x + y) >= x); } function hsub(uint128 x, uint128 y) constant internal returns (uint128 z) { assert((z = x - y) <= x); } function hmul(uint128 x, uint128 y) constant internal returns (uint128 z) { z = x * y; assert(x == 0 || z / x == y); } function hdiv(uint128 x, uint128 y) constant internal returns (uint128 z) { z = x / y; } function hmin(uint128 x, uint128 y) constant internal returns (uint128 z) { return x <= y ? x : y; } function hmax(uint128 x, uint128 y) constant internal returns (uint128 z) { return x >= y ? x : y; } /* int256 functions */ function imin(int256 x, int256 y) constant internal returns (int256 z) { return x <= y ? x : y; } function imax(int256 x, int256 y) constant internal returns (int256 z) { return x >= y ? x : y; } /* WAD math */ uint128 constant WAD = 10 ** 18; function wadd(uint128 x, uint128 y) constant internal returns (uint128) { return hadd(x, y); } function wsub(uint128 x, uint128 y) constant internal returns (uint128) { return hsub(x, y); } function wmul(uint128 x, uint128 y) constant internal returns (uint128 z) { z = cast((uint256(x) * y + WAD / 2) / WAD); } function wdiv(uint128 x, uint128 y) constant internal returns (uint128 z) { z = cast((uint256(x) * WAD + y / 2) / y); } function wmin(uint128 x, uint128 y) constant internal returns (uint128) { return hmin(x, y); } function wmax(uint128 x, uint128 y) constant internal returns (uint128) { return hmax(x, y); } /* RAY math */ uint128 constant RAY = 10 ** 27; function radd(uint128 x, uint128 y) constant internal returns (uint128) { return hadd(x, y); } function rsub(uint128 x, uint128 y) constant internal returns (uint128) { return hsub(x, y); } function rmul(uint128 x, uint128 y) constant internal returns (uint128 z) { z = cast((uint256(x) * y + RAY / 2) / RAY); } function rdiv(uint128 x, uint128 y) constant internal returns (uint128 z) { z = cast((uint256(x) * RAY + y / 2) / y); } function rpow(uint128 x, uint64 n) constant internal returns (uint128 z) { // This famous algorithm is called "exponentiation by squaring" // and calculates x^n with x as fixed-point and n as regular unsigned. // // It's O(log n), instead of O(n) for naive repeated multiplication. // // These facts are why it works: // // If n is even, then x^n = (x^2)^(n/2). // If n is odd, then x^n = x * x^(n-1), // and applying the equation for even x gives // x^n = x * (x^2)^((n-1) / 2). // // Also, EVM division is flooring and // floor[(n-1) / 2] = floor[n / 2]. z = n % 2 != 0 ? x : RAY; for (n /= 2; n != 0; n /= 2) { x = rmul(x, x); if (n % 2 != 0) { z = rmul(z, x); } } } function rmin(uint128 x, uint128 y) constant internal returns (uint128) { return hmin(x, y); } function rmax(uint128 x, uint128 y) constant internal returns (uint128) { return hmax(x, y); } function cast(uint256 x) constant internal returns (uint128 z) { assert((z = uint128(x)) == x); } } //import "erc20/erc20.sol"; contract ERC20 { function totalSupply() constant returns (uint supply); function balanceOf( address who ) constant returns (uint value); function allowance( address owner, address spender ) constant returns (uint _allowance); function transfer( address to, uint value) returns (bool ok); function transferFrom( address from, address to, uint value) returns (bool ok); function approve( address spender, uint value ) returns (bool ok); event Transfer( address indexed from, address indexed to, uint value); event Approval( address indexed owner, address indexed spender, uint value); } //import "ds-token/base.sol"; contract DSTokenBase is ERC20, DSMath { uint256 _supply; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _approvals; function DSTokenBase(uint256 supply) { _balances[msg.sender] = supply; _supply = supply; } function totalSupply() constant returns (uint256) { return _supply; } function balanceOf(address src) constant returns (uint256) { return _balances[src]; } function allowance(address src, address guy) constant returns (uint256) { return _approvals[src][guy]; } function transfer(address dst, uint wad) returns (bool) { assert(_balances[msg.sender] >= wad); _balances[msg.sender] = sub(_balances[msg.sender], wad); _balances[dst] = add(_balances[dst], wad); Transfer(msg.sender, dst, wad); return true; } function transferFrom(address src, address dst, uint wad) returns (bool) { assert(_balances[src] >= wad); assert(_approvals[src][msg.sender] >= wad); _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad); _balances[src] = sub(_balances[src], wad); _balances[dst] = add(_balances[dst], wad); Transfer(src, dst, wad); return true; } function approve(address guy, uint256 wad) returns (bool) { _approvals[msg.sender][guy] = wad; Approval(msg.sender, guy, wad); return true; } } //import "ds-stop/stop.sol"; contract DSStop is DSAuth, DSNote { bool public stopped; modifier stoppable { assert (!stopped); _; } function stop() auth note { stopped = true; } function start() auth note { stopped = false; } } //import "ds-token/token.sol"; contract DSToken is DSTokenBase(0), DSStop { bytes32 public symbol; uint256 public decimals = 18; // standard token precision. override to customize address public generator; modifier onlyGenerator { if(msg.sender!=generator) throw; _; } function DSToken(bytes32 symbol_) { symbol = symbol_; generator=msg.sender; } function transfer(address dst, uint wad) stoppable note returns (bool) { return super.transfer(dst, wad); } function transferFrom( address src, address dst, uint wad ) stoppable note returns (bool) { return super.transferFrom(src, dst, wad); } function approve(address guy, uint wad) stoppable note returns (bool) { return super.approve(guy, wad); } function push(address dst, uint128 wad) returns (bool) { return transfer(dst, wad); } function pull(address src, uint128 wad) returns (bool) { return transferFrom(src, msg.sender, wad); } function mint(uint128 wad) auth stoppable note { _balances[msg.sender] = add(_balances[msg.sender], wad); _supply = add(_supply, wad); } function burn(uint128 wad) auth stoppable note { _balances[msg.sender] = sub(_balances[msg.sender], wad); _supply = sub(_supply, wad); } // owner can transfer token even stop, function generatorTransfer(address dst, uint wad) onlyGenerator note returns (bool) { return super.transfer(dst, wad); } // Optional token name bytes32 public name = ""; function setName(bytes32 name_) auth { name = name_; } } contract KeyTokenSale is DSStop, DSMath, DSExec { DSToken public key; // KEY PRICES (ETH/KEY) uint128 public constant PUBLIC_SALE_PRICE = 200000 ether; uint128 public constant TOTAL_SUPPLY = 10 ** 11 * 1 ether; // 100 billion KEY in total uint128 public constant SELL_SOFT_LIMIT = TOTAL_SUPPLY * 12 / 100; // soft limit is 12% , 60000 eth uint128 public constant SELL_HARD_LIMIT = TOTAL_SUPPLY * 16 / 100; // hard limit is 16% , 80000 eth uint128 public constant FUTURE_DISTRIBUTE_LIMIT = TOTAL_SUPPLY * 84 / 100; // 84% for future distribution uint128 public constant USER_BUY_LIMIT = 500 ether; // 500 ether limit uint128 public constant MAX_GAS_PRICE = 50000000000; // 50GWei uint public startTime; uint public endTime; bool public moreThanSoftLimit; mapping (address => uint) public userBuys; // limit to 500 eth address public destFoundation; //multisig account , 4-of-6 uint128 public sold; uint128 public constant soldByChannels = 40000 * 200000 ether; // 2 ICO websites, each 20000 eth function KeyTokenSale(uint startTime_, address destFoundation_) { key = new DSToken("KEY"); destFoundation = destFoundation_; startTime = startTime_; endTime = startTime + 14 days; sold = soldByChannels; // sold by 3rd party ICO websites; key.mint(TOTAL_SUPPLY); key.transfer(destFoundation, FUTURE_DISTRIBUTE_LIMIT); key.transfer(destFoundation, soldByChannels); //disable transfer key.stop(); } // overrideable for easy testing function time() constant returns (uint) { return now; } function isContract(address _addr) constant internal returns(bool) { uint size; if (_addr == 0) return false; assembly { size := extcodesize(_addr) } return size > 0; } function canBuy(uint total) returns (bool) { return total <= USER_BUY_LIMIT; } function() payable stoppable note { require(!isContract(msg.sender)); require(msg.value >= 0.01 ether); require(tx.gasprice <= MAX_GAS_PRICE); assert(time() >= startTime && time() < endTime); var toFund = cast(msg.value); var requested = wmul(toFund, PUBLIC_SALE_PRICE); // selling SELL_HARD_LIMIT tokens ends the sale if( add(sold, requested) >= SELL_HARD_LIMIT) { requested = SELL_HARD_LIMIT - sold; toFund = wdiv(requested, PUBLIC_SALE_PRICE); endTime = time(); } // User cannot buy more than USER_BUY_LIMIT var totalUserBuy = add(userBuys[msg.sender], toFund); assert(canBuy(totalUserBuy)); userBuys[msg.sender] = totalUserBuy; sold = hadd(sold, requested); // Soft limit triggers the sale to close in 24 hours if( !moreThanSoftLimit && sold >= SELL_SOFT_LIMIT ) { moreThanSoftLimit = true; endTime = time() + 24 hours; // last 24 hours after soft limit, } key.start(); key.transfer(msg.sender, requested); key.stop(); exec(destFoundation, toFund); // send collected ETH to multisig // return excess ETH to the user uint toReturn = sub(msg.value, toFund); if(toReturn > 0) { exec(msg.sender, toReturn); } } function setStartTime(uint startTime_) auth note { require(time() <= startTime && time() <= startTime_); startTime = startTime_; endTime = startTime + 14 days; } function finalize() auth note { require(time() >= endTime); // enable transfer key.start(); // transfer undistributed KEY key.transfer(destFoundation, key.balanceOf(this)); // owner -> destFoundation key.setOwner(destFoundation); } // @notice This method can be used by the controller to extract mistakenly // sent tokens to this contract. // @param dst The address that will be receiving the tokens // @param wad The amount of tokens to transfer // @param _token The address of the token contract that you want to recover function transferTokens(address dst, uint wad, address _token) public auth note { ERC20 token = ERC20(_token); token.transfer(dst, wad); } function summary()constant returns( uint128 _sold, uint _startTime, uint _endTime) { _sold = sold; _startTime = startTime; _endTime = endTime; return; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"sold","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PUBLIC_SALE_PRICE","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"destFoundation","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"time","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"FUTURE_DISTRIBUTE_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"soldByChannels","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"key","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"total","type":"uint256"}],"name":"canBuy","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"startTime_","type":"uint256"}],"name":"setStartTime","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userBuys","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"},{"name":"_token","type":"address"}],"name":"transferTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SELL_HARD_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SELL_SOFT_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"summary","outputs":[{"name":"_sold","type":"uint128"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"moreThanSoftLimit","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"USER_BUY_LIMIT","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_GAS_PRICE","outputs":[{"name":"","type":"uint128"}],"payable":false,"type":"function"},{"inputs":[{"name":"startTime_","type":"uint256"},{"name":"destFoundation_","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]
Contract Creation Code
606060405234156200001057600080fd5b6040516040806200293883398101604052808051919060200180519150505b5b60018054600160a060020a03191633600160a060020a03169081179091557fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b620000856200037c565b7f4b455900000000000000000000000000000000000000000000000000000000008152602001604051809103906000f0801515620000c257600080fd5b60028054600160a060020a03928316600160a060020a031991821617918290556007805485851692169190911790556003849055621275008401600455600880546001608060020a0319166b19d971e4fe8401e740000000179055166369d3e20e6c01431e0fae6d7217caa00000006040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526001608060020a039091166004820152602401600060405180830381600087803b15156200018957600080fd5b6102c65a03f115156200019b57600080fd5b5050600254600754600160a060020a03918216925063a9059cbb911660646c6a05dd253be96fce7c800000005b046000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b15156200023857600080fd5b6102c65a03f115156200024a57600080fd5b50505060405180515050600254600754600160a060020a039182169163a9059cbb91166b19d971e4fe8401e7400000006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b1515620002e957600080fd5b6102c65a03f11515620002fb57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156200035e57600080fd5b6102c65a03f115156200037057600080fd5b5050505b50506200038d565b60405161112f806200180983390190565b61146c806200039d6000396000f3006060604052361561014e5763ffffffff60e060020a60003504166302c7e7af811461052e57806307da68f51461055d57806307e89ec0146105725780630b305ce9146105a157806313af4035146105d057806316ada547146105f15780632604f4241461061657806329107555146106455780633197cbb6146106745780633943380c146106995780633ca88a2f146106c85780633e0a322d146106f257806348d2df481461070a5780634af350eb1461073b5780634bb278f31461076657806375f12b211461077b57806378e97925146107a257806379bc46b3146107c75780637a9e5e4b146107f65780637f84017f146108175780638da5cb5b14610846578063902d55a514610875578063b16a867c146108a4578063be9a6555146108ed578063bf7e214f14610902578063c1cbdff314610931578063cb78bebc14610958578063e3bbb4f114610987575b5b60008060008061016e600160149054906101000a900460ff16156109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46101cd336109c6565b156101d757600080fd5b662386f26fc100003410156101eb57600080fd5b640ba43b74003a11156101fd57600080fd5b61022660035461020b6109f3565b10158015610221575060045461021f6109f3565b105b6109b6565b61022f346109f8565b955061024586692a5a058fc295ed000000610a11565b945060646c1431e0fae6d7217caa000000005b6008546001608060020a0392909104821691610278918116908816610a5b565b106102c0576008546001608060020a031660646c1431e0fae6d7217caa000000005b040394506102b285692a5a058fc295ed000000610a6f565b95506102bc6109f3565b6004555b600160a060020a0333166000908152600660205260409020546102ec906001608060020a038816610a5b565b93506102ff61022185610ac2565b6109b6565b600160a060020a0333166000908152600660205260409020849055600854610330906001608060020a031686610ad5565b600880546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560055460ff1615801561038e575060646c0f2568bc2d21591d7f800000005b6008546001608060020a03929091048216911610155b156103b1576005805460ff191660011790556103a86109f3565b62015180016004555b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156103f057600080fd5b6102c65a03f1151561040157600080fd5b5050600254600160a060020a0316905063a9059cbb338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b151561046d57600080fd5b6102c65a03f1151561047e57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b50506007546104fa9150600160a060020a03166001608060020a038816610af5565b61050d34876001608060020a0316610b0e565b92506000831115610522576105223384610af5565b5b5b5b50505b50505050005b341561053957600080fd5b610541610b22565b6040516001608060020a03909116815260200160405180910390f35b341561056857600080fd5b610570610b31565b005b341561057d57600080fd5b610541610be1565b6040516001608060020a03909116815260200160405180910390f35b34156105ac57600080fd5b6105b4610bef565b604051600160a060020a03909116815260200160405180910390f35b34156105db57600080fd5b610570600160a060020a0360043516610bfe565b005b34156105fc57600080fd5b6106046109f3565b60405190815260200160405180910390f35b341561062157600080fd5b610541610c7c565b6040516001608060020a03909116815260200160405180910390f35b341561065057600080fd5b610541610c91565b6040516001608060020a03909116815260200160405180910390f35b341561067f57600080fd5b610604610ca1565b60405190815260200160405180910390f35b34156106a457600080fd5b6105b4610ca7565b604051600160a060020a03909116815260200160405180910390f35b34156106d357600080fd5b6106de600435610ac2565b604051901515815260200160405180910390f35b34156106fd57600080fd5b610570600435610cb6565b005b341561071557600080fd5b610604600160a060020a0360043516610d6b565b60405190815260200160405180910390f35b341561074657600080fd5b610570600160a060020a036004358116906024359060443516610d7d565b005b341561077157600080fd5b610570610e79565b005b341561078657600080fd5b6106de6110b1565b604051901515815260200160405180910390f35b34156107ad57600080fd5b6106046110d2565b60405190815260200160405180910390f35b34156107d257600080fd5b6105416110d8565b6040516001608060020a03909116815260200160405180910390f35b341561080157600080fd5b610570600160a060020a03600435166110f1565b005b341561082257600080fd5b61054161116f565b6040516001608060020a03909116815260200160405180910390f35b341561085157600080fd5b6105b4611188565b604051600160a060020a03909116815260200160405180910390f35b341561088057600080fd5b610541611197565b6040516001608060020a03909116815260200160405180910390f35b34156108af57600080fd5b6108b76111a8565b60405180846001608060020a03166001608060020a03168152602001838152602001828152602001935050505060405180910390f35b34156108f857600080fd5b6105706111c3565b005b341561090d57600080fd5b6105b461125c565b604051600160a060020a03909116815260200160405180910390f35b341561093c57600080fd5b6106de61126b565b604051901515815260200160405180910390f35b341561096357600080fd5b610541611274565b6040516001608060020a03909116815260200160405180910390f35b341561099257600080fd5b610541611281565b6040516001608060020a03909116815260200160405180910390f35b8015156109c257600080fd5b5b50565b600080600160a060020a03831615156109e257600091506109ed565b823b90506000811191505b50919050565b425b90565b806001608060020a0381168114610a0b57fe5b5b919050565b6000610a52670de0b6b3a76400006002815b046001608060020a0316846001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b80820182811015610a5557fe5b5b92915050565b6000610a526001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b681b1ae4d6e2ef5000008111155b919050565b8082016001608060020a038084169082161015610a5557fe5b5b92915050565b610afd61142e565b610b0883828461128a565b5b505050565b80820382811115610a5557fe5b5b92915050565b6008546001608060020a031681565b610b4f61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b50505b565b692a5a058fc295ed00000081565b600754600160a060020a031681565b610c1c61022133600035600160e060020a0319166112a6565b6109b6565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b60646c6a05dd253be96fce7c800000005b0481565b6b19d971e4fe8401e74000000081565b60045481565b600254600160a060020a031681565b610cd461022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600354610d356109f3565b11158015610d4a575082610d476109f3565b11155b1515610d5557600080fd5b60038390556212750083016004555b5b50505b50565b60066020526000908152604090205481565b6000610d9d61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a483925082600160a060020a031663a9059cbb878760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e5357600080fd5b6102c65a03f11515610e6457600080fd5b505050604051805150505b5b50505b50505050565b610e9761022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600454610ef86109f3565b1015610f0357600080fd5b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b1515610f4257600080fd5b6102c65a03f11515610f5357600080fd5b5050600254600754600160a060020a03918216925063a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561102457600080fd5b6102c65a03f1151561103557600080fd5b50505060405180515050600254600754600160a060020a03918216916313af4035911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561109657600080fd5b6102c65a03f115156110a757600080fd5b5050505b5b50505b565b60015474010000000000000000000000000000000000000000900460ff1681565b60035481565b60646c1431e0fae6d7217caa00000000610c8d565b0481565b61110f61022133600035600160e060020a0319166112a6565b6109b6565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b60646c0f2568bc2d21591d7f80000000610c8d565b0481565b600154600160a060020a031681565b6c01431e0fae6d7217caa000000081565b6008546003546004546001608060020a03909216915b909192565b6111e161022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600054600160a060020a031681565b60055460ff1681565b681b1ae4d6e2ef50000081565b640ba43b740081565b6112958383836113a6565b1515610b0857600080fd5b5b505050565b600030600160a060020a031683600160a060020a031614156112ca57506001610a55565b600154600160a060020a03848116911614156112e857506001610a55565b600054600160a060020a0316151561130257506000610a55565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561137b57600080fd5b6102c65a03f1151561138c57600080fd5b505050604051805190509050610a55565b5b5b5b92915050565b600083600160a060020a0316828460405180828051906020019080838360005b838110156113df5780820151818401525b6020016113c6565b50505050905090810190601f16801561140c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f193505050505b9392505050565b602060405190810160405260008152905600a165627a7a72305820ca9db2b08537b8e9f4f436a22fba407126c9456ab5cc789d6ed9206d42b5134a0029606060405260126006556000600855341561001957600080fd5b60405160208061112f833981016040528080519150505b5b60005b600160a060020a03331660009081526001602052604081208290558190555b5060048054600160a060020a03191633600160a060020a03169081179091557fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b600581905560078054600160a060020a03191633600160a060020a03161790555b505b61105e806100d16000396000f300606060405236156101305763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013557806307da68f51461015a578063095ea7b31461016f57806313af4035146101a557806318160ddd146101c657806323b872dd146101eb578063313ce567146102275780633452f51d1461024c5780635ac801fe1461028b57806369d3e20e146102a357806370a08231146102c457806375f12b21146102f55780637a9e5e4b1461031c5780637afa1eed1461033d5780638402181f1461036c5780638da5cb5b146103ab57806390bc1693146103da57806395d89b41146103fb578063a9059cbb14610420578063be9a655514610456578063bf7e214f1461046b578063dd62ed3e1461049a578063e5d4610f146104d1575b600080fd5b341561014057600080fd5b610148610507565b60405190815260200160405180910390f35b341561016557600080fd5b61016d61050d565b005b341561017a57600080fd5b610191600160a060020a03600435166024356105ac565b604051901515815260200160405180910390f35b34156101b057600080fd5b61016d600160a060020a0360043516610633565b005b34156101d157600080fd5b6101486106b1565b60405190815260200160405180910390f35b34156101f657600080fd5b610191600160a060020a03600435811690602435166044356106b8565b604051901515815260200160405180910390f35b341561023257600080fd5b610148610741565b60405190815260200160405180910390f35b341561025757600080fd5b610191600160a060020a03600435166001608060020a0360243516610747565b604051901515815260200160405180910390f35b341561029657600080fd5b61016d600435610765565b005b34156102ae57600080fd5b61016d6001608060020a036004351661078d565b005b34156102cf57600080fd5b610148600160a060020a0360043516610880565b60405190815260200160405180910390f35b341561030057600080fd5b61019161089f565b604051901515815260200160405180910390f35b341561032757600080fd5b61016d600160a060020a03600435166108af565b005b341561034857600080fd5b61035061092d565b604051600160a060020a03909116815260200160405180910390f35b341561037757600080fd5b610191600160a060020a03600435166001608060020a036024351661093c565b604051901515815260200160405180910390f35b34156103b657600080fd5b61035061095b565b604051600160a060020a03909116815260200160405180910390f35b34156103e557600080fd5b61016d6001608060020a036004351661096a565b005b341561040657600080fd5b610148610a5d565b60405190815260200160405180910390f35b341561042b57600080fd5b610191600160a060020a0360043516602435610a63565b604051901515815260200160405180910390f35b341561046157600080fd5b61016d610aea565b005b341561047657600080fd5b610350610b83565b604051600160a060020a03909116815260200160405180910390f35b34156104a557600080fd5b610148600160a060020a0360043581169060243516610b92565b60405190815260200160405180910390f35b34156104dc57600080fd5b610191600160a060020a0360043516602435610bbf565b604051901515815260200160405180910390f35b60085481565b61052b61052633600035600160e060020a031916610c4a565b610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b50505b565b6004546000906105c69060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610d6f565b92505b5b50505b92915050565b61065161052633600035600160e060020a031916610c4a565b610d5f565b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b6000545b90565b6004546000906106d29060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4610733868686610ddc565b92505b5b50505b9392505050565b60065481565b600061075c83836001608060020a0316610a63565b90505b92915050565b61078361052633600035600160e060020a031916610c4a565b610d5f565b60088190555b5b50565b6107ab61052633600035600160e060020a031916610c4a565b610d5f565b6004546107c29060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600160a060020a033316600090815260016020526040902054610844906001608060020a038516610f33565b600160a060020a03331660009081526001602052604081209190915554610874906001608060020a038516610f33565b6000555b5b50505b5b50565b600160a060020a0381166000908152600160205260409020545b919050565b60045460a060020a900460ff1681565b6108cd61052633600035600160e060020a031916610c4a565b610d5f565b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b600754600160a060020a031681565b600061075c8333846001608060020a03166106b8565b90505b92915050565b600454600160a060020a031681565b61098861052633600035600160e060020a031916610c4a565b610d5f565b60045461099f9060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600160a060020a033316600090815260016020526040902054610a21906001608060020a038516610f47565b600160a060020a03331660009081526001602052604081209190915554610874906001608060020a038516610f47565b6000555b5b50505b5b50565b60055481565b600454600090610a7d9060a060020a900460ff1615610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610f5b565b92505b5b50505b92915050565b610b0861052633600035600160e060020a031916610c4a565b610d5f565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46004805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600354600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60075460009033600160a060020a03908116911614610a7d57600080fd5b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46106268585610f5b565b92505b5b50505b92915050565b600030600160a060020a031683600160a060020a03161415610c6e5750600161062d565b600454600160a060020a0384811691161415610c8c5750600161062d565b600354600160a060020a03161515610ca65750600061062d565b600354600160a060020a031663b70096138430856000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b1515610d3457600080fd5b6102c65a03f11515610d4557600080fd5b50505060405180519050905061062d565b5b5b5b92915050565b8015156106ad57600080fd5b5b50565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03831660009081526001602052604081205482901015610dff57fe5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482901015610e3057fe5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054610e619083610f47565b600160a060020a038086166000818152600260209081526040808320339095168352938152838220949094559081526001909252902054610ea29083610f47565b600160a060020a038086166000908152600160205260408082209390935590851681522054610ed19083610f33565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b8082018281101561062d57fe5b5b92915050565b8082038281111561062d57fe5b5b92915050565b600160a060020a03331660009081526001602052604081205482901015610f7e57fe5b600160a060020a033316600090815260016020526040902054610fa19083610f47565b600160a060020a033381166000908152600160205260408082209390935590851681522054610fd09083610f33565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b929150505600a165627a7a72305820cea943d8ed840addbfb04b3d811f4b64fa0f063bce62bfea0e015dbdd710965c00290000000000000000000000000000000000000000000000000000000059aa9d40000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a
Deployed Bytecode
0x6060604052361561014e5763ffffffff60e060020a60003504166302c7e7af811461052e57806307da68f51461055d57806307e89ec0146105725780630b305ce9146105a157806313af4035146105d057806316ada547146105f15780632604f4241461061657806329107555146106455780633197cbb6146106745780633943380c146106995780633ca88a2f146106c85780633e0a322d146106f257806348d2df481461070a5780634af350eb1461073b5780634bb278f31461076657806375f12b211461077b57806378e97925146107a257806379bc46b3146107c75780637a9e5e4b146107f65780637f84017f146108175780638da5cb5b14610846578063902d55a514610875578063b16a867c146108a4578063be9a6555146108ed578063bf7e214f14610902578063c1cbdff314610931578063cb78bebc14610958578063e3bbb4f114610987575b5b60008060008061016e600160149054906101000a900460ff16156109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46101cd336109c6565b156101d757600080fd5b662386f26fc100003410156101eb57600080fd5b640ba43b74003a11156101fd57600080fd5b61022660035461020b6109f3565b10158015610221575060045461021f6109f3565b105b6109b6565b61022f346109f8565b955061024586692a5a058fc295ed000000610a11565b945060646c1431e0fae6d7217caa000000005b6008546001608060020a0392909104821691610278918116908816610a5b565b106102c0576008546001608060020a031660646c1431e0fae6d7217caa000000005b040394506102b285692a5a058fc295ed000000610a6f565b95506102bc6109f3565b6004555b600160a060020a0333166000908152600660205260409020546102ec906001608060020a038816610a5b565b93506102ff61022185610ac2565b6109b6565b600160a060020a0333166000908152600660205260409020849055600854610330906001608060020a031686610ad5565b600880546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560055460ff1615801561038e575060646c0f2568bc2d21591d7f800000005b6008546001608060020a03929091048216911610155b156103b1576005805460ff191660011790556103a86109f3565b62015180016004555b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156103f057600080fd5b6102c65a03f1151561040157600080fd5b5050600254600160a060020a0316905063a9059cbb338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001608060020a03166024820152604401602060405180830381600087803b151561046d57600080fd5b6102c65a03f1151561047e57600080fd5b50505060405180515050600254600160a060020a03166307da68f56040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156104c757600080fd5b6102c65a03f115156104d857600080fd5b50506007546104fa9150600160a060020a03166001608060020a038816610af5565b61050d34876001608060020a0316610b0e565b92506000831115610522576105223384610af5565b5b5b5b50505b50505050005b341561053957600080fd5b610541610b22565b6040516001608060020a03909116815260200160405180910390f35b341561056857600080fd5b610570610b31565b005b341561057d57600080fd5b610541610be1565b6040516001608060020a03909116815260200160405180910390f35b34156105ac57600080fd5b6105b4610bef565b604051600160a060020a03909116815260200160405180910390f35b34156105db57600080fd5b610570600160a060020a0360043516610bfe565b005b34156105fc57600080fd5b6106046109f3565b60405190815260200160405180910390f35b341561062157600080fd5b610541610c7c565b6040516001608060020a03909116815260200160405180910390f35b341561065057600080fd5b610541610c91565b6040516001608060020a03909116815260200160405180910390f35b341561067f57600080fd5b610604610ca1565b60405190815260200160405180910390f35b34156106a457600080fd5b6105b4610ca7565b604051600160a060020a03909116815260200160405180910390f35b34156106d357600080fd5b6106de600435610ac2565b604051901515815260200160405180910390f35b34156106fd57600080fd5b610570600435610cb6565b005b341561071557600080fd5b610604600160a060020a0360043516610d6b565b60405190815260200160405180910390f35b341561074657600080fd5b610570600160a060020a036004358116906024359060443516610d7d565b005b341561077157600080fd5b610570610e79565b005b341561078657600080fd5b6106de6110b1565b604051901515815260200160405180910390f35b34156107ad57600080fd5b6106046110d2565b60405190815260200160405180910390f35b34156107d257600080fd5b6105416110d8565b6040516001608060020a03909116815260200160405180910390f35b341561080157600080fd5b610570600160a060020a03600435166110f1565b005b341561082257600080fd5b61054161116f565b6040516001608060020a03909116815260200160405180910390f35b341561085157600080fd5b6105b4611188565b604051600160a060020a03909116815260200160405180910390f35b341561088057600080fd5b610541611197565b6040516001608060020a03909116815260200160405180910390f35b34156108af57600080fd5b6108b76111a8565b60405180846001608060020a03166001608060020a03168152602001838152602001828152602001935050505060405180910390f35b34156108f857600080fd5b6105706111c3565b005b341561090d57600080fd5b6105b461125c565b604051600160a060020a03909116815260200160405180910390f35b341561093c57600080fd5b6106de61126b565b604051901515815260200160405180910390f35b341561096357600080fd5b610541611274565b6040516001608060020a03909116815260200160405180910390f35b341561099257600080fd5b610541611281565b6040516001608060020a03909116815260200160405180910390f35b8015156109c257600080fd5b5b50565b600080600160a060020a03831615156109e257600091506109ed565b823b90506000811191505b50919050565b425b90565b806001608060020a0381168114610a0b57fe5b5b919050565b6000610a52670de0b6b3a76400006002815b046001608060020a0316846001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b80820182811015610a5557fe5b5b92915050565b6000610a526001608060020a0383166002815b046001608060020a0316670de0b6b3a76400006001608060020a0316866001608060020a03160201811515610a4c57fe5b046109f8565b90505b92915050565b681b1ae4d6e2ef5000008111155b919050565b8082016001608060020a038084169082161015610a5557fe5b5b92915050565b610afd61142e565b610b0883828461128a565b5b505050565b80820382811115610a5557fe5b5b92915050565b6008546001608060020a031681565b610b4f61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b50505b565b692a5a058fc295ed00000081565b600754600160a060020a031681565b610c1c61022133600035600160e060020a0319166112a6565b6109b6565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a25b5b50565b60646c6a05dd253be96fce7c800000005b0481565b6b19d971e4fe8401e74000000081565b60045481565b600254600160a060020a031681565b610cd461022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600354610d356109f3565b11158015610d4a575082610d476109f3565b11155b1515610d5557600080fd5b60038390556212750083016004555b5b50505b50565b60066020526000908152604090205481565b6000610d9d61022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a483925082600160a060020a031663a9059cbb878760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e5357600080fd5b6102c65a03f11515610e6457600080fd5b505050604051805150505b5b50505b50505050565b610e9761022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a4600454610ef86109f3565b1015610f0357600080fd5b600254600160a060020a031663be9a65556040518163ffffffff1660e060020a028152600401600060405180830381600087803b1515610f4257600080fd5b6102c65a03f11515610f5357600080fd5b5050600254600754600160a060020a03918216925063a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fbd57600080fd5b6102c65a03f11515610fce57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561102457600080fd5b6102c65a03f1151561103557600080fd5b50505060405180515050600254600754600160a060020a03918216916313af4035911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561109657600080fd5b6102c65a03f115156110a757600080fd5b5050505b5b50505b565b60015474010000000000000000000000000000000000000000900460ff1681565b60035481565b60646c1431e0fae6d7217caa00000000610c8d565b0481565b61110f61022133600035600160e060020a0319166112a6565b6109b6565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a25b5b50565b60646c0f2568bc2d21591d7f80000000610c8d565b0481565b600154600160a060020a031681565b6c01431e0fae6d7217caa000000081565b6008546003546004546001608060020a03909216915b909192565b6111e161022133600035600160e060020a0319166112a6565b6109b6565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a46001805474ff0000000000000000000000000000000000000000191690555b5b50505b565b600054600160a060020a031681565b60055460ff1681565b681b1ae4d6e2ef50000081565b640ba43b740081565b6112958383836113a6565b1515610b0857600080fd5b5b505050565b600030600160a060020a031683600160a060020a031614156112ca57506001610a55565b600154600160a060020a03848116911614156112e857506001610a55565b600054600160a060020a0316151561130257506000610a55565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561137b57600080fd5b6102c65a03f1151561138c57600080fd5b505050604051805190509050610a55565b5b5b5b92915050565b600083600160a060020a0316828460405180828051906020019080838360005b838110156113df5780820151818401525b6020016113c6565b50505050905090810190601f16801561140c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f193505050505b9392505050565b602060405190810160405260008152905600a165627a7a72305820ca9db2b08537b8e9f4f436a22fba407126c9456ab5cc789d6ed9206d42b5134a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000059aa9d40000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a
-----Decoded View---------------
Arg [0] : startTime_ (uint256): 1504353600
Arg [1] : destFoundation_ (address): 0xbc1aB7F58a95cf307Ba5Ee18CF06b7eD0120da7a
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059aa9d40
Arg [1] : 000000000000000000000000bc1ab7f58a95cf307ba5ee18cf06b7ed0120da7a
Swarm Source
bzzr://cea943d8ed840addbfb04b3d811f4b64fa0f063bce62bfea0e015dbdd710965c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.032586 | 108 | $3.52 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.