import { EntryFunctionABI, InputGenerateTransactionPayloadData, TransactionPayload } from '@aptos-labs/ts-sdk'; import { BaseCoin as CoinConfig } from '@bitgo/statics'; import { CustomTransactionParams } from '../iface'; import { AbstractTransferTransaction } from './abstractTransferTransaction'; /** * Transaction class for custom Aptos transactions. */ export declare class CustomTransaction extends AbstractTransferTransaction { private _moduleName; private _functionName; private _typeArguments; private _functionArguments; private _entryFunctionAbi?; constructor(coinConfig: Readonly); /** * Set the custom transaction parameters */ setCustomTransactionParams(params: CustomTransactionParams): void; /** * Set the entry function ABI */ setEntryFunctionAbi(abi: EntryFunctionABI): void; /** * Get the full function name */ get fullFunctionName(): string; /** * Parse a transaction payload to extract the custom transaction data * Requires ABI information for proper type-aware conversion * * @param {TransactionPayload} payload - The transaction payload to parse */ protected parseTransactionPayload(payload: TransactionPayload): void; /** * Generate transaction payload data */ protected getTransactionPayloadData(): InputGenerateTransactionPayloadData; /** * Convert argument based on ABI type information */ private convertArgumentByABI; /** * Convert primitive argument values based on parameter type */ private convertPrimitiveArgument; /** * Convert primitive numeric arguments to string * - Big numbers break JavaScript (precision loss) * - String safer for large U64/U128/U256 values * - Aptos SDK converts string to correct type automatically */ private convertPrimitiveNumericArgument; /** * Convert BCS data argument with 'data' property */ private convertBcsDataArgument; /** * Convert nested BCS argument with 'value' property */ private convertNestedBcsArgument; /** * Extract bytes from BCS object with numeric keys */ private extractBytesFromBcsObject; /** * Get custom transaction parameters */ getCustomTransactionParams(): CustomTransactionParams; /** * Override recipient getter for custom transactions */ get recipient(): any; /** * Get validated full function name */ private getValidatedFullFunctionName; /** * Check if a parameter type is a numeric type */ private isNumericType; /** * Convert byte arrays to string numbers * - Small types (U8/U16/U32): 1-4 bytes, parse manually * - Large types (U64/U128/U256): 8+ bytes, use existing utility * - Both return string for consistency */ private convertNumericArgument; } //# sourceMappingURL=customTransaction.d.ts.map