From abbf480bf310c4eead7abef310e581bcca0833cd Mon Sep 17 00:00:00 2001 From: rymnc <43716372+rymnc@users.noreply.github.com> Date: Fri, 20 Sep 2024 16:24:27 +0530 Subject: [PATCH] fix: use get_full_block --- .../service/adapters/gas_price_adapters.rs | 32 ++++--------------- .../service/sub_services/algorithm_updater.rs | 5 ++- .../services/gas_price_service/src/ports.rs | 5 ++- 3 files changed, 14 insertions(+), 28 deletions(-) diff --git a/crates/fuel-core/src/service/adapters/gas_price_adapters.rs b/crates/fuel-core/src/service/adapters/gas_price_adapters.rs index bc555e28c49..b504335f798 100644 --- a/crates/fuel-core/src/service/adapters/gas_price_adapters.rs +++ b/crates/fuel-core/src/service/adapters/gas_price_adapters.rs @@ -13,15 +13,7 @@ use fuel_core_gas_price_service::{ }, ports::L2Data, }; -use fuel_core_storage::{ - not_found, - tables::{ - FuelBlocks, - Transactions, - }, - Result as StorageResult, - StorageAsRef, -}; +use fuel_core_storage::Result as StorageResult; use fuel_core_types::{ blockchain::{ block::Block, @@ -39,23 +31,11 @@ impl L2Data for OnChainIterableKeyValueView { self.latest_height() } - fn get_block(&self, height: &BlockHeight) -> StorageResult> { - let block = self - .storage::() - .get(height) - .map(|block| block.map(|block| block.as_ref().clone()))? - .ok_or(not_found!("FuelBlock"))?; - - let mut transactions = vec![]; - for tx_id in block.transactions() { - let tx = self - .storage::() - .get(tx_id) - .map(|tx| tx.map(|tx| tx.as_ref().clone()))? - .ok_or(not_found!("Transaction"))?; - transactions.push(tx); - } - Ok(block.uncompress(transactions)) + fn get_block( + &self, + height: &BlockHeight, + ) -> StorageResult>> { + self.get_full_block(height) } } diff --git a/crates/fuel-core/src/service/sub_services/algorithm_updater.rs b/crates/fuel-core/src/service/sub_services/algorithm_updater.rs index 86041ce4f85..f1d8e7308d7 100644 --- a/crates/fuel-core/src/service/sub_services/algorithm_updater.rs +++ b/crates/fuel-core/src/service/sub_services/algorithm_updater.rs @@ -44,6 +44,7 @@ use fuel_core_services::{ StateWatcher, }; use fuel_core_storage::{ + not_found, structured_storage::StructuredStorage, transactional::{ AtomicView, @@ -317,7 +318,9 @@ where let first = metadata_height.saturating_add(1); let view = on_chain_db.latest_view()?; for height in first..=latest_block_height { - let block = view.get_block(&height.into())?; + let block = view + .get_block(&height.into())? + .ok_or(not_found!("FullBlock"))?; let param_version = block.header().consensus_parameters_version; let GasPriceSettings { diff --git a/crates/services/gas_price_service/src/ports.rs b/crates/services/gas_price_service/src/ports.rs index 74b71d4c128..7b4169c9454 100644 --- a/crates/services/gas_price_service/src/ports.rs +++ b/crates/services/gas_price_service/src/ports.rs @@ -7,5 +7,8 @@ use fuel_core_types::{ pub trait L2Data: Send + Sync { fn latest_height(&self) -> StorageResult; - fn get_block(&self, height: &BlockHeight) -> StorageResult>; + fn get_block( + &self, + height: &BlockHeight, + ) -> StorageResult>>; }