Skip to content

Commit

Permalink
Swap covenant test migration (#309)
Browse files Browse the repository at this point in the history
  • Loading branch information
keyleu authored Jul 23, 2024
1 parent b18d66d commit 92f83c1
Show file tree
Hide file tree
Showing 7 changed files with 563 additions and 29 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions local-interchaintest/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ polytone-note = { git = "https://github.com/DA0-DA0/polytone", rev = "a94feae" }
polytone-voice = { git = "https://github.com/DA0-DA0/polytone", rev = "a94feae" }
cw-utils = { workspace = true }
valence-covenant-two-party-pol = { workspace = true }
valence-covenant-swap = { workspace = true }
valence-two-party-pol-holder = { workspace = true }
valence-astroport-liquid-pooler = { workspace = true }
valence-osmo-liquid-pooler = { workspace = true }
Expand Down
100 changes: 74 additions & 26 deletions local-interchaintest/src/helpers/covenant.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@ pub enum Covenant<'a> {
rb: &'a ChainRequestBuilder,
contract_address: &'a str,
},
Swap {
rb: &'a ChainRequestBuilder,
contract_address: &'a str,
},
}

impl<'a> Covenant<'a> {
fn get_rb(&self) -> &ChainRequestBuilder {
match self {
Covenant::TwoPartyPol { rb, .. } => rb,
Covenant::Swap { rb, .. } => rb,
}
}

Expand All @@ -19,6 +24,9 @@ impl<'a> Covenant<'a> {
Covenant::TwoPartyPol {
contract_address, ..
} => contract_address,
Covenant::Swap {
contract_address, ..
} => contract_address,
}
}

Expand All @@ -32,61 +40,101 @@ impl<'a> Covenant<'a> {

pub fn query_clock_address(&self) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::ClockAddress {}
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::ClockAddress {},
)
.unwrap(),
Covenant::Swap { .. } => {
&serde_json::to_string(&valence_covenant_swap::msg::QueryMsg::ClockAddress {})
.unwrap()
}
};

self.query(&serde_json::to_string(query_msg).unwrap())
self.query(query_msg)
}

pub fn query_holder_address(&self) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::HolderAddress {}
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::HolderAddress {},
)
.unwrap(),
Covenant::Swap { .. } => {
&serde_json::to_string(&valence_covenant_swap::msg::QueryMsg::HolderAddress {})
.unwrap()
}
};

self.query(&serde_json::to_string(query_msg).unwrap())
self.query(query_msg)
}

pub fn query_liquid_pooler_address(&self) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::LiquidPoolerAddress {}
}
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::LiquidPoolerAddress {},
)
.unwrap(),
Covenant::Swap { .. } => return String::new(),
};

self.query(&serde_json::to_string(query_msg).unwrap())
self.query(query_msg)
}

pub fn query_interchain_router_address(&self, party: String) -> String {
pub fn query_splitter_address(&self) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::InterchainRouterAddress { party }
Covenant::TwoPartyPol { .. } => return String::new(),
Covenant::Swap { .. } => {
&serde_json::to_string(&valence_covenant_swap::msg::QueryMsg::SplitterAddress {})
.unwrap()
}
};

self.query(&serde_json::to_string(query_msg).unwrap())
self.query(query_msg)
}

pub fn query_ibc_forwarder_address(&self, party: String) -> String {
pub fn query_interchain_router_address(&self, party: String) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::IbcForwarderAddress { party }
}
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::InterchainRouterAddress { party },
)
.unwrap(),
Covenant::Swap { .. } => &serde_json::to_string(
&valence_covenant_swap::msg::QueryMsg::InterchainRouterAddress { party },
)
.unwrap(),
};

self.query(&serde_json::to_string(query_msg).unwrap())
self.query(query_msg)
}

pub fn query_deposit_address(&self, party: String) -> String {
let query_msg = match self {
Covenant::TwoPartyPol { .. } => {
&valence_covenant_two_party_pol::msg::QueryMsg::PartyDepositAddress { party }
}
};
pub fn query_ibc_forwarder_address(&self, party: String) -> String {
let query_msg =
match self {
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::IbcForwarderAddress { party },
)
.unwrap(),
Covenant::Swap { .. } => &serde_json::to_string(
&valence_covenant_swap::msg::QueryMsg::IbcForwarderAddress { party },
)
.unwrap(),
};

self.query(query_msg)
}

self.query(&serde_json::to_string(query_msg).unwrap())
pub fn query_deposit_address(&self, party: String) -> String {
let query_msg =
match self {
Covenant::TwoPartyPol { .. } => &serde_json::to_string(
&valence_covenant_two_party_pol::msg::QueryMsg::PartyDepositAddress { party },
)
.unwrap(),
Covenant::Swap { .. } => &serde_json::to_string(
&valence_covenant_swap::msg::QueryMsg::PartyDepositAddress { party },
)
.unwrap(),
};
self.query(query_msg)
}
}
10 changes: 7 additions & 3 deletions local-interchaintest/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

use std::error::Error;

use local_ictest_e2e::tests::two_party_pol::{
two_party_pol_native::test_two_party_pol_native, two_party_pol_not_native::test_two_party_pol,
two_party_pol_osmo::test_two_party_pol_osmo,
use local_ictest_e2e::tests::{
swap::token_swap::test_token_swap,
two_party_pol::{
two_party_pol_native::test_two_party_pol_native,
two_party_pol_not_native::test_two_party_pol, two_party_pol_osmo::test_two_party_pol_osmo,
},
};

use localic_std::polling::poll_for_start;
Expand Down Expand Up @@ -36,6 +39,7 @@ fn main() -> Result<(), Box<dyn Error>> {

test_ctx.set_up_stride_host_zone(GAIA_CHAIN_NAME);

test_token_swap(&mut test_ctx);
test_two_party_pol_osmo(&mut test_ctx);
test_two_party_pol_native(&mut test_ctx);
test_two_party_pol(&mut test_ctx);
Expand Down
1 change: 1 addition & 0 deletions local-interchaintest/src/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
pub mod swap;
pub mod two_party_pol;
1 change: 1 addition & 0 deletions local-interchaintest/src/tests/swap/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod token_swap;
Loading

0 comments on commit 92f83c1

Please sign in to comment.