For the complete documentation index, see llms.txt. This page is also available as Markdown.

TonConnect (React)

Torch Finance integrates seamlessly with TonConnectUI, making it simple to send transactions on the TON blockchain. Here's an example to demonstrate how you can use TonConnectUI to send a transaction.

Below is a code snippet that shows how to set up and send a transaction using TonConnectUI.

function App() {
  const wallet = useTonWallet();
  const [tonconnectUI] = useTonConnectUI();
  const sdk = new TorchSDK();
  
  const onSwap = async () => {
    if (!wallet || !tonconnectUI.account) {
      alert('Please connect your wallet');
      return;
    }
    if (tonconnectUI.account?.chain !== CHAIN.TESTNET) {
      alert('Please connect to Testnet');
      return;
    }
    const swapParams: SwapParams = {
      mode: 'ExactIn',
      queryId: await generateQueryId(),
      assetIn: Asset.ton(),
      assetOut: Asset.jetton(
        Address.parse('EQC98_qAmNEptUtPc7W6xdHh_ZHrBUFpw5Ft_IzNU20QAJav')
      ),
      amountIn: toUnit('0.01', 9), // 0.01 TON
      slippageTolerance: 0.01, // 1%
    };
    const sender = Address.parse(wallet.account.address);
    const swapPayload = await sdk.getSwapPayload(sender, swapParams);

    const { boc } = await tonconnectUI.sendTransaction({
      validUntil: Date.now() + 1000 * 60, // 1 minute
      messages: [
        {
          address: swapPayload.to.toString(),
          amount: swapPayload.value.toString(),
          payload: swapPayload.body ? swapPayload.body.toString() : undefined,
        },
      ],
    });
    alert(`Swap Request Sent, Message Hash: ${boc}`);
  };
}

Last updated