UNPKG

@bsv/overlay

Version:
69 lines 3.77 kB
import { Storage, type AppliedTransaction, type AppliedTransactionProofUpdate, type StoredTransactionRecord, type UnprovenAppliedTransactionCandidate } from '../Storage.js'; import { Knex } from 'knex'; import type { Output } from '../../Output.js'; import { type AdmittedTxRef, type RawTransactionRecord, type TopicAnchorTip, type TopicBlockAnchor } from '../../BASM.js'; export declare class KnexStorage implements Storage { knex: Knex; constructor(knex: Knex); private parseOutputRelations; private parseOutputRecord; private binaryToNumberArray; private binaryToHex; private transactionRecordFromBEEF; private fetchTransactionBeefMap; findOutput(txid: string, outputIndex: number, topic?: string, spent?: boolean, includeBEEF?: boolean): Promise<Output | null>; findOutputsByOutpoints(outpoints: Array<{ txid: string; outputIndex: number; }>, includeBEEF?: boolean): Promise<Output[]>; findOutputsForTransaction(txid: string, includeBEEF?: boolean): Promise<Output[]>; findUTXOsForTopic(topic: string, since?: number, limit?: number, includeBEEF?: boolean): Promise<Output[]>; deleteOutput(txid: string, outputIndex: number, topic: string): Promise<void>; insertOutput(output: Output): Promise<void>; markUTXOAsSpent(txid: string, outputIndex: number, topic?: string): Promise<void>; updateConsumedBy(txid: string, outputIndex: number, topic: string, consumedBy: Array<{ txid: string; outputIndex: number; }>): Promise<void>; updateTransactionBEEF(txid: string, beef: number[]): Promise<void>; updateOutputBlockHeight(txid: string, outputIndex: number, topic: string, blockHeight: number): Promise<void>; upsertTransactionRecord(record: StoredTransactionRecord): Promise<void>; updateAppliedTransactionProof(record: AppliedTransactionProofUpdate): Promise<void>; insertAppliedTransaction(tx: AppliedTransaction): Promise<void>; doesAppliedTransactionExist(tx: { txid: string; topic: string; }): Promise<boolean>; updateLastInteraction(host: string, topic: string, since: number): Promise<void>; getLastInteraction(host: string, topic: string): Promise<number>; findAdmittedTransactionsForBlock(topic: string, blockHeight: number, blockHash?: string): Promise<AdmittedTxRef[]>; upsertTopicBlockAnchor(anchor: TopicBlockAnchor): Promise<void>; findTopicBlockAnchor(topic: string, blockHeight: number, blockHash?: string): Promise<TopicBlockAnchor | undefined>; findTopicBlockAnchors(topic: string, fromHeight: number, toHeight: number): Promise<TopicBlockAnchor[]>; findTopicAnchorTip(topic: string): Promise<TopicAnchorTip | undefined>; findRawTransactions(txids: string[]): Promise<RawTransactionRecord[]>; findTransactionMerklePaths(txids: string[]): Promise<Array<{ txid: string; merklePath: string; blockHeight?: number; blockHash?: string; blockIndex?: number; merkleRoot?: string; }>>; findUnprovenAppliedTransactions(cutoffHeight: number, topic?: string): Promise<UnprovenAppliedTransactionCandidate[]>; deleteAppliedTransaction(txid: string, topic: string): Promise<void>; findProvenAppliedTransactionsByBlockHash(blockHash: string): Promise<Array<{ txid: string; topic: string; blockHeight: number; }>>; findProvenAppliedTransactionsInRange(fromHeight: number, toHeight: number, topic?: string): Promise<Array<{ txid: string; topic: string; blockHeight: number; blockHash?: string; merkleRoot?: string; }>>; demoteAppliedTransactionToUnproven(txid: string, topic: string): Promise<void>; } //# sourceMappingURL=KnexStorage.d.ts.map