@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
62 lines (49 loc) • 1.78 kB
text/typescript
import {
IDeploymentParameters,
IInteractionParameters,
} from '../interfaces/ITransactionParameters.js';
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
import { DeploymentResult, InteractionResponse } from '../TransactionFactory';
import { ICustomTransactionParameters } from '../builders/CustomScriptTransaction.js';
export type InteractionParametersWithoutSigner = Omit<
IInteractionParameters,
'signer' | 'challenge'
>;
export type IDeploymentParametersWithoutSigner = Omit<
IDeploymentParameters,
'signer' | 'network' | 'challenge'
>;
export type CustomTransactionWithoutSigner = Omit<
ICustomTransactionParameters,
'signer' | 'challenge'
>;
export interface BroadcastTransactionOptions {
raw: string;
psbt: boolean;
}
export interface BroadcastedTransaction {
/** Whether the transaction was successfully broadcasted. */
readonly success: boolean;
/**
* The result of the broadcasted transaction.
*/
readonly result?: string;
/**
* The error message if the transaction was not successfully broadcasted.
*/
readonly error?: string;
/**
* The number of peers that the transaction was broadcasted to.
*/
readonly peers?: number;
}
export interface Web3Provider {
signInteraction(
interactionParameters: InteractionParametersWithoutSigner,
): Promise<InteractionResponse>;
signAndBroadcastInteraction(
interactionParameters: InteractionParametersWithoutSigner,
): Promise<[BroadcastedTransaction, BroadcastedTransaction, UTXO[], string]>;
deployContract(params: IDeploymentParametersWithoutSigner): Promise<DeploymentResult>;
broadcast(transactions: BroadcastTransactionOptions[]): Promise<BroadcastedTransaction[]>;
}