Reembolsar liquidez (v0.4)
Reembolso de liquidez heredado v0.4: recupera tokens de operaciones fallidas 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