Swap (v0.4)

Guía heredada de swap de tokens v0.4: ejecuta swaps usando métodos obsoletos del SDK

Jetton1/Jetton2

Realiza una operación de swap.

import TonWeb from 'tonweb';

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

/**
 * Este ejemplo muestra cómo intercambiar dos jettons usando el contrato router
 */
(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,
  });

  // transacción para intercambiar 1.0 JETTON0 por JETTON1, pero no menos de 1 nano JETTON1
  const swapTxParams = await router.buildSwapJettonTxParams({
    // dirección de la billetera que contiene el offerJetton que quieres intercambiar
    userWalletAddress: WALLET_ADDRESS,
    // dirección del jetton que quieres intercambiar
    offerJettonAddress: JETTON0,
    // cantidad del jetton que quieres intercambiar
    offerAmount: new TonWeb.utils.BN('1000000000'),
    // dirección del jetton que quieres recibir
    askJettonAddress: JETTON1,
    // cantidad mínima del jetton que quieres recibir como resultado del swap.
    // Si la cantidad del jetton que quieres recibir es menor que minAskAmount
    // la transacción será revertida
    minAskAmount: new TonWeb.utils.BN(1),
    // ID de consulta para identificar tu transacción en la blockchain (opcional)
    queryId: 12345,
    // dirección de la billetera para recibir la comisión de referencia (opcional)
    referralAddress: undefined,
  });

  // 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: swapTxParams.to,
    amount: swapTxParams.gasAmount,
    payload: swapTxParams.payload,
  });

  // la transacción inversa es la misma,
  // solo necesitas intercambiar los valores de `offerJettonAddress` y `askJettonAddress`
  // y ajustar `offerAmount` y `minAskAmount` en consecuencia
})();

Proxy-ton/Jetton

Realiza una operación de swap usando proxy-ton.

Valores de gas recomendados

A continuación se muestran los valores recomendados de TON enviado y gas de reenvío para cada tipo de swap:

Tipo
Tx TON
TON de reenvío

Jetton -> Jetton

0.265

0.205

Jetton -> pTON

0.185

0.125

pTON -> Jetton

swap_amount + 0.215

0.215

Fórmulas:

Jetton -> Jetton

Jetton -> pTON

pTON -> Jetton

Última actualización