diff --git a/cw-dex-astroport/src/pool.rs b/cw-dex-astroport/src/pool.rs index 5a4e89f..60b7029 100644 --- a/cw-dex-astroport/src/pool.rs +++ b/cw-dex-astroport/src/pool.rs @@ -152,6 +152,7 @@ impl Pool for AstroportPool { env: &Env, assets: AssetList, min_out: Uint128, + recipient: Option, ) -> Result { let (funds, cw20s) = separate_natives_and_cw20s(&assets); @@ -186,7 +187,7 @@ impl Pool for AstroportPool { assets: assets_vec.iter().map(asset_to_astroport_v5_asset).collect(), slippage_tolerance: Some(Decimal::from_str(MAX_ALLOWED_SLIPPAGE)?), auto_stake: Some(false), - receiver: None, + receiver: recipient, min_lp_to_receive: Some(min_out), })?, funds, diff --git a/cw-dex-osmosis/src/pool.rs b/cw-dex-osmosis/src/pool.rs index e481917..cb869a5 100644 --- a/cw-dex-osmosis/src/pool.rs +++ b/cw-dex-osmosis/src/pool.rs @@ -127,6 +127,7 @@ impl Pool for OsmosisPool { env: &Env, assets: AssetList, min_out: Uint128, + _recipient: Option, ) -> Result { let mut assets = assets; diff --git a/cw-dex/src/implementations/pool.rs b/cw-dex/src/implementations/pool.rs index f723040..71521c3 100644 --- a/cw-dex/src/implementations/pool.rs +++ b/cw-dex/src/implementations/pool.rs @@ -115,9 +115,10 @@ impl PoolTrait for Pool { env: &Env, assets: AssetList, min_out: Uint128, + recipient: Option, ) -> Result { self.as_trait() - .provide_liquidity(deps, env, assets, min_out) + .provide_liquidity(deps, env, assets, min_out, recipient) } fn withdraw_liquidity( diff --git a/cw-dex/src/traits/pool.rs b/cw-dex/src/traits/pool.rs index 89d27b0..0f164e0 100644 --- a/cw-dex/src/traits/pool.rs +++ b/cw-dex/src/traits/pool.rs @@ -28,6 +28,7 @@ pub trait Pool { env: &Env, assets: AssetList, min_out: Uint128, + recipient: Option, ) -> Result; /// Get the LP token for this pool diff --git a/test-contracts/astroport-test-contract/src/contract.rs b/test-contracts/astroport-test-contract/src/contract.rs index ab51ea9..7bc0ec8 100644 --- a/test-contracts/astroport-test-contract/src/contract.rs +++ b/test-contracts/astroport-test-contract/src/contract.rs @@ -44,7 +44,7 @@ pub fn execute( ) -> Result { match msg { ExecuteMsg::ProvideLiquidity { assets, min_out } => { - execute_provide_liquidity(deps, env, info, assets, min_out) + execute_provide_liquidity(deps, env, info, assets, min_out, None) } ExecuteMsg::WithdrawLiquidity { amount, min_out } => { execute_withdraw_liquidity(deps, env, info, amount, min_out) @@ -66,10 +66,11 @@ pub fn execute_provide_liquidity( _info: MessageInfo, assets: AssetList, min_out: Uint128, + recipient: Option, ) -> Result { let pool = POOL.load(deps.storage)?; - Ok(pool.provide_liquidity(deps.as_ref(), &env, assets, min_out)?) + Ok(pool.provide_liquidity(deps.as_ref(), &env, assets, min_out, recipient)?) } pub fn execute_withdraw_liquidity( diff --git a/test-contracts/osmosis-test-contract/src/contract.rs b/test-contracts/osmosis-test-contract/src/contract.rs index f04594f..bac74ed 100644 --- a/test-contracts/osmosis-test-contract/src/contract.rs +++ b/test-contracts/osmosis-test-contract/src/contract.rs @@ -91,7 +91,7 @@ pub fn execute_provide_liquidity( ) -> Result { let pool = POOL.load(deps.storage)?; - Ok(pool.provide_liquidity(deps.as_ref(), &env, assets, min_out)?) + Ok(pool.provide_liquidity(deps.as_ref(), &env, assets, min_out, None)?) } pub fn execute_withdraw_liquidity(