Skip to content

Commit

Permalink
refactor of BaseBlockHeader
Browse files Browse the repository at this point in the history
  • Loading branch information
Mikołaj Woźniak committed May 9, 2024
1 parent ef745b9 commit b6278bb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 22 deletions.
25 changes: 10 additions & 15 deletions crates/starknet-devnet-core/src/blocks/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ use starknet_rs_core::types::{BlockId, BlockTag};
use starknet_types::contract_address::ContractAddress;
use starknet_types::felt::{BlockHash, Felt, TransactionHash};
use starknet_types::rpc::block::{
BlockHeader as TypesBlockHeader, PendingBlockHeader as TypesPendingBlockHeader, ResourcePrice,
BaseBlockHeader, BlockHeader as TypesBlockHeader,
PendingBlockHeader as TypesPendingBlockHeader, ResourcePrice,
};
use starknet_types::traits::HashProducer;

Expand Down Expand Up @@ -174,7 +175,7 @@ pub struct StarknetBlock {
pub(crate) status: BlockStatus,
}

impl From<&StarknetBlock> for TypesPendingBlockHeader {
impl From<&StarknetBlock> for BaseBlockHeader {
fn from(value: &StarknetBlock) -> Self {
Self {
parent_hash: value.parent_hash(),
Expand All @@ -194,25 +195,19 @@ impl From<&StarknetBlock> for TypesPendingBlockHeader {
}
}

impl From<&StarknetBlock> for TypesPendingBlockHeader {
fn from(value: &StarknetBlock) -> Self {
Self { header: BaseBlockHeader::from(value) }
}
}

impl From<&StarknetBlock> for TypesBlockHeader {
fn from(value: &StarknetBlock) -> Self {
Self {
block_hash: value.block_hash(),
parent_hash: value.parent_hash(),
block_number: value.block_number(),
sequencer_address: value.sequencer_address(),
new_root: value.new_root(),
timestamp: value.timestamp(),
starknet_version: STARKNET_VERSION.to_string(),
l1_gas_price: ResourcePrice {
price_in_fri: value.header.l1_gas_price.price_in_fri.0.into(),
price_in_wei: value.header.l1_gas_price.price_in_wei.0.into(),
},
l1_data_gas_price: ResourcePrice {
price_in_fri: value.header.l1_data_gas_price.price_in_fri.0.into(),
price_in_wei: value.header.l1_data_gas_price.price_in_wei.0.into(),
},
l1_da_mode: value.header.l1_da_mode,
header: BaseBlockHeader::from(value),
}
}
}
Expand Down
17 changes: 10 additions & 7 deletions crates/starknet-devnet-types/src/rpc/block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,20 +81,22 @@ pub struct PendingBlock {
#[serde(deny_unknown_fields)]
pub struct BlockHeader {
pub block_hash: BlockHash,
pub parent_hash: BlockHash,
pub block_number: BlockNumber,
pub sequencer_address: ContractAddress,
pub new_root: GlobalRootHex,
pub timestamp: BlockTimestamp,
pub starknet_version: String,
pub l1_gas_price: ResourcePrice,
pub l1_data_gas_price: ResourcePrice,
pub l1_da_mode: L1DataAvailabilityMode,
#[serde(flatten)]
pub header: BaseBlockHeader,
}

#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct PendingBlockHeader {
#[serde(flatten)]
pub header: BaseBlockHeader,
}

#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct BaseBlockHeader {
pub parent_hash: BlockHash,
pub sequencer_address: ContractAddress,
pub timestamp: BlockTimestamp,
Expand All @@ -103,6 +105,7 @@ pub struct PendingBlockHeader {
pub l1_data_gas_price: ResourcePrice,
pub l1_da_mode: L1DataAvailabilityMode,
}

#[derive(Debug, Clone, Eq, PartialEq, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct ResourcePrice {
Expand Down

0 comments on commit b6278bb

Please sign in to comment.