wallet-storage
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
71 lines • 4.64 kB
TypeScript
import { sdk } from "../../index.all";
import { table } from "../index.all";
import { Knex } from "knex";
import { StorageReader, StorageReaderOptions } from '../StorageReader';
export interface StorageMySQLDojoReaderOptions extends StorageReaderOptions {
chain: sdk.Chain;
/**
* Knex database interface initialized with valid connection configuration.
*/
knex: Knex;
}
export declare class StorageMySQLDojoReader extends StorageReader {
knex: Knex;
constructor(options: StorageMySQLDojoReaderOptions);
destroy(): Promise<void>;
transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
toDb(trx?: sdk.TrxToken): Knex<any, any[]>;
readSettings(trx?: sdk.TrxToken): Promise<table.Settings>;
setupQuery<T extends object>(table: string, args: sdk.FindPartialSincePagedArgs<T>): Knex.QueryBuilder;
findOutputBasketsQuery(args: sdk.FindOutputBasketsArgs): Knex.QueryBuilder;
findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>;
findTxLabelsQuery(args: sdk.FindTxLabelsArgs): Knex.QueryBuilder;
findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>;
findOutputTagsQuery(args: sdk.FindOutputTagsArgs): Knex.QueryBuilder;
findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>;
findTransactionsQuery(args: sdk.FindTransactionsArgs, count?: boolean): Knex.QueryBuilder;
findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>;
findCommissionsQuery(args: sdk.FindCommissionsArgs): Knex.QueryBuilder;
findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>;
limitString(s: string, maxLen: number): string;
findOutputsQuery(args: sdk.FindOutputsArgs, count?: boolean): Knex.QueryBuilder;
findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>;
findCertificatesQuery(args: sdk.FindCertificatesArgs): Knex.QueryBuilder;
findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>;
findCertificateFieldsQuery(args: sdk.FindCertificateFieldsArgs): Knex.QueryBuilder;
findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>;
findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>;
findUsers(args: sdk.FindUsersArgs): Promise<table.User[]>;
getProvenTxsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>;
getProvenTxReqsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>;
getTxLabelMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>;
getOutputTagMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>;
countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>;
countCertificates(args: sdk.FindCertificatesArgs): Promise<number>;
countCommissions(args: sdk.FindCommissionsArgs): Promise<number>;
countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>;
countOutputs(args: sdk.FindOutputsArgs): Promise<number>;
countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>;
countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>;
countTransactions(args: sdk.FindTransactionsArgs): Promise<number>;
countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>;
countUsers(args: sdk.FindUsersArgs): Promise<number>;
findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<table.MonitorEvent[]>;
countMonitorEvents(args: sdk.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 sdk.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 sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[];
}
//# sourceMappingURL=StorageMySQLDojoReader.d.ts.map