pub struct StoreRollup { /* private fields */ }Implementations§
Source§impl Store
impl Store
pub fn new( _path: &Path, engine_type: EngineType, ) -> Result<Self, RollupStoreError>
pub async fn init(&self) -> Result<(), RollupStoreError>
Sourcepub async fn get_block_numbers_by_batch(
&self,
batch_number: u64,
) -> Result<Option<Vec<BlockNumber>>, RollupStoreError>
pub async fn get_block_numbers_by_batch( &self, batch_number: u64, ) -> Result<Option<Vec<BlockNumber>>, RollupStoreError>
Returns the block numbers by a given batch_number
pub async fn get_batch_number_by_block( &self, block_number: BlockNumber, ) -> Result<Option<u64>, RollupStoreError>
pub async fn get_l1_out_message_hashes_by_batch( &self, batch_number: u64, ) -> Result<Option<Vec<H256>>, RollupStoreError>
pub async fn get_balance_diffs_by_batch( &self, batch_number: u64, ) -> Result<Option<Vec<BalanceDiff>>, RollupStoreError>
pub async fn get_l1_in_messages_rolling_hash_by_batch_number( &self, batch_number: u64, ) -> Result<Option<H256>, RollupStoreError>
pub async fn get_l2_in_message_rolling_hashes_by_batch( &self, batch_number: u64, ) -> Result<Option<Vec<(u64, H256)>>, RollupStoreError>
pub async fn get_state_root_by_batch( &self, batch_number: u64, ) -> Result<Option<H256>, RollupStoreError>
pub async fn get_blobs_by_batch( &self, batch_number: u64, ) -> Result<Option<Vec<Blob>>, RollupStoreError>
pub async fn get_commit_tx_by_batch( &self, batch_number: u64, ) -> Result<Option<H256>, RollupStoreError>
pub async fn store_commit_tx_by_batch( &self, batch_number: u64, commit_tx: H256, ) -> Result<(), RollupStoreError>
pub async fn get_verify_tx_by_batch( &self, batch_number: u64, ) -> Result<Option<H256>, RollupStoreError>
pub async fn store_verify_tx_by_batch( &self, batch_number: u64, verify_tx: H256, ) -> Result<(), RollupStoreError>
pub async fn get_batch_number(&self) -> Result<Option<u64>, RollupStoreError>
pub async fn get_batch( &self, batch_number: u64, fork: Fork, ) -> Result<Option<Batch>, RollupStoreError>
pub async fn seal_batch(&self, batch: Batch) -> Result<(), RollupStoreError>
Sourcepub async fn seal_batch_with_prover_input(
&self,
batch: Batch,
prover_version: &str,
prover_input: ProverInputData,
) -> Result<(), RollupStoreError>
pub async fn seal_batch_with_prover_input( &self, batch: Batch, prover_version: &str, prover_input: ProverInputData, ) -> Result<(), RollupStoreError>
Seals a batch along with its prover input data in one atomic operation.
pub async fn update_operations_count( &self, transaction_inc: u64, privileged_tx_inc: u64, messages_inc: u64, ) -> Result<(), RollupStoreError>
pub async fn get_operations_count(&self) -> Result<[u64; 3], RollupStoreError>
Sourcepub async fn contains_batch(
&self,
batch_number: &u64,
) -> Result<bool, RollupStoreError>
pub async fn contains_batch( &self, batch_number: &u64, ) -> Result<bool, RollupStoreError>
Returns whether the batch with the given number is present.
Sourcepub async fn store_signature_by_block(
&self,
block_hash: H256,
signature: Signature,
) -> Result<(), RollupStoreError>
pub async fn store_signature_by_block( &self, block_hash: H256, signature: Signature, ) -> Result<(), RollupStoreError>
Stores the sequencer signature for a given block hash. When the lead sequencer sends a block by P2P, it signs the message and it is validated If we want to gossip or broadcast the message, we need to store the signature for later use
Sourcepub async fn get_signature_by_block(
&self,
block_hash: H256,
) -> Result<Option<Signature>, RollupStoreError>
pub async fn get_signature_by_block( &self, block_hash: H256, ) -> Result<Option<Signature>, RollupStoreError>
Returns the sequencer signature for a given block hash. We want to retrieve the validated signature to broadcast or gossip the block to the peers So they can also validate the message
Sourcepub async fn store_signature_by_batch(
&self,
batch_number: u64,
signature: Signature,
) -> Result<(), RollupStoreError>
pub async fn store_signature_by_batch( &self, batch_number: u64, signature: Signature, ) -> Result<(), RollupStoreError>
Stores the sequencer signature for a given batch number. When the lead sequencer sends a batch by P2P, it should also sign it, this will map a batch number to the batch’s signature.
Sourcepub async fn get_signature_by_batch(
&self,
batch_number: u64,
) -> Result<Option<Signature>, RollupStoreError>
pub async fn get_signature_by_batch( &self, batch_number: u64, ) -> Result<Option<Signature>, RollupStoreError>
Returns the sequencer signature for a given batch number. This is used mostly in P2P to avoid signing an already known batch.
Sourcepub async fn get_latest_verified_batch_proof(
&self,
) -> Result<(u64, u64), RollupStoreError>
pub async fn get_latest_verified_batch_proof( &self, ) -> Result<(u64, u64), RollupStoreError>
Returns (batch_number, verified_at_secs) for the latest batch verified on-chain.
Sourcepub async fn set_latest_verified_batch_proof(
&self,
batch_number: u64,
verified_at: u64,
) -> Result<(), RollupStoreError>
pub async fn set_latest_verified_batch_proof( &self, batch_number: u64, verified_at: u64, ) -> Result<(), RollupStoreError>
Records that batch_number was verified on-chain at verified_at (unix secs).
Sourcepub async fn get_latest_sent_to_aligned(&self) -> Result<u64, RollupStoreError>
pub async fn get_latest_sent_to_aligned(&self) -> Result<u64, RollupStoreError>
Returns the batch number for the latest proof sent to the Aligned gateway.
Sourcepub async fn set_latest_sent_to_aligned(
&self,
batch_number: u64,
) -> Result<(), RollupStoreError>
pub async fn set_latest_sent_to_aligned( &self, batch_number: u64, ) -> Result<(), RollupStoreError>
Records that batch_number was sent to the Aligned gateway.
Sourcepub async fn get_account_updates_by_block_number(
&self,
block_number: BlockNumber,
) -> Result<Option<Vec<AccountUpdate>>, RollupStoreError>
pub async fn get_account_updates_by_block_number( &self, block_number: BlockNumber, ) -> Result<Option<Vec<AccountUpdate>>, RollupStoreError>
Returns the account updates yielded from executing a block
Sourcepub async fn store_account_updates_by_block_number(
&self,
block_number: BlockNumber,
account_updates: Vec<AccountUpdate>,
) -> Result<(), RollupStoreError>
pub async fn store_account_updates_by_block_number( &self, block_number: BlockNumber, account_updates: Vec<AccountUpdate>, ) -> Result<(), RollupStoreError>
Stores the account updates yielded from executing a block
pub async fn store_proof_by_batch_and_type( &self, batch_number: u64, proof_type: ProverType, proof: ProverOutput, ) -> Result<(), RollupStoreError>
pub async fn get_proof_by_batch_and_type( &self, batch_number: u64, proof_type: ProverType, ) -> Result<Option<ProverOutput>, RollupStoreError>
Sourcepub async fn revert_to_batch(
&self,
batch_number: u64,
) -> Result<(), RollupStoreError>
pub async fn revert_to_batch( &self, batch_number: u64, ) -> Result<(), RollupStoreError>
Reverts to a previous batch, discarding operations in them
pub async fn delete_proof_by_batch_and_type( &self, batch_number: u64, proof_type: ProverType, ) -> Result<(), RollupStoreError>
pub async fn store_prover_input_by_batch_and_version( &self, batch_number: u64, prover_version: &str, prover_input: ProverInputData, ) -> Result<(), RollupStoreError>
pub async fn get_prover_input_by_batch_and_version( &self, batch_number: u64, prover_version: &str, ) -> Result<Option<ProverInputData>, RollupStoreError>
pub async fn store_fee_config_by_block( &self, block_number: BlockNumber, fee_config: FeeConfig, ) -> Result<(), RollupStoreError>
pub async fn get_fee_config_by_block( &self, block_number: BlockNumber, ) -> Result<Option<FeeConfig>, RollupStoreError>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Store
impl !UnwindSafe for Store
impl Freeze for Store
impl Send for Store
impl Sync for Store
impl Unpin for Store
impl UnsafeUnpin for Store
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.