EVM
Backend Execution (using Viem)
const walletClient = createWalletClient({
chain: base,
transport: http(),
});
const account = privateKeyToAccount(process.env.PRIVATE_KEY! as `0x${string}`);
const brian = new BrianSDK(options);
const request = await brian.transact({
prompt: "swap 1 ETH for USDC on base",
address: "vitalik.eth",
});
console.log("transaction result:", request);
//Execute all the transactions in the steps array for each request returned
for (const req of request) {
for (const step of req.data.steps!) {
const tx = await walletClient.sendTransaction({
account: account,
to: step.to,
value: BigInt(step.value),
data: step.data,
});
console.log(`Transaction for step ${step.chainId} sent:`, tx);
await publicClient.waitForTransactionReceipt({ hash: tx }); // Wait for the transaction to be mined
console.log(`Transaction for step ${step.chainId} confirmed.`);
}
}
}Frontend Execution (using Wagmi)
Last updated