handle comments

This commit is contained in:
Sergio Chouhy 2026-01-29 13:47:39 -03:00
parent e44eade97b
commit 476dc50482
6 changed files with 29 additions and 19 deletions

View File

@ -17,6 +17,7 @@ pub struct BackoffConfig {
// Simple wrapper
// maybe extend in the future for our purposes
// `Clone` is cheap because `CommonHttpClient` is internally reference counted (`Arc`).
#[derive(Clone)]
pub struct BedrockClient {
http_client: CommonHttpClient,

View File

@ -30,7 +30,6 @@ pub struct Account {
pub type BlockId = u64;
pub type TimeStamp = u64;
pub type MsgId = [u8; 32];
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, JsonSchema)]
pub struct Block {
@ -190,6 +189,13 @@ pub struct Hash(
pub [u8; 32],
);
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, JsonSchema)]
pub struct MsgId(
#[serde(with = "base64::arr")]
#[schemars(with = "String", description = "base64-encoded Bedrock message id")]
pub [u8; 32],
);
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, JsonSchema)]
pub enum BedrockStatus {
Pending,

View File

@ -163,8 +163,12 @@ impl TestContext {
// Setting port to 0 lets the OS choose a free port for us
config.port = 0;
let (sequencer_server_handle, sequencer_addr, sequencer_loop_handle, _) =
sequencer_runner::startup_sequencer(config).await?;
let (
sequencer_server_handle,
sequencer_addr,
sequencer_loop_handle,
_retry_pending_blocks_handle,
) = sequencer_runner::startup_sequencer(config).await?;
Ok((
sequencer_server_handle,

View File

@ -1,5 +1,6 @@
use std::collections::{BTreeSet, HashMap, HashSet};
use borsh::{BorshDeserialize, BorshSerialize};
use nssa_core::{
Commitment, CommitmentSetDigest, DUMMY_COMMITMENT, MembershipProof, Nullifier,
account::{Account, AccountId},
@ -103,8 +104,6 @@ impl BorshDeserialize for NullifierSet {
}
}
use borsh::{BorshDeserialize, BorshSerialize};
#[derive(BorshSerialize, BorshDeserialize)]
#[cfg_attr(test, derive(Debug, PartialEq, Eq))]
pub struct V02State {

View File

@ -80,20 +80,20 @@ impl SequencerCore {
info!(
"No database found when starting the sequencer. Creating a fresh new with the initial data in config"
);
let mut initial_commitments = vec![];
let initial_commitments: Vec<nssa_core::Commitment> = config
.initial_commitments
.iter()
.map(|init_comm_data| {
let npk = &init_comm_data.npk;
for init_comm_data in config.initial_commitments.clone() {
let npk = init_comm_data.npk;
let mut acc = init_comm_data.account.clone();
let mut acc = init_comm_data.account;
acc.program_owner =
nssa::program::Program::authenticated_transfer_program().id();
acc.program_owner =
nssa::program::Program::authenticated_transfer_program().id();
let comm = nssa_core::Commitment::new(&npk, &acc);
initial_commitments.push(comm);
}
nssa_core::Commitment::new(&npk, &acc)
})
.collect();
let init_accs: Vec<(nssa::AccountId, u128)> = config
.initial_accounts
@ -239,7 +239,7 @@ impl SequencerCore {
/// This method must be called when new blocks are finalized on Bedrock.
/// All pending blocks with an ID less than or equal to `last_finalized_block_id`
/// are removed from the database.
pub fn delete_finalized_blocks_from_db(&mut self, last_finalized_block_id: u64) -> Result<()> {
pub fn clean_finalized_blocks_from_db(&mut self, last_finalized_block_id: u64) -> Result<()> {
if let Some(first_pending_block_id) = self
.get_pending_blocks()?
.iter()
@ -845,7 +845,7 @@ mod tests {
let last_finalized_block = 3;
sequencer
.delete_finalized_blocks_from_db(last_finalized_block)
.clean_finalized_blocks_from_db(last_finalized_block)
.unwrap();
assert_eq!(sequencer.get_pending_blocks().unwrap().len(), 1);

View File

@ -68,7 +68,7 @@ pub async fn startup_sequencer(
};
info!("Resubmitting {} pending blocks", pending_blocks.len());
for block in pending_blocks.iter() {
for block in &pending_blocks {
if let Err(e) = client.submit_block_to_bedrock(block).await {
warn!(
"Failed to resubmit block with id {} with error {}",