/** * This file was generated by scripts/codegen.ts * * Original abi file: * - node_modules/@axelar-network/interchain-token-service/artifacts/contracts/interchain-token/ERC20Permit.sol/ERC20Permit.json * * DO NOT EDIT MANUALLY */ import type { PublicContractClient } from "../../PublicContractClient"; import ABI_FILE from "./ERC20Permit.abi"; export type ERC20PermitAllowanceArgs = { owner: `0x${string}`; spender: `0x${string}`; }; /** * Factory function for ERC20Permit.allowance function args */ export declare const encodeERC20PermitAllowanceArgs: ({ owner, spender, }: ERC20PermitAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; /** * Encoder function for ERC20Permit.allowance function data */ export declare const encodeERC20PermitAllowanceData: ({ owner, spender, }: ERC20PermitAllowanceArgs) => `0x${string}`; export type ERC20PermitApproveArgs = { spender: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20Permit.approve function args */ export declare const encodeERC20PermitApproveArgs: ({ spender, amount, }: ERC20PermitApproveArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20Permit.approve function data */ export declare const encodeERC20PermitApproveData: ({ spender, amount, }: ERC20PermitApproveArgs) => `0x${string}`; export type ERC20PermitBalanceOfArgs = { balanceOfArg0: `0x${string}`; }; /** * Factory function for ERC20Permit.balanceOf function args */ export declare const encodeERC20PermitBalanceOfArgs: ({ balanceOfArg0, }: ERC20PermitBalanceOfArgs) => readonly [`0x${string}`]; /** * Encoder function for ERC20Permit.balanceOf function data */ export declare const encodeERC20PermitBalanceOfData: ({ balanceOfArg0, }: ERC20PermitBalanceOfArgs) => `0x${string}`; export type ERC20PermitDecreaseAllowanceArgs = { spender: `0x${string}`; subtractedValue: bigint; }; /** * Factory function for ERC20Permit.decreaseAllowance function args */ export declare const encodeERC20PermitDecreaseAllowanceArgs: ({ spender, subtractedValue, }: ERC20PermitDecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20Permit.decreaseAllowance function data */ export declare const encodeERC20PermitDecreaseAllowanceData: ({ spender, subtractedValue, }: ERC20PermitDecreaseAllowanceArgs) => `0x${string}`; export type ERC20PermitIncreaseAllowanceArgs = { spender: `0x${string}`; addedValue: bigint; }; /** * Factory function for ERC20Permit.increaseAllowance function args */ export declare const encodeERC20PermitIncreaseAllowanceArgs: ({ spender, addedValue, }: ERC20PermitIncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20Permit.increaseAllowance function data */ export declare const encodeERC20PermitIncreaseAllowanceData: ({ spender, addedValue, }: ERC20PermitIncreaseAllowanceArgs) => `0x${string}`; export type ERC20PermitNoncesArgs = { noncesArg0: `0x${string}`; }; /** * Factory function for ERC20Permit.nonces function args */ export declare const encodeERC20PermitNoncesArgs: ({ noncesArg0, }: ERC20PermitNoncesArgs) => readonly [`0x${string}`]; /** * Encoder function for ERC20Permit.nonces function data */ export declare const encodeERC20PermitNoncesData: ({ noncesArg0, }: ERC20PermitNoncesArgs) => `0x${string}`; export type ERC20PermitPermitArgs = { issuer: `0x${string}`; spender: `0x${string}`; value: bigint; deadline: bigint; v: number; r: `0x${string}`; s: `0x${string}`; }; /** * Factory function for ERC20Permit.permit function args */ export declare const encodeERC20PermitPermitArgs: ({ issuer, spender, value, deadline, v, r, s, }: ERC20PermitPermitArgs) => readonly [`0x${string}`, `0x${string}`, bigint, bigint, number, `0x${string}`, `0x${string}`]; /** * Encoder function for ERC20Permit.permit function data */ export declare const encodeERC20PermitPermitData: ({ issuer, spender, value, deadline, v, r, s, }: ERC20PermitPermitArgs) => `0x${string}`; export type ERC20PermitTransferArgs = { recipient: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20Permit.transfer function args */ export declare const encodeERC20PermitTransferArgs: ({ recipient, amount, }: ERC20PermitTransferArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for ERC20Permit.transfer function data */ export declare const encodeERC20PermitTransferData: ({ recipient, amount, }: ERC20PermitTransferArgs) => `0x${string}`; export type ERC20PermitTransferFromArgs = { sender: `0x${string}`; recipient: `0x${string}`; amount: bigint; }; /** * Factory function for ERC20Permit.transferFrom function args */ export declare const encodeERC20PermitTransferFromArgs: ({ sender, recipient, amount, }: ERC20PermitTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; /** * Encoder function for ERC20Permit.transferFrom function data */ export declare const encodeERC20PermitTransferFromData: ({ sender, recipient, amount, }: ERC20PermitTransferFromArgs) => `0x${string}`; export declare const ERC20_PERMIT_ENCODERS: { allowance: { args: ({ owner, spender, }: ERC20PermitAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; data: ({ owner, spender, }: ERC20PermitAllowanceArgs) => `0x${string}`; }; approve: { args: ({ spender, amount, }: ERC20PermitApproveArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, amount, }: ERC20PermitApproveArgs) => `0x${string}`; }; balanceOf: { args: ({ balanceOfArg0, }: ERC20PermitBalanceOfArgs) => readonly [`0x${string}`]; data: ({ balanceOfArg0, }: ERC20PermitBalanceOfArgs) => `0x${string}`; }; decreaseAllowance: { args: ({ spender, subtractedValue, }: ERC20PermitDecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, subtractedValue, }: ERC20PermitDecreaseAllowanceArgs) => `0x${string}`; }; increaseAllowance: { args: ({ spender, addedValue, }: ERC20PermitIncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, addedValue, }: ERC20PermitIncreaseAllowanceArgs) => `0x${string}`; }; nonces: { args: ({ noncesArg0, }: ERC20PermitNoncesArgs) => readonly [`0x${string}`]; data: ({ noncesArg0, }: ERC20PermitNoncesArgs) => `0x${string}`; }; permit: { args: ({ issuer, spender, value, deadline, v, r, s, }: ERC20PermitPermitArgs) => readonly [`0x${string}`, `0x${string}`, bigint, bigint, number, `0x${string}`, `0x${string}`]; data: ({ issuer, spender, value, deadline, v, r, s, }: ERC20PermitPermitArgs) => `0x${string}`; }; transfer: { args: ({ recipient, amount, }: ERC20PermitTransferArgs) => readonly [`0x${string}`, bigint]; data: ({ recipient, amount, }: ERC20PermitTransferArgs) => `0x${string}`; }; transferFrom: { args: ({ sender, recipient, amount, }: ERC20PermitTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; data: ({ sender, recipient, amount, }: ERC20PermitTransferFromArgs) => `0x${string}`; }; }; export declare function createERC20PermitReadClient(publicClient: PublicContractClient): { DOMAIN_SEPARATOR(): Promise<`0x${string}`>; allowance(allowanceArgs: ERC20PermitAllowanceArgs): Promise; balanceOf(balanceOfArgs: ERC20PermitBalanceOfArgs): Promise; nameHash(): Promise<`0x${string}`>; nonces(noncesArgs: ERC20PermitNoncesArgs): Promise; totalSupply(): Promise; };