import { AccountAddress, CommittedTransactionResponse, Ed25519Account, EntryFunctionArgumentTypes, HexInput, MoveFunctionId, MoveValue, SimpleEntryFunctionArgumentTypes, UserTransactionResponse, SimpleTransaction } from "@aptos-labs/ts-sdk"; import { AptosProvider } from "./aptosProvider"; export declare class AptosContractWrapperBaseClass { protected signer?: Ed25519Account; protected moduleSigner: Ed25519Account; protected readonly aptosProvider: AptosProvider; /** * Creates an instance of the base class. * * @param aptosProvider - An instance of AptosProvider to interact with the Aptos blockchain. * @param signer - An optional Ed25519Account instance used for signing transactions. */ constructor(aptosProvider: AptosProvider, signer?: Ed25519Account); /** * Sets the signer for the client. * * @param senderAccount - The Ed25519 account to be used as the signer. */ setSigner(senderAccount: Ed25519Account): void; /** * Sets the signer for the current instance using the provided Ed25519 account. * * @param senderAccount - The Ed25519 account to be used as the signer. * @returns The current instance with the signer set. */ withSigner(senderAccount: Ed25519Account): this; /** * Sets the signer to the module signer and returns the current instance. * * @returns {this} The current instance with the module signer set. */ withModuleSigner(): this; /** * Retrieves the current Ed25519Account signer. * * @returns {Ed25519Account} The current signer. */ getSigner(): Ed25519Account; /** * Sends a transaction and awaits the response. * * @param functionId - The ID of the Move function to be called. * @param funcArgs - An array of arguments for the entry function. * @returns A promise that resolves to the committed transaction response. */ sendTxAndAwaitResponse(functionId: MoveFunctionId, funcArgs: Array, typeArgs?: string[]): Promise; /** * Builds a transaction for the specified user, function, and arguments. * * @param user - The account address of the user initiating the transaction. * @param functionId - The identifier of the Move function to be called. * @param funcArgs - An array of arguments for the entry function. * @returns A promise that resolves to a SimpleTransaction object. */ buildTx(user: AccountAddress, functionId: MoveFunctionId, funcArgs: Array, typeArgs?: string[]): Promise; /** * Calls a view method on the Aptos blockchain. * * @template T - The type of the return value, which extends an array of MoveValue. * @param {MoveFunctionId} functionId - The identifier of the function to call. * @param {Array} funcArgs - The arguments to pass to the function. * @param {string[]} typeArgs - Optional generic type arguments for the function (e.g. `["0x1::aptos_coin::AptosCoin"]`). * @returns {Promise} - A promise that resolves to the result of the view method call. */ callViewMethod(functionId: MoveFunctionId, funcArgs: Array, typeArgs?: string[]): Promise; /** * Funds an account with a specified amount. * * @param account - The address of the account to be funded. * @param amount - The amount to fund the account with, in bigint. * @returns A promise that resolves to a UserTransactionResponse. */ fundAccount(account: AccountAddress, amount: bigint): Promise; /** * Retrieves the Aptos balance of a specified account. * * @param account - The Ed25519 account object. * @param accountAddress - The address of the account to retrieve the balance for. * @param versionToWaitFor - (Optional) The specific version to wait for before retrieving the balance. * @returns A promise that resolves to the balance of the account in bigint. */ getAccounAptBalance(account: Ed25519Account, accountAddress: AccountAddress, versionToWaitFor?: bigint): Promise; /** * Retrieves the events associated with a given transaction hash. * * @param txHash - The hash of the transaction to retrieve events for. * @returns A promise that resolves to an array of objects containing the event data. * * @remarks * This method fetches the transaction details using the provided Aptos provider. * It then checks if the transaction response is of type `BlockMetadataTransactionResponse` * or `UserTransactionResponse` to extract the events. The event data is parsed from JSON * and returned in an array. */ getTxEvents(txHash: HexInput): Promise>; }