SystemContext

Abstract

0x000000000000000000000000000000000000800b

Solidity v0.8.20+commit.a1b79de6

🤖
Query this contract from your AI
Reference: 0x000000000000000000000000000000000000800b
Sample prompt: "Tell me the current state of abstract/0x000000000000000000000000000000000000800b"
No AI wired up yet? → mcp.smarts.md
Abstract is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
20
Write Functions
11
Events
0

Read Functions

baseFee() view

Returns

Name Type Description
uint256
blockGasLimit() view

Returns

Name Type Description
uint256
blockHash(_blockNumber: uint256) view

Returns the hash of the given batch.

dev: Deprecated in favor of getBatchHash.

Parameters

Name Type Description
_blockNumber uint256

Returns

Name Type Description
hash bytes32
chainId() view

Returns

Name Type Description
uint256
coinbase() view

Returns

Name Type Description
address
currentBlockInfo() view

Returns the current batch's number and timestamp.

dev: Deprecated in favor of getBatchNumberAndTimestamp.

Returns

Name Type Description
blockInfo uint256
difficulty() view

Returns

Name Type Description
uint256
gasPerPubdataByte() view

Returns

Name Type Description
uint256
gasPrice() view

Returns

Name Type Description
uint256
getBatchHash(_batchNumber: uint256) view

Returns the hash of the given batch.

Parameters

Name Type Description
_batchNumber uint256 The number of the batch.

Returns

Name Type Description
hash bytes32 hash The hash of the batch.
getBatchNumberAndTimestamp() view

Returns the current batch's number and timestamp.

Returns

Name Type Description
batchNumber uint128 batchNumber and batchTimestamp tuple of the current batch's number and the current batch's timestamp
batchTimestamp uint128
getBlockHashEVM(_block: uint256) view

The method that emulates `blockhash` opcode in EVM.

dev: Since zksolc compiler calls this method to emulate `blockhash`, its signature can not be changed to `getL2BlockHashEVM`.

Parameters

Name Type Description
_block uint256

Returns

Name Type Description
hash bytes32 hash The blockhash of the block with the given number.
getBlockNumber() view

Returns the current L2 block's number.

dev: Since zksolc compiler calls this method to emulate `block.number`, its signature can not be changed to `getL2BlockNumber`.

Returns

Name Type Description
uint128 blockNumber The current L2 block's number.
getBlockNumberAndTimestamp() view

Returns the current batch's number and timestamp.

dev: Deprecated in favor of getBatchNumberAndTimestamp.

Returns

Name Type Description
blockNumber uint256
blockTimestamp uint256
getBlockTimestamp() view

Returns the current L2 block's timestamp.

dev: Since zksolc compiler calls this method to emulate `block.timestamp`, its signature can not be changed to `getL2BlockTimestamp`.

Returns

Name Type Description
uint128 timestamp The current L2 block's timestamp.
getCurrentPubdataCost() view

Returns

Name Type Description
uint256
getCurrentPubdataSpent() view

Returns

Name Type Description
uint256
getL2BlockNumberAndTimestamp() view

Returns the current block's number and timestamp.

Returns

Name Type Description
blockNumber uint128 blockNumber and blockTimestamp tuple of the current L2 block's number and the current block's timestamp
blockTimestamp uint128
origin() view

Returns

Name Type Description
address
txNumberInBlock() view

Returns

Name Type Description
uint16

Write Functions

appendTransactionToCurrentL2Block(_txHash: bytes32) nonpayable

Appends the transaction hash to the rolling hash of the current L2 block.

Parameters

Name Type Description
_txHash bytes32 The hash of the transaction.
incrementTxNumberInBatch() nonpayable
publishTimestampDataToL1() nonpayable

Publishes L2->L1 logs needed to verify the validity of this batch on L1.

dev: Should be called at the end of the current batch.
resetTxNumberInBatch() nonpayable
setChainId(_newChainId: uint256) nonpayable

Set the chainId origin.

Parameters

Name Type Description
_newChainId uint256 The chainId
setGasPrice(_gasPrice: uint256) nonpayable

Set the the current gas price.

Parameters

Name Type Description
_gasPrice uint256 The new tx gasPrice.
setL2Block(_l2BlockNumber: uint128, _l2BlockTimestamp: uint128, _expectedPrevL2BlockHash: bytes32, _isFirstInBatch: bool, _maxVirtualBlocksToCreate: uint128) nonpayable

Sets the current block number and timestamp of the L2 block.

dev: It is also enforced that the number of the current virtual L2 block can not exceed the number of the L2 block.

Parameters

Name Type Description
_l2BlockNumber uint128 The number of the new L2 block.
_l2BlockTimestamp uint128 The timestamp of the new L2 block.
_expectedPrevL2BlockHash bytes32 The expected hash of the previous L2 block.
_isFirstInBatch bool Whether this method is called for the first time in the batch.
_maxVirtualBlocksToCreate uint128 The maximum number of virtual block to create with this L2 block.
setNewBatch(_prevBatchHash: bytes32, _newTimestamp: uint128, _expectedNewNumber: uint128, _baseFee: uint256) nonpayable

Increments the current batch number and sets the new timestamp

dev: The correctness of the _prevBatchHash and _newTimestamp should be enforced on L1.

Parameters

Name Type Description
_prevBatchHash bytes32 The hash of the previous batch.
_newTimestamp uint128 The timestamp of the new batch.
_expectedNewNumber uint128 The new batch's number.
_baseFee uint256 The new batch's base fee
setPubdataInfo(_gasPerPubdataByte: uint256, _basePubdataSpent: uint256) nonpayable

Sets the number of L2 gas that is needed to pay a single byte of pubdata.

dev: This value does not have any impact on the execution and purely serves as a way for users to access the current gas price for the pubdata.

Parameters

Name Type Description
_gasPerPubdataByte uint256 The amount L2 gas that the operator charge the user for single byte of pubdata.
_basePubdataSpent uint256 The number of pubdata spent as of the start of the transaction.
setTxOrigin(_newOrigin: address) nonpayable

Set the current tx origin.

Parameters

Name Type Description
_newOrigin address The new tx origin.
unsafeOverrideBatch(_newTimestamp: uint256, _number: uint256, _baseFee: uint256) nonpayable

A testing method that manually sets the current blocks' number and timestamp.

dev: Should be used only for testing / ethCalls and should never be used in production.

Parameters

Name Type Description
_newTimestamp uint256
_number uint256
_baseFee uint256