ETH Price: $3,648.43 (+1.92%)

Contract

0x2d9765a94FF22e0CA3AfC3E3F4B116dE2b67582a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer165590182023-02-05 0:32:23664 days ago1675557143IN
0x2d9765a9...E2b67582a
0 ETH0.0013795125.25390729
Transfer148825642022-06-01 3:28:05913 days ago1654054085IN
0x2d9765a9...E2b67582a
0 ETH0.0020727541.60984737
Transfer144902562022-03-30 22:40:34975 days ago1648680034IN
0x2d9765a9...E2b67582a
0 ETH0.0037909169.39760938
Transfer139468182022-01-05 17:35:571059 days ago1641404157IN
0x2d9765a9...E2b67582a
0 ETH0.00976595196.04849615
Transfer127707562021-07-06 0:36:431243 days ago1625531803IN
0x2d9765a9...E2b67582a
0 ETH0.0003199812
Transfer127707562021-07-06 0:36:431243 days ago1625531803IN
0x2d9765a9...E2b67582a
0 ETH0.0004753612
Approve120460532021-03-15 23:05:171355 days ago1615849517IN
0x2d9765a9...E2b67582a
0 ETH0.00855356193
Approve120460482021-03-15 23:04:121355 days ago1615849452IN
0x2d9765a9...E2b67582a
0 ETH0.00819901185
Transfer118723362021-02-17 5:13:281381 days ago1613538808IN
0x2d9765a9...E2b67582a
0 ETH0.00722277135
Transfer115944682021-01-05 12:24:331424 days ago1609849473IN
0x2d9765a9...E2b67582a
0 ETH0.00466164121
Approve114749282020-12-18 4:14:121442 days ago1608264852IN
0x2d9765a9...E2b67582a
0 ETH0.0024375455
Approve113082572020-11-22 13:28:001468 days ago1606051680IN
0x2d9765a9...E2b67582a
0 ETH0.0012409328.00000134
Approve112884062020-11-19 12:20:511471 days ago1605788451IN
0x2d9765a9...E2b67582a
0 ETH0.0007534217
Transfer112135452020-11-08 0:33:521483 days ago1604795632IN
0x2d9765a9...E2b67582a
0 ETH0.000848122
Transfer108870222020-09-18 15:41:341533 days ago1600443694IN
0x2d9765a9...E2b67582a
0 ETH0.01151927299
Transfer107419322020-08-27 10:02:251555 days ago1598522545IN
0x2d9765a9...E2b67582a
0 ETH0.0031996583
Transfer107308302020-08-25 17:05:251557 days ago1598375125IN
0x2d9765a9...E2b67582a
0 ETH0.01071022278
Transfer106787312020-08-17 16:55:511565 days ago1597683351IN
0x2d9765a9...E2b67582a
0 ETH0.0053502100
Transfer105984432020-08-05 7:36:021577 days ago1596612962IN
0x2d9765a9...E2b67582a
0 ETH0.0020027252
Transfer105982022020-08-05 6:40:091577 days ago1596609609IN
0x2d9765a9...E2b67582a
0 ETH0.0038514100
Approve105816752020-08-02 17:16:091580 days ago1596388569IN
0x2d9765a9...E2b67582a
0 ETH0.0029250566
Transfer105724692020-08-01 7:26:061581 days ago1596266766IN
0x2d9765a9...E2b67582a
0 ETH0.0032361884
Transfer105312482020-07-25 22:21:041588 days ago1595715664IN
0x2d9765a9...E2b67582a
0 ETH0.003177482.5
Transfer104975632020-07-20 17:00:341593 days ago1595264434IN
0x2d9765a9...E2b67582a
0 ETH0.003280
Approve104257862020-07-09 14:23:131604 days ago1594304593IN
0x2d9765a9...E2b67582a
0 ETH0.0028807365
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:
CGCoinsToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-03-02
*/

pragma solidity ^0.4.16;

/*
 * Abstract Token Smart Contract.  Copyright © 2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
pragma solidity ^0.4.16;

/*
 * ERC-20 Standard Token Smart Contract Interface.
 * Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
pragma solidity ^0.4.16;

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}

/*
 * Safe Math Smart Contract.  Copyright © 2016–2017 by ABDK Consulting.
 * Author: Mikhail Vladimirov <[email protected]>
 */
pragma solidity ^0.4.16;

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x <= MAX_UINT256 - y);
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    assert (x >= y);
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    assert (x <= MAX_UINT256 / y);
    return x * y;
  }
}


/**
 * Abstract Token Smart Contract that could be used as a base contract for
 * ERC-20 token contracts.
 */
contract AbstractToken is Token, SafeMath {
  /**
   * Create new Abstract Token contract.
   */
  function AbstractToken () {
    // Do nothing
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
   *        owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    if (accounts [msg.sender] < _value) return false;
    if (_value > 0 && msg.sender != _to) {
      accounts [msg.sender] = safeSub (accounts [msg.sender], _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (msg.sender, _to, _value);
    return true;
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success) {
    if (allowances [_from][msg.sender] < _value) return false;
    if (accounts [_from] < _value) return false;

    allowances [_from][msg.sender] =
      safeSub (allowances [_from][msg.sender], _value);

    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (accounts [_from], _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
    }
    Transfer (_from, _to, _value);
    return true;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success) {
    allowances [msg.sender][_spender] = _value;
    Approval (msg.sender, _spender, _value);

    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender) constant
  returns (uint256 remaining) {
    return allowances [_owner][_spender];
  }

  /**
   * Mapping from addresses of token holders to the numbers of tokens belonging
   * to these token holders.
   */
  mapping (address => uint256) accounts;

  /**
   * Mapping from addresses of token holders to the mapping of addresses of
   * spenders to the allowances set by these token holders to these spenders.
   */
  mapping (address => mapping (address => uint256)) private allowances;
}


/**
 * Genie token smart contract.
 */
contract CGCoinsToken is AbstractToken {
  /**
   * Maximum allowed number of tokens in circulation.
   */
  uint256 constant MAX_TOKEN_COUNT =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Address of the owner of this smart contract.
   */
  address private owner;

  /**
   * Current number of tokens in circulation.
   */
  uint256 tokenCount = 0;

  /**
   * True if tokens transfers are currently frozen, false otherwise.
   */
  bool frozen = false;

  /**
   * Create new Genie token smart contract and make msg.sender the
   * owner of this smart contract.
   */
  function CGCoinsToken () {
    owner = msg.sender;
  }

  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply) {
    return tokenCount;
  }

  /**
   * Get name of this token.
   *
   * @return name of this token
   */
  function name () constant returns (string result) {
    return "CGCOINS";
  }

  /**
   * Get symbol of this token.
   *
   * @return symbol of this token
   */
  function symbol () constant returns (string result) {
    return "CGC";
  }

  /**
   * Get number of decimals for this token.
   *
   * @return number of decimals for this token
   */
  function decimals () constant returns (uint8 result) {
    return 16;
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transfer (_to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
   *        recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
    returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transferFrom (_from, _to, _value);
  }

  /**
   * Change how many tokens given spender is allowed to transfer from message
   * spender.  In order to prevent double spending of allowance, this method
   * receives assumed current allowance value as an argument.  If actual
   * allowance differs from an assumed one, this method just returns false.
   *
   * @param _spender address to allow the owner of to transfer tokens from
   *        message sender
   * @param _currentValue assumed number of tokens currently allowed to be
   *        transferred
   * @param _newValue number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _currentValue, uint256 _newValue)
    returns (bool success) {
    if (allowance (msg.sender, _spender) == _currentValue)
      return approve (_spender, _newValue);
    else return false;
  }

  /**
   * Burn given number of tokens belonging to message sender.
   *
   * @param _value number of tokens to burn
   * @return true on success, false on error
   */
  function burnTokens (uint256 _value) returns (bool success) {
    if (_value > accounts [msg.sender]) return false;
    else if (_value > 0) {
      accounts [msg.sender] = safeSub (accounts [msg.sender], _value);
      tokenCount = safeSub (tokenCount, _value);
      return true;
    } else return true;
  }

  /**
   * Create _value new tokens and give new created tokens to msg.sender.
   * May only be called by smart contract owner.
   *
   * @param _value number of tokens to create
   * @return true if tokens were created successfully, false otherwise
   */
  function createTokens (uint256 _value)
    returns (bool success) {
    require (msg.sender == owner);

    if (_value > 0) {
      if (_value > safeSub (MAX_TOKEN_COUNT, tokenCount)) return false;
      accounts [msg.sender] = safeAdd (accounts [msg.sender], _value);
      tokenCount = safeAdd (tokenCount, _value);
    }

    return true;
  }

  /**
   * Set new owner for the smart contract.
   * May only be called by smart contract owner.
   *
   * @param _newOwner address of new owner of the smart contract
   */
  function setOwner (address _newOwner) {
    require (msg.sender == owner);

    owner = _newOwner;
  }

  /**
   * Freeze token transfers.
   * May only be called by smart contract owner.
   */
  function freezeTransfers () {
    require (msg.sender == owner);

    if (!frozen) {
      frozen = true;
      Freeze ();
    }
  }

  /**
   * Unfreeze token transfers.
   * May only be called by smart contract owner.
   */
  function unfreezeTransfers () {
    require (msg.sender == owner);

    if (frozen) {
      frozen = false;
      Unfreeze ();
    }
  }

  /**
   * Logged when token transfers were frozen.
   */
  event Freeze ();

  /**
   * Logged when token transfers were unfrozen.
   */
  event Unfreeze ();
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"freezeTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"result","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":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"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":"decimals","outputs":[{"name":"result","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_currentValue","type":"uint256"},{"name":"_newValue","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burnTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"createTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"result","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Unfreeze","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"}]

606060405260006003556004805460ff19169055341561001e57600080fd5b5b5b5b60028054600160a060020a03191633600160a060020a03161790555b5b610b568061004d6000396000f300606060405236156100d85763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630150246081146100dd57806306fdde03146100f2578063095ea7b31461017d57806313af4035146101b357806318160ddd146101d457806323b872dd146101f9578063313ce5671461023557806331c420d41461025e578063426a8493146102735780636d1b229d146102ac57806370a08231146102d65780637e1f2bb81461030757806395d89b4114610331578063a9059cbb146103bc578063dd62ed3e146103f2575b600080fd5b34156100e857600080fd5b6100f0610429565b005b34156100fd57600080fd5b61010561048d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101425780820151818401525b602001610129565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018857600080fd5b61019f600160a060020a03600435166024356104cf565b604051901515815260200160405180910390f35b34156101be57600080fd5b6100f0600160a060020a036004351661053c565b005b34156101df57600080fd5b6101e7610583565b60405190815260200160405180910390f35b341561020457600080fd5b61019f600160a060020a036004358116906024351660443561058a565b604051901515815260200160405180910390f35b341561024057600080fd5b6102486105b6565b60405160ff909116815260200160405180910390f35b341561026957600080fd5b6100f06105bc565b005b341561027e57600080fd5b61019f600160a060020a036004351660243560443561061c565b604051901515815260200160405180910390f35b34156102b757600080fd5b61019f600435610650565b604051901515815260200160405180910390f35b34156102e157600080fd5b6101e7600160a060020a03600435166106e0565b60405190815260200160405180910390f35b341561031257600080fd5b61019f6004356106ff565b604051901515815260200160405180910390f35b341561033c57600080fd5b610105610799565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101425780820151818401525b602001610129565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c757600080fd5b61019f600160a060020a03600435166024356107db565b604051901515815260200160405180910390f35b34156103fd57600080fd5b6101e7600160a060020a0360043581169060243516610809565b60405190815260200160405180910390f35b60025433600160a060020a0390811691161461044457600080fd5b60045460ff16151561048a576004805460ff191660011790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b5b565b610495610b18565b60408051908101604052600781527f4347434f494e5300000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60025433600160a060020a0390811691161461055757600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6003545b90565b60045460009060ff16156105a0575060006105ae565b6105ab848484610836565b90505b5b9392505050565b60105b90565b60025433600160a060020a039081169116146105d757600080fd5b60045460ff161561048a576004805460ff191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a15b5b565b6000826106293386610809565b1415610640576105ab84836104cf565b90506105ae565b5060006105ae565b5b9392505050565b600160a060020a033316600090815260208190526040812054821115610678575060006106d9565b60008211156106d557600160a060020a0333166000908152602081905260409020546106a490836109d8565b600160a060020a0333166000908152602081905260409020556003546106ca90836109d8565b6003555060016106d9565b5060015b5b5b919050565b600160a060020a0381166000908152602081905260409020545b919050565b60025460009033600160a060020a0390811691161461071d57600080fd5b60008211156106d5576107346000196003546109d8565b821115610743575060006106d9565b600160a060020a03331660009081526020819052604090205461076690836109ef565b600160a060020a03331660009081526020819052604090205560035461078c90836109ef565b6003555b5060015b919050565b6107a1610b18565b60408051908101604052600381527f4347430000000000000000000000000000000000000000000000000000000000602082015290505b90565b60045460009060ff16156107f157506000610536565b6107fb8383610a0b565b9050610536565b5b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b600160a060020a038084166000908152600160209081526040808320339094168352929052908120548290101561086f575060006105ae565b600160a060020a03841660009081526020819052604090205482901015610898575060006105ae565b600160a060020a03808516600090815260016020908152604080832033909416835292905220546108c990836109d8565b600160a060020a0380861660009081526001602090815260408083203390941683529290529081209190915582118015610915575082600160a060020a031684600160a060020a031614155b1561098657600160a060020a03841660009081526020819052604090205461093d90836109d8565b600160a060020a03808616600090815260208190526040808220939093559085168152205461096c90836109ef565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b9392505050565b6000818310156109e457fe5b508082035b92915050565b6000600019829003831115610a0057fe5b508181015b92915050565b600160a060020a03331660009081526020819052604081205482901015610a3457506000610536565b600082118015610a56575082600160a060020a031633600160a060020a031614155b15610ac757600160a060020a033316600090815260208190526040902054610a7e90836109d8565b600160a060020a033381166000908152602081905260408082209390935590851681522054610aad90836109ef565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b92915050565b602060405190810160405260008152905600a165627a7a72305820ac775a3cb81e59e9e741effb672d07631203058d45f02ee3c277b31cf8ef2a4b0029

Deployed Bytecode

0x606060405236156100d85763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630150246081146100dd57806306fdde03146100f2578063095ea7b31461017d57806313af4035146101b357806318160ddd146101d457806323b872dd146101f9578063313ce5671461023557806331c420d41461025e578063426a8493146102735780636d1b229d146102ac57806370a08231146102d65780637e1f2bb81461030757806395d89b4114610331578063a9059cbb146103bc578063dd62ed3e146103f2575b600080fd5b34156100e857600080fd5b6100f0610429565b005b34156100fd57600080fd5b61010561048d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101425780820151818401525b602001610129565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018857600080fd5b61019f600160a060020a03600435166024356104cf565b604051901515815260200160405180910390f35b34156101be57600080fd5b6100f0600160a060020a036004351661053c565b005b34156101df57600080fd5b6101e7610583565b60405190815260200160405180910390f35b341561020457600080fd5b61019f600160a060020a036004358116906024351660443561058a565b604051901515815260200160405180910390f35b341561024057600080fd5b6102486105b6565b60405160ff909116815260200160405180910390f35b341561026957600080fd5b6100f06105bc565b005b341561027e57600080fd5b61019f600160a060020a036004351660243560443561061c565b604051901515815260200160405180910390f35b34156102b757600080fd5b61019f600435610650565b604051901515815260200160405180910390f35b34156102e157600080fd5b6101e7600160a060020a03600435166106e0565b60405190815260200160405180910390f35b341561031257600080fd5b61019f6004356106ff565b604051901515815260200160405180910390f35b341561033c57600080fd5b610105610799565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101425780820151818401525b602001610129565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c757600080fd5b61019f600160a060020a03600435166024356107db565b604051901515815260200160405180910390f35b34156103fd57600080fd5b6101e7600160a060020a0360043581169060243516610809565b60405190815260200160405180910390f35b60025433600160a060020a0390811691161461044457600080fd5b60045460ff16151561048a576004805460ff191660011790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b5b565b610495610b18565b60408051908101604052600781527f4347434f494e5300000000000000000000000000000000000000000000000000602082015290505b90565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60025433600160a060020a0390811691161461055757600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b6003545b90565b60045460009060ff16156105a0575060006105ae565b6105ab848484610836565b90505b5b9392505050565b60105b90565b60025433600160a060020a039081169116146105d757600080fd5b60045460ff161561048a576004805460ff191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a15b5b565b6000826106293386610809565b1415610640576105ab84836104cf565b90506105ae565b5060006105ae565b5b9392505050565b600160a060020a033316600090815260208190526040812054821115610678575060006106d9565b60008211156106d557600160a060020a0333166000908152602081905260409020546106a490836109d8565b600160a060020a0333166000908152602081905260409020556003546106ca90836109d8565b6003555060016106d9565b5060015b5b5b919050565b600160a060020a0381166000908152602081905260409020545b919050565b60025460009033600160a060020a0390811691161461071d57600080fd5b60008211156106d5576107346000196003546109d8565b821115610743575060006106d9565b600160a060020a03331660009081526020819052604090205461076690836109ef565b600160a060020a03331660009081526020819052604090205560035461078c90836109ef565b6003555b5060015b919050565b6107a1610b18565b60408051908101604052600381527f4347430000000000000000000000000000000000000000000000000000000000602082015290505b90565b60045460009060ff16156107f157506000610536565b6107fb8383610a0b565b9050610536565b5b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b600160a060020a038084166000908152600160209081526040808320339094168352929052908120548290101561086f575060006105ae565b600160a060020a03841660009081526020819052604090205482901015610898575060006105ae565b600160a060020a03808516600090815260016020908152604080832033909416835292905220546108c990836109d8565b600160a060020a0380861660009081526001602090815260408083203390941683529290529081209190915582118015610915575082600160a060020a031684600160a060020a031614155b1561098657600160a060020a03841660009081526020819052604090205461093d90836109d8565b600160a060020a03808616600090815260208190526040808220939093559085168152205461096c90836109ef565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b9392505050565b6000818310156109e457fe5b508082035b92915050565b6000600019829003831115610a0057fe5b508181015b92915050565b600160a060020a03331660009081526020819052604081205482901015610a3457506000610536565b600082118015610a56575082600160a060020a031633600160a060020a031614155b15610ac757600160a060020a033316600090815260208190526040902054610a7e90836109d8565b600160a060020a033381166000908152602081905260408082209390935590851681522054610aad90836109ef565b600160a060020a0384166000908152602081905260409020555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b92915050565b602060405190810160405260008152905600a165627a7a72305820ac775a3cb81e59e9e741effb672d07631203058d45f02ee3c277b31cf8ef2a4b0029

Swarm Source

bzzr://ac775a3cb81e59e9e741effb672d07631203058d45f02ee3c277b31cf8ef2a4b

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.