UNPKG

@bsv/wallet-toolbox

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

88 lines 5.96 kB
import { Knex } from 'knex'; import { StorageReader, StorageReaderOptions } from '../StorageReader'; import { TableSettings } from '../schema/tables/TableSettings'; import { TableUser } from '../schema/tables/TableUser'; import { TableSyncState } from '../schema/tables/TableSyncState'; import { TableCertificateX } from '../schema/tables/TableCertificate'; import { TableOutputBasket } from '../schema/tables/TableOutputBasket'; import { TableOutput } from '../schema/tables/TableOutput'; import { TableProvenTxReq } from '../schema/tables/TableProvenTxReq'; import { Chain, EntityTimeStamp } from '../../sdk/types'; import { FindCertificateFieldsArgs, FindCommissionsArgs, FindForUserSincePagedArgs, FindMonitorEventsArgs, FindOutputTagsArgs, FindPartialSincePagedArgs, FindSyncStatesArgs, FindTransactionsArgs, FindTxLabelsArgs, FindUsersArgs, TrxToken, WalletStorageSyncReader } from '../../sdk/WalletStorage.interfaces'; import { FindCertificatesArgs, FindOutputBasketsArgs, FindOutputsArgs } from '../../sdk/WalletStorage.interfaces'; import { TableTxLabel } from '../schema/tables/TableTxLabel'; import { TableOutputTag } from '../schema/tables/TableOutputTag'; import { TableTransaction } from '../schema/tables/TableTransaction'; import { TableCommission } from '../schema/tables/TableCommission'; import { TableCertificateField } from '../schema/tables/TableCertificateField'; import { TableProvenTx } from '../schema/tables/TableProvenTx'; import { TableTxLabelMap } from '../schema/tables/TableTxLabelMap'; import { TableOutputTagMap } from '../schema/tables/TableOutputTagMap'; import { TableMonitorEvent } from '../schema/tables/TableMonitorEvent'; export interface StorageMySQLDojoReaderOptions extends StorageReaderOptions { chain: Chain; /** * Knex database interface initialized with valid connection configuration. */ knex: Knex; } export declare class StorageMySQLDojoReader extends StorageReader implements WalletStorageSyncReader { knex: Knex; constructor(options: StorageMySQLDojoReaderOptions); destroy(): Promise<void>; transaction<T>(scope: (trx: TrxToken) => Promise<T>, trx?: TrxToken): Promise<T>; toDb(trx?: TrxToken): Knex<any, any[]>; readSettings(trx?: TrxToken): Promise<TableSettings>; setupQuery<T extends object>(table: string, args: FindPartialSincePagedArgs<T>): Knex.QueryBuilder; findOutputBasketsQuery(args: FindOutputBasketsArgs): Knex.QueryBuilder; findOutputBaskets(args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>; findTxLabelsQuery(args: FindTxLabelsArgs): Knex.QueryBuilder; findTxLabels(args: FindTxLabelsArgs): Promise<TableTxLabel[]>; findOutputTagsQuery(args: FindOutputTagsArgs): Knex.QueryBuilder; findOutputTags(args: FindOutputTagsArgs): Promise<TableOutputTag[]>; findTransactionsQuery(args: FindTransactionsArgs, count?: boolean): Knex.QueryBuilder; findTransactions(args: FindTransactionsArgs): Promise<TableTransaction[]>; findCommissionsQuery(args: FindCommissionsArgs): Knex.QueryBuilder; findCommissions(args: FindCommissionsArgs): Promise<TableCommission[]>; limitString(s: string, maxLen: number): string; findOutputsQuery(args: FindOutputsArgs, count?: boolean): Knex.QueryBuilder; findOutputs(args: FindOutputsArgs): Promise<TableOutput[]>; findCertificatesQuery(args: FindCertificatesArgs): Knex.QueryBuilder; findCertificates(args: FindCertificatesArgs): Promise<TableCertificateX[]>; findCertificateFieldsQuery(args: FindCertificateFieldsArgs): Knex.QueryBuilder; findCertificateFields(args: FindCertificateFieldsArgs): Promise<TableCertificateField[]>; findSyncStates(args: FindSyncStatesArgs): Promise<TableSyncState[]>; findUsers(args: FindUsersArgs): Promise<TableUser[]>; getProvenTxsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder; getProvenTxsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTx[]>; getProvenTxReqsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder; getProvenTxReqsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>; getTxLabelMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder; getTxLabelMapsForUser(args: FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>; getOutputTagMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder; getOutputTagMapsForUser(args: FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>; countCertificateFields(args: FindCertificateFieldsArgs): Promise<number>; countCertificates(args: FindCertificatesArgs): Promise<number>; countCommissions(args: FindCommissionsArgs): Promise<number>; countOutputBaskets(args: FindOutputBasketsArgs): Promise<number>; countOutputs(args: FindOutputsArgs): Promise<number>; countOutputTags(args: FindOutputTagsArgs): Promise<number>; countSyncStates(args: FindSyncStatesArgs): Promise<number>; countTransactions(args: FindTransactionsArgs): Promise<number>; countTxLabels(args: FindTxLabelsArgs): Promise<number>; countUsers(args: FindUsersArgs): Promise<number>; findMonitorEvents(args: FindMonitorEventsArgs): Promise<TableMonitorEvent[]>; countMonitorEvents(args: FindMonitorEventsArgs): Promise<number>; /** * Helper to force uniform behavior across database engines. * Use to process all individual records with time stamps retreived from database. */ validateEntity<T extends EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T; /** * Helper to force uniform behavior across database engines. * Use to process all arrays of records with time stamps retreived from database. * @returns input `entities` array with contained values validated. */ validateEntities<T extends EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]; } //# sourceMappingURL=StorageMySQLDojoReader.d.ts.map