Skip to content

Commit 20bbd6c

Browse files
apollo_protobuf: add fee_proposal to ProposalInit
1 parent ea0f7c1 commit 20bbd6c

8 files changed

Lines changed: 16 additions & 0 deletions

File tree

crates/apollo_consensus_orchestrator/src/build_proposal.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ async fn initiate_build(args: &mut ProposalBuildArguments) -> BuildProposalResul
176176
starknet_version: starknet_api::block::StarknetVersion::LATEST,
177177
// TODO(Asmaa): Put the real value once we have it.
178178
version_constant_commitment: Default::default(),
179+
fee_proposal_fri: None,
179180
};
180181

181182
let retrospective_block_hash = wait_for_retrospective_block_hash(

crates/apollo_consensus_orchestrator/src/test_utils.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,7 @@ pub(crate) fn proposal_init(height: BlockNumber, round: u32) -> ProposalInit {
411411
l1_data_gas_price_wei,
412412
starknet_version: starknet_api::block::StarknetVersion::LATEST,
413413
version_constant_commitment: Default::default(),
414+
fee_proposal_fri: None,
414415
}
415416
}
416417

crates/apollo_consensus_orchestrator/src/utils_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ async fn get_proposal_init(args: &ProposalBuildArguments) -> ProposalInit {
4747
l1_data_gas_price_fri: l1_prices_fri.l1_data_gas_price,
4848
starknet_version: starknet_api::block::StarknetVersion::LATEST,
4949
version_constant_commitment: Default::default(),
50+
fee_proposal_fri: None,
5051
}
5152
}
5253

crates/apollo_protobuf/src/consensus.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ pub struct ProposalInit {
122122
pub starknet_version: starknet_api::block::StarknetVersion,
123123
/// Version constant commitment.
124124
pub version_constant_commitment: StarkHash,
125+
/// SNIP-35: proposer's oracle-derived recommended fee. Present iff
126+
/// `starknet_version >= V0_14_3`.
127+
pub fee_proposal_fri: Option<GasPrice>,
125128
}
126129

127130
/// A temporary constant to use as a validator ID. Zero is not a valid contract address.
@@ -156,6 +159,7 @@ impl Default for ProposalInit {
156159
l1_data_gas_price_wei: Default::default(),
157160
starknet_version: starknet_api::block::StarknetVersion::LATEST,
158161
version_constant_commitment: Default::default(),
162+
fee_proposal_fri: Default::default(),
159163
}
160164
}
161165
}

crates/apollo_protobuf/src/converters/consensus.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ impl TryFrom<protobuf::ProposalInit> for ProposalInit {
226226
.version_constant_commitment
227227
.ok_or(missing("version_constant_commitment"))?
228228
.try_into()?;
229+
let fee_proposal_fri = value.fee_proposal_fri.map(|raw| GasPrice(raw.into()));
229230
Ok(ProposalInit {
230231
height,
231232
round,
@@ -241,6 +242,7 @@ impl TryFrom<protobuf::ProposalInit> for ProposalInit {
241242
l1_data_gas_price_wei,
242243
starknet_version,
243244
version_constant_commitment,
245+
fee_proposal_fri,
244246
})
245247
}
246248
}
@@ -262,6 +264,7 @@ impl From<ProposalInit> for protobuf::ProposalInit {
262264
l1_data_gas_price_wei: Some(value.l1_data_gas_price_wei.0.into()),
263265
starknet_version: value.starknet_version.to_string(),
264266
version_constant_commitment: Some(value.version_constant_commitment.into()),
267+
fee_proposal_fri: value.fee_proposal_fri.map(|gp| gp.0.into()),
265268
}
266269
}
267270
}

crates/apollo_protobuf/src/converters/test_instances.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ auto_impl_get_test_instance! {
8080
pub l1_data_gas_price_wei: GasPrice,
8181
pub starknet_version: StarknetVersion,
8282
pub version_constant_commitment: StarkHash,
83+
pub fee_proposal_fri: Option<GasPrice>,
8384
}
8485
pub enum ProposalPart {
8586
Init(ProposalInit) = 0,

crates/apollo_protobuf/src/proto/p2p/proto/consensus/consensus.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ message ProposalInit {
5959
Uint128 l1_data_gas_price_wei = 12;
6060
string starknet_version = 13;
6161
Hash version_constant_commitment = 14;
62+
// SNIP-35: proposer's recommended fee for future blocks. Present iff Starknet version >= V0_14_3.
63+
optional Uint128 fee_proposal_fri = 15;
6264
}
6365

6466
message TransactionBatch {

crates/apollo_protobuf/src/protobuf/protoc_output.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,9 @@ pub struct ProposalInit {
479479
pub starknet_version: ::prost::alloc::string::String,
480480
#[prost(message, optional, tag = "14")]
481481
pub version_constant_commitment: ::core::option::Option<Hash>,
482+
/// SNIP-35: proposer's recommended fee for future blocks. Present iff Starknet version >= V0_14_3.
483+
#[prost(message, optional, tag = "15")]
484+
pub fee_proposal_fri: ::core::option::Option<Uint128>,
482485
}
483486
#[allow(clippy::derive_partial_eq_without_eq)]
484487
#[derive(Clone, PartialEq, ::prost::Message)]

0 commit comments

Comments
 (0)