@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
111 lines • 3.87 kB
TypeScript
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