@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
TypeScript
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;
}