diff --git a/contracts/sumtree-orderbook/src/contract.rs b/contracts/sumtree-orderbook/src/contract.rs index aec8330..5bd93bb 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::CalcOutAmtGivenIn { + 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