Reembolsar liquidez (v0.4)

Reembolso de liquidez heredado v0.4: recupera tokens de operaciones fallidas de liquidez

Tokens de reembolso depositados en la cuenta del pool de liquidez, pero aún no añadidos a un pool de liquidez.

import TonWeb from 'tonweb';

import { Router, ROUTER_REVISION, ROUTER_REVISION_ADDRESS } from '@ston-fi/sdk';

/**
 * Este ejemplo muestra cómo reembolsar liquidez desde tu cuenta lp
 */
(async () => {
  const WALLET_ADDRESS = ''; // ¡ reemplaza con tu dirección
  const JETTON0 = 'EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO'; // STON
  const JETTON1 = 'EQBynBO23ywHy_CgarY9NK9FTz0yDsG82PtcbSTQgGoXwiuA'; // jUSDT

  const provider = new TonWeb.HttpProvider();

  const router = new Router(provider, {
    revision: ROUTER_REVISION.V1,
    address: ROUTER_REVISION_ADDRESS.V1,
  });

  const pool = await router.getPool({
    jettonAddresses: [JETTON0, JETTON1],
  });

  if (!pool) {
    throw Error(`Pool for ${JETTON0}/${JETTON1} not found`);
  }

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

  if (!lpAccount) {
    throw Error(
      `Cuenta lp para ${WALLET_ADDRESS} en el pool ${JETTON0}/${JETTON1} no encontrada`,
    );
  }

  // transacción para reembolsar todos los tokens del contrato de cuenta lp JETTON0/JETTON1
  const refundTxParams = await lpAccount.buildRefundTxParams({
    // ID de consulta para identificar tu transacción en la blockchain (opcional)
    queryId: 12345,
  });

  // para ejecutar la transacción necesitas enviar la transacción a la blockchain
  // (reemplaza con la implementación de tu billetera; el registro se usa con fines de demostración)
  console.log({
    to: refundTxParams.to,
    amount: refundTxParams.gasAmount,
    payload: refundTxParams.payload,
  });
})();

Última actualización