Proporcionar liquidez (v0.4)

Provisión de liquidez heredada v0.4: añade liquidez a los pools usando métodos obsoletos del SDK

Pool Jetton1/Jetton2

Proporciona liquidez para un pool de liquidez de 2 Jettons.

import TonWeb from 'tonweb';

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

/**
 * Este ejemplo muestra cómo proporcionar liquidez al pool
 * Como resultado, recibirás tokens LP que pueden usarse para retirar tus tokens del pool.
 */
(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 proporcionar 0.5 JETTON0 al pool JETTON0/JETTON1
  const jetton0ProvisionTxParams =
    await router.buildProvideLiquidityJettonTxParams({
      // dirección de la billetera que contiene el jetton que quieres proporcionar
      userWalletAddress: WALLET_ADDRESS,
      // dirección del jetton que quieres proporcionar
      sendTokenAddress: JETTON0,
      // cantidad del jetton que quieres proporcionar
      sendAmount: new TonWeb.utils.BN('500000000'),
      // dirección del segundo jetton que quieres proporcionar
      otherTokenAddress: JETTON1,
      // cantidad mínima de tokens LP que quieres recibir como resultado de la provisión
      minLpOut: new TonWeb.utils.BN(1),
      // 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; se usa logging solo con fines de demostración)
  console.log({
    to: jetton0ProvisionTxParams.to,
    amount: jetton0ProvisionTxParams.gasAmount,
    payload: jetton0ProvisionTxParams.payload,
  });

  // transacción para proporcionar 0.2 JETTON1 al pool JETTON0/JETTON1
  const jetton1ProvisionTxParams =
    await router.buildProvideLiquidityJettonTxParams({
      // dirección de la billetera que contiene el jetton que quieres proporcionar
      userWalletAddress: WALLET_ADDRESS,
      // dirección del jetton que quieres proporcionar
      sendTokenAddress: JETTON1,
      // cantidad del jetton que quieres proporcionar
      sendAmount: new TonWeb.utils.BN('200000000'),
      // dirección del segundo jetton que quieres proporcionar
      otherTokenAddress: JETTON0,
      // cantidad mínima de tokens LP que quieres recibir como resultado de la provisión
      minLpOut: new TonWeb.utils.BN(1),
      // 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; se usa logging solo con fines de demostración)
  console.log({
    to: jetton1ProvisionTxParams.to,
    amount: jetton1ProvisionTxParams.gasAmount,
    payload: jetton1ProvisionTxParams.payload,
  });

  // después de ejecutar ambas transacciones, el proceso de provisión de liquidez se completará
  // y recibirás tokens LP del pool
})();

Pool Proxy-ton/Jetton

Proporciona liquidez para un pool de liquidez con proxy ton.

Última actualización