CELO Price: $0.11 (-1.33%)
Gas: 25 GWei

Contract

0xf60D112c55aeF2a97fc434C84a5e3d9e91af75F6

Overview

CELO Balance

Celo Mainnet LogoCelo Mainnet LogoCelo Mainnet Logo25.10725 CELO

CELO Value

$2.87 (@ $0.11/CELO)

More Info

Private Name Tags

Multichain Info

Transaction Hash
Block
From
To
Submit Transacti...241895132024-02-22 16:04:04703 days ago1708617844IN
0xf60D112c...e91af75F6
0 CELO0.0025015210
Submit Transacti...241404032024-02-19 19:51:09706 days ago1708372269IN
0xf60D112c...e91af75F6
0 CELO0.0023974610
Submit Transacti...185923472023-04-04 17:38:311027 days ago1680629911IN
0xf60D112c...e91af75F6
0 CELO0.0057318525
Submit Transacti...185922102023-04-04 17:27:061027 days ago1680629226IN
0xf60D112c...e91af75F6
0 CELO0.006024525
Submit Transacti...175883472023-02-05 15:09:581085 days ago1675609798IN
0xf60D112c...e91af75F6
0 CELO0.006024525
Submit Transacti...174784472023-01-30 6:31:371091 days ago1675060297IN
0xf60D112c...e91af75F6
0 CELO0.000122530.5
Submit Transacti...162093532022-11-17 19:52:481165 days ago1668714768IN
0xf60D112c...e91af75F6
0 CELO0.000120490.5
Submit Transacti...160835852022-11-10 13:12:051172 days ago1668085925IN
0xf60D112c...e91af75F6
0 CELO0.000114630.5
Submit Transacti...160833582022-11-10 12:53:101172 days ago1668084790IN
0xf60D112c...e91af75F6
0 CELO0.000114630.5
Submit Transacti...134250532022-06-08 16:07:271327 days ago1654704447IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...133267952022-06-02 23:39:011333 days ago1654213141IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...132055992022-05-26 23:19:121340 days ago1653607152IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...130653852022-05-18 20:33:551348 days ago1652906035IN
0xf60D112c...e91af75F6
0 CELO0.000120490.5
Submit Transacti...130653802022-05-18 20:33:301348 days ago1652906010IN
0xf60D112c...e91af75F6
0 CELO0.000095980.5
Submit Transacti...130653482022-05-18 20:30:501348 days ago1652905850IN
0xf60D112c...e91af75F6
0 CELO0.000110680.5
Submit Transacti...130622582022-05-18 16:13:201348 days ago1652890400IN
0xf60D112c...e91af75F6
0 CELO0.000114640.5
Submit Transacti...127833882022-05-02 12:48:231364 days ago1651495703IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...127069922022-04-28 2:41:541368 days ago1651113714IN
0xf60D112c...e91af75F6
0 CELO0.000122530.5
Submit Transacti...126643612022-04-25 15:29:151371 days ago1650900555IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...123510742022-04-07 12:21:351389 days ago1649334095IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...123510472022-04-07 12:19:201389 days ago1649333960IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...122386402022-04-01 0:11:441396 days ago1648771904IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...122386372022-04-01 0:11:291396 days ago1648771889IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...122386342022-04-01 0:11:141396 days ago1648771874IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
Submit Transacti...122386312022-04-01 0:10:591396 days ago1648771859IN
0xf60D112c...e91af75F6
0 CELO0.000113620.5
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
165746632022-12-08 23:15:471144 days ago1670541347
0xf60D112c...e91af75F6
0.5 CELO
158146942022-10-25 23:44:261188 days ago1666741466
0xf60D112c...e91af75F6
0.01 CELO
154244532022-10-03 9:44:021210 days ago1664790242
0xf60D112c...e91af75F6
0.245 CELO
153919432022-10-01 12:34:501212 days ago1664627690
0xf60D112c...e91af75F6
0.1 CELO
153918892022-10-01 12:30:201212 days ago1664627420
0xf60D112c...e91af75F6
0.1 CELO
153914652022-10-01 11:55:001212 days ago1664625300
0xf60D112c...e91af75F6
0.1 CELO
153914512022-10-01 11:53:501212 days ago1664625230
0xf60D112c...e91af75F6
0.1 CELO
153914422022-10-01 11:53:051212 days ago1664625185
0xf60D112c...e91af75F6
0.1 CELO
153914102022-10-01 11:50:251212 days ago1664625025
0xf60D112c...e91af75F6
0.1 CELO
153913752022-10-01 11:47:301212 days ago1664624850
0xf60D112c...e91af75F6
0.1 CELO
152373842022-09-22 13:54:431221 days ago1663854883
0xf60D112c...e91af75F6
0.075 CELO
151028312022-09-14 19:01:181229 days ago1663182078
0xf60D112c...e91af75F6
0.455 CELO
147510152022-08-25 10:22:231249 days ago1661422943
0xf60D112c...e91af75F6
0.345 CELO
147508232022-08-25 10:06:231249 days ago1661421983
0xf60D112c...e91af75F6
0.29 CELO
145880632022-08-16 0:02:511259 days ago1660608171
0xf60D112c...e91af75F6
0.25 CELO
145880512022-08-16 0:01:511259 days ago1660608111
0xf60D112c...e91af75F6
0.1 CELO
145880392022-08-16 0:00:511259 days ago1660608051
0xf60D112c...e91af75F6
0.06 CELO
143358342022-08-01 9:43:211273 days ago1659347001
0xf60D112c...e91af75F6
0.1 CELO
141834502022-07-23 14:04:201282 days ago1658585060
0xf60D112c...e91af75F6
0.025 CELO
133399062022-06-03 17:51:401332 days ago1654278700
0xf60D112c...e91af75F6
0.05 CELO
131329422022-05-22 18:23:561344 days ago1653243836
0xf60D112c...e91af75F6
0.75 CELO
131328672022-05-22 18:17:411344 days ago1653243461
0xf60D112c...e91af75F6
2.5 CELO
131302162022-05-22 14:36:461344 days ago1653230206
0xf60D112c...e91af75F6
0.1 CELO
131301982022-05-22 14:35:161344 days ago1653230116
0xf60D112c...e91af75F6
0.1 CELO
131301842022-05-22 14:34:061344 days ago1653230046
0xf60D112c...e91af75F6
0.1 CELO
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xB58DA472...0C26093dA
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Proxy

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at celoscan.io on 2023-12-28
*/

pragma solidity ^0.5.13;


/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following 
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Converts an `address` into `address payable`. Note that this is
     * simply a type cast: the actual underlying value is not changed.
     *
     * _Available since v2.4.0._
     */
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     *
     * _Available since v2.4.0._
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call.value(amount)("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}


/**
 * @title A Proxy utilizing the Unstructured Storage pattern.
 */
contract Proxy {
  // Used to store the address of the owner.
  bytes32 private constant OWNER_POSITION = bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1);
  // Used to store the address of the implementation contract.
  bytes32 private constant IMPLEMENTATION_POSITION = bytes32(
    uint256(keccak256("eip1967.proxy.implementation")) - 1
  );

  event OwnerSet(address indexed owner);
  event ImplementationSet(address indexed implementation);

  constructor() public {
    _setOwner(msg.sender);
  }

  /**
   * @notice Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == _getOwner(), "sender was not owner");
    _;
  }

  /**
   * @notice Delegates calls to the implementation contract.
   */
  function() external payable {
    bytes32 implementationPosition = IMPLEMENTATION_POSITION;

    address implementationAddress;

    // Load the address of the implementation contract from an explicit storage slot.
    assembly {
      implementationAddress := sload(implementationPosition)
    }

    // Avoid checking if address is a contract or executing delegated call when
    // implementation address is 0x0
    require(implementationAddress != address(0), "No Implementation set");
    require(Address.isContract(implementationAddress), "Invalid contract address");

    assembly {
      // Extract the position of the transaction data (i.e. function ID and arguments).
      let newCallDataPosition := mload(0x40)
      mstore(0x40, add(newCallDataPosition, calldatasize))
      calldatacopy(newCallDataPosition, 0, calldatasize)

      // Call the smart contract at `implementationAddress` in the context of the proxy contract,
      // with the same msg.sender and value.
      let delegatecallSuccess := delegatecall(
        gas,
        implementationAddress,
        newCallDataPosition,
        calldatasize,
        0,
        0
      )

      // Copy the return value of the call so it can be returned.
      let returnDataSize := returndatasize
      let returnDataPosition := mload(0x40)
      mstore(0x40, add(returnDataPosition, returnDataSize))
      returndatacopy(returnDataPosition, 0, returnDataSize)

      // Revert or return depending on whether or not the call was successful.
      switch delegatecallSuccess
        case 0 {
          revert(returnDataPosition, returnDataSize)
        }
        default {
          return(returnDataPosition, returnDataSize)
        }
    }
  }

  /**
   * @notice Transfers ownership of Proxy to a new owner.
   * @param newOwner Address of the new owner account.
   */
  function _transferOwnership(address newOwner) external onlyOwner {
    _setOwner(newOwner);
  }

  /**
   * @notice Sets the address of the implementation contract and calls into it.
   * @param implementation Address of the new target contract.
   * @param callbackData The abi-encoded function call to perform in the implementation
   * contract.
   * @dev Throws if the initialization callback fails.
   * @dev If the target contract does not need initialization, use
   * setImplementation instead.
   */
  function _setAndInitializeImplementation(address implementation, bytes calldata callbackData)
    external
    payable
    onlyOwner
  {
    _setImplementation(implementation);
    bool success;
    bytes memory returnValue;
    (success, returnValue) = implementation.delegatecall(callbackData);
    require(success, "initialization callback failed");
  }

  /**
   * @notice Returns the implementation address.
   */
  function _getImplementation() external view returns (address implementation) {
    bytes32 implementationPosition = IMPLEMENTATION_POSITION;
    // Load the address of the implementation contract from an explicit storage slot.
    assembly {
      implementation := sload(implementationPosition)
    }
  }

  /**
   * @notice Sets the address of the implementation contract.
   * @param implementation Address of the new target contract.
   * @dev If the target contract needs to be initialized, call
   * setAndInitializeImplementation instead.
   */
  function _setImplementation(address implementation) public onlyOwner {
    bytes32 implementationPosition = IMPLEMENTATION_POSITION;

    require(Address.isContract(implementation), "Invalid contract address");

    // Store the address of the implementation contract in an explicit storage slot.
    assembly {
      sstore(implementationPosition, implementation)
    }

    emit ImplementationSet(implementation);
  }

  /**
   * @notice Returns the Proxy owner's address.
   */
  function _getOwner() public view returns (address owner) {
    bytes32 position = OWNER_POSITION;
    // Load the address of the contract owner from an explicit storage slot.
    assembly {
      owner := sload(position)
    }
  }

  function _setOwner(address newOwner) internal {
    require(newOwner != address(0), "owner cannot be 0");
    bytes32 position = OWNER_POSITION;
    // Store the address of the contract owner in an explicit storage slot.
    assembly {
      sstore(position, newOwner)
    }
    emit OwnerSet(newOwner);
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"ImplementationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerSet","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"_getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_getOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"callbackData","type":"bytes"}],"name":"_setAndInitializeImplementation","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"_setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"_transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

0x608060405234801561001057600080fd5b506100203361002560201b60201c565b610155565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a25050565b610a22806101646000396000f3fe60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea265627a7a72315820ddaaedbcde72a50c209acc3d9132e085934b56b89e72a05cc3c769d6941d429064736f6c634300050d0032

Deployed Bytecode

0x60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea265627a7a72315820ddaaedbcde72a50c209acc3d9132e085934b56b89e72a05cc3c769d6941d429064736f6c634300050d0032

Deployed Bytecode Sourcemap

3105:5271:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3931:30;3454:1;3409:41;;;;;;;;;;;;;;;;;;;3401:50;;:54;3387:73;;3931:56;;3996:29;4170:22;4164:29;4139:54;;4368:1;4335:35;;:21;:35;;;;4327:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4411:41;4430:21;4411:18;:41::i;:::-;4403:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4630:4;4624:11;4681:12;4660:19;4656:38;4650:4;4643:52;4740:12;4737:1;4716:19;4703:50;5069:1;5057;5034:12;5004:19;4972:21;4958:3;4935:144;5178:14;5232:4;5226:11;5282:14;5262:18;5258:39;5252:4;5245:53;5344:14;5341:1;5321:18;5306:53;5456:19;5490:1;5485:73;;;;5616:14;5596:18;5589:42;5485:73;5532:14;5512:18;5505:42;6313:366;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6313:366:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6313:366:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6313:366:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6313:366:0;;;;;;;;;;;;:::i;:::-;;6749:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6749:311:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7317:430;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7317:430:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7317:430:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5789:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5789:97:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5789:97:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7816:236;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7816:236:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;712:619;772:4;1034:16;1061:19;1083:66;1061:88;;;;1252:7;1240:20;1228:32;;1292:11;1280:8;:23;;:42;;;;;1319:3;1307:15;;:8;:15;;1280:42;1272:51;;;;712:619;;;:::o;6313:366::-;3764:11;:9;:11::i;:::-;3750:25;;:10;:25;;;3742:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6459:34;6478:14;6459:18;:34::i;:::-;6500:12;6519:24;6575:14;:27;;6603:12;;6575:41;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;6575:41:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;6550:66:0;;;;;;;;6631:7;6623:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:1;;6313:366;;;:::o;6749:311::-;6802:22;6833:30;3454:1;3409:41;;;;;;;;;;;;;;;;;;;3401:50;;:54;3387:73;;6833:56;;7025:22;7019:29;7001:47;;6992:63;;:::o;7317:430::-;3764:11;:9;:11::i;:::-;3750:25;;:10;:25;;;3742:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7393:30;3454:1;3409:41;;;;;;;;;;;;;;;;;;;3401:50;;:54;3387:73;;7393:56;;7466:34;7485:14;7466:18;:34::i;:::-;7458:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7673:14;7649:22;7642:46;7726:14;7708:33;;;;;;;;;;;;3807:1;7317:430;:::o;5789:97::-;3764:11;:9;:11::i;:::-;3750:25;;:10;:25;;;3742:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5861:19;5871:8;5861:9;:19::i;:::-;5789:97;:::o;7816:236::-;7858:13;7880:16;3265:1;3229:32;;;;;;;;;;;;;;;;;;;3221:41;;:45;3213:54;;7880:33;;8031:8;8025:15;8016:24;;8007:40;;:::o;8058:315::-;8139:1;8119:22;;:8;:22;;;;8111:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8170:16;3265:1;3229:32;;;;;;;;;;;;;;;;;;;3221:41;;:45;3213:54;;8170:33;;8322:8;8312;8305:26;8358:8;8349:18;;;;;;;;;;;;8058:315;;:::o

Swarm Source

bzzr://ddaaedbcde72a50c209acc3d9132e085934b56b89e72a05cc3c769d6941d4290

Block Transaction Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xf60D112c55aeF2a97fc434C84a5e3d9e91af75F6
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.