From 506e59c41ce464f64b7b6c230a50647487db6c86 Mon Sep 17 00:00:00 2001 From: Stan Bondi Date: Fri, 16 Feb 2024 13:16:03 +0400 Subject: [PATCH] refactor(common-types): move waiting_requests, remove tokio dep (#6150) Description --- Removes waiting requests which is used internally in the base node and mempool services into core (not exposed publicly) Motivation and Context --- Common types should have minimal dependencies since it is a dependancy of many L1 and L2 crates. The tokio dependency prevents compilation to WASM. How Has This Been Tested? --- Lints What process can a PR reviewer use to test or verify this change? --- CI - module moved and imports updated Breaking Changes --- - [x] None - [ ] Requires data directory on base node to be deleted - [ ] Requires hard fork - [ ] Other - Please specify --- Cargo.lock | 1 - base_layer/common_types/Cargo.toml | 1 - base_layer/common_types/src/lib.rs | 1 - base_layer/core/src/base_node/service/service.rs | 10 +++++----- .../core/src/base_node/service/service_request.rs | 3 +-- .../core/src/base_node/service/service_response.rs | 4 +--- base_layer/core/src/common/mod.rs | 2 ++ .../src => core/src/common}/waiting_requests.rs | 0 base_layer/core/src/mempool/service/request.rs | 4 ++-- base_layer/core/src/mempool/service/response.rs | 7 ++++--- 10 files changed, 15 insertions(+), 18 deletions(-) rename base_layer/{common_types/src => core/src/common}/waiting_requests.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index f07ca799b5..35541f0cfc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5635,7 +5635,6 @@ dependencies = [ "tari_crypto", "tari_utilities", "thiserror", - "tokio", ] [[package]] diff --git a/base_layer/common_types/Cargo.toml b/base_layer/common_types/Cargo.toml index 552d939225..281971b4e1 100644 --- a/base_layer/common_types/Cargo.toml +++ b/base_layer/common_types/Cargo.toml @@ -20,7 +20,6 @@ once_cell = "1.8.0" rand = "0.8" serde = { version = "1.0.106", features = ["derive"] } thiserror = "1.0.29" -tokio = { version = "1.23", features = ["time", "sync"] } base64 = "0.21.0" blake2 = "0.10" primitive-types = { version = "0.12", features = ["serde"] } diff --git a/base_layer/common_types/src/lib.rs b/base_layer/common_types/src/lib.rs index 9f97d9077f..ee6a2eb0f6 100644 --- a/base_layer/common_types/src/lib.rs +++ b/base_layer/common_types/src/lib.rs @@ -32,4 +32,3 @@ pub mod tari_address; pub mod transaction; mod tx_id; pub mod types; -pub mod waiting_requests; diff --git a/base_layer/core/src/base_node/service/service.rs b/base_layer/core/src/base_node/service/service.rs index 5d6c6f78f4..5a98eee9ba 100644 --- a/base_layer/core/src/base_node/service/service.rs +++ b/base_layer/core/src/base_node/service/service.rs @@ -28,10 +28,7 @@ use std::{ use futures::{pin_mut, stream::StreamExt, Stream}; use log::*; use rand::rngs::OsRng; -use tari_common_types::{ - types::BlockHash, - waiting_requests::{generate_request_key, RequestKey, WaitingRequests}, -}; +use tari_common_types::types::BlockHash; use tari_comms::{connectivity::ConnectivityRequester, peer_manager::NodeId}; use tari_comms_dht::{ domain_message::OutboundDomainMessage, @@ -60,7 +57,10 @@ use crate::{ }, blocks::{Block, NewBlock}, chain_storage::{BlockchainBackend, ChainStorageError}, - common::BanPeriod, + common::{ + waiting_requests::{generate_request_key, RequestKey, WaitingRequests}, + BanPeriod, + }, proto as shared_protos, proto::base_node as proto, }; diff --git a/base_layer/core/src/base_node/service/service_request.rs b/base_layer/core/src/base_node/service/service_request.rs index dcabc7879c..f8281b06e6 100644 --- a/base_layer/core/src/base_node/service/service_request.rs +++ b/base_layer/core/src/base_node/service/service_request.rs @@ -21,9 +21,8 @@ // USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. use serde::{Deserialize, Serialize}; -use tari_common_types::waiting_requests::RequestKey; -use crate::base_node::comms_interface::NodeCommsRequest; +use crate::{base_node::comms_interface::NodeCommsRequest, common::waiting_requests::RequestKey}; /// Request type for a received BaseNodeService request. #[derive(Debug, Serialize, Deserialize)] diff --git a/base_layer/core/src/base_node/service/service_response.rs b/base_layer/core/src/base_node/service/service_response.rs index dc1f74f86e..1a2c2ed931 100644 --- a/base_layer/core/src/base_node/service/service_response.rs +++ b/base_layer/core/src/base_node/service/service_response.rs @@ -20,9 +20,7 @@ // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE // USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -use tari_common_types::waiting_requests::RequestKey; - -use crate::base_node::comms_interface::NodeCommsResponse; +use crate::{base_node::comms_interface::NodeCommsResponse, common::waiting_requests::RequestKey}; /// Response type for a received BaseNodeService requests #[derive(Debug)] diff --git a/base_layer/core/src/common/mod.rs b/base_layer/core/src/common/mod.rs index c6b7d1b293..0cc62e884f 100644 --- a/base_layer/core/src/common/mod.rs +++ b/base_layer/core/src/common/mod.rs @@ -30,10 +30,12 @@ pub mod borsh; pub mod byte_counter; pub mod limited_reader; pub mod one_sided; + #[cfg(feature = "base_node")] pub mod rolling_avg; #[cfg(feature = "base_node")] pub mod rolling_vec; +pub(crate) mod waiting_requests; /// Hasher used in the DAN to derive masks and encrypted value keys pub type ConfidentialOutputHasher = DomainSeparatedConsensusHasher>; diff --git a/base_layer/common_types/src/waiting_requests.rs b/base_layer/core/src/common/waiting_requests.rs similarity index 100% rename from base_layer/common_types/src/waiting_requests.rs rename to base_layer/core/src/common/waiting_requests.rs diff --git a/base_layer/core/src/mempool/service/request.rs b/base_layer/core/src/mempool/service/request.rs index 932e69f6b0..8e4a4447b8 100644 --- a/base_layer/core/src/mempool/service/request.rs +++ b/base_layer/core/src/mempool/service/request.rs @@ -23,10 +23,10 @@ use core::fmt::{Display, Error, Formatter}; use serde::{Deserialize, Serialize}; -use tari_common_types::{types::Signature, waiting_requests::RequestKey}; +use tari_common_types::types::Signature; use tari_utilities::hex::Hex; -use crate::transactions::transaction_components::Transaction; +use crate::{common::waiting_requests::RequestKey, transactions::transaction_components::Transaction}; /// API Request enum for Mempool requests. #[derive(Debug, Serialize, Deserialize)] diff --git a/base_layer/core/src/mempool/service/response.rs b/base_layer/core/src/mempool/service/response.rs index 5a46622132..51323b0754 100644 --- a/base_layer/core/src/mempool/service/response.rs +++ b/base_layer/core/src/mempool/service/response.rs @@ -22,9 +22,10 @@ use std::{fmt, fmt::Formatter}; -use tari_common_types::waiting_requests::RequestKey; - -use crate::mempool::{FeePerGramStat, StateResponse, StatsResponse, TxStorageResponse}; +use crate::{ + common::waiting_requests::RequestKey, + mempool::{FeePerGramStat, StateResponse, StatsResponse, TxStorageResponse}, +}; /// API Response enum for Mempool responses. #[derive(Clone, Debug)]