Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 681 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 6221204 | 2313 days ago | IN | 0.2 ETH | 0.0000855 | ||||
Transfer | 6065331 | 2340 days ago | IN | 0.4 ETH | 0.00087645 | ||||
Transfer | 6065309 | 2340 days ago | IN | 0.4 ETH | 0.000861 | ||||
Transfer | 6065024 | 2340 days ago | IN | 0.4 ETH | 0.000861 | ||||
Transfer | 6064983 | 2340 days ago | IN | 0.2 ETH | 0.00087645 | ||||
Transfer | 6064975 | 2340 days ago | IN | 0.2 ETH | 0.000861 | ||||
Transfer | 6064615 | 2340 days ago | IN | 1 ETH | 0.00085508 | ||||
Transfer | 6064563 | 2340 days ago | IN | 1 ETH | 0.00085508 | ||||
Transfer | 6064270 | 2340 days ago | IN | 1.2 ETH | 0.00156052 | ||||
Transfer | 6063019 | 2340 days ago | IN | 4.4 ETH | 0.00004275 | ||||
Transfer | 6062998 | 2340 days ago | IN | 4.4 ETH | 0.00004275 | ||||
Transfer | 6062992 | 2340 days ago | IN | 3.8 ETH | 0.00044891 | ||||
Lock Shares | 6062990 | 2340 days ago | IN | 0 ETH | 0.00022041 | ||||
Transfer | 6062986 | 2340 days ago | IN | 0.4 ETH | 0.00009964 | ||||
Transfer | 6062832 | 2340 days ago | IN | 0.6 ETH | 0.00219208 | ||||
Transfer | 6062807 | 2340 days ago | IN | 1 ETH | 0.00204262 | ||||
Transfer | 6062724 | 2340 days ago | IN | 0.6 ETH | 0.0002491 | ||||
Transfer | 6062691 | 2340 days ago | IN | 1 ETH | 0.00042056 | ||||
Transfer | 6062566 | 2340 days ago | IN | 0.6 ETH | 0.00014946 | ||||
Transfer | 6062295 | 2340 days ago | IN | 1.4 ETH | 0.00204262 | ||||
Transfer | 6062134 | 2340 days ago | IN | 13.2 ETH | 0.0009964 | ||||
Transfer | 6061999 | 2340 days ago | IN | 0.8 ETH | 0.00009964 | ||||
Transfer | 6061759 | 2340 days ago | IN | 5.6 ETH | 0.00064766 | ||||
Transfer | 6061166 | 2340 days ago | IN | 0.2 ETH | 0.00021028 | ||||
Transfer | 6060726 | 2340 days ago | IN | 0.6 ETH | 0.00431082 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6062986 | 2340 days ago | 0.4 ETH | ||||
6062832 | 2340 days ago | 0.6 ETH | ||||
6062807 | 2340 days ago | 1 ETH | ||||
6062724 | 2340 days ago | 0.6 ETH | ||||
6062691 | 2340 days ago | 1 ETH | ||||
6062566 | 2340 days ago | 0.6 ETH | ||||
6062295 | 2340 days ago | 1.4 ETH | ||||
6062134 | 2340 days ago | 13.2 ETH | ||||
6061999 | 2340 days ago | 0.8 ETH | ||||
6061759 | 2340 days ago | 5.6 ETH | ||||
6061166 | 2340 days ago | 0.2 ETH | ||||
6060726 | 2340 days ago | 0.6 ETH | ||||
6060692 | 2340 days ago | 3.2 ETH | ||||
6060056 | 2341 days ago | 22 ETH | ||||
6059856 | 2341 days ago | 1 ETH | ||||
6059641 | 2341 days ago | 1 ETH | ||||
6059387 | 2341 days ago | 0.2 ETH | ||||
6059256 | 2341 days ago | 1 ETH | ||||
6059205 | 2341 days ago | 0.6 ETH | ||||
6059183 | 2341 days ago | 0.8 ETH | ||||
6059159 | 2341 days ago | 0.2 ETH | ||||
6059149 | 2341 days ago | 0.2 ETH | ||||
6058514 | 2341 days ago | 5 ETH | ||||
6058405 | 2341 days ago | 10 ETH | ||||
6058354 | 2341 days ago | 0.4 ETH |
Loading...
Loading
Contract Name:
PoolOwners
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-04-30 */ pragma solidity ^0.4.3; /** * @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); _; } /** * @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) public onlyOwner { 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); } contract ERC677 is ERC20 { function transferAndCall(address to, uint value, bytes data) public returns (bool success); event Transfer(address indexed from, address indexed to, uint value, bytes data); } /** * @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; } } contract PoolOwners is Ownable { mapping(uint64 => address) private ownerAddresses; mapping(address => bool) private whitelist; mapping(address => uint256) public ownerPercentages; mapping(address => uint256) public ownerShareTokens; mapping(address => uint256) public tokenBalance; mapping(address => mapping(address => uint256)) private balances; uint64 public totalOwners = 0; uint16 public distributionMinimum = 20; bool private contributionStarted = false; bool private distributionActive = false; // Public Contribution Variables uint256 private ethWei = 1000000000000000000; // 1 ether in wei uint256 private valuation = ethWei * 4000; // 1 ether * 4000 uint256 private hardCap = ethWei * 1000; // 1 ether * 1000 address private wallet; bool private locked = false; uint256 public totalContributed = 0; // The contract hard-limit is 0.04 ETH due to the percentage precision, lowest % possible is 0.001% // It's been set at 0.2 ETH to try and minimise the sheer number of contributors as that would up the distribution GAS cost uint256 private minimumContribution = 200000000000000000; // 0.2 ETH /** Events */ event Contribution(address indexed sender, uint256 share, uint256 amount); event TokenDistribution(address indexed token, uint256 amount); event TokenWithdrawal(address indexed token, address indexed owner, uint256 amount); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner, uint256 amount); /** Modifiers */ modifier onlyWhitelisted() { require(whitelist[msg.sender]); _; } /** Contribution Methods */ // Fallback, redirects to contribute function() public payable { contribute(msg.sender); } function contribute(address sender) internal { // Make sure the shares aren't locked require(!locked); // Ensure the contribution phase has started require(contributionStarted); // Make sure they're in the whitelist require(whitelist[sender]); // Assert that the contribution is above or equal to the minimum contribution require(msg.value >= minimumContribution); // Make sure the contribution isn't above the hard cap require(hardCap >= msg.value); // Ensure the amount contributed is cleanly divisible by the minimum contribution require((msg.value % minimumContribution) == 0); // Make sure the contribution doesn't exceed the hardCap require(hardCap >= SafeMath.add(totalContributed, msg.value)); // Increase the total contributed totalContributed = SafeMath.add(totalContributed, msg.value); // Calculated share uint256 share = percent(msg.value, valuation, 5); // Calculate and set the contributors % holding if (ownerPercentages[sender] != 0) { // Existing contributor ownerShareTokens[sender] = SafeMath.add(ownerShareTokens[sender], msg.value); ownerPercentages[sender] = SafeMath.add(share, ownerPercentages[sender]); } else { // New contributor ownerAddresses[totalOwners] = sender; totalOwners += 1; ownerPercentages[sender] = share; ownerShareTokens[sender] = msg.value; } // Transfer the ether to the wallet wallet.transfer(msg.value); // Fire event emit Contribution(sender, share, msg.value); } // Add a wallet to the whitelist function whitelistWallet(address contributor) external onlyOwner() { // Is it actually an address? require(contributor != address(0)); // Add address to whitelist whitelist[contributor] = true; } // Start the contribution function startContribution() external onlyOwner() { require(!contributionStarted); contributionStarted = true; } /** Public Methods */ // Set the owners share per owner, the balancing of shares is done externally function setOwnerShare(address owner, uint256 value) public onlyOwner() { // Make sure the shares aren't locked require(!locked); if (ownerShareTokens[owner] == 0) { whitelist[owner] = true; ownerAddresses[totalOwners] = owner; totalOwners += 1; } ownerShareTokens[owner] = value; ownerPercentages[owner] = percent(value, valuation, 5); } // Non-Standard token transfer, doesn't confine to any ERC function sendOwnership(address receiver, uint256 amount) public onlyWhitelisted() { // Require they have an actual balance require(ownerShareTokens[msg.sender] > 0); // Require the amount to be equal or less to their shares require(ownerShareTokens[msg.sender] >= amount); // Deduct the amount from the owner ownerShareTokens[msg.sender] = SafeMath.sub(ownerShareTokens[msg.sender], amount); // Remove the owner if the share is now 0 if (ownerShareTokens[msg.sender] == 0) { ownerPercentages[msg.sender] = 0; whitelist[receiver] = false; } else { // Recalculate percentage ownerPercentages[msg.sender] = percent(ownerShareTokens[msg.sender], valuation, 5); } // Add the new share holder if (ownerShareTokens[receiver] == 0) { whitelist[receiver] = true; ownerAddresses[totalOwners] = receiver; totalOwners += 1; } ownerShareTokens[receiver] = SafeMath.add(ownerShareTokens[receiver], amount); ownerPercentages[receiver] = SafeMath.add(ownerPercentages[receiver], percent(amount, valuation, 5)); emit OwnershipTransferred(msg.sender, receiver, amount); } // Lock the shares so contract owners cannot change them function lockShares() public onlyOwner() { require(!locked); locked = true; } // Distribute the tokens in the contract to the contributors/creators function distributeTokens(address token) public onlyWhitelisted() { // Is this method already being called? require(!distributionActive); distributionActive = true; // Get the token address ERC677 erc677 = ERC677(token); // Has the contract got a balance? uint256 currentBalance = erc677.balanceOf(this) - tokenBalance[token]; require(currentBalance > ethWei * distributionMinimum); // Add the current balance on to the total returned tokenBalance[token] = SafeMath.add(tokenBalance[token], currentBalance); // Loop through stakers and add the earned shares // This is GAS expensive, but unless complex more bug prone logic was added there is no alternative // This is due to the percentages needed to be calculated for all at once, or the amounts would differ for (uint64 i = 0; i < totalOwners; i++) { address owner = ownerAddresses[i]; // If the owner still has a share if (ownerShareTokens[owner] > 0) { // Calculate and transfer the ownership of shares with a precision of 5, for example: 12.345% balances[owner][token] = SafeMath.add(SafeMath.div(SafeMath.mul(currentBalance, ownerPercentages[owner]), 100000), balances[owner][token]); } } distributionActive = false; // Emit the event emit TokenDistribution(token, currentBalance); } // Withdraw tokens from the owners balance function withdrawTokens(address token, uint256 amount) public { // Can't withdraw nothing require(amount > 0); // Assert they're withdrawing what is in their balance require(balances[msg.sender][token] >= amount); // Substitute the amounts balances[msg.sender][token] = SafeMath.sub(balances[msg.sender][token], amount); tokenBalance[token] = SafeMath.sub(tokenBalance[token], amount); // Transfer the tokens ERC677 erc677 = ERC677(token); require(erc677.transfer(msg.sender, amount) == true); // Emit the event emit TokenWithdrawal(token, msg.sender, amount); } // Sets the minimum balance needed for token distribution function setDistributionMinimum(uint16 minimum) public onlyOwner() { distributionMinimum = minimum; } // Sets the contribution ETH wallet function setEthWallet(address _wallet) public onlyOwner() { wallet = _wallet; } // Is an account whitelisted? function isWhitelisted(address contributor) public view returns (bool) { return whitelist[contributor]; } // Get the owners token balance function getOwnerBalance(address token) public view returns (uint256) { return balances[msg.sender][token]; } /** Private Methods */ // 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); } }
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":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalOwners","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"contributor","type":"address"}],"name":"isWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributor","type":"address"}],"name":"whitelistWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"}],"name":"getOwnerBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setEthWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"minimum","type":"uint16"}],"name":"setDistributionMinimum","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":"lockShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionMinimum","outputs":[{"name":"","type":"uint16"}],"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":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":"ownerShareTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerPercentages","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenBalance","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"},{"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"}],"name":"TokenDistribution","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":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526000600760006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506014600760086101000a81548161ffff021916908361ffff16021790555060006007600a6101000a81548160ff02191690831515021790555060006007600b6101000a81548160ff021916908315150217905550670de0b6b3a7640000600855610fa0600854026009556103e860085402600a556000600b60146101000a81548160ff0219169083151502179055506000600c556702c68af0bb140000600d55336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506122648061011d6000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063023f41471461011257806306b091f91461013d578063243669ad1461018a5780633af32abf146101c9578063787c23e0146102245780637fcf440a14610267578063897463aa146102be5780638da5cb5b146102d55780639a3c41581461032c578063a0d63f7e1461036f578063b1d17c98146103a0578063b75c2068146103e3578063d439ef55146103fa578063dcac652e1461042d578063e2d0d5191461047a578063e64522b5146104c7578063ecb9330c1461051e578063eedc966a14610575578063f2fde38b146105cc575b6101103361060f565b005b34801561011e57600080fd5b50610127610a8d565b6040518082815260200191505060405180910390f35b34801561014957600080fd5b50610188600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a93565b005b34801561019657600080fd5b5061019f610e1d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e37565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b50610265600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e8d565b005b34801561027357600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7f565b6040518082815260200191505060405180910390f35b3480156102ca57600080fd5b506102d3611005565b005b3480156102e157600080fd5b506102ea611099565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033857600080fd5b5061036d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110be565b005b34801561037b57600080fd5b5061039e600480360381019080803561ffff16906020019092919050505061115d565b005b3480156103ac57600080fd5b506103e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111d8565b005b3480156103ef57600080fd5b506103f86116dc565b005b34801561040657600080fd5b5061040f611770565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561043957600080fd5b50610478600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611784565b005b34801561048657600080fd5b506104c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119f4565b005b3480156104d357600080fd5b50610508600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fdd565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b5061055f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff5565b6040518082815260200191505060405180910390f35b34801561058157600080fd5b506105b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061200d565b6040518082815260200191505060405180910390f35b3480156105d857600080fd5b5061060d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612025565b005b6000600b60149054906101000a900460ff1615151561062d57600080fd5b6007600a9054906101000a900460ff16151561064857600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106a057600080fd5b600d5434101515156106b157600080fd5b34600a54101515156106c257600080fd5b6000600d54348115156106d157fe5b061415156106de57600080fd5b6106ea600c543461217a565b600a54101515156106fa57600080fd5b610706600c543461217a565b600c8190555061071a346009546005612198565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610882576107ae600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020543461217a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061083a81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217a565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109ca565b8160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555034600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a32573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f5f7675b09617d2c9fa4fd13058ee5877a9538f626b0308816736e83748a450408234604051808381526020018281526020019250505060405180910390a25050565b600c5481565b60008082111515610aa357600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610b2e57600080fd5b610bb4600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121d1565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c7d600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121d1565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550829050600115158173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050506040513d6020811015610d9457600080fd5b81019080805190602001909291905050501515141515610db357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f42856d0378dde02337bb59ae41747abc77ded8ebdbbc5cbdd1e53693b7554938846040518082815260200191505060405180910390a3505050565b600760009054906101000a900467ffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ee857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f2457600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106057600080fd5b6007600a9054906101000a900460ff1615151561107c57600080fd5b60016007600a6101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111957600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111b857600080fd5b80600760086101000a81548161ffff021916908361ffff16021790555050565b600080600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561123657600080fd5b6007600b9054906101000a900460ff1615151561125257600080fd5b60016007600b6101000a81548160ff021916908315150217905550849350600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b505050506040513d602081101561137557600080fd5b8101908080519060200190929190505050039250600760089054906101000a900461ffff1661ffff1660085402831115156113af57600080fd5b6113f8600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461217a565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600091505b600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff168267ffffffffffffffff16101561166c57600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561165f576115de61155c61155385600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea565b620186a061221d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217a565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8180600101925050611440565b60006007600b6101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f55415116040ebe4bc0f2a8c28b2e7e3e8c494a5f4316854c949b548434d35f65846040518082815260200191505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561173757600080fd5b600b60149054906101000a900460ff1615151561175357600080fd5b6001600b60146101000a81548160ff021916908315150217905550565b600760089054906101000a900461ffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117df57600080fd5b600b60149054906101000a900460ff161515156117fb57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561195b576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ad816009546005612198565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a4c57600080fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515611a9a57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ae857600080fd5b611b31600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826121d1565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c5e576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611cef565b611cab600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009546005612198565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611e4f576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b611e98600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261217a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f31600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2c836009546005612198565b61217a565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b836040518082815260200191505060405180910390a35050565b60046020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120bc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015151561218e57fe5b8091505092915050565b600080600060018401600a0a86029150600a600586848115156121b757fe5b04018115156121c257fe5b04905080925050509392505050565b60008282111515156121df57fe5b818303905092915050565b6000808284029050600084148061220b575082848281151561220857fe5b04145b151561221357fe5b8091505092915050565b600080828481151561222b57fe5b04905080915050929150505600a165627a7a7230582038c6e114556d28996f44ad72a2a835ac5243a709c4a29fc46d1013c30ac2e8970029
Deployed Bytecode
0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063023f41471461011257806306b091f91461013d578063243669ad1461018a5780633af32abf146101c9578063787c23e0146102245780637fcf440a14610267578063897463aa146102be5780638da5cb5b146102d55780639a3c41581461032c578063a0d63f7e1461036f578063b1d17c98146103a0578063b75c2068146103e3578063d439ef55146103fa578063dcac652e1461042d578063e2d0d5191461047a578063e64522b5146104c7578063ecb9330c1461051e578063eedc966a14610575578063f2fde38b146105cc575b6101103361060f565b005b34801561011e57600080fd5b50610127610a8d565b6040518082815260200191505060405180910390f35b34801561014957600080fd5b50610188600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a93565b005b34801561019657600080fd5b5061019f610e1d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3480156101d557600080fd5b5061020a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e37565b604051808215151515815260200191505060405180910390f35b34801561023057600080fd5b50610265600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e8d565b005b34801561027357600080fd5b506102a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7f565b6040518082815260200191505060405180910390f35b3480156102ca57600080fd5b506102d3611005565b005b3480156102e157600080fd5b506102ea611099565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033857600080fd5b5061036d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110be565b005b34801561037b57600080fd5b5061039e600480360381019080803561ffff16906020019092919050505061115d565b005b3480156103ac57600080fd5b506103e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111d8565b005b3480156103ef57600080fd5b506103f86116dc565b005b34801561040657600080fd5b5061040f611770565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561043957600080fd5b50610478600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611784565b005b34801561048657600080fd5b506104c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119f4565b005b3480156104d357600080fd5b50610508600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fdd565b6040518082815260200191505060405180910390f35b34801561052a57600080fd5b5061055f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff5565b6040518082815260200191505060405180910390f35b34801561058157600080fd5b506105b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061200d565b6040518082815260200191505060405180910390f35b3480156105d857600080fd5b5061060d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612025565b005b6000600b60149054906101000a900460ff1615151561062d57600080fd5b6007600a9054906101000a900460ff16151561064857600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106a057600080fd5b600d5434101515156106b157600080fd5b34600a54101515156106c257600080fd5b6000600d54348115156106d157fe5b061415156106de57600080fd5b6106ea600c543461217a565b600a54101515156106fa57600080fd5b610706600c543461217a565b600c8190555061071a346009546005612198565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610882576107ae600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020543461217a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061083a81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217a565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109ca565b8160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555034600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610a32573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f5f7675b09617d2c9fa4fd13058ee5877a9538f626b0308816736e83748a450408234604051808381526020018281526020019250505060405180910390a25050565b600c5481565b60008082111515610aa357600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610b2e57600080fd5b610bb4600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121d1565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c7d600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836121d1565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550829050600115158173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050506040513d6020811015610d9457600080fd5b81019080805190602001909291905050501515141515610db357600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f42856d0378dde02337bb59ae41747abc77ded8ebdbbc5cbdd1e53693b7554938846040518082815260200191505060405180910390a3505050565b600760009054906101000a900467ffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ee857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f2457600080fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106057600080fd5b6007600a9054906101000a900460ff1615151561107c57600080fd5b60016007600a6101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561111957600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111b857600080fd5b80600760086101000a81548161ffff021916908361ffff16021790555050565b600080600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561123657600080fd5b6007600b9054906101000a900460ff1615151561125257600080fd5b60016007600b6101000a81548160ff021916908315150217905550849350600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561134b57600080fd5b505af115801561135f573d6000803e3d6000fd5b505050506040513d602081101561137557600080fd5b8101908080519060200190929190505050039250600760089054906101000a900461ffff1661ffff1660085402831115156113af57600080fd5b6113f8600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461217a565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600091505b600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff168267ffffffffffffffff16101561166c57600160008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561165f576115de61155c61155385600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea565b620186a061221d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217a565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8180600101925050611440565b60006007600b6101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f55415116040ebe4bc0f2a8c28b2e7e3e8c494a5f4316854c949b548434d35f65846040518082815260200191505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561173757600080fd5b600b60149054906101000a900460ff1615151561175357600080fd5b6001600b60146101000a81548160ff021916908315150217905550565b600760089054906101000a900461ffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117df57600080fd5b600b60149054906101000a900460ff161515156117fb57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561195b576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ad816009546005612198565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a4c57600080fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515611a9a57600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611ae857600080fd5b611b31600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826121d1565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c5e576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611cef565b611cab600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009546005612198565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611e4f576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160016000600760009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b611e98600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261217a565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f31600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2c836009546005612198565b61217a565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b836040518082815260200191505060405180910390a35050565b60046020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120bc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015151561218e57fe5b8091505092915050565b600080600060018401600a0a86029150600a600586848115156121b757fe5b04018115156121c257fe5b04905080925050509392505050565b60008282111515156121df57fe5b818303905092915050565b6000808284029050600084148061220b575082848281151561220857fe5b04145b151561221357fe5b8091505092915050565b600080828481151561222b57fe5b04905080915050929150505600a165627a7a7230582038c6e114556d28996f44ad72a2a835ac5243a709c4a29fc46d1013c30ac2e8970029
Swarm Source
bzzr://38c6e114556d28996f44ad72a2a835ac5243a709c4a29fc46d1013c30ac2e897
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.