UNPKG

web3agent-aof

Version:

AI Framework for Onchain Operations and DeFi Interactions

42 lines 1.39 kB
import { ethers } from 'ethers'; // ERC20 ABI (minimal) const ERC20_ABI = [ 'function transfer(address to, uint256 amount) external returns (bool)', 'function balanceOf(address account) external view returns (uint256)', 'function approve(address spender, uint256 amount) external returns (bool)' ]; export const transfer = async (params, wallet) => { const { to, amount, tokenAddress } = params; try { let tx; if (tokenAddress) { // ERC20 transfer const token = new ethers.Contract(tokenAddress, ERC20_ABI, wallet); tx = await token.transfer(to, amount); } else { // Native ETH transfer tx = await wallet.sendTransaction({ to, value: amount }); } const receipt = await tx.wait(); return receipt; } catch (error) { throw new Error(`Transfer failed: ${error.message}`); } }; export const approve = async (spender, amount, tokenAddress, wallet) => { try { const token = new ethers.Contract(tokenAddress, ERC20_ABI, wallet); const tx = await token.approve(spender, amount); const receipt = await tx.wait(); return receipt; } catch (error) { throw new Error(`Approval failed: ${error.message}`); } }; //# sourceMappingURL=transfers.js.map