StateCommitmentChain.md 5.16 KB

StateCommitmentChain

StateCommitmentChain

The State Commitment Chain (SCC) contract contains a list of proposed state roots which Proposers assert to be a result of each transaction in the Canonical Transaction Chain (CTC). Elements here have a 1:1 correspondence with transactions in the CTC, and should be the unique state root calculated off-chain by applying the canonical transactions one by one.

Methods

FRAUD_PROOF_WINDOW

function FRAUD_PROOF_WINDOW() external view returns (uint256)

Returns

Name Type Description
_0 uint256 undefined

SEQUENCER_PUBLISH_WINDOW

function SEQUENCER_PUBLISH_WINDOW() external view returns (uint256)

Returns

Name Type Description
_0 uint256 undefined

appendStateBatch

function appendStateBatch(bytes32[] _batch, uint256 _shouldStartAtElement) external nonpayable

Appends a batch of state roots to the chain.

Parameters

Name Type Description
_batch bytes32[] Batch of state roots.
_shouldStartAtElement uint256 Index of the element at which this batch should start.

batches

function batches() external view returns (contract IChainStorageContainer)

Accesses the batch storage container.

Returns

Name Type Description
_0 contract IChainStorageContainer Reference to the batch storage container.

deleteStateBatch

function deleteStateBatch(Lib_OVMCodec.ChainBatchHeader _batchHeader) external nonpayable

Deletes all state roots after (and including) a given batch.

Parameters

Name Type Description
_batchHeader Lib_OVMCodec.ChainBatchHeader Header of the batch to start deleting from.

getLastSequencerTimestamp

function getLastSequencerTimestamp() external view returns (uint256 _lastSequencerTimestamp)

Retrieves the timestamp of the last batch submitted by the sequencer.

Returns

Name Type Description
_lastSequencerTimestamp uint256 Last sequencer batch timestamp.

getTotalBatches

function getTotalBatches() external view returns (uint256 _totalBatches)

Retrieves the total number of batches submitted.

Returns

Name Type Description
_totalBatches uint256 Total submitted batches.

getTotalElements

function getTotalElements() external view returns (uint256 _totalElements)

Retrieves the total number of elements submitted.

Returns

Name Type Description
_totalElements uint256 Total submitted elements.

insideFraudProofWindow

function insideFraudProofWindow(Lib_OVMCodec.ChainBatchHeader _batchHeader) external view returns (bool _inside)

Checks whether a given batch is still inside its fraud proof window.

Parameters

Name Type Description
_batchHeader Lib_OVMCodec.ChainBatchHeader Header of the batch to check.

Returns

Name Type Description
_inside bool Whether or not the batch is inside the fraud proof window.

libAddressManager

function libAddressManager() external view returns (contract Lib_AddressManager)

Returns

Name Type Description
_0 contract Lib_AddressManager undefined

resolve

function resolve(string _name) external view returns (address)

Resolves the address associated with a given name.

Parameters

Name Type Description
_name string Name to resolve an address for.

Returns

Name Type Description
_0 address Address associated with the given name.

verifyStateCommitment

function verifyStateCommitment(bytes32 _element, Lib_OVMCodec.ChainBatchHeader _batchHeader, Lib_OVMCodec.ChainInclusionProof _proof) external view returns (bool)

Verifies a batch inclusion proof.

Parameters

Name Type Description
_element bytes32 Hash of the element to verify a proof for.
_batchHeader Lib_OVMCodec.ChainBatchHeader Header of the batch in which the element was included.
_proof Lib_OVMCodec.ChainInclusionProof Merkle inclusion proof for the element.

Returns

Name Type Description
_0 bool Whether or not the batch inclusion proof is verified.

Events

StateBatchAppended

event StateBatchAppended(uint256 indexed _batchIndex, bytes32 _batchRoot, uint256 _batchSize, uint256 _prevTotalElements, bytes _extraData)

Parameters

Name Type Description
_batchIndex indexed uint256 undefined
_batchRoot bytes32 undefined
_batchSize uint256 undefined
_prevTotalElements uint256 undefined
_extraData bytes undefined

StateBatchDeleted

event StateBatchDeleted(uint256 indexed _batchIndex, bytes32 _batchRoot)

Parameters

Name Type Description
_batchIndex indexed uint256 undefined
_batchRoot bytes32 undefined