@bsv/wallet-toolbox 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/docs/client.md +315 -2500
  3. package/docs/services.md +15 -4
  4. package/docs/wallet.md +315 -2500
  5. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  6. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -2
  7. package/mobile/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  8. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  9. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +2 -3
  10. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  11. package/mobile/package-lock.json +2 -2
  12. package/mobile/package.json +1 -1
  13. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
  14. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +1 -2
  15. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  16. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  17. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +2 -3
  18. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  19. package/out/src/storage/__test/getBeefForTransaction.test.js.map +1 -1
  20. package/out/test/storage/idb/update.test.js +1 -1
  21. package/out/test/storage/idb/update.test.js.map +1 -1
  22. package/out/tsconfig.all.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.ts +1 -2
  25. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +2 -3
  26. package/src/storage/__test/getBeefForTransaction.test.ts +2 -5
  27. package/test/storage/idb/update.test.ts +1 -1
  28. package/mobile/out/src/Setup.d.ts +0 -267
  29. package/mobile/out/src/Setup.d.ts.map +0 -1
  30. package/mobile/out/src/Setup.js +0 -408
  31. package/mobile/out/src/Setup.js.map +0 -1
  32. package/mobile/out/src/storage/StorageKnex.d.ts +0 -179
  33. package/mobile/out/src/storage/StorageKnex.d.ts.map +0 -1
  34. package/mobile/out/src/storage/StorageKnex.js +0 -1215
  35. package/mobile/out/src/storage/StorageKnex.js.map +0 -1
  36. package/mobile/out/src/storage/methods/listActionsKnex.d.ts +0 -6
  37. package/mobile/out/src/storage/methods/listActionsKnex.d.ts.map +0 -1
  38. package/mobile/out/src/storage/methods/listActionsKnex.js +0 -198
  39. package/mobile/out/src/storage/methods/listActionsKnex.js.map +0 -1
  40. package/mobile/out/src/storage/methods/listOutputsKnex.d.ts +0 -6
  41. package/mobile/out/src/storage/methods/listOutputsKnex.d.ts.map +0 -1
  42. package/mobile/out/src/storage/methods/listOutputsKnex.js +0 -241
  43. package/mobile/out/src/storage/methods/listOutputsKnex.js.map +0 -1
  44. package/mobile/out/src/storage/methods/purgeData.d.ts +0 -4
  45. package/mobile/out/src/storage/methods/purgeData.d.ts.map +0 -1
  46. package/mobile/out/src/storage/methods/purgeData.js +0 -207
  47. package/mobile/out/src/storage/methods/purgeData.js.map +0 -1
  48. package/mobile/out/src/storage/methods/reviewStatus.d.ts +0 -20
  49. package/mobile/out/src/storage/methods/reviewStatus.d.ts.map +0 -1
  50. package/mobile/out/src/storage/methods/reviewStatus.js +0 -84
  51. package/mobile/out/src/storage/methods/reviewStatus.js.map +0 -1
  52. package/mobile/out/src/storage/schema/KnexMigrations.d.ts +0 -39
  53. package/mobile/out/src/storage/schema/KnexMigrations.d.ts.map +0 -1
  54. package/mobile/out/src/storage/schema/KnexMigrations.js +0 -410
  55. package/mobile/out/src/storage/schema/KnexMigrations.js.map +0 -1
  56. package/mobile/out/test/utils/TestUtilsWalletStorage.d.ts +0 -522
  57. package/mobile/out/test/utils/TestUtilsWalletStorage.d.ts.map +0 -1
  58. package/mobile/out/test/utils/TestUtilsWalletStorage.js +0 -1956
  59. package/mobile/out/test/utils/TestUtilsWalletStorage.js.map +0 -1
@@ -1,408 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Setup = void 0;
37
- const knex_1 = require("knex");
38
- const sdk_1 = require("@bsv/sdk");
39
- const utilityHelpers_1 = require("./utility/utilityHelpers");
40
- const WERR_errors_1 = require("./sdk/WERR_errors");
41
- const WalletStorageManager_1 = require("./storage/WalletStorageManager");
42
- const Services_1 = require("./services/Services");
43
- const Monitor_1 = require("./monitor/Monitor");
44
- const PrivilegedKeyManager_1 = require("./sdk/PrivilegedKeyManager");
45
- const Wallet_1 = require("./Wallet");
46
- const StorageClient_1 = require("./storage/remoting/StorageClient");
47
- const StorageKnex_1 = require("./storage/StorageKnex");
48
- // To rely on your own headers service, uncomment the following line:
49
- // import { BHServiceClient } from './services/chaintracker'
50
- const dotenv = __importStar(require("dotenv"));
51
- dotenv.config();
52
- /**
53
- * The 'Setup` class provides static setup functions to construct BRC-100 compatible
54
- * wallets in a variety of configurations.
55
- *
56
- * It serves as a starting point for experimentation and customization.
57
- */
58
- class Setup {
59
- /**
60
- * @param chain
61
- * @returns true if .env is not valid for chain
62
- */
63
- static noEnv(chain) {
64
- try {
65
- Setup.getEnv(chain);
66
- return false;
67
- }
68
- catch (_a) {
69
- return true;
70
- }
71
- }
72
- /**
73
- * Creates content for .env file with some private keys, identity keys, sample API keys, and sample MySQL connection string.
74
- *
75
- * Two new, random private keys are generated each time, with their associated public identity keys.
76
- *
77
- * Loading secrets from a .env file is intended only for experimentation and getting started.
78
- * Private keys should never be included directly in your source code.
79
- *
80
- * @publicbody
81
- */
82
- static makeEnv() {
83
- const testPrivKey1 = sdk_1.PrivateKey.fromRandom();
84
- const testIdentityKey1 = testPrivKey1.toPublicKey().toString();
85
- const testPrivKey2 = sdk_1.PrivateKey.fromRandom();
86
- const testIdentityKey2 = testPrivKey2.toPublicKey().toString();
87
- const mainPrivKey1 = sdk_1.PrivateKey.fromRandom();
88
- const mainIdentityKey1 = mainPrivKey1.toPublicKey().toString();
89
- const mainPrivKey2 = sdk_1.PrivateKey.fromRandom();
90
- const mainIdentityKey2 = mainPrivKey2.toPublicKey().toString();
91
- const log = `
92
- # .env file template for working with wallet-toolbox Setup functions.
93
- MY_TEST_IDENTITY = '${testIdentityKey1}'
94
- MY_TEST_IDENTITY2 = '${testIdentityKey2}'
95
- MY_MAIN_IDENTITY = '${mainIdentityKey1}'
96
- MY_MAIN_IDENTITY2 = '${mainIdentityKey2}'
97
- MAIN_TAAL_API_KEY='mainnet_9596de07e92300c6287e4393594ae39c'
98
- TEST_TAAL_API_KEY='testnet_0e6cf72133b43ea2d7861da2a38684e3'
99
- MYSQL_CONNECTION='{"port":3306,"host":"127.0.0.1","user":"root","password":"your_password","database":"your_database", "timezone": "Z"}'
100
- DEV_KEYS = '{
101
- "${testIdentityKey1}": "${testPrivKey1.toString()}",
102
- "${testIdentityKey2}": "${testPrivKey2.toString()}",
103
- "${mainIdentityKey1}": "${mainPrivKey1.toString()}",
104
- "${mainIdentityKey2}": "${mainPrivKey2.toString()}"
105
- }'
106
- `;
107
- console.log(log);
108
- return log;
109
- }
110
- /**
111
- * Reads a .env file of the format created by `makeEnv`.
112
- *
113
- * Returns values for designated `chain`.
114
- *
115
- * Access private keys through the `devKeys` object: `devKeys[identityKey]`
116
- *
117
- * @param chain Which chain to use: 'test' or 'main'
118
- * @returns {SetupEnv} with configuration environment secrets used by `Setup` functions.
119
- *
120
- * @publicbody
121
- */
122
- static getEnv(chain) {
123
- // Identity keys of the lead maintainer of this repo...
124
- const identityKey = chain === 'main' ? process.env.MY_MAIN_IDENTITY : process.env.MY_TEST_IDENTITY;
125
- const identityKey2 = chain === 'main' ? process.env.MY_MAIN_IDENTITY2 : process.env.MY_TEST_IDENTITY2;
126
- const filePath = chain === 'main' ? process.env.MY_MAIN_FILEPATH : process.env.MY_TEST_FILEPATH;
127
- const DEV_KEYS = process.env.DEV_KEYS || '{}';
128
- const mySQLConnection = process.env.MYSQL_CONNECTION || '{}';
129
- const taalApiKey = (0, utilityHelpers_1.verifyTruthy)(chain === 'main' ? process.env.MAIN_TAAL_API_KEY : process.env.TEST_TAAL_API_KEY, `.env value for '${chain.toUpperCase()}_TAAL_API_KEY' is required.`);
130
- if (!identityKey || !identityKey2)
131
- throw new WERR_errors_1.WERR_INVALID_OPERATION('.env is not a valid SetupEnv configuration.');
132
- return {
133
- chain,
134
- identityKey,
135
- identityKey2,
136
- filePath,
137
- taalApiKey,
138
- devKeys: JSON.parse(DEV_KEYS),
139
- mySQLConnection
140
- };
141
- }
142
- /**
143
- * Create a `Wallet`. Storage can optionally be provided or configured later.
144
- *
145
- * The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
146
- * Optionally, PrivilegedKeyManager is also configured.
147
- *
148
- * @publicbody
149
- */
150
- static async createWallet(args) {
151
- const chain = args.env.chain;
152
- args.rootKeyHex || (args.rootKeyHex = args.env.devKeys[args.env.identityKey]);
153
- const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
154
- const identityKey = rootKey.toPublicKey().toString();
155
- const keyDeriver = new sdk_1.CachedKeyDeriver(rootKey);
156
- const storage = new WalletStorageManager_1.WalletStorageManager(identityKey, args.active, args.backups);
157
- if (storage.canMakeAvailable())
158
- await storage.makeAvailable();
159
- const serviceOptions = Services_1.Services.createDefaultOptions(chain);
160
- serviceOptions.taalApiKey = args.env.taalApiKey;
161
- // To rely on your own headers service, uncomment the following line, updating the url and apiKey to your own values.
162
- // serviceOptions.chaintracks = new BHServiceClient('main', 'https://headers.spv.money', 'fC42F069YJs30FaWBAgikfDFEfIW1j4q')
163
- const services = new Services_1.Services(serviceOptions);
164
- const monopts = Monitor_1.Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
165
- const monitor = new Monitor_1.Monitor(monopts);
166
- monitor.addDefaultTasks();
167
- const privilegedKeyManager = args.privilegedKeyGetter
168
- ? new PrivilegedKeyManager_1.PrivilegedKeyManager(args.privilegedKeyGetter)
169
- : undefined;
170
- const wallet = new Wallet_1.Wallet({
171
- chain,
172
- keyDeriver,
173
- storage,
174
- services,
175
- monitor,
176
- privilegedKeyManager
177
- });
178
- const r = {
179
- rootKey,
180
- identityKey,
181
- keyDeriver,
182
- chain,
183
- storage,
184
- services,
185
- monitor,
186
- wallet
187
- };
188
- return r;
189
- }
190
- /**
191
- * Setup a new `Wallet` without requiring a .env file.
192
- *
193
- * @param args.chain - 'main' or 'test'
194
- * @param args.rootKeyHex - Root private key for wallet's key deriver.
195
- * @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
196
- * @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
197
- */
198
- static async createWalletClientNoEnv(args) {
199
- const chain = args.chain;
200
- const endpointUrl = args.storageUrl || `https://${args.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
201
- const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
202
- const keyDeriver = new sdk_1.CachedKeyDeriver(rootKey);
203
- const storage = new WalletStorageManager_1.WalletStorageManager(keyDeriver.identityKey);
204
- const services = new Services_1.Services(chain);
205
- const privilegedKeyManager = args.privilegedKeyGetter
206
- ? new PrivilegedKeyManager_1.PrivilegedKeyManager(args.privilegedKeyGetter)
207
- : undefined;
208
- const wallet = new Wallet_1.Wallet({
209
- chain,
210
- keyDeriver,
211
- storage,
212
- services,
213
- privilegedKeyManager
214
- });
215
- const client = new StorageClient_1.StorageClient(wallet, endpointUrl);
216
- await storage.addWalletStorageProvider(client);
217
- await storage.makeAvailable();
218
- return wallet;
219
- }
220
- /**
221
- * @publicbody
222
- */
223
- static async createWalletClient(args) {
224
- const wo = await Setup.createWallet(args);
225
- const endpointUrl = args.endpointUrl || `https://${args.env.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
226
- const client = new StorageClient_1.StorageClient(wo.wallet, endpointUrl);
227
- await wo.storage.addWalletStorageProvider(client);
228
- await wo.storage.makeAvailable();
229
- return {
230
- ...wo,
231
- endpointUrl
232
- };
233
- }
234
- /**
235
- * @publicbody
236
- */
237
- static getKeyPair(priv) {
238
- if (priv === undefined)
239
- priv = sdk_1.PrivateKey.fromRandom();
240
- else if (typeof priv === 'string')
241
- priv = new sdk_1.PrivateKey(priv, 'hex');
242
- const pub = sdk_1.PublicKey.fromPrivateKey(priv);
243
- const address = pub.toAddress();
244
- return { privateKey: priv, publicKey: pub, address };
245
- }
246
- /**
247
- * @publicbody
248
- */
249
- static getLockP2PKH(address) {
250
- const p2pkh = new sdk_1.P2PKH();
251
- const lock = p2pkh.lock(address);
252
- return lock;
253
- }
254
- /**
255
- * @publicbody
256
- */
257
- static getUnlockP2PKH(priv, satoshis) {
258
- const p2pkh = new sdk_1.P2PKH();
259
- const lock = Setup.getLockP2PKH(Setup.getKeyPair(priv).address);
260
- // Prepare to pay with SIGHASH_ALL and without ANYONE_CAN_PAY.
261
- // In otherwords:
262
- // - all outputs must remain in the current order, amount and locking scripts.
263
- // - all inputs must remain from the current outpoints and sequence numbers.
264
- // (unlock scripts are never signed)
265
- const unlock = p2pkh.unlock(priv, 'all', false, satoshis, lock);
266
- return unlock;
267
- }
268
- /**
269
- * @publicbody
270
- */
271
- static createP2PKHOutputs(outputs) {
272
- const os = [];
273
- const count = outputs.length;
274
- for (let i = 0; i < count; i++) {
275
- const o = outputs[i];
276
- os.push({
277
- basket: o.basket,
278
- tags: o.tags,
279
- satoshis: o.satoshis,
280
- lockingScript: Setup.getLockP2PKH(o.address).toHex(),
281
- outputDescription: o.outputDescription || `p2pkh ${i}`
282
- });
283
- }
284
- return os;
285
- }
286
- /**
287
- * @publicbody
288
- */
289
- static async createP2PKHOutputsAction(wallet, outputs, options) {
290
- const os = Setup.createP2PKHOutputs(outputs);
291
- const createArgs = {
292
- description: `createP2PKHOutputs`,
293
- outputs: os,
294
- options: {
295
- ...options,
296
- // Don't randomize so we can simplify outpoint creation
297
- randomizeOutputs: false
298
- }
299
- };
300
- const cr = await wallet.createAction(createArgs);
301
- let outpoints;
302
- if (cr.txid) {
303
- outpoints = os.map((o, i) => `${cr.txid}.${i}`);
304
- }
305
- return { cr, outpoints };
306
- }
307
- /**
308
- * @publicbody
309
- */
310
- static async fundWalletFromP2PKHOutpoints(wallet, outpoints, p2pkhKey, inputBEEF) {
311
- // TODO
312
- }
313
- /**
314
- * Adds `Knex` based storage to a `Wallet` configured by `Setup.createWalletOnly`
315
- *
316
- * @param args.knex `Knex` object configured for either MySQL or SQLite database access.
317
- * Schema will be created and migrated as needed.
318
- * For MySQL, a schema corresponding to databaseName must exist with full access permissions.
319
- * @param args.databaseName Name for this storage. For MySQL, the schema name within the MySQL instance.
320
- * @param args.chain Which chain this wallet is on: 'main' or 'test'. Defaults to 'test'.
321
- * @param args.rootKeyHex
322
- *
323
- * @publicbody
324
- */
325
- static async createWalletKnex(args) {
326
- const wo = await Setup.createWallet(args);
327
- const activeStorage = await Setup.createStorageKnex(args);
328
- await wo.storage.addWalletStorageProvider(activeStorage);
329
- const { user, isNew } = await activeStorage.findOrInsertUser(wo.identityKey);
330
- const userId = user.userId;
331
- const r = {
332
- ...wo,
333
- activeStorage,
334
- userId
335
- };
336
- return r;
337
- }
338
- /**
339
- * @returns {StorageKnex} - `Knex` based storage provider for a wallet. May be used for either active storage or backup storage.
340
- */
341
- static async createStorageKnex(args) {
342
- // Create a temporary wallet setup to consistently resolve optional args.
343
- const wo = await Setup.createWallet(args);
344
- const storage = new StorageKnex_1.StorageKnex({
345
- chain: wo.chain,
346
- knex: args.knex,
347
- commissionSatoshis: 0,
348
- commissionPubKeyHex: undefined,
349
- feeModel: { model: 'sat/kb', value: 1 }
350
- });
351
- await storage.migrate(args.databaseName, randomBytesHex(33));
352
- await storage.makeAvailable();
353
- await wo.wallet.destroy();
354
- return storage;
355
- }
356
- /**
357
- * @publicbody
358
- */
359
- static createSQLiteKnex(filename) {
360
- const config = {
361
- client: 'sqlite3',
362
- connection: { filename },
363
- useNullAsDefault: true
364
- };
365
- const knex = (0, knex_1.knex)(config);
366
- return knex;
367
- }
368
- /**
369
- * @publicbody
370
- */
371
- static createMySQLKnex(connection, database) {
372
- const c = JSON.parse(connection);
373
- if (database) {
374
- c.database = database;
375
- }
376
- const config = {
377
- client: 'mysql2',
378
- connection: c,
379
- useNullAsDefault: true,
380
- pool: { min: 0, max: 7, idleTimeoutMillis: 15000 }
381
- };
382
- const knex = (0, knex_1.knex)(config);
383
- return knex;
384
- }
385
- /**
386
- * @publicbody
387
- */
388
- static async createWalletMySQL(args) {
389
- return await this.createWalletKnex({
390
- ...args,
391
- knex: Setup.createMySQLKnex(args.env.mySQLConnection, args.databaseName)
392
- });
393
- }
394
- /**
395
- * @publicbody
396
- */
397
- static async createWalletSQLite(args) {
398
- return await this.createWalletKnex({
399
- ...args,
400
- knex: Setup.createSQLiteKnex(args.filePath)
401
- });
402
- }
403
- }
404
- exports.Setup = Setup;
405
- function randomBytesHex(arg0) {
406
- throw new Error('Function not implemented.');
407
- }
408
- //# sourceMappingURL=Setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../../src/Setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6C;AAE7C,kCAeiB;AAEjB,6DAAuD;AACvD,mDAA0D;AAC1D,yEAAqE;AACrE,kDAA8C;AAC9C,+CAA2C;AAC3C,qEAAiE;AACjE,qCAAiC;AACjC,oEAAgE;AAChE,uDAAmD;AAGnD,qEAAqE;AACrE,4DAA4D;AAE5D,+CAAgC;AAChC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf;;;;;GAKG;AACH,MAAsB,KAAK;IACzB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAY;QACvB,IAAI,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACnB,OAAO,KAAK,CAAA;QACd,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO;QACZ,MAAM,YAAY,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;QAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC9D,MAAM,YAAY,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;QAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC9D,MAAM,YAAY,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;QAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC9D,MAAM,YAAY,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;QAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QAE9D,MAAM,GAAG,GAAG;;sBAEM,gBAAgB;uBACf,gBAAgB;sBACjB,gBAAgB;uBACf,gBAAgB;;;;;OAKhC,gBAAgB,OAAO,YAAY,CAAC,QAAQ,EAAE;OAC9C,gBAAgB,OAAO,YAAY,CAAC,QAAQ,EAAE;OAC9C,gBAAgB,OAAO,YAAY,CAAC,QAAQ,EAAE;OAC9C,gBAAgB,OAAO,YAAY,CAAC,QAAQ,EAAE;;CAEpD,CAAA;QACG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEhB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAC,KAAY;QACxB,uDAAuD;QACvD,MAAM,WAAW,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;QAClG,MAAM,YAAY,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;QACrG,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;QAC/F,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAA;QAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAA;QAC5D,MAAM,UAAU,GAAG,IAAA,6BAAY,EAC7B,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAChF,mBAAmB,KAAK,CAAC,WAAW,EAAE,6BAA6B,CACpE,CAAA;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,oCAAsB,CAAC,6CAA6C,CAAC,CAAA;QAElH,OAAO;YACL,KAAK;YACL,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA2B;YACvD,eAAe;SAChB,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAqB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;QAC5B,IAAI,CAAC,UAAU,KAAf,IAAI,CAAC,UAAU,GAAK,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAA;QAC1D,MAAM,OAAO,GAAG,gBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,sBAAgB,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,2CAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChF,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7D,MAAM,cAAc,GAAG,mBAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3D,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAA;QAE/C,qHAAqH;QACrH,4HAA4H;QAE5H,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,cAAc,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,iBAAO,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,CAAC,eAAe,EAAE,CAAA;QACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB;YACnD,CAAC,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACpD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;YACxB,KAAK;YACL,UAAU;YACV,OAAO;YACP,QAAQ;YACR,OAAO;YACP,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,GAAgB;YACrB,OAAO;YACP,WAAW;YACX,UAAU;YACV,KAAK;YACL,OAAO;YACP,QAAQ;YACR,OAAO;YACP,MAAM;SACP,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAKpC;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAA;QAClH,MAAM,OAAO,GAAG,gBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,IAAI,sBAAgB,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,2CAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB;YACnD,CAAC,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACpD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;YACxB,KAAK;YACL,UAAU;YACV,OAAO;YACP,QAAQ;YACR,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACrD,MAAM,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QACzD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEzC,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAA;QAErG,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACxD,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAChC,OAAO;YACL,GAAG,EAAE;YACL,WAAW;SACZ,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAA0B;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;aACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,gBAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAErE,MAAM,GAAG,GAAG,eAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;QAC/B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,MAAM,KAAK,GAAG,IAAI,WAAK,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAgB,EAAE,QAAgB;QACtD,MAAM,KAAK,GAAG,IAAI,WAAK,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;QAC/D,8DAA8D;QAC9D,iBAAiB;QACjB,8EAA8E;QAC9E,4EAA4E;QAC5E,oCAAoC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,OAMG;QAEH,MAAM,EAAE,GAAyB,EAAE,CAAA;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACpB,EAAE,CAAC,IAAI,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;gBACpD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,SAAS,CAAC,EAAE;aACvD,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,wBAAwB,CACnC,MAAuB,EACvB,OAMG,EACH,OAA6B;QAK7B,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,UAAU,GAAqB;YACnC,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,EAAE;YACX,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,uDAAuD;gBACvD,gBAAgB,EAAE,KAAK;aACxB;SACF,CAAA;QAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAEhD,IAAI,SAA+B,CAAA;QAEnC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,4BAA4B,CACvC,MAAuB,EACvB,SAAmB,EACnB,QAAwB,EACxB,SAAgB;QAEhB,OAAO;IACT,CAAC;IACD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAyB;QACrD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACzD,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAA;QACxD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,CAAC,GAAoB;YACzB,GAAG,EAAE;YACL,aAAa;YACb,MAAM;SACP,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAyB;QACtD,yEAAyE;QACzE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,yBAAW,CAAC;YAC9B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,SAAS;YAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;SACxC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAgB;QACtC,MAAM,MAAM,GAAgB;YAC1B,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,EAAE,QAAQ,EAAE;YACxB,gBAAgB,EAAE,IAAI;SACvB,CAAA;QACD,MAAM,IAAI,GAAG,IAAA,WAAQ,EAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,UAAkB,EAAE,QAAiB;QAC1D,MAAM,CAAC,GAAgC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvB,CAAC;QACD,MAAM,MAAM,GAAgB;YAC1B,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE;SACnD,CAAA;QACD,MAAM,IAAI,GAAG,IAAA,WAAQ,EAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAA0B;QACvD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC;YACjC,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC;SACzE,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QACzD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC;YACjC,GAAG,IAAI;YACP,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;CACF;AArZD,sBAqZC;AAiID,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC9C,CAAC"}
@@ -1,179 +0,0 @@
1
- import { ListActionsResult, ListOutputsResult } from '@bsv/sdk';
2
- import { TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableMonitorEvent, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from './schema/tables';
3
- import { Knex } from 'knex';
4
- import { AdminStatsResult, StorageProvider, StorageProviderOptions } from './StorageProvider';
5
- import { DBType } from './StorageReader';
6
- import { AuthId, FindCertificateFieldsArgs, FindCertificatesArgs, FindCommissionsArgs, FindForUserSincePagedArgs, FindMonitorEventsArgs, FindOutputBasketsArgs, FindOutputsArgs, FindOutputTagMapsArgs, FindOutputTagsArgs, FindPartialSincePagedArgs, FindProvenTxReqsArgs, FindProvenTxsArgs, FindSyncStatesArgs, FindTransactionsArgs, FindTxLabelMapsArgs, FindTxLabelsArgs, FindUsersArgs, ProvenOrRawTx, PurgeParams, PurgeResults, TrxToken, WalletStorageProvider } from '../sdk/WalletStorage.interfaces';
7
- import { ValidListActionsArgs, ValidListOutputsArgs } from '../sdk/validationHelpers';
8
- import { EntityTimeStamp } from '../sdk/types';
9
- export interface StorageKnexOptions extends StorageProviderOptions {
10
- /**
11
- * Knex database interface initialized with valid connection configuration.
12
- */
13
- knex: Knex;
14
- }
15
- export declare class StorageKnex extends StorageProvider implements WalletStorageProvider {
16
- knex: Knex;
17
- constructor(options: StorageKnexOptions);
18
- readSettings(): Promise<TableSettings>;
19
- getProvenOrRawTx(txid: string, trx?: TrxToken): Promise<ProvenOrRawTx>;
20
- dbTypeSubstring(source: string, fromOffset: number, forLength?: number): string;
21
- getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: TrxToken): Promise<number[] | undefined>;
22
- getProvenTxsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder;
23
- getProvenTxsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTx[]>;
24
- getProvenTxReqsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder;
25
- getProvenTxReqsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>;
26
- getTxLabelMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder;
27
- getTxLabelMapsForUser(args: FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>;
28
- getOutputTagMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder;
29
- getOutputTagMapsForUser(args: FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>;
30
- listActions(auth: AuthId, vargs: ValidListActionsArgs): Promise<ListActionsResult>;
31
- listOutputs(auth: AuthId, vargs: ValidListOutputsArgs): Promise<ListOutputsResult>;
32
- insertProvenTx(tx: TableProvenTx, trx?: TrxToken): Promise<number>;
33
- insertProvenTxReq(tx: TableProvenTxReq, trx?: TrxToken): Promise<number>;
34
- insertUser(user: TableUser, trx?: TrxToken): Promise<number>;
35
- insertCertificateAuth(auth: AuthId, certificate: TableCertificateX): Promise<number>;
36
- insertCertificate(certificate: TableCertificateX, trx?: TrxToken): Promise<number>;
37
- insertCertificateField(certificateField: TableCertificateField, trx?: TrxToken): Promise<void>;
38
- insertOutputBasket(basket: TableOutputBasket, trx?: TrxToken): Promise<number>;
39
- insertTransaction(tx: TableTransaction, trx?: TrxToken): Promise<number>;
40
- insertCommission(commission: TableCommission, trx?: TrxToken): Promise<number>;
41
- insertOutput(output: TableOutput, trx?: TrxToken): Promise<number>;
42
- insertOutputTag(tag: TableOutputTag, trx?: TrxToken): Promise<number>;
43
- insertOutputTagMap(tagMap: TableOutputTagMap, trx?: TrxToken): Promise<void>;
44
- insertTxLabel(label: TableTxLabel, trx?: TrxToken): Promise<number>;
45
- insertTxLabelMap(labelMap: TableTxLabelMap, trx?: TrxToken): Promise<void>;
46
- insertMonitorEvent(event: TableMonitorEvent, trx?: TrxToken): Promise<number>;
47
- insertSyncState(syncState: TableSyncState, trx?: TrxToken): Promise<number>;
48
- updateCertificateField(certificateId: number, fieldName: string, update: Partial<TableCertificateField>, trx?: TrxToken): Promise<number>;
49
- updateCertificate(id: number, update: Partial<TableCertificate>, trx?: TrxToken): Promise<number>;
50
- updateCommission(id: number, update: Partial<TableCommission>, trx?: TrxToken): Promise<number>;
51
- updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: TrxToken): Promise<number>;
52
- updateOutput(id: number, update: Partial<TableOutput>, trx?: TrxToken): Promise<number>;
53
- updateOutputTagMap(outputId: number, tagId: number, update: Partial<TableOutputTagMap>, trx?: TrxToken): Promise<number>;
54
- updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: TrxToken): Promise<number>;
55
- updateProvenTxReq(id: number | number[], update: Partial<TableProvenTxReq>, trx?: TrxToken): Promise<number>;
56
- updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: TrxToken): Promise<number>;
57
- updateSyncState(id: number, update: Partial<TableSyncState>, trx?: TrxToken): Promise<number>;
58
- updateTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: TrxToken): Promise<number>;
59
- updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: TrxToken): Promise<number>;
60
- updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: TrxToken): Promise<number>;
61
- updateUser(id: number, update: Partial<TableUser>, trx?: TrxToken): Promise<number>;
62
- updateMonitorEvent(id: number, update: Partial<TableMonitorEvent>, trx?: TrxToken): Promise<number>;
63
- setupQuery<T extends object>(table: string, args: FindPartialSincePagedArgs<T>): Knex.QueryBuilder;
64
- findCertificateFieldsQuery(args: FindCertificateFieldsArgs): Knex.QueryBuilder;
65
- findCertificatesQuery(args: FindCertificatesArgs): Knex.QueryBuilder;
66
- findCommissionsQuery(args: FindCommissionsArgs): Knex.QueryBuilder;
67
- findOutputBasketsQuery(args: FindOutputBasketsArgs): Knex.QueryBuilder;
68
- findOutputsQuery(args: FindOutputsArgs, count?: boolean): Knex.QueryBuilder;
69
- findOutputTagMapsQuery(args: FindOutputTagMapsArgs): Knex.QueryBuilder;
70
- findOutputTagsQuery(args: FindOutputTagsArgs): Knex.QueryBuilder;
71
- findProvenTxReqsQuery(args: FindProvenTxReqsArgs): Knex.QueryBuilder;
72
- findProvenTxsQuery(args: FindProvenTxsArgs): Knex.QueryBuilder;
73
- findSyncStatesQuery(args: FindSyncStatesArgs): Knex.QueryBuilder;
74
- findTransactionsQuery(args: FindTransactionsArgs, count?: boolean): Knex.QueryBuilder;
75
- findTxLabelMapsQuery(args: FindTxLabelMapsArgs): Knex.QueryBuilder;
76
- findTxLabelsQuery(args: FindTxLabelsArgs): Knex.QueryBuilder;
77
- findUsersQuery(args: FindUsersArgs): Knex.QueryBuilder;
78
- findMonitorEventsQuery(args: FindMonitorEventsArgs): Knex.QueryBuilder;
79
- findCertificatesAuth(auth: AuthId, args: FindCertificatesArgs): Promise<TableCertificateX[]>;
80
- findOutputBasketsAuth(auth: AuthId, args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
81
- findOutputsAuth(auth: AuthId, args: FindOutputsArgs): Promise<TableOutput[]>;
82
- findCertificateFields(args: FindCertificateFieldsArgs): Promise<TableCertificateField[]>;
83
- findCertificates(args: FindCertificatesArgs): Promise<TableCertificateX[]>;
84
- findCommissions(args: FindCommissionsArgs): Promise<TableCommission[]>;
85
- findOutputBaskets(args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
86
- findOutputs(args: FindOutputsArgs): Promise<TableOutput[]>;
87
- findOutputTagMaps(args: FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>;
88
- findOutputTags(args: FindOutputTagsArgs): Promise<TableOutputTag[]>;
89
- findProvenTxReqs(args: FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
90
- findProvenTxs(args: FindProvenTxsArgs): Promise<TableProvenTx[]>;
91
- findSyncStates(args: FindSyncStatesArgs): Promise<TableSyncState[]>;
92
- findTransactions(args: FindTransactionsArgs): Promise<TableTransaction[]>;
93
- findTxLabelMaps(args: FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
94
- findTxLabels(args: FindTxLabelsArgs): Promise<TableTxLabel[]>;
95
- findUsers(args: FindUsersArgs): Promise<TableUser[]>;
96
- findMonitorEvents(args: FindMonitorEventsArgs): Promise<TableMonitorEvent[]>;
97
- getCount<T extends object>(q: Knex.QueryBuilder<T, T[]>): Promise<number>;
98
- countCertificateFields(args: FindCertificateFieldsArgs): Promise<number>;
99
- countCertificates(args: FindCertificatesArgs): Promise<number>;
100
- countCommissions(args: FindCommissionsArgs): Promise<number>;
101
- countOutputBaskets(args: FindOutputBasketsArgs): Promise<number>;
102
- countOutputs(args: FindOutputsArgs): Promise<number>;
103
- countOutputTagMaps(args: FindOutputTagMapsArgs): Promise<number>;
104
- countOutputTags(args: FindOutputTagsArgs): Promise<number>;
105
- countProvenTxReqs(args: FindProvenTxReqsArgs): Promise<number>;
106
- countProvenTxs(args: FindProvenTxsArgs): Promise<number>;
107
- countSyncStates(args: FindSyncStatesArgs): Promise<number>;
108
- countTransactions(args: FindTransactionsArgs): Promise<number>;
109
- countTxLabelMaps(args: FindTxLabelMapsArgs): Promise<number>;
110
- countTxLabels(args: FindTxLabelsArgs): Promise<number>;
111
- countUsers(args: FindUsersArgs): Promise<number>;
112
- countMonitorEvents(args: FindMonitorEventsArgs): Promise<number>;
113
- destroy(): Promise<void>;
114
- migrate(storageName: string, storageIdentityKey: string): Promise<string>;
115
- dropAllData(): Promise<void>;
116
- transaction<T>(scope: (trx: TrxToken) => Promise<T>, trx?: TrxToken): Promise<T>;
117
- /**
118
- * Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
119
- * or a Knex.Transaction as appropriate.
120
- */
121
- toDb(trx?: TrxToken): Knex<any, any[]>;
122
- validateRawTransaction(t: TableTransaction, trx?: TrxToken): Promise<void>;
123
- _verifiedReadyForDatabaseAccess: boolean;
124
- /**
125
- * Make sure database is ready for access:
126
- *
127
- * - dateScheme is known
128
- * - foreign key constraints are enabled
129
- *
130
- * @param trx
131
- */
132
- verifyReadyForDatabaseAccess(trx?: TrxToken): Promise<DBType>;
133
- /**
134
- * Helper to force uniform behavior across database engines.
135
- * Use to process the update template for entities being updated.
136
- */
137
- validatePartialForUpdate<T extends EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>;
138
- /**
139
- * Helper to force uniform behavior across database engines.
140
- * Use to process new entities being inserted into the database.
141
- */
142
- validateEntityForInsert<T extends EntityTimeStamp>(entity: T, trx?: TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>;
143
- getLabelsForTransactionId(transactionId?: number, trx?: TrxToken): Promise<TableTxLabel[]>;
144
- getTagsForOutputId(outputId: number, trx?: TrxToken): Promise<TableOutputTag[]>;
145
- purgeData(params: PurgeParams, trx?: TrxToken): Promise<PurgeResults>;
146
- reviewStatus(args: {
147
- agedLimit: Date;
148
- trx?: TrxToken;
149
- }): Promise<{
150
- log: string;
151
- }>;
152
- /**
153
- * Counts the outputs for userId in basketId that are spendable: true
154
- * AND whose transaction status is one of:
155
- * - completed
156
- * - unproven
157
- * - sending (if excludeSending is false)
158
- */
159
- countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
160
- /**
161
- * Finds closest matching available change output to use as input for new transaction.
162
- *
163
- * Transactionally allocate the output such that
164
- */
165
- allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<TableOutput | undefined>;
166
- /**
167
- * Helper to force uniform behavior across database engines.
168
- * Use to process all individual records with time stamps retreived from database.
169
- */
170
- validateEntity<T extends EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T;
171
- /**
172
- * Helper to force uniform behavior across database engines.
173
- * Use to process all arrays of records with time stamps retreived from database.
174
- * @returns input `entities` array with contained values validated.
175
- */
176
- validateEntities<T extends EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[];
177
- adminStats(adminIdentityKey: string): Promise<AdminStatsResult>;
178
- }
179
- //# sourceMappingURL=StorageKnex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StorageKnex.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageKnex.ts"],"names":[],"mappings":"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"}