/** * This file was generated by scripts/codegen.ts * * Original abi file: * - node_modules/@axelar-network/interchain-token-service/artifacts/contracts/interchain-token/ERC20.sol/ERC20.json * * DO NOT EDIT MANUALLY */ import type { PublicContractClient } from "../../PublicContractClient"; import ABI_FILE from "./ERC20.abi"; export type ERC20AllowanceArgs = { owner: `0x${string}`; spender: `0x${string}`; }; /** * Factory function for ERC20.allowance function args */ export declare const encodeERC20AllowanceArgs: ({ owner, spender, }: ERC20AllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; /** * Encoder function for ERC20.allowance function data */ export declare const encodeERC20AllowanceData: ({ owner, spender, }: ERC20AllowanceArgs) => `0x${string}`; export type ERC20ApproveArgs = { spender: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20.approve function args */ export declare const encodeERC20ApproveArgs: ({ spender, amount }: ERC20ApproveArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20.approve function data */ export declare const encodeERC20ApproveData: ({ spender, amount, }: ERC20ApproveArgs) => `0x${string}`; export type ERC20BalanceOfArgs = { balanceOfArg0: `0x${string}`; }; /** * Factory function for ERC20.balanceOf function args */ export declare const encodeERC20BalanceOfArgs: ({ balanceOfArg0, }: ERC20BalanceOfArgs) => readonly [`0x${string}`]; /** * Encoder function for ERC20.balanceOf function data */ export declare const encodeERC20BalanceOfData: ({ balanceOfArg0, }: ERC20BalanceOfArgs) => `0x${string}`; export type ERC20DecreaseAllowanceArgs = { spender: `0x${string}`; subtractedValue: bigint; }; /** * Factory function for ERC20.decreaseAllowance function args */ export declare const encodeERC20DecreaseAllowanceArgs: ({ spender, subtractedValue, }: ERC20DecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20.decreaseAllowance function data */ export declare const encodeERC20DecreaseAllowanceData: ({ spender, subtractedValue, }: ERC20DecreaseAllowanceArgs) => `0x${string}`; export type ERC20IncreaseAllowanceArgs = { spender: `0x${string}`; addedValue: bigint; }; /** * Factory function for ERC20.increaseAllowance function args */ export declare const encodeERC20IncreaseAllowanceArgs: ({ spender, addedValue, }: ERC20IncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20.increaseAllowance function data */ export declare const encodeERC20IncreaseAllowanceData: ({ spender, addedValue, }: ERC20IncreaseAllowanceArgs) => `0x${string}`; export type ERC20TransferArgs = { recipient: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20.transfer function args */ export declare const encodeERC20TransferArgs: ({ recipient, amount, }: ERC20TransferArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20.transfer function data */ export declare const encodeERC20TransferData: ({ recipient, amount, }: ERC20TransferArgs) => `0x${string}`; export type ERC20TransferFromArgs = { sender: `0x${string}`; recipient: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20.transferFrom function args */ export declare const encodeERC20TransferFromArgs: ({ sender, recipient, amount, }: ERC20TransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; /** * Encoder function for ERC20.transferFrom function data */ export declare const encodeERC20TransferFromData: ({ sender, recipient, amount, }: ERC20TransferFromArgs) => `0x${string}`; export declare const ERC20_ENCODERS: { allowance: { args: ({ owner, spender, }: ERC20AllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; data: ({ owner, spender, }: ERC20AllowanceArgs) => `0x${string}`; }; approve: { args: ({ spender, amount }: ERC20ApproveArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, amount, }: ERC20ApproveArgs) => `0x${string}`; }; balanceOf: { args: ({ balanceOfArg0, }: ERC20BalanceOfArgs) => readonly [`0x${string}`]; data: ({ balanceOfArg0, }: ERC20BalanceOfArgs) => `0x${string}`; }; decreaseAllowance: { args: ({ spender, subtractedValue, }: ERC20DecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, subtractedValue, }: ERC20DecreaseAllowanceArgs) => `0x${string}`; }; increaseAllowance: { args: ({ spender, addedValue, }: ERC20IncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, addedValue, }: ERC20IncreaseAllowanceArgs) => `0x${string}`; }; transfer: { args: ({ recipient, amount, }: ERC20TransferArgs) => readonly [`0x${string}`, bigint]; data: ({ recipient, amount, }: ERC20TransferArgs) => `0x${string}`; }; transferFrom: { args: ({ sender, recipient, amount, }: ERC20TransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; data: ({ sender, recipient, amount, }: ERC20TransferFromArgs) => `0x${string}`; }; }; export declare function createERC20ReadClient(publicClient: PublicContractClient): { allowance(allowanceArgs: ERC20AllowanceArgs): Promise; balanceOf(balanceOfArgs: ERC20BalanceOfArgs): Promise; totalSupply(): Promise; };