More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 947 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Batch Claim | 7507611 | 2056 days ago | IN | 0 ETH | 0.01605115 | ||||
Batch Claim | 7507605 | 2056 days ago | IN | 0 ETH | 0.00735278 | ||||
Distribute Token... | 7507598 | 2056 days ago | IN | 0 ETH | 0.00029866 | ||||
Set Distribution... | 7507588 | 2056 days ago | IN | 0 ETH | 0.00002894 | ||||
Increase Allowan... | 7435795 | 2067 days ago | IN | 0 ETH | 0.00013405 | ||||
Increase Allowan... | 7434724 | 2067 days ago | IN | 0 ETH | 0.00005362 | ||||
Send Ownership | 7431774 | 2067 days ago | IN | 0 ETH | 0.00014362 | ||||
Increase Allowan... | 7428987 | 2068 days ago | IN | 0 ETH | 0.0001481 | ||||
Increase Allowan... | 7428740 | 2068 days ago | IN | 0 ETH | 0.00029685 | ||||
Increase Allowan... | 7428729 | 2068 days ago | IN | 0 ETH | 0.00029685 | ||||
Increase Allowan... | 7428703 | 2068 days ago | IN | 0 ETH | 0.00011874 | ||||
Increase Allowan... | 7428690 | 2068 days ago | IN | 0 ETH | 0.00002968 | ||||
Increase Allowan... | 7428676 | 2068 days ago | IN | 0 ETH | 0.00002962 | ||||
Increase Allowan... | 7428668 | 2068 days ago | IN | 0 ETH | 0.00004468 | ||||
Increase Allowan... | 7428597 | 2068 days ago | IN | 0 ETH | 0.00005924 | ||||
Increase Allowan... | 7428582 | 2068 days ago | IN | 0 ETH | 0.00008886 | ||||
Increase Allowan... | 7428573 | 2068 days ago | IN | 0 ETH | 0.00007109 | ||||
Increase Allowan... | 7428482 | 2068 days ago | IN | 0 ETH | 0.00002991 | ||||
Increase Allowan... | 7428190 | 2068 days ago | IN | 0 ETH | 0.00002962 | ||||
Increase Allowan... | 7427328 | 2068 days ago | IN | 0 ETH | 0.00002962 | ||||
Send Ownership | 7426947 | 2068 days ago | IN | 0 ETH | 0.00008363 | ||||
Increase Allowan... | 7426564 | 2068 days ago | IN | 0 ETH | 0.00002998 | ||||
Increase Allowan... | 7426549 | 2068 days ago | IN | 0 ETH | 0.00002968 | ||||
Increase Allowan... | 7426498 | 2068 days ago | IN | 0 ETH | 0.00005937 | ||||
Increase Allowan... | 7426483 | 2068 days ago | IN | 0 ETH | 0.00005937 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
PoolOwners
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-02 */ /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "Sender not authorised."); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } 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 c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** @title ItMap, a solidity iterable map @dev Credit to: https://gist.github.com/ethers/7e6d443818cbc9ad2c38efa7c0f363d1 */ library itmap { struct entry { // Equal to the index of the key of this item in keys, plus 1. uint keyIndex; uint value; } struct itmap { mapping(uint => entry) data; uint[] keys; } function insert(itmap storage self, uint key, uint value) internal returns (bool replaced) { entry storage e = self.data[key]; e.value = value; if (e.keyIndex > 0) { return true; } else { e.keyIndex = ++self.keys.length; self.keys[e.keyIndex - 1] = key; return false; } } function remove(itmap storage self, uint key) internal returns (bool success) { entry storage e = self.data[key]; if (e.keyIndex == 0) { return false; } if (e.keyIndex < self.keys.length) { // Move an existing element into the vacated key slot. self.data[self.keys[self.keys.length - 1]].keyIndex = e.keyIndex; self.keys[e.keyIndex - 1] = self.keys[self.keys.length - 1]; } self.keys.length -= 1; delete self.data[key]; return true; } function contains(itmap storage self, uint key) internal constant returns (bool exists) { return self.data[key].keyIndex > 0; } function size(itmap storage self) internal constant returns (uint) { return self.keys.length; } function get(itmap storage self, uint key) internal constant returns (uint) { return self.data[key].value; } function getKey(itmap storage self, uint idx) internal constant returns (uint) { return self.keys[idx]; } } /** @title OwnersReceiver for transfer and calls */ contract OwnersReceiver { function onOwnershipTransfer(address _sender, uint _value, bytes _data) public; } /** @title PoolOwners, the crowdsale contract for LinkPool ownership */ contract PoolOwners is Ownable { using SafeMath for uint256; using itmap for itmap.itmap; itmap.itmap private ownerMap; mapping(address => mapping(address => uint256)) allowance; mapping(address => bool) public tokenWhitelist; mapping(address => bool) public whitelist; mapping(address => uint256) public distributionMinimum; uint256 public totalContributed = 0; bool public distributionActive = false; uint256 public precisionMinimum = 0.04 ether; bool public locked = false; address public wallet; bool private contributionStarted = false; uint256 private valuation = 4000 ether; uint256 private hardCap = 1000 ether; uint private distribution = 1; address private dToken = address(0); event Contribution(address indexed sender, uint256 share, uint256 amount); event TokenDistributionActive(address indexed token, uint256 amount, uint256 amountOfOwners); event TokenWithdrawal(address indexed token, address indexed owner, uint256 amount); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner, uint256 amount); event TokenDistributionComplete(address indexed token, uint amount, uint256 amountOfOwners); modifier onlyPoolOwner() { require(ownerMap.get(uint(msg.sender)) != 0, "You are not authorised to call this function"); _; } /** @dev Constructor set set the wallet initally @param _wallet Address of the ETH wallet */ constructor(address _wallet) public { require(_wallet != address(0), "The ETH wallet address needs to be set"); wallet = _wallet; } /** @dev Fallback function, redirects to contribution @dev Transfers tokens to LP wallet address */ function() public payable { require(contributionStarted, "Contribution is not active"); require(whitelist[msg.sender], "You are not whitelisted"); contribute(msg.sender, msg.value); wallet.transfer(msg.value); } /** @dev Manually set a contribution, used by owners to increase owners amounts @param _sender The address of the sender to set the contribution for you @param _amount The amount that the owner has sent */ function addContribution(address _sender, uint256 _amount) public onlyOwner() { contribute(_sender, _amount); } /** @dev Registers a new contribution, sets their share @param _sender The address of the wallet contributing @param _amount The amount that the owner has sent */ function contribute(address _sender, uint256 _amount) private { require(is128Bit(_amount), "Contribution amount isn't 128bit or smaller"); require(!locked, "Crowdsale period over, contribution is locked"); require(!distributionActive, "Cannot contribute when distribution is active"); require(_amount >= precisionMinimum, "Amount needs to be above the minimum contribution"); require(hardCap >= _amount, "Your contribution is greater than the hard cap"); require(_amount % precisionMinimum == 0, "Your amount isn't divisible by the minimum precision"); require(hardCap >= totalContributed.add(_amount), "Your contribution would cause the total to exceed the hardcap"); totalContributed = totalContributed.add(_amount); uint256 share = percent(_amount, valuation, 5); uint owner = ownerMap.get(uint(_sender)); if (owner != 0) { // Existing owner share += owner >> 128; uint amount = (owner << 128 >> 128).add(_amount); require(ownerMap.insert(uint(_sender), share << 128 | amount), "Sender does not exist in the map"); } else { // New owner require(!ownerMap.insert(uint(_sender), share << 128 | _amount), "Map replacement detected"); } emit Contribution(_sender, share, _amount); } /** @dev Whitelist a wallet address @param _owner Wallet of the owner */ function whitelistWallet(address _owner) external onlyOwner() { require(!locked, "Can't whitelist when the contract is locked"); require(_owner != address(0), "Blackhole address"); whitelist[_owner] = true; } /** @dev Start the distribution phase */ function startContribution() external onlyOwner() { require(!contributionStarted, "Contribution has started"); contributionStarted = true; } /** @dev Manually set a share directly, used to set the LinkPool members as owners @param _owner Wallet address of the owner @param _value The equivalent contribution value */ function setOwnerShare(address _owner, uint256 _value) public onlyOwner() { require(!locked, "Can't manually set shares, it's locked"); require(!distributionActive, "Cannot set owners share when distribution is active"); require(is128Bit(_value), "Contribution value isn't 128bit or smaller"); uint owner = ownerMap.get(uint(_owner)); uint share; if (owner == 0) { share = percent(_value, valuation, 5); require(!ownerMap.insert(uint(_owner), share << 128 | _value), "Map replacement detected"); } else { share = (owner >> 128).add(percent(_value, valuation, 5)); uint value = (owner << 128 >> 128).add(_value); require(ownerMap.insert(uint(_owner), share << 128 | value), "Sender does not exist in the map"); } } /** @dev Transfer part or all of your ownership to another address @param _receiver The address that you're sending to @param _amount The amount of ownership to send, for your balance refer to `ownerShareTokens` */ function sendOwnership(address _receiver, uint256 _amount) public onlyPoolOwner() { _sendOwnership(msg.sender, _receiver, _amount); } /** @dev Transfer part or all of your ownership to another address and call the receiving contract @param _receiver The address that you're sending to @param _amount The amount of ownership to send, for your balance refer to `ownerShareTokens` */ function sendOwnershipAndCall(address _receiver, uint256 _amount, bytes _data) public onlyPoolOwner() { _sendOwnership(msg.sender, _receiver, _amount); if (isContract(_receiver)) { contractFallback(_receiver, _amount, _data); } } /** @dev Transfer part or all of your ownership to another address on behalf of an owner @dev Same principle as approval in ERC20, to be used mostly by external contracts, eg DEX's @param _owner The address of the owner who's having tokens sent on behalf of @param _receiver The address that you're sending to @param _amount The amount of ownership to send, for your balance refer to `ownerShareTokens` */ function sendOwnershipFrom(address _owner, address _receiver, uint256 _amount) public { require(allowance[_owner][msg.sender] >= _amount, "Sender is not approved to send ownership of that amount"); allowance[_owner][msg.sender] = allowance[_owner][msg.sender].sub(_amount); if (allowance[_owner][msg.sender] == 0) { delete allowance[_owner][msg.sender]; } _sendOwnership(_owner, _receiver, _amount); } function _sendOwnership(address _owner, address _receiver, uint256 _amount) private { uint o = ownerMap.get(uint(_owner)); uint r = ownerMap.get(uint(_receiver)); uint oTokens = o << 128 >> 128; uint rTokens = r << 128 >> 128; require(is128Bit(_amount), "Amount isn't 128bit or smaller"); require(_owner != _receiver, "You can't send to yourself"); require(_receiver != address(0), "Ownership cannot be blackholed"); require(oTokens > 0, "You don't have any ownership"); require(oTokens >= _amount, "The amount exceeds what you have"); require(!distributionActive, "Distribution cannot be active when sending ownership"); require(_amount % precisionMinimum == 0, "Your amount isn't divisible by the minimum precision amount"); oTokens = oTokens.sub(_amount); if (oTokens == 0) { require(ownerMap.remove(uint(_owner)), "Address doesn't exist in the map"); } else { uint oPercentage = percent(oTokens, valuation, 5); require(ownerMap.insert(uint(_owner), oPercentage << 128 | oTokens), "Sender does not exist in the map"); } uint rTNew = rTokens.add(_amount); uint rPercentage = percent(rTNew, valuation, 5); if (rTokens == 0) { require(!ownerMap.insert(uint(_receiver), rPercentage << 128 | rTNew), "Map replacement detected"); } else { require(ownerMap.insert(uint(_receiver), rPercentage << 128 | rTNew), "Sender does not exist in the map"); } emit OwnershipTransferred(_owner, _receiver, _amount); } function contractFallback(address _receiver, uint256 _amount, bytes _data) private { OwnersReceiver receiver = OwnersReceiver(_receiver); receiver.onOwnershipTransfer(msg.sender, _amount, _data); } function isContract(address _addr) private view returns (bool hasCode) { uint length; assembly { length := extcodesize(_addr) } return length > 0; } /** @dev Increase the allowance of a sender @param _sender The address of the sender on behalf of the owner @param _amount The amount to increase approval by */ function increaseAllowance(address _sender, uint256 _amount) public { uint o = ownerMap.get(uint(msg.sender)); require(o << 128 >> 128 >= _amount, "The amount to increase allowance by is higher than your balance"); allowance[msg.sender][_sender] = allowance[msg.sender][_sender].add(_amount); } /** @dev Decrease the allowance of a sender @param _sender The address of the sender on behalf of the owner @param _amount The amount to decrease approval by */ function decreaseAllowance(address _sender, uint256 _amount) public { require(allowance[msg.sender][_sender] >= _amount, "The amount to decrease allowance by is higher than the current allowance"); allowance[msg.sender][_sender] = allowance[msg.sender][_sender].sub(_amount); if (allowance[msg.sender][_sender] == 0) { delete allowance[msg.sender][_sender]; } } /** @dev Lock the contribution/shares methods */ function lockShares() public onlyOwner() { require(!locked, "Shares already locked"); locked = true; } /** @dev Start the distribution phase in the contract so owners can claim their tokens @param _token The token address to start the distribution of */ function distributeTokens(address _token) public onlyPoolOwner() { require(tokenWhitelist[_token], "Token is not whitelisted to be distributed"); require(!distributionActive, "Distribution is already active"); distributionActive = true; uint256 currentBalance = ERC20(_token).balanceOf(this); if (!is128Bit(currentBalance)) { currentBalance = 1 << 128; } require(currentBalance > distributionMinimum[_token], "Amount in the contract isn't above the minimum distribution limit"); distribution = currentBalance << 128; dToken = _token; emit TokenDistributionActive(_token, currentBalance, ownerMap.size()); } /** @dev Batch claiming of tokens for owners @param _count The amount of owners to claim tokens for */ function batchClaim(uint256 _count) public onlyPoolOwner() { uint claimed = distribution << 128 >> 128; uint to = _count.add(claimed); require(_count.add(claimed) <= ownerMap.size(), "To value is greater than the amount of owners"); for (uint256 i = claimed; i < to; i++) { claimTokens(i); } claimed = claimed.add(_count); if (claimed == ownerMap.size()) { distributionActive = false; emit TokenDistributionComplete(dToken, distribution >> 128, ownerMap.size()); } else { distribution = distribution >> 128 << 128 | claimed; } } /** @dev Claim the tokens for the next owner in the map */ function claimTokens(uint _i) private { address owner = address(ownerMap.getKey(_i)); uint o = ownerMap.get(uint(owner)); require(o >> 128 > 0, "You need to have a share to claim tokens"); require(distributionActive, "Distribution isn't active"); uint256 tokenAmount = (distribution >> 128).mul(o >> 128).div(100000); require(ERC20(dToken).transfer(owner, tokenAmount), "ERC20 transfer failed"); } /** @dev Whitelist a token so it can be distributed @dev Token whitelist is due to the potential of minting tokens and constantly lock this contract in distribution */ function whitelistToken(address _token, uint256 _minimum) public onlyOwner() { require(!tokenWhitelist[_token], "Token is already whitelisted"); tokenWhitelist[_token] = true; distributionMinimum[_token] = _minimum; } /** @dev Set the minimum amount to be of transfered in this contract to start distribution @param _minimum The minimum amount */ function setDistributionMinimum(address _token, uint256 _minimum) public onlyOwner() { distributionMinimum[_token] = _minimum; } /** @dev Get the amount of unclaimed owners in a distribution cycle */ function getClaimedOwners() public view returns (uint) { return distribution << 128 >> 128; } /** @dev Return an owners percentage @param _owner The address of the owner */ function getOwnerPercentage(address _owner) public view returns (uint) { return ownerMap.get(uint(_owner)) >> 128; } /** @dev Return an owners share token amount @param _owner The address of the owner */ function getOwnerTokens(address _owner) public view returns (uint) { return ownerMap.get(uint(_owner)) << 128 >> 128; } /** @dev Returns the current amount of active owners, ie share above 0 */ function getCurrentOwners() public view returns (uint) { return ownerMap.size(); } /** @dev Returns owner address based on the key @param _i The index of the owner in the map */ function getOwnerAddress(uint _i) public view returns (address) { require(_i < ownerMap.size(), "Index is greater than the map size"); return address(ownerMap.getKey(_i)); } /** @dev Returns the allowance amount for a sender address @param _owner The address of the owner @param _sender The address of the sender on an owners behalf */ function getAllowance(address _owner, address _sender) public view returns (uint256) { return allowance[_owner][_sender]; } /** @dev Credit to Rob Hitchens: https://stackoverflow.com/a/42739843 */ function percent(uint numerator, uint denominator, uint precision) private pure returns (uint quotient) { uint _numerator = numerator * 10 ** (precision+1); uint _quotient = ((_numerator / denominator) + 5) / 10; return ( _quotient); } /** @dev Strict type check for data packing @param _val The value for checking */ function is128Bit(uint _val) private pure returns (bool) { return _val < 1 << 128; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_minimum","type":"uint256"}],"name":"setDistributionMinimum","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_sender","type":"address"}],"name":"getAllowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getOwnerPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"increaseAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"addContribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_count","type":"uint256"}],"name":"batchClaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentOwners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenWhitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"whitelistWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startContribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributionActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"distributeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"sendOwnershipAndCall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lockShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_minimum","type":"uint256"}],"name":"whitelistToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"precisionMinimum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getOwnerTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_value","type":"uint256"}],"name":"setOwnerShare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_i","type":"uint256"}],"name":"getOwnerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"sendOwnershipFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"sendOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"distributionMinimum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getClaimedOwners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"share","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Contribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"amountOfOwners","type":"uint256"}],"name":"TokenDistributionActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"token","type":"address"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"token","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"amountOfOwners","type":"uint256"}],"name":"TokenDistributionComplete","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260006007556008805460ff19169055668e1bc9bf040000600955600a805460ff60a860020a60ff02011916905568d8d726b7177a800000600b55683635c9adc5dea00000600c556001600d55600e8054600160a060020a031916905534801561006c57600080fd5b50604051602080612d82833981016040525160008054600160a060020a03191633179055600160a060020a038116151561012d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f546865204554482077616c6c65742061646472657373206e6565647320746f2060448201527f6265207365740000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600a8054600160a060020a039092166101000261010060a860020a0319909216919091179055612c20806101626000396000f30060806040526004361061017f5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663023f414781146102aa57806303101f46146102d15780630af4187d146102f7578063171265861461031e578063395093511461033f57806339ecacac14610363578063521eb2731461038757806355aea767146103b857806363e8dd96146103d0578063753d7563146103e5578063787c23e01461041a578063897463aa1461043b5780638da5cb5b1461045057806399fb15d2146104655780639b19251a1461047a578063a457c2d71461049b578063b1d17c98146104bf578063b4abda8b146104e0578063b75c206814610549578063c4e16b7d1461055e578063cf30901214610582578063d131af3014610597578063d63d4af0146105ac578063dcac652e146105cd578063dd550958146105f1578063de995b9014610609578063e2d0d51914610633578063ec4690de14610657578063f2fde38b14610678578063fbbb75c514610699575b600a547501000000000000000000000000000000000000000000900460ff1615156101f4576040805160e560020a62461bcd02815260206004820152601a60248201527f436f6e747269627574696f6e206973206e6f7420616374697665000000000000604482015290519081900360640190fd5b3360009081526005602052604090205460ff16151561025d576040805160e560020a62461bcd02815260206004820152601760248201527f596f7520617265206e6f742077686974656c6973746564000000000000000000604482015290519081900360640190fd5b61026733346106ae565b600a54604051600160a060020a0361010090920491909116903480156108fc02916000818181858888f193505050501580156102a7573d6000803e3d6000fd5b50005b3480156102b657600080fd5b506102bf610bf0565b60408051918252519081900360200190f35b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610bf6565b005b34801561030357600080fd5b506102bf600160a060020a0360043581169060243516610c62565b34801561032a57600080fd5b506102bf600160a060020a0360043516610c8d565b34801561034b57600080fd5b506102f5600160a060020a0360043516602435610cb8565b34801561036f57600080fd5b506102f5600160a060020a0360043516602435610db6565b34801561039357600080fd5b5061039c610e14565b60408051600160a060020a039092168252519081900360200190f35b3480156103c457600080fd5b506102f5600435610e28565b3480156103dc57600080fd5b506102bf61100f565b3480156103f157600080fd5b50610406600160a060020a0360043516611021565b604080519115158252519081900360200190f35b34801561042657600080fd5b506102f5600160a060020a0360043516611036565b34801561044757600080fd5b506102f561118b565b34801561045c57600080fd5b5061039c611288565b34801561047157600080fd5b50610406611297565b34801561048657600080fd5b50610406600160a060020a03600435166112a0565b3480156104a757600080fd5b506102f5600160a060020a03600435166024356112b5565b3480156104cb57600080fd5b506102f5600160a060020a0360043516611404565b3480156104ec57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102f5948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061174c9650505050505050565b34801561055557600080fd5b506102f56117de565b34801561056a57600080fd5b506102f5600160a060020a0360043516602435611898565b34801561058e57600080fd5b5061040661198a565b3480156105a357600080fd5b506102bf611993565b3480156105b857600080fd5b506102bf600160a060020a0360043516611999565b3480156105d957600080fd5b506102f5600160a060020a03600435166024356119ca565b3480156105fd57600080fd5b5061039c600435611d04565b34801561061557600080fd5b506102f5600160a060020a0360043581169060243516604435611da3565b34801561063f57600080fd5b506102f5600160a060020a0360043516602435611ed4565b34801561066357600080fd5b506102bf600160a060020a0360043516611f48565b34801561068457600080fd5b506102f5600160a060020a0360043516611f5a565b3480156106a557600080fd5b506102bf612027565b60008060006106bc84612036565b1515610738576040805160e560020a62461bcd02815260206004820152602b60248201527f436f6e747269627574696f6e20616d6f756e742069736e27742031323862697460448201527f206f7220736d616c6c6572000000000000000000000000000000000000000000606482015290519081900360840190fd5b600a5460ff16156107b9576040805160e560020a62461bcd02815260206004820152602d60248201527f43726f776473616c6520706572696f64206f7665722c20636f6e74726962757460448201527f696f6e206973206c6f636b656400000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff161561083a576040805160e560020a62461bcd02815260206004820152602d60248201527f43616e6e6f7420636f6e74726962757465207768656e2064697374726962757460448201527f696f6e2069732061637469766500000000000000000000000000000000000000606482015290519081900360840190fd5b6009548410156108ba576040805160e560020a62461bcd02815260206004820152603160248201527f416d6f756e74206e6565647320746f2062652061626f766520746865206d696e60448201527f696d756d20636f6e747269627574696f6e000000000000000000000000000000606482015290519081900360840190fd5b600c5484111561093a576040805160e560020a62461bcd02815260206004820152602e60248201527f596f757220636f6e747269627574696f6e20697320677265617465722074686160448201527f6e20746865206861726420636170000000000000000000000000000000000000606482015290519081900360840190fd5b6009548481151561094757fe5b06156109c3576040805160e560020a62461bcd02815260206004820152603460248201527f596f757220616d6f756e742069736e277420646976697369626c65206279207460448201527f6865206d696e696d756d20707265636973696f6e000000000000000000000000606482015290519081900360840190fd5b6007546109d6908563ffffffff61203f16565b600c541015610a55576040805160e560020a62461bcd02815260206004820152603d60248201527f596f757220636f6e747269627574696f6e20776f756c6420636175736520746860448201527f6520746f74616c20746f20657863656564207468652068617264636170000000606482015290519081900360840190fd5b600754610a68908563ffffffff61203f16565b600755600b54610a7b9085906005612059565b9250610a976001600160a060020a03871663ffffffff61208e16565b91508115610b2e57608060020a8083049390930192610ac090808402048563ffffffff61203f16565b9050610ae56001600160a060020a038716608060020a8602841763ffffffff6120a416565b1515610b29576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b610ba6565b610b516001600160a060020a038716608060020a8602871763ffffffff6120a416565b15610ba6576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b60408051848152602081018690528151600160a060020a038816927f5f7675b09617d2c9fa4fd13058ee5877a9538f626b0308816736e83748a45040928290030190a25050505050565b60075481565b600054600160a060020a03163314610c46576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a03909116600090815260066020526040902055565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60006080610cab6001600160a060020a03851663ffffffff61208e16565b9060020a90049050919050565b6000610ccb60013363ffffffff61208e16565b9050608060020a80820204821115610d53576040805160e560020a62461bcd02815260206004820152603f60248201527f54686520616d6f756e7420746f20696e63726561736520616c6c6f77616e636560448201527f20627920697320686967686572207468616e20796f75722062616c616e636500606482015290519081900360840190fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610d87908363ffffffff61203f16565b336000908152600360209081526040808320600160a060020a0397909716835295905293909320929092555050565b600054600160a060020a03163314610e06576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b610e1082826106ae565b5050565b600a546101009004600160a060020a031681565b60008080610e3d60013363ffffffff61208e16565b1515610e95576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b600d54608060020a908102049250610eb3848463ffffffff61203f16565b9150610ebf6001612113565b610ecf858563ffffffff61203f16565b1115610f4b576040805160e560020a62461bcd02815260206004820152602d60248201527f546f2076616c75652069732067726561746572207468616e2074686520616d6f60448201527f756e74206f66206f776e65727300000000000000000000000000000000000000606482015290519081900360840190fd5b50815b81811015610f6757610f5f8161211a565b600101610f4e565b610f77838563ffffffff61203f16565b9250610f836001612113565b831415610ff6576008805460ff19169055600e54600d54600160a060020a03909116907f3f1b49349800340b97132392d0b7f9be99025a47d4b5025999cd26da9668125090608060020a9004610fd96001612113565b6040805192835260208301919091528051918290030190a2611009565b600d8054608060020a9081900402841790555b50505050565b600061101b6001612113565b90505b90565b60046020526000908152604090205460ff1681565b600054600160a060020a03163314611086576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611107576040805160e560020a62461bcd02815260206004820152602b60248201527f43616e27742077686974656c697374207768656e2074686520636f6e7472616360448201527f74206973206c6f636b6564000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381161515611167576040805160e560020a62461bcd02815260206004820152601160248201527f426c61636b686f6c652061646472657373000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03166000908152600560205260409020805460ff19166001179055565b600054600160a060020a031633146111db576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a547501000000000000000000000000000000000000000000900460ff161561124f576040805160e560020a62461bcd02815260206004820152601860248201527f436f6e747269627574696f6e2068617320737461727465640000000000000000604482015290519081900360640190fd5b600a805475ff00000000000000000000000000000000000000000019167501000000000000000000000000000000000000000000179055565b600054600160a060020a031681565b60085460ff1681565b60056020526000908152604090205460ff1681565b336000908152600360209081526040808320600160a060020a038616845290915290205481111561137c576040805160e560020a62461bcd02815260206004820152604860248201527f54686520616d6f756e7420746f20646563726561736520616c6c6f77616e636560448201527f20627920697320686967686572207468616e207468652063757272656e74206160648201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b336000908152600360209081526040808320600160a060020a03861684529091529020546113b0908263ffffffff61235316565b336000908152600360209081526040808320600160a060020a038716845290915290208190551515610e1057336000908152600360209081526040808320600160a060020a03861684529091528120555050565b600061141760013363ffffffff61208e16565b151561146f576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b600160a060020a03821660009081526004602052604090205460ff161515611507576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e206973206e6f742077686974656c697374656420746f206265206460448201527f6973747269627574656400000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff1615611562576040805160e560020a62461bcd02815260206004820152601e60248201527f446973747269627574696f6e20697320616c7265616479206163746976650000604482015290519081900360640190fd5b6008805460ff19166001179055604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156115d057600080fd5b505af11580156115e4573d6000803e3d6000fd5b505050506040513d60208110156115fa57600080fd5b5051905061160781612036565b15156116145750608060020a5b600160a060020a03821660009081526006602052604090205481116116cf576040805160e560020a62461bcd02815260206004820152604160248201527f416d6f756e7420696e2074686520636f6e74726163742069736e27742061626f60448201527f766520746865206d696e696d756d20646973747269627574696f6e206c696d6960648201527f7400000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b608060020a8102600d55600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557feede959c6858c7a658800c9574366c74769c18e3e3095c31d9516c31b894f743826117306001612113565b6040805192835260208301919091528051918290030190a25050565b61175d60013363ffffffff61208e16565b15156117b5576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b6117c0338484612365565b6117c9836128fe565b156117d9576117d9838383612906565b505050565b600054600160a060020a0316331461182e576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611889576040805160e560020a62461bcd02815260206004820152601560248201527f53686172657320616c7265616479206c6f636b65640000000000000000000000604482015290519081900360640190fd5b600a805460ff19166001179055565b600054600160a060020a031633146118e8576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a03821660009081526004602052604090205460ff1615611959576040805160e560020a62461bcd02815260206004820152601c60248201527f546f6b656e20697320616c72656164792077686974656c697374656400000000604482015290519081900360640190fd5b600160a060020a039091166000908152600460209081526040808320805460ff191660011790556006909152902055565b600a5460ff1681565b60095481565b60006080806119b86001600160a060020a03861663ffffffff61208e16565b9060020a029060020a90049050919050565b6000805481908190600160a060020a03163314611a1f576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611aa0576040805160e560020a62461bcd02815260206004820152602660248201527f43616e2774206d616e75616c6c7920736574207368617265732c20697427732060448201527f6c6f636b65640000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff1615611b21576040805160e560020a62461bcd02815260206004820152603360248201527f43616e6e6f7420736574206f776e657273207368617265207768656e2064697360448201527f747269627574696f6e2069732061637469766500000000000000000000000000606482015290519081900360840190fd5b611b2a84612036565b1515611ba6576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e747269627574696f6e2076616c75652069736e2774203132386269742060448201527f6f7220736d616c6c657200000000000000000000000000000000000000000000606482015290519081900360840190fd5b611bc06001600160a060020a03871663ffffffff61208e16565b9250821515611c5657611bd784600b546005612059565b9150611bfc6001600160a060020a038716608060020a8502871763ffffffff6120a416565b15611c51576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b611cfd565b611c7a611c6785600b546005612059565b608060020a85049063ffffffff61203f16565b9150611c94608060020a808502048563ffffffff61203f16565b9050611cb96001600160a060020a038716608060020a8502841763ffffffff6120a416565b1515611cfd576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b5050505050565b6000611d106001612113565b8210611d8c576040805160e560020a62461bcd02815260206004820152602260248201527f496e6465782069732067726561746572207468616e20746865206d617020736960448201527f7a65000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d9d60018363ffffffff6129f916565b92915050565b600160a060020a0383166000908152600360209081526040808320338452909152902054811115611e44576040805160e560020a62461bcd02815260206004820152603760248201527f53656e646572206973206e6f7420617070726f76656420746f2073656e64206f60448201527f776e657273686970206f66207468617420616d6f756e74000000000000000000606482015290519081900360840190fd5b600160a060020a0383166000908152600360209081526040808320338452909152902054611e78908263ffffffff61235316565b600160a060020a038416600090815260036020908152604080832033845290915290208190551515611ec957600160a060020a03831660009081526003602090815260408083203384529091528120555b6117d9838383612365565b611ee560013363ffffffff61208e16565b1515611f3d576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b610e10338383612365565b60066020526000908152604090205481565b600054600160a060020a03163314611faa576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a0381161515611fbf57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d54608060020a9081020490565b608060020a1190565b60008282018381101561204e57fe5b8091505b5092915050565b600080600083600101600a0a86029150600a858381151561207657fe5b0460050181151561208357fe5b049695505050505050565b6000908152602091909152604090206001015490565b60008281526020849052604081206001810183905580548210156120cb576001915061210b565b84600101805460010190816120e09190612b37565b8082556001860180548692600019019081106120f857fe5b9060005260206000200181905550600091505b509392505050565b6001015490565b6000808061212f60018563ffffffff6129f916565b925061214b6001600160a060020a03851663ffffffff61208e16565b91506000608060020a8304116121d1576040805160e560020a62461bcd02815260206004820152602860248201527f596f75206e65656420746f2068617665206120736861726520746f20636c616960448201527f6d20746f6b656e73000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff16151561222d576040805160e560020a62461bcd02815260206004820152601960248201527f446973747269627574696f6e2069736e27742061637469766500000000000000604482015290519081900360640190fd5b600d5461226090620186a09061225490608060020a9081900490860463ffffffff612a1f16565b9063ffffffff612a4316565b600e54604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015260248201859052915193945091169163a9059cbb916044808201926020929091908290030181600087803b1580156122d157600080fd5b505af11580156122e5573d6000803e3d6000fd5b505050506040513d60208110156122fb57600080fd5b50511515611009576040805160e560020a62461bcd02815260206004820152601560248201527f4552433230207472616e73666572206661696c65640000000000000000000000604482015290519081900360640190fd5b60008282111561235f57fe5b50900390565b60008080808080806123876001600160a060020a038c1663ffffffff61208e16565b96506123a36001600160a060020a038b1663ffffffff61208e16565b9550608060020a80880281900495508087020493506123c188612036565b1515612417576040805160e560020a62461bcd02815260206004820152601e60248201527f416d6f756e742069736e277420313238626974206f7220736d616c6c65720000604482015290519081900360640190fd5b600160a060020a038a8116908a16141561247b576040805160e560020a62461bcd02815260206004820152601a60248201527f596f752063616e27742073656e6420746f20796f757273656c66000000000000604482015290519081900360640190fd5b600160a060020a03891615156124db576040805160e560020a62461bcd02815260206004820152601e60248201527f4f776e6572736869702063616e6e6f7420626520626c61636b686f6c65640000604482015290519081900360640190fd5b60008511612533576040805160e560020a62461bcd02815260206004820152601c60248201527f596f7520646f6e2774206861766520616e79206f776e65727368697000000000604482015290519081900360640190fd5b8785101561258b576040805160e560020a62461bcd02815260206004820181905260248201527f54686520616d6f756e742065786365656473207768617420796f752068617665604482015290519081900360640190fd5b60085460ff161561260c576040805160e560020a62461bcd02815260206004820152603460248201527f446973747269627574696f6e2063616e6e6f742062652061637469766520776860448201527f656e2073656e64696e67206f776e657273686970000000000000000000000000606482015290519081900360840190fd5b6009548881151561261957fe5b0615612695576040805160e560020a62461bcd02815260206004820152603b60248201527f596f757220616d6f756e742069736e277420646976697369626c65206279207460448201527f6865206d696e696d756d20707265636973696f6e20616d6f756e740000000000606482015290519081900360840190fd5b6126a5858963ffffffff61235316565b9450841515612723576126c86001600160a060020a038c1663ffffffff612a5a16565b151561271e576040805160e560020a62461bcd02815260206004820181905260248201527f4164647265737320646f65736e277420657869737420696e20746865206d6170604482015290519081900360640190fd5b61279a565b61273185600b546005612059565b92506127566001600160a060020a038c16608060020a8602881763ffffffff6120a416565b151561279a576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b6127aa848963ffffffff61203f16565b91506127ba82600b546005612059565b9050831515612840576127e66001600160a060020a038b16608060020a8402851763ffffffff6120a416565b1561283b576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b6128a7565b6128636001600160a060020a038b16608060020a8402851763ffffffff6120a416565b15156128a7576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b88600160a060020a03168a600160a060020a03167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b8a6040518082815260200191505060405180910390a350505050505050505050565b6000903b1190565b6040517f5b4cc3200000000000000000000000000000000000000000000000000000000081523360048201818152602483018590526060604484019081528451606485015284518794600160a060020a03861694635b4cc3209490938993899360840190602085019080838360005b8381101561298d578181015183820152602001612975565b50505050905090810190601f1680156129ba5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129db57600080fd5b505af11580156129ef573d6000803e3d6000fd5b5050505050505050565b60008260010182815481101515612a0c57fe5b9060005260206000200154905092915050565b6000828202831580612a3b5750828482811515612a3857fe5b04145b151561204e57fe5b6000808284811515612a5157fe5b04949350505050565b600081815260208390526040812080541515612a795760009150612052565b600184015481541015612b0157805460018501805486916000916000198101908110612aa157fe5b600091825260208083209091015483528201929092526040019020556001840180546000198101908110612ad157fe5b9060005260206000200154846001016001836000015403815481101515612af457fe5b6000918252602090912001555b6001840180546000190190612b169082612b37565b50505060009081526020919091526040812081815560019081019190915590565b8154818355818111156117d9576000838152602090206117d991810190830161101e91905b80821115612b705760008155600101612b5c565b509056006869732066756e6374696f6e000000000000000000000000000000000000000053656e64657220646f6573206e6f7420657869737420696e20746865206d617053656e646572206e6f7420617574686f72697365642e00000000000000000000596f7520617265206e6f7420617574686f726973656420746f2063616c6c2074a165627a7a7230582063a5c36ec074600c5d11d0faf1e409fd095b5102de113fe8353590fd51f1aa0b0029000000000000000000000000e2d06414b011d6dfff2d7181feb37e68e8322d61
Deployed Bytecode
0x60806040526004361061017f5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663023f414781146102aa57806303101f46146102d15780630af4187d146102f7578063171265861461031e578063395093511461033f57806339ecacac14610363578063521eb2731461038757806355aea767146103b857806363e8dd96146103d0578063753d7563146103e5578063787c23e01461041a578063897463aa1461043b5780638da5cb5b1461045057806399fb15d2146104655780639b19251a1461047a578063a457c2d71461049b578063b1d17c98146104bf578063b4abda8b146104e0578063b75c206814610549578063c4e16b7d1461055e578063cf30901214610582578063d131af3014610597578063d63d4af0146105ac578063dcac652e146105cd578063dd550958146105f1578063de995b9014610609578063e2d0d51914610633578063ec4690de14610657578063f2fde38b14610678578063fbbb75c514610699575b600a547501000000000000000000000000000000000000000000900460ff1615156101f4576040805160e560020a62461bcd02815260206004820152601a60248201527f436f6e747269627574696f6e206973206e6f7420616374697665000000000000604482015290519081900360640190fd5b3360009081526005602052604090205460ff16151561025d576040805160e560020a62461bcd02815260206004820152601760248201527f596f7520617265206e6f742077686974656c6973746564000000000000000000604482015290519081900360640190fd5b61026733346106ae565b600a54604051600160a060020a0361010090920491909116903480156108fc02916000818181858888f193505050501580156102a7573d6000803e3d6000fd5b50005b3480156102b657600080fd5b506102bf610bf0565b60408051918252519081900360200190f35b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610bf6565b005b34801561030357600080fd5b506102bf600160a060020a0360043581169060243516610c62565b34801561032a57600080fd5b506102bf600160a060020a0360043516610c8d565b34801561034b57600080fd5b506102f5600160a060020a0360043516602435610cb8565b34801561036f57600080fd5b506102f5600160a060020a0360043516602435610db6565b34801561039357600080fd5b5061039c610e14565b60408051600160a060020a039092168252519081900360200190f35b3480156103c457600080fd5b506102f5600435610e28565b3480156103dc57600080fd5b506102bf61100f565b3480156103f157600080fd5b50610406600160a060020a0360043516611021565b604080519115158252519081900360200190f35b34801561042657600080fd5b506102f5600160a060020a0360043516611036565b34801561044757600080fd5b506102f561118b565b34801561045c57600080fd5b5061039c611288565b34801561047157600080fd5b50610406611297565b34801561048657600080fd5b50610406600160a060020a03600435166112a0565b3480156104a757600080fd5b506102f5600160a060020a03600435166024356112b5565b3480156104cb57600080fd5b506102f5600160a060020a0360043516611404565b3480156104ec57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102f5948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061174c9650505050505050565b34801561055557600080fd5b506102f56117de565b34801561056a57600080fd5b506102f5600160a060020a0360043516602435611898565b34801561058e57600080fd5b5061040661198a565b3480156105a357600080fd5b506102bf611993565b3480156105b857600080fd5b506102bf600160a060020a0360043516611999565b3480156105d957600080fd5b506102f5600160a060020a03600435166024356119ca565b3480156105fd57600080fd5b5061039c600435611d04565b34801561061557600080fd5b506102f5600160a060020a0360043581169060243516604435611da3565b34801561063f57600080fd5b506102f5600160a060020a0360043516602435611ed4565b34801561066357600080fd5b506102bf600160a060020a0360043516611f48565b34801561068457600080fd5b506102f5600160a060020a0360043516611f5a565b3480156106a557600080fd5b506102bf612027565b60008060006106bc84612036565b1515610738576040805160e560020a62461bcd02815260206004820152602b60248201527f436f6e747269627574696f6e20616d6f756e742069736e27742031323862697460448201527f206f7220736d616c6c6572000000000000000000000000000000000000000000606482015290519081900360840190fd5b600a5460ff16156107b9576040805160e560020a62461bcd02815260206004820152602d60248201527f43726f776473616c6520706572696f64206f7665722c20636f6e74726962757460448201527f696f6e206973206c6f636b656400000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff161561083a576040805160e560020a62461bcd02815260206004820152602d60248201527f43616e6e6f7420636f6e74726962757465207768656e2064697374726962757460448201527f696f6e2069732061637469766500000000000000000000000000000000000000606482015290519081900360840190fd5b6009548410156108ba576040805160e560020a62461bcd02815260206004820152603160248201527f416d6f756e74206e6565647320746f2062652061626f766520746865206d696e60448201527f696d756d20636f6e747269627574696f6e000000000000000000000000000000606482015290519081900360840190fd5b600c5484111561093a576040805160e560020a62461bcd02815260206004820152602e60248201527f596f757220636f6e747269627574696f6e20697320677265617465722074686160448201527f6e20746865206861726420636170000000000000000000000000000000000000606482015290519081900360840190fd5b6009548481151561094757fe5b06156109c3576040805160e560020a62461bcd02815260206004820152603460248201527f596f757220616d6f756e742069736e277420646976697369626c65206279207460448201527f6865206d696e696d756d20707265636973696f6e000000000000000000000000606482015290519081900360840190fd5b6007546109d6908563ffffffff61203f16565b600c541015610a55576040805160e560020a62461bcd02815260206004820152603d60248201527f596f757220636f6e747269627574696f6e20776f756c6420636175736520746860448201527f6520746f74616c20746f20657863656564207468652068617264636170000000606482015290519081900360840190fd5b600754610a68908563ffffffff61203f16565b600755600b54610a7b9085906005612059565b9250610a976001600160a060020a03871663ffffffff61208e16565b91508115610b2e57608060020a8083049390930192610ac090808402048563ffffffff61203f16565b9050610ae56001600160a060020a038716608060020a8602841763ffffffff6120a416565b1515610b29576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b610ba6565b610b516001600160a060020a038716608060020a8602871763ffffffff6120a416565b15610ba6576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b60408051848152602081018690528151600160a060020a038816927f5f7675b09617d2c9fa4fd13058ee5877a9538f626b0308816736e83748a45040928290030190a25050505050565b60075481565b600054600160a060020a03163314610c46576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a03909116600090815260066020526040902055565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60006080610cab6001600160a060020a03851663ffffffff61208e16565b9060020a90049050919050565b6000610ccb60013363ffffffff61208e16565b9050608060020a80820204821115610d53576040805160e560020a62461bcd02815260206004820152603f60248201527f54686520616d6f756e7420746f20696e63726561736520616c6c6f77616e636560448201527f20627920697320686967686572207468616e20796f75722062616c616e636500606482015290519081900360840190fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610d87908363ffffffff61203f16565b336000908152600360209081526040808320600160a060020a0397909716835295905293909320929092555050565b600054600160a060020a03163314610e06576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b610e1082826106ae565b5050565b600a546101009004600160a060020a031681565b60008080610e3d60013363ffffffff61208e16565b1515610e95576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b600d54608060020a908102049250610eb3848463ffffffff61203f16565b9150610ebf6001612113565b610ecf858563ffffffff61203f16565b1115610f4b576040805160e560020a62461bcd02815260206004820152602d60248201527f546f2076616c75652069732067726561746572207468616e2074686520616d6f60448201527f756e74206f66206f776e65727300000000000000000000000000000000000000606482015290519081900360840190fd5b50815b81811015610f6757610f5f8161211a565b600101610f4e565b610f77838563ffffffff61203f16565b9250610f836001612113565b831415610ff6576008805460ff19169055600e54600d54600160a060020a03909116907f3f1b49349800340b97132392d0b7f9be99025a47d4b5025999cd26da9668125090608060020a9004610fd96001612113565b6040805192835260208301919091528051918290030190a2611009565b600d8054608060020a9081900402841790555b50505050565b600061101b6001612113565b90505b90565b60046020526000908152604090205460ff1681565b600054600160a060020a03163314611086576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611107576040805160e560020a62461bcd02815260206004820152602b60248201527f43616e27742077686974656c697374207768656e2074686520636f6e7472616360448201527f74206973206c6f636b6564000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381161515611167576040805160e560020a62461bcd02815260206004820152601160248201527f426c61636b686f6c652061646472657373000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a03166000908152600560205260409020805460ff19166001179055565b600054600160a060020a031633146111db576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a547501000000000000000000000000000000000000000000900460ff161561124f576040805160e560020a62461bcd02815260206004820152601860248201527f436f6e747269627574696f6e2068617320737461727465640000000000000000604482015290519081900360640190fd5b600a805475ff00000000000000000000000000000000000000000019167501000000000000000000000000000000000000000000179055565b600054600160a060020a031681565b60085460ff1681565b60056020526000908152604090205460ff1681565b336000908152600360209081526040808320600160a060020a038616845290915290205481111561137c576040805160e560020a62461bcd02815260206004820152604860248201527f54686520616d6f756e7420746f20646563726561736520616c6c6f77616e636560448201527f20627920697320686967686572207468616e207468652063757272656e74206160648201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b336000908152600360209081526040808320600160a060020a03861684529091529020546113b0908263ffffffff61235316565b336000908152600360209081526040808320600160a060020a038716845290915290208190551515610e1057336000908152600360209081526040808320600160a060020a03861684529091528120555050565b600061141760013363ffffffff61208e16565b151561146f576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b600160a060020a03821660009081526004602052604090205460ff161515611507576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e206973206e6f742077686974656c697374656420746f206265206460448201527f6973747269627574656400000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff1615611562576040805160e560020a62461bcd02815260206004820152601e60248201527f446973747269627574696f6e20697320616c7265616479206163746976650000604482015290519081900360640190fd5b6008805460ff19166001179055604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156115d057600080fd5b505af11580156115e4573d6000803e3d6000fd5b505050506040513d60208110156115fa57600080fd5b5051905061160781612036565b15156116145750608060020a5b600160a060020a03821660009081526006602052604090205481116116cf576040805160e560020a62461bcd02815260206004820152604160248201527f416d6f756e7420696e2074686520636f6e74726163742069736e27742061626f60448201527f766520746865206d696e696d756d20646973747269627574696f6e206c696d6960648201527f7400000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b608060020a8102600d55600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557feede959c6858c7a658800c9574366c74769c18e3e3095c31d9516c31b894f743826117306001612113565b6040805192835260208301919091528051918290030190a25050565b61175d60013363ffffffff61208e16565b15156117b5576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b6117c0338484612365565b6117c9836128fe565b156117d9576117d9838383612906565b505050565b600054600160a060020a0316331461182e576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611889576040805160e560020a62461bcd02815260206004820152601560248201527f53686172657320616c7265616479206c6f636b65640000000000000000000000604482015290519081900360640190fd5b600a805460ff19166001179055565b600054600160a060020a031633146118e8576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a03821660009081526004602052604090205460ff1615611959576040805160e560020a62461bcd02815260206004820152601c60248201527f546f6b656e20697320616c72656164792077686974656c697374656400000000604482015290519081900360640190fd5b600160a060020a039091166000908152600460209081526040808320805460ff191660011790556006909152902055565b600a5460ff1681565b60095481565b60006080806119b86001600160a060020a03861663ffffffff61208e16565b9060020a029060020a90049050919050565b6000805481908190600160a060020a03163314611a1f576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600a5460ff1615611aa0576040805160e560020a62461bcd02815260206004820152602660248201527f43616e2774206d616e75616c6c7920736574207368617265732c20697427732060448201527f6c6f636b65640000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff1615611b21576040805160e560020a62461bcd02815260206004820152603360248201527f43616e6e6f7420736574206f776e657273207368617265207768656e2064697360448201527f747269627574696f6e2069732061637469766500000000000000000000000000606482015290519081900360840190fd5b611b2a84612036565b1515611ba6576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e747269627574696f6e2076616c75652069736e2774203132386269742060448201527f6f7220736d616c6c657200000000000000000000000000000000000000000000606482015290519081900360840190fd5b611bc06001600160a060020a03871663ffffffff61208e16565b9250821515611c5657611bd784600b546005612059565b9150611bfc6001600160a060020a038716608060020a8502871763ffffffff6120a416565b15611c51576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b611cfd565b611c7a611c6785600b546005612059565b608060020a85049063ffffffff61203f16565b9150611c94608060020a808502048563ffffffff61203f16565b9050611cb96001600160a060020a038716608060020a8502841763ffffffff6120a416565b1515611cfd576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b5050505050565b6000611d106001612113565b8210611d8c576040805160e560020a62461bcd02815260206004820152602260248201527f496e6465782069732067726561746572207468616e20746865206d617020736960448201527f7a65000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d9d60018363ffffffff6129f916565b92915050565b600160a060020a0383166000908152600360209081526040808320338452909152902054811115611e44576040805160e560020a62461bcd02815260206004820152603760248201527f53656e646572206973206e6f7420617070726f76656420746f2073656e64206f60448201527f776e657273686970206f66207468617420616d6f756e74000000000000000000606482015290519081900360840190fd5b600160a060020a0383166000908152600360209081526040808320338452909152902054611e78908263ffffffff61235316565b600160a060020a038416600090815260036020908152604080832033845290915290208190551515611ec957600160a060020a03831660009081526003602090815260408083203384529091528120555b6117d9838383612365565b611ee560013363ffffffff61208e16565b1515611f3d576040805160e560020a62461bcd02815260206004820152602c6024820152600080516020612bd58339815191526044820152600080516020612b75833981519152606482015290519081900360840190fd5b610e10338383612365565b60066020526000908152604090205481565b600054600160a060020a03163314611faa576040805160e560020a62461bcd0281526020600482015260166024820152600080516020612bb5833981519152604482015290519081900360640190fd5b600160a060020a0381161515611fbf57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d54608060020a9081020490565b608060020a1190565b60008282018381101561204e57fe5b8091505b5092915050565b600080600083600101600a0a86029150600a858381151561207657fe5b0460050181151561208357fe5b049695505050505050565b6000908152602091909152604090206001015490565b60008281526020849052604081206001810183905580548210156120cb576001915061210b565b84600101805460010190816120e09190612b37565b8082556001860180548692600019019081106120f857fe5b9060005260206000200181905550600091505b509392505050565b6001015490565b6000808061212f60018563ffffffff6129f916565b925061214b6001600160a060020a03851663ffffffff61208e16565b91506000608060020a8304116121d1576040805160e560020a62461bcd02815260206004820152602860248201527f596f75206e65656420746f2068617665206120736861726520746f20636c616960448201527f6d20746f6b656e73000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60085460ff16151561222d576040805160e560020a62461bcd02815260206004820152601960248201527f446973747269627574696f6e2069736e27742061637469766500000000000000604482015290519081900360640190fd5b600d5461226090620186a09061225490608060020a9081900490860463ffffffff612a1f16565b9063ffffffff612a4316565b600e54604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015260248201859052915193945091169163a9059cbb916044808201926020929091908290030181600087803b1580156122d157600080fd5b505af11580156122e5573d6000803e3d6000fd5b505050506040513d60208110156122fb57600080fd5b50511515611009576040805160e560020a62461bcd02815260206004820152601560248201527f4552433230207472616e73666572206661696c65640000000000000000000000604482015290519081900360640190fd5b60008282111561235f57fe5b50900390565b60008080808080806123876001600160a060020a038c1663ffffffff61208e16565b96506123a36001600160a060020a038b1663ffffffff61208e16565b9550608060020a80880281900495508087020493506123c188612036565b1515612417576040805160e560020a62461bcd02815260206004820152601e60248201527f416d6f756e742069736e277420313238626974206f7220736d616c6c65720000604482015290519081900360640190fd5b600160a060020a038a8116908a16141561247b576040805160e560020a62461bcd02815260206004820152601a60248201527f596f752063616e27742073656e6420746f20796f757273656c66000000000000604482015290519081900360640190fd5b600160a060020a03891615156124db576040805160e560020a62461bcd02815260206004820152601e60248201527f4f776e6572736869702063616e6e6f7420626520626c61636b686f6c65640000604482015290519081900360640190fd5b60008511612533576040805160e560020a62461bcd02815260206004820152601c60248201527f596f7520646f6e2774206861766520616e79206f776e65727368697000000000604482015290519081900360640190fd5b8785101561258b576040805160e560020a62461bcd02815260206004820181905260248201527f54686520616d6f756e742065786365656473207768617420796f752068617665604482015290519081900360640190fd5b60085460ff161561260c576040805160e560020a62461bcd02815260206004820152603460248201527f446973747269627574696f6e2063616e6e6f742062652061637469766520776860448201527f656e2073656e64696e67206f776e657273686970000000000000000000000000606482015290519081900360840190fd5b6009548881151561261957fe5b0615612695576040805160e560020a62461bcd02815260206004820152603b60248201527f596f757220616d6f756e742069736e277420646976697369626c65206279207460448201527f6865206d696e696d756d20707265636973696f6e20616d6f756e740000000000606482015290519081900360840190fd5b6126a5858963ffffffff61235316565b9450841515612723576126c86001600160a060020a038c1663ffffffff612a5a16565b151561271e576040805160e560020a62461bcd02815260206004820181905260248201527f4164647265737320646f65736e277420657869737420696e20746865206d6170604482015290519081900360640190fd5b61279a565b61273185600b546005612059565b92506127566001600160a060020a038c16608060020a8602881763ffffffff6120a416565b151561279a576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b6127aa848963ffffffff61203f16565b91506127ba82600b546005612059565b9050831515612840576127e66001600160a060020a038b16608060020a8402851763ffffffff6120a416565b1561283b576040805160e560020a62461bcd02815260206004820152601860248201527f4d6170207265706c6163656d656e742064657465637465640000000000000000604482015290519081900360640190fd5b6128a7565b6128636001600160a060020a038b16608060020a8402851763ffffffff6120a416565b15156128a7576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612b95833981519152604482015290519081900360640190fd5b88600160a060020a03168a600160a060020a03167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b8a6040518082815260200191505060405180910390a350505050505050505050565b6000903b1190565b6040517f5b4cc3200000000000000000000000000000000000000000000000000000000081523360048201818152602483018590526060604484019081528451606485015284518794600160a060020a03861694635b4cc3209490938993899360840190602085019080838360005b8381101561298d578181015183820152602001612975565b50505050905090810190601f1680156129ba5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129db57600080fd5b505af11580156129ef573d6000803e3d6000fd5b5050505050505050565b60008260010182815481101515612a0c57fe5b9060005260206000200154905092915050565b6000828202831580612a3b5750828482811515612a3857fe5b04145b151561204e57fe5b6000808284811515612a5157fe5b04949350505050565b600081815260208390526040812080541515612a795760009150612052565b600184015481541015612b0157805460018501805486916000916000198101908110612aa157fe5b600091825260208083209091015483528201929092526040019020556001840180546000198101908110612ad157fe5b9060005260206000200154846001016001836000015403815481101515612af457fe5b6000918252602090912001555b6001840180546000190190612b169082612b37565b50505060009081526020919091526040812081815560019081019190915590565b8154818355818111156117d9576000838152602090206117d991810190830161101e91905b80821115612b705760008155600101612b5c565b509056006869732066756e6374696f6e000000000000000000000000000000000000000053656e64657220646f6573206e6f7420657869737420696e20746865206d617053656e646572206e6f7420617574686f72697365642e00000000000000000000596f7520617265206e6f7420617574686f726973656420746f2063616c6c2074a165627a7a7230582063a5c36ec074600c5d11d0faf1e409fd095b5102de113fe8353590fd51f1aa0b0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e2d06414b011d6dfff2d7181feb37e68e8322d61
-----Decoded View---------------
Arg [0] : _wallet (address): 0xE2D06414b011D6DFff2D7181FEB37e68e8322D61
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e2d06414b011d6dfff2d7181feb37e68e8322d61
Swarm Source
bzzr://63a5c36ec074600c5d11d0faf1e409fd095b5102de113fe8353590fd51f1aa0b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.