Complete Simple Bridge example
import { SimpleBridgeRevertedError, createSilentSwapClient } from '@silentswap/sdk';
import type { WalletClient } from 'viem';
declare const walletClient: WalletClient;
const client = createSilentSwapClient({ walletClient });
export async function startSimpleBridge(): Promise<() => void> {
const quote = await client.quote({
privacy: false,
inputAddress: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8',
sourceChainId: 8453,
sourceAsset: 'USDC',
amount: 25_000_000n,
outputs: [
{
address: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8',
chainId: 1,
dest: {
kind: 'evm',
chainId: 1,
assetId: '0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
assetSymbol: 'USDC',
assetDecimals: 6,
},
},
],
});
try {
const order = await client.placeOrder(quote);
return client.trackOrderViaWebSocket(
order.reference,
(state) => console.log(state.status),
console.error,
);
} catch (error) {
if (error instanceof SimpleBridgeRevertedError) {
throw new Error(`Simple Bridge reverted: ${error.txHash}`, { cause: error });
}
throw error;
}
}