ETH Price: $2,508.79 (-4.83%)

Token

Ether Token (ETH)
 

Overview

Max Total Supply

107.701676227902966279 ETH

Holders

298 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 ETH

Value
$0.00
0x9198b31696ae620fb766977581c9c829b03921da
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EtherToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-06-22
*/

pragma solidity ^0.4.11;

/*
    Overflow protected math functions
*/
contract SafeMath {
    /**
        constructor
    */
    function SafeMath() {
    }

    /**
        @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 need 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;
    }
}

/*
    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, SafeMath {
    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;
    }

    // validates an address - currently only checks that it isn't null
    modifier validAddress(address _address) {
        require(_address != 0x0);
        _;
    }

    /**
        @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;
    }
}

/*
    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 {
    /**
        @dev constructor
    */
    function TokenHolder() {
    }

    // 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));
        _;
    }

    /**
        @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));
    }
}

/*
    Ether Token interface
*/
contract IEtherToken is ITokenHolder, IERC20Token {
    function deposit() public payable;
    function withdraw(uint256 _amount) public;
}

/**
    Ether tokenization contract

    'Owned' is specified here for readability reasons
*/
contract EtherToken is IEtherToken, ERC20Token, Owned, 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 {
        balanceOf[msg.sender] = safeSub(balanceOf[msg.sender], _amount); // deduct the amount from the account balance
        totalSupply = safeSub(totalSupply, _amount); // decrease the total supply
        assert(msg.sender.send(_amount)); // send the amount

        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
        returns (bool success)
    {
        require(_to != address(this));
        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
        returns (bool success)
    {
        require(_to != address(this));
        assert(super.transferFrom(_from, _to, _value));
        return true;
    }

    /**
        @dev deposit ether in the account
    */
    function() public payable {
        deposit();
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"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":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","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"}]

60a0604052600960608190527f546f6b656e20302e310000000000000000000000000000000000000000000000608090815262000040916000919062000194565b50604080516020810191829052600090819052620000619160019162000194565b50604080516020810191829052600090819052620000829160029162000194565b506003805460ff19169055600060045534156200009b57fe5b5b5b5b604060405190810160405280600b81526020017f457468657220546f6b656e000000000000000000000000000000000000000000815250604060405190810160405280600381526020017f455448000000000000000000000000000000000000000000000000000000000081525060125b5b5b6000835111801562000124575060008251115b1515620001315760006000fd5b82516200014690600190602086019062000194565b5081516200015c90600290602085019062000194565b506003805460ff191660ff83161790555b505060078054600160a060020a03191633600160a060020a0316179055505b5b5b6200023e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d757805160ff191683800117855562000207565b8280016001018555821562000207579182015b8281111562000207578251825591602001919060010190620001ea565b5b50620002169291506200021a565b5090565b6200023b91905b8082111562000216576000815560010162000221565b5090565b90565b610e21806200024e6000396000f300606060405236156100ee5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ff578063095ea7b31461018f57806318160ddd146101c257806323b872dd146101e45780632e1a7d4d1461021d578063313ce567146102325780635a3b7e42146102585780635e35359e146102e857806370a082311461030f57806379ba50971461033d5780638da5cb5b1461034f57806395d89b411461037b578063a9059cbb1461040b578063d0e30db01461043e578063d4ee1d9014610448578063dd62ed3e14610474578063f2fde38b146104a8575b6100fd5b6100fa6104c6565b5b565b005b341561010757fe5b61010f610581565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019757fe5b6101ae600160a060020a036004351660243561060e565b604080519115158252519081900360200190f35b34156101ca57fe5b6101d26106cd565b60408051918252519081900360200190f35b34156101ec57fe5b6101ae600160a060020a03600435811690602435166044356106d3565b604080519115158252519081900360200190f35b341561022557fe5b6100fd600435610715565b005b341561023a57fe5b6102426107fe565b6040805160ff9092168252519081900360200190f35b341561026057fe5b61010f610807565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f057fe5b6100fd600160a060020a0360043581169060243516604435610895565b005b341561031757fe5b6101d2600160a060020a03600435166109aa565b60408051918252519081900360200190f35b341561034557fe5b6100fd6109bc565b005b341561035757fe5b61035f610a59565b60408051600160a060020a039092168252519081900360200190f35b341561038357fe5b61010f610a68565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041357fe5b6101ae600160a060020a0360043516602435610af3565b604080519115158252519081900360200190f35b6100fd6104c6565b005b341561045057fe5b61035f610b33565b60408051600160a060020a039092168252519081900360200190f35b341561047c57fe5b6101d2600160a060020a0360043581169060243516610b42565b60408051918252519081900360200190f35b34156104b057fe5b6100fd600160a060020a0360043516610b5f565b005b600160a060020a0333166000908152600560205260409020546104e99034610bc0565b600160a060020a03331660009081526005602052604090205560045461050f9034610bc0565b6004556040805134815290517f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc39181900360200190a133600160a060020a031630600160a060020a0316600080516020610dd6833981519152346040518082815260200191505060405180910390a35b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b600082600160a060020a03811615156106275760006000fd5b8215806106575750600160a060020a03338116600090815260066020908152604080832093881683529290522054155b15156106635760006000fd5b600160a060020a03338116600081815260066020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60045481565b600030600160a060020a031683600160a060020a0316141515156106f75760006000fd5b610702848484610bda565b151561070a57fe5b5060015b9392505050565b600160a060020a0333166000908152600560205260409020546107389082610d00565b600160a060020a03331660009081526005602052604090205560045461075e9082610d00565b600455604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561078e57fe5b30600160a060020a031633600160a060020a0316600080516020610dd6833981519152836040518082815260200191505060405180910390a36040805182815290517f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34539181900360200190a15b50565b60035460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b60075433600160a060020a039081169116146108ad57fe5b82600160a060020a03811615156108c45760006000fd5b82600160a060020a03811615156108db5760006000fd5b8330600160a060020a031681600160a060020a0316141515156108fe5760006000fd5b85600160a060020a031663a9059cbb86866000604051602001526040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b151561097f57fe5b6102c65a03f1151561098d57fe5b5050604051511515905061099d57fe5b5b5b505b505b505b505050565b60056020526000908152604090205481565b60085433600160a060020a039081169116146109d85760006000fd5b60075460085460408051600160a060020a03938416815292909116602083015280517f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a9281900390910190a1600880546007805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a038416179091551690555b565b600754600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b600030600160a060020a031683600160a060020a031614151515610b175760006000fd5b610b218383610d17565b1515610b2957fe5b5060015b92915050565b600854600160a060020a031681565b600660209081526000928352604080842090915290825290205481565b60075433600160a060020a03908116911614610b7757fe5b600754600160a060020a0382811691161415610b935760006000fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600082820183811015610bcf57fe5b8091505b5092915050565b600083600160a060020a0381161515610bf35760006000fd5b83600160a060020a0381161515610c0a5760006000fd5b600160a060020a0380871660009081526006602090815260408083203390941683529290522054610c3b9085610d00565b600160a060020a038088166000818152600660209081526040808320339095168352938152838220949094559081526005909252902054610c7c9085610d00565b600160a060020a038088166000908152600560205260408082209390935590871681522054610cab9085610bc0565b600160a060020a0380871660008181526005602090815260409182902094909455805188815290519193928a1692600080516020610dd683398151915292918290030190a3600192505b5b505b509392505050565b600081831015610d0c57fe5b508082035b92915050565b600082600160a060020a0381161515610d305760006000fd5b600160a060020a033316600090815260056020526040902054610d539084610d00565b600160a060020a033381166000908152600560205260408082209390935590861681522054610d829084610bc0565b600160a060020a03808616600081815260056020908152604091829020949094558051878152905191933390931692600080516020610dd683398151915292918290030190a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c6bb71c0f2953c0966a6d1937f12a6b2d5e08bafdab7cb5f58ac7a2f31fbc36c0029

Deployed Bytecode

0x606060405236156100ee5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100ff578063095ea7b31461018f57806318160ddd146101c257806323b872dd146101e45780632e1a7d4d1461021d578063313ce567146102325780635a3b7e42146102585780635e35359e146102e857806370a082311461030f57806379ba50971461033d5780638da5cb5b1461034f57806395d89b411461037b578063a9059cbb1461040b578063d0e30db01461043e578063d4ee1d9014610448578063dd62ed3e14610474578063f2fde38b146104a8575b6100fd5b6100fa6104c6565b5b565b005b341561010757fe5b61010f610581565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019757fe5b6101ae600160a060020a036004351660243561060e565b604080519115158252519081900360200190f35b34156101ca57fe5b6101d26106cd565b60408051918252519081900360200190f35b34156101ec57fe5b6101ae600160a060020a03600435811690602435166044356106d3565b604080519115158252519081900360200190f35b341561022557fe5b6100fd600435610715565b005b341561023a57fe5b6102426107fe565b6040805160ff9092168252519081900360200190f35b341561026057fe5b61010f610807565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f057fe5b6100fd600160a060020a0360043581169060243516604435610895565b005b341561031757fe5b6101d2600160a060020a03600435166109aa565b60408051918252519081900360200190f35b341561034557fe5b6100fd6109bc565b005b341561035757fe5b61035f610a59565b60408051600160a060020a039092168252519081900360200190f35b341561038357fe5b61010f610a68565b604080516020808252835181830152835191928392908301918501908083838215610155575b80518252602083111561015557601f199092019160209182019101610135565b505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041357fe5b6101ae600160a060020a0360043516602435610af3565b604080519115158252519081900360200190f35b6100fd6104c6565b005b341561045057fe5b61035f610b33565b60408051600160a060020a039092168252519081900360200190f35b341561047c57fe5b6101d2600160a060020a0360043581169060243516610b42565b60408051918252519081900360200190f35b34156104b057fe5b6100fd600160a060020a0360043516610b5f565b005b600160a060020a0333166000908152600560205260409020546104e99034610bc0565b600160a060020a03331660009081526005602052604090205560045461050f9034610bc0565b6004556040805134815290517f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc39181900360200190a133600160a060020a031630600160a060020a0316600080516020610dd6833981519152346040518082815260200191505060405180910390a35b565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b600082600160a060020a03811615156106275760006000fd5b8215806106575750600160a060020a03338116600090815260066020908152604080832093881683529290522054155b15156106635760006000fd5b600160a060020a03338116600081815260066020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60045481565b600030600160a060020a031683600160a060020a0316141515156106f75760006000fd5b610702848484610bda565b151561070a57fe5b5060015b9392505050565b600160a060020a0333166000908152600560205260409020546107389082610d00565b600160a060020a03331660009081526005602052604090205560045461075e9082610d00565b600455604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561078e57fe5b30600160a060020a031633600160a060020a0316600080516020610dd6833981519152836040518082815260200191505060405180910390a36040805182815290517f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34539181900360200190a15b50565b60035460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b60075433600160a060020a039081169116146108ad57fe5b82600160a060020a03811615156108c45760006000fd5b82600160a060020a03811615156108db5760006000fd5b8330600160a060020a031681600160a060020a0316141515156108fe5760006000fd5b85600160a060020a031663a9059cbb86866000604051602001526040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b151561097f57fe5b6102c65a03f1151561098d57fe5b5050604051511515905061099d57fe5b5b5b505b505b505b505050565b60056020526000908152604090205481565b60085433600160a060020a039081169116146109d85760006000fd5b60075460085460408051600160a060020a03938416815292909116602083015280517f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a9281900390910190a1600880546007805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a038416179091551690555b565b600754600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b600030600160a060020a031683600160a060020a031614151515610b175760006000fd5b610b218383610d17565b1515610b2957fe5b5060015b92915050565b600854600160a060020a031681565b600660209081526000928352604080842090915290825290205481565b60075433600160a060020a03908116911614610b7757fe5b600754600160a060020a0382811691161415610b935760006000fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600082820183811015610bcf57fe5b8091505b5092915050565b600083600160a060020a0381161515610bf35760006000fd5b83600160a060020a0381161515610c0a5760006000fd5b600160a060020a0380871660009081526006602090815260408083203390941683529290522054610c3b9085610d00565b600160a060020a038088166000818152600660209081526040808320339095168352938152838220949094559081526005909252902054610c7c9085610d00565b600160a060020a038088166000908152600560205260408082209390935590871681522054610cab9085610bc0565b600160a060020a0380871660008181526005602090815260409182902094909455805188815290519193928a1692600080516020610dd683398151915292918290030190a3600192505b5b505b509392505050565b600081831015610d0c57fe5b508082035b92915050565b600082600160a060020a0381161515610d305760006000fd5b600160a060020a033316600090815260056020526040902054610d539084610d00565b600160a060020a033381166000908152600560205260408082209390935590861681522054610d829084610bc0565b600160a060020a03808616600081815260056020908152604091829020949094558051878152905191933390931692600080516020610dd683398151915292918290030190a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c6bb71c0f2953c0966a6d1937f12a6b2d5e08bafdab7cb5f58ac7a2f31fbc36c0029

Swarm Source

bzzr://c6bb71c0f2953c0966a6d1937f12a6b2d5e08bafdab7cb5f58ac7a2f31fbc36c
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.