Contract 0x2c4e8f2d746113d0696ce89b35f0d8bf88e0aeca

 

TxHash Block Age From To Value [TxFee]
0xd906fb151716edb352a1326659f920949b0a7d73d4e01786b2b5b7995a687c80(pending)34 secs ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN  0x2c4e8f2d746113d0696ce89b35f0d8bf88e0aeca0 Ether(Pending)
0xa8be375f8b2da0d8ae6d883467379df4d6fe7dbd6d82a66223becebb568e609672324242 mins agoHuobi_11  IN   SimpleToken0 Ether0.00104712
0x923bac5574985e872a8f2e9b73c4e8d3150edc65f06041bca632c914913cef8372324223 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00223752
0xa34e83b9caeb398198b1ef86edac0c59c786135ab0780a4303fb6a6f37d720b472324165 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00313368
0x4805f1f3e6fcbd802bcecb1d184eaa53df72847ae4cec94bebc1aa988183dab272324116 mins ago0xcbb98c8497621f54f1f7e375aeece56e5ae6b005  IN   SimpleToken0 Ether0.00074584
0x698f430bda5d14b389d1ed2ecb79e9d0a19ad686bd0f8c3b23b09d36ff843fd472324106 mins agoBittrex_1  IN   SimpleToken0 Ether0.0018646
0xc4d02b27b36674dcaa94381b59504f8a2df16bab68d2da03e4ac93bb3b92e7d272324086 mins agoHuobi_1  IN   SimpleToken0 Ether0.00074584
0x03ab48e6de2875881ecc534fac03b24f25f2db3461e2ab618888b51aa9a5e8d2723238315 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00224136
0x11162c65372c8c4621d590f8c0d732a3e3d4f368893b0e81634873cece1d9cc6723236120 mins agoBittrex_1  IN   SimpleToken0 Ether0.0026146
0x6cc07abbf253514fc52593de9cfbc5b3deb8b804caf20908f9df62ca6ba30a1f723233729 mins agoHuobi_1  IN   SimpleToken0 Ether0.00104584
0x0e42a2384fca7bda0afd32eeb903acd96f2ffae0261f77b7ecba36e91f2b81c0723229345 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.002278716
0x7e946028ef0e888c1c524997ed6e20708a6173f533063d9ecc251d467c66bfda723225356 mins ago0xcbb98c8497621f54f1f7e375aeece56e5ae6b005  IN   SimpleToken0 Ether0.00044584
0xb67870aaeead31c7ced973c0e52cca716ab015660794a5e6c962252ba6915e6572322271 hr 5 mins ago0xf0382d8a205fba60f53ba8a1c000521180dc5109  IN   SimpleToken0 Ether0.00044712
0xc89658ec3a21a0f3f7020ae08841abbec94ac0e3cd94660d5d11a1c5010ce44b72322271 hr 5 mins ago0x0c8a1a08734df7e8000e6233abf9f1bceb6ca7b0  IN   SimpleToken0 Ether0.00044584
0xddc8f2c4c5ce729d83a5b903348613b8046d52053a717b5ac8945153d64ebf0e72321891 hr 19 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00313752
0xb6a11e78f6a2d912c5b22edcda6a7f4337bd674cc7611e4215c9babe493a435e72321861 hr 22 mins agoHuobi_10  IN   SimpleToken0 Ether0.00074584
0xf4ad6c42992bfd8f95cc4b9eaa17a0565b2d3f15e2d7e0373e2e2225e66a15a472321841 hr 23 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00223368
0x68a59681e9c070b74736eac12d509e12ed0cae6e536b11f9ffbbf090d0e41a9072321711 hr 27 mins agoHuobi_4  IN   SimpleToken0 Ether0.00104584
0xdc150ff4b6c069a2b8dc668dea6eabc4b5fe940b7198b251b1ff5e2fe8b0fc4372321651 hr 30 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00313752
0xba45b8a796a1e7392489db47741ba160168899df72b8794956f2a396a0ec67ec72321641 hr 32 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00313368
0xb68cff8aca4a5715f34a2f1c131dc3133b7f3b6b3796423af6008634277923ef72321561 hr 35 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   SimpleToken0 Ether0.00313752
0xaffb1e3e2d2fe906f431deb98aa86dd3e35e4d2f543ffd7fc6a0ee64d561321172321551 hr 36 mins ago0xcf0697240463c242f2fa3e4101fab6f7d29b44fc  IN   SimpleToken0 Ether0.00044584
0x264c773893301539fbb7ba34317d4863be144ab60ff5da90c104a79135b5274872321511 hr 36 mins agoBinance_2  IN   SimpleToken0 Ether0.00149168
0xb470585b4f8584c8da3d8de2167c7c83e00507dd43d0f4696911100becd3e8b772321431 hr 38 mins ago0x79aef4c3a7d0ef899f04a96f40ace2cd477c2405  IN   SimpleToken0 Ether0.000149175458
0x8dd93a8d5a26bf72d7c37cab807d34c57bbbaa9f6769bf84623d835a491f2b0172321421 hr 38 mins agoBinance_1  IN   SimpleToken0 Ether0.00149168
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: SimpleToken
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.17;

// ----------------------------------------------------------------------------
// Simple Token Contract
//
// Copyright (c) 2017 OpenST Ltd.
// https://simpletoken.org/
//
// The MIT Licence.
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// SafeMath Library Implementation
//
// Copyright (c) 2017 OpenST Ltd.
// https://simpletoken.org/
//
// The MIT Licence.
//
// Based on the SafeMath library by the OpenZeppelin team.
// Copyright (c) 2016 Smart Contract Solutions, Inc.
// https://github.com/OpenZeppelin/zeppelin-solidity
// The MIT License.
// ----------------------------------------------------------------------------


library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;

        assert(a == 0 || c / a == b);

        return c;
    }


    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity automatically throws when dividing by 0
        uint256 c = a / b;

        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }


    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);

        return a - b;
    }


    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;

        assert(c >= a);

        return c;
    }
}

//
// Implements basic ownership with 2-step transfers.
//
contract Owned {

    address public owner;
    address public proposedOwner;

    event OwnershipTransferInitiated(address indexed _proposedOwner);
    event OwnershipTransferCompleted(address indexed _newOwner);


    function Owned() public {
        owner = msg.sender;
    }


    modifier onlyOwner() {
        require(isOwner(msg.sender));
        _;
    }


    function isOwner(address _address) internal view returns (bool) {
        return (_address == owner);
    }


    function initiateOwnershipTransfer(address _proposedOwner) public onlyOwner returns (bool) {
        proposedOwner = _proposedOwner;

        OwnershipTransferInitiated(_proposedOwner);

        return true;
    }


    function completeOwnershipTransfer() public returns (bool) {
        require(msg.sender == proposedOwner);

        owner = proposedOwner;
        proposedOwner = address(0);

        OwnershipTransferCompleted(owner);

        return true;
    }
}

contract SimpleTokenConfig {

    string  public constant TOKEN_SYMBOL   = "ST";
    string  public constant TOKEN_NAME     = "Simple Token";
    uint8   public constant TOKEN_DECIMALS = 18;

    uint256 public constant DECIMALSFACTOR = 10**uint256(TOKEN_DECIMALS);
    uint256 public constant TOKENS_MAX     = 800000000 * DECIMALSFACTOR;
}

contract ERC20Interface {

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function name() public view returns (string);
    function symbol() public view returns (string);
    function decimals() public view returns (uint8);
    function totalSupply() public view returns (uint256);

    function balanceOf(address _owner) public view returns (uint256 balance);
    function allowance(address _owner, address _spender) public view returns (uint256 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);
}

//
// Standard ERC20 implementation, with ownership.
//
contract ERC20Token is ERC20Interface, Owned {

    using SafeMath for uint256;

    string  private tokenName;
    string  private tokenSymbol;
    uint8   private tokenDecimals;
    uint256 internal tokenTotalSupply;

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;


    function ERC20Token(string _symbol, string _name, uint8 _decimals, uint256 _totalSupply) public
        Owned()
    {
        tokenSymbol      = _symbol;
        tokenName        = _name;
        tokenDecimals    = _decimals;
        tokenTotalSupply = _totalSupply;
        balances[owner]  = _totalSupply;

        // According to the ERC20 standard, a token contract which creates new tokens should trigger
        // a Transfer event and transfers of 0 values must also fire the event.
        Transfer(0x0, owner, _totalSupply);
    }


    function name() public view returns (string) {
        return tokenName;
    }


    function symbol() public view returns (string) {
        return tokenSymbol;
    }


    function decimals() public view returns (uint8) {
        return tokenDecimals;
    }


    function totalSupply() public view returns (uint256) {
        return tokenTotalSupply;
    }


    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }


    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }


    function transfer(address _to, uint256 _value) public returns (bool success) {
        // According to the EIP20 spec, "transfers of 0 values MUST be treated as normal
        // transfers and fire the Transfer event".
        // Also, should throw if not enough balance. This is taken care of by SafeMath.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(msg.sender, _to, _value);

        return true;
    }


    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(_from, _to, _value);

        return true;
    }


    function approve(address _spender, uint256 _value) public returns (bool success) {

        allowed[msg.sender][_spender] = _value;

        Approval(msg.sender, _spender, _value);

        return true;
    }

}



//
// Implements a more advanced ownership and permission model based on owner,
// admin and ops per Simple Token key management specification.
//
contract OpsManaged is Owned {

    address public opsAddress;
    address public adminAddress;

    event AdminAddressChanged(address indexed _newAddress);
    event OpsAddressChanged(address indexed _newAddress);


    function OpsManaged() public
        Owned()
    {
    }


    modifier onlyAdmin() {
        require(isAdmin(msg.sender));
        _;
    }


    modifier onlyAdminOrOps() {
        require(isAdmin(msg.sender) || isOps(msg.sender));
        _;
    }


    modifier onlyOwnerOrAdmin() {
        require(isOwner(msg.sender) || isAdmin(msg.sender));
        _;
    }


    modifier onlyOps() {
        require(isOps(msg.sender));
        _;
    }


    function isAdmin(address _address) internal view returns (bool) {
        return (adminAddress != address(0) && _address == adminAddress);
    }


    function isOps(address _address) internal view returns (bool) {
        return (opsAddress != address(0) && _address == opsAddress);
    }


    function isOwnerOrOps(address _address) internal view returns (bool) {
        return (isOwner(_address) || isOps(_address));
    }


    // Owner and Admin can change the admin address. Address can also be set to 0 to 'disable' it.
    function setAdminAddress(address _adminAddress) external onlyOwnerOrAdmin returns (bool) {
        require(_adminAddress != owner);
        require(_adminAddress != address(this));
        require(!isOps(_adminAddress));

        adminAddress = _adminAddress;

        AdminAddressChanged(_adminAddress);

        return true;
    }


    // Owner and Admin can change the operations address. Address can also be set to 0 to 'disable' it.
    function setOpsAddress(address _opsAddress) external onlyOwnerOrAdmin returns (bool) {
        require(_opsAddress != owner);
        require(_opsAddress != address(this));
        require(!isAdmin(_opsAddress));

        opsAddress = _opsAddress;

        OpsAddressChanged(_opsAddress);

        return true;
    }
}


//
// SimpleToken is a standard ERC20 token with some additional functionality:
// - It has a concept of finalize
// - Before finalize, nobody can transfer tokens except:
//     - Owner and operations can transfer tokens
//     - Anybody can send back tokens to owner
// - After finalize, no restrictions on token transfers
//

//
// Permissions, according to the ST key management specification.
//
//                                    Owner    Admin   Ops
// transfer (before finalize)           x               x
// transferForm (before finalize)       x               x
// finalize                                      x
//

contract SimpleToken is ERC20Token, OpsManaged, SimpleTokenConfig {

    bool public finalized;


    // Events
    event Burnt(address indexed _from, uint256 _amount);
    event Finalized();


    function SimpleToken() public
        ERC20Token(TOKEN_SYMBOL, TOKEN_NAME, TOKEN_DECIMALS, TOKENS_MAX)
        OpsManaged()
    {
        finalized = false;
    }


    // Implementation of the standard transfer method that takes into account the finalize flag.
    function transfer(address _to, uint256 _value) public returns (bool success) {
        checkTransferAllowed(msg.sender, _to);

        return super.transfer(_to, _value);
    }


    // Implementation of the standard transferFrom method that takes into account the finalize flag.
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        checkTransferAllowed(msg.sender, _to);

        return super.transferFrom(_from, _to, _value);
    }


    function checkTransferAllowed(address _sender, address _to) private view {
        if (finalized) {
            // Everybody should be ok to transfer once the token is finalized.
            return;
        }

        // Owner and Ops are allowed to transfer tokens before the sale is finalized.
        // This allows the tokens to move from the TokenSale contract to a beneficiary.
        // We also allow someone to send tokens back to the owner. This is useful among other
        // cases, for the Trustee to transfer unlocked tokens back to the owner (reclaimTokens).
        require(isOwnerOrOps(_sender) || _to == owner);
    }

    // Implement a burn function to permit msg.sender to reduce its balance
    // which also reduces tokenTotalSupply
    function burn(uint256 _value) public returns (bool success) {
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        tokenTotalSupply = tokenTotalSupply.sub(_value);

        Burnt(msg.sender, _value);

        return true;
    }


    // Finalize method marks the point where token transfers are finally allowed for everybody.
    function finalize() external onlyAdmin returns (bool success) {
        require(!finalized);

        finalized = true;

        Finalized();

        return true;
    }
}

Contract ABI
[{"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":true,"inputs":[],"name":"TOKEN_NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"TOKEN_SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_adminAddress","type":"address"}],"name":"setAdminAddress","outputs":[{"name":"","type":"bool"}],"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":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_opsAddress","type":"address"}],"name":"setOpsAddress","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":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"opsAddress","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":true,"inputs":[],"name":"TOKENS_MAX","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"completeOwnershipTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adminAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Burnt","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newAddress","type":"address"}],"name":"AdminAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newAddress","type":"address"}],"name":"OpsAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_proposedOwner","type":"address"}],"name":"OwnershipTransferInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnershipTransferCompleted","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"}]

Contract Creation Code
6060604052341561000f57600080fd5b604080519081016040908152600282527f535400000000000000000000000000000000000000000000000000000000000060208301528051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015260008054600160a060020a03191633600160a060020a031617905560126b0295be96e64066972000000060038480516100b492916020019061014f565b5060028380516100c892916020019061014f565b506004805460ff191660ff8416179055600581905560008054600160a060020a03908116825260066020526040808320849055825490911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a350506009805460a060020a60ff0219169055506101ea9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019057805160ff19168380011785556101bd565b828001600101855582156101bd579182015b828111156101bd5782518255916020019190600101906101a2565b506101c99291506101cd565b5090565b6101e791905b808211156101c957600081556001016101d3565b90565b610e4c806101f96000396000f3006060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020d578063188214001461023257806323b872dd146102455780632a9053181461026d5780632c1e816d14610280578063313ce5671461029f57806342966c68146102c85780634bb278f3146102de5780635b7f415c146102f1578063707789c51461030457806370a08231146103235780638bc04eb7146103425780638da5cb5b146103555780638ea643761461038457806395d89b4114610397578063a67e91a8146103aa578063a9059cbb146103bd578063b3f05b97146103df578063c0b6f561146103f2578063d153b60c14610411578063dd62ed3e14610424578063e71a781114610449578063fc6f94681461045c575b600080fd5b341561015857600080fd5b61016061046f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101f9600160a060020a0360043516602435610517565b604051901515815260200160405180910390f35b341561021857600080fd5b610220610583565b60405190815260200160405180910390f35b341561023d57600080fd5b610160610589565b341561025057600080fd5b6101f9600160a060020a03600435811690602435166044356105c0565b341561027857600080fd5b6101606105df565b341561028b57600080fd5b6101f9600160a060020a0360043516610616565b34156102aa57600080fd5b6102b26106e9565b60405160ff909116815260200160405180910390f35b34156102d357600080fd5b6101f96004356106f2565b34156102e957600080fd5b6101f96107b4565b34156102fc57600080fd5b6102b2610837565b341561030f57600080fd5b6101f9600160a060020a036004351661083c565b341561032e57600080fd5b610220600160a060020a036004351661090f565b341561034d57600080fd5b61022061092a565b341561036057600080fd5b610368610936565b604051600160a060020a03909116815260200160405180910390f35b341561038f57600080fd5b610368610945565b34156103a257600080fd5b610160610954565b34156103b557600080fd5b6102206109c7565b34156103c857600080fd5b6101f9600160a060020a03600435166024356109d7565b34156103ea57600080fd5b6101f96109f4565b34156103fd57600080fd5b6101f9600160a060020a0360043516610a04565b341561041c57600080fd5b610368610a79565b341561042f57600080fd5b610220600160a060020a0360043581169060243516610a88565b341561045457600080fd5b6101f9610ab3565b341561046757600080fd5b610368610b3a565b610477610e0e565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905090565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b60408051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015281565b60006105cc3384610b49565b6105d7848484610b90565b949350505050565b60408051908101604052600281527f5354000000000000000000000000000000000000000000000000000000000000602082015281565b600061062133610ca3565b80610630575061063033610cb7565b151561063b57600080fd5b600054600160a060020a038381169116141561065657600080fd5b30600160a060020a031682600160a060020a03161415151561067757600080fd5b61068082610ce7565b1561068a57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f17bb0532ac84902a52bb6799529153f5ea501fc54fbcf3ea00dbd42bceb6b0f460405160405180910390a2506001919050565b60045460ff1690565b600160a060020a03331660009081526006602052604081205482111561071757600080fd5b600160a060020a033316600090815260066020526040902054610740908363ffffffff610d1416565b600160a060020a03331660009081526006602052604090205560055461076c908363ffffffff610d1416565b600555600160a060020a0333167f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b18360405190815260200160405180910390a2506001919050565b60006107bf33610cb7565b15156107ca57600080fd5b60095460a060020a900460ff16156107e157600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b600061084733610ca3565b80610856575061085633610cb7565b151561086157600080fd5b600054600160a060020a038381169116141561087c57600080fd5b30600160a060020a031682600160a060020a03161415151561089d57600080fd5b6108a682610cb7565b156108b057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557fac46a4511b8366ae3b7cf3cf342e31556274975598dcae03c866f8f0f55d51c460405160405180910390a2506001919050565b600160a060020a031660009081526006602052604090205490565b670de0b6b3a764000081565b600054600160a060020a031681565b600854600160a060020a031681565b61095c610e0e565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b6b0295be96e64066972000000081565b60006109e33384610b49565b6109ed8383610d26565b9392505050565b60095460a060020a900460ff1681565b6000610a0f33610ca3565b1515610a1a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600154600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60015460009033600160a060020a03908116911614610ad157600080fd5b6001805460008054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff1992831617928390559216909255167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600954600160a060020a031681565b60095460a060020a900460ff1615610b6057610b8c565b610b6982610de5565b80610b815750600054600160a060020a038281169116145b1515610b8c57600080fd5b5050565b600160a060020a038316600090815260066020526040812054610bb9908363ffffffff610d1416565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610bfc908363ffffffff610d1416565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610c42908363ffffffff610dff16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600054600160a060020a0390811691161490565b600954600090600160a060020a031615801590610ce15750600954600160a060020a038381169116145b92915050565b600854600090600160a060020a031615801590610ce1575050600854600160a060020a0390811691161490565b600082821115610d2057fe5b50900390565b600160a060020a033316600090815260066020526040812054610d4f908363ffffffff610d1416565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d84908363ffffffff610dff16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000610df082610ca3565b80610ce15750610ce182610ce7565b6000828201838110156109ed57fe5b602060405190810160405260008152905600a165627a7a723058202834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d90029


   Swarm Source:
bzzr://2834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d9
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.