From a1cf61a6caeddebe55bcfc8f699f95efd3d5a0ac Mon Sep 17 00:00:00 2001 From: Marek Date: Tue, 5 Sep 2023 21:07:23 +0200 Subject: [PATCH] change(state): Restrict access to types for database writes (#7440) * Restrict access to types for database writes * Don't re-export `DiskWriteBatch` --- zebra-state/src/lib.rs | 2 +- zebra-state/src/service/finalized_state.rs | 5 +---- zebra-state/src/service/finalized_state/disk_db.rs | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/zebra-state/src/lib.rs b/zebra-state/src/lib.rs index e866de05..eaab5fe0 100644 --- a/zebra-state/src/lib.rs +++ b/zebra-state/src/lib.rs @@ -66,7 +66,7 @@ pub use response::GetBlockTemplateChainInfo; pub use service::{ arbitrary::{populated_state, CHAIN_TIP_UPDATE_WAIT_LIMIT}, chain_tip::{ChainTipBlock, ChainTipSender}, - finalized_state::{DiskWriteBatch, WriteDisk, MAX_ON_DISK_HEIGHT}, + finalized_state::MAX_ON_DISK_HEIGHT, init_test, init_test_services, ReadStateService, }; diff --git a/zebra-state/src/service/finalized_state.rs b/zebra-state/src/service/finalized_state.rs index 61c8f3e0..3f4e0d4d 100644 --- a/zebra-state/src/service/finalized_state.rs +++ b/zebra-state/src/service/finalized_state.rs @@ -42,10 +42,7 @@ pub use disk_format::{OutputIndex, OutputLocation, TransactionLocation, MAX_ON_D pub(super) use zebra_db::ZebraDb; -#[cfg(not(any(test, feature = "proptest-impl")))] -pub(super) use disk_db::DiskWriteBatch; -#[cfg(any(test, feature = "proptest-impl"))] -pub use disk_db::{DiskWriteBatch, WriteDisk}; +use disk_db::DiskWriteBatch; /// The finalized part of the chain state, stored in the db. /// diff --git a/zebra-state/src/service/finalized_state/disk_db.rs b/zebra-state/src/service/finalized_state/disk_db.rs index b1d23227..eb9b95d0 100644 --- a/zebra-state/src/service/finalized_state/disk_db.rs +++ b/zebra-state/src/service/finalized_state/disk_db.rs @@ -95,7 +95,7 @@ pub struct DiskDb { // and make them accessible via read-only methods #[must_use = "batches must be written to the database"] #[derive(Default)] -pub struct DiskWriteBatch { +pub(crate) struct DiskWriteBatch { /// The inner RocksDB write batch. batch: rocksdb::WriteBatch, } @@ -605,7 +605,7 @@ impl DiskDb { // Low-level write methods are located in the WriteDisk trait /// Writes `batch` to the database. - pub fn write(&self, batch: DiskWriteBatch) -> Result<(), rocksdb::Error> { + pub(crate) fn write(&self, batch: DiskWriteBatch) -> Result<(), rocksdb::Error> { self.db.write(batch.batch) }