TON and TRON deposits
Account-chain quotes are signed outside viem.
import type { PrivateQuote } from '@silentswap/sdk';
declare const quote: PrivateQuote;
if (!('type' in quote.deposit)) {
if (quote.deposit.txKind === 'ton') {
const messages = quote.deposit.tonMessages;
if (!messages?.length) throw new Error('Missing TON messages');
console.log(messages);
}
if (quote.deposit.txKind === 'tron') {
const transaction = quote.deposit.tronTransaction;
if (!transaction) throw new Error('Missing TRON transaction');
console.log(transaction);
}
}For wallet-backed routes, configure the corresponding narrow adapter. The SDK verifies its
active address against inputAddress, then submits all quoted TON messages in order
or the single quoted TRON transaction without changing calldata or value.
Some TON/TRON inputs use an external pay-in-address shape instead. Detect that with
isUtxoDeposit and show the returned address and amount.