lotus_dex_std/
lp_common.rs1use crate::coin::is_factory_token;
2use cosmwasm_std::{ensure, Addr, Coin, CosmosMsg, StdError, StdResult, Uint128};
3use lotus_tokenfactory::{burn, mint};
4
5pub const MINIMUM_LIQUIDITY_AMOUNT: Uint128 = Uint128::new(1_000u128);
6
7#[allow(unused_variables)]
9pub fn mint_lp_token_msg(
10 liquidity_asset: String,
11 recipient: &Addr,
12 sender: &Addr,
13 amount: Uint128,
14) -> StdResult<CosmosMsg> {
15 ensure!(
16 is_factory_token(liquidity_asset.as_str()),
17 StdError::generic_err("Invalid LP token")
18 );
19
20 Ok(mint::mint(
21 sender.clone(),
22 Coin {
23 denom: liquidity_asset,
24 amount,
25 },
26 recipient.clone().into_string(),
27 ))
28}
29
30#[allow(unused_variables)]
32pub fn burn_lp_asset_msg(
33 liquidity_asset: String,
34 sender: Addr,
35 amount: Uint128,
36) -> StdResult<CosmosMsg> {
37 ensure!(
38 is_factory_token(liquidity_asset.as_str()),
39 StdError::generic_err("Invalid LP token")
40 );
41
42 Ok(burn::burn(
43 sender.clone(),
44 Coin {
45 denom: liquidity_asset,
46 amount,
47 },
48 sender.into_string(),
49 ))
50}