UNPKG

wallet-storage

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

264 lines (251 loc) 7.47 kB
import { sdk, table } from '../index.client' /** * This is the minimal interface required for a WalletStorageProvider to import and export data to another provider. */ export interface StorageSyncReaderWriter extends sdk.StorageSyncReader { getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx> purgeData( params: sdk.PurgeParams, trx?: sdk.TrxToken ): Promise<sdk.PurgeResults> transaction<T>( scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken ): Promise<T> findOutputTagMaps( args: sdk.FindOutputTagMapsArgs ): Promise<table.OutputTagMap[]> findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]> findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<table.ProvenTx[]> findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<table.TxLabelMap[]> countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number> countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number> countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number> countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number> insertProvenTx(tx: table.ProvenTx, trx?: sdk.TrxToken): Promise<number> insertProvenTxReq(tx: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<number> insertUser(user: table.User, trx?: sdk.TrxToken): Promise<number> insertCertificate( certificate: table.Certificate, trx?: sdk.TrxToken ): Promise<number> insertCertificateField( certificateField: table.CertificateField, trx?: sdk.TrxToken ): Promise<void> insertOutputBasket( basket: table.OutputBasket, trx?: sdk.TrxToken ): Promise<number> insertTransaction(tx: table.Transaction, trx?: sdk.TrxToken): Promise<number> insertCommission( commission: table.Commission, trx?: sdk.TrxToken ): Promise<number> insertOutput(output: table.Output, trx?: sdk.TrxToken): Promise<number> insertOutputTag(tag: table.OutputTag, trx?: sdk.TrxToken): Promise<number> insertOutputTagMap( tagMap: table.OutputTagMap, trx?: sdk.TrxToken ): Promise<void> insertTxLabel(label: table.TxLabel, trx?: sdk.TrxToken): Promise<number> insertTxLabelMap( labelMap: table.TxLabelMap, trx?: sdk.TrxToken ): Promise<void> insertSyncState( syncState: table.SyncState, trx?: sdk.TrxToken ): Promise<number> updateCertificateField( certificateId: number, fieldName: string, update: Partial<table.CertificateField>, trx?: sdk.TrxToken ): Promise<number> updateCertificate( id: number, update: Partial<table.Certificate>, trx?: sdk.TrxToken ): Promise<number> updateCommission( id: number, update: Partial<table.Commission>, trx?: sdk.TrxToken ): Promise<number> updateOutputBasket( id: number, update: Partial<table.OutputBasket>, trx?: sdk.TrxToken ): Promise<number> updateOutput( id: number, update: Partial<table.Output>, trx?: sdk.TrxToken ): Promise<number> updateOutputTagMap( outputId: number, tagId: number, update: Partial<table.OutputTagMap>, trx?: sdk.TrxToken ): Promise<number> updateOutputTag( id: number, update: Partial<table.OutputTag>, trx?: sdk.TrxToken ): Promise<number> updateProvenTxReq( id: number | number[], update: Partial<table.ProvenTxReq>, trx?: sdk.TrxToken ): Promise<number> updateProvenTxReqDynamics( id: number, update: Partial<table.ProvenTxReqDynamics>, trx?: sdk.TrxToken ): Promise<number> updateProvenTxReqWithNewProvenTx( args: sdk.UpdateProvenTxReqWithNewProvenTxArgs ): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult> updateProvenTx( id: number, update: Partial<table.ProvenTx>, trx?: sdk.TrxToken ): Promise<number> updateSyncState( id: number, update: Partial<table.SyncState>, trx?: sdk.TrxToken ): Promise<number> updateTransaction( id: number | number[], update: Partial<table.Transaction>, trx?: sdk.TrxToken ): Promise<number> updateTransactionStatus( status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken ): Promise<void> updateTransactionsStatus( transactionIds: number[], status: sdk.TransactionStatus ): Promise<void> updateTxLabelMap( transactionId: number, txLabelId: number, update: Partial<table.TxLabelMap>, trx?: sdk.TrxToken ): Promise<number> updateTxLabel( id: number, update: Partial<table.TxLabel>, trx?: sdk.TrxToken ): Promise<number> updateUser( id: number, update: Partial<table.User>, trx?: sdk.TrxToken ): Promise<number> findCertificateById( id: number, trx?: sdk.TrxToken ): Promise<table.Certificate | undefined> findCommissionById( id: number, trx?: sdk.TrxToken ): Promise<table.Commission | undefined> findOutputById( id: number, trx?: sdk.TrxToken, noScript?: boolean ): Promise<table.Output | undefined> findOutputBasketById( id: number, trx?: sdk.TrxToken ): Promise<table.OutputBasket | undefined> findProvenTxById( id: number, trx?: sdk.TrxToken | undefined ): Promise<table.ProvenTx | undefined> findProvenTxReqById( id: number, trx?: sdk.TrxToken | undefined ): Promise<table.ProvenTxReq | undefined> findSyncStateById( id: number, trx?: sdk.TrxToken ): Promise<table.SyncState | undefined> findTransactionById( id: number, trx?: sdk.TrxToken, noRawTx?: boolean ): Promise<table.Transaction | undefined> findTxLabelById( id: number, trx?: sdk.TrxToken ): Promise<table.TxLabel | undefined> findOutputTagById( id: number, trx?: sdk.TrxToken ): Promise<table.OutputTag | undefined> findUserById(id: number, trx?: sdk.TrxToken): Promise<table.User | undefined> findOrInsertUser( identityKey: string, trx?: sdk.TrxToken ): Promise<{ user: table.User; isNew: boolean }> findOrInsertTransaction( newTx: table.Transaction, trx?: sdk.TrxToken ): Promise<{ tx: table.Transaction; isNew: boolean }> findOrInsertOutputBasket( userId: number, name: string, trx?: sdk.TrxToken ): Promise<table.OutputBasket> findOrInsertTxLabel( userId: number, label: string, trx?: sdk.TrxToken ): Promise<table.TxLabel> findOrInsertTxLabelMap( transactionId: number, txLabelId: number, trx?: sdk.TrxToken ): Promise<table.TxLabelMap> findOrInsertOutputTag( userId: number, tag: string, trx?: sdk.TrxToken ): Promise<table.OutputTag> findOrInsertOutputTagMap( outputId: number, outputTagId: number, trx?: sdk.TrxToken ): Promise<table.OutputTagMap> findOrInsertSyncStateAuth( auth: sdk.AuthId, storageIdentityKey: string, storageName: string ): Promise<{ syncState: table.SyncState; isNew: boolean }> findOrInsertProvenTxReq( newReq: table.ProvenTxReq, trx?: sdk.TrxToken ): Promise<{ req: table.ProvenTxReq; isNew: boolean }> findOrInsertProvenTx( newProven: table.ProvenTx, trx?: sdk.TrxToken ): Promise<{ proven: table.ProvenTx; isNew: boolean }> findUsers(args: sdk.FindUsersArgs): Promise<table.User[]> tagOutput( partial: Partial<table.Output>, tag: string, trx?: sdk.TrxToken ): Promise<void> processSyncChunk( args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk ): Promise<sdk.ProcessSyncChunkResult> }