Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4584247 | 1 min ago | 0 ETH | ||||
4584247 | 1 min ago | 0 ETH | ||||
4584113 | 3 mins ago | 0 ETH | ||||
4584113 | 3 mins ago | 0 ETH | ||||
4583982 | 5 mins ago | 0 ETH | ||||
4583982 | 5 mins ago | 0 ETH | ||||
4583689 | 10 mins ago | 0 ETH | ||||
4583689 | 10 mins ago | 0 ETH | ||||
4583682 | 10 mins ago | 0 ETH | ||||
4583682 | 10 mins ago | 0 ETH | ||||
4583472 | 14 mins ago | 0 ETH | ||||
4583472 | 14 mins ago | 0 ETH | ||||
4583464 | 14 mins ago | 0 ETH | ||||
4583464 | 14 mins ago | 0 ETH | ||||
4583455 | 14 mins ago | 0 ETH | ||||
4583455 | 14 mins ago | 0 ETH | ||||
4583427 | 15 mins ago | 0 ETH | ||||
4583427 | 15 mins ago | 0 ETH | ||||
4583420 | 15 mins ago | 0 ETH | ||||
4583420 | 15 mins ago | 0 ETH | ||||
4583405 | 15 mins ago | 0 ETH | ||||
4583405 | 15 mins ago | 0 ETH | ||||
4583391 | 15 mins ago | 0 ETH | ||||
4583391 | 15 mins ago | 0 ETH | ||||
4583384 | 15 mins ago | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
TimestampAsserter
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {ITimestampAsserter} from "./ITimestampAsserter.sol"; error TimestampOutOfRange(uint256 currentTimestamp, uint256 start, uint256 end); /// @title TimestampAsserter /// @author Matter Labs /// @custom:security-contact [email protected] /// @dev A contract that verifies if the current block timestamp falls within a specified range. /// This is useful for custom account abstraction where time-bound checks are needed but accessing block.timestamp /// directly is not possible. contract TimestampAsserter is ITimestampAsserter { function assertTimestampInRange(uint256 _start, uint256 _end) external view { if (block.timestamp < _start || block.timestamp > _end) { revert TimestampOutOfRange(block.timestamp, _start, _end); } } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.24; interface ITimestampAsserter { function assertTimestampInRange(uint256 start, uint256 end) external view; }
{ "viaIR": false, "codegen": "yul", "remappings": [ "forge-std/=lib/forge-std/src/" ], "evmVersion": "cancun", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": {}, "enableEraVMExtensions": false, "forceEVMLA": false }
[{"inputs":[{"internalType":"uint256","name":"currentTimestamp","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"TimestampOutOfRange","type":"error"},{"inputs":[{"internalType":"uint256","name":"_start","type":"uint256"},{"internalType":"uint256","name":"_end","type":"uint256"}],"name":"assertTimestampInRange","outputs":[],"stateMutability":"view","type":"function"}]
Contract Creation Code
3cda335100000000000000000000000000000000000000000000000000000000000000000100001b75e583556af7c05a606c039181c94fc1f4e9c79ec07149d97f667c0a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x00020000000000020000008003000039000000400030043f00000001002001900000002c0000c13d00000060021002700000001202200197000000040020008c000000340000413d000000000301043b0000001403300197000000150030009c000000340000c13d000000440020008c000000340000413d0000000002000416000000000002004b000000340000c13d0000002402100370000000000202043b000200000002001d0000000401100370000000000101043b000100000001001d000000160100004100000000001004430000000001000414000000120010009c0000001201008041000000c00110021000000017011001c70000800b020000390044003f0000040f0000000100200190000000360000613d000000000101043b0000000104000029000000000041004b0000000203000029000000370000413d000000000031004b000000370000213d0000000001000019000000450001042e0000000001000416000000000001004b000000340000c13d0000002001000039000001000010044300000120000004430000001301000041000000450001042e00000000010000190000004600010430000000000001042f0000001802000041000000800020043f000000840010043f000000a40040043f000000c40030043f00000019010000410000004600010430000000000001042f00000042002104230000000102000039000000000001042d0000000002000019000000000001042d0000004400000432000000450001042e0000004600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000040000001000000000000000000ffffffff000000000000000000000000000000000000000000000000000000005b1a0c9100000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000003d5740d90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000008000000000000000001e6f65bfcdfb6955e33f2379ddc6a6f3169a62fecd8e2863aa470d46a495a957
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.