ETH Price: $3,097.46 (+4.33%)
Gas: 6 Gwei

Contract

0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA
 
Transaction Hash
Method
Block
From
To
Value
0x378fdcd5847415fbaafa5c72f57a62bd4eee03ce3f4599d95b767e1c722ef843Transfer(pending)2024-05-04 6:31:561 hr ago1714804316IN
Simple Token
0 ETH(Pending)(Pending)
Approve197952482024-05-04 7:28:1124 mins ago1714807691IN
Simple Token
0 ETH0.000217257.48246336
Transfer197952442024-05-04 7:27:2325 mins ago1714807643IN
Simple Token
0 ETH0.000316758.52868608
Approve197951992024-05-04 7:18:2334 mins ago1714807103IN
Simple Token
0 ETH0.000349477.53191552
Transfer197916962024-05-03 19:32:4712 hrs ago1714764767IN
Simple Token
0 ETH0.000258646.96626561
Transfer197667182024-04-30 7:44:594 days ago1714463099IN
Simple Token
0 ETH0.0005752210.61214193
Transfer197326062024-04-25 13:13:478 days ago1714050827IN
Simple Token
0 ETH0.0009167916.90626402
Transfer197326062024-04-25 13:13:478 days ago1714050827IN
Simple Token
0 ETH0.0006276916.90626402
Transfer197278462024-04-24 21:15:119 days ago1713993311IN
Simple Token
0 ETH0.0004035610.86595443
Approve197261242024-04-24 15:28:359 days ago1713972515IN
Simple Token
0 ETH0.0009743320.99900454
Transfer197260652024-04-24 15:16:479 days ago1713971807IN
Simple Token
0 ETH0.0011063920.40267755
Transfer197226842024-04-24 3:53:2310 days ago1713930803IN
Simple Token
0 ETH0.000547411.07473988
Transfer197208002024-04-23 21:33:1110 days ago1713907991IN
Simple Token
0 ETH0.0006815912.56352988
Approve197207982024-04-23 21:32:4710 days ago1713907967IN
Simple Token
0 ETH0.0008409518.12448298
Transfer197207972024-04-23 21:32:3510 days ago1713907955IN
Simple Token
0 ETH0.0005545714.93689562
Transfer197207972024-04-23 21:32:3510 days ago1713907955IN
Simple Token
0 ETH0.0008099914.93689562
Approve196951202024-04-20 7:24:3514 days ago1713597875IN
Simple Token
0 ETH0.000427869.27901882
Transfer196851082024-04-18 21:45:3515 days ago1713476735IN
Simple Token
0 ETH0.0004105311.0574155
Approve196825672024-04-18 13:13:3515 days ago1713446015IN
Simple Token
0 ETH0.0002889711.98328285
Transfer196547902024-04-14 15:53:1119 days ago1713109991IN
Simple Token
0 ETH0.0007759814.31280638
Transfer196223442024-04-10 2:47:2324 days ago1712717243IN
Simple Token
0 ETH0.0007239122.37628581
Approve196083842024-04-08 3:50:3526 days ago1712548235IN
Simple Token
0 ETH0.0002612610.0042491
Approve196080202024-04-08 2:36:5926 days ago1712543819IN
Simple Token
0 ETH0.000500410.79880151
Transfer196078942024-04-08 2:11:3526 days ago1712542295IN
Simple Token
0 ETH0.0005323514.33827373
Approve196076742024-04-08 1:26:5926 days ago1712539619IN
Simple Token
0 ETH0.000630313.58437668
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SimpleToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-11-12
*/

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 Security Audit

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"}]

6060604052341561000f57600080fd5b604080519081016040908152600282527f535400000000000000000000000000000000000000000000000000000000000060208301528051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015260008054600160a060020a03191633600160a060020a031617905560126b0295be96e64066972000000060038480516100b492916020019061014f565b5060028380516100c892916020019061014f565b506004805460ff191660ff8416179055600581905560008054600160a060020a03908116825260066020526040808320849055825490911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a350506009805460a060020a60ff0219169055506101ea9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019057805160ff19168380011785556101bd565b828001600101855582156101bd579182015b828111156101bd5782518255916020019190600101906101a2565b506101c99291506101cd565b5090565b6101e791905b808211156101c957600081556001016101d3565b90565b610e4c806101f96000396000f3006060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020d578063188214001461023257806323b872dd146102455780632a9053181461026d5780632c1e816d14610280578063313ce5671461029f57806342966c68146102c85780634bb278f3146102de5780635b7f415c146102f1578063707789c51461030457806370a08231146103235780638bc04eb7146103425780638da5cb5b146103555780638ea643761461038457806395d89b4114610397578063a67e91a8146103aa578063a9059cbb146103bd578063b3f05b97146103df578063c0b6f561146103f2578063d153b60c14610411578063dd62ed3e14610424578063e71a781114610449578063fc6f94681461045c575b600080fd5b341561015857600080fd5b61016061046f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101f9600160a060020a0360043516602435610517565b604051901515815260200160405180910390f35b341561021857600080fd5b610220610583565b60405190815260200160405180910390f35b341561023d57600080fd5b610160610589565b341561025057600080fd5b6101f9600160a060020a03600435811690602435166044356105c0565b341561027857600080fd5b6101606105df565b341561028b57600080fd5b6101f9600160a060020a0360043516610616565b34156102aa57600080fd5b6102b26106e9565b60405160ff909116815260200160405180910390f35b34156102d357600080fd5b6101f96004356106f2565b34156102e957600080fd5b6101f96107b4565b34156102fc57600080fd5b6102b2610837565b341561030f57600080fd5b6101f9600160a060020a036004351661083c565b341561032e57600080fd5b610220600160a060020a036004351661090f565b341561034d57600080fd5b61022061092a565b341561036057600080fd5b610368610936565b604051600160a060020a03909116815260200160405180910390f35b341561038f57600080fd5b610368610945565b34156103a257600080fd5b610160610954565b34156103b557600080fd5b6102206109c7565b34156103c857600080fd5b6101f9600160a060020a03600435166024356109d7565b34156103ea57600080fd5b6101f96109f4565b34156103fd57600080fd5b6101f9600160a060020a0360043516610a04565b341561041c57600080fd5b610368610a79565b341561042f57600080fd5b610220600160a060020a0360043581169060243516610a88565b341561045457600080fd5b6101f9610ab3565b341561046757600080fd5b610368610b3a565b610477610e0e565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905090565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b60408051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015281565b60006105cc3384610b49565b6105d7848484610b90565b949350505050565b60408051908101604052600281527f5354000000000000000000000000000000000000000000000000000000000000602082015281565b600061062133610ca3565b80610630575061063033610cb7565b151561063b57600080fd5b600054600160a060020a038381169116141561065657600080fd5b30600160a060020a031682600160a060020a03161415151561067757600080fd5b61068082610ce7565b1561068a57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f17bb0532ac84902a52bb6799529153f5ea501fc54fbcf3ea00dbd42bceb6b0f460405160405180910390a2506001919050565b60045460ff1690565b600160a060020a03331660009081526006602052604081205482111561071757600080fd5b600160a060020a033316600090815260066020526040902054610740908363ffffffff610d1416565b600160a060020a03331660009081526006602052604090205560055461076c908363ffffffff610d1416565b600555600160a060020a0333167f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b18360405190815260200160405180910390a2506001919050565b60006107bf33610cb7565b15156107ca57600080fd5b60095460a060020a900460ff16156107e157600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b600061084733610ca3565b80610856575061085633610cb7565b151561086157600080fd5b600054600160a060020a038381169116141561087c57600080fd5b30600160a060020a031682600160a060020a03161415151561089d57600080fd5b6108a682610cb7565b156108b057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557fac46a4511b8366ae3b7cf3cf342e31556274975598dcae03c866f8f0f55d51c460405160405180910390a2506001919050565b600160a060020a031660009081526006602052604090205490565b670de0b6b3a764000081565b600054600160a060020a031681565b600854600160a060020a031681565b61095c610e0e565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b6b0295be96e64066972000000081565b60006109e33384610b49565b6109ed8383610d26565b9392505050565b60095460a060020a900460ff1681565b6000610a0f33610ca3565b1515610a1a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600154600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60015460009033600160a060020a03908116911614610ad157600080fd5b6001805460008054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff1992831617928390559216909255167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600954600160a060020a031681565b60095460a060020a900460ff1615610b6057610b8c565b610b6982610de5565b80610b815750600054600160a060020a038281169116145b1515610b8c57600080fd5b5050565b600160a060020a038316600090815260066020526040812054610bb9908363ffffffff610d1416565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610bfc908363ffffffff610d1416565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610c42908363ffffffff610dff16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600054600160a060020a0390811691161490565b600954600090600160a060020a031615801590610ce15750600954600160a060020a038381169116145b92915050565b600854600090600160a060020a031615801590610ce1575050600854600160a060020a0390811691161490565b600082821115610d2057fe5b50900390565b600160a060020a033316600090815260066020526040812054610d4f908363ffffffff610d1416565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d84908363ffffffff610dff16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000610df082610ca3565b80610ce15750610ce182610ce7565b6000828201838110156109ed57fe5b602060405190810160405260008152905600a165627a7a723058202834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d90029

Deployed Bytecode

0x6060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020d578063188214001461023257806323b872dd146102455780632a9053181461026d5780632c1e816d14610280578063313ce5671461029f57806342966c68146102c85780634bb278f3146102de5780635b7f415c146102f1578063707789c51461030457806370a08231146103235780638bc04eb7146103425780638da5cb5b146103555780638ea643761461038457806395d89b4114610397578063a67e91a8146103aa578063a9059cbb146103bd578063b3f05b97146103df578063c0b6f561146103f2578063d153b60c14610411578063dd62ed3e14610424578063e71a781114610449578063fc6f94681461045c575b600080fd5b341561015857600080fd5b61016061046f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101f9600160a060020a0360043516602435610517565b604051901515815260200160405180910390f35b341561021857600080fd5b610220610583565b60405190815260200160405180910390f35b341561023d57600080fd5b610160610589565b341561025057600080fd5b6101f9600160a060020a03600435811690602435166044356105c0565b341561027857600080fd5b6101606105df565b341561028b57600080fd5b6101f9600160a060020a0360043516610616565b34156102aa57600080fd5b6102b26106e9565b60405160ff909116815260200160405180910390f35b34156102d357600080fd5b6101f96004356106f2565b34156102e957600080fd5b6101f96107b4565b34156102fc57600080fd5b6102b2610837565b341561030f57600080fd5b6101f9600160a060020a036004351661083c565b341561032e57600080fd5b610220600160a060020a036004351661090f565b341561034d57600080fd5b61022061092a565b341561036057600080fd5b610368610936565b604051600160a060020a03909116815260200160405180910390f35b341561038f57600080fd5b610368610945565b34156103a257600080fd5b610160610954565b34156103b557600080fd5b6102206109c7565b34156103c857600080fd5b6101f9600160a060020a03600435166024356109d7565b34156103ea57600080fd5b6101f96109f4565b34156103fd57600080fd5b6101f9600160a060020a0360043516610a04565b341561041c57600080fd5b610368610a79565b341561042f57600080fd5b610220600160a060020a0360043581169060243516610a88565b341561045457600080fd5b6101f9610ab3565b341561046757600080fd5b610368610b3a565b610477610e0e565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905090565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b60408051908101604052600c81527f53696d706c6520546f6b656e0000000000000000000000000000000000000000602082015281565b60006105cc3384610b49565b6105d7848484610b90565b949350505050565b60408051908101604052600281527f5354000000000000000000000000000000000000000000000000000000000000602082015281565b600061062133610ca3565b80610630575061063033610cb7565b151561063b57600080fd5b600054600160a060020a038381169116141561065657600080fd5b30600160a060020a031682600160a060020a03161415151561067757600080fd5b61068082610ce7565b1561068a57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f17bb0532ac84902a52bb6799529153f5ea501fc54fbcf3ea00dbd42bceb6b0f460405160405180910390a2506001919050565b60045460ff1690565b600160a060020a03331660009081526006602052604081205482111561071757600080fd5b600160a060020a033316600090815260066020526040902054610740908363ffffffff610d1416565b600160a060020a03331660009081526006602052604090205560055461076c908363ffffffff610d1416565b600555600160a060020a0333167f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b18360405190815260200160405180910390a2506001919050565b60006107bf33610cb7565b15156107ca57600080fd5b60095460a060020a900460ff16156107e157600080fd5b6009805474ff0000000000000000000000000000000000000000191660a060020a1790557f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a150600190565b601281565b600061084733610ca3565b80610856575061085633610cb7565b151561086157600080fd5b600054600160a060020a038381169116141561087c57600080fd5b30600160a060020a031682600160a060020a03161415151561089d57600080fd5b6108a682610cb7565b156108b057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557fac46a4511b8366ae3b7cf3cf342e31556274975598dcae03c866f8f0f55d51c460405160405180910390a2506001919050565b600160a060020a031660009081526006602052604090205490565b670de0b6b3a764000081565b600054600160a060020a031681565b600854600160a060020a031681565b61095c610e0e565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b6b0295be96e64066972000000081565b60006109e33384610b49565b6109ed8383610d26565b9392505050565b60095460a060020a900460ff1681565b6000610a0f33610ca3565b1515610a1a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091557f20f5afdf40bf7b43c89031a5d4369a30b159e512d164aa46124bcb706b4a1caf60405160405180910390a2506001919050565b600154600160a060020a031681565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60015460009033600160a060020a03908116911614610ad157600080fd5b6001805460008054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff1992831617928390559216909255167f624adc4c72536289dd9d5439ccdeccd8923cb9af95fb626b21935447c77b840760405160405180910390a250600190565b600954600160a060020a031681565b60095460a060020a900460ff1615610b6057610b8c565b610b6982610de5565b80610b815750600054600160a060020a038281169116145b1515610b8c57600080fd5b5050565b600160a060020a038316600090815260066020526040812054610bb9908363ffffffff610d1416565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610bfc908363ffffffff610d1416565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610c42908363ffffffff610dff16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600054600160a060020a0390811691161490565b600954600090600160a060020a031615801590610ce15750600954600160a060020a038381169116145b92915050565b600854600090600160a060020a031615801590610ce1575050600854600160a060020a0390811691161490565b600082821115610d2057fe5b50900390565b600160a060020a033316600090815260066020526040812054610d4f908363ffffffff610d1416565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d84908363ffffffff610dff16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000610df082610ca3565b80610ce15750610ce182610ce7565b6000828201838110156109ed57fe5b602060405190810160405260008152905600a165627a7a723058202834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d90029

Swarm Source

bzzr://2834b25310e165b028c7358691ec1bfc91fb5d3d4a55ea9b470bf23ac34d26d9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.