Reembolsar liquidez (v0.5)

Reembolso de liquidez heredado v0.5: gestiona operaciones fallidas de provisión de liquidez

Reembolsar los tokens que fueron enviados a la cuenta LP pero que aún no se han agregado a un pool de liquidez

import TonWeb from "tonweb";
import { DEX } from "@ston-fi/sdk";

const USER_WALLET_ADDRESS = ""; // ! reemplaza con tu dirección
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(`No se encontró el pool para ${JETTON_0_ADDRESS}/${JETTON_1_ADDRESS}`);
}

const lpAccount = await pool.getLpAccount({ ownerAddress: USER_WALLET_ADDRESS });

if (!lpAccount) {
  throw Error(
    `Cuenta Lp para ${USER_WALLET_ADDRESS} en el pool ${JETTON_0_ADDRESS}/${JETTON_1_ADDRESS} no encontrada`
  );
}

const txParams = await lpAccount.buildRefundTxParams({
  queryId: 12345,
});

// Para ejecutar la transacción, necesitas enviar una transacción a la cadena de bloques.
// Este código será diferente según la billetera que uses para enviar la tx desde
// se usa el registro con fines demostrativos
console.log({
  to: txParams.to,
  amount: txParams.gasAmount,
  payload: txParams.payload,
});

Última actualización