UNPKG

@btc-vision/transaction

Version:

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

54 lines (53 loc) 2.48 kB
import { Transaction } from '@btc-vision/bitcoin'; import { UTXO } from '../utxo/interfaces/IUTXO.js'; import { ICustomTransactionParameters } from './builders/CustomScriptTransaction.js'; import { FundingTransaction } from './builders/FundingTransaction.js'; import { TransactionBuilder } from './builders/TransactionBuilder.js'; import { TransactionType } from './enums/TransactionType.js'; import { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters } from './interfaces/ITransactionParameters.js'; import { InteractionParametersWithoutSigner } from './browser/Web3Provider.js'; import { RawChallenge } from '../epoch/interfaces/IChallengeSolution.js'; export interface DeploymentResult { readonly transaction: [string, string]; readonly contractAddress: string; readonly contractPubKey: string; readonly challenge: RawChallenge; readonly utxos: UTXO[]; } export interface FundingTransactionResponse { readonly tx: Transaction; readonly original: FundingTransaction; readonly estimatedFees: bigint; readonly nextUTXOs: UTXO[]; } export interface BitcoinTransferBase { readonly tx: string; readonly estimatedFees: bigint; readonly nextUTXOs: UTXO[]; } export interface InteractionResponse { readonly fundingTransaction: string | null; readonly interactionTransaction: string; readonly estimatedFees: bigint; readonly nextUTXOs: UTXO[]; readonly challenge: RawChallenge; } export interface BitcoinTransferResponse extends BitcoinTransferBase { readonly original: FundingTransaction; } export declare class TransactionFactory { createCustomScriptTransaction(interactionParameters: ICustomTransactionParameters): Promise<[string, string, UTXO[]]>; signInteraction(interactionParameters: IInteractionParameters | InteractionParametersWithoutSigner): Promise<InteractionResponse>; signDeployment(deploymentParameters: IDeploymentParameters): Promise<DeploymentResult>; createBTCTransfer(parameters: IFundingTransactionParameters): Promise<BitcoinTransferResponse>; getAllNewUTXOs(original: TransactionBuilder<TransactionType>, tx: Transaction, to: string): UTXO[]; private parseOptionalInputs; private detectInteractionOPWallet; private detectDeploymentOPWallet; private createFundTransaction; private hasP2WDAInputs; private writePSBTHeader; private signP2WDAInteraction; private getPriorityFee; private getUTXOAsTransaction; }