/** * This file was generated by scripts/codegen.ts * * Original abi file: * - node_modules/@axelar-network/interchain-token-service/artifacts/contracts/interchain-token/InterchainToken.sol/InterchainToken.json * * DO NOT EDIT MANUALLY */ import type { PublicContractClient } from "../../PublicContractClient"; import ABI_FILE from "./InterchainToken.abi"; export type InterchainTokenAcceptMintershipArgs = { fromMinter: `0x${string}`; }; /** * Factory function for InterchainToken.acceptMintership function args */ export declare const encodeInterchainTokenAcceptMintershipArgs: ({ fromMinter, }: InterchainTokenAcceptMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.acceptMintership function data */ export declare const encodeInterchainTokenAcceptMintershipData: ({ fromMinter, }: InterchainTokenAcceptMintershipArgs) => `0x${string}`; export type InterchainTokenAllowanceArgs = { owner: `0x${string}`; spender: `0x${string}`; }; /** * Factory function for InterchainToken.allowance function args */ export declare const encodeInterchainTokenAllowanceArgs: ({ owner, spender, }: InterchainTokenAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; /** * Encoder function for InterchainToken.allowance function data */ export declare const encodeInterchainTokenAllowanceData: ({ owner, spender, }: InterchainTokenAllowanceArgs) => `0x${string}`; export type InterchainTokenApproveArgs = { spender: `0x${string}`; amount: bigint; }; /** * Factory function for InterchainToken.approve function args */ export declare const encodeInterchainTokenApproveArgs: ({ spender, amount, }: InterchainTokenApproveArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.approve function data */ export declare const encodeInterchainTokenApproveData: ({ spender, amount, }: InterchainTokenApproveArgs) => `0x${string}`; export type InterchainTokenBalanceOfArgs = { balanceOfArg0: `0x${string}`; }; /** * Factory function for InterchainToken.balanceOf function args */ export declare const encodeInterchainTokenBalanceOfArgs: ({ balanceOfArg0, }: InterchainTokenBalanceOfArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.balanceOf function data */ export declare const encodeInterchainTokenBalanceOfData: ({ balanceOfArg0, }: InterchainTokenBalanceOfArgs) => `0x${string}`; export type InterchainTokenBurnArgs = { account: `0x${string}`; amount: bigint; }; /** * Factory function for InterchainToken.burn function args */ export declare const encodeInterchainTokenBurnArgs: ({ account, amount, }: InterchainTokenBurnArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.burn function data */ export declare const encodeInterchainTokenBurnData: ({ account, amount, }: InterchainTokenBurnArgs) => `0x${string}`; export type InterchainTokenDecreaseAllowanceArgs = { spender: `0x${string}`; subtractedValue: bigint; }; /** * Factory function for InterchainToken.decreaseAllowance function args */ export declare const encodeInterchainTokenDecreaseAllowanceArgs: ({ spender, subtractedValue, }: InterchainTokenDecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.decreaseAllowance function data */ export declare const encodeInterchainTokenDecreaseAllowanceData: ({ spender, subtractedValue, }: InterchainTokenDecreaseAllowanceArgs) => `0x${string}`; export type InterchainTokenHasRoleArgs = { account: `0x${string}`; role: number; }; /** * Factory function for InterchainToken.hasRole function args */ export declare const encodeInterchainTokenHasRoleArgs: ({ account, role, }: InterchainTokenHasRoleArgs) => readonly [`0x${string}`, number]; /** * Encoder function for InterchainToken.hasRole function data */ export declare const encodeInterchainTokenHasRoleData: ({ account, role, }: InterchainTokenHasRoleArgs) => `0x${string}`; export type InterchainTokenIncreaseAllowanceArgs = { spender: `0x${string}`; addedValue: bigint; }; /** * Factory function for InterchainToken.increaseAllowance function args */ export declare const encodeInterchainTokenIncreaseAllowanceArgs: ({ spender, addedValue, }: InterchainTokenIncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.increaseAllowance function data */ export declare const encodeInterchainTokenIncreaseAllowanceData: ({ spender, addedValue, }: InterchainTokenIncreaseAllowanceArgs) => `0x${string}`; export type InterchainTokenInitArgs = { tokenId_: `0x${string}`; minter: `0x${string}`; tokenName: string; tokenSymbol: string; tokenDecimals: number; }; /** * Factory function for InterchainToken.init function args */ export declare const encodeInterchainTokenInitArgs: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: InterchainTokenInitArgs) => readonly [`0x${string}`, `0x${string}`, string, string, number]; /** * Encoder function for InterchainToken.init function data */ export declare const encodeInterchainTokenInitData: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: InterchainTokenInitArgs) => `0x${string}`; export type InterchainTokenInterchainTransferArgs = { destinationChain: string; recipient: `0x${string}`; amount: bigint; metadata: `0x${string}`; }; /** * Factory function for InterchainToken.interchainTransfer function args */ export declare const encodeInterchainTokenInterchainTransferArgs: ({ destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferArgs) => readonly [string, `0x${string}`, bigint, `0x${string}`]; /** * Encoder function for InterchainToken.interchainTransfer function data */ export declare const encodeInterchainTokenInterchainTransferData: ({ destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferArgs) => `0x${string}`; export type InterchainTokenInterchainTransferFromArgs = { sender: `0x${string}`; destinationChain: string; recipient: `0x${string}`; amount: bigint; metadata: `0x${string}`; }; /** * Factory function for InterchainToken.interchainTransferFrom function args */ export declare const encodeInterchainTokenInterchainTransferFromArgs: ({ sender, destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferFromArgs) => readonly [`0x${string}`, string, `0x${string}`, bigint, `0x${string}`]; /** * Encoder function for InterchainToken.interchainTransferFrom function data */ export declare const encodeInterchainTokenInterchainTransferFromData: ({ sender, destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferFromArgs) => `0x${string}`; export type InterchainTokenIsMinterArgs = { addr: `0x${string}`; }; /** * Factory function for InterchainToken.isMinter function args */ export declare const encodeInterchainTokenIsMinterArgs: ({ addr, }: InterchainTokenIsMinterArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.isMinter function data */ export declare const encodeInterchainTokenIsMinterData: ({ addr, }: InterchainTokenIsMinterArgs) => `0x${string}`; export type InterchainTokenMintArgs = { account: `0x${string}`; amount: bigint; }; /** * Factory function for InterchainToken.mint function args */ export declare const encodeInterchainTokenMintArgs: ({ account, amount, }: InterchainTokenMintArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.mint function data */ export declare const encodeInterchainTokenMintData: ({ account, amount, }: InterchainTokenMintArgs) => `0x${string}`; export type InterchainTokenNoncesArgs = { noncesArg0: `0x${string}`; }; /** * Factory function for InterchainToken.nonces function args */ export declare const encodeInterchainTokenNoncesArgs: ({ noncesArg0, }: InterchainTokenNoncesArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.nonces function data */ export declare const encodeInterchainTokenNoncesData: ({ noncesArg0, }: InterchainTokenNoncesArgs) => `0x${string}`; export type InterchainTokenPermitArgs = { issuer: `0x${string}`; spender: `0x${string}`; value: bigint; deadline: bigint; v: number; r: `0x${string}`; s: `0x${string}`; }; /** * Factory function for InterchainToken.permit function args */ export declare const encodeInterchainTokenPermitArgs: ({ issuer, spender, value, deadline, v, r, s, }: InterchainTokenPermitArgs) => readonly [`0x${string}`, `0x${string}`, bigint, bigint, number, `0x${string}`, `0x${string}`]; /** * Encoder function for InterchainToken.permit function data */ export declare const encodeInterchainTokenPermitData: ({ issuer, spender, value, deadline, v, r, s, }: InterchainTokenPermitArgs) => `0x${string}`; export type InterchainTokenProposeMintershipArgs = { minter_: `0x${string}`; }; /** * Factory function for InterchainToken.proposeMintership function args */ export declare const encodeInterchainTokenProposeMintershipArgs: ({ minter_, }: InterchainTokenProposeMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.proposeMintership function data */ export declare const encodeInterchainTokenProposeMintershipData: ({ minter_, }: InterchainTokenProposeMintershipArgs) => `0x${string}`; export type InterchainTokenTransferArgs = { recipient: `0x${string}`; amount: bigint; }; /** * Factory function for InterchainToken.transfer function args */ export declare const encodeInterchainTokenTransferArgs: ({ recipient, amount, }: InterchainTokenTransferArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for InterchainToken.transfer function data */ export declare const encodeInterchainTokenTransferData: ({ recipient, amount, }: InterchainTokenTransferArgs) => `0x${string}`; export type InterchainTokenTransferFromArgs = { sender: `0x${string}`; recipient: `0x${string}`; amount: bigint; }; /** * Factory function for InterchainToken.transferFrom function args */ export declare const encodeInterchainTokenTransferFromArgs: ({ sender, recipient, amount, }: InterchainTokenTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; /** * Encoder function for InterchainToken.transferFrom function data */ export declare const encodeInterchainTokenTransferFromData: ({ sender, recipient, amount, }: InterchainTokenTransferFromArgs) => `0x${string}`; export type InterchainTokenTransferMintershipArgs = { minter_: `0x${string}`; }; /** * Factory function for InterchainToken.transferMintership function args */ export declare const encodeInterchainTokenTransferMintershipArgs: ({ minter_, }: InterchainTokenTransferMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for InterchainToken.transferMintership function data */ export declare const encodeInterchainTokenTransferMintershipData: ({ minter_, }: InterchainTokenTransferMintershipArgs) => `0x${string}`; export declare const INTERCHAIN_TOKEN_ENCODERS: { acceptMintership: { args: ({ fromMinter, }: InterchainTokenAcceptMintershipArgs) => readonly [`0x${string}`]; data: ({ fromMinter, }: InterchainTokenAcceptMintershipArgs) => `0x${string}`; }; allowance: { args: ({ owner, spender, }: InterchainTokenAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; data: ({ owner, spender, }: InterchainTokenAllowanceArgs) => `0x${string}`; }; approve: { args: ({ spender, amount, }: InterchainTokenApproveArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, amount, }: InterchainTokenApproveArgs) => `0x${string}`; }; balanceOf: { args: ({ balanceOfArg0, }: InterchainTokenBalanceOfArgs) => readonly [`0x${string}`]; data: ({ balanceOfArg0, }: InterchainTokenBalanceOfArgs) => `0x${string}`; }; burn: { args: ({ account, amount, }: InterchainTokenBurnArgs) => readonly [`0x${string}`, bigint]; data: ({ account, amount, }: InterchainTokenBurnArgs) => `0x${string}`; }; decreaseAllowance: { args: ({ spender, subtractedValue, }: InterchainTokenDecreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, subtractedValue, }: InterchainTokenDecreaseAllowanceArgs) => `0x${string}`; }; hasRole: { args: ({ account, role, }: InterchainTokenHasRoleArgs) => readonly [`0x${string}`, number]; data: ({ account, role, }: InterchainTokenHasRoleArgs) => `0x${string}`; }; increaseAllowance: { args: ({ spender, addedValue, }: InterchainTokenIncreaseAllowanceArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, addedValue, }: InterchainTokenIncreaseAllowanceArgs) => `0x${string}`; }; init: { args: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: InterchainTokenInitArgs) => readonly [`0x${string}`, `0x${string}`, string, string, number]; data: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: InterchainTokenInitArgs) => `0x${string}`; }; interchainTransfer: { args: ({ destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferArgs) => readonly [string, `0x${string}`, bigint, `0x${string}`]; data: ({ destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferArgs) => `0x${string}`; }; interchainTransferFrom: { args: ({ sender, destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferFromArgs) => readonly [`0x${string}`, string, `0x${string}`, bigint, `0x${string}`]; data: ({ sender, destinationChain, recipient, amount, metadata, }: InterchainTokenInterchainTransferFromArgs) => `0x${string}`; }; isMinter: { args: ({ addr, }: InterchainTokenIsMinterArgs) => readonly [`0x${string}`]; data: ({ addr, }: InterchainTokenIsMinterArgs) => `0x${string}`; }; mint: { args: ({ account, amount, }: InterchainTokenMintArgs) => readonly [`0x${string}`, bigint]; data: ({ account, amount, }: InterchainTokenMintArgs) => `0x${string}`; }; nonces: { args: ({ noncesArg0, }: InterchainTokenNoncesArgs) => readonly [`0x${string}`]; data: ({ noncesArg0, }: InterchainTokenNoncesArgs) => `0x${string}`; }; permit: { args: ({ issuer, spender, value, deadline, v, r, s, }: InterchainTokenPermitArgs) => readonly [`0x${string}`, `0x${string}`, bigint, bigint, number, `0x${string}`, `0x${string}`]; data: ({ issuer, spender, value, deadline, v, r, s, }: InterchainTokenPermitArgs) => `0x${string}`; }; proposeMintership: { args: ({ minter_, }: InterchainTokenProposeMintershipArgs) => readonly [`0x${string}`]; data: ({ minter_, }: InterchainTokenProposeMintershipArgs) => `0x${string}`; }; transfer: { args: ({ recipient, amount, }: InterchainTokenTransferArgs) => readonly [`0x${string}`, bigint]; data: ({ recipient, amount, }: InterchainTokenTransferArgs) => `0x${string}`; }; transferFrom: { args: ({ sender, recipient, amount, }: InterchainTokenTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; data: ({ sender, recipient, amount, }: InterchainTokenTransferFromArgs) => `0x${string}`; }; transferMintership: { args: ({ minter_, }: InterchainTokenTransferMintershipArgs) => readonly [`0x${string}`]; data: ({ minter_, }: InterchainTokenTransferMintershipArgs) => `0x${string}`; }; }; export declare function createInterchainTokenReadClient(publicClient: PublicContractClient): { DOMAIN_SEPARATOR(): Promise<`0x${string}`>; allowance(allowanceArgs: InterchainTokenAllowanceArgs): Promise; balanceOf(balanceOfArgs: InterchainTokenBalanceOfArgs): Promise; decimals(): Promise; hasRole(hasRoleArgs: InterchainTokenHasRoleArgs): Promise; interchainTokenId(): Promise<`0x${string}`>; interchainTokenService(): Promise<`0x${string}`>; isMinter(isMinterArgs: InterchainTokenIsMinterArgs): Promise; name(): Promise; nameHash(): Promise<`0x${string}`>; nonces(noncesArgs: InterchainTokenNoncesArgs): Promise; symbol(): Promise; totalSupply(): Promise; };