TonConnect (React)
Last updated
Last updated
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}`);
};
}