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://testnet.toncenter.com/api/v2/jsonRPC",
});

const router = client.open(
  DEX.v2_1.Router.create(
    "kQALh-JBBIKK7gr0o4AVf9JZnEsFndqO0qTCyT-D-yBsWk0v" // CPI Router v2.1.0
  )
);

const pool = client.open(
  await router.getPool({
    token0: "kQDLvsZol3juZyOAVG8tWsJntOxeEZWEaWCbbSjYakQpuYN5", // TestRED
    token1: "kQB_TOJSB7q3-Jm1O8s0jKFtqLElZDPjATs5uJGsujcjznq3", // TestBLUE
  })
);

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

const lpWalletData = await lpWallet.getWalletData();

const txParams = await pool.getBurnTxParams({
  amount: lpWalletData.balance,
  userWalletAddress: 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