Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.006 ETH
Eth Value
$16.02 (@ $2,669.78/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 9 from a total of 9 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 6976948 | 2237 days ago | IN | 0 ETH | 0.00004208 | ||||
Mint | 6976903 | 2237 days ago | IN | 0 ETH | 0.00004823 | ||||
Approve | 6976841 | 2237 days ago | IN | 0 ETH | 0.00032121 | ||||
Approve | 6976830 | 2237 days ago | IN | 0 ETH | 0.00032121 | ||||
Mint | 6976445 | 2237 days ago | IN | 0 ETH | 0.00004785 | ||||
Mint | 6976435 | 2237 days ago | IN | 0 ETH | 0.00004798 | ||||
Transfer | 6976413 | 2237 days ago | IN | 0.001 ETH | 0.0004208 | ||||
Transfer | 6976364 | 2237 days ago | IN | 0.005 ETH | 0.0001052 | ||||
Mint | 6976359 | 2237 days ago | IN | 0 ETH | 0.00005997 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NEURONE
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-12-29 */ pragma solidity ^0.4.24; // File: openzeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 _a, uint256 _b) internal pure returns (uint256) { // assert(_b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = _a / _b; // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold return _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } // File: openzeppelin-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 OwnershipRenounced(address indexed previousOwner); 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 relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @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 { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); 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: openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @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(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit 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) { return balances[_owner]; } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @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 ); } // File: openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/issues/20 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // File: openzeppelin-solidity/contracts/token/ERC20/MintableToken.sol /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } modifier hasMintPermission() { require(msg.sender == owner); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint( address _to, uint256 _amount ) public hasMintPermission canMint returns (bool) { totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() public onlyOwner canMint returns (bool) { mintingFinished = true; emit MintFinished(); return true; } } // File: contracts/NEURONE.sol /** * Holders of NEURONE can claim ERC20 as it is mined using the claimTokens() * function. This contract will be fed ERC20 automatically by the ERC20 ERC20 * contract. */ contract NEURONE is MintableToken { using SafeMath for uint; string public constant name = "Neurone by Neuronecoin Core"; string public constant symbol = "ONE"; uint8 public constant decimals = 0; address public admin; uint public totalEthReleased = 0; mapping(address => uint) public ethReleased; address[] public trackedTokens; mapping(address => bool) public isTokenTracked; mapping(address => uint) public totalTokensReleased; mapping(address => mapping(address => uint)) public tokensReleased; constructor() public { owner = this; admin = msg.sender; } function () public payable {} modifier onlyAdmin() { require(msg.sender == admin); _; } function changeAdmin(address _receiver) onlyAdmin public { admin = _receiver; } /** * Claim your eth. */ function claimEth() public { claimEthFor(msg.sender); } // Claim eth for address function claimEthFor(address payee) public { require(balances[payee] > 0); uint totalReceived = address(this).balance.add(totalEthReleased); uint payment = totalReceived.mul( balances[payee]).div( totalSupply_).sub( ethReleased[payee] ); require(payment != 0); require(address(this).balance >= payment); ethReleased[payee] = ethReleased[payee].add(payment); totalEthReleased = totalEthReleased.add(payment); payee.transfer(payment); } // Claim your tokens function claimMyTokens() public { claimTokensFor(msg.sender); } // Claim on behalf of payee address function claimTokensFor(address payee) public { require(balances[payee] > 0); for (uint16 i = 0; i < trackedTokens.length; i++) { claimToken(trackedTokens[i], payee); } } /** * Transfers the unclaimed token amount for the given token and address * @param _tokenAddr The address of the ERC20 token * @param _payee The address of the payee (NEURONE holder) */ function claimToken(address _tokenAddr, address _payee) public { require(balances[_payee] > 0); require(isTokenTracked[_tokenAddr]); uint payment = getUnclaimedTokenAmount(_tokenAddr, _payee); if (payment == 0) { return; } ERC20 Token = ERC20(_tokenAddr); require(Token.balanceOf(address(this)) >= payment); tokensReleased[address(Token)][_payee] = tokensReleased[address(Token)][_payee].add(payment); totalTokensReleased[address(Token)] = totalTokensReleased[address(Token)].add(payment); Token.transfer(_payee, payment); } /** * Returns the amount of a token (tokenAddr) that payee can claim * @param tokenAddr The address of the ERC20 token * @param payee The address of the payee */ function getUnclaimedTokenAmount(address tokenAddr, address payee) public view returns (uint) { ERC20 Token = ERC20(tokenAddr); uint totalReceived = Token.balanceOf(address(this)).add(totalTokensReleased[address(Token)]); uint payment = totalReceived.mul( balances[payee]).div( totalSupply_).sub( tokensReleased[address(Token)][payee] ); return payment; } function transfer(address _to, uint256 _value) public returns (bool) { require(msg.sender != _to); uint startingBalance = balances[msg.sender]; require(super.transfer(_to, _value)); transferChecks(msg.sender, _to, _value, startingBalance); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool){ require(_from != _to); uint startingBalance = balances[_from]; require(super.transferFrom(_from, _to, _value)); transferChecks(_from, _to, _value, startingBalance); return true; } function transferChecks(address from, address to, uint checks, uint startingBalance) internal { // proportional amount of eth released already uint claimedEth = ethReleased[from].mul( checks).div( startingBalance ); // increment to's released eth ethReleased[to] = ethReleased[to].add(claimedEth); // decrement from's released eth ethReleased[from] = ethReleased[from].sub(claimedEth); for (uint16 i = 0; i < trackedTokens.length; i++) { address tokenAddr = trackedTokens[i]; // proportional amount of token released already uint claimed = tokensReleased[tokenAddr][from].mul( checks).div( startingBalance ); // increment to's released token tokensReleased[tokenAddr][to] = tokensReleased[tokenAddr][to].add(claimed); // decrement from's released token tokensReleased[tokenAddr][from] = tokensReleased[tokenAddr][from].sub(claimed); } } /** * @dev Add a new payee to the contract. * @param _payees The addresses of the payees to add. * @param _checks The array of number of checks owned by the payee. */ function addPayees(address[] _payees, uint[] _checks) onlyAdmin external { require(_payees.length == _checks.length); require(_payees.length > 0); for (uint i = 0; i < _payees.length; i++) { addPayee(_payees[i], _checks[i]); } } /** * @dev Add a new payee to the contract. * @param _payee The address of the payee to add. * @param _checks The number of _checks owned by the payee. */ function addPayee(address _payee, uint _checks) onlyAdmin canMint public { require(_payee != address(0)); require(_checks > 0); require(balances[_payee] == 0); MintableToken(this).mint(_payee, _checks); } // irreversibly close the adding of checks function finishedLoading() onlyAdmin canMint public { MintableToken(this).finishMinting(); } function trackToken(address _addr) onlyAdmin public { require(_addr != address(0)); require(!isTokenTracked[_addr]); trackedTokens.push(_addr); isTokenTracked[_addr] = true; } /* * However unlikely, it is possible that the number of tracked tokens * reaches the point that would make the gas cost of transferring NEURONE * exceed the block gas limit. This function allows the admin to remove * a token from the tracked token list thus reducing the number of loops * required in transferChecks, lowering the gas cost of transfer. The * remaining balance of this token is sent back to the token's contract. * * Removal is irreversible. * * @param _addr The address of the ERC token to untrack * @param _position The index of the _addr in the trackedTokens array. * Use web3 to cycle through and find the index position. */ function unTrackToken(address _addr, uint16 _position) onlyAdmin public { require(isTokenTracked[_addr]); require(trackedTokens[_position] == _addr); ERC20(_addr).transfer(_addr, ERC20(_addr).balanceOf(address(this))); trackedTokens[_position] = trackedTokens[trackedTokens.length-1]; delete trackedTokens[trackedTokens.length-1]; trackedTokens.length--; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokensReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_payee","type":"address"},{"name":"_checks","type":"uint256"}],"name":"addPayee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"payee","type":"address"}],"name":"claimEthFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"trackToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_payees","type":"address[]"},{"name":"_checks","type":"uint256[]"}],"name":"addPayees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddr","type":"address"},{"name":"payee","type":"address"}],"name":"getUnclaimedTokenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ethReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"totalTokensReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"trackedTokens","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimMyTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_position","type":"uint16"}],"name":"unTrackToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalEthReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_payee","type":"address"}],"name":"claimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"payee","type":"address"}],"name":"claimTokensFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isTokenTracked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishedLoading","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526003805460a060020a60ff0219169055600060055534801561002557600080fd5b5060038054600160a060020a03199081163390811782163017909255600480549091169091179055611cde8061005c6000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166305d2035b81146101aa57806306fdde03146101d3578063095ea7b31461025d57806315e6b6001461028157806318160ddd146102ba57806318f9b023146102cf57806323b872dd146102f35780632656455f1461031d578063313ce5671461033e57806339639fbd1461036957806340c10f191461038a57806353844552146103ae57806358a3d1a1146103da578063653b3a8914610401578063661884631461042257806370a0823114610446578063715018a6146104675780637d64bcb41461047c578063820be89e146104915780638305368a146104b25780638da5cb5b146104e65780638f283970146104fb578063937f2e331461051c57806395d89b4114610531578063a7be264814610546578063a9059cbb1461056e578063b2dda6b514610592578063b7cdddcb146105a7578063ca31879d146105bc578063d73dd623146105e3578063dd62ed3e14610607578063ee0b04be1461062e578063f2fde38b1461064f578063f851a44014610670578063f9dd711f14610685578063fbc7ad3e146106a6575b005b3480156101b657600080fd5b506101bf6106bb565b604080519115158252519081900360200190f35b3480156101df57600080fd5b506101e86106cb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022257818101518382015260200161020a565b50505050905090810190601f16801561024f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026957600080fd5b506101bf600160a060020a0360043516602435610702565b34801561028d57600080fd5b506102a8600160a060020a0360043581169060243516610769565b60408051918252519081900360200190f35b3480156102c657600080fd5b506102a8610786565b3480156102db57600080fd5b506101a8600160a060020a036004351660243561078d565b3480156102ff57600080fd5b506101bf600160a060020a0360043581169060243516604435610898565b34801561032957600080fd5b506101a8600160a060020a03600435166108fb565b34801561034a57600080fd5b50610353610a3b565b6040805160ff9092168252519081900360200190f35b34801561037557600080fd5b506101a8600160a060020a0360043516610a40565b34801561039657600080fd5b506101bf600160a060020a0360043516602435610b06565b3480156103ba57600080fd5b506101a86024600480358281019290820135918135918201910135610c10565b3480156103e657600080fd5b506102a8600160a060020a0360043581169060243516610c97565b34801561040d57600080fd5b506102a8600160a060020a0360043516610da5565b34801561042e57600080fd5b506101bf600160a060020a0360043516602435610db7565b34801561045257600080fd5b506102a8600160a060020a0360043516610ea6565b34801561047357600080fd5b506101a8610ec1565b34801561048857600080fd5b506101bf610f2f565b34801561049d57600080fd5b506102a8600160a060020a0360043516610fb3565b3480156104be57600080fd5b506104ca600435610fc5565b60408051600160a060020a039092168252519081900360200190f35b3480156104f257600080fd5b506104ca610fed565b34801561050757600080fd5b506101a8600160a060020a0360043516610ffc565b34801561052857600080fd5b506101a8611042565b34801561053d57600080fd5b506101e861104d565b34801561055257600080fd5b506101a8600160a060020a036004351661ffff60243516611084565b34801561057a57600080fd5b506101bf600160a060020a03600435166024356112d1565b34801561059e57600080fd5b506102a8611326565b3480156105b357600080fd5b506101a861132c565b3480156105c857600080fd5b506101a8600160a060020a0360043581169060243516611335565b3480156105ef57600080fd5b506101bf600160a060020a0360043516602435611562565b34801561061357600080fd5b506102a8600160a060020a03600435811690602435166115fb565b34801561063a57600080fd5b506101a8600160a060020a0360043516611626565b34801561065b57600080fd5b506101a8600160a060020a0360043516611699565b34801561067c57600080fd5b506104ca6116bc565b34801561069157600080fd5b506101bf600160a060020a03600435166116cb565b3480156106b257600080fd5b506101a86116e0565b60035460a060020a900460ff1681565b60408051808201909152601b81527f4e6575726f6e65206279204e6575726f6e65636f696e20436f72650000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600a60209081526000928352604080842090915290825290205481565b6001545b90565b600454600160a060020a031633146107a457600080fd5b60035460a060020a900460ff16156107bb57600080fd5b600160a060020a03821615156107d057600080fd5b600081116107dd57600080fd5b600160a060020a0382166000908152602081905260409020541561080057600080fd5b604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a038416600482015260248101839052905130916340c10f199160448083019260209291908290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50505050565b600080600160a060020a0385811690851614156108b457600080fd5b50600160a060020a0384166000908152602081905260409020546108d9858585611776565b15156108e457600080fd5b6108f0858585846118eb565b506001949350505050565b600160a060020a0381166000908152602081905260408120548190811061092157600080fd5b6005546109369030319063ffffffff611abb16565b600160a060020a0384166000908152600660209081526040808320546001549284905292205492945061099192610985919061097990879063ffffffff611ac816565b9063ffffffff611af116565b9063ffffffff611b0616565b905080151561099f57600080fd5b30318111156109ad57600080fd5b600160a060020a0383166000908152600660205260409020546109d6908263ffffffff611abb16565b600160a060020a038416600090815260066020526040902055600554610a02908263ffffffff611abb16565b600555604051600160a060020a0384169082156108fc029083906000818181858888f19350505050158015610892573d6000803e3d6000fd5b600081565b600454600160a060020a03163314610a5757600080fd5b600160a060020a0381161515610a6c57600080fd5b600160a060020a03811660009081526008602052604090205460ff1615610a9257600080fd5b6007805460018181019092557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018054600160a060020a0390931673ffffffffffffffffffffffffffffffffffffffff1990931683179055600091825260086020526040909120805460ff19169091179055565b600354600090600160a060020a03163314610b2057600080fd5b60035460a060020a900460ff1615610b3757600080fd5b600154610b4a908363ffffffff611abb16565b600155600160a060020a038316600090815260208190526040902054610b76908363ffffffff611abb16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b600454600090600160a060020a03163314610c2a57600080fd5b838214610c3657600080fd5b60008411610c4357600080fd5b5060005b83811015610c9057610c88858583818110610c5e57fe5b90506020020135600160a060020a03168484848181101515610c7c57fe5b9050602002013561078d565b600101610c47565b5050505050565b600160a060020a03821660008181526009602090815260408083205481517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291519394879486948594610d4a9493926370a082319260248084019391929182900301818987803b158015610d1257600080fd5b505af1158015610d26573d6000803e3d6000fd5b505050506040513d6020811015610d3c57600080fd5b50519063ffffffff611abb16565b600160a060020a038085166000908152600a60209081526040808320938a16835292815282822054600154918390529290912054929450610d9b92610985919061097990879063ffffffff611ac816565b9695505050505050565b60066020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e0b57336000908152600260209081526040808320600160a060020a0388168452909152812055610e40565b610e1b818463ffffffff611b0616565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610ed857600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610f4957600080fd5b60035460a060020a900460ff1615610f6057600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b60096020526000908152604090205481565b6007805482908110610fd357fe5b600091825260209091200154600160a060020a0316905081565b600354600160a060020a031681565b600454600160a060020a0316331461101357600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b61104b33611626565b565b60408051808201909152600381527f4f4e450000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a0316331461109b57600080fd5b600160a060020a03821660009081526008602052604090205460ff1615156110c257600080fd5b81600160a060020a031660078261ffff168154811015156110df57fe5b600091825260209091200154600160a060020a0316146110fe57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a0384169163a9059cbb91859184916370a08231916024808201926020929091908290030181600087803b15801561116a57600080fd5b505af115801561117e573d6000803e3d6000fd5b505050506040513d602081101561119457600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156111e357600080fd5b505af11580156111f7573d6000803e3d6000fd5b505050506040513d602081101561120d57600080fd5b505060078054600019810190811061122157fe5b60009182526020909120015460078054600160a060020a039092169161ffff841690811061124b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560078054600019810190811061129357fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916905560078054906112cc906000198301611c75565b505050565b60008033600160a060020a03851614156112ea57600080fd5b50336000908152602081905260409020546113058484611b18565b151561131057600080fd5b61131c338585846118eb565b5060019392505050565b60055481565b61104b336108fb565b600160a060020a0381166000908152602081905260408120548190811061135b57600080fd5b600160a060020a03841660009081526008602052604090205460ff16151561138257600080fd5b61138c8484610c97565b915081151561139a57610892565b50604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905184918391600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b5051101561143757600080fd5b600160a060020a038082166000908152600a602090815260408083209387168352929052205461146d908363ffffffff611abb16565b600160a060020a038083166000818152600a6020908152604080832094891683529381528382209490945590815260099092529020546114b3908363ffffffff611abb16565b600160a060020a0380831660008181526009602090815260408083209590955584517fa9059cbb0000000000000000000000000000000000000000000000000000000081529388166004850152602484018790529351919363a9059cbb936044808201949293918390030190829087803b15801561153057600080fd5b505af1158015611544573d6000803e3d6000fd5b505050506040513d602081101561155a57600080fd5b505050505050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611596908363ffffffff611abb16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a038116600090815260208190526040812054811061164a57600080fd5b5060005b60075461ffff821610156116955761168d60078261ffff1681548110151561167257fe5b600091825260209091200154600160a060020a031683611335565b60010161164e565b5050565b600354600160a060020a031633146116b057600080fd5b6116b981611bf7565b50565b600454600160a060020a031681565b60086020526000908152604090205460ff1681565b600454600160a060020a031633146116f757600080fd5b60035460a060020a900460ff161561170e57600080fd5b30600160a060020a0316637d64bcb46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050506040513d602081101561169557600080fd5b600160a060020a03831660009081526020819052604081205482111561179b57600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156117cb57600080fd5b600160a060020a03831615156117e057600080fd5b600160a060020a038416600090815260208190526040902054611809908363ffffffff611b0616565b600160a060020a03808616600090815260208190526040808220939093559085168152205461183e908363ffffffff611abb16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611880908363ffffffff611b0616565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a038416600090815260066020526040812054819081908190611920908690610979908963ffffffff611ac816565b600160a060020a03881660009081526006602052604090205490945061194c908563ffffffff611abb16565b600160a060020a0380891660009081526006602052604080822093909355908a1681522054611981908563ffffffff611b0616565b600160a060020a03891660009081526006602052604081209190915592505b60075461ffff84161015611ab1576007805461ffff85169081106119c057fe5b6000918252602080832090910154600160a060020a03908116808452600a83526040808520928d1685529190925290912054909250611a0b908690610979908963ffffffff611ac816565b600160a060020a038084166000908152600a60209081526040808320938c1683529290522054909150611a44908263ffffffff611abb16565b600160a060020a038381166000908152600a602090815260408083208c8516845290915280822093909355908a1681522054611a809082611b06565b600160a060020a038084166000908152600a60209081526040808320938d16835292905220556001909201916119a0565b5050505050505050565b8181018281101561076357fe5b6000821515611ad957506000610763565b50818102818382811515611ae957fe5b041461076357fe5b60008183811515611afe57fe5b049392505050565b600082821115611b1257fe5b50900390565b33600090815260208190526040812054821115611b3457600080fd5b600160a060020a0383161515611b4957600080fd5b33600090815260208190526040902054611b69908363ffffffff611b0616565b3360009081526020819052604080822092909255600160a060020a03851681522054611b9b908363ffffffff611abb16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a0381161515611c0c57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156112cc576000838152602090206112cc91810190830161078a91905b80821115611cae5760008155600101611c9a565b50905600a165627a7a723058205e9fea0078d8e71b4fbc7d11f7f11242f1df063429d8131c6126ff981c52c3ab0029
Deployed Bytecode
0x6080604052600436106101a85763ffffffff60e060020a60003504166305d2035b81146101aa57806306fdde03146101d3578063095ea7b31461025d57806315e6b6001461028157806318160ddd146102ba57806318f9b023146102cf57806323b872dd146102f35780632656455f1461031d578063313ce5671461033e57806339639fbd1461036957806340c10f191461038a57806353844552146103ae57806358a3d1a1146103da578063653b3a8914610401578063661884631461042257806370a0823114610446578063715018a6146104675780637d64bcb41461047c578063820be89e146104915780638305368a146104b25780638da5cb5b146104e65780638f283970146104fb578063937f2e331461051c57806395d89b4114610531578063a7be264814610546578063a9059cbb1461056e578063b2dda6b514610592578063b7cdddcb146105a7578063ca31879d146105bc578063d73dd623146105e3578063dd62ed3e14610607578063ee0b04be1461062e578063f2fde38b1461064f578063f851a44014610670578063f9dd711f14610685578063fbc7ad3e146106a6575b005b3480156101b657600080fd5b506101bf6106bb565b604080519115158252519081900360200190f35b3480156101df57600080fd5b506101e86106cb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022257818101518382015260200161020a565b50505050905090810190601f16801561024f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026957600080fd5b506101bf600160a060020a0360043516602435610702565b34801561028d57600080fd5b506102a8600160a060020a0360043581169060243516610769565b60408051918252519081900360200190f35b3480156102c657600080fd5b506102a8610786565b3480156102db57600080fd5b506101a8600160a060020a036004351660243561078d565b3480156102ff57600080fd5b506101bf600160a060020a0360043581169060243516604435610898565b34801561032957600080fd5b506101a8600160a060020a03600435166108fb565b34801561034a57600080fd5b50610353610a3b565b6040805160ff9092168252519081900360200190f35b34801561037557600080fd5b506101a8600160a060020a0360043516610a40565b34801561039657600080fd5b506101bf600160a060020a0360043516602435610b06565b3480156103ba57600080fd5b506101a86024600480358281019290820135918135918201910135610c10565b3480156103e657600080fd5b506102a8600160a060020a0360043581169060243516610c97565b34801561040d57600080fd5b506102a8600160a060020a0360043516610da5565b34801561042e57600080fd5b506101bf600160a060020a0360043516602435610db7565b34801561045257600080fd5b506102a8600160a060020a0360043516610ea6565b34801561047357600080fd5b506101a8610ec1565b34801561048857600080fd5b506101bf610f2f565b34801561049d57600080fd5b506102a8600160a060020a0360043516610fb3565b3480156104be57600080fd5b506104ca600435610fc5565b60408051600160a060020a039092168252519081900360200190f35b3480156104f257600080fd5b506104ca610fed565b34801561050757600080fd5b506101a8600160a060020a0360043516610ffc565b34801561052857600080fd5b506101a8611042565b34801561053d57600080fd5b506101e861104d565b34801561055257600080fd5b506101a8600160a060020a036004351661ffff60243516611084565b34801561057a57600080fd5b506101bf600160a060020a03600435166024356112d1565b34801561059e57600080fd5b506102a8611326565b3480156105b357600080fd5b506101a861132c565b3480156105c857600080fd5b506101a8600160a060020a0360043581169060243516611335565b3480156105ef57600080fd5b506101bf600160a060020a0360043516602435611562565b34801561061357600080fd5b506102a8600160a060020a03600435811690602435166115fb565b34801561063a57600080fd5b506101a8600160a060020a0360043516611626565b34801561065b57600080fd5b506101a8600160a060020a0360043516611699565b34801561067c57600080fd5b506104ca6116bc565b34801561069157600080fd5b506101bf600160a060020a03600435166116cb565b3480156106b257600080fd5b506101a86116e0565b60035460a060020a900460ff1681565b60408051808201909152601b81527f4e6575726f6e65206279204e6575726f6e65636f696e20436f72650000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600a60209081526000928352604080842090915290825290205481565b6001545b90565b600454600160a060020a031633146107a457600080fd5b60035460a060020a900460ff16156107bb57600080fd5b600160a060020a03821615156107d057600080fd5b600081116107dd57600080fd5b600160a060020a0382166000908152602081905260409020541561080057600080fd5b604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a038416600482015260248101839052905130916340c10f199160448083019260209291908290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50505050565b600080600160a060020a0385811690851614156108b457600080fd5b50600160a060020a0384166000908152602081905260409020546108d9858585611776565b15156108e457600080fd5b6108f0858585846118eb565b506001949350505050565b600160a060020a0381166000908152602081905260408120548190811061092157600080fd5b6005546109369030319063ffffffff611abb16565b600160a060020a0384166000908152600660209081526040808320546001549284905292205492945061099192610985919061097990879063ffffffff611ac816565b9063ffffffff611af116565b9063ffffffff611b0616565b905080151561099f57600080fd5b30318111156109ad57600080fd5b600160a060020a0383166000908152600660205260409020546109d6908263ffffffff611abb16565b600160a060020a038416600090815260066020526040902055600554610a02908263ffffffff611abb16565b600555604051600160a060020a0384169082156108fc029083906000818181858888f19350505050158015610892573d6000803e3d6000fd5b600081565b600454600160a060020a03163314610a5757600080fd5b600160a060020a0381161515610a6c57600080fd5b600160a060020a03811660009081526008602052604090205460ff1615610a9257600080fd5b6007805460018181019092557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018054600160a060020a0390931673ffffffffffffffffffffffffffffffffffffffff1990931683179055600091825260086020526040909120805460ff19169091179055565b600354600090600160a060020a03163314610b2057600080fd5b60035460a060020a900460ff1615610b3757600080fd5b600154610b4a908363ffffffff611abb16565b600155600160a060020a038316600090815260208190526040902054610b76908363ffffffff611abb16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b600454600090600160a060020a03163314610c2a57600080fd5b838214610c3657600080fd5b60008411610c4357600080fd5b5060005b83811015610c9057610c88858583818110610c5e57fe5b90506020020135600160a060020a03168484848181101515610c7c57fe5b9050602002013561078d565b600101610c47565b5050505050565b600160a060020a03821660008181526009602090815260408083205481517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291519394879486948594610d4a9493926370a082319260248084019391929182900301818987803b158015610d1257600080fd5b505af1158015610d26573d6000803e3d6000fd5b505050506040513d6020811015610d3c57600080fd5b50519063ffffffff611abb16565b600160a060020a038085166000908152600a60209081526040808320938a16835292815282822054600154918390529290912054929450610d9b92610985919061097990879063ffffffff611ac816565b9695505050505050565b60066020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e0b57336000908152600260209081526040808320600160a060020a0388168452909152812055610e40565b610e1b818463ffffffff611b0616565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610ed857600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610f4957600080fd5b60035460a060020a900460ff1615610f6057600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b60096020526000908152604090205481565b6007805482908110610fd357fe5b600091825260209091200154600160a060020a0316905081565b600354600160a060020a031681565b600454600160a060020a0316331461101357600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b61104b33611626565b565b60408051808201909152600381527f4f4e450000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a0316331461109b57600080fd5b600160a060020a03821660009081526008602052604090205460ff1615156110c257600080fd5b81600160a060020a031660078261ffff168154811015156110df57fe5b600091825260209091200154600160a060020a0316146110fe57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a0384169163a9059cbb91859184916370a08231916024808201926020929091908290030181600087803b15801561116a57600080fd5b505af115801561117e573d6000803e3d6000fd5b505050506040513d602081101561119457600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156111e357600080fd5b505af11580156111f7573d6000803e3d6000fd5b505050506040513d602081101561120d57600080fd5b505060078054600019810190811061122157fe5b60009182526020909120015460078054600160a060020a039092169161ffff841690811061124b57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560078054600019810190811061129357fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916905560078054906112cc906000198301611c75565b505050565b60008033600160a060020a03851614156112ea57600080fd5b50336000908152602081905260409020546113058484611b18565b151561131057600080fd5b61131c338585846118eb565b5060019392505050565b60055481565b61104b336108fb565b600160a060020a0381166000908152602081905260408120548190811061135b57600080fd5b600160a060020a03841660009081526008602052604090205460ff16151561138257600080fd5b61138c8484610c97565b915081151561139a57610892565b50604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905184918391600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b5051101561143757600080fd5b600160a060020a038082166000908152600a602090815260408083209387168352929052205461146d908363ffffffff611abb16565b600160a060020a038083166000818152600a6020908152604080832094891683529381528382209490945590815260099092529020546114b3908363ffffffff611abb16565b600160a060020a0380831660008181526009602090815260408083209590955584517fa9059cbb0000000000000000000000000000000000000000000000000000000081529388166004850152602484018790529351919363a9059cbb936044808201949293918390030190829087803b15801561153057600080fd5b505af1158015611544573d6000803e3d6000fd5b505050506040513d602081101561155a57600080fd5b505050505050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611596908363ffffffff611abb16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a038116600090815260208190526040812054811061164a57600080fd5b5060005b60075461ffff821610156116955761168d60078261ffff1681548110151561167257fe5b600091825260209091200154600160a060020a031683611335565b60010161164e565b5050565b600354600160a060020a031633146116b057600080fd5b6116b981611bf7565b50565b600454600160a060020a031681565b60086020526000908152604090205460ff1681565b600454600160a060020a031633146116f757600080fd5b60035460a060020a900460ff161561170e57600080fd5b30600160a060020a0316637d64bcb46040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b505050506040513d602081101561169557600080fd5b600160a060020a03831660009081526020819052604081205482111561179b57600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156117cb57600080fd5b600160a060020a03831615156117e057600080fd5b600160a060020a038416600090815260208190526040902054611809908363ffffffff611b0616565b600160a060020a03808616600090815260208190526040808220939093559085168152205461183e908363ffffffff611abb16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611880908363ffffffff611b0616565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a038416600090815260066020526040812054819081908190611920908690610979908963ffffffff611ac816565b600160a060020a03881660009081526006602052604090205490945061194c908563ffffffff611abb16565b600160a060020a0380891660009081526006602052604080822093909355908a1681522054611981908563ffffffff611b0616565b600160a060020a03891660009081526006602052604081209190915592505b60075461ffff84161015611ab1576007805461ffff85169081106119c057fe5b6000918252602080832090910154600160a060020a03908116808452600a83526040808520928d1685529190925290912054909250611a0b908690610979908963ffffffff611ac816565b600160a060020a038084166000908152600a60209081526040808320938c1683529290522054909150611a44908263ffffffff611abb16565b600160a060020a038381166000908152600a602090815260408083208c8516845290915280822093909355908a1681522054611a809082611b06565b600160a060020a038084166000908152600a60209081526040808320938d16835292905220556001909201916119a0565b5050505050505050565b8181018281101561076357fe5b6000821515611ad957506000610763565b50818102818382811515611ae957fe5b041461076357fe5b60008183811515611afe57fe5b049392505050565b600082821115611b1257fe5b50900390565b33600090815260208190526040812054821115611b3457600080fd5b600160a060020a0383161515611b4957600080fd5b33600090815260208190526040902054611b69908363ffffffff611b0616565b3360009081526020819052604080822092909255600160a060020a03851681522054611b9b908363ffffffff611abb16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a0381161515611c0c57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b8154818355818111156112cc576000838152602090206112cc91810190830161078a91905b80821115611cae5760008155600101611c9a565b50905600a165627a7a723058205e9fea0078d8e71b4fbc7d11f7f11242f1df063429d8131c6126ff981c52c3ab0029
Swarm Source
bzzr://5e9fea0078d8e71b4fbc7d11f7f11242f1df063429d8131c6126ff981c52c3ab
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,666.81 | 0.006 | $16 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.