ETH Price: $2,733.29 (+1.71%)

Contract

0xC626845BF4E6a5802Ef774dA0B3DfC6707F015F7
Transaction Hash
Method
Block
From
To
Deposit200353932025-02-17 19:50:111 hr ago1739821811IN
0xC626845B...707F015F7
0.00348 ETH0.000002650.07
Deposit200350712025-02-17 19:31:421 hr ago1739820702IN
0xC626845B...707F015F7
0.003 ETH0.000002120.056
Deposit200349762025-02-17 19:26:251 hr ago1739820385IN
0xC626845B...707F015F7
0.0006 ETH0.000002030.0537
Deposit200342572025-02-17 18:46:002 hrs ago1739817960IN
0xC626845B...707F015F7
0.0006 ETH0.000003030.08
Deposit200340792025-02-17 18:35:502 hrs ago1739817350IN
0xC626845B...707F015F7
0.00048 ETH0.000002470.0653
Deposit200331132025-02-17 17:40:513 hrs ago1739814051IN
0xC626845B...707F015F7
0.01065 ETH0.000004890.129
Deposit200322512025-02-17 16:52:324 hrs ago1739811152IN
0xC626845B...707F015F7
0.0027 ETH0.000030710.81
Deposit200319302025-02-17 16:34:334 hrs ago1739810073IN
0xC626845B...707F015F7
0.0035 ETH0.000018950.5
Deposit200311332025-02-17 15:49:555 hrs ago1739807395IN
0xC626845B...707F015F7
0.00136 ETH0.000022320.589
Deposit200302972025-02-17 15:03:115 hrs ago1739804591IN
0xC626845B...707F015F7
0.0017 ETH0.000032220.85
Deposit200302742025-02-17 15:01:515 hrs ago1739804511IN
0xC626845B...707F015F7
0.44107199 ETH0.000034910.9218
Deposit200302382025-02-17 14:59:396 hrs ago1739804379IN
0xC626845B...707F015F7
0.446553 ETH0.000030050.7931
Deposit200283412025-02-17 13:14:167 hrs ago1739798056IN
0xC626845B...707F015F7
0.001064 ETH0.000002030.0538
Deposit200281392025-02-17 13:02:477 hrs ago1739797367IN
0xC626845B...707F015F7
0.002175 ETH0.000001670.0442
Deposit200272622025-02-17 12:13:438 hrs ago1739794423IN
0xC626845B...707F015F7
0.0006 ETH0.000004170.11
Deposit200261532025-02-17 11:11:379 hrs ago1739790697IN
0xC626845B...707F015F7
0 ETH0.000001050.02
Deposit200248942025-02-17 9:58:3611 hrs ago1739786316IN
0xC626845B...707F015F7
0.0022 ETH0.000009830.25949953
Deposit200247432025-02-17 9:50:0011 hrs ago1739785800IN
0xC626845B...707F015F7
0.024753 ETH0.000000640.0169
Deposit200247042025-02-17 9:47:5011 hrs ago1739785670IN
0xC626845B...707F015F7
0.011938 ETH0.000001130.03
Deposit200246122025-02-17 9:42:2311 hrs ago1739785343IN
0xC626845B...707F015F7
0.017683 ETH0.000001130.03
Deposit200245312025-02-17 9:37:3911 hrs ago1739785059IN
0xC626845B...707F015F7
0.014375 ETH0.000000450.0121
Deposit200244632025-02-17 9:33:5011 hrs ago1739784830IN
0xC626845B...707F015F7
0.009452 ETH0.000000410.0109
Deposit200244092025-02-17 9:30:5211 hrs ago1739784652IN
0xC626845B...707F015F7
0.019078 ETH0.000000370.01
Deposit200243582025-02-17 9:28:0011 hrs ago1739784480IN
0xC626845B...707F015F7
0.469606 ETH0.000000480.01287
Deposit200243332025-02-17 9:26:3011 hrs ago1739784390IN
0xC626845B...707F015F7
0.009669 ETH0.00000040.0108

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
200353932025-02-17 19:50:111 hr ago1739821811
0xC626845B...707F015F7
0.00348 ETH
200350712025-02-17 19:31:421 hr ago1739820702
0xC626845B...707F015F7
0.003 ETH
200349762025-02-17 19:26:251 hr ago1739820385
0xC626845B...707F015F7
0.0006 ETH
200342572025-02-17 18:46:002 hrs ago1739817960
0xC626845B...707F015F7
0.0006 ETH
200340792025-02-17 18:35:502 hrs ago1739817350
0xC626845B...707F015F7
0.00048 ETH
200331132025-02-17 17:40:513 hrs ago1739814051
0xC626845B...707F015F7
0.01065 ETH
200322512025-02-17 16:52:324 hrs ago1739811152
0xC626845B...707F015F7
0.0027 ETH
200319302025-02-17 16:34:334 hrs ago1739810073
0xC626845B...707F015F7
0.0035 ETH
200311332025-02-17 15:49:555 hrs ago1739807395
0xC626845B...707F015F7
0.00136 ETH
200302972025-02-17 15:03:115 hrs ago1739804591
0xC626845B...707F015F7
0.0017 ETH
200302742025-02-17 15:01:515 hrs ago1739804511
0xC626845B...707F015F7
0.44107199 ETH
200302382025-02-17 14:59:396 hrs ago1739804379
0xC626845B...707F015F7
0.446553 ETH
200283412025-02-17 13:14:167 hrs ago1739798056
0xC626845B...707F015F7
0.001064 ETH
200281392025-02-17 13:02:477 hrs ago1739797367
0xC626845B...707F015F7
0.002175 ETH
200272622025-02-17 12:13:438 hrs ago1739794423
0xC626845B...707F015F7
0.0006 ETH
200248942025-02-17 9:58:3611 hrs ago1739786316
0xC626845B...707F015F7
0.0022 ETH
200247432025-02-17 9:50:0011 hrs ago1739785800
0xC626845B...707F015F7
0.024753 ETH
200247042025-02-17 9:47:5011 hrs ago1739785670
0xC626845B...707F015F7
0.011938 ETH
200246122025-02-17 9:42:2311 hrs ago1739785343
0xC626845B...707F015F7
0.017683 ETH
200245312025-02-17 9:37:3911 hrs ago1739785059
0xC626845B...707F015F7
0.014375 ETH
200244632025-02-17 9:33:5011 hrs ago1739784830
0xC626845B...707F015F7
0.009452 ETH
200244092025-02-17 9:30:5211 hrs ago1739784652
0xC626845B...707F015F7
0.019078 ETH
200243582025-02-17 9:28:0011 hrs ago1739784480
0xC626845B...707F015F7
0.469606 ETH
200243332025-02-17 9:26:3011 hrs ago1739784390
0xC626845B...707F015F7
0.009669 ETH
200242722025-02-17 9:23:0611 hrs ago1739784186
0xC626845B...707F015F7
0.016419 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Depositor

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at zkevm.polygonscan.com on 2024-04-19
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

interface IERC20 {
  /**
   * @dev Returns the amount of tokens in existence.
   */
  function totalSupply() external view returns (uint256);

  /**
   * @dev Returns the amount of tokens owned by `account`.
  */
  function balanceOf(address account) external view returns (uint256);

  /**
   * @dev Moves `amount` tokens from the caller's account to `recipient`.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
  */
  function transfer(address recipient, uint256 amount) external returns (bool);
  function mint(address account, uint amount) external;
  /**
   * @dev Returns the remaining number of tokens that `spender` will be
   * allowed to spend on behalf of `owner` through {transferFrom}. This is
   * zero by default.
   *
   * This value changes when {approve} or {transferFrom} are called.
  */
  function allowance(address owner, address spender) external view returns (uint256);

  /**
   * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * IMPORTANT: Beware that changing an allowance with this method brings the risk
   * that someone may use both the old and the new allowance by unfortunate
   * transaction ordering. One possible solution to mitigate this race
   * condition is to first reduce the spender's allowance to 0 and set the
   * desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   * Emits an {Approval} event.
  */
  function approve(address spender, uint256 amount) external returns (bool);

  /**
   * @dev Moves `amount` tokens from `sender` to `recipient` using the
   * allowance mechanism. `amount` is then deducted from the caller's
   * allowance.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
  */
  function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

  /**
   * @dev Emitted when `value` tokens are moved from one account (`from`) to
   * another (`to`).
   *
   * Note that `value` may be zero.
  */
  event Transfer(address indexed from, address indexed to, uint256 value);

  /**
   * @dev Emitted when the allowance of a `spender` for an `owner` is set by
   * a call to {approve}. `value` is the new allowance.
  */
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

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 isContractt(address account) internal view returns (bool) {
    // This method relies on extcodesize, which returns 0 for contracts in
    // construction, since the code is only stored at the end of the
    // constructor execution.

    uint256 size;
    // solhint-disable-next-line no-inline-assembly
    assembly { size := extcodesize(account) }
    return size > 0;
  }

  /**
   * @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-low-level-calls, avoid-call-value
    (bool success, ) = recipient.call{ value: amount }("");
    require(success, "Address: unable to send value, recipient may have reverted");
  }
}

library SafeMath {
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");

    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;

    return c;
  }
}



library SafeERC20 {
  using Address for address;
  using SafeMath for uint256;

  bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

  function safeTransfer(IERC20 token, address to, uint256 value) internal {
    (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(SELECTOR, to, value));
    require(success && (data.length == 0 || abi.decode(data, (bool))), 'SafeERC20: TRANSFER_FAILED');
  }
  // function safeTransfer(IERC20 token, address to, uint256 value) internal {
  //     callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
  // }

  function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
    callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
  }

  function safeApprove(IERC20 token, address spender, uint256 value) internal {
    // safeApprove should only be called when setting an initial allowance,
    // or when resetting it to zero. To increase and decrease it, use
    // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
    // solhint-disable-next-line max-line-length
    require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
           );
           callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
  }

  function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
    uint256 newAllowance = token.allowance(address(this), spender).add(value);
    callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
  }

  function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
    uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
    callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
  }

  /**
   * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
   * on the return value: the return value is optional (but if data is returned, it must not be false).
  * @param token The token targeted by the call.
  * @param data The call data (encoded using abi.encode or one of its variants).
  */
  function callOptionalReturn(IERC20 token, bytes memory data) private {
    // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
    // we're implementing it ourselves.

    // A Solidity high level call has three parts:
    //  1. The target address is checked to verify it contains contract code
    //  2. The call itself is made, and success asserted
    //  3. The return value is decoded, which in turn checks the size of the returned data.
    // solhint-disable-next-line max-line-length
    require(address(token).isContractt(), "SafeERC20: call to non-contract");

    // solhint-disable-next-line avoid-low-level-calls
    (bool success, bytes memory returndata) = address(token).call(data);
    require(success, "SafeERC20: low-level call failed");

    if (returndata.length > 0) { // Return data is optional
      // solhint-disable-next-line max-line-length
      require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
    }
  }
}



contract Depositor {
      using SafeERC20 for IERC20;

      error NotOwnerError();
      error LengthError();
      error ZeroAddressError();
      error AmountError();
      error TargetError();
      error CallError();

      event Deposit(
        address indexed user,
        address indexed token,
        address indexed maker,
        string target,
        uint amount,
        uint destination,
        uint channel,
        uint timestamp
      );

      constructor() {
      }

      receive() external payable {
      }

      function isOwltoDepositor() public pure returns (bool) {
        return true;
      }

      function deposit(
        string memory target,
        address token,
        address maker,
        uint amount,
        uint destination,
        uint channel
      ) external payable {
        if (bytes(target).length == 0) {
          revert TargetError();
        }
        if (token == address(0)) {
          if (msg.value != amount) {
            revert AmountError();
          }
          (bool ok,) = maker.call{value: amount}("");
          if (!ok) {
            revert CallError();
          }
        } else {
          IERC20(token).safeTransferFrom(msg.sender, maker, amount);
        }

        emit Deposit(msg.sender, token, maker, target, amount, destination, channel, block.timestamp);
      }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountError","type":"error"},{"inputs":[],"name":"CallError","type":"error"},{"inputs":[],"name":"LengthError","type":"error"},{"inputs":[],"name":"NotOwnerError","type":"error"},{"inputs":[],"name":"TargetError","type":"error"},{"inputs":[],"name":"ZeroAddressError","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"maker","type":"address"},{"indexed":false,"internalType":"string","name":"target","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"destination","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"channel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"Deposit","type":"event"},{"inputs":[{"internalType":"string","name":"target","type":"string"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"maker","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"destination","type":"uint256"},{"internalType":"uint256","name":"channel","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isOwltoDepositor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506105a6806100206000396000f3fe60806040526004361061002d5760003560e01c8063c09bcfbb14610039578063fc1806381461005a57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50604080516001815290519081900360200190f35b61006d6100683660046103ca565b61006f565b005b85516000036100915760405163235381a360e11b815260040160405180910390fd5b6001600160a01b038516610139578234146100bf57604051634ff64a9f60e01b815260040160405180910390fd5b6000846001600160a01b03168460405160006040518083038185875af1925050503d806000811461010c576040519150601f19603f3d011682016040523d82523d6000602084013e610111565b606091505b505090508061013357604051630d93a8fd60e31b815260040160405180910390fd5b5061014e565b61014e6001600160a01b0386163386866101b3565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5a62eae4bbcf3c383f506c8fbc0ffb6b54738018ddd42a887d202d95e5f0124789878787426040516101a39594939291906104dc565b60405180910390a4505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261020d908590610213565b50505050565b6001600160a01b0382163b61026f5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064015b60405180910390fd5b600080836001600160a01b03168360405161028a919061052b565b6000604051808303816000865af19150503d80600081146102c7576040519150601f19603f3d011682016040523d82523d6000602084013e6102cc565b606091505b50915091508161031e5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646044820152606401610266565b80511561020d57808060200190518101906103399190610547565b61020d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610266565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b03811681146103c557600080fd5b919050565b60008060008060008060c087890312156103e357600080fd5b863567ffffffffffffffff808211156103fb57600080fd5b818901915089601f83011261040f57600080fd5b81358181111561042157610421610398565b604051601f8201601f19908116603f0116810190838211818310171561044957610449610398565b816040528281528c602084870101111561046257600080fd5b82602086016020830137600060208483010152809a505050505050610489602088016103ae565b9450610497604088016103ae565b9350606087013592506080870135915060a087013590509295509295509295565b60005b838110156104d35781810151838201526020016104bb565b50506000910152565b60a08152600086518060a08401526104fb8160c0850160208b016104b8565b60208301969096525060408101939093526060830191909152608082015260c0601f909201601f19160101919050565b6000825161053d8184602087016104b8565b9190910192915050565b60006020828403121561055957600080fd5b8151801515811461056957600080fd5b939250505056fea2646970667358221220cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061002d5760003560e01c8063c09bcfbb14610039578063fc1806381461005a57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50604080516001815290519081900360200190f35b61006d6100683660046103ca565b61006f565b005b85516000036100915760405163235381a360e11b815260040160405180910390fd5b6001600160a01b038516610139578234146100bf57604051634ff64a9f60e01b815260040160405180910390fd5b6000846001600160a01b03168460405160006040518083038185875af1925050503d806000811461010c576040519150601f19603f3d011682016040523d82523d6000602084013e610111565b606091505b505090508061013357604051630d93a8fd60e31b815260040160405180910390fd5b5061014e565b61014e6001600160a01b0386163386866101b3565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5a62eae4bbcf3c383f506c8fbc0ffb6b54738018ddd42a887d202d95e5f0124789878787426040516101a39594939291906104dc565b60405180910390a4505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261020d908590610213565b50505050565b6001600160a01b0382163b61026f5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064015b60405180910390fd5b600080836001600160a01b03168360405161028a919061052b565b6000604051808303816000865af19150503d80600081146102c7576040519150601f19603f3d011682016040523d82523d6000602084013e6102cc565b606091505b50915091508161031e5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646044820152606401610266565b80511561020d57808060200190518101906103399190610547565b61020d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610266565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b03811681146103c557600080fd5b919050565b60008060008060008060c087890312156103e357600080fd5b863567ffffffffffffffff808211156103fb57600080fd5b818901915089601f83011261040f57600080fd5b81358181111561042157610421610398565b604051601f8201601f19908116603f0116810190838211818310171561044957610449610398565b816040528281528c602084870101111561046257600080fd5b82602086016020830137600060208483010152809a505050505050610489602088016103ae565b9450610497604088016103ae565b9350606087013592506080870135915060a087013590509295509295509295565b60005b838110156104d35781810151838201526020016104bb565b50506000910152565b60a08152600086518060a08401526104fb8160c0850160208b016104b8565b60208301969096525060408101939093526060830191909152608082015260c0601f909201601f19160101919050565b6000825161053d8184602087016104b8565b9190910192915050565b60006020828403121561055957600080fd5b8151801515811461056957600080fd5b939250505056fea2646970667358221220cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe64736f6c63430008120033

Deployed Bytecode Sourcemap

8945:1412:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:87;;;;;;;;;;-1:-1:-1;9515:87:0;;;9588:4;154:41:1;;9515:87:0;;;;;;142:2:1;9515:87:0;;;9612:740;;;;;;:::i;:::-;;:::i;:::-;;;9827:6;9821:20;9845:1;9821:25;9817:76;;9868:13;;-1:-1:-1;;;9868:13:0;;;;;;;;;;;9817:76;-1:-1:-1;;;;;9907:19:0;;9903:334;;9958:6;9945:9;:19;9941:74;;9988:13;;-1:-1:-1;;;9988:13:0;;;;;;;;;;;9941:74;10028:7;10040:5;-1:-1:-1;;;;;10040:10:0;10058:6;10040:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10027:42;;;10087:2;10082:56;;10113:11;;-1:-1:-1;;;10113:11:0;;;;;;;;;;;10082:56;9928:221;9903:334;;;10168:57;-1:-1:-1;;;;;10168:30:0;;10199:10;10211:5;10218:6;10168:30;:57::i;:::-;10281:5;-1:-1:-1;;;;;10254:88:0;10274:5;-1:-1:-1;;;;;10254:88:0;10262:10;-1:-1:-1;;;;;10254:88:0;;10288:6;10296;10304:11;10317:7;10326:15;10254:88;;;;;;;;;;:::i;:::-;;;;;;;;9612:740;;;;;;:::o;6095:198::-;6218:68;;;-1:-1:-1;;;;;3225:15:1;;;6218:68:0;;;3207:34:1;3277:15;;3257:18;;;3250:43;3309:18;;;;3302:34;;;6218:68:0;;;;;;;;;;3142:18:1;;;;6218:68:0;;;;;;;;-1:-1:-1;;;;;6218:68:0;-1:-1:-1;;;6218:68:0;;;6192:95;;6211:5;;6192:18;:95::i;:::-;6095:198;;;;:::o;7885:1049::-;-1:-1:-1;;;;;8457:26:0;;3544:20;8449:72;;;;-1:-1:-1;;;8449:72:0;;3549:2:1;8449:72:0;;;3531:21:1;3588:2;3568:18;;;3561:30;3627:33;3607:18;;;3600:61;3678:18;;8449:72:0;;;;;;;;;8587:12;8601:23;8636:5;-1:-1:-1;;;;;8628:19:0;8648:4;8628:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8586:67;;;;8668:7;8660:52;;;;-1:-1:-1;;;8660:52:0;;4201:2:1;8660:52:0;;;4183:21:1;;;4220:18;;;4213:30;4279:34;4259:18;;;4252:62;4331:18;;8660:52:0;3999:356:1;8660:52:0;8725:17;;:21;8721:208;;8855:10;8844:30;;;;;;;;;;;;:::i;:::-;8836:85;;;;-1:-1:-1;;;8836:85:0;;4844:2:1;8836:85:0;;;4826:21:1;4883:2;4863:18;;;4856:30;4922:34;4902:18;;;4895:62;-1:-1:-1;;;4973:18:1;;;4966:40;5023:19;;8836:85:0;4642:406:1;206:127;267:10;262:3;258:20;255:1;248:31;298:4;295:1;288:15;322:4;319:1;312:15;338:173;406:20;;-1:-1:-1;;;;;455:31:1;;445:42;;435:70;;501:1;498;491:12;435:70;338:173;;;:::o;516:1287::-;630:6;638;646;654;662;670;723:3;711:9;702:7;698:23;694:33;691:53;;;740:1;737;730:12;691:53;780:9;767:23;809:18;850:2;842:6;839:14;836:34;;;866:1;863;856:12;836:34;904:6;893:9;889:22;879:32;;949:7;942:4;938:2;934:13;930:27;920:55;;971:1;968;961:12;920:55;1007:2;994:16;1029:2;1025;1022:10;1019:36;;;1035:18;;:::i;:::-;1110:2;1104:9;1078:2;1164:13;;-1:-1:-1;;1160:22:1;;;1184:2;1156:31;1152:40;1140:53;;;1208:18;;;1228:22;;;1205:46;1202:72;;;1254:18;;:::i;:::-;1294:10;1290:2;1283:22;1329:2;1321:6;1314:18;1371:7;1364:4;1359:2;1355;1351:11;1347:22;1344:35;1341:55;;;1392:1;1389;1382:12;1341:55;1452:2;1445:4;1441:2;1437:13;1430:4;1422:6;1418:17;1405:50;1499:1;1492:4;1487:2;1479:6;1475:15;1471:26;1464:37;1520:6;1510:16;;;;;;;1545:40;1579:4;1568:9;1564:20;1545:40;:::i;:::-;1535:50;;1604:38;1638:2;1627:9;1623:18;1604:38;:::i;:::-;1594:48;;1689:2;1678:9;1674:18;1661:32;1651:42;;1740:3;1729:9;1725:19;1712:33;1702:43;;1792:3;1781:9;1777:19;1764:33;1754:43;;516:1287;;;;;;;;:::o;2018:250::-;2103:1;2113:113;2127:6;2124:1;2121:13;2113:113;;;2203:11;;;2197:18;2184:11;;;2177:39;2149:2;2142:10;2113:113;;;-1:-1:-1;;2260:1:1;2242:16;;2235:27;2018:250::o;2273:689::-;2534:3;2523:9;2516:22;2497:4;2567:6;2561:13;2611:6;2605:3;2594:9;2590:19;2583:35;2627:82;2702:6;2696:3;2685:9;2681:19;2674:4;2666:6;2662:17;2627:82;:::i;:::-;2812:4;2797:20;;2790:36;;;;-1:-1:-1;2857:2:1;2842:18;;2835:34;;;;2900:2;2885:18;;2878:34;;;;2943:3;2928:19;;2921:35;2777:3;2770:2;2749:15;;;-1:-1:-1;;2745:29:1;2730:45;2726:55;;;-1:-1:-1;2273:689:1:o;3707:287::-;3836:3;3874:6;3868:13;3890:66;3949:6;3944:3;3937:4;3929:6;3925:17;3890:66;:::i;:::-;3972:16;;;;;3707:287;-1:-1:-1;;3707:287:1:o;4360:277::-;4427:6;4480:2;4468:9;4459:7;4455:23;4451:32;4448:52;;;4496:1;4493;4486:12;4448:52;4528:9;4522:16;4581:5;4574:13;4567:21;4560:5;4557:32;4547:60;;4603:1;4600;4593:12;4547:60;4626:5;4360:277;-1:-1:-1;;;4360:277:1:o

Swarm Source

ipfs://cf51ff794ae9f98bf3da506dc3aa6e00705e4a93d6a60b2203b635da8b014cfe

Block Transaction Gas Used Reward
view all blocks sequenced

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
[ 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.