More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 35,329 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5568470 | 2427 days ago | IN | 0 ETH | 0.000735 | ||||
Transfer | 5500537 | 2438 days ago | IN | 0 ETH | 0.0002277 | ||||
Transfer | 5338299 | 2466 days ago | IN | 0 ETH | 0.00015939 | ||||
Transfer | 5309672 | 2471 days ago | IN | 0 ETH | 0.0002277 | ||||
Transfer | 5309577 | 2471 days ago | IN | 0 ETH | 0.000021 | ||||
Transfer | 5296083 | 2473 days ago | IN | 0 ETH | 0.00009108 | ||||
Transfer | 5251188 | 2480 days ago | IN | 0 ETH | 0.00038709 | ||||
Transfer | 5251178 | 2480 days ago | IN | 0 ETH | 0.000357 | ||||
Transfer | 5244242 | 2482 days ago | IN | 0 ETH | 0.0000441 | ||||
Transfer | 5241001 | 2482 days ago | IN | 0 ETH | 0.00093357 | ||||
Transfer | 5240606 | 2482 days ago | IN | 0 ETH | 0.0006831 | ||||
Transfer | 5240593 | 2482 days ago | IN | 0 ETH | 0.00063 | ||||
Transfer | 5237055 | 2483 days ago | IN | 0 ETH | 0.00079695 | ||||
Transfer | 5237025 | 2483 days ago | IN | 0 ETH | 0.00004554 | ||||
Transfer | 5237002 | 2483 days ago | IN | 0 ETH | 0.000735 | ||||
Transfer | 5236967 | 2483 days ago | IN | 0 ETH | 0.000735 | ||||
Transfer | 5235216 | 2483 days ago | IN | 0 ETH | 0.00077418 | ||||
Transfer | 5233379 | 2483 days ago | IN | 0 ETH | 0.00042 | ||||
Transfer | 5228162 | 2484 days ago | IN | 0 ETH | 0.00118404 | ||||
Transfer | 5225252 | 2485 days ago | IN | 0 ETH | 0.00093357 | ||||
Transfer | 5214313 | 2487 days ago | IN | 0 ETH | 0.000084 | ||||
Transfer | 5213025 | 2487 days ago | IN | 0 ETH | 0.0002277 | ||||
Transfer | 5213006 | 2487 days ago | IN | 0 ETH | 0.00022052 | ||||
Transfer | 5212144 | 2487 days ago | IN | 0 ETH | 0.00011385 | ||||
Transfer | 5211364 | 2487 days ago | IN | 0 ETH | 0.0011385 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5208960 | 2488 days ago | 3,890.39514765 ETH |
Loading...
Loading
Contract Name:
InkPublicPresale
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-19 */ pragma solidity ^0.4.18; // File: zeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(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; } } // File: zeppelin-solidity/contracts/ownership/Ownable.sol /** * @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. */ function Ownable() 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)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: zeppelin-solidity/contracts/token/ERC20Basic.sol /** * @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); } // File: zeppelin-solidity/contracts/token/BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } } // File: contracts/InkPublicPresale.sol contract InkPublicPresale is Ownable { using SafeMath for uint256; // Flag to indicate whether or not the presale is currently active or is paused. // This flag is used both before the presale is finalized as well as after. // Pausing the presale before finalize means that no further contributions can // be made. Pausing the presale after finalize means that no one can claim // XNK tokens. bool public active; // Flag to indicate whether or not contributions can be refunded. bool private refundable; // The global minimum contribution (in Wei) imposed on all contributors. uint256 public globalMin; // The global maximum contribution (in Wei) imposed on all contributors. // Contributor also have a personal max. When evaluating whether or not they // can make a contribution, the lower of the global max and personal max is // used. uint256 public globalMax; // The max amount of Ether (in Wei) that is available for contribution. uint256 public etherCap; // The running count of Ether (in Wei) that is already contributed. uint256 private etherContributed; // The running count of XNK that is purchased by contributors. uint256 private xnkPurchased; // The address of the XNK token contract. When this address is set, the // presale is considered finalized and no further contributions can be made. address public tokenAddress; // Max gas price for contributing transactions. uint256 public maxGasPrice; // Contributors storage mapping. mapping(address => Contributor) private contributors; struct Contributor { bool whitelisted; // The individual rate (in XNK). uint256 rate; // The individual max contribution (in Wei). uint256 max; // The amount (in Wei) the contributor has contributed. uint256 balance; } // The presale is considered finalized when the token address is set. modifier finalized { require(tokenAddress != address(0)); _; } // The presale is considered not finalized when the token address is not set. modifier notFinalized { require(tokenAddress == address(0)); _; } function InkPublicPresale() public { globalMax = 1000000000000000000; // 1.0 Ether globalMin = 100000000000000000; // 0.1 Ether maxGasPrice = 40000000000; // 40 Gwei } function updateMaxGasPrice(uint256 _maxGasPrice) public onlyOwner { require(_maxGasPrice > 0); maxGasPrice = _maxGasPrice; } // Returns the amount of Ether contributed by all contributors. function getEtherContributed() public view onlyOwner returns (uint256) { return etherContributed; } // Returns the amount of XNK purchased by all contributes. function getXNKPurchased() public view onlyOwner returns (uint256) { return xnkPurchased; } // Update the global ether cap. If the new cap is set to something less than // or equal to the current contributed ether (etherContributed), then no // new contributions can be made. function updateEtherCap(uint256 _newEtherCap) public notFinalized onlyOwner { etherCap = _newEtherCap; } // Update the global max contribution. function updateGlobalMax(uint256 _globalMax) public notFinalized onlyOwner { require(_globalMax > globalMin); globalMax = _globalMax; } // Update the global minimum contribution. function updateGlobalMin(uint256 _globalMin) public notFinalized onlyOwner { require(_globalMin > 0); require(_globalMin < globalMax); globalMin = _globalMin; } function updateTokenAddress(address _tokenAddress) public finalized onlyOwner { require(_tokenAddress != address(0)); tokenAddress = _tokenAddress; } // Pause the presale (disables contributions and token claiming). function pause() public onlyOwner { require(active); active = false; } // Resume the presale (enables contributions and token claiming). function resume() public onlyOwner { require(!active); active = true; } // Allow contributors to call the refund function to get their contributions // returned to their whitelisted address. function enableRefund() public onlyOwner { require(!refundable); refundable = true; } // Disallow refunds (this is the case by default). function disableRefund() public onlyOwner { require(refundable); refundable = false; } // Add a contributor to the whitelist. function addContributor(address _account, uint256 _rate, uint256 _max) public onlyOwner notFinalized { require(_account != address(0)); require(_rate > 0); require(_max >= globalMin); require(!contributors[_account].whitelisted); contributors[_account].whitelisted = true; contributors[_account].max = _max; contributors[_account].rate = _rate; } // Updates a contributor's rate and/or max. function updateContributor(address _account, uint256 _newRate, uint256 _newMax) public onlyOwner notFinalized { require(_account != address(0)); require(_newRate > 0); require(_newMax >= globalMin); require(contributors[_account].whitelisted); // Account for any changes in rate since we are keeping track of total XNK // purchased. if (contributors[_account].balance > 0 && contributors[_account].rate != _newRate) { // Put back the purchased XNK for the old rate. xnkPurchased = xnkPurchased.sub(contributors[_account].balance.mul(contributors[_account].rate)); // Purchase XNK at the new rate. xnkPurchased = xnkPurchased.add(contributors[_account].balance.mul(_newRate)); } contributors[_account].rate = _newRate; contributors[_account].max = _newMax; } // Remove the contributor from the whitelist. This also refunds their // contribution if they have made any. function removeContributor(address _account) public onlyOwner { require(_account != address(0)); require(contributors[_account].whitelisted); // Remove from whitelist. contributors[_account].whitelisted = false; // If contributions were made, refund it. if (contributors[_account].balance > 0) { uint256 balance = contributors[_account].balance; contributors[_account].balance = 0; xnkPurchased = xnkPurchased.sub(balance.mul(contributors[_account].rate)); etherContributed = etherContributed.sub(balance); // XXX: The exclamation point does nothing. We just want to get rid of the // compiler warning that we're not using the returned value of the Ether // transfer. The transfer *can* fail but we don't want it to stop the // removal of the contributor. We will deal if the transfer failure // manually outside this contract. !_account.call.value(balance)(); } delete contributors[_account]; } function withdrawXNK(address _to) public onlyOwner { require(_to != address(0)); BasicToken token = BasicToken(tokenAddress); assert(token.transfer(_to, token.balanceOf(this))); } function withdrawEther(address _to) public finalized onlyOwner { require(_to != address(0)); assert(_to.call.value(this.balance)()); } // Returns a contributor's balance. function balanceOf(address _account) public view returns (uint256) { require(_account != address(0)); return contributors[_account].balance; } // When refunds are enabled, contributors can call this function get their // contributed Ether back. The contributor must still be whitelisted. function refund() public { require(active); require(refundable); require(contributors[msg.sender].whitelisted); uint256 balance = contributors[msg.sender].balance; require(balance > 0); contributors[msg.sender].balance = 0; etherContributed = etherContributed.sub(balance); xnkPurchased = xnkPurchased.sub(balance.mul(contributors[msg.sender].rate)); assert(msg.sender.call.value(balance)()); } function airdrop(address _account) public finalized onlyOwner { _processPayout(_account); } // Finalize the presale by specifying the XNK token's contract address. // No further contributions can be made. The presale will be in the // "token claiming" phase. function finalize(address _tokenAddress) public notFinalized onlyOwner { require(_tokenAddress != address(0)); tokenAddress = _tokenAddress; } // Fallback/payable method for contributions and token claiming. function () public payable { // Allow the owner to send Ether to the contract arbitrarily. if (msg.sender == owner && msg.value > 0) { return; } require(active); require(contributors[msg.sender].whitelisted); if (tokenAddress == address(0)) { // Presale is still accepting contributions. _processContribution(); } else { // Presale has been finalized and the user is attempting to claim // XNK tokens. _processPayout(msg.sender); } } // Process the contribution. function _processContribution() private { // Must be contributing a positive amount. require(msg.value > 0); // Limit the transaction's gas price. require(tx.gasprice <= maxGasPrice); // The sum of the contributor's total contributions must be higher than the // global minimum. require(contributors[msg.sender].balance.add(msg.value) >= globalMin); // The global contribution cap must be higher than what has been contributed // by everyone. Otherwise, there's zero room for any contribution. require(etherCap > etherContributed); // Make sure that this specific contribution does not take the total // contribution by everyone over the global contribution cap. require(msg.value <= etherCap.sub(etherContributed)); uint256 newBalance = contributors[msg.sender].balance.add(msg.value); // We limit the individual's contribution based on whichever is lower // between their individual max or the global max. if (globalMax <= contributors[msg.sender].max) { require(newBalance <= globalMax); } else { require(newBalance <= contributors[msg.sender].max); } // Increment the contributor's balance. contributors[msg.sender].balance = newBalance; // Increment the total amount of Ether contributed by everyone. etherContributed = etherContributed.add(msg.value); // Increment the total amount of XNK purchased by everyone. xnkPurchased = xnkPurchased.add(msg.value.mul(contributors[msg.sender].rate)); } // Process the token claim. function _processPayout(address _recipient) private { // The transaction must be 0 Ether. require(msg.value == 0); uint256 balance = contributors[_recipient].balance; // The contributor must have contributed something. require(balance > 0); // Figure out the amount of XNK the contributor will receive. uint256 amount = balance.mul(contributors[_recipient].rate); // Zero out the contributor's balance to denote that they have received // their tokens. contributors[_recipient].balance = 0; // Transfer XNK to the contributor. assert(BasicToken(tokenAddress).transfer(_recipient, amount)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"disableRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"active","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"},{"name":"_newRate","type":"uint256"},{"name":"_newMax","type":"uint256"}],"name":"updateContributor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxGasPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_maxGasPrice","type":"uint256"}],"name":"updateMaxGasPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"}],"name":"updateTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getEtherContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableRefund","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":"globalMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_globalMin","type":"uint256"}],"name":"updateGlobalMin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"},{"name":"_rate","type":"uint256"},{"name":"_max","type":"uint256"}],"name":"addContributor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newEtherCap","type":"uint256"}],"name":"updateEtherCap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"removeContributor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_globalMax","type":"uint256"}],"name":"updateGlobalMax","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getXNKPurchased","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":false,"inputs":[{"name":"_to","type":"address"}],"name":"withdrawXNK","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"globalMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055670de0b6b3a764000060025567016345785d8a00006001556409502f900060075561126e8061005c6000396000f3006060604052600436106101505763ffffffff60e060020a6000350416630150134781146101e157806302fb0c5e146101f4578063046f7da21461021b57806321860a051461022e5780632e0fc7a61461024d5780633de39c111461027257806348146341146102975780634ef39b75146102ad578063590e1ae3146102cc5780636691461a146102df57806370a08231146102fe5780637228b9db1461031d57806383ccc8b8146103305780638456cb591461034357806389e42346146103565780638da5cb5b1461036957806393627f421461039857806399c27d40146103ab5780639d76ea58146103c1578063a311d157146103d4578063a34560be146103f9578063af933b571461040f578063b3f3ab5c1461042e578063c1b8b7041461044d578063d979e90614610463578063f2fde38b14610476578063f604e6a614610495578063f9c638ea146104b4575b60005433600160a060020a03908116911614801561016e5750600034115b15610178576101df565b60005460a060020a900460ff16151561019057600080fd5b600160a060020a03331660009081526008602052604090205460ff1615156101b757600080fd5b600654600160a060020a031615156101d6576101d16104c7565b6101df565b6101df3361065b565b005b34156101ec57600080fd5b6101df610765565b34156101ff57600080fd5b6102076107b9565b604051901515815260200160405180910390f35b341561022657600080fd5b6101df6107c9565b341561023957600080fd5b6101df600160a060020a0360043516610821565b341561025857600080fd5b6101df600160a060020a036004351660243560443561085f565b341561027d57600080fd5b6102856109d5565b60405190815260200160405180910390f35b34156102a257600080fd5b6101df6004356109db565b34156102b857600080fd5b6101df600160a060020a0360043516610a08565b34156102d757600080fd5b6101df610a7d565b34156102ea57600080fd5b6101df600160a060020a0360043516610b8f565b341561030957600080fd5b610285600160a060020a0360043516610ba6565b341561032857600080fd5b610285610bdc565b341561033b57600080fd5b610285610be2565b341561034e57600080fd5b6101df610c05565b341561036157600080fd5b6101df610c58565b341561037457600080fd5b61037c610cb1565b604051600160a060020a03909116815260200160405180910390f35b34156103a357600080fd5b610285610cc0565b34156103b657600080fd5b6101df600435610cc6565b34156103cc57600080fd5b61037c610d17565b34156103df57600080fd5b6101df600160a060020a0360043516602435604435610d26565b341561040457600080fd5b6101df600435610de2565b341561041a57600080fd5b6101df600160a060020a0360043516610e18565b341561043957600080fd5b6101df600160a060020a0360043516610e94565b341561045857600080fd5b6101df600435610fc2565b341561046e57600080fd5b610285611006565b341561048157600080fd5b6101df600160a060020a0360043516611029565b34156104a057600080fd5b6101df600160a060020a03600435166110c4565b34156104bf57600080fd5b6102856111e5565b6000348190116104d657600080fd5b6007543a11156104e557600080fd5b600154600160a060020a033316600090815260086020526040902060030154610514903463ffffffff6111eb16565b101561051f57600080fd5b6004546003541161052f57600080fd5b6004546003546105449163ffffffff61120516565b34111561055057600080fd5b600160a060020a03331660009081526008602052604090206003015461057c903463ffffffff6111eb16565b600160a060020a0333166000908152600860205260409020600290810154905491925090116105b9576002548111156105b457600080fd5b6105e1565b600160a060020a0333166000908152600860205260409020600201548111156105e157600080fd5b600160a060020a0333166000908152600860205260409020600301819055600454610612903463ffffffff6111eb16565b600455600160a060020a0333166000908152600860205260409020600101546106559061064690349063ffffffff61121716565b6005549063ffffffff6111eb16565b60055550565b600080341561066957600080fd5b600160a060020a0383166000908152600860205260408120600301549250821161069257600080fd5b600160a060020a0383166000908152600860205260409020600101546106bf90839063ffffffff61121716565b600160a060020a03808516600090815260086020526040808220600301829055600654939450929091169163a9059cbb918691859190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561073d57600080fd5b6102c65a03f1151561074e57600080fd5b50505060405180519050151561076057fe5b505050565b60005433600160a060020a0390811691161461078057600080fd5b60005460a860020a900460ff16151561079857600080fd5b6000805475ff00000000000000000000000000000000000000000019169055565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146107e457600080fd5b60005460a060020a900460ff16156107fb57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a179055565b600654600160a060020a0316151561083857600080fd5b60005433600160a060020a0390811691161461085357600080fd5b61085c8161065b565b50565b60005433600160a060020a0390811691161461087a57600080fd5b600654600160a060020a03161561089057600080fd5b600160a060020a03831615156108a557600080fd5b600082116108b257600080fd5b6001548110156108c157600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156108e857600080fd5b600160a060020a03831660009081526008602052604081206003015411801561092c5750600160a060020a0383166000908152600860205260409020600101548214155b156109ae57600160a060020a0383166000908152600860205260409020600181015460039091015461097791610968919063ffffffff61121716565b6005549063ffffffff61120516565b600555600160a060020a0383166000908152600860205260409020600301546109aa90610646908463ffffffff61121716565b6005555b600160a060020a039092166000908152600860205260409020600181019190915560020155565b60075481565b60005433600160a060020a039081169116146109f657600080fd5b60008111610a0357600080fd5b600755565b600654600160a060020a031615610a1e57600080fd5b60005433600160a060020a03908116911614610a3957600080fd5b600160a060020a0381161515610a4e57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805460a060020a900460ff161515610a9657600080fd5b60005460a860020a900460ff161515610aae57600080fd5b600160a060020a03331660009081526008602052604090205460ff161515610ad557600080fd5b50600160a060020a033316600090815260086020526040812060030154908111610afe57600080fd5b600160a060020a033316600090815260086020526040812060030155600454610b2d908263ffffffff61120516565b600455600160a060020a033316600090815260086020526040902060010154610b619061096890839063ffffffff61121716565b600555600160a060020a0333168160405160006040518083038185876187965a03f192505050151561085c57fe5b600654600160a060020a03161515610a1e57600080fd5b6000600160a060020a0382161515610bbd57600080fd5b50600160a060020a031660009081526008602052604090206003015490565b60035481565b6000805433600160a060020a03908116911614610bfe57600080fd5b5060045490565b60005433600160a060020a03908116911614610c2057600080fd5b60005460a060020a900460ff161515610c3857600080fd5b6000805474ff000000000000000000000000000000000000000019169055565b60005433600160a060020a03908116911614610c7357600080fd5b60005460a860020a900460ff1615610c8a57600080fd5b6000805475ff000000000000000000000000000000000000000000191660a860020a179055565b600054600160a060020a031681565b60025481565b600654600160a060020a031615610cdc57600080fd5b60005433600160a060020a03908116911614610cf757600080fd5b60008111610d0457600080fd5b6002548110610d1257600080fd5b600155565b600654600160a060020a031681565b60005433600160a060020a03908116911614610d4157600080fd5b600654600160a060020a031615610d5757600080fd5b600160a060020a0383161515610d6c57600080fd5b60008211610d7957600080fd5b600154811015610d8857600080fd5b600160a060020a03831660009081526008602052604090205460ff1615610dae57600080fd5b600160a060020a039092166000908152600860205260409020805460ff191660019081178255600282019390935590910155565b600654600160a060020a031615610df857600080fd5b60005433600160a060020a03908116911614610e1357600080fd5b600355565b600654600160a060020a03161515610e2f57600080fd5b60005433600160a060020a03908116911614610e4a57600080fd5b600160a060020a0381161515610e5f57600080fd5b80600160a060020a031630600160a060020a03163160405160006040518083038185876187965a03f192505050151561085c57fe5b6000805433600160a060020a03908116911614610eb057600080fd5b600160a060020a0382161515610ec557600080fd5b600160a060020a03821660009081526008602052604090205460ff161515610eec57600080fd5b600160a060020a0382166000908152600860205260408120805460ff19168155600301541115610f8e5750600160a060020a038116600090815260086020526040812060038101805492905560010154610f519061096890839063ffffffff61121716565b600555600454610f67908263ffffffff61120516565b600455600160a060020a0382168160405160006040518083038185876187965a03f1505050505b50600160a060020a03166000908152600860205260408120805460ff19168155600181018290556002810182905560030155565b600654600160a060020a031615610fd857600080fd5b60005433600160a060020a03908116911614610ff357600080fd5b600154811161100157600080fd5b600255565b6000805433600160a060020a0390811691161461102257600080fd5b5060055490565b60005433600160a060020a0390811691161461104457600080fd5b600160a060020a038116151561105957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805433600160a060020a039081169116146110e057600080fd5b600160a060020a03821615156110f557600080fd5b50600654600160a060020a03168063a9059cbb83826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561115757600080fd5b6102c65a03f1151561116857600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156111be57600080fd5b6102c65a03f115156111cf57600080fd5b5050506040518051905015156111e157fe5b5050565b60015481565b6000828201838110156111fa57fe5b8091505b5092915050565b60008282111561121157fe5b50900390565b60008083151561122a57600091506111fe565b5082820282848281151561123a57fe5b04146111fa57fe00a165627a7a7230582091c860d9c2adf2ab37def462e38121e8990948ae62e9875e7ca9d4ade41da4cc0029
Deployed Bytecode
0x6060604052600436106101505763ffffffff60e060020a6000350416630150134781146101e157806302fb0c5e146101f4578063046f7da21461021b57806321860a051461022e5780632e0fc7a61461024d5780633de39c111461027257806348146341146102975780634ef39b75146102ad578063590e1ae3146102cc5780636691461a146102df57806370a08231146102fe5780637228b9db1461031d57806383ccc8b8146103305780638456cb591461034357806389e42346146103565780638da5cb5b1461036957806393627f421461039857806399c27d40146103ab5780639d76ea58146103c1578063a311d157146103d4578063a34560be146103f9578063af933b571461040f578063b3f3ab5c1461042e578063c1b8b7041461044d578063d979e90614610463578063f2fde38b14610476578063f604e6a614610495578063f9c638ea146104b4575b60005433600160a060020a03908116911614801561016e5750600034115b15610178576101df565b60005460a060020a900460ff16151561019057600080fd5b600160a060020a03331660009081526008602052604090205460ff1615156101b757600080fd5b600654600160a060020a031615156101d6576101d16104c7565b6101df565b6101df3361065b565b005b34156101ec57600080fd5b6101df610765565b34156101ff57600080fd5b6102076107b9565b604051901515815260200160405180910390f35b341561022657600080fd5b6101df6107c9565b341561023957600080fd5b6101df600160a060020a0360043516610821565b341561025857600080fd5b6101df600160a060020a036004351660243560443561085f565b341561027d57600080fd5b6102856109d5565b60405190815260200160405180910390f35b34156102a257600080fd5b6101df6004356109db565b34156102b857600080fd5b6101df600160a060020a0360043516610a08565b34156102d757600080fd5b6101df610a7d565b34156102ea57600080fd5b6101df600160a060020a0360043516610b8f565b341561030957600080fd5b610285600160a060020a0360043516610ba6565b341561032857600080fd5b610285610bdc565b341561033b57600080fd5b610285610be2565b341561034e57600080fd5b6101df610c05565b341561036157600080fd5b6101df610c58565b341561037457600080fd5b61037c610cb1565b604051600160a060020a03909116815260200160405180910390f35b34156103a357600080fd5b610285610cc0565b34156103b657600080fd5b6101df600435610cc6565b34156103cc57600080fd5b61037c610d17565b34156103df57600080fd5b6101df600160a060020a0360043516602435604435610d26565b341561040457600080fd5b6101df600435610de2565b341561041a57600080fd5b6101df600160a060020a0360043516610e18565b341561043957600080fd5b6101df600160a060020a0360043516610e94565b341561045857600080fd5b6101df600435610fc2565b341561046e57600080fd5b610285611006565b341561048157600080fd5b6101df600160a060020a0360043516611029565b34156104a057600080fd5b6101df600160a060020a03600435166110c4565b34156104bf57600080fd5b6102856111e5565b6000348190116104d657600080fd5b6007543a11156104e557600080fd5b600154600160a060020a033316600090815260086020526040902060030154610514903463ffffffff6111eb16565b101561051f57600080fd5b6004546003541161052f57600080fd5b6004546003546105449163ffffffff61120516565b34111561055057600080fd5b600160a060020a03331660009081526008602052604090206003015461057c903463ffffffff6111eb16565b600160a060020a0333166000908152600860205260409020600290810154905491925090116105b9576002548111156105b457600080fd5b6105e1565b600160a060020a0333166000908152600860205260409020600201548111156105e157600080fd5b600160a060020a0333166000908152600860205260409020600301819055600454610612903463ffffffff6111eb16565b600455600160a060020a0333166000908152600860205260409020600101546106559061064690349063ffffffff61121716565b6005549063ffffffff6111eb16565b60055550565b600080341561066957600080fd5b600160a060020a0383166000908152600860205260408120600301549250821161069257600080fd5b600160a060020a0383166000908152600860205260409020600101546106bf90839063ffffffff61121716565b600160a060020a03808516600090815260086020526040808220600301829055600654939450929091169163a9059cbb918691859190516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561073d57600080fd5b6102c65a03f1151561074e57600080fd5b50505060405180519050151561076057fe5b505050565b60005433600160a060020a0390811691161461078057600080fd5b60005460a860020a900460ff16151561079857600080fd5b6000805475ff00000000000000000000000000000000000000000019169055565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146107e457600080fd5b60005460a060020a900460ff16156107fb57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a179055565b600654600160a060020a0316151561083857600080fd5b60005433600160a060020a0390811691161461085357600080fd5b61085c8161065b565b50565b60005433600160a060020a0390811691161461087a57600080fd5b600654600160a060020a03161561089057600080fd5b600160a060020a03831615156108a557600080fd5b600082116108b257600080fd5b6001548110156108c157600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156108e857600080fd5b600160a060020a03831660009081526008602052604081206003015411801561092c5750600160a060020a0383166000908152600860205260409020600101548214155b156109ae57600160a060020a0383166000908152600860205260409020600181015460039091015461097791610968919063ffffffff61121716565b6005549063ffffffff61120516565b600555600160a060020a0383166000908152600860205260409020600301546109aa90610646908463ffffffff61121716565b6005555b600160a060020a039092166000908152600860205260409020600181019190915560020155565b60075481565b60005433600160a060020a039081169116146109f657600080fd5b60008111610a0357600080fd5b600755565b600654600160a060020a031615610a1e57600080fd5b60005433600160a060020a03908116911614610a3957600080fd5b600160a060020a0381161515610a4e57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805460a060020a900460ff161515610a9657600080fd5b60005460a860020a900460ff161515610aae57600080fd5b600160a060020a03331660009081526008602052604090205460ff161515610ad557600080fd5b50600160a060020a033316600090815260086020526040812060030154908111610afe57600080fd5b600160a060020a033316600090815260086020526040812060030155600454610b2d908263ffffffff61120516565b600455600160a060020a033316600090815260086020526040902060010154610b619061096890839063ffffffff61121716565b600555600160a060020a0333168160405160006040518083038185876187965a03f192505050151561085c57fe5b600654600160a060020a03161515610a1e57600080fd5b6000600160a060020a0382161515610bbd57600080fd5b50600160a060020a031660009081526008602052604090206003015490565b60035481565b6000805433600160a060020a03908116911614610bfe57600080fd5b5060045490565b60005433600160a060020a03908116911614610c2057600080fd5b60005460a060020a900460ff161515610c3857600080fd5b6000805474ff000000000000000000000000000000000000000019169055565b60005433600160a060020a03908116911614610c7357600080fd5b60005460a860020a900460ff1615610c8a57600080fd5b6000805475ff000000000000000000000000000000000000000000191660a860020a179055565b600054600160a060020a031681565b60025481565b600654600160a060020a031615610cdc57600080fd5b60005433600160a060020a03908116911614610cf757600080fd5b60008111610d0457600080fd5b6002548110610d1257600080fd5b600155565b600654600160a060020a031681565b60005433600160a060020a03908116911614610d4157600080fd5b600654600160a060020a031615610d5757600080fd5b600160a060020a0383161515610d6c57600080fd5b60008211610d7957600080fd5b600154811015610d8857600080fd5b600160a060020a03831660009081526008602052604090205460ff1615610dae57600080fd5b600160a060020a039092166000908152600860205260409020805460ff191660019081178255600282019390935590910155565b600654600160a060020a031615610df857600080fd5b60005433600160a060020a03908116911614610e1357600080fd5b600355565b600654600160a060020a03161515610e2f57600080fd5b60005433600160a060020a03908116911614610e4a57600080fd5b600160a060020a0381161515610e5f57600080fd5b80600160a060020a031630600160a060020a03163160405160006040518083038185876187965a03f192505050151561085c57fe5b6000805433600160a060020a03908116911614610eb057600080fd5b600160a060020a0382161515610ec557600080fd5b600160a060020a03821660009081526008602052604090205460ff161515610eec57600080fd5b600160a060020a0382166000908152600860205260408120805460ff19168155600301541115610f8e5750600160a060020a038116600090815260086020526040812060038101805492905560010154610f519061096890839063ffffffff61121716565b600555600454610f67908263ffffffff61120516565b600455600160a060020a0382168160405160006040518083038185876187965a03f1505050505b50600160a060020a03166000908152600860205260408120805460ff19168155600181018290556002810182905560030155565b600654600160a060020a031615610fd857600080fd5b60005433600160a060020a03908116911614610ff357600080fd5b600154811161100157600080fd5b600255565b6000805433600160a060020a0390811691161461102257600080fd5b5060055490565b60005433600160a060020a0390811691161461104457600080fd5b600160a060020a038116151561105957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805433600160a060020a039081169116146110e057600080fd5b600160a060020a03821615156110f557600080fd5b50600654600160a060020a03168063a9059cbb83826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561115757600080fd5b6102c65a03f1151561116857600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156111be57600080fd5b6102c65a03f115156111cf57600080fd5b5050506040518051905015156111e157fe5b5050565b60015481565b6000828201838110156111fa57fe5b8091505b5092915050565b60008282111561121157fe5b50900390565b60008083151561122a57600091506111fe565b5082820282848281151561123a57fe5b04146111fa57fe00a165627a7a7230582091c860d9c2adf2ab37def462e38121e8990948ae62e9875e7ca9d4ade41da4cc0029
Swarm Source
bzzr://91c860d9c2adf2ab37def462e38121e8990948ae62e9875e7ca9d4ade41da4cc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.998072 | 50 | $49.9 |
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.