ERC-20
Bancor
Overview
Max Total Supply
27.855910878922799314 ETH
Holders
222 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.003044598716484641 ETHValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EtherToken
Compiler Version
v0.4.16+commit.d7661dd9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-10 */ pragma solidity ^0.4.11; /* Utilities & Common Modifiers */ contract Utils { /** constructor */ function Utils() { } // verifies that an amount is greater than zero modifier greaterThanZero(uint256 _amount) { require(_amount > 0); _; } // validates an address - currently only checks that it isn't null modifier validAddress(address _address) { require(_address != 0x0); _; } // verifies that the address is different than this contract address modifier notThis(address _address) { require(_address != address(this)); _; } // Overflow protected math functions /** @dev returns the sum of _x and _y, asserts if the calculation overflows @param _x value 1 @param _y value 2 @return sum */ function safeAdd(uint256 _x, uint256 _y) internal returns (uint256) { uint256 z = _x + _y; assert(z >= _x); return z; } /** @dev returns the difference of _x minus _y, asserts if the subtraction results in a negative number @param _x minuend @param _y subtrahend @return difference */ function safeSub(uint256 _x, uint256 _y) internal returns (uint256) { assert(_x >= _y); return _x - _y; } /** @dev returns the product of multiplying _x by _y, asserts if the calculation overflows @param _x factor 1 @param _y factor 2 @return product */ function safeMul(uint256 _x, uint256 _y) internal returns (uint256) { uint256 z = _x * _y; assert(_x == 0 || z / _x == _y); return z; } } /* Owned contract interface */ contract IOwned { // this function isn't abstract since the compiler emits automatically generated getter functions as external function owner() public constant returns (address owner) { owner; } function transferOwnership(address _newOwner) public; function acceptOwnership() public; } /* Provides support and utilities for contract ownership */ contract Owned is IOwned { address public owner; address public newOwner; event OwnerUpdate(address _prevOwner, address _newOwner); /** @dev constructor */ function Owned() { owner = msg.sender; } // allows execution by the owner only modifier ownerOnly { assert(msg.sender == owner); _; } /** @dev allows transferring the contract ownership the new owner still needs to accept the transfer can only be called by the contract owner @param _newOwner new contract owner */ function transferOwnership(address _newOwner) public ownerOnly { require(_newOwner != owner); newOwner = _newOwner; } /** @dev used by a new owner to accept an ownership transfer */ function acceptOwnership() public { require(msg.sender == newOwner); OwnerUpdate(owner, newOwner); owner = newOwner; newOwner = 0x0; } } /* Token Holder interface */ contract ITokenHolder is IOwned { function withdrawTokens(IERC20Token _token, address _to, uint256 _amount) public; } /* We consider every contract to be a 'token holder' since it's currently not possible for a contract to deny receiving tokens. The TokenHolder's contract sole purpose is to provide a safety mechanism that allows the owner to send tokens that were sent to the contract by mistake back to their sender. */ contract TokenHolder is ITokenHolder, Owned, Utils { /** @dev constructor */ function TokenHolder() { } /** @dev withdraws tokens held by the contract and sends them to an account can only be called by the owner @param _token ERC20 token contract address @param _to account to receive the new amount @param _amount amount to withdraw */ function withdrawTokens(IERC20Token _token, address _to, uint256 _amount) public ownerOnly validAddress(_token) validAddress(_to) notThis(_to) { assert(_token.transfer(_to, _amount)); } } /* ERC20 Standard Token interface */ contract IERC20Token { // these functions aren't abstract since the compiler emits automatically generated getter functions as external function name() public constant returns (string name) { name; } function symbol() public constant returns (string symbol) { symbol; } function decimals() public constant returns (uint8 decimals) { decimals; } function totalSupply() public constant returns (uint256 totalSupply) { totalSupply; } function balanceOf(address _owner) public constant returns (uint256 balance) { _owner; balance; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { _owner; _spender; remaining; } function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); } /** ERC20 Standard Token implementation */ contract ERC20Token is IERC20Token, Utils { string public standard = 'Token 0.1'; string public name = ''; string public symbol = ''; uint8 public decimals = 0; uint256 public totalSupply = 0; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); /** @dev constructor @param _name token name @param _symbol token symbol @param _decimals decimal points, for display purposes */ function ERC20Token(string _name, string _symbol, uint8 _decimals) { require(bytes(_name).length > 0 && bytes(_symbol).length > 0); // validate input name = _name; symbol = _symbol; decimals = _decimals; } /** @dev send coins throws on any error rather then return a false flag to minimize user errors @param _to target address @param _value transfer amount @return true if the transfer was successful, false if it wasn't */ function transfer(address _to, uint256 _value) public validAddress(_to) returns (bool success) { balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], _value); balanceOf[_to] = safeAdd(balanceOf[_to], _value); Transfer(msg.sender, _to, _value); return true; } /** @dev an account/contract attempts to get the coins throws on any error rather then return a false flag to minimize user errors @param _from source address @param _to target address @param _value transfer amount @return true if the transfer was successful, false if it wasn't */ function transferFrom(address _from, address _to, uint256 _value) public validAddress(_from) validAddress(_to) returns (bool success) { allowance[_from][msg.sender] = safeSub(allowance[_from][msg.sender], _value); balanceOf[_from] = safeSub(balanceOf[_from], _value); balanceOf[_to] = safeAdd(balanceOf[_to], _value); Transfer(_from, _to, _value); return true; } /** @dev allow another account/contract to spend some tokens on your behalf throws on any error rather then return a false flag to minimize user errors also, to minimize the risk of the approve/transferFrom attack vector (see https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/), approve has to be called twice in 2 separate transactions - once to change the allowance to 0 and secondly to change it to the new allowance value @param _spender approved address @param _value allowance amount @return true if the approval was successful, false if it wasn't */ function approve(address _spender, uint256 _value) public validAddress(_spender) returns (bool success) { // if the allowance isn't 0, it can only be updated to 0 to prevent an allowance change immediately after withdrawal require(_value == 0 || allowance[msg.sender][_spender] == 0); allowance[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } } /* Ether Token interface */ contract IEtherToken is ITokenHolder, IERC20Token { function deposit() public payable; function withdraw(uint256 _amount) public; function withdrawTo(address _to, uint256 _amount); } /** Ether tokenization contract 'Owned' is specified here for readability reasons */ contract EtherToken is IEtherToken, Owned, ERC20Token, TokenHolder { // triggered when the total supply is increased event Issuance(uint256 _amount); // triggered when the total supply is decreased event Destruction(uint256 _amount); /** @dev constructor */ function EtherToken() ERC20Token('Ether Token', 'ETH', 18) { } /** @dev deposit ether in the account */ function deposit() public payable { balanceOf[msg.sender] = safeAdd(balanceOf[msg.sender], msg.value); // add the value to the account balance totalSupply = safeAdd(totalSupply, msg.value); // increase the total supply Issuance(msg.value); Transfer(this, msg.sender, msg.value); } /** @dev withdraw ether from the account @param _amount amount of ether to withdraw */ function withdraw(uint256 _amount) public { withdrawTo(msg.sender, _amount); } /** @dev withdraw ether from the account to a target account @param _to account to receive the ether @param _amount amount of ether to withdraw */ function withdrawTo(address _to, uint256 _amount) public notThis(_to) { balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], _amount); // deduct the amount from the account balance totalSupply = safeSub(totalSupply, _amount); // decrease the total supply _to.transfer(_amount); // send the amount to the target account Transfer(msg.sender, this, _amount); Destruction(_amount); } // ERC20 standard method overrides with some extra protection /** @dev send coins throws on any error rather then return a false flag to minimize user errors @param _to target address @param _value transfer amount @return true if the transfer was successful, false if it wasn't */ function transfer(address _to, uint256 _value) public notThis(_to) returns (bool success) { assert(super.transfer(_to, _value)); return true; } /** @dev an account/contract attempts to get the coins throws on any error rather then return a false flag to minimize user errors @param _from source address @param _to target address @param _value transfer amount @return true if the transfer was successful, false if it wasn't */ function transferFrom(address _from, address _to, uint256 _value) public notThis(_to) returns (bool success) { assert(super.transferFrom(_from, _to, _value)); return true; } /** @dev deposit ether in the account */ function() public payable { deposit(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawTo","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","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"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Issuance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Destruction","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"},{"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":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]
Contract Creation Code
606060405260408051908101604052600981527f546f6b656e20302e310000000000000000000000000000000000000000000000602082015260029080516200004d929160200190620001a5565b50602060405190810160405260008152600390805162000072929160200190620001a5565b50602060405190810160405260008152600490805162000097929160200190620001a5565b506005805460ff1916905560006006553415620000b357600080fd5b5b5b604080519081016040908152600b82527f457468657220546f6b656e00000000000000000000000000000000000000000060208301528051908101604052600381527f4554480000000000000000000000000000000000000000000000000000000000602082015260125b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b6000835111801562000152575060008251115b15156200015e57600080fd5b600383805162000173929160200190620001a5565b50600482805162000189929160200190620001a5565b506005805460ff191660ff83161790555b5050505b5b6200024f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001e857805160ff191683800117855562000218565b8280016001018555821562000218579182015b8281111562000218578251825591602001919060010190620001fb565b5b50620002279291506200022b565b5090565b6200024c91905b8082111562000227576000815560010162000232565b5090565b90565b610ecb806200025f6000396000f300606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610105578063095ea7b31461019057806318160ddd146101c6578063205c2878146101eb57806323b872dd1461020f5780632e1a7d4d1461024b578063313ce567146102635780635a3b7e421461028c5780635e35359e1461031757806370a082311461034157806379ba5097146103725780638da5cb5b1461038757806395d89b41146103b6578063a9059cbb14610441578063d0e30db0146100f9578063d4ee1d9014610481578063dd62ed3e146104b0578063f2fde38b146104e7575b5b610102610508565b5b005b341561011057600080fd5b6101186105bf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019b57600080fd5b6101b2600160a060020a036004351660243561065d565b604051901515815260200160405180910390f35b34156101d157600080fd5b6101d961071d565b60405190815260200160405180910390f35b34156101f657600080fd5b610102600160a060020a0360043516602435610723565b005b341561021a57600080fd5b6101b2600160a060020a0360043581169060243516604435610831565b604051901515815260200160405180910390f35b341561025657600080fd5b610102600435610876565b005b341561026e57600080fd5b610276610884565b60405160ff909116815260200160405180910390f35b341561029757600080fd5b61011861088d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032257600080fd5b610102600160a060020a036004358116906024351660443561092b565b005b341561034c57600080fd5b6101d9600160a060020a0360043516610a37565b60405190815260200160405180910390f35b341561037d57600080fd5b610102610a49565b005b341561039257600080fd5b61039a610af1565b604051600160a060020a03909116815260200160405180910390f35b34156103c157600080fd5b610118610b00565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561044c57600080fd5b6101b2600160a060020a0360043516602435610b9e565b604051901515815260200160405180910390f35b610102610508565b005b341561048c57600080fd5b61039a610be1565b604051600160a060020a03909116815260200160405180910390f35b34156104bb57600080fd5b6101d9600160a060020a0360043581169060243516610bf0565b60405190815260200160405180910390f35b34156104f257600080fd5b610102600160a060020a0360043516610c0d565b005b600160a060020a03331660009081526007602052604090205461052b9034610c6d565b600160a060020a0333166000908152600760205260409020556006546105519034610c6d565b6006557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc33460405190815260200160405180910390a133600160a060020a031630600160a060020a0316600080516020610e808339815191523460405190815260200160405180910390a35b565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b600082600160a060020a038116151561067557600080fd5b8215806106a55750600160a060020a03338116600090815260086020908152604080832093881683529290522054155b15156106b057600080fd5b600160a060020a03338116600081815260086020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5b5092915050565b60065481565b8130600160a060020a031681600160a060020a03161415151561074557600080fd5b600160a060020a0333166000908152600760205260409020546107689083610c87565b600160a060020a03331660009081526007602052604090205560065461078e9083610c87565b600655600160a060020a03831682156108fc0283604051600060405180830381858888f1935050505015156107c257600080fd5b30600160a060020a031633600160a060020a0316600080516020610e808339815191528460405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538260405190815260200160405180910390a15b5b505050565b60008230600160a060020a031681600160a060020a03161415151561085557600080fd5b610860858585610c9e565b151561086857fe5b600191505b5b509392505050565b6108803382610723565b5b50565b60055460ff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b60005433600160a060020a0390811691161461094357fe5b82600160a060020a038116151561095957600080fd5b82600160a060020a038116151561096f57600080fd5b8330600160a060020a031681600160a060020a03161415151561099157600080fd5b85600160a060020a031663a9059cbb86866000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a0757600080fd5b6102c65a03f11515610a1857600080fd5b505050604051805190501515610a2a57fe5b5b5b505b505b505b505050565b60076020526000908152604090205481565b60015433600160a060020a03908116911614610a6457600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a038416179091551690555b565b600054600160a060020a031681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b60008230600160a060020a031681600160a060020a031614151515610bc257600080fd5b610bcc8484610dc2565b1515610bd457fe5b600191505b5b5092915050565b600154600160a060020a031681565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610c2557fe5b600054600160a060020a0382811691161415610c4057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600082820183811015610c7c57fe5b8091505b5092915050565b600081831015610c9357fe5b508082035b92915050565b600083600160a060020a0381161515610cb657600080fd5b83600160a060020a0381161515610ccc57600080fd5b600160a060020a0380871660009081526008602090815260408083203390941683529290522054610cfd9085610c87565b600160a060020a038088166000818152600860209081526040808320339095168352938152838220949094559081526007909252902054610d3e9085610c87565b600160a060020a038088166000908152600760205260408082209390935590871681522054610d6d9085610c6d565b600160a060020a0380871660008181526007602052604090819020939093559190881690600080516020610e808339815191529087905190815260200160405180910390a3600192505b5b505b509392505050565b600082600160a060020a0381161515610dda57600080fd5b600160a060020a033316600090815260076020526040902054610dfd9084610c87565b600160a060020a033381166000908152600760205260408082209390935590861681522054610e2c9084610c6d565b600160a060020a038086166000818152600760205260409081902093909355913390911690600080516020610e808339815191529086905190815260200160405180910390a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582051bdb7e5dfd46b1d719fbc0fc4ee0e2579654c20688c081ac7940e632f09b4760029
Deployed Bytecode
0x606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610105578063095ea7b31461019057806318160ddd146101c6578063205c2878146101eb57806323b872dd1461020f5780632e1a7d4d1461024b578063313ce567146102635780635a3b7e421461028c5780635e35359e1461031757806370a082311461034157806379ba5097146103725780638da5cb5b1461038757806395d89b41146103b6578063a9059cbb14610441578063d0e30db0146100f9578063d4ee1d9014610481578063dd62ed3e146104b0578063f2fde38b146104e7575b5b610102610508565b5b005b341561011057600080fd5b6101186105bf565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019b57600080fd5b6101b2600160a060020a036004351660243561065d565b604051901515815260200160405180910390f35b34156101d157600080fd5b6101d961071d565b60405190815260200160405180910390f35b34156101f657600080fd5b610102600160a060020a0360043516602435610723565b005b341561021a57600080fd5b6101b2600160a060020a0360043581169060243516604435610831565b604051901515815260200160405180910390f35b341561025657600080fd5b610102600435610876565b005b341561026e57600080fd5b610276610884565b60405160ff909116815260200160405180910390f35b341561029757600080fd5b61011861088d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032257600080fd5b610102600160a060020a036004358116906024351660443561092b565b005b341561034c57600080fd5b6101d9600160a060020a0360043516610a37565b60405190815260200160405180910390f35b341561037d57600080fd5b610102610a49565b005b341561039257600080fd5b61039a610af1565b604051600160a060020a03909116815260200160405180910390f35b34156103c157600080fd5b610118610b00565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101555780820151818401525b60200161013c565b50505050905090810190601f1680156101825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561044c57600080fd5b6101b2600160a060020a0360043516602435610b9e565b604051901515815260200160405180910390f35b610102610508565b005b341561048c57600080fd5b61039a610be1565b604051600160a060020a03909116815260200160405180910390f35b34156104bb57600080fd5b6101d9600160a060020a0360043581169060243516610bf0565b60405190815260200160405180910390f35b34156104f257600080fd5b610102600160a060020a0360043516610c0d565b005b600160a060020a03331660009081526007602052604090205461052b9034610c6d565b600160a060020a0333166000908152600760205260409020556006546105519034610c6d565b6006557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc33460405190815260200160405180910390a133600160a060020a031630600160a060020a0316600080516020610e808339815191523460405190815260200160405180910390a35b565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b600082600160a060020a038116151561067557600080fd5b8215806106a55750600160a060020a03338116600090815260086020908152604080832093881683529290522054155b15156106b057600080fd5b600160a060020a03338116600081815260086020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5b5092915050565b60065481565b8130600160a060020a031681600160a060020a03161415151561074557600080fd5b600160a060020a0333166000908152600760205260409020546107689083610c87565b600160a060020a03331660009081526007602052604090205560065461078e9083610c87565b600655600160a060020a03831682156108fc0283604051600060405180830381858888f1935050505015156107c257600080fd5b30600160a060020a031633600160a060020a0316600080516020610e808339815191528460405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538260405190815260200160405180910390a15b5b505050565b60008230600160a060020a031681600160a060020a03161415151561085557600080fd5b610860858585610c9e565b151561086857fe5b600191505b5b509392505050565b6108803382610723565b5b50565b60055460ff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b60005433600160a060020a0390811691161461094357fe5b82600160a060020a038116151561095957600080fd5b82600160a060020a038116151561096f57600080fd5b8330600160a060020a031681600160a060020a03161415151561099157600080fd5b85600160a060020a031663a9059cbb86866000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a0757600080fd5b6102c65a03f11515610a1857600080fd5b505050604051805190501515610a2a57fe5b5b5b505b505b505b505050565b60076020526000908152604090205481565b60015433600160a060020a03908116911614610a6457600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a038416179091551690555b565b600054600160a060020a031681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106555780601f1061062a57610100808354040283529160200191610655565b820191906000526020600020905b81548152906001019060200180831161063857829003601f168201915b505050505081565b60008230600160a060020a031681600160a060020a031614151515610bc257600080fd5b610bcc8484610dc2565b1515610bd457fe5b600191505b5b5092915050565b600154600160a060020a031681565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a03908116911614610c2557fe5b600054600160a060020a0382811691161415610c4057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600082820183811015610c7c57fe5b8091505b5092915050565b600081831015610c9357fe5b508082035b92915050565b600083600160a060020a0381161515610cb657600080fd5b83600160a060020a0381161515610ccc57600080fd5b600160a060020a0380871660009081526008602090815260408083203390941683529290522054610cfd9085610c87565b600160a060020a038088166000818152600860209081526040808320339095168352938152838220949094559081526007909252902054610d3e9085610c87565b600160a060020a038088166000908152600760205260408082209390935590871681522054610d6d9085610c6d565b600160a060020a0380871660008181526007602052604090819020939093559190881690600080516020610e808339815191529087905190815260200160405180910390a3600192505b5b505b509392505050565b600082600160a060020a0381161515610dda57600080fd5b600160a060020a033316600090815260076020526040902054610dfd9084610c87565b600160a060020a033381166000908152600760205260408082209390935590861681522054610e2c9084610c6d565b600160a060020a038086166000818152600760205260409081902093909355913390911690600080516020610e808339815191529086905190815260200160405180910390a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582051bdb7e5dfd46b1d719fbc0fc4ee0e2579654c20688c081ac7940e632f09b4760029
Swarm Source
bzzr://51bdb7e5dfd46b1d719fbc0fc4ee0e2579654c20688c081ac7940e632f09b476
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.