burn liquidity tokens
This section contains SDK example for withdrawing liquidity from DEX
Burn all liquidity tokens to free liquidity from a pool
import TonWeb from "tonweb";
import { DEX } from "@ston-fi/sdk";
const USER_WALLET_ADDRESS = ""; // ! replace with your address
const JETTON_0_ADDRESS = "EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO"; // STON
const JETTON_1_ADDRESS = "EQBX6K9aXVl3nXINCyPPL86C4ONVmQ8vK360u6dykFKXpHCa"; // GEMSTON
const router = new DEX.v1.Router({
tonApiClient: new TonWeb.HttpProvider(),
});
const pool = await router.getPool({
token0: JETTON_0_ADDRESS,
token1: JETTON_1_ADDRESS,
});
if (!pool) {
throw Error(`Pool for ${JETTON_0_ADDRESS}/${JETTON_1_ADDRESS} not found`);
}
const lpTokenWallet = await pool.getJettonWallet({
ownerAddress: USER_WALLET_ADDRESS,
});
const lpTokenWalletData = await lpTokenWallet.getData();
const txParams = await pool.buildBurnTxParams({
amount: lpTokenWalletData.balance,
responseAddress: USER_WALLET_ADDRESS,
queryId: 12345,
});
// To execute the transaction, you need to send a transaction to the blockchain.
// This code will be different based on the wallet you are using to send the tx from
// logging is used for demonstration purposes
console.log({
to: txParams.to,
amount: txParams.gasAmount,
payload: txParams.payload,
});
Last updated