// 1. 从 Swap API 获取 calldata
const response = await fetch('/swap-api/api/v1/swap', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tokenIn: '0x...',
tokenOut: '0x...',
amountIn: '1000000000000000000',
tradeType: 0,
slippage: 0.5,
recipient: userAddress,
deadline: 1200
})
});
const swapData = await response.json();
// 2. 直接发送交易
const tx = await signer.sendTransaction({
to: swapData.to, // Universal Router 地址
data: swapData.data, // 编码后的 execute() calldata
value: swapData.value // 原生 KAS 金额(ERC-20 兑换时为 0)
});