UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

25 lines (21 loc) 1.07 kB
import { Network } from '@btc-vision/bitcoin'; import { ChallengeSolution, IP2WSHAddress, Address } from '@btc-vision/transaction'; import { UTXO, UTXOs } from '../../bitcoin/UTXOs.js'; import { BroadcastedTransaction } from '../../transactions/interfaces/BroadcastedTransaction.js'; import { RequestUTXOsParamsWithAmount } from '../../utxos/interfaces/IUTXOsManager.js'; /** * Interface for the minimal provider functionality needed by CallResult. * This breaks the circular dependency between CallResult and AbstractRpcProvider. */ export interface IUTXOManagerForCallResult { getUTXOsForAmount(params: RequestUTXOsParamsWithAmount): Promise<UTXO[]>; spentUTXO(address: string, spent: UTXOs, newUTXOs: UTXOs): void; clean(): void; } export interface IProviderForCallResult { readonly network: Network; readonly utxoManager: IUTXOManagerForCallResult; getChallenge(): Promise<ChallengeSolution>; sendRawTransaction(tx: string, psbt: boolean): Promise<BroadcastedTransaction>; getCSV1ForAddress(address: Address): IP2WSHAddress; }