sei-agent-kit
Version:
A package for building AI agents on the SEI blockchain
27 lines • 979 B
JavaScript
import { erc20Abi } from "viem";
export async function approveToken(agent, tokenAddress, spender, amount) {
try {
// Check current allowance
const allowance = await agent.publicClient.readContract({
address: tokenAddress,
abi: erc20Abi,
functionName: "allowance",
args: [agent.wallet_address, spender]
});
// If allowance is already sufficient, skip approval
if (allowance >= amount) {
return;
}
// Prepare approval transaction
await agent.walletClient.writeContract({
address: tokenAddress,
abi: erc20Abi,
functionName: "approve",
args: [spender, amount]
}); // Using 'as any' to bypass type-checking issues
}
catch (error) {
throw new Error(`Failed to approve token: ${error instanceof Error ? error.message : String(error)}`);
}
}
//# sourceMappingURL=approveTokens.js.map