Skip to main content

Module tempo_consensus

Module tempo_consensus 

Source
Expand description

Native Tempo consensus RPC response types.

consensus_getFinalization returns a TempoCertifiedBlock. consensus_getLatest returns a TempoConsensusState with nullable finalized and notarized; local mining only populates finalized. The certificate bytes are unprefixed hex.

Identity rotation takes effect in the epoch after the next blockโ€™s epoch, allowing its predecessorโ€™s boundary block to announce the new key before it signs. Snapshots restore pending rotations exactly; rollback restores the retained blockโ€™s key schedule.

Locally mined fork blocks commit to a partial trie of the accounts and storage slots cached when the block was mined, rather than the complete upstream state. Non-pending eth_getProof queries use that immutable trie, including at the current head after development state edits. Accounts and slots absent from it have exclusion proofs, even if they exist upstream. Later upstream reads cannot extend an already certified trie. Proof snapshots follow the configured state-history cache limits; evicted snapshots are unavailable rather than rebuilt from live state. The latest snapshot is retained even when historical state retention is disabled.

Re-exportsยง

use super::backend::tempo_consensus::TempoFinalization; ๐Ÿ”’
use super::error::BlockchainError; ๐Ÿ”’
use super::error::Result; ๐Ÿ”’
use anvil_core::eth::block::Block; ๐Ÿ”’
use foundry_primitives::FoundryHeader; ๐Ÿ”’
use foundry_primitives::FoundryTxEnvelope; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Deserialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use serde::Serialize; ๐Ÿ”’
use tempo_primitives::TempoTxEnvelope; ๐Ÿ”’

Structsยง

TempoCertifiedBlock
A finalization certificate and the complete native Tempo block it authenticates.
TempoConsensusState
Current consensus state, matching Tempoโ€™s consensus_getLatest response.