@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
58 lines • 2.43 kB
TypeScript
import { Knex } from 'knex';
import { BlockHeader } from '../sdk/WalletServices.interfaces';
export interface MockChainBlockHeaderRow {
height: number;
hash: string;
previousHash: string;
merkleRoot: string;
version: number;
time: number;
bits: number;
nonce: number;
coinbaseTxid: string;
created_at?: Date | string;
}
export interface MockChainTransactionRow {
txid: string;
rawTx: number[] | Buffer | Uint8Array;
blockHeight: number | null;
blockIndex: number | null;
created_at?: Date | string;
}
export interface MockChainUtxoRow {
id?: number;
txid: string;
vout: number;
lockingScript: number[] | Buffer | Uint8Array;
satoshis: number;
scriptHash: string;
spentByTxid: string | null;
isCoinbase: boolean;
blockHeight: number | null;
created_at?: Date | string;
}
export declare class MockChainStorage {
knex: Knex;
constructor(knex: Knex);
migrate(): Promise<void>;
insertTransaction(txid: string, rawTx: number[]): Promise<void>;
getTransaction(txid: string): Promise<MockChainTransactionRow | undefined>;
getUnminedTransactions(): Promise<MockChainTransactionRow[]>;
setTransactionBlock(txid: string, height: number, index: number): Promise<void>;
insertUtxo(txid: string, vout: number, lockingScript: number[], satoshis: number, scriptHash: string, isCoinbase?: boolean, blockHeight?: number | null): Promise<void>;
getUtxo(txid: string, vout: number): Promise<MockChainUtxoRow | undefined>;
getUtxosByScriptHash(scriptHash: string): Promise<MockChainUtxoRow[]>;
markUtxoSpent(txid: string, vout: number, spentByTxid: string): Promise<void>;
insertBlockHeader(header: MockChainBlockHeaderRow): Promise<void>;
getBlockHeaderByHeight(height: number): Promise<BlockHeader | undefined>;
getBlockHeaderByHash(hash: string): Promise<BlockHeader | undefined>;
getChainTip(): Promise<BlockHeader | undefined>;
getTransactionsInBlock(height: number): Promise<MockChainTransactionRow[]>;
deleteBlockHeader(height: number): Promise<void>;
deleteTransaction(txid: string): Promise<void>;
deleteUtxosByTxid(txid: string): Promise<void>;
setUtxoBlockHeight(txid: string, blockHeight: number | null): Promise<void>;
unspendUtxo(txid: string, vout: number): Promise<void>;
private rowToBlockHeader;
}
//# sourceMappingURL=MockChainStorage.d.ts.map