Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 744 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Tokens | 8073401 | 1897 days ago | IN | 0 ETH | 0.00078444 | ||||
Transfer Tokens | 8073396 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073390 | 1897 days ago | IN | 0 ETH | 0.00138444 | ||||
Transfer Tokens | 8073387 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073385 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073381 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073372 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073368 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073364 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073359 | 1897 days ago | IN | 0 ETH | 0.00108316 | ||||
Transfer Tokens | 8073354 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073352 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073349 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073342 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073339 | 1897 days ago | IN | 0 ETH | 0.00108316 | ||||
Transfer Tokens | 8073332 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073332 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073323 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073314 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073312 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073305 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer Tokens | 8073303 | 1897 days ago | IN | 0 ETH | 0.00108444 | ||||
Transfer | 7872635 | 1928 days ago | IN | 0 ETH | 0.00021046 | ||||
Transfer Tokens | 7868284 | 1929 days ago | IN | 0 ETH | 0.00113618 | ||||
Transfer Tokens | 7868283 | 1929 days ago | IN | 0 ETH | 0.00113618 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
IOVTokenVesting
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-07-16 */ pragma solidity ^0.4.23; contract DSAuthority { function canCall( address src, address dst, bytes4 sig ) public view returns (bool); } contract DSAuthEvents { event LogSetAuthority (address indexed authority); event LogSetOwner (address indexed owner); } contract DSAuth is DSAuthEvents { DSAuthority public authority; address public owner; constructor() public { owner = msg.sender; emit LogSetOwner(msg.sender); } function setOwner(address owner_) public auth { owner = owner_; emit LogSetOwner(owner); } function setAuthority(DSAuthority authority_) public auth { authority = authority_; emit LogSetAuthority(authority); } modifier auth { require(isAuthorized(msg.sender, msg.sig)); _; } function isAuthorized(address src, bytes4 sig) internal view 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); } } } 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) } emit LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data); _; } } contract DSStop is DSNote, DSAuth { bool public stopped; modifier stoppable { require(!stopped); _; } function stop() public auth note { stopped = true; } function start() public auth note { stopped = false; } } contract DSMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x); } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x); } function min(uint x, uint y) internal pure returns (uint z) { return x <= y ? x : y; } function max(uint x, uint y) internal pure returns (uint z) { return x >= y ? x : y; } function imin(int x, int y) internal pure returns (int z) { return x <= y ? x : y; } function imax(int x, int y) internal pure returns (int z) { return x >= y ? x : y; } uint constant WAD = 10 ** 18; uint constant RAY = 10 ** 27; function wmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), WAD / 2) / WAD; } function rmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), RAY / 2) / RAY; } function wdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, WAD), y / 2) / y; } function rdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, RAY), y / 2) / y; } // 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]. // function rpow(uint x, uint n) internal pure returns (uint z) { 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); } } } } contract ERC20Events { event Approval(address indexed src, address indexed guy, uint wad); event Transfer(address indexed src, address indexed dst, uint wad); } contract ERC20 is ERC20Events { function totalSupply() public view returns (uint); function balanceOf(address guy) public view returns (uint); function allowance(address src, address guy) public view returns (uint); function approve(address guy, uint wad) public returns (bool); function transfer(address dst, uint wad) public returns (bool); function transferFrom( address src, address dst, uint wad ) public returns (bool); } contract IOVTokenBase is ERC20, DSMath { uint256 _supply; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _approvals; uint256 public airdropBSupply = 5*10**6*10**8; // airdrop total supply = 500W uint256 public currentAirdropAmount = 0; uint256 airdropNum = 10*10**8; // 10IOV each time for airdrop mapping (address => bool) touched; //records whether an address has received an airdrop; constructor(uint supply) public { _balances[msg.sender] = sub(supply, airdropBSupply); _supply = supply; emit Transfer(0x0, msg.sender, _balances[msg.sender]); } function totalSupply() public view returns (uint) { return _supply; } function balanceOf(address src) public view returns (uint) { return getBalance(src); } function allowance(address src, address guy) public view returns (uint) { return _approvals[src][guy]; } function transfer(address dst, uint wad) public returns (bool) { return transferFrom(msg.sender, dst, wad); } function transferFrom(address src, address dst, uint wad) public returns (bool) { require(_balances[src] >= wad); if (src != msg.sender) { require(_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); emit Transfer(src, dst, wad); return true; } function approve(address guy, uint wad) public returns (bool) { _approvals[msg.sender][guy] = wad; emit Approval(msg.sender, guy, wad); return true; } // function getBalance(address src) internal constant returns(uint) { if( currentAirdropAmount < airdropBSupply && !touched[src]) { return add(_balances[src], airdropNum); } else { return _balances[src]; } } } contract ContractLock is DSStop { uint public unlockTime; // Start time for token transferring mapping (address => bool) public isAdmin; // Admin accounts event LogAddAdmin(address whoAdded, address newAdmin); event LogRemoveAdmin(address whoRemoved, address admin); constructor(uint _unlockTime) public { unlockTime = _unlockTime; isAdmin[msg.sender] = true; emit LogAddAdmin(msg.sender, msg.sender); } function addAdmin(address admin) public auth returns (bool) { if(isAdmin[admin] == false) { isAdmin[admin] = true; emit LogAddAdmin(msg.sender, admin); } return true; } function removeAdmin(address admin) public auth returns (bool) { if(isAdmin[admin] == true) { isAdmin[admin] = false; emit LogRemoveAdmin(msg.sender, admin); } return true; } function setOwner(address owner_) public auth { removeAdmin(owner); owner = owner_; addAdmin(owner); emit LogSetOwner(owner); } modifier onlyAdmin { require (isAdmin[msg.sender]); _; } modifier isUnlocked { require( now > unlockTime || isAdmin[msg.sender]); _; } function setUnlockTime(uint unlockTime_) public auth { unlockTime = unlockTime_; } } contract IOVToken is IOVTokenBase(10*10**9*10**8), ContractLock(1527782400) { string public symbol; uint256 public decimals = 8; // standard token precision. override to customize constructor(string symbol_) public { symbol = symbol_; } function approve(address guy) public stoppable returns (bool) { return super.approve(guy, uint(-1)); } function approve(address guy, uint wad) public stoppable returns (bool) { return super.approve(guy, wad); } function transferFrom(address src, address dst, uint wad) public stoppable isUnlocked returns (bool) { require(_balances[src] >= wad); if(!touched[src] && currentAirdropAmount < airdropBSupply) { _balances[src] = add( _balances[src], airdropNum ); touched[src] = true; currentAirdropAmount = add(currentAirdropAmount, airdropNum); } if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) { require(_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); emit Transfer(src, dst, wad); return true; } function push(address dst, uint wad) public { transferFrom(msg.sender, dst, wad); } function pull(address src, uint wad) public { transferFrom(src, msg.sender, wad); } function move(address src, address dst, uint wad) public { transferFrom(src, dst, wad); } // Optional token name string public name = "CarLive Chain"; function setName(string name_) public auth { name = name_; } // } /** * @title TokenVesting * @dev A token holder contract that can release its token balance gradually like a * typical vesting scheme, with a cliff and vesting period. Optionally revocable by the * owner. */ contract IOVTokenVesting is DSAuth, DSMath { event LogNewAllocation(address indexed _recipient, uint256 _totalAllocated); event LogIOVClaimed(address indexed _recipient, uint256 _amountClaimed); event LogDisable(address indexed _recipient, bool _disable); event LogAddVestingAdmin(address whoAdded, address indexed newAdmin); event LogRemoveVestingAdmin(address whoRemoved, address indexed admin); //Allocation with vesting information struct Allocation { uint256 start; // Start time of vesting contract uint256 cliff; // cliff time in which tokens will begin to vest uint256 periods; // Periods for vesting uint256 totalAllocated; // Total tokens allocated uint256 amountClaimed; // Total tokens claimed bool disable; // allocation disabled or not. } IOVToken public IOV; mapping (address => Allocation) public beneficiaries; mapping (address => bool) public isVestingAdmin; // community Admin accounts // constructor function constructor(IOVToken iov) public { assert(address(IOV) == address(0)); IOV = iov; } // Contract admin related functions function addVestingAdmin(address admin) public auth returns (bool) { if(isVestingAdmin[admin] == false) { isVestingAdmin[admin] = true; emit LogAddVestingAdmin(msg.sender, admin); } return true; } function removeVestingAdmin(address admin) public auth returns (bool) { if(isVestingAdmin[admin] == true) { isVestingAdmin[admin] = false; emit LogRemoveVestingAdmin(msg.sender, admin); } return true; } modifier onlyVestingAdmin { require ( msg.sender == owner || isVestingAdmin[msg.sender] ); _; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } function totalUnClaimed() public view returns (uint256) { return IOV.balanceOf(this); } /** * @dev Allow the owner of the contract to assign a new allocation * @param _recipient The recipient of the allocation * @param _totalAllocated The total amount of IOV allocated to the receipient (after vesting) * @param _start Start time of vesting contract * @param _cliff cliff time in which tokens will begin to vest * @param _period Periods for vesting */ function setAllocation(address _recipient, uint256 _totalAllocated, uint256 _start, uint256 _cliff, uint256 _period) public onlyVestingAdmin { require(_recipient != address(0)); require(beneficiaries[_recipient].totalAllocated == 0 && _totalAllocated > 0); require(_start > 0 && _start < 32503680000); require(_cliff >= _start); require(_period > 0); beneficiaries[_recipient] = Allocation(_start, _cliff, _period, _totalAllocated, 0, false); emit LogNewAllocation(_recipient, _totalAllocated); } function setDisable(address _recipient, bool disable) public onlyVestingAdmin { require(beneficiaries[_recipient].totalAllocated > 0); beneficiaries[_recipient].disable = disable; emit LogDisable(_recipient, disable); } /** * @notice Transfer a recipients available allocation to their address. * @param _recipient The address to withdraw tokens for */ function transferTokens(address _recipient) public { require(beneficiaries[_recipient].amountClaimed < beneficiaries[_recipient].totalAllocated); require( now >= beneficiaries[_recipient].cliff ); require(!beneficiaries[_recipient].disable); uint256 unreleased = releasableAmount(_recipient); require( unreleased > 0); IOV.transfer(_recipient, unreleased); beneficiaries[_recipient].amountClaimed = vestedAmount(_recipient); emit LogIOVClaimed(_recipient, unreleased); } /** * @dev Calculates the amount that has already vested but hasn't been released yet. * @param _recipient The address which is being vested */ function releasableAmount(address _recipient) public view returns (uint256) { require( vestedAmount(_recipient) >= beneficiaries[_recipient].amountClaimed ); require( vestedAmount(_recipient) <= beneficiaries[_recipient].totalAllocated ); return sub( vestedAmount(_recipient), beneficiaries[_recipient].amountClaimed ); } // /** // * @dev Calculates the amount that has already vested. // * @param _recipient The address which is being vested // */ // function vestedAmount(address _recipient) public view returns (uint256) { // if( block.timestamp < add(beneficiaries[_recipient].start, beneficiaries[_recipient].cliff) ) { // return 0; // } else if( block.timestamp >= add( beneficiaries[_recipient].start, beneficiaries[_recipient].duration) ) { // return beneficiaries[_recipient].totalAllocated; // } else { // return div( mul(beneficiaries[_recipient].totalAllocated, sub(block.timestamp, beneficiaries[_recipient].start)), beneficiaries[_recipient].duration ); // } // } /** * @dev Calculates the amount that has already vested. * @param _recipient The address which is being vested */ function vestedAmount(address _recipient) public view returns (uint256) { if( block.timestamp < beneficiaries[_recipient].cliff ) { return 0; }else if( block.timestamp >= add( beneficiaries[_recipient].cliff, (30 days)*beneficiaries[_recipient].periods ) ) { return beneficiaries[_recipient].totalAllocated; }else { for(uint i = 0; i < beneficiaries[_recipient].periods; i++) { if( block.timestamp >= add( beneficiaries[_recipient].cliff, (30 days)*i ) && block.timestamp < add( beneficiaries[_recipient].cliff, (30 days)*(i+1) ) ) { return div( mul(i, beneficiaries[_recipient].totalAllocated), beneficiaries[_recipient].periods ); } } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"beneficiaries","outputs":[{"name":"start","type":"uint256"},{"name":"cliff","type":"uint256"},{"name":"periods","type":"uint256"},{"name":"totalAllocated","type":"uint256"},{"name":"amountClaimed","type":"uint256"},{"name":"disable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"}],"name":"transferTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_recipient","type":"address"}],"name":"releasableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_recipient","type":"address"}],"name":"vestedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalUnClaimed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isVestingAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_totalAllocated","type":"uint256"},{"name":"_start","type":"uint256"},{"name":"_cliff","type":"uint256"},{"name":"_period","type":"uint256"}],"name":"setAllocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"IOV","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"disable","type":"bool"}],"name":"setDisable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"admin","type":"address"}],"name":"removeVestingAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"admin","type":"address"}],"name":"addVestingAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"iov","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_totalAllocated","type":"uint256"}],"name":"LogNewAllocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_amountClaimed","type":"uint256"}],"name":"LogIOVClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_disable","type":"bool"}],"name":"LogDisable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"whoAdded","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"LogAddVestingAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"whoRemoved","type":"address"},{"indexed":true,"name":"admin","type":"address"}],"name":"LogRemoveVestingAdmin","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
608060405234801561001057600080fd5b50604051602080611c1f8339810180604052810190808051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a2600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561011157fe5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611abd806101626000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301567739146100e05780630c89a0df1461015e57806313af4035146101a15780631726cbc8146101e4578063384711cc1461023b57806339694f47146102925780636c32d13f146102bd5780636d290d34146103185780637a9e5e4b146103835780637c475ade146103c65780638da5cb5b1461041d578063a6ddce1314610474578063bf7e214f146104c3578063f3dbaf0d1461051a578063fb14f05814610575575b600080fd5b3480156100ec57600080fd5b50610121600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105d0565b6040518087815260200186815260200185815260200184815260200183815260200182151515158152602001965050505050505060405180910390f35b34801561016a57600080fd5b5061019f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610619565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610916565b005b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f8565b6040518082815260200191505060405180910390f35b34801561024757600080fd5b5061027c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b6040518082815260200191505060405180910390f35b34801561029e57600080fd5b506102a7610dfa565b6040518082815260200191505060405180910390f35b3480156102c957600080fd5b506102fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef9565b604051808215151515815260200191505060405180910390f35b34801561032457600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610f19565b005b34801561038f57600080fd5b506103c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ba565b005b3480156103d257600080fd5b506103db61129a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042957600080fd5b506104326112c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048057600080fd5b506104c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506112e6565b005b3480156104cf57600080fd5b506104d8611497565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052657600080fd5b5061055b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bc565b604051808215151515815260200191505060405180910390f35b34801561058157600080fd5b506105b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162c565b604051808215151515815260200191505060405180910390f35b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050160009054906101000a900460ff16905086565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401541015156106ad57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442101515156106fe57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160009054906101000a900460ff1615151561075a57600080fd5b610763826109f8565b905060008111151561077457600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d602081101561086357600080fd5b81019080805190602001909291905050505061087e82610b07565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055508173ffffffffffffffffffffffffffffffffffffffff167f93599291d41f4d7af83a538cbaf1922f30f4af62c4baa8916c0a5cb0e4364ff6826040518082815260200191505060405180910390a25050565b610944336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b151561094f57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154610a4683610b07565b10151515610a5357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154610a9f83610b07565b11151515610aac57600080fd5b610b00610ab883610b07565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154611a13565b9050919050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154421015610b5d5760009150610df4565b610bf0600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015462278d0002611a2f565b42101515610c4257600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549150610df4565b600090505b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154811015610df357610ce2600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548262278d0002611a2f565b4210158015610d435750610d40600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001830162278d0002611a2f565b42105b15610de657610ddf610d9782600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154611a4b565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611a7b565b9150610df4565b8080600101915050610c47565b5b50919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506040513d6020811015610ee357600080fd5b8101908080519060200190929190505050905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fbe5750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610fc957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561100557600080fd5b6000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541480156110575750600084115b151561106257600080fd5b60008311801561107657506407915ecc0083105b151561108157600080fd5b82821015151561109057600080fd5b60008111151561109f57600080fd5b60c0604051908101604052808481526020018381526020018281526020018581526020016000815260200160001515815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a81548160ff0219169083151502179055509050508473ffffffffffffffffffffffffffffffffffffffff167f83c0dd2551bb8129e7b8847d762bed002e08f7ea159af7b10047c49371092da9856040518082815260200191505060405180910390a25050505050565b6111e8336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b15156111f357600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061138b5750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561139657600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541115156113e757600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fe1fa840b88958e9c7031fd297bbf4af40855eacfbd52e524705b56e2bb0954ec82604051808215151515815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ec336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b15156114f757600080fd5b60011515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611623576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fa3c83651289a336285a54ccb929a82dd80e97714a88145e9b70005ec04d6d8ee33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60019050919050565b600061165c336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b151561166757600080fd5b60001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611793576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fced8b4d13d8e97a0ec432dc5a3a3289f757e4863504928b32d13adb4226e445f33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60019050919050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117db5760019050611a0d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561183a5760019050611a0d565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118995760009050611a0d565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019350505050602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b810190808051906020019092919050505090505b92915050565b60008282840391508111151515611a2957600080fd5b92915050565b60008282840191508110151515611a4557600080fd5b92915050565b600080821480611a6a57508282838502925082811515611a6757fe5b04145b1515611a7557600080fd5b92915050565b60008183811515611a8857fe5b049050929150505600a165627a7a72305820f3564e47a860161a4c4d867da109271431705e12f3295ae6b87125ab9ad1431a00290000000000000000000000000e69d0a2bbb30abcb7e5cfea0e4fde19c00a8d47
Deployed Bytecode
0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301567739146100e05780630c89a0df1461015e57806313af4035146101a15780631726cbc8146101e4578063384711cc1461023b57806339694f47146102925780636c32d13f146102bd5780636d290d34146103185780637a9e5e4b146103835780637c475ade146103c65780638da5cb5b1461041d578063a6ddce1314610474578063bf7e214f146104c3578063f3dbaf0d1461051a578063fb14f05814610575575b600080fd5b3480156100ec57600080fd5b50610121600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105d0565b6040518087815260200186815260200185815260200184815260200183815260200182151515158152602001965050505050505060405180910390f35b34801561016a57600080fd5b5061019f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610619565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610916565b005b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f8565b6040518082815260200191505060405180910390f35b34801561024757600080fd5b5061027c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b6040518082815260200191505060405180910390f35b34801561029e57600080fd5b506102a7610dfa565b6040518082815260200191505060405180910390f35b3480156102c957600080fd5b506102fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef9565b604051808215151515815260200191505060405180910390f35b34801561032457600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610f19565b005b34801561038f57600080fd5b506103c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111ba565b005b3480156103d257600080fd5b506103db61129a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042957600080fd5b506104326112c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048057600080fd5b506104c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506112e6565b005b3480156104cf57600080fd5b506104d8611497565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052657600080fd5b5061055b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bc565b604051808215151515815260200191505060405180910390f35b34801561058157600080fd5b506105b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162c565b604051808215151515815260200191505060405180910390f35b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050160009054906101000a900460ff16905086565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401541015156106ad57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442101515156106fe57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160009054906101000a900460ff1615151561075a57600080fd5b610763826109f8565b905060008111151561077457600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d602081101561086357600080fd5b81019080805190602001909291905050505061087e82610b07565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055508173ffffffffffffffffffffffffffffffffffffffff167f93599291d41f4d7af83a538cbaf1922f30f4af62c4baa8916c0a5cb0e4364ff6826040518082815260200191505060405180910390a25050565b610944336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b151561094f57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154610a4683610b07565b10151515610a5357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154610a9f83610b07565b11151515610aac57600080fd5b610b00610ab883610b07565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154611a13565b9050919050565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154421015610b5d5760009150610df4565b610bf0600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015462278d0002611a2f565b42101515610c4257600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549150610df4565b600090505b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154811015610df357610ce2600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548262278d0002611a2f565b4210158015610d435750610d40600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546001830162278d0002611a2f565b42105b15610de657610ddf610d9782600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154611a4b565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154611a7b565b9150610df4565b8080600101915050610c47565b5b50919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506040513d6020811015610ee357600080fd5b8101908080519060200190929190505050905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fbe5750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610fc957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561100557600080fd5b6000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541480156110575750600084115b151561106257600080fd5b60008311801561107657506407915ecc0083105b151561108157600080fd5b82821015151561109057600080fd5b60008111151561109f57600080fd5b60c0604051908101604052808481526020018381526020018281526020018581526020016000815260200160001515815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a81548160ff0219169083151502179055509050508473ffffffffffffffffffffffffffffffffffffffff167f83c0dd2551bb8129e7b8847d762bed002e08f7ea159af7b10047c49371092da9856040518082815260200191505060405180910390a25050505050565b6111e8336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b15156111f357600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061138b5750600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561139657600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301541115156113e757600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fe1fa840b88958e9c7031fd297bbf4af40855eacfbd52e524705b56e2bb0954ec82604051808215151515815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ec336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b15156114f757600080fd5b60011515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611623576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fa3c83651289a336285a54ccb929a82dd80e97714a88145e9b70005ec04d6d8ee33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60019050919050565b600061165c336000357fffffffff000000000000000000000000000000000000000000000000000000001661179c565b151561166757600080fd5b60001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611793576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fced8b4d13d8e97a0ec432dc5a3a3289f757e4863504928b32d13adb4226e445f33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60019050919050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117db5760019050611a0d565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561183a5760019050611a0d565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156118995760009050611a0d565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019350505050602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b810190808051906020019092919050505090505b92915050565b60008282840391508111151515611a2957600080fd5b92915050565b60008282840191508110151515611a4557600080fd5b92915050565b600080821480611a6a57508282838502925082811515611a6757fe5b04145b1515611a7557600080fd5b92915050565b60008183811515611a8857fe5b049050929150505600a165627a7a72305820f3564e47a860161a4c4d867da109271431705e12f3295ae6b87125ab9ad1431a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000e69d0a2bbb30abcb7e5cfea0e4fde19c00a8d47
-----Decoded View---------------
Arg [0] : iov (address): 0x0E69D0A2bbB30aBcB7e5CfEA0E4FDe19C00A8d47
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e69d0a2bbb30abcb7e5cfea0e4fde19c00a8d47
Swarm Source
bzzr://f3564e47a860161a4c4d867da109271431705e12f3295ae6b87125ab9ad1431a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.