diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index d84d5cec887..95d5ee59ad7 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -29,10 +29,12 @@ migrations = [ "linkme", ] benches = ["proptest"] +control_flow = ["futures", "tokio"] [dependencies] namada_macros = {path = "../macros"} namada_migrations = {path = "../migrations", optional = true} + arse-merkle-tree.workspace = true bech32.workspace = true borsh.workspace = true @@ -43,6 +45,7 @@ ed25519-consensus.workspace = true ethabi.workspace = true ethbridge-structs.workspace = true eyre.workspace = true +futures = { workspace = true, optional = true } ibc.workspace = true ics23.workspace = true impl-num-traits = "0.1.2" @@ -69,16 +72,19 @@ tendermint = {workspace = true} tendermint-proto = {workspace = true} thiserror.workspace = true tiny-keccak = {version = "2.0.2", features = ["keccak"]} +tokio = { workspace = true, optional = true, features = ["full"]} tracing.workspace = true uint = "0.9.5" zeroize.workspace = true [dev-dependencies] assert_matches.workspace = true +futures.workspace = true pretty_assertions.workspace = true proptest.workspace = true rand.workspace = true rand_core.workspace = true test-log.workspace = true +tokio = { workspace = true, features = ["full"] } toml.workspace = true tracing-subscriber.workspace = true diff --git a/crates/core/src/control_flow/time.rs b/crates/core/src/control_flow/time.rs index 95250fa1373..91c7dbfbd98 100644 --- a/crates/core/src/control_flow/time.rs +++ b/crates/core/src/control_flow/time.rs @@ -1,5 +1,7 @@ //! Time related logic for futures. +#![allow(clippy::arithmetic_side_effects)] + use std::future::Future; use std::ops::ControlFlow; diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index c4e178f3b9e..5a33d6c932d 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -19,6 +19,8 @@ pub mod arith; pub mod bytes; +#[cfg(any(test, feature = "control_flow"))] +pub mod control_flow; pub mod governance; pub mod hints; pub mod proof_of_stake; diff --git a/crates/sdk/src/lib.rs b/crates/sdk/src/lib.rs index 7832b23d33e..c59fbc2eb90 100644 --- a/crates/sdk/src/lib.rs +++ b/crates/sdk/src/lib.rs @@ -34,7 +34,6 @@ pub mod signing; #[allow(clippy::result_large_err)] pub mod tx; -pub mod control_flow; pub mod error; pub mod events; pub(crate) mod internal_macros; @@ -55,6 +54,7 @@ use io::Io; use masp::{ShieldedContext, ShieldedUtils}; use namada_core::address::Address; use namada_core::collections::HashSet; +pub use namada_core::control_flow; use namada_core::dec::Dec; use namada_core::ethereum_events::EthAddress; use namada_core::ibc::core::host::types::identifiers::{ChannelId, PortId};