From ea682d0ddfed8e02b4628381df2f4b43f836ddc2 Mon Sep 17 00:00:00 2001 From: Dowland Aiello Date: Sun, 30 Jun 2024 12:07:38 -0700 Subject: [PATCH] Implement ibc transfers. --- examples/osmosis.rs | 3 +++ src/utils/fixtures.rs | 31 +++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/examples/osmosis.rs b/examples/osmosis.rs index 18c3655..78c09c4 100644 --- a/examples/osmosis.rs +++ b/examples/osmosis.rs @@ -30,5 +30,8 @@ fn main() -> Result<(), Box> { .with_initial_deposit(&bruhtoken, 1) .send()?; + // Get its id + ctx.get_osmo_pool("uomso", bruhtoken)?; + Ok(()) } diff --git a/src/utils/fixtures.rs b/src/utils/fixtures.rs index 7e79767..9150bbc 100644 --- a/src/utils/fixtures.rs +++ b/src/utils/fixtures.rs @@ -1,7 +1,8 @@ use super::{ super::{ - error::Error, AUCTION_CONTRACT_NAME, FACTORY_NAME, NEUTRON_CHAIN_NAME, PAIR_NAME, - PRICE_ORACLE_NAME, STABLE_PAIR_NAME, TX_HASH_QUERY_PAUSE_SEC, TX_HASH_QUERY_RETRIES, + error::Error, AUCTION_CONTRACT_NAME, FACTORY_NAME, NEUTRON_CHAIN_NAME, OSMOSIS_CHAIN_NAME, + PAIR_NAME, PRICE_ORACLE_NAME, STABLE_PAIR_NAME, TX_HASH_QUERY_PAUSE_SEC, + TX_HASH_QUERY_RETRIES, }, test_context::TestContext, }; @@ -239,4 +240,30 @@ impl TestContext { Some(addr.to_owned()), )) } + + /// Gets the id of the pool with the specifieed denoms. + pub fn get_osmo_pool( + &self, + denom_a: impl AsRef, + denom_b: impl AsRef, + ) -> Result { + let osmosis = self.get_chain(OSMOSIS_CHAIN_NAME); + let denom_a_str = denom_a.as_ref(); + + let res = osmosis.rb.query( + &format!("q poolmanager list-pools-by-denom {denom_a_str}"), + true, + ); + + let pools_value = res.get("pools").ok_or(Error::ContainerCmd(String::from( + "q poolmanager list-pools-by-denom", + )))?; + let pools = res.as_array().ok_or(Error::ContainerCmd(String::from( + "q poolmanager list-pools-by-denom", + )))?; + + println!("{:?}", pools); + + Ok(0) + } }