Hoodi Testnet

Contract

0x9c2880C58e2F7bc7f1Bcbf0e0d220B8a3d6cc5a9

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Deposit16069352025-11-12 16:22:244 hrs ago1762964544IN
0x9c2880C5...a3d6cc5a9
64 ETH0.00013921.20014423
Deposit16061052025-11-12 13:27:486 hrs ago1762954068IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000096551.37348448
Deposit15913462025-11-10 8:39:362 days ago1762763976IN
0x9c2880C5...a3d6cc5a9
32 ETH0.000089381.19690276
Deposit15739782025-11-07 16:12:125 days ago1762531932IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000085021.16037144
Deposit15687792025-11-06 20:44:005 days ago1762461840IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000075591.07543207
Deposit15558302025-11-04 22:13:007 days ago1762294380IN
0x9c2880C5...a3d6cc5a9
2,048 ETH0.000081871.0965842
Deposit15558252025-11-04 22:11:487 days ago1762294308IN
0x9c2880C5...a3d6cc5a9
2,048 ETH0.000072841.01629316
Deposit15558232025-11-04 22:11:247 days ago1762294284IN
0x9c2880C5...a3d6cc5a9
2,048 ETH0.000101621.17394031
Deposit15129342025-10-29 15:20:2414 days ago1761751224IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000136891.94710226
Deposit15110202025-10-29 8:28:0014 days ago1761726480IN
0x9c2880C5...a3d6cc5a9
320 ETH0.000722752.00400804
Deposit15066932025-10-28 16:45:4815 days ago1761669948IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000128511.1089794
Deposit14538132025-10-20 14:15:3623 days ago1760969736IN
0x9c2880C5...a3d6cc5a9
100 ETH0.000227812.07034584
Deposit14317742025-10-17 9:40:1226 days ago1760694012IN
0x9c2880C5...a3d6cc5a9
68 ETH0.000223322.02931653
Deposit14250012025-10-16 9:31:0027 days ago1760607060IN
0x9c2880C5...a3d6cc5a9
35 ETH0.000072491.01091019
Deposit14247192025-10-16 8:31:1227 days ago1760603472IN
0x9c2880C5...a3d6cc5a9
35 ETH0.000085031.13864176
Deposit14197642025-10-15 14:28:3628 days ago1760538516IN
0x9c2880C5...a3d6cc5a9
64 ETH0.000151841.34376583
Deposit13791882025-10-09 12:56:3634 days ago1760014596IN
0x9c2880C5...a3d6cc5a9
228 ETH0.000267241.95703679
Deposit13791862025-10-09 12:56:1234 days ago1760014572IN
0x9c2880C5...a3d6cc5a9
32 ETH0.000167912.00843866
Deposit13791762025-10-09 12:53:4834 days ago1760014428IN
0x9c2880C5...a3d6cc5a9
32 ETH0.000144242.01181482
Deposit13778132025-10-09 8:03:0034 days ago1759996980IN
0x9c2880C5...a3d6cc5a9
64 ETH0.000216552.02254742
Deposit13777772025-10-09 7:55:0034 days ago1759996500IN
0x9c2880C5...a3d6cc5a9
120 ETH0.00022382.03365907
Deposit13387212025-10-03 8:08:3640 days ago1759478916IN
0x9c2880C5...a3d6cc5a9
35 ETH0.000085631.19454047
Deposit13336782025-10-02 14:08:3641 days ago1759414116IN
0x9c2880C5...a3d6cc5a9
96 ETH0.000178381.19519697
Deposit13138822025-09-29 15:32:1244 days ago1759159932IN
0x9c2880C5...a3d6cc5a9
70 ETH0.000269382.51858914
Deposit12929012025-09-26 13:13:0047 days ago1758892380IN
0x9c2880C5...a3d6cc5a9
32 ETH0.000083741.16779822
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Amount
Transfer*16069352025-11-12 16:22:244 hrs ago1762964544
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*16069352025-11-12 16:22:244 hrs ago1762964544
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*16061052025-11-12 13:27:486 hrs ago1762954068
0x9c2880C5...a3d6cc5a9
100 ETH
Transfer*15913462025-11-10 8:39:362 days ago1762763976
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15739782025-11-07 16:12:125 days ago1762531932
0x9c2880C5...a3d6cc5a9
100 ETH
Transfer*15687792025-11-06 20:44:005 days ago1762461840
0x9c2880C5...a3d6cc5a9
100 ETH
Transfer*15558302025-11-04 22:13:007 days ago1762294380
0x9c2880C5...a3d6cc5a9
2,048 ETH
Transfer*15558252025-11-04 22:11:487 days ago1762294308
0x9c2880C5...a3d6cc5a9
2,048 ETH
Transfer*15558232025-11-04 22:11:247 days ago1762294284
0x9c2880C5...a3d6cc5a9
2,048 ETH
Transfer*15129342025-10-29 15:20:2414 days ago1761751224
0x9c2880C5...a3d6cc5a9
100 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15110202025-10-29 8:28:0014 days ago1761726480
0x9c2880C5...a3d6cc5a9
32 ETH
Transfer*15066932025-10-28 16:45:4815 days ago1761669948
0x9c2880C5...a3d6cc5a9
50 ETH
Transfer*15066932025-10-28 16:45:4815 days ago1761669948
0x9c2880C5...a3d6cc5a9
50 ETH
Transfer*14538132025-10-20 14:15:3623 days ago1760969736
0x9c2880C5...a3d6cc5a9
50 ETH
Transfer*14538132025-10-20 14:15:3623 days ago1760969736
0x9c2880C5...a3d6cc5a9
50 ETH
Transfer*14317742025-10-17 9:40:1226 days ago1760694012
0x9c2880C5...a3d6cc5a9
34 ETH
View All Internal Transactions
Loading...
Loading

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BatchValidatorDepositor

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

/*
 * Electra-compatible batch validator deposit contract.
 * 
 * Based on the Abyss ETH2 depositor.
 */

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Pausable.sol";
import "../contracts/interfaces/IDepositContract.sol";

contract BatchValidatorDepositor is Pausable, Ownable {

    /**
     * @dev Eth2 Deposit Contract address.
     */
    IDepositContract public depositContract;

    /**
     * @dev Minimal and maximum amount of nodes per transaction.
     */
    uint256 public constant nodesMinAmount = 1;
    uint256 public constant nodesMaxAmount = 100;
    uint256 public constant pubkeyLength = 48;
    uint256 public constant credentialsLength = 32;
    uint256 public constant signatureLength = 96;

    /**
     * @dev Setting Eth2 Smart Contract address during construction.
     */
    constructor(bool mainnet, address depositContract_) Ownable(msg.sender) {
        if (mainnet == true) {
            depositContract = IDepositContract(0x00000000219ab540356cBB839Cbe05303d7705Fa);
        } else if (depositContract_ == 0x0000000000000000000000000000000000000000) {
            depositContract = IDepositContract(0x8c5fecdC472E27Bc447696F431E425D02dd46a8c);
        } else {
            depositContract = IDepositContract(depositContract_);
        }
    }

    /**
     * @dev This contract will not accept direct ETH transactions.
     */
    receive() external payable {
        revert("BatchValidatorDepositor: do not send ETH directly here");
    }

    /**
     * @dev Function that allows to deposit up to 100 nodes at once.
     *
     * - pubkeys                - Array of BLS12-381 public keys.
     * - withdrawal_credentials - Array of commitments to a public keys for withdrawals.
     * - signatures             - Array of BLS12-381 signatures.
     * - deposit_data_roots     - Array of the SHA-256 hashes of the SSZ-encoded DepositData objects.
     * - collateral             - Array of the Wei amounts to be deposited with each request.
     */
    function deposit(
        bytes[] calldata pubkeys,
        bytes[] calldata withdrawal_credentials,
        bytes[] calldata signatures,
        bytes32[] calldata deposit_data_roots,
        uint256[] calldata collateral
    ) external payable whenNotPaused {

        uint256 nodesAmount = pubkeys.length;

        require(nodesAmount >= nodesMinAmount && nodesAmount <= nodesMaxAmount, "BatchValidatorDepositor: you can deposit only 1 to 100 nodes per transaction");

        require(
            withdrawal_credentials.length == nodesAmount &&
            signatures.length == nodesAmount &&
            deposit_data_roots.length == nodesAmount &&
            collateral.length == nodesAmount,
            "BatchValidatorDepositor: amount of parameters do not match");

        uint256 totalCollateral = 0;
        for (uint256 i = 0; i < collateral.length; ++i) {
                totalCollateral += collateral[i];
        }
        require(msg.value == totalCollateral, "BatchValidatorDepositor: provided ETH does not match required ETH");

        for (uint256 i = 0; i < nodesAmount; ++i) {
            require(pubkeys[i].length == pubkeyLength, "BatchValidatorDepositor: incorrect pubkey length");
            require(withdrawal_credentials[i].length == credentialsLength, "BatchValidatorDepositor: incorrect withdrawal credentials length");
            require(signatures[i].length == signatureLength, "BatchValidatorDepositor: incorrect signature length");

            IDepositContract(address(depositContract)).deposit{value: collateral[i]}(
                pubkeys[i],
                withdrawal_credentials[i],
                signatures[i],
                deposit_data_roots[i]
            );
        }

        emit DepositEvent(msg.sender, nodesAmount, msg.value);
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function pause() public onlyOwner {
      _pause();
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function unpause() public onlyOwner {
      _unpause();
    }

    event DepositEvent(address from, uint256 nodesAmount, uint256 totalCollateral);
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;

import {Context} from "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Pausable.sol)

pragma solidity ^0.8.20;

import {Context} from "../utils/Context.sol";

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    bool private _paused;

    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    /**
     * @dev The operation failed because the contract is paused.
     */
    error EnforcedPause();

    /**
     * @dev The operation failed because the contract is not paused.
     */
    error ExpectedPause();

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        _requireNotPaused();
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        _requirePaused();
        _;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Throws if the contract is paused.
     */
    function _requireNotPaused() internal view virtual {
        if (paused()) {
            revert EnforcedPause();
        }
    }

    /**
     * @dev Throws if the contract is not paused.
     */
    function _requirePaused() internal view virtual {
        if (!paused()) {
            revert ExpectedPause();
        }
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// SPDX-License-Identifier: CC0-1.0

pragma solidity ^0.8.0;

// This interface is designed to be compatible with the Vyper version.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
interface IDepositContract {
    /// @notice A processed deposit event.
    event DepositEvent(
        bytes pubkey,
        bytes withdrawal_credentials,
        bytes amount,
        bytes signature,
        bytes index
    );

    /// @notice Submit a Phase 0 DepositData object.
    /// @param pubkey A BLS12-381 public key.
    /// @param withdrawal_credentials Commitment to a public key for withdrawals.
    /// @param signature A BLS12-381 signature.
    /// @param deposit_data_root The SHA-256 hash of the SSZ-encoded DepositData object.
    /// Used as a protection against malformed input.
    function deposit(
        bytes calldata pubkey,
        bytes calldata withdrawal_credentials,
        bytes calldata signature,
        bytes32 deposit_data_root
    ) external payable;

    /// @notice Query the current deposit root hash.
    /// @return The deposit root hash.
    function get_deposit_root() external view returns (bytes32);

    /// @notice Query the current deposit count.
    /// @return The deposit count encoded as a little endian 64-bit number.
    function get_deposit_count() external view returns (bytes memory);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract ABI

API
[{"inputs":[{"internalType":"bool","name":"mainnet","type":"bool"},{"internalType":"address","name":"depositContract_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"nodesAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalCollateral","type":"uint256"}],"name":"DepositEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"credentialsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"pubkeys","type":"bytes[]"},{"internalType":"bytes[]","name":"withdrawal_credentials","type":"bytes[]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"},{"internalType":"bytes32[]","name":"deposit_data_roots","type":"bytes32[]"},{"internalType":"uint256[]","name":"collateral","type":"uint256[]"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositContract","outputs":[{"internalType":"contract IDepositContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nodesMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nodesMinAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pubkeyLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signatureLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610df6380380610df683398101604081905261002f91610152565b6000805460ff19169055338061005f57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b610068816100f9565b5081151560010361009a57600180546001600160a01b0319166f219ab540356cbb839cbe05303d7705fa1790556100f2565b6001600160a01b0381166000036100d657600180546001600160a01b031916738c5fecdc472e27bc447696f431e425d02dd46a8c1790556100f2565b600180546001600160a01b0319166001600160a01b0383161790555b505061019d565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6000806040838503121561016557600080fd5b8251801515811461017557600080fd5b60208401519092506001600160a01b038116811461019257600080fd5b809150509250929050565b610c4a806101ac6000396000f3fe6080604052600436106100c65760003560e01c80638456cb591161007f578063c09bb1db11610059578063c09bb1db1461023e578063e94ad65b14610251578063f2fde38b14610271578063f4fbdfac1461029157600080fd5b80638456cb59146101dd5780638da5cb5b146101f2578063a5ab1d311461022957600080fd5b80631b9a93231461013c5780633f4ba83a1461016457806343ba591d1461017b5780634903e8be146101905780635c975abb146101a5578063715018a6146101c857600080fd5b366101375760405162461bcd60e51b815260206004820152603660248201527f426174636856616c696461746f724465706f7369746f723a20646f206e6f742060448201527573656e6420455448206469726563746c79206865726560501b60648201526084015b60405180910390fd5b600080fd5b34801561014857600080fd5b50610151606081565b6040519081526020015b60405180910390f35b34801561017057600080fd5b506101796102a6565b005b34801561018757600080fd5b50610151606481565b34801561019c57600080fd5b50610151603081565b3480156101b157600080fd5b5060005460ff16604051901515815260200161015b565b3480156101d457600080fd5b506101796102b8565b3480156101e957600080fd5b506101796102ca565b3480156101fe57600080fd5b5060005461010090046001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561023557600080fd5b50610151602081565b61017961024c3660046109db565b6102da565b34801561025d57600080fd5b50600154610211906001600160a01b031681565b34801561027d57600080fd5b5061017961028c366004610ae6565b6107ef565b34801561029d57600080fd5b50610151600181565b6102ae61082d565b6102b6610860565b565b6102c061082d565b6102b660006108b2565b6102d261082d565b6102b661090b565b6102e2610948565b88600181108015906102f5575060648111155b61037c5760405162461bcd60e51b815260206004820152604c60248201527f426174636856616c696461746f724465706f7369746f723a20796f752063616e60448201527f206465706f736974206f6e6c79203120746f20313030206e6f6465732070657260648201526b103a3930b739b0b1ba34b7b760a11b608482015260a40161012e565b878114801561038a57508581145b801561039557508381145b80156103a057508181145b6104125760405162461bcd60e51b815260206004820152603a60248201527f426174636856616c696461746f724465706f7369746f723a20616d6f756e742060448201527f6f6620706172616d657465727320646f206e6f74206d61746368000000000000606482015260840161012e565b6000805b8381101561044c5784848281811061043057610430610b16565b90506020020135826104429190610b2c565b9150600101610416565b508034146104cc5760405162461bcd60e51b815260206004820152604160248201527f426174636856616c696461746f724465706f7369746f723a2070726f7669646560448201527f642045544820646f6573206e6f74206d617463682072657175697265642045546064820152600960fb1b608482015260a40161012e565b60005b828110156107a15760308d8d838181106104eb576104eb610b16565b90506020028101906104fd9190610b53565b9050146105655760405162461bcd60e51b815260206004820152603060248201527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201526f0c6e840e0eac4d6caf240d8cadccee8d60831b606482015260840161012e565b60208b8b8381811061057957610579610b16565b905060200281019061058b9190610b53565b905014610602576040805162461bcd60e51b81526020600482015260248101919091527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201527f6374207769746864726177616c2063726564656e7469616c73206c656e677468606482015260840161012e565b606089898381811061061657610616610b16565b90506020028101906106289190610b53565b9050146106935760405162461bcd60e51b815260206004820152603360248201527f426174636856616c696461746f724465706f7369746f723a20696e636f7272656044820152720c6e840e6d2cedcc2e8eae4ca40d8cadccee8d606b1b606482015260840161012e565b6001546001600160a01b031663228951188686848181106106b6576106b6610b16565b905060200201358f8f858181106106cf576106cf610b16565b90506020028101906106e19190610b53565b8f8f878181106106f3576106f3610b16565b90506020028101906107059190610b53565b8f8f8981811061071757610717610b16565b90506020028101906107299190610b53565b8f8f8b81811061073b5761073b610b16565b905060200201356040518963ffffffff1660e01b81526004016107649796959493929190610bc3565b6000604051808303818588803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b50505050508060010190506104cf565b506040805133815260208101849052348183015290517fad40ae5dc69974ba932d08b0a608e89109412d41d04850f5196f144875ae26609181900360600190a1505050505050505050505050565b6107f761082d565b6001600160a01b03811661082157604051631e4fbdf760e01b81526000600482015260240161012e565b61082a816108b2565b50565b6000546001600160a01b036101009091041633146102b65760405163118cdaa760e01b815233600482015260240161012e565b61086861096c565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610913610948565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108953390565b60005460ff16156102b65760405163d93c066560e01b815260040160405180910390fd5b60005460ff166102b657604051638dfc202b60e01b815260040160405180910390fd5b60008083601f8401126109a157600080fd5b50813567ffffffffffffffff8111156109b957600080fd5b6020830191508360208260051b85010111156109d457600080fd5b9250929050565b60008060008060008060008060008060a08b8d0312156109fa57600080fd5b8a3567ffffffffffffffff811115610a1157600080fd5b610a1d8d828e0161098f565b909b5099505060208b013567ffffffffffffffff811115610a3d57600080fd5b610a498d828e0161098f565b90995097505060408b013567ffffffffffffffff811115610a6957600080fd5b610a758d828e0161098f565b90975095505060608b013567ffffffffffffffff811115610a9557600080fd5b610aa18d828e0161098f565b90955093505060808b013567ffffffffffffffff811115610ac157600080fd5b610acd8d828e0161098f565b915080935050809150509295989b9194979a5092959850565b600060208284031215610af857600080fd5b81356001600160a01b0381168114610b0f57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b4d57634e487b7160e01b600052601160045260246000fd5b92915050565b6000808335601e19843603018112610b6a57600080fd5b83018035915067ffffffffffffffff821115610b8557600080fd5b6020019150368190038213156109d457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000610bd760808301898b610b9a565b8281036020840152610bea81888a610b9a565b90508281036040840152610bff818688610b9a565b9150508260608301529897505050505050505056fea26469706673582212206b3e6c9b09cacbcce41335f86ceffb2dc0790cea9b7a4babef22fcb4b38c1cf964736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000219ab540356cbb839cbe05303d7705fa

Deployed Bytecode

0x6080604052600436106100c65760003560e01c80638456cb591161007f578063c09bb1db11610059578063c09bb1db1461023e578063e94ad65b14610251578063f2fde38b14610271578063f4fbdfac1461029157600080fd5b80638456cb59146101dd5780638da5cb5b146101f2578063a5ab1d311461022957600080fd5b80631b9a93231461013c5780633f4ba83a1461016457806343ba591d1461017b5780634903e8be146101905780635c975abb146101a5578063715018a6146101c857600080fd5b366101375760405162461bcd60e51b815260206004820152603660248201527f426174636856616c696461746f724465706f7369746f723a20646f206e6f742060448201527573656e6420455448206469726563746c79206865726560501b60648201526084015b60405180910390fd5b600080fd5b34801561014857600080fd5b50610151606081565b6040519081526020015b60405180910390f35b34801561017057600080fd5b506101796102a6565b005b34801561018757600080fd5b50610151606481565b34801561019c57600080fd5b50610151603081565b3480156101b157600080fd5b5060005460ff16604051901515815260200161015b565b3480156101d457600080fd5b506101796102b8565b3480156101e957600080fd5b506101796102ca565b3480156101fe57600080fd5b5060005461010090046001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561023557600080fd5b50610151602081565b61017961024c3660046109db565b6102da565b34801561025d57600080fd5b50600154610211906001600160a01b031681565b34801561027d57600080fd5b5061017961028c366004610ae6565b6107ef565b34801561029d57600080fd5b50610151600181565b6102ae61082d565b6102b6610860565b565b6102c061082d565b6102b660006108b2565b6102d261082d565b6102b661090b565b6102e2610948565b88600181108015906102f5575060648111155b61037c5760405162461bcd60e51b815260206004820152604c60248201527f426174636856616c696461746f724465706f7369746f723a20796f752063616e60448201527f206465706f736974206f6e6c79203120746f20313030206e6f6465732070657260648201526b103a3930b739b0b1ba34b7b760a11b608482015260a40161012e565b878114801561038a57508581145b801561039557508381145b80156103a057508181145b6104125760405162461bcd60e51b815260206004820152603a60248201527f426174636856616c696461746f724465706f7369746f723a20616d6f756e742060448201527f6f6620706172616d657465727320646f206e6f74206d61746368000000000000606482015260840161012e565b6000805b8381101561044c5784848281811061043057610430610b16565b90506020020135826104429190610b2c565b9150600101610416565b508034146104cc5760405162461bcd60e51b815260206004820152604160248201527f426174636856616c696461746f724465706f7369746f723a2070726f7669646560448201527f642045544820646f6573206e6f74206d617463682072657175697265642045546064820152600960fb1b608482015260a40161012e565b60005b828110156107a15760308d8d838181106104eb576104eb610b16565b90506020028101906104fd9190610b53565b9050146105655760405162461bcd60e51b815260206004820152603060248201527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201526f0c6e840e0eac4d6caf240d8cadccee8d60831b606482015260840161012e565b60208b8b8381811061057957610579610b16565b905060200281019061058b9190610b53565b905014610602576040805162461bcd60e51b81526020600482015260248101919091527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201527f6374207769746864726177616c2063726564656e7469616c73206c656e677468606482015260840161012e565b606089898381811061061657610616610b16565b90506020028101906106289190610b53565b9050146106935760405162461bcd60e51b815260206004820152603360248201527f426174636856616c696461746f724465706f7369746f723a20696e636f7272656044820152720c6e840e6d2cedcc2e8eae4ca40d8cadccee8d606b1b606482015260840161012e565b6001546001600160a01b031663228951188686848181106106b6576106b6610b16565b905060200201358f8f858181106106cf576106cf610b16565b90506020028101906106e19190610b53565b8f8f878181106106f3576106f3610b16565b90506020028101906107059190610b53565b8f8f8981811061071757610717610b16565b90506020028101906107299190610b53565b8f8f8b81811061073b5761073b610b16565b905060200201356040518963ffffffff1660e01b81526004016107649796959493929190610bc3565b6000604051808303818588803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b50505050508060010190506104cf565b506040805133815260208101849052348183015290517fad40ae5dc69974ba932d08b0a608e89109412d41d04850f5196f144875ae26609181900360600190a1505050505050505050505050565b6107f761082d565b6001600160a01b03811661082157604051631e4fbdf760e01b81526000600482015260240161012e565b61082a816108b2565b50565b6000546001600160a01b036101009091041633146102b65760405163118cdaa760e01b815233600482015260240161012e565b61086861096c565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610913610948565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108953390565b60005460ff16156102b65760405163d93c066560e01b815260040160405180910390fd5b60005460ff166102b657604051638dfc202b60e01b815260040160405180910390fd5b60008083601f8401126109a157600080fd5b50813567ffffffffffffffff8111156109b957600080fd5b6020830191508360208260051b85010111156109d457600080fd5b9250929050565b60008060008060008060008060008060a08b8d0312156109fa57600080fd5b8a3567ffffffffffffffff811115610a1157600080fd5b610a1d8d828e0161098f565b909b5099505060208b013567ffffffffffffffff811115610a3d57600080fd5b610a498d828e0161098f565b90995097505060408b013567ffffffffffffffff811115610a6957600080fd5b610a758d828e0161098f565b90975095505060608b013567ffffffffffffffff811115610a9557600080fd5b610aa18d828e0161098f565b90955093505060808b013567ffffffffffffffff811115610ac157600080fd5b610acd8d828e0161098f565b915080935050809150509295989b9194979a5092959850565b600060208284031215610af857600080fd5b81356001600160a01b0381168114610b0f57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b4d57634e487b7160e01b600052601160045260246000fd5b92915050565b6000808335601e19843603018112610b6a57600080fd5b83018035915067ffffffffffffffff821115610b8557600080fd5b6020019150368190038213156109d457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000610bd760808301898b610b9a565b8281036020840152610bea81888a610b9a565b90508281036040840152610bff818688610b9a565b9150508260608301529897505050505050505056fea26469706673582212206b3e6c9b09cacbcce41335f86ceffb2dc0790cea9b7a4babef22fcb4b38c1cf964736f6c634300081c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000219ab540356cbb839cbe05303d7705fa

-----Decoded View---------------
Arg [0] : mainnet (bool): False
Arg [1] : depositContract_ (address): 0x00000000219ab540356cBB839Cbe05303d7705Fa

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
0x9c2880C58e2F7bc7f1Bcbf0e0d220B8a3d6cc5a9
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.