/** * This file was generated by scripts/codegen.ts * * Original abi file: * - node_modules/@axelar-network/interchain-token-service/artifacts/contracts/interfaces/IInterchainToken.sol/IInterchainToken.json * * DO NOT EDIT MANUALLY */ import type { PublicContractClient } from "../../PublicContractClient"; import ABI_FILE from "./IInterchainToken.abi"; export type IInterchainTokenAcceptMintershipArgs = { fromMinter: `0x${string}`; }; /** * Factory function for IInterchainToken.acceptMintership function args */ export declare const encodeIInterchainTokenAcceptMintershipArgs: ({ fromMinter, }: IInterchainTokenAcceptMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for IInterchainToken.acceptMintership function data */ export declare const encodeIInterchainTokenAcceptMintershipData: ({ fromMinter, }: IInterchainTokenAcceptMintershipArgs) => `0x${string}`; export type IInterchainTokenAllowanceArgs = { owner: `0x${string}`; spender: `0x${string}`; }; /** * Factory function for IInterchainToken.allowance function args */ export declare const encodeIInterchainTokenAllowanceArgs: ({ owner, spender, }: IInterchainTokenAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; /** * Encoder function for IInterchainToken.allowance function data */ export declare const encodeIInterchainTokenAllowanceData: ({ owner, spender, }: IInterchainTokenAllowanceArgs) => `0x${string}`; export type IInterchainTokenApproveArgs = { spender: `0x${string}`; amount: bigint; }; /** * Factory function for IInterchainToken.approve function args */ export declare const encodeIInterchainTokenApproveArgs: ({ spender, amount, }: IInterchainTokenApproveArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for IInterchainToken.approve function data */ export declare const encodeIInterchainTokenApproveData: ({ spender, amount, }: IInterchainTokenApproveArgs) => `0x${string}`; export type IInterchainTokenBalanceOfArgs = { account: `0x${string}`; }; /** * Factory function for IInterchainToken.balanceOf function args */ export declare const encodeIInterchainTokenBalanceOfArgs: ({ account, }: IInterchainTokenBalanceOfArgs) => readonly [`0x${string}`]; /** * Encoder function for IInterchainToken.balanceOf function data */ export declare const encodeIInterchainTokenBalanceOfData: ({ account, }: IInterchainTokenBalanceOfArgs) => `0x${string}`; export type IInterchainTokenBurnArgs = { from: `0x${string}`; amount: bigint; }; /** * Factory function for IInterchainToken.burn function args */ export declare const encodeIInterchainTokenBurnArgs: ({ from, amount, }: IInterchainTokenBurnArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for IInterchainToken.burn function data */ export declare const encodeIInterchainTokenBurnData: ({ from, amount, }: IInterchainTokenBurnArgs) => `0x${string}`; export type IInterchainTokenHasRoleArgs = { account: `0x${string}`; role: number; }; /** * Factory function for IInterchainToken.hasRole function args */ export declare const encodeIInterchainTokenHasRoleArgs: ({ account, role, }: IInterchainTokenHasRoleArgs) => readonly [`0x${string}`, number]; /** * Encoder function for IInterchainToken.hasRole function data */ export declare const encodeIInterchainTokenHasRoleData: ({ account, role, }: IInterchainTokenHasRoleArgs) => `0x${string}`; export type IInterchainTokenInitArgs = { tokenId_: `0x${string}`; minter: `0x${string}`; tokenName: string; tokenSymbol: string; tokenDecimals: number; }; /** * Factory function for IInterchainToken.init function args */ export declare const encodeIInterchainTokenInitArgs: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: IInterchainTokenInitArgs) => readonly [`0x${string}`, `0x${string}`, string, string, number]; /** * Encoder function for IInterchainToken.init function data */ export declare const encodeIInterchainTokenInitData: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: IInterchainTokenInitArgs) => `0x${string}`; export type IInterchainTokenInterchainTransferArgs = { destinationChain: string; recipient: `0x${string}`; amount: bigint; metadata: `0x${string}`; }; /** * Factory function for IInterchainToken.interchainTransfer function args */ export declare const encodeIInterchainTokenInterchainTransferArgs: ({ destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferArgs) => readonly [string, `0x${string}`, bigint, `0x${string}`]; /** * Encoder function for IInterchainToken.interchainTransfer function data */ export declare const encodeIInterchainTokenInterchainTransferData: ({ destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferArgs) => `0x${string}`; export type IInterchainTokenInterchainTransferFromArgs = { sender: `0x${string}`; destinationChain: string; recipient: `0x${string}`; amount: bigint; metadata: `0x${string}`; }; /** * Factory function for IInterchainToken.interchainTransferFrom function args */ export declare const encodeIInterchainTokenInterchainTransferFromArgs: ({ sender, destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferFromArgs) => readonly [`0x${string}`, string, `0x${string}`, bigint, `0x${string}`]; /** * Encoder function for IInterchainToken.interchainTransferFrom function data */ export declare const encodeIInterchainTokenInterchainTransferFromData: ({ sender, destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferFromArgs) => `0x${string}`; export type IInterchainTokenIsMinterArgs = { addr: `0x${string}`; }; /** * Factory function for IInterchainToken.isMinter function args */ export declare const encodeIInterchainTokenIsMinterArgs: ({ addr, }: IInterchainTokenIsMinterArgs) => readonly [`0x${string}`]; /** * Encoder function for IInterchainToken.isMinter function data */ export declare const encodeIInterchainTokenIsMinterData: ({ addr, }: IInterchainTokenIsMinterArgs) => `0x${string}`; export type IInterchainTokenMintArgs = { to: `0x${string}`; amount: bigint; }; /** * Factory function for IInterchainToken.mint function args */ export declare const encodeIInterchainTokenMintArgs: ({ to, amount, }: IInterchainTokenMintArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for IInterchainToken.mint function data */ export declare const encodeIInterchainTokenMintData: ({ to, amount, }: IInterchainTokenMintArgs) => `0x${string}`; export type IInterchainTokenProposeMintershipArgs = { minter_: `0x${string}`; }; /** * Factory function for IInterchainToken.proposeMintership function args */ export declare const encodeIInterchainTokenProposeMintershipArgs: ({ minter_, }: IInterchainTokenProposeMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for IInterchainToken.proposeMintership function data */ export declare const encodeIInterchainTokenProposeMintershipData: ({ minter_, }: IInterchainTokenProposeMintershipArgs) => `0x${string}`; export type IInterchainTokenTransferArgs = { recipient: `0x${string}`; amount: bigint; }; /** * Factory function for IInterchainToken.transfer function args */ export declare const encodeIInterchainTokenTransferArgs: ({ recipient, amount, }: IInterchainTokenTransferArgs) => readonly [`0x${string}`, bigint]; /** * Encoder function for IInterchainToken.transfer function data */ export declare const encodeIInterchainTokenTransferData: ({ recipient, amount, }: IInterchainTokenTransferArgs) => `0x${string}`; export type IInterchainTokenTransferFromArgs = { sender: `0x${string}`; recipient: `0x${string}`; amount: bigint; }; /** * Factory function for IInterchainToken.transferFrom function args */ export declare const encodeIInterchainTokenTransferFromArgs: ({ sender, recipient, amount, }: IInterchainTokenTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; /** * Encoder function for IInterchainToken.transferFrom function data */ export declare const encodeIInterchainTokenTransferFromData: ({ sender, recipient, amount, }: IInterchainTokenTransferFromArgs) => `0x${string}`; export type IInterchainTokenTransferMintershipArgs = { minter_: `0x${string}`; }; /** * Factory function for IInterchainToken.transferMintership function args */ export declare const encodeIInterchainTokenTransferMintershipArgs: ({ minter_, }: IInterchainTokenTransferMintershipArgs) => readonly [`0x${string}`]; /** * Encoder function for IInterchainToken.transferMintership function data */ export declare const encodeIInterchainTokenTransferMintershipData: ({ minter_, }: IInterchainTokenTransferMintershipArgs) => `0x${string}`; export declare const IINTERCHAIN_TOKEN_ENCODERS: { acceptMintership: { args: ({ fromMinter, }: IInterchainTokenAcceptMintershipArgs) => readonly [`0x${string}`]; data: ({ fromMinter, }: IInterchainTokenAcceptMintershipArgs) => `0x${string}`; }; allowance: { args: ({ owner, spender, }: IInterchainTokenAllowanceArgs) => readonly [`0x${string}`, `0x${string}`]; data: ({ owner, spender, }: IInterchainTokenAllowanceArgs) => `0x${string}`; }; approve: { args: ({ spender, amount, }: IInterchainTokenApproveArgs) => readonly [`0x${string}`, bigint]; data: ({ spender, amount, }: IInterchainTokenApproveArgs) => `0x${string}`; }; balanceOf: { args: ({ account, }: IInterchainTokenBalanceOfArgs) => readonly [`0x${string}`]; data: ({ account, }: IInterchainTokenBalanceOfArgs) => `0x${string}`; }; burn: { args: ({ from, amount, }: IInterchainTokenBurnArgs) => readonly [`0x${string}`, bigint]; data: ({ from, amount, }: IInterchainTokenBurnArgs) => `0x${string}`; }; hasRole: { args: ({ account, role, }: IInterchainTokenHasRoleArgs) => readonly [`0x${string}`, number]; data: ({ account, role, }: IInterchainTokenHasRoleArgs) => `0x${string}`; }; init: { args: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: IInterchainTokenInitArgs) => readonly [`0x${string}`, `0x${string}`, string, string, number]; data: ({ tokenId_, minter, tokenName, tokenSymbol, tokenDecimals, }: IInterchainTokenInitArgs) => `0x${string}`; }; interchainTransfer: { args: ({ destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferArgs) => readonly [string, `0x${string}`, bigint, `0x${string}`]; data: ({ destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferArgs) => `0x${string}`; }; interchainTransferFrom: { args: ({ sender, destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferFromArgs) => readonly [`0x${string}`, string, `0x${string}`, bigint, `0x${string}`]; data: ({ sender, destinationChain, recipient, amount, metadata, }: IInterchainTokenInterchainTransferFromArgs) => `0x${string}`; }; isMinter: { args: ({ addr, }: IInterchainTokenIsMinterArgs) => readonly [`0x${string}`]; data: ({ addr, }: IInterchainTokenIsMinterArgs) => `0x${string}`; }; mint: { args: ({ to, amount, }: IInterchainTokenMintArgs) => readonly [`0x${string}`, bigint]; data: ({ to, amount, }: IInterchainTokenMintArgs) => `0x${string}`; }; proposeMintership: { args: ({ minter_, }: IInterchainTokenProposeMintershipArgs) => readonly [`0x${string}`]; data: ({ minter_, }: IInterchainTokenProposeMintershipArgs) => `0x${string}`; }; transfer: { args: ({ recipient, amount, }: IInterchainTokenTransferArgs) => readonly [`0x${string}`, bigint]; data: ({ recipient, amount, }: IInterchainTokenTransferArgs) => `0x${string}`; }; transferFrom: { args: ({ sender, recipient, amount, }: IInterchainTokenTransferFromArgs) => readonly [`0x${string}`, `0x${string}`, bigint]; data: ({ sender, recipient, amount, }: IInterchainTokenTransferFromArgs) => `0x${string}`; }; transferMintership: { args: ({ minter_, }: IInterchainTokenTransferMintershipArgs) => readonly [`0x${string}`]; data: ({ minter_, }: IInterchainTokenTransferMintershipArgs) => `0x${string}`; }; }; export declare function createIInterchainTokenReadClient(publicClient: PublicContractClient): { allowance(allowanceArgs: IInterchainTokenAllowanceArgs): Promise; balanceOf(balanceOfArgs: IInterchainTokenBalanceOfArgs): Promise; decimals(): Promise; hasRole(hasRoleArgs: IInterchainTokenHasRoleArgs): Promise; interchainTokenId(): Promise<`0x${string}`>; interchainTokenService(): Promise<`0x${string}`>; isMinter(isMinterArgs: IInterchainTokenIsMinterArgs): Promise; name(): Promise; symbol(): Promise; totalSupply(): Promise; };