Holesky Testnet

Contract

0x0b6E07c5EAd5596C1f26ca2F6B97050ceC853671

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Batch Deposit33028962025-02-07 8:31:122 days ago1738917072IN
0x0b6E07c5...ceC853671
32 ETH0.000000070.00100001
Batch Deposit32947832025-02-06 3:48:363 days ago1738813716IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00098001
Batch Deposit32925362025-02-05 19:53:003 days ago1738785180IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit32844542025-02-04 14:51:484 days ago1738680708IN
0x0b6E07c5...ceC853671
32 ETH0.000058870.94718806
Batch Deposit32839022025-02-04 12:54:124 days ago1738673652IN
0x0b6E07c5...ceC853671
32 ETH0.000058870.94718806
Batch Deposit32777472025-02-03 15:01:485 days ago1738594908IN
0x0b6E07c5...ceC853671
32 ETH0.000067080.90582795
Batch Deposit32777142025-02-03 14:54:485 days ago1738594488IN
0x0b6E07c5...ceC853671
32 ETH0.000059890.90582795
Batch Deposit32777082025-02-03 14:53:365 days ago1738594416IN
0x0b6E07c5...ceC853671
32 ETH0.000056290.90582795
Batch Deposit32494782025-01-30 9:20:0010 days ago1738228800IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit32494732025-01-30 9:19:0010 days ago1738228740IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit32494682025-01-30 9:18:0010 days ago1738228680IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit32008792025-01-23 3:06:3617 days ago1737601596IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit31633752025-01-17 11:44:3623 days ago1737114276IN
0x0b6E07c5...ceC853671
32 ETH0.000068921.10882744
Batch Deposit31624502025-01-17 8:23:2423 days ago1737102204IN
0x0b6E07c5...ceC853671
32 ETH0.00002350.33066683
Batch Deposit31578882025-01-16 15:53:0023 days ago1737042780IN
0x0b6E07c5...ceC853671
32 ETH0.000032240.51883475
Batch Deposit31574772025-01-16 14:24:3623 days ago1737037476IN
0x0b6E07c5...ceC853671
32 ETH0.000086541.39241601
Batch Deposit31573232025-01-16 13:49:3623 days ago1737035376IN
0x0b6E07c5...ceC853671
32 ETH0.00006981.12281492
Batch Deposit31572302025-01-16 13:29:1223 days ago1737034152IN
0x0b6E07c5...ceC853671
32 ETH0.000055730.8183001
Batch Deposit31512772025-01-15 16:03:2424 days ago1736957004IN
0x0b6E07c5...ceC853671
32 ETH0.000094761.45469819
Batch Deposit31446132025-01-14 16:06:2425 days ago1736870784IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit31446052025-01-14 16:04:4825 days ago1736870688IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit31446012025-01-14 16:04:0025 days ago1736870640IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit31445942025-01-14 16:02:2425 days ago1736870544IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100001
Batch Deposit31445692025-01-14 15:57:0025 days ago1736870220IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00100002
Batch Deposit31439402025-01-14 13:43:4825 days ago1736862228IN
0x0b6E07c5...ceC853671
32 ETH0.000000060.00097003
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
33028962025-02-07 8:31:122 days ago1738917072
0x0b6E07c5...ceC853671
32 ETH
32947832025-02-06 3:48:363 days ago1738813716
0x0b6E07c5...ceC853671
32 ETH
32925362025-02-05 19:53:003 days ago1738785180
0x0b6E07c5...ceC853671
32 ETH
32844542025-02-04 14:51:484 days ago1738680708
0x0b6E07c5...ceC853671
32 ETH
32839022025-02-04 12:54:124 days ago1738673652
0x0b6E07c5...ceC853671
32 ETH
32777472025-02-03 15:01:485 days ago1738594908
0x0b6E07c5...ceC853671
32 ETH
32777142025-02-03 14:54:485 days ago1738594488
0x0b6E07c5...ceC853671
32 ETH
32777082025-02-03 14:53:365 days ago1738594416
0x0b6E07c5...ceC853671
32 ETH
32494782025-01-30 9:20:0010 days ago1738228800
0x0b6E07c5...ceC853671
32 ETH
32494732025-01-30 9:19:0010 days ago1738228740
0x0b6E07c5...ceC853671
32 ETH
32494682025-01-30 9:18:0010 days ago1738228680
0x0b6E07c5...ceC853671
32 ETH
32349792025-01-28 5:08:3612 days ago1738040916
0x0b6E07c5...ceC853671
32 ETH
32349792025-01-28 5:08:3612 days ago1738040916
0x0b6E07c5...ceC853671
32 ETH
32291462025-01-27 8:19:4813 days ago1737965988
0x0b6E07c5...ceC853671
32 ETH
32291462025-01-27 8:19:4813 days ago1737965988
0x0b6E07c5...ceC853671
32 ETH
32291462025-01-27 8:19:4813 days ago1737965988
0x0b6E07c5...ceC853671
64 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
32 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
32 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
32 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
32 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
32 ETH
32286632025-01-27 6:35:4813 days ago1737959748
0x0b6E07c5...ceC853671
160 ETH
32281342025-01-27 4:43:0013 days ago1737952980
0x0b6E07c5...ceC853671
32 ETH
32281342025-01-27 4:43:0013 days ago1737952980
0x0b6E07c5...ceC853671
32 ETH
32109002025-01-24 15:00:4815 days ago1737730848
0x0b6E07c5...ceC853671
32 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BatchDeposit

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200000 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: eth2-batch-deposit.sol
// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.9;

import {IDepositContract} from "./eth2-official-deposit-contract.sol";

interface IBatchDeposit {
    function batchDeposit(uint validUntil, bytes calldata args) external payable;
}

contract BatchDeposit is IBatchDeposit {
    IDepositContract public immutable depositContract;

    uint constant private pubkeyLength = 48;
    uint constant private withdrawalCredentialsLength = 32;
    uint constant private signatureLength = 96;
    uint constant private depositDataRootLength = 32;
    uint constant private depositArgsLength =
        pubkeyLength +
        withdrawalCredentialsLength +
        signatureLength +
        depositDataRootLength;

    constructor(IDepositContract _depositContract) {
        require(address(_depositContract) != address(0),
                "Please specify the correct deposit contract");
        depositContract = _depositContract;
    }

    function batchDeposit(uint validUntil, bytes calldata args) external payable {
        require(
            block.timestamp < validUntil,
            "Transaction submitted after agreed upon deadline");
        require(
            args.length % depositArgsLength == 0,
            "Input data length must be multiple of depositArgsLength"
        );
        uint count = args.length / depositArgsLength;
        require(msg.value % 32 ether == 0, "msg.value must be multiple of 32 ETH");
        require(msg.value / 32 ether == count, "msg.value must be 32 ETH * count");

        uint withdrawalCredentialsStart;
        uint signatureStart;
        uint depositDataRootStart;

        for (uint pubkeyStart = 0; pubkeyStart < args.length; ) {
            unchecked
            {
                withdrawalCredentialsStart = pubkeyStart + pubkeyLength;
                signatureStart = withdrawalCredentialsStart + withdrawalCredentialsLength;
                depositDataRootStart = signatureStart + signatureLength;
            }

            uint depositDataRootEnd;
            unchecked { depositDataRootEnd = depositDataRootStart + depositDataRootLength; }
            bytes32 depositDataRoot = bytes32(args[depositDataRootStart : depositDataRootEnd]);

            depositContract.deposit{value: 32 ether}(
                args[pubkeyStart : withdrawalCredentialsStart],
                args[withdrawalCredentialsStart : signatureStart],
                args[signatureStart : depositDataRootStart],
                depositDataRoot
            );
            pubkeyStart = depositDataRootEnd;
        }
    }
}

File 2 of 2: eth2-official-deposit-contract.sol
// ┏━━━┓━┏┓━┏┓━━┏━━━┓━━┏━━━┓━━━━┏━━━┓━━━━━━━━━━━━━━━━━━━┏┓━━━━━┏━━━┓━━━━━━━━━┏┓━━━━━━━━━━━━━━┏┓━
// ┃┏━━┛┏┛┗┓┃┃━━┃┏━┓┃━━┃┏━┓┃━━━━┗┓┏┓┃━━━━━━━━━━━━━━━━━━┏┛┗┓━━━━┃┏━┓┃━━━━━━━━┏┛┗┓━━━━━━━━━━━━┏┛┗┓
// ┃┗━━┓┗┓┏┛┃┗━┓┗┛┏┛┃━━┃┃━┃┃━━━━━┃┃┃┃┏━━┓┏━━┓┏━━┓┏━━┓┏┓┗┓┏┛━━━━┃┃━┗┛┏━━┓┏━┓━┗┓┏┛┏━┓┏━━┓━┏━━┓┗┓┏┛
// ┃┏━━┛━┃┃━┃┏┓┃┏━┛┏┛━━┃┃━┃┃━━━━━┃┃┃┃┃┏┓┃┃┏┓┃┃┏┓┃┃━━┫┣┫━┃┃━━━━━┃┃━┏┓┃┏┓┃┃┏┓┓━┃┃━┃┏┛┗━┓┃━┃┏━┛━┃┃━
// ┃┗━━┓━┃┗┓┃┃┃┃┃┃┗━┓┏┓┃┗━┛┃━━━━┏┛┗┛┃┃┃━┫┃┗┛┃┃┗┛┃┣━━┃┃┃━┃┗┓━━━━┃┗━┛┃┃┗┛┃┃┃┃┃━┃┗┓┃┃━┃┗┛┗┓┃┗━┓━┃┗┓
// ┗━━━┛━┗━┛┗┛┗┛┗━━━┛┗┛┗━━━┛━━━━┗━━━┛┗━━┛┃┏━┛┗━━┛┗━━┛┗┛━┗━┛━━━━┗━━━┛┗━━┛┗┛┗┛━┗━┛┗┛━┗━━━┛┗━━┛━┗━┛
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┃┃━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┗┛━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.9;

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

// Based on official specification in https://eips.ethereum.org/EIPS/eip-165
interface ERC165 {
    /// @notice Query if a contract implements an interface
    /// @param interfaceId The interface identifier, as specified in ERC-165
    /// @dev Interface identification is specified in ERC-165. This function
    ///  uses less than 30,000 gas.
    /// @return `true` if the contract implements `interfaceId` and
    ///  `interfaceId` is not 0xffffffff, `false` otherwise
    function supportsInterface(bytes4 interfaceId) external pure returns (bool);
}

// This is a rewrite of the Vyper Eth2.0 deposit contract in Solidity.
// It tries to stay as close as possible to the original source code.
/// @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
contract DepositContract is IDepositContract, ERC165 {
    uint constant DEPOSIT_CONTRACT_TREE_DEPTH = 32;
    // NOTE: this also ensures `deposit_count` will fit into 64-bits
    uint constant MAX_DEPOSIT_COUNT = 2**DEPOSIT_CONTRACT_TREE_DEPTH - 1;

    bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] branch;
    uint256 deposit_count;

    bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] zero_hashes;

    constructor() {
        // Compute hashes in empty sparse Merkle tree
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH - 1; height++)
            zero_hashes[height + 1] = sha256(abi.encodePacked(zero_hashes[height], zero_hashes[height]));
    }

    function get_deposit_root() override external view returns (bytes32) {
        bytes32 node;
        uint size = deposit_count;
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
            if ((size & 1) == 1)
                node = sha256(abi.encodePacked(branch[height], node));
            else
                node = sha256(abi.encodePacked(node, zero_hashes[height]));
            size /= 2;
        }
        return sha256(abi.encodePacked(
            node,
            to_little_endian_64(uint64(deposit_count)),
            bytes24(0)
        ));
    }

    function get_deposit_count() override external view returns (bytes memory) {
        return to_little_endian_64(uint64(deposit_count));
    }

    function deposit(
        bytes calldata pubkey,
        bytes calldata withdrawal_credentials,
        bytes calldata signature,
        bytes32 deposit_data_root
    ) override external payable {
        // Extended ABI length checks since dynamic types are used.
        require(pubkey.length == 48, "DepositContract: invalid pubkey length");
        require(withdrawal_credentials.length == 32, "DepositContract: invalid withdrawal_credentials length");
        require(signature.length == 96, "DepositContract: invalid signature length");

        // Check deposit amount
        require(msg.value >= 1 ether, "DepositContract: deposit value too low");
        require(msg.value % 1 gwei == 0, "DepositContract: deposit value not multiple of gwei");
        uint deposit_amount = msg.value / 1 gwei;
        require(deposit_amount <= type(uint64).max, "DepositContract: deposit value too high");

        // Emit `DepositEvent` log
        bytes memory amount = to_little_endian_64(uint64(deposit_amount));
        emit DepositEvent(
            pubkey,
            withdrawal_credentials,
            amount,
            signature,
            to_little_endian_64(uint64(deposit_count))
        );

        // Compute deposit data root (`DepositData` hash tree root)
        bytes32 pubkey_root = sha256(abi.encodePacked(pubkey, bytes16(0)));
        bytes32 signature_root = sha256(abi.encodePacked(
            sha256(abi.encodePacked(signature[:64])),
            sha256(abi.encodePacked(signature[64:], bytes32(0)))
        ));
        bytes32 node = sha256(abi.encodePacked(
            sha256(abi.encodePacked(pubkey_root, withdrawal_credentials)),
            sha256(abi.encodePacked(amount, bytes24(0), signature_root))
        ));

        // Verify computed and expected deposit data roots match
        require(node == deposit_data_root, "DepositContract: reconstructed DepositData does not match supplied deposit_data_root");

        // Avoid overflowing the Merkle tree (and prevent edge case in computing `branch`)
        require(deposit_count < MAX_DEPOSIT_COUNT, "DepositContract: merkle tree full");

        // Add deposit data root to Merkle tree (update a single `branch` node)
        deposit_count += 1;
        uint size = deposit_count;
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
            if ((size & 1) == 1) {
                branch[height] = node;
                return;
            }
            node = sha256(abi.encodePacked(branch[height], node));
            size /= 2;
        }
        // As the loop should always end prematurely with the `return` statement,
        // this code should be unreachable. We assert `false` just to be safe.
        assert(false);
    }

    function supportsInterface(bytes4 interfaceId) override external pure returns (bool) {
        return interfaceId == type(ERC165).interfaceId || interfaceId == type(IDepositContract).interfaceId;
    }

    function to_little_endian_64(uint64 value) internal pure returns (bytes memory ret) {
        ret = new bytes(8);
        bytes8 bytesValue = bytes8(value);
        // Byteswapping during copying to bytes.
        ret[0] = bytesValue[7];
        ret[1] = bytesValue[6];
        ret[2] = bytesValue[5];
        ret[3] = bytesValue[4];
        ret[4] = bytesValue[3];
        ret[5] = bytesValue[2];
        ret[6] = bytesValue[1];
        ret[7] = bytesValue[0];
    }
}

Contract ABI

[{"inputs":[{"internalType":"contract IDepositContract","name":"_depositContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"validUntil","type":"uint256"},{"internalType":"bytes","name":"args","type":"bytes"}],"name":"batchDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositContract","outputs":[{"internalType":"contract IDepositContract","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b5060405161079d38038061079d83398101604081905261002f916100ae565b6001600160a01b03811661009d5760405162461bcd60e51b815260206004820152602b60248201527f506c6561736520737065636966792074686520636f7272656374206465706f7360448201526a1a5d0818dbdb9d1c9858dd60aa1b606482015260840160405180910390fd5b6001600160a01b03166080526100de565b6000602082840312156100c057600080fd5b81516001600160a01b03811681146100d757600080fd5b9392505050565b60805161069e6100ff600039600081816055015261038d015261069e6000f3fe6080604052600436106100295760003560e01c8063592c0b7d1461002e578063e94ad65b14610043575b600080fd5b61004161003c366004610455565b6100a0565b005b34801561004f57600080fd5b506100777f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b824210610134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f5472616e73616374696f6e207375626d6974746564206166746572206167726560448201527f65642075706f6e20646561646c696e650000000000000000000000000000000060648201526084015b60405180910390fd5b602060606101438260306104d1565b61014d91906104d1565b61015791906104d1565b610161908261053f565b156101ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f496e7075742064617461206c656e677468206d757374206265206d756c74697060448201527f6c65206f66206465706f736974417267734c656e677468000000000000000000606482015260840161012b565b6000602060606101ff8260306104d1565b61020991906104d1565b61021391906104d1565b61021d9083610553565b90506102326801bc16d674ec8000003461053f565b156102be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d73672e76616c7565206d757374206265206d756c7469706c65206f6620333260448201527f2045544800000000000000000000000000000000000000000000000000000000606482015260840161012b565b806102d26801bc16d674ec80000034610553565b14610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6d73672e76616c7565206d75737420626520333220455448202a20636f756e74604482015260640161012b565b60008080805b8581101561044b5760308101935060508101925060b08101915060d08101600061036b82858a8c610567565b61037491610591565b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663228951186801bc16d674ec8000006103c889878d8f610567565b8d8d8c908c926103da93929190610567565b8f8f8d908d926103ec93929190610567565b896040518963ffffffff1660e01b815260040161040f9796959493929190610617565b6000604051808303818588803b15801561042857600080fd5b505af115801561043c573d6000803e3d6000fd5b5050505050819250505061033f565b5050505050505050565b60008060006040848603121561046a57600080fd5b83359250602084013567ffffffffffffffff8082111561048957600080fd5b818601915086601f83011261049d57600080fd5b8135818111156104ac57600080fd5b8760208285010111156104be57600080fd5b6020830194508093505050509250925092565b6000821982111561050b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261054e5761054e610510565b500690565b60008261056257610562610510565b500490565b6000808585111561057757600080fd5b8386111561058457600080fd5b5050820193919092039150565b803560208310156105c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60808152600061062b60808301898b6105ce565b828103602084015261063e81888a6105ce565b905082810360408401526106538186886105ce565b9150508260608301529897505050505050505056fea2646970667358221220074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a68664736f6c634300080900330000000000000000000000004242424242424242424242424242424242424242

Deployed Bytecode

0x6080604052600436106100295760003560e01c8063592c0b7d1461002e578063e94ad65b14610043575b600080fd5b61004161003c366004610455565b6100a0565b005b34801561004f57600080fd5b506100777f000000000000000000000000424242424242424242424242424242424242424281565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b824210610134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f5472616e73616374696f6e207375626d6974746564206166746572206167726560448201527f65642075706f6e20646561646c696e650000000000000000000000000000000060648201526084015b60405180910390fd5b602060606101438260306104d1565b61014d91906104d1565b61015791906104d1565b610161908261053f565b156101ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f496e7075742064617461206c656e677468206d757374206265206d756c74697060448201527f6c65206f66206465706f736974417267734c656e677468000000000000000000606482015260840161012b565b6000602060606101ff8260306104d1565b61020991906104d1565b61021391906104d1565b61021d9083610553565b90506102326801bc16d674ec8000003461053f565b156102be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d73672e76616c7565206d757374206265206d756c7469706c65206f6620333260448201527f2045544800000000000000000000000000000000000000000000000000000000606482015260840161012b565b806102d26801bc16d674ec80000034610553565b14610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6d73672e76616c7565206d75737420626520333220455448202a20636f756e74604482015260640161012b565b60008080805b8581101561044b5760308101935060508101925060b08101915060d08101600061036b82858a8c610567565b61037491610591565b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000042424242424242424242424242424242424242421663228951186801bc16d674ec8000006103c889878d8f610567565b8d8d8c908c926103da93929190610567565b8f8f8d908d926103ec93929190610567565b896040518963ffffffff1660e01b815260040161040f9796959493929190610617565b6000604051808303818588803b15801561042857600080fd5b505af115801561043c573d6000803e3d6000fd5b5050505050819250505061033f565b5050505050505050565b60008060006040848603121561046a57600080fd5b83359250602084013567ffffffffffffffff8082111561048957600080fd5b818601915086601f83011261049d57600080fd5b8135818111156104ac57600080fd5b8760208285010111156104be57600080fd5b6020830194508093505050509250925092565b6000821982111561050b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261054e5761054e610510565b500690565b60008261056257610562610510565b500490565b6000808585111561057757600080fd5b8386111561058457600080fd5b5050820193919092039150565b803560208310156105c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60808152600061062b60808301898b6105ce565b828103602084015261063e81888a6105ce565b905082810360408401526106538186886105ce565b9150508260608301529897505050505050505056fea2646970667358221220074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a68664736f6c63430008090033

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

0000000000000000000000004242424242424242424242424242424242424242

-----Decoded View---------------
Arg [0] : _depositContract (address): 0x4242424242424242424242424242424242424242

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004242424242424242424242424242424242424242


Deployed Bytecode Sourcemap

244:2315:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;942:1615;;;;;;:::i;:::-;;:::i;:::-;;289:49;;;;;;;;;;;;;;;;;;878:42:2;866:55;;;848:74;;836:2;821:18;289:49:0;;;;;;;942:1615;1068:10;1050:15;:28;1029:114;;;;;;;1135:2:2;1029:114:0;;;1117:21:2;1174:2;1154:18;;;1147:30;1213:34;1193:18;;;1186:62;1284:18;1264;;;1257:46;1320:19;;1029:114:0;;;;;;;;;544:2;490;602:50;544:2;382;602:50;:::i;:::-;:76;;;;:::i;:::-;:108;;;;:::i;:::-;1174:31;;:4;:31;:::i;:::-;:36;1153:138;;;;;;;2145:2:2;1153:138:0;;;2127:21:2;2184:2;2164:18;;;2157:30;2223:34;2203:18;;;2196:62;2294:25;2274:18;;;2267:53;2337:19;;1153:138:0;1943:419:2;1153:138:0;1301:10;544:2;490;602:50;544:2;382;602:50;:::i;:::-;:76;;;;:::i;:::-;:108;;;;:::i;:::-;1314:31;;:4;:31;:::i;:::-;1301:44;-1:-1:-1;1363:20:0;1375:8;1363:9;:20;:::i;:::-;:25;1355:74;;;;;;;2694:2:2;1355:74:0;;;2676:21:2;2733:2;2713:18;;;2706:30;2772:34;2752:18;;;2745:62;2843:6;2823:18;;;2816:34;2867:19;;1355:74:0;2492:400:2;1355:74:0;1471:5;1447:20;1459:8;1447:9;:20;:::i;:::-;:29;1439:74;;;;;;;3099:2:2;1439:74:0;;;3081:21:2;;;3118:18;;;3111:30;3177:34;3157:18;;;3150:62;3229:18;;1439:74:0;2897:356:2;1439:74:0;1524:31;;;;1630:921;1657:25;;;1630:921;;;382:2;1769:26;;;-1:-1:-1;1830:56:0;;;;-1:-1:-1;1927:32:0;;;;-1:-1:-1;2058:44:0;;;1988:23;2152:47;2058:44;1927:32;2152:4;;:47;:::i;:::-;2144:56;;;:::i;:::-;2118:82;-1:-1:-1;2215:23:0;:15;:23;;2246:8;2273:46;2292:26;2278:11;2273:4;;:46;:::i;:::-;2337:4;;2342:26;2337:49;2371:14;2337:49;;;;;;;:::i;:::-;2404:4;;2409:14;2404:43;2426:20;2404:43;;;;;;;:::i;:::-;2465:15;2215:279;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2522:18;2508:32;;1686:865;;1630:921;;;;1019:1538;;;;942:1615;;;:::o;14:659:2:-;93:6;101;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;214:9;201:23;191:33;;275:2;264:9;260:18;247:32;298:18;339:2;331:6;328:14;325:34;;;355:1;352;345:12;325:34;393:6;382:9;378:22;368:32;;438:7;431:4;427:2;423:13;419:27;409:55;;460:1;457;450:12;409:55;500:2;487:16;526:2;518:6;515:14;512:34;;;542:1;539;532:12;512:34;587:7;582:2;573:6;569:2;565:15;561:24;558:37;555:57;;;608:1;605;598:12;555:57;639:2;635;631:11;621:21;;661:6;651:16;;;;;14:659;;;;;:::o;1350:282::-;1390:3;1421:1;1417:6;1414:1;1411:13;1408:193;;;1457:77;1454:1;1447:88;1558:4;1555:1;1548:15;1586:4;1583:1;1576:15;1408:193;-1:-1:-1;1617:9:2;;1350:282::o;1637:184::-;1689:77;1686:1;1679:88;1786:4;1783:1;1776:15;1810:4;1807:1;1800:15;1826:112;1858:1;1884;1874:35;;1889:18;;:::i;:::-;-1:-1:-1;1923:9:2;;1826:112::o;2367:120::-;2407:1;2433;2423:35;;2438:18;;:::i;:::-;-1:-1:-1;2472:9:2;;2367:120::o;3258:331::-;3363:9;3374;3416:8;3404:10;3401:24;3398:44;;;3438:1;3435;3428:12;3398:44;3467:6;3457:8;3454:20;3451:40;;;3487:1;3484;3477:12;3451:40;-1:-1:-1;;3513:23:2;;;3558:25;;;;;-1:-1:-1;3258:331:2:o;3594:315::-;3714:19;;3753:2;3745:11;;3742:161;;;3825:66;3814:2;3810:12;;;3807:1;3803:20;3799:93;3788:105;3742:161;3594:315;;;;:::o;3914:325::-;4002:6;3997:3;3990:19;4054:6;4047:5;4040:4;4035:3;4031:14;4018:43;;4106:1;4099:4;4090:6;4085:3;4081:16;4077:27;4070:38;3972:3;4228:4;4158:66;4153:2;4145:6;4141:15;4137:88;4132:3;4128:98;4124:109;4117:116;;3914:325;;;;:::o;4244:709::-;4559:3;4548:9;4541:22;4522:4;4586:62;4643:3;4632:9;4628:19;4620:6;4612;4586:62;:::i;:::-;4696:9;4688:6;4684:22;4679:2;4668:9;4664:18;4657:50;4730:49;4772:6;4764;4756;4730:49;:::i;:::-;4716:63;;4827:9;4819:6;4815:22;4810:2;4799:9;4795:18;4788:50;4855:49;4897:6;4889;4881;4855:49;:::i;:::-;4847:57;;;4940:6;4935:2;4924:9;4920:18;4913:34;4244:709;;;;;;;;;;:::o

Swarm Source

ipfs://074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a686

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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