burn liquidity tokens

This section contains SDK example for withdrawing liquidity from DEX

Burn all liquidity tokens to free liquidity from a pool

import { TonClient } from "@ton/ton";
import { DEX } from "@ston-fi/sdk";

const USER_WALLET_ADDRESS = ""; // ! replace with your address

const client = new TonClient({
  endpoint: "https://toncenter.com/api/v2/jsonRPC",
});

const router = client.open(new DEX.v1.Router());

const pool = client.open(await router.getPool({
  token0: "EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO", // STON
  token1: "EQBX6K9aXVl3nXINCyPPL86C4ONVmQ8vK360u6dykFKXpHCa", // GEMSTON
}));

const lpTokenWallet = client.open(await pool.getJettonWallet({
  ownerAddress: USER_WALLET_ADDRESS,
}));

const lpTokenWalletData = await lpTokenWallet.getWalletData();

const txParams = await pool.getBurnTxParams({
  amount: lpTokenWalletData.balance,
  responseAddress: USER_WALLET_ADDRESS,
  queryId: 12345,
});

To execute the transaction, you need to send a transaction with these parameters to the blockchain. This code will be different based on the wallet you are using to send the tx from, so please check our doc section about transaction sending guide with examples for different libraries.

Last updated