CELO Price: $1.29 (-2.28%)
Gas: 5 GWei

Contract

0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb9
Transaction Hash
Method
Block
From
To
Value
Transfer44832020-04-22 22:29:471435 days ago1587594587IN
Celo: Reserve Proxy
0.0999 CELO0.00001140.5
Transfer44522020-04-22 22:27:081435 days ago1587594428IN
Celo: Reserve Proxy
119,999,998.89998859 CELO0.00001140.5
Transfer43332020-04-22 22:17:051435 days ago1587593825IN
Celo: Reserve Proxy
1 CELO0.00001140.5
_transfer Owners...33062020-04-22 20:50:261435 days ago1587588626IN
Celo: Reserve Proxy
0 CELO0.0002843910
Transfer Ownersh...33042020-04-22 20:50:121435 days ago1587588612IN
Celo: Reserve Proxy
0 CELO0.0003111310
Add Token29822020-04-22 20:22:481435 days ago1587586968IN
Celo: Reserve Proxy
0 CELO0.0011009110
Add Spender29552020-04-22 20:20:331435 days ago1587586833IN
Celo: Reserve Proxy
0 CELO0.0004552910
Add Other Reserv...29542020-04-22 20:20:281435 days ago1587586828IN
Celo: Reserve Proxy
0 CELO0.0007722210
Add Other Reserv...29532020-04-22 20:20:231435 days ago1587586823IN
Celo: Reserve Proxy
0 CELO0.0010722210
_set And Initial...29512020-04-22 20:20:131435 days ago1587586813IN
Celo: Reserve Proxy
0 CELO0.0035881810
_transfer Owners...29502020-04-22 20:20:081435 days ago1587586808IN
Celo: Reserve Proxy
0 CELO0.0002425110
0x6080604029472020-04-22 20:19:531435 days ago1587586793IN
 Create: ReserveProxy
0 CELO0.0063320210

Latest 25 internal transactions (View All)

Parent Txn Hash Block From To Value
230666872023-12-19 16:24:2699 days ago1703003066
Celo: Reserve Proxy
388,925.45302562 CELO
230655472023-12-19 14:49:2699 days ago1702997366
Celo: Reserve Proxy
288.12906384 CELO
230655352023-12-19 14:48:2699 days ago1702997306
Celo: Reserve Proxy
272.37948637 CELO
230651852023-12-19 14:19:1699 days ago1702995556
Celo: Reserve Proxy
800.0054 CELO
230651392023-12-19 14:15:2699 days ago1702995326
Celo: Reserve Proxy
646.03004178 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
17.98136613 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
17.91685313 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
10.05397018 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
10.0106654 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
4.1004309 CELO
230651362023-12-19 14:15:1199 days ago1702995311
Celo: Reserve Proxy
4.08226612 CELO
230651352023-12-19 14:15:0699 days ago1702995306
Celo: Reserve Proxy
17.99107385 CELO
230651352023-12-19 14:15:0699 days ago1702995306
Celo: Reserve Proxy
10.0484211 CELO
230651342023-12-19 14:15:0199 days ago1702995301
Celo: Reserve Proxy
10.04074059 CELO
230651342023-12-19 14:15:0199 days ago1702995301
Celo: Reserve Proxy
17.90365373 CELO
230651342023-12-19 14:15:0199 days ago1702995301
Celo: Reserve Proxy
49.73257341 CELO
230651332023-12-19 14:14:5699 days ago1702995296
Celo: Reserve Proxy
10.04919921 CELO
230651332023-12-19 14:14:5699 days ago1702995296
Celo: Reserve Proxy
17.9144802 CELO
230651312023-12-19 14:14:4699 days ago1702995286
Celo: Reserve Proxy
10.03077373 CELO
230651302023-12-19 14:14:4199 days ago1702995281
Celo: Reserve Proxy
10.05027606 CELO
230651292023-12-19 14:14:3699 days ago1702995276
Celo: Reserve Proxy
10.05212546 CELO
230651292023-12-19 14:14:3699 days ago1702995276
Celo: Reserve Proxy
17.96901178 CELO
230651272023-12-19 14:14:2699 days ago1702995266
Celo: Reserve Proxy
17.97234181 CELO
230651272023-12-19 14:14:2699 days ago1702995266
Celo: Reserve Proxy
10.0677912 CELO
230651262023-12-19 14:14:2199 days ago1702995261
Celo: Reserve Proxy
10.0973966 CELO
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReserveProxy

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
petersburg EvmVersion, GNU GPLv3 license
File 1 of 3 : ReserveProxy.sol
pragma solidity ^0.5.3;

import "../../common/Proxy.sol";

/* solhint-disable no-empty-blocks */
contract ReserveProxy is Proxy {}

File 2 of 3 : Proxy.sol
pragma solidity ^0.5.3;
/* solhint-disable no-inline-assembly, no-complex-fallback, avoid-low-level-calls */

import "openzeppelin-solidity/contracts/utils/Address.sol";

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

File 3 of 3 : Address.sol
pragma solidity ^0.5.5;

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

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "petersburg",
  "remappings": [],
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

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

Contract Creation Code

60806040526100133361001860201b60201c565b610148565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a25050565b610a19806101576000396000f3fe60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea165627a7a72305820f21235191d2faf21f850d7cc586b5fe4345b9a4eabe52b96fa579f1d4e66b65e0029

Deployed Bytecode

0x60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea165627a7a72305820f21235191d2faf21f850d7cc586b5fe4345b9a4eabe52b96fa579f1d4e66b65e0029

Deployed Bytecode Sourcemap

97:33:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1040:30:0;585:1;540:41;;;;;;;;;;;;;;;;;;;532:50;;:54;519:71;;1040:56;;1103:29;1273:22;1267:29;1242:54;;1466:1;1433:35;;:21;:35;;;;1425:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1508:41;1527:21;1508:18;:41::i;:::-;1500:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1723:4;1717:11;1773:12;1752:19;1748:38;1742:4;1735:52;1831:12;1828:1;1807:19;1794:50;2150:1;2139;2117:12;2088:19;2057:21;2044:3;2022:137;2255:14;2308:4;2302:11;2357:14;2337:18;2333:39;2327:4;2320:53;2418:14;2415:1;2395:18;2380:53;2527:19;2560:1;2555:71;;;;2682:14;2662:18;2655:42;2555:71;2601:14;2581:18;2574:42;3357:356;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3357:356:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3357:356:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3357:356: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;3357:356:0;;;;;;;;;;;;:::i;:::-;;3778:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3778:305:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4332:419;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4332:419:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4332:419:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2846:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2846:95:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2846:95:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4815:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4815:230:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;686:610:2;746:4;1004:16;1030:19;1052:66;1030:88;;;;1219:7;1207:20;1195:32;;1258:11;1246:8;:23;;:42;;;;;1285:3;1273:15;;:8;:15;;1246:42;1238:51;;;;686:610;;;:::o;3357:356:0:-;881:11;:9;:11::i;:::-;867:25;;:10;:25;;;859:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3498:34;3517:14;3498:18;:34::i;:::-;3538:12;3556:24;3611:14;:27;;3639:12;;3611:41;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;3611: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;;3586:66:0;;;;;;;;3666:7;3658:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;923:1;;3357:356;;;:::o;3778:305::-;3831:22;3861:30;585:1;540:41;;;;;;;;;;;;;;;;;;;532:50;;:54;519:71;;3861:56;;4050:22;4044:29;4026:47;;4018:61;;:::o;4332:419::-;881:11;:9;:11::i;:::-;867:25;;:10;:25;;;859:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:30;585:1;540:41;;;;;;;;;;;;;;;;;;;532:50;;:54;519:71;;4407:56;;4478:34;4497:14;4478:18;:34::i;:::-;4470:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4681:14;4657:22;4650:46;4731:14;4713:33;;;;;;;;;;;;923:1;4332:419;:::o;2846:95::-;881:11;:9;:11::i;:::-;867:25;;:10;:25;;;859:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2917:19;2927:8;2917:9;:19::i;:::-;2846:95;:::o;4815:230::-;4857:13;4878:16;399:1;363:32;;;;;;;;;;;;;;;;;;;355:41;;:45;347:54;;4878:33;;5026:8;5020:15;5011:24;;5003:38;;:::o;5049:306::-;5128:1;5108:22;;:8;:22;;;;5100:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5158:16;399:1;363:32;;;;;;;;;;;;;;;;;;;355:41;;:45;347:54;;5158:33;;5307:8;5297;5290:26;5341:8;5332:18;;;;;;;;;;;;5049:306;;:::o

Swarm Source

bzzr://f21235191d2faf21f850d7cc586b5fe4345b9a4eabe52b96fa579f1d4e66b65e

Block Transaction 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

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.