import { TypeTag } from "../typeTag/index.js"; import { AptosConfig } from "../../api/aptosConfig.js"; import { EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes, EntryFunctionABI, ViewFunctionABI, FunctionABI, TypeArgument } from "../types.js"; import { MoveFunction, MoveModule } from "../../types/index.js"; /** * Convert type arguments to only type tags, allowing for string representations of type tags. * * @param typeArguments - An optional array of type arguments that may include string representations. * @returns An array of TypeTag objects derived from the provided type arguments. * @group Implementation * @category Transactions */ export declare function standardizeTypeTags(typeArguments?: Array): Array; /** * Represents a bundle of a module ABI along with all struct ABIs it references. * This allows for offline struct/enum encoding without additional network calls. */ export type ModuleAbiBundle = { /** The main module ABI */ module: MoveModule; /** Map of modules containing referenced struct ABIs: "address::module" -> MoveModule */ referencedStructModules: Map; }; /** * Fetches the ABI of a specified module from the on-chain module ABI. * Results are cached for 5 minutes to reduce redundant network calls. * * @param moduleAddress - The address of the module from which to fetch the ABI. * @param moduleName - The name of the module containing the ABI. * @param aptosConfig - The configuration settings for Aptos. * @group Implementation * @category Transactions */ export declare function fetchModuleAbi(moduleAddress: string, moduleName: string, aptosConfig: AptosConfig): Promise; /** * Fetches a module ABI along with all struct ABIs it references. * This optimization minimizes nested network calls when encoding struct/enum arguments. * * Strategy: * - Fetches the main module ABI * - Parses all type references in struct fields and function parameters * - Fetches ABIs for all referenced struct modules in parallel * - Caches the complete bundle together * * @param moduleAddress - The address of the module from which to fetch the ABI. * @param moduleName - The name of the module containing the ABI. * @param aptosConfig - The configuration settings for Aptos. * @returns ModuleAbiBundle containing the module and all referenced struct modules * @group Implementation * @category Transactions */ export declare function fetchModuleAbiWithStructs(moduleAddress: string, moduleName: string, aptosConfig: AptosConfig): Promise; /** * Fetches the ABI of a specified function from the on-chain module ABI. This function allows you to access the details of a * specific function within a module. * * @param moduleAddress - The address of the module from which to fetch the function ABI. * @param moduleName - The name of the module containing the function. * @param functionName - The name of the function whose ABI is to be fetched. * @param aptosConfig - The configuration settings for Aptos. * @group Implementation * @category Transactions */ export declare function fetchFunctionAbi(moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig): Promise; /** * @deprecated Use `fetchFunctionAbi` instead and manually parse the type tags. */ export declare function fetchMoveFunctionAbi(moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig): Promise; /** * Fetches the ABI for an entry function from the specified module address. * This function validates if the ABI corresponds to an entry function and retrieves its parameters. * * @param moduleAddress - The address of the module containing the entry function. * @param moduleName - The name of the module containing the entry function. * @param functionName - The name of the entry function to fetch the ABI for. * @param aptosConfig - The configuration settings for Aptos. * @returns An object containing the number of signers, type parameters, and function parameters. * @throws Error if the ABI cannot be found or if the function is not an entry function. * @group Implementation * @category Transactions */ export declare function fetchEntryFunctionAbi(moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig): Promise; /** * Fetches the ABI for a view function from the specified module address. * This function ensures that the ABI is valid and retrieves the type parameters, parameters, and return types for the view function. * * @param moduleAddress - The address of the module containing the view function. * @param moduleName - The name of the module containing the view function. * @param functionName - The name of the view function for which to fetch the ABI. * @param aptosConfig - The configuration settings for Aptos. * @returns An object containing the type parameters, parameters, and return types of the view function. * @throws Error if the ABI cannot be found or if the function is not a view function. * @group Implementation * @category Transactions */ export declare function fetchViewFunctionAbi(moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig): Promise; /** * Converts a non-BCS encoded argument into BCS encoded, if necessary. * This is the synchronous version that works offline with pre-fetched ABIs. * Does NOT support struct/enum arguments - use convertArgumentWithABI for those. * * @param functionName - The name of the function for which the argument is being converted. * @param functionAbiOrModuleAbi - The ABI (Application Binary Interface) of the function, which defines its parameters. * @param arg - The argument to be converted, which can be of various types. * @param position - The index of the argument in the function's parameter list. * @param genericTypeParams - An array of type tags for any generic type parameters. * @param options - Options for the conversion process. * @param options.allowUnknownStructs - If true, unknown structs will be allowed and converted to a `FixedBytes`. * @group Implementation * @category Transactions */ export declare function convertArgument(functionName: string, functionAbiOrModuleAbi: MoveModule | FunctionABI, arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes, position: number, genericTypeParams: Array, options?: { allowUnknownStructs?: boolean; }): EntryFunctionArgumentTypes; /** * Converts a non-BCS encoded argument into BCS encoded, with support for struct/enum arguments. * This is the asynchronous version that fetches module ABIs from the network as needed. * * @param functionName - The name of the function for which the argument is being converted. * @param functionAbiOrModuleAbi - The ABI (Application Binary Interface) of the function, which defines its parameters. * @param arg - The argument to be converted, which can be of various types. * @param position - The index of the argument in the function's parameter list. * @param genericTypeParams - An array of type tags for any generic type parameters. * @param aptosConfig - Aptos configuration for fetching module ABIs (required for struct/enum arguments). * @param options - Options for the conversion process. * @param options.allowUnknownStructs - If true, unknown structs will be allowed and converted to a `FixedBytes`. * @group Implementation * @category Transactions */ export declare function convertArgumentWithABI(functionName: string, functionAbiOrModuleAbi: MoveModule | FunctionABI, arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes, position: number, genericTypeParams: Array, aptosConfig: AptosConfig, options?: { allowUnknownStructs?: boolean; }): Promise; /** * Checks if the provided argument is BCS encoded and converts it if necessary, ensuring type compatibility with the ABI. * This is the synchronous version that works offline with pre-fetched ABIs. * Does NOT support struct/enum arguments - use checkOrConvertArgumentWithABI for those. * * @param arg - The argument to check or convert, which can be either a simple or entry function argument type. * @param param - The expected type tag for the argument. * @param position - The position of the argument in the function call. * @param genericTypeParams - An array of generic type parameters that may be used for conversion. * @param moduleAbi - The ABI of the module containing the function, used for type checking. * @param options - Options for the conversion process. * @group Implementation * @category Transactions */ export declare function checkOrConvertArgument(arg: SimpleEntryFunctionArgumentTypes | EntryFunctionArgumentTypes, param: TypeTag, position: number, genericTypeParams: Array, moduleAbi?: MoveModule, options?: { allowUnknownStructs?: boolean; }): EntryFunctionArgumentTypes; /** * Checks if the provided argument is BCS encoded and converts it if necessary, with support for struct/enum arguments. * This is the asynchronous version that fetches module ABIs from the network as needed. * * @param arg - The argument to check or convert, which can be either a simple or entry function argument type. * @param param - The expected type tag for the argument. * @param position - The position of the argument in the function call. * @param genericTypeParams - An array of generic type parameters that may be used for conversion. * @param aptosConfig - Aptos configuration for fetching module ABIs (required for struct/enum arguments). * @param moduleAbi - The ABI of the module containing the function, used for type checking. * @param options - Options for the conversion process. * @group Implementation * @category Transactions */ export declare function checkOrConvertArgumentWithABI(arg: SimpleEntryFunctionArgumentTypes | EntryFunctionArgumentTypes, param: TypeTag, position: number, genericTypeParams: Array, aptosConfig: AptosConfig, moduleAbi?: MoveModule, options?: { allowUnknownStructs?: boolean; }): Promise; //# sourceMappingURL=remoteAbi.d.ts.map