Skip to content

Commit 9c7aa34

Browse files
committed
refactor: remove validator empty stage, add default to p2p_proto::common::L1DataAvailabilityMode
1 parent 0c9cd4b commit 9c7aa34

File tree

7 files changed

+11
-35
lines changed

7 files changed

+11
-35
lines changed

crates/p2p_proto/src/common.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,9 @@ pub struct BlockId {
8585
pub hash: Hash,
8686
}
8787

88-
#[derive(Debug, Copy, Clone, PartialEq, Eq, Dummy)]
88+
#[derive(Debug, Default, Copy, Clone, PartialEq, Eq, Dummy)]
8989
pub enum L1DataAvailabilityMode {
90+
#[default]
9091
Calldata,
9192
Blob,
9293
}

crates/pathfinder/src/consensus/inner/consensus_task.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,12 +444,11 @@ pub(crate) fn create_empty_proposal(
444444
// TODO keep the value from the last block as per spec
445445
next_l2_gas_price_fri: 0,
446446
// Equivalent to zero on the wire
447-
l1_da_mode: L1DataAvailabilityMode::Calldata,
447+
l1_da_mode: L1DataAvailabilityMode::default(),
448448
};
449449

450450
let validator = ValidatorBlockInfoStage::new(chain_id, proposal_init.clone())?
451-
.verify_proposal_commitment(&proposal_commitment)?
452-
.consensus_finalize();
451+
.verify_proposal_commitment(&proposal_commitment)?;
453452
let mut db_conn = storage
454453
.connection()
455454
.context("Creating database connection")?;

crates/pathfinder/src/consensus/inner/p2p_task.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -928,8 +928,7 @@ fn handle_incoming_proposal_part<E: BlockExecutorExt, T: TransactionExt>(
928928
let validator_stage = validator_cache.remove(&height_and_round)?;
929929
let validator = validator_stage.try_into_block_info_stage()?;
930930
let validator = validator.verify_proposal_commitment(proposal_commitment)?;
931-
let validator =
932-
ValidatorStage::Finalize(Box::new(validator.consensus_finalize()));
931+
let validator = ValidatorStage::Finalize(Box::new(validator));
933932
validator_cache.insert(height_and_round, validator);
934933
Ok(None)
935934
}

crates/pathfinder/src/consensus/inner/p2p_task/handler_proptest.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ fn create_structurally_valid_empty_proposal(seed: u64) -> Vec<ProposalPart> {
196196
proposal_commitment.l1_data_gas_price_fri = 0;
197197
proposal_commitment.l2_gas_price_fri = 0;
198198
proposal_commitment.l2_gas_used = 0;
199-
proposal_commitment.l1_da_mode = L1DataAvailabilityMode::Calldata;
199+
proposal_commitment.l1_da_mode = L1DataAvailabilityMode::default();
200200
let proposal_commitment = ProposalPart::ProposalCommitment(proposal_commitment);
201201
proposal_parts.push(proposal_commitment);
202202

crates/pathfinder/src/consensus/inner/p2p_task/p2p_task_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ fn create_proposal_commitment_part(
440440
l2_gas_price_fri: 0,
441441
l2_gas_used: 0,
442442
next_l2_gas_price_fri: 0,
443-
l1_da_mode: p2p_proto::common::L1DataAvailabilityMode::Calldata,
443+
l1_da_mode: p2p_proto::common::L1DataAvailabilityMode::default(),
444444
})
445445
}
446446

crates/pathfinder/src/consensus/inner/test_helpers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ pub fn create_test_proposal(
8080
block_number: height,
8181
timestamp,
8282
builder: proposer_address,
83-
l1_da_mode: L1DataAvailabilityMode::Calldata,
83+
l1_da_mode: L1DataAvailabilityMode::default(),
8484
l2_gas_price_fri: 1,
8585
l1_gas_price_wei: 1_000_000_000,
8686
l1_data_gas_price_wei: 1,

crates/pathfinder/src/validator.rs

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ impl ValidatorBlockInfoStage {
154154
pub fn verify_proposal_commitment(
155155
self,
156156
proposal_commitment: &p2p_proto::consensus::ProposalCommitment,
157-
) -> anyhow::Result<ValidatorEmptyProposalStage> {
157+
) -> anyhow::Result<ValidatorFinalizeStage> {
158158
if proposal_commitment.state_diff_commitment != Hash::ZERO {
159159
return Err(anyhow::anyhow!(
160160
"Empty proposal commitment should have zero state_diff_commitment, got: {}",
@@ -250,36 +250,13 @@ impl ValidatorBlockInfoStage {
250250
state_diff_commitment: StateDiffCommitment::ZERO,
251251
state_diff_length: 0,
252252
};
253-
Ok(ValidatorEmptyProposalStage {
254-
expected_block_header,
255-
})
256-
}
257-
}
258-
259-
/// An empty proposal contains the following: Init, Commitment, Fin. This
260-
/// stage occurs after the ValidatorBlockInfoStage ingests the Commitment and is
261-
/// specific only to the empty proposal path.
262-
pub struct ValidatorEmptyProposalStage {
263-
expected_block_header: BlockHeader,
264-
}
265-
266-
impl ValidatorEmptyProposalStage {
267-
/// Finalizes the empty proposal, producing a header with all commitments
268-
/// except the state commitment and block hash, which are computed in the
269-
/// last stage. Also verifies that the computed proposal commitment matches
270-
/// the expected one.
271-
pub fn consensus_finalize(self) -> ValidatorFinalizeStage {
272-
let Self {
273-
expected_block_header,
274-
} = self;
275-
276-
ValidatorFinalizeStage {
253+
Ok(ValidatorFinalizeStage {
277254
header: expected_block_header,
278255
state_update: StateUpdateData::default(),
279256
transactions: Vec::new(),
280257
receipts: Vec::new(),
281258
events: Vec::new(),
282-
}
259+
})
283260
}
284261
}
285262

0 commit comments

Comments
 (0)