Source Code
Overview
SOPH Balance
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
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-1.0.1
ZkSolc Version
v1.5.0
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920// SPDX-License-Identifier: MITpragma 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 security@matterlabs.dev/// @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);}}}
123456// SPDX-License-Identifier: MITpragma solidity 0.8.24;interface ITimestampAsserter {function assertTimestampInRange(uint256 start, uint256 end) external view;}
1234567891011121314151617181920212223242526{"viaIR": false,"remappings": ["@openzeppelin/contracts-v4/=lib/openzeppelin-contracts-v4/contracts/","@openzeppelin/contracts-upgradeable-v4/=lib/openzeppelin-contracts-upgradeable-v4/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable-v4/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable-v4/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4/=lib/openzeppelin-contracts-upgradeable-v4/","openzeppelin-contracts-v4/=lib/openzeppelin-contracts-v4/"],"evmVersion": "paris","outputSelection": {"*": {"*": ["abi"]}},"optimizer": {"enabled": true,"mode": "3","fallback_to_optimizing_for_size": false,"disable_system_request_memoization": true},"metadata": {},
Contract ABI
API[{"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
3cda335100000000000000000000000000000000000000000000000000000000000000000100001d651f9e236c91c296396485c901f0b58d8bfa5462dbe305a15df9265900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x00020000000000020000008003000039000000400030043f00000000030100190000006003300270000000130330019700000001022001900000002d0000c13d000000040230008c000000350000413d000000000201043b0000001502200197000000160220009c000000350000c13d000000440230008c000000350000413d0000000002000416000000000202004b000000350000c13d0000002402100370000000000202043b000200000002001d0000000401100370000000000101043b000100000001001d000000170100004100000000001004390000000001000414000000130210009c0000001301008041000000c00110021000000018011001c70000800b02000039004500400000040f0000000102200190000000370000613d000000000101043b0000000104000029000000000241004b0000000203000029000000380000413d000000000231004b000000380000213d0000000001000019000000460001042e0000000001000416000000000101004b000000350000c13d0000002001000039000001000010044300000120000004430000001401000041000000460001042e00000000010000190000004700010430000000000001042f0000001902000041000000800020043f000000840010043f000000a40040043f000000c40030043f0000001a010000410000004700010430000000000001042f00000043002104230000000102000039000000000001042d0000000002000019000000000001042d0000004500000432000000460001042e0000004700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000040000001000000000000000000ffffffff000000000000000000000000000000000000000000000000000000005b1a0c9100000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000003d5740d900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006400000080000000000000000000000000000000000000000000000000000000000000000000000000000000003af3b4b319b184bf5a57f4d889ea89af4017fc625c6ce9b57567632ad87dd57d
Loading...
Loading
Loading...
Loading
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.