Unichain Sepolia Testnet

Contract

0x117D7D593e6a7d9699a763C552BFA3177a46B957

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Amount
75911802024-12-17 13:53:28357 days ago1734443608
0x117D7D59...77a46B957
0 ETH
75911502024-12-17 13:52:58357 days ago1734443578
0x117D7D59...77a46B957
0 ETH
75904962024-12-17 13:42:04357 days ago1734442924
0x117D7D59...77a46B957
0 ETH
49030482024-11-16 11:11:16388 days ago1731755476
0x117D7D59...77a46B957
0 ETH
49030262024-11-16 11:10:54388 days ago1731755454
0x117D7D59...77a46B957
0 ETH
49029962024-11-16 11:10:24388 days ago1731755424
0x117D7D59...77a46B957
0 ETH
48166052024-11-15 11:10:33389 days ago1731669033
0x117D7D59...77a46B957
0 ETH
48165942024-11-15 11:10:22389 days ago1731669022
0x117D7D59...77a46B957
0 ETH
48165802024-11-15 11:10:08389 days ago1731669008
0x117D7D59...77a46B957
0 ETH
46438102024-11-13 11:10:38391 days ago1731496238
0x117D7D59...77a46B957
0 ETH
46437982024-11-13 11:10:26391 days ago1731496226
0x117D7D59...77a46B957
0 ETH
46437852024-11-13 11:10:13391 days ago1731496213
0x117D7D59...77a46B957
0 ETH
46437752024-11-13 11:10:03391 days ago1731496203
0x117D7D59...77a46B957
0 ETH
45573662024-11-12 11:09:54392 days ago1731409794
0x117D7D59...77a46B957
0 ETH
45573652024-11-12 11:09:53392 days ago1731409793
0x117D7D59...77a46B957
0 ETH
45573642024-11-12 11:09:52392 days ago1731409792
0x117D7D59...77a46B957
0 ETH
45573632024-11-12 11:09:51392 days ago1731409791
0x117D7D59...77a46B957
0 ETH
44709642024-11-11 11:09:52393 days ago1731323392
0x117D7D59...77a46B957
0 ETH
44709642024-11-11 11:09:52393 days ago1731323392
0x117D7D59...77a46B957
0 ETH
44709632024-11-11 11:09:51393 days ago1731323391
0x117D7D59...77a46B957
0 ETH
43845642024-11-10 11:09:52394 days ago1731236992
0x117D7D59...77a46B957
0 ETH
43845642024-11-10 11:09:52394 days ago1731236992
0x117D7D59...77a46B957
0 ETH
43845632024-11-10 11:09:51394 days ago1731236991
0x117D7D59...77a46B957
0 ETH
42982162024-11-09 11:10:44395 days ago1731150644
0x117D7D59...77a46B957
0 ETH
42982022024-11-09 11:10:30395 days ago1731150630
0x117D7D59...77a46B957
0 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HeaderStorage

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 10000 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity ^0.8.20;

import { IHeaderStorage } from "../interfaces/IHeaderStorage.sol";

contract HeaderStorage is IHeaderStorage {
    mapping(uint256 => bytes32) public headers;

    /// @inheritdoc IHeaderStorage
    function storeBlockHeader(uint256 blockNumber) public returns (bytes32) {
        bytes32 blockHeader = headers[blockNumber];
        if (blockHeader == 0) {
            blockHeader = blockhash(blockNumber);
            if (blockHeader == 0) revert HeaderOutOfRange(blockNumber);
            headers[blockNumber] = blockHeader;
            emit HeaderStored(blockNumber, blockHeader);
        }
        return blockHeader;
    }

    /// @inheritdoc IHeaderStorage
    function storeBlockHeaders(uint256[] memory blockNumbers) public returns (bytes32[] memory) {
        bytes32[] memory blockHeaders = new bytes32[](blockNumbers.length);
        for (uint256 i = 0; i < blockNumbers.length; ) {
            blockHeaders[i] = storeBlockHeader(blockNumbers[i]);
            unchecked {
                ++i;
            }
        }
        return blockHeaders;
    }
}

// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity ^0.8.0;

/**
 * @title IHeaderStorage
 */
interface IHeaderStorage {
    error HeaderOutOfRange(uint256 blockNumber);

    /**
     * @dev Emitted when a block header is stored.
     * @param blockNumber - The block number associated with the stored header.
     * @param blockHeader - The stored block header as a bytes32 value.
     */
    event HeaderStored(uint256 indexed blockNumber, bytes32 indexed blockHeader);

    /**
     * @dev Retrieves the stored block header for a specific block number.
     * @param blockNumber - The block number as a uint256 value.
     * @return The block header as a bytes32 value.
     */
    function headers(uint256 blockNumber) external view returns (bytes32);

    /**
     * @dev Stores and returns the header for the given block.
     * @param blockNumber - Block number.
     * @return blockHeader - Block header stored.
     * @notice Reverts if the given block header was not previously stored and is now out of range.
     */
    function storeBlockHeader(uint256 blockNumber) external returns (bytes32);

    /**
     * @dev Stores and returns the header for an array of given blocks.
     * @param blockNumbers - Array of block numbers.
     * @return blockHeaders - Array of block headers stored.
     * @notice Reverts if the given block header was not previously stored and is now out of range.
     */
    function storeBlockHeaders(uint256[] memory blockNumbers) external returns (bytes32[] memory);
}

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

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"HeaderOutOfRange","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"blockNumber","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"blockHeader","type":"bytes32"}],"name":"HeaderStored","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"headers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"storeBlockHeader","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"blockNumbers","type":"uint256[]"}],"name":"storeBlockHeaders","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function"}]

60808060405234610016576103be908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816356f90d79146101ea575080636c1e8a95146101a55763ceee6e551461004257600080fd5b3461019e576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576004359167ffffffffffffffff831161019e573660238401121561019e578260040135926100a76100a2856102a1565b61022e565b9360248486838152019160051b8301019136831161019a576024859101915b83831061018a57505050508251906100ec6100e36100a2846102a1565b928084526102a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08484019101368237815b8551811015610147578061013661013060019389610345565b516102b9565b6101408287610345565b5201610117565b508390839260405193838594850191818652518092526040850193925b82811061017357505050500390f35b835185528695509381019392810192600101610164565b82358152918101918591016100c6565b8380fd5b80fd5b5080fd5b503461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760206101e26004356102b9565b604051908152f35b9050346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576040602092600435815280845220548152f35b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761027257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116102725760051b60200190565b60008181528060205260408120549182156102d357505090565b8040925090821561031457907ff7df17dce0093aedfcbae24b4f04e823f9e863c97986ab1ba6c5267ace49ddea82828594528060205283604082205580a390565b602482604051907f9c97e72e0000000000000000000000000000000000000000000000000000000082526004820152fd5b80518210156103595760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220d3fd9ff35d5d0d15d6d3ea691302fb6f310e704e481e0f7c3166ec085bfa057764736f6c63430008140033

Deployed Bytecode

0x608080604052600436101561001357600080fd5b600090813560e01c90816356f90d79146101ea575080636c1e8a95146101a55763ceee6e551461004257600080fd5b3461019e576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576004359167ffffffffffffffff831161019e573660238401121561019e578260040135926100a76100a2856102a1565b61022e565b9360248486838152019160051b8301019136831161019a576024859101915b83831061018a57505050508251906100ec6100e36100a2846102a1565b928084526102a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08484019101368237815b8551811015610147578061013661013060019389610345565b516102b9565b6101408287610345565b5201610117565b508390839260405193838594850191818652518092526040850193925b82811061017357505050500390f35b835185528695509381019392810192600101610164565b82358152918101918591016100c6565b8380fd5b80fd5b5080fd5b503461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760206101e26004356102b9565b604051908152f35b9050346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576040602092600435815280845220548152f35b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761027257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116102725760051b60200190565b60008181528060205260408120549182156102d357505090565b8040925090821561031457907ff7df17dce0093aedfcbae24b4f04e823f9e863c97986ab1ba6c5267ace49ddea82828594528060205283604082205580a390565b602482604051907f9c97e72e0000000000000000000000000000000000000000000000000000000082526004820152fd5b80518210156103595760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220d3fd9ff35d5d0d15d6d3ea691302fb6f310e704e481e0f7c3166ec085bfa057764736f6c63430008140033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x117D7D593e6a7d9699a763C552BFA3177a46B957
Loading...
Loading
Loading...
Loading
[ 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.