diff --git a/tools/integration-test/src/tests/mod.rs b/tools/integration-test/src/tests/mod.rs index 926f2911a9..524334af78 100644 --- a/tools/integration-test/src/tests/mod.rs +++ b/tools/integration-test/src/tests/mod.rs @@ -17,11 +17,14 @@ pub mod consensus_states; pub mod denom_trace; pub mod error_events; pub mod execute_schedule; +#[cfg(not(feature = "namada"))] pub mod handshake_on_start; pub mod ics20_filter; pub mod memo; +#[cfg(not(feature = "namada"))] pub mod python; pub mod query_packet; +#[cfg(not(feature = "namada"))] pub mod supervisor; pub mod tendermint; #[cfg(not(any(feature = "celestia")))] diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 00b5fe6e19..82569e09ec 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -13,6 +13,8 @@ const TOTAL_MESSAGES: usize = MESSAGES_PER_BATCH * TOTAL_TRANSACTIONS; const BLOCK_TIME_MILLIS: u64 = 1000; const BLOCK_TIME: Duration = Duration::from_millis(BLOCK_TIME_MILLIS); +// TODO: Need batching transactions +#[cfg(not(feature = "namada"))] #[test] fn test_sequential_commit() -> Result<(), Error> { run_binary_channel_test(&SequentialCommitTest) @@ -22,6 +24,15 @@ pub struct SequentialCommitTest; impl TestOverrides for SequentialCommitTest { fn modify_node_config(&self, config: &mut toml::Value) -> Result<(), Error> { + let config = if let Some(config) = config.get_mut("ledger") { + // Namada + config + .get_mut("cometbft") + .ok_or_else(|| eyre!("expect cometbft section"))? + } else { + config + }; + config::cosmos::set_timeout_commit(config, BLOCK_TIME)?; config::cosmos::set_timeout_propose(config, BLOCK_TIME)?; diff --git a/tools/integration-test/src/tests/ternary_transfer.rs b/tools/integration-test/src/tests/ternary_transfer.rs index b4e2ffb260..e3324d3242 100644 --- a/tools/integration-test/src/tests/ternary_transfer.rs +++ b/tools/integration-test/src/tests/ternary_transfer.rs @@ -131,7 +131,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { let channel_c_to_a = channels.channel_at::<2, 0>()?; let denom_a_to_c_to_a = derive_ibc_denom( - &node_a.chain_driver().value().chain_type, + &node_b.chain_driver().value().chain_type, &channel_c_to_a.port_b.as_ref(), &channel_c_to_a.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), diff --git a/tools/test-framework/src/framework/nary/chain.rs b/tools/test-framework/src/framework/nary/chain.rs index 392114cc5e..756d4f4745 100644 --- a/tools/test-framework/src/framework/nary/chain.rs +++ b/tools/test-framework/src/framework/nary/chain.rs @@ -12,7 +12,9 @@ use crate::bootstrap::nary::chain::{ use crate::error::Error; use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::node::{run_nary_node_test, NaryNodeTest}; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; use crate::relayer::driver::RelayerDriver; @@ -48,7 +50,8 @@ where + NodeConfigOverride + NodeGenesisOverride + RelayerConfigOverride - + SupervisorOverride, + + SupervisorOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunWithSupervisor::new(test))) } @@ -77,7 +80,8 @@ where + NodeConfigOverride + NodeGenesisOverride + RelayerConfigOverride - + SupervisorOverride, + + SupervisorOverride + + NamadaParametersOverride, { run_nary_node_test(&RunSelfConnectedNaryChainTest::new( &RunWithSupervisor::new(test), diff --git a/tools/test-framework/src/framework/nary/channel.rs b/tools/test-framework/src/framework/nary/channel.rs index cd7ccdfe78..219d507792 100644 --- a/tools/test-framework/src/framework/nary/channel.rs +++ b/tools/test-framework/src/framework/nary/channel.rs @@ -14,7 +14,9 @@ use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; use crate::framework::binary::channel::{BinaryChannelTest, ChannelOrderOverride}; use crate::framework::binary::connection::ConnectionDelayOverride; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::chain::RunNaryChainTest; use crate::framework::nary::connection::{NaryConnectionTest, RunNaryConnectionTest}; use crate::framework::nary::node::run_nary_node_test; @@ -38,7 +40,8 @@ where + SupervisorOverride + ConnectionDelayOverride + PortsOverride - + ChannelOrderOverride, + + ChannelOrderOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new( &RunNaryChannelTest::new(&RunWithSupervisor::new(test)), @@ -56,7 +59,8 @@ where + SupervisorOverride + ConnectionDelayOverride + PortsOverride<2> - + ChannelOrderOverride, + + ChannelOrderOverride + + NamadaParametersOverride, { run_nary_channel_test(&RunBinaryAsNaryChannelTest::new(test)) } diff --git a/tools/test-framework/src/framework/nary/connection.rs b/tools/test-framework/src/framework/nary/connection.rs index 485b2ecd1b..a58b3a0eec 100644 --- a/tools/test-framework/src/framework/nary/connection.rs +++ b/tools/test-framework/src/framework/nary/connection.rs @@ -12,7 +12,9 @@ use crate::error::Error; use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; use crate::framework::binary::connection::{BinaryConnectionTest, ConnectionDelayOverride}; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::chain::{NaryChainTest, RunNaryChainTest}; use crate::framework::nary::node::run_nary_node_test; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; @@ -34,7 +36,8 @@ where + NodeGenesisOverride + RelayerConfigOverride + SupervisorOverride - + ConnectionDelayOverride, + + ConnectionDelayOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new( &RunWithSupervisor::new(test), diff --git a/tools/test-framework/src/framework/nary/node.rs b/tools/test-framework/src/framework/nary/node.rs index cea7c81ac4..664ac67328 100644 --- a/tools/test-framework/src/framework/nary/node.rs +++ b/tools/test-framework/src/framework/nary/node.rs @@ -3,12 +3,15 @@ running without setting up the relayer. */ +use crate::bootstrap::namada::bootstrap_namada_node; use crate::bootstrap::single::bootstrap_single_node; use crate::chain::builder::ChainBuilder; use crate::error::Error; use crate::framework::base::HasOverrides; use crate::framework::base::{run_basic_test, BasicTest, TestConfigOverride}; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::types::config::TestConfig; use crate::types::single::node::FullNode; use crate::util::array::try_into_array; @@ -17,7 +20,8 @@ pub fn run_nary_node_test(test: &Test) -> Re where Test: NaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride + TestConfigOverride, + Overrides: + NodeConfigOverride + NodeGenesisOverride + TestConfigOverride + NamadaParametersOverride, { run_basic_test(&RunNaryNodeTest { test }) } @@ -49,21 +53,37 @@ impl<'a, Test, Overrides, const SIZE: usize> BasicTest for RunNaryNodeTest<'a, T where Test: NaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride, + Overrides: NodeConfigOverride + NodeGenesisOverride + NamadaParametersOverride, { fn run(&self, config: &TestConfig, builder: &ChainBuilder) -> Result<(), Error> { let mut nodes = Vec::new(); let mut node_processes = Vec::new(); for i in 0..SIZE { - let node = bootstrap_single_node( - builder, - &format!("{}", i + 1), - config.bootstrap_with_random_ids, - |config| self.test.get_overrides().modify_node_config(config), - |genesis| self.test.get_overrides().modify_genesis_file(genesis), - i, - )?; + let node = if builder.command_paths.contains(&"namada".to_string()) { + bootstrap_namada_node( + builder, + &format!("{}", i + 1), + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + |parameters| { + self.test + .get_overrides() + .namada_modify_parameter_file(parameters) + }, + i, + )? + } else { + bootstrap_single_node( + builder, + &format!("{}", i + 1), + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + i, + )? + }; node_processes.push(node.process.clone()); nodes.push(node); diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index 891f37d1d7..e22fa87994 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -133,7 +133,8 @@ fn derive_namada_ibc_denom( } Denom::Ibc { path, denom, .. } => { let new_path = format!("{port_id}/{channel_id}/{path}"); - let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{new_path}/{denom}")); + let ibc_token_addr = + namada_ibc::storage::ibc_token(format!("{new_path}/{}", denom.hash_only())); Ok(MonoTagged::new(Denom::Ibc { path: new_path,