UNPKG

@btc-vision/transaction

Version:

OPNet transaction library allows you to create and sign transactions for the OPNet network.

111 lines 3.87 kB
import { TransactionType } from '../enums/TransactionType.js'; import type { ISerializableTransactionState, PrecomputedData } from './interfaces/ISerializableState.js'; import type { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters, ITransactionParameters } from '../interfaces/ITransactionParameters.js'; /** * Parameters required to capture state from any transaction builder */ export interface CaptureParams { /** The original transaction parameters */ params: ITransactionParameters; /** The transaction type */ type: TransactionType; /** Pre-computed data from the builder */ precomputed?: Partial<PrecomputedData>; } /** * Captures transaction state from builders for offline signing. * This class creates serializable state objects from transaction parameters. */ export declare class TransactionStateCapture { /** * Capture state from a FundingTransaction */ static fromFunding(params: IFundingTransactionParameters, precomputed?: Partial<PrecomputedData>): ISerializableTransactionState; /** * Capture state from a DeploymentTransaction */ static fromDeployment(params: IDeploymentParameters, precomputed: Partial<PrecomputedData> & { compiledTargetScript: string; randomBytes: string; }): ISerializableTransactionState; /** * Capture state from an InteractionTransaction */ static fromInteraction(params: IInteractionParameters, precomputed: Partial<PrecomputedData> & { compiledTargetScript: string; randomBytes: string; }): ISerializableTransactionState; /** * Capture state from a MultiSignTransaction */ static fromMultiSig(params: ITransactionParameters & { pubkeys: Uint8Array[]; minimumSignatures: number; receiver: string; requestedAmount: bigint; refundVault: string; originalInputCount?: number; existingPsbtBase64?: string; }, precomputed?: Partial<PrecomputedData>): ISerializableTransactionState; /** * Capture state from a CustomScriptTransaction */ static fromCustomScript(params: ITransactionParameters & { scriptElements: (Uint8Array | number)[]; witnesses: Uint8Array[]; annex?: Uint8Array; }, precomputed?: Partial<PrecomputedData>): ISerializableTransactionState; /** * Capture state from a CancelTransaction */ static fromCancel(params: ITransactionParameters & { compiledTargetScript: Uint8Array | string; }, precomputed?: Partial<PrecomputedData>): ISerializableTransactionState; /** * Main state capture method */ private static captureState; /** * Create serialization header */ private static createHeader; /** * Extract base parameters common to all transaction types */ private static extractBaseParams; /** * Extract signer mappings for address rotation mode */ private static extractSignerMappings; /** * Extract type-specific data based on transaction type */ private static extractTypeSpecificData; private static extractFundingData; private static extractDeploymentData; private static extractInteractionData; private static extractMultiSigData; private static extractCustomScriptData; private static extractCancelData; /** * Build precomputed data object */ private static buildPrecomputedData; /** * Serialize UTXOs array */ private static serializeUTXOs; /** * Serialize outputs array */ private static serializeOutputs; /** * Convert network to name string */ private static networkToName; /** * Convert network to chain ID */ private static networkToChainId; } //# sourceMappingURL=TransactionStateCapture.d.ts.map