From 016e435a7e38bdb2008ad6e775fb245296bdbe43 Mon Sep 17 00:00:00 2001 From: Connor Barr Date: Wed, 30 Oct 2024 11:54:21 +0000 Subject: [PATCH 1/2] feat: calc_out_amt_given_in query --- contracts/sumtree-orderbook/src/contract.rs | 10 ++++++++++ contracts/sumtree-orderbook/src/msg.rs | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/contracts/sumtree-orderbook/src/contract.rs b/contracts/sumtree-orderbook/src/contract.rs index aec8330..a6c36ab 100644 --- a/contracts/sumtree-orderbook/src/contract.rs +++ b/contracts/sumtree-orderbook/src/contract.rs @@ -122,6 +122,16 @@ pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> ContractResult { token_out_denom, swap_fee, )?)?), + QueryMsg::CalOutAmtGivenIn { + token_in, + token_out_denom, + swap_fee, + } => Ok(to_json_binary(&query::calc_out_amount_given_in( + deps, + token_in, + token_out_denom, + swap_fee, + )?)?), QueryMsg::GetTotalPoolLiquidity {} => { Ok(to_json_binary(&query::total_pool_liquidity(deps)?)?) } diff --git a/contracts/sumtree-orderbook/src/msg.rs b/contracts/sumtree-orderbook/src/msg.rs index 058fdff..b9d1c9b 100644 --- a/contracts/sumtree-orderbook/src/msg.rs +++ b/contracts/sumtree-orderbook/src/msg.rs @@ -79,6 +79,13 @@ pub enum QueryMsg { token_out_denom: String, swap_fee: Decimal, }, + // Duplicate of the above, but for compatibility CosmWasm Pool module + #[returns(CalcOutAmtGivenInResponse)] + CalcOutAmtGivenIn { + token_in: Coin, + token_out_denom: String, + swap_fee: Decimal, + }, #[returns(GetTotalPoolLiquidityResponse)] GetTotalPoolLiquidity {}, /// NO-OP QUERY From 6030cafd4314e93267225d2b3399ce3e09f07255 Mon Sep 17 00:00:00 2001 From: Connor Barr Date: Thu, 31 Oct 2024 09:47:47 +0000 Subject: [PATCH 2/2] fix: typo --- contracts/sumtree-orderbook/src/contract.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/sumtree-orderbook/src/contract.rs b/contracts/sumtree-orderbook/src/contract.rs index a6c36ab..5bd93bb 100644 --- a/contracts/sumtree-orderbook/src/contract.rs +++ b/contracts/sumtree-orderbook/src/contract.rs @@ -122,7 +122,7 @@ pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> ContractResult { token_out_denom, swap_fee, )?)?), - QueryMsg::CalOutAmtGivenIn { + QueryMsg::CalcOutAmtGivenIn { token_in, token_out_denom, swap_fee,