Unichain Sepolia Testnet

Contract

0x117D7D593e6a7d9699a763C552BFA3177a46B957

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
75911802024-12-17 13:53:2897 days ago1734443608
0x117D7D59...77a46B957
0 ETH
75911502024-12-17 13:52:5897 days ago1734443578
0x117D7D59...77a46B957
0 ETH
75904962024-12-17 13:42:0497 days ago1734442924
0x117D7D59...77a46B957
0 ETH
49030482024-11-16 11:11:16128 days ago1731755476
0x117D7D59...77a46B957
0 ETH
49030262024-11-16 11:10:54128 days ago1731755454
0x117D7D59...77a46B957
0 ETH
49029962024-11-16 11:10:24128 days ago1731755424
0x117D7D59...77a46B957
0 ETH
48166052024-11-15 11:10:33129 days ago1731669033
0x117D7D59...77a46B957
0 ETH
48165942024-11-15 11:10:22129 days ago1731669022
0x117D7D59...77a46B957
0 ETH
48165802024-11-15 11:10:08129 days ago1731669008
0x117D7D59...77a46B957
0 ETH
46438102024-11-13 11:10:38131 days ago1731496238
0x117D7D59...77a46B957
0 ETH
46437982024-11-13 11:10:26131 days ago1731496226
0x117D7D59...77a46B957
0 ETH
46437852024-11-13 11:10:13131 days ago1731496213
0x117D7D59...77a46B957
0 ETH
46437752024-11-13 11:10:03131 days ago1731496203
0x117D7D59...77a46B957
0 ETH
45573662024-11-12 11:09:54132 days ago1731409794
0x117D7D59...77a46B957
0 ETH
45573652024-11-12 11:09:53132 days ago1731409793
0x117D7D59...77a46B957
0 ETH
45573642024-11-12 11:09:52132 days ago1731409792
0x117D7D59...77a46B957
0 ETH
45573632024-11-12 11:09:51132 days ago1731409791
0x117D7D59...77a46B957
0 ETH
44709642024-11-11 11:09:52133 days ago1731323392
0x117D7D59...77a46B957
0 ETH
44709642024-11-11 11:09:52133 days ago1731323392
0x117D7D59...77a46B957
0 ETH
44709632024-11-11 11:09:51133 days ago1731323391
0x117D7D59...77a46B957
0 ETH
43845642024-11-10 11:09:52134 days ago1731236992
0x117D7D59...77a46B957
0 ETH
43845642024-11-10 11:09:52134 days ago1731236992
0x117D7D59...77a46B957
0 ETH
43845632024-11-10 11:09:51134 days ago1731236991
0x117D7D59...77a46B957
0 ETH
42982162024-11-09 11:10:44135 days ago1731150644
0x117D7D59...77a46B957
0 ETH
42982022024-11-09 11:10:30135 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)

File 1 of 2 : HeaderStorage.sol
// 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;
    }
}

File 2 of 2 : IHeaderStorage.sol
// 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
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.