@bsv/wallet-toolbox-client 1.2.4 → 1.2.6
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.
- package/out/src/Setup.d.ts +329 -0
- package/out/src/Setup.d.ts.map +1 -0
- package/out/src/Setup.js +394 -0
- package/out/src/Setup.js.map +1 -0
- package/out/src/index.all.d.ts +19 -0
- package/out/src/index.all.d.ts.map +1 -0
- package/out/src/index.all.js +58 -0
- package/out/src/index.all.js.map +1 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +3 -0
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts +30 -0
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -0
- package/out/src/monitor/MonitorDaemon.js +134 -0
- package/out/src/monitor/MonitorDaemon.js.map +1 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts +40 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskUnFail.js +145 -0
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
- package/out/src/sdk/types.d.ts +3 -1
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/providers/echangeRates.d.ts.map +1 -1
- package/out/src/services/providers/echangeRates.js +6 -6
- package/out/src/services/providers/echangeRates.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +176 -0
- package/out/src/storage/StorageKnex.d.ts.map +1 -0
- package/out/src/storage/StorageKnex.js +1017 -0
- package/out/src/storage/StorageKnex.js.map +1 -0
- package/out/src/storage/StorageProvider.js +2 -2
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/index.all.d.ts +11 -0
- package/out/src/storage/index.all.d.ts.map +1 -0
- package/out/src/storage/index.all.js +50 -0
- package/out/src/storage/index.all.js.map +1 -0
- package/out/src/storage/methods/listActions.d.ts +5 -0
- package/out/src/storage/methods/listActions.d.ts.map +1 -0
- package/out/src/storage/methods/listActions.js +162 -0
- package/out/src/storage/methods/listActions.js.map +1 -0
- package/out/src/storage/methods/listOutputs.d.ts +5 -0
- package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
- package/out/src/storage/methods/listOutputs.js +300 -0
- package/out/src/storage/methods/listOutputs.js.map +1 -0
- package/out/src/storage/methods/purgeData.d.ts +4 -0
- package/out/src/storage/methods/purgeData.d.ts.map +1 -0
- package/out/src/storage/methods/purgeData.js +207 -0
- package/out/src/storage/methods/purgeData.js.map +1 -0
- package/out/src/storage/methods/reviewStatus.d.ts +9 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
- package/out/src/storage/methods/reviewStatus.js +73 -0
- package/out/src/storage/methods/reviewStatus.js.map +1 -0
- package/out/src/storage/remoting/StorageServer.d.ts +39 -0
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -0
- package/out/src/storage/remoting/StorageServer.js +220 -0
- package/out/src/storage/remoting/StorageServer.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
- package/out/src/storage/schema/KnexMigrations.js +395 -0
- package/out/src/storage/schema/KnexMigrations.js.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +71 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js +609 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -0
- package/out/src/storage/sync/index.d.ts +2 -0
- package/out/src/storage/sync/index.d.ts.map +1 -0
- package/out/src/storage/sync/index.js +18 -0
- package/out/src/storage/sync/index.js.map +1 -0
- package/out/src/utility/index.all.d.ts +7 -0
- package/out/src/utility/index.all.d.ts.map +1 -0
- package/out/src/utility/index.all.js +23 -0
- package/out/src/utility/index.all.js.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.js +45 -0
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MonitorDaemon = void 0;
|
|
7
|
+
const index_all_1 = require("../index.all");
|
|
8
|
+
const knex_1 = require("knex");
|
|
9
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
10
|
+
dotenv_1.default.config();
|
|
11
|
+
const mainDojoConnection = process.env.MAIN_DOJO_CONNECTION || '';
|
|
12
|
+
const testDojoConnection = process.env.TEST_DOJO_CONNECTION || '';
|
|
13
|
+
class MonitorDaemon {
|
|
14
|
+
constructor(args, noRunTasks) {
|
|
15
|
+
this.args = args;
|
|
16
|
+
this.noRunTasks = noRunTasks;
|
|
17
|
+
this.stopDaemon = false;
|
|
18
|
+
/* */
|
|
19
|
+
}
|
|
20
|
+
async createSetup() {
|
|
21
|
+
this.setup = { ...this.args };
|
|
22
|
+
const a = this.setup;
|
|
23
|
+
if (!a.monitor) {
|
|
24
|
+
a.chain || (a.chain = 'test');
|
|
25
|
+
if (a.sqliteFilename) {
|
|
26
|
+
a.knexConfig = {
|
|
27
|
+
client: 'sqlite3',
|
|
28
|
+
connection: { filename: a.sqliteFilename },
|
|
29
|
+
useNullAsDefault: true
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (a.mySQLConnection) {
|
|
33
|
+
a.knexConfig = {
|
|
34
|
+
client: 'mysql2',
|
|
35
|
+
connection: JSON.parse(a.mySQLConnection),
|
|
36
|
+
useNullAsDefault: true,
|
|
37
|
+
pool: { min: 0, max: 7, idleTimeoutMillis: 15000 }
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (a.knexConfig) {
|
|
41
|
+
a.knex = (0, knex_1.knex)(a.knexConfig);
|
|
42
|
+
}
|
|
43
|
+
if (a.knex) {
|
|
44
|
+
a.storageKnexOptions = {
|
|
45
|
+
knex: a.knex,
|
|
46
|
+
chain: a.chain,
|
|
47
|
+
feeModel: { model: 'sat/kb', value: 1 },
|
|
48
|
+
commissionSatoshis: 0
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (a.storageKnexOptions) {
|
|
52
|
+
a.storageProvider = new index_all_1.StorageKnex(a.storageKnexOptions);
|
|
53
|
+
}
|
|
54
|
+
if (a.storageProvider) {
|
|
55
|
+
await a.storageProvider.makeAvailable();
|
|
56
|
+
const settings = await a.storageProvider.getSettings();
|
|
57
|
+
a.storageManager = new index_all_1.WalletStorageManager(settings.storageIdentityKey, a.storageProvider);
|
|
58
|
+
await a.storageManager.makeAvailable();
|
|
59
|
+
}
|
|
60
|
+
else if (!a.storageManager) {
|
|
61
|
+
throw new index_all_1.sdk.WERR_INVALID_PARAMETER('storageManager', 'valid or one of mySQLConnection, knexConfig, knex, storageKnexOptions, or storageProvider');
|
|
62
|
+
}
|
|
63
|
+
if (a.servicesOptions) {
|
|
64
|
+
if (a.servicesOptions.chain != a.chain)
|
|
65
|
+
throw new index_all_1.sdk.WERR_INVALID_PARAMETER('serviceOptions.chain', 'same as args.chain');
|
|
66
|
+
a.services = new index_all_1.Services(a.servicesOptions);
|
|
67
|
+
}
|
|
68
|
+
if (!a.services) {
|
|
69
|
+
a.services = new index_all_1.Services(a.chain);
|
|
70
|
+
}
|
|
71
|
+
a.storageManager.setServices(a.services);
|
|
72
|
+
const monitorOptions = index_all_1.Monitor.createDefaultWalletMonitorOptions(a.chain, a.storageManager, a.services);
|
|
73
|
+
a.monitor = new index_all_1.Monitor(monitorOptions);
|
|
74
|
+
}
|
|
75
|
+
if (a.monitor._tasks.length === 0) {
|
|
76
|
+
a.monitor.addMultiUserTasks();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async start() {
|
|
80
|
+
var _a;
|
|
81
|
+
if (!this.setup)
|
|
82
|
+
await this.createSetup();
|
|
83
|
+
if (!((_a = this.setup) === null || _a === void 0 ? void 0 : _a.monitor))
|
|
84
|
+
throw new index_all_1.sdk.WERR_INTERNAL('createSetup failed to initialize setup');
|
|
85
|
+
const { monitor } = this.setup;
|
|
86
|
+
if (!this.noRunTasks) {
|
|
87
|
+
console.log('\n\nRunning startTasks\n\n');
|
|
88
|
+
this.doneTasks = monitor.startTasks();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async stop() {
|
|
92
|
+
console.log('start of stop');
|
|
93
|
+
if (!this.setup || (!this.doneTasks && !this.noRunTasks) || !this.doneListening)
|
|
94
|
+
throw new index_all_1.sdk.WERR_INTERNAL('call start or createSetup first');
|
|
95
|
+
const { monitor } = this.setup;
|
|
96
|
+
monitor.stopTasks();
|
|
97
|
+
if (this.doneTasks)
|
|
98
|
+
await this.doneTasks;
|
|
99
|
+
this.doneTasks = undefined;
|
|
100
|
+
await this.doneListening;
|
|
101
|
+
this.doneListening = undefined;
|
|
102
|
+
}
|
|
103
|
+
async destroy() {
|
|
104
|
+
if (!this.setup)
|
|
105
|
+
return;
|
|
106
|
+
if (this.doneTasks || this.doneListening)
|
|
107
|
+
await this.stop();
|
|
108
|
+
if (this.setup.storageProvider)
|
|
109
|
+
this.setup.storageProvider.destroy();
|
|
110
|
+
this.setup = undefined;
|
|
111
|
+
}
|
|
112
|
+
async runDaemon() {
|
|
113
|
+
this.stopDaemon = false;
|
|
114
|
+
for (;;) {
|
|
115
|
+
try {
|
|
116
|
+
await this.start();
|
|
117
|
+
while (!this.stopDaemon) {
|
|
118
|
+
await (0, index_all_1.wait)(10 * 1000);
|
|
119
|
+
}
|
|
120
|
+
console.log('stopping');
|
|
121
|
+
await this.stop();
|
|
122
|
+
console.log('cleanup');
|
|
123
|
+
await this.destroy();
|
|
124
|
+
console.log('done');
|
|
125
|
+
}
|
|
126
|
+
catch (eu) {
|
|
127
|
+
const e = index_all_1.sdk.WalletError.fromUnknown(eu);
|
|
128
|
+
console.log(`\n\nrunWatchman Main Error Handler\n\ncode: ${e.code}\nDescription: ${e.description}\n\n\n`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.MonitorDaemon = MonitorDaemon;
|
|
134
|
+
//# sourceMappingURL=MonitorDaemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorDaemon.js","sourceRoot":"","sources":["../../../../src/monitor/MonitorDaemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EntityProvenTxReq, TableProvenTxReq } from '../../index.client';
|
|
2
|
+
import { Monitor } from '../Monitor';
|
|
3
|
+
import { WalletMonitorTask } from './WalletMonitorTask';
|
|
4
|
+
/**
|
|
5
|
+
* Setting provenTxReq status to 'unfail' when 'invalid' will attempt to find a merklePath, and if successful:
|
|
6
|
+
*
|
|
7
|
+
* 1. set the req status to 'unmined'
|
|
8
|
+
* 2. set the referenced txs to 'unproven'
|
|
9
|
+
* 3. determine if any inputs match user's existing outputs and if so update spentBy and spendable of those outputs.
|
|
10
|
+
* 4. set the txs outputs to spendable
|
|
11
|
+
*
|
|
12
|
+
* If it fails (to find a merklePath), returns the req status to 'invalid'.
|
|
13
|
+
*/
|
|
14
|
+
export declare class TaskUnFail extends WalletMonitorTask {
|
|
15
|
+
triggerMsecs: number;
|
|
16
|
+
static taskName: string;
|
|
17
|
+
/**
|
|
18
|
+
* Set to true to trigger running this task
|
|
19
|
+
*/
|
|
20
|
+
static checkNow: boolean;
|
|
21
|
+
constructor(monitor: Monitor, triggerMsecs?: number);
|
|
22
|
+
trigger(nowMsecsSinceEpoch: number): {
|
|
23
|
+
run: boolean;
|
|
24
|
+
};
|
|
25
|
+
runTask(): Promise<string>;
|
|
26
|
+
unfail(reqs: TableProvenTxReq[], indent?: number): Promise<{
|
|
27
|
+
log: string;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* 2. set the referenced txs to 'unproven'
|
|
31
|
+
* 3. determine if any inputs match user's existing outputs and if so update spentBy and spendable of those outputs.
|
|
32
|
+
* 4. set the txs outputs to spendable
|
|
33
|
+
*
|
|
34
|
+
* @param req
|
|
35
|
+
* @param indent
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
unfailReq(req: EntityProvenTxReq, indent: number): Promise<string>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=TaskUnFail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskUnFail.d.ts","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskUnFail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAO,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,iBAAiB;IAUtC,YAAY;IATrB,MAAM,CAAC,QAAQ,SAAW;IAE1B;;OAEG;IACH,MAAM,CAAC,QAAQ,UAAQ;gBAGrB,OAAO,EAAE,OAAO,EACT,YAAY,SAAyB;IAK9C,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE;IAQ/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAwB1B,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB5E;;;;;;;;OAQG;IACG,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwDzE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskUnFail = void 0;
|
|
4
|
+
const sdk_1 = require("@bsv/sdk");
|
|
5
|
+
const index_client_1 = require("../../index.client");
|
|
6
|
+
const WalletMonitorTask_1 = require("./WalletMonitorTask");
|
|
7
|
+
/**
|
|
8
|
+
* Setting provenTxReq status to 'unfail' when 'invalid' will attempt to find a merklePath, and if successful:
|
|
9
|
+
*
|
|
10
|
+
* 1. set the req status to 'unmined'
|
|
11
|
+
* 2. set the referenced txs to 'unproven'
|
|
12
|
+
* 3. determine if any inputs match user's existing outputs and if so update spentBy and spendable of those outputs.
|
|
13
|
+
* 4. set the txs outputs to spendable
|
|
14
|
+
*
|
|
15
|
+
* If it fails (to find a merklePath), returns the req status to 'invalid'.
|
|
16
|
+
*/
|
|
17
|
+
class TaskUnFail extends WalletMonitorTask_1.WalletMonitorTask {
|
|
18
|
+
constructor(monitor, triggerMsecs = monitor.oneMinute * 10) {
|
|
19
|
+
super(monitor, TaskUnFail.taskName);
|
|
20
|
+
this.triggerMsecs = triggerMsecs;
|
|
21
|
+
}
|
|
22
|
+
trigger(nowMsecsSinceEpoch) {
|
|
23
|
+
return {
|
|
24
|
+
run: TaskUnFail.checkNow ||
|
|
25
|
+
(this.triggerMsecs > 0 && nowMsecsSinceEpoch - this.lastRunMsecsSinceEpoch > this.triggerMsecs)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
async runTask() {
|
|
29
|
+
let log = '';
|
|
30
|
+
TaskUnFail.checkNow = false;
|
|
31
|
+
const limit = 100;
|
|
32
|
+
let offset = 0;
|
|
33
|
+
for (;;) {
|
|
34
|
+
const reqs = await this.storage.findProvenTxReqs({
|
|
35
|
+
partial: {},
|
|
36
|
+
status: ['unfail'],
|
|
37
|
+
paged: { limit, offset }
|
|
38
|
+
});
|
|
39
|
+
if (reqs.length === 0)
|
|
40
|
+
break;
|
|
41
|
+
log += `${reqs.length} reqs with status 'unfail'\n`;
|
|
42
|
+
const r = await this.unfail(reqs, 2);
|
|
43
|
+
log += `${r.log}\n`;
|
|
44
|
+
//console.log(log);
|
|
45
|
+
if (reqs.length < limit)
|
|
46
|
+
break;
|
|
47
|
+
offset += limit;
|
|
48
|
+
}
|
|
49
|
+
return log;
|
|
50
|
+
}
|
|
51
|
+
async unfail(reqs, indent = 0) {
|
|
52
|
+
let log = '';
|
|
53
|
+
for (const reqApi of reqs) {
|
|
54
|
+
const req = new index_client_1.EntityProvenTxReq(reqApi);
|
|
55
|
+
log += ' '.repeat(indent);
|
|
56
|
+
log += `reqId ${reqApi.provenTxReqId} txid ${reqApi.txid}: `;
|
|
57
|
+
const r = await this.monitor.services.getMerklePath(req.txid);
|
|
58
|
+
if (r.merklePath) {
|
|
59
|
+
// 1. set the req status to 'unmined'
|
|
60
|
+
req.status = 'unmined';
|
|
61
|
+
req.attempts = 0;
|
|
62
|
+
log += `unfailed. status is now 'unmined'\n`;
|
|
63
|
+
log += await this.unfailReq(req, indent + 2);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
req.status = 'invalid';
|
|
67
|
+
log += `returned to status 'invalid'\n`;
|
|
68
|
+
}
|
|
69
|
+
await req.updateStorageDynamicProperties(this.storage);
|
|
70
|
+
}
|
|
71
|
+
return { log };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 2. set the referenced txs to 'unproven'
|
|
75
|
+
* 3. determine if any inputs match user's existing outputs and if so update spentBy and spendable of those outputs.
|
|
76
|
+
* 4. set the txs outputs to spendable
|
|
77
|
+
*
|
|
78
|
+
* @param req
|
|
79
|
+
* @param indent
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
async unfailReq(req, indent) {
|
|
83
|
+
let log = '';
|
|
84
|
+
const storage = this.storage;
|
|
85
|
+
const services = this.monitor.services;
|
|
86
|
+
const txIds = req.notify.transactionIds || [];
|
|
87
|
+
for (const id of txIds) {
|
|
88
|
+
const bsvtx = sdk_1.Transaction.fromBinary(req.rawTx);
|
|
89
|
+
await this.storage.runAsStorageProvider(async (sp) => {
|
|
90
|
+
const spk = sp;
|
|
91
|
+
const tx = await sp.findTransactionById(id, undefined, true);
|
|
92
|
+
if (!tx) {
|
|
93
|
+
log += ' '.repeat(indent) + `transaction ${id} was not found\n`;
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
await sp.updateTransaction(tx.transactionId, { status: 'unproven' });
|
|
97
|
+
tx.status = 'unproven';
|
|
98
|
+
log += ' '.repeat(indent) + `transaction ${id} status is now 'unproven'\n`;
|
|
99
|
+
let vin = -1;
|
|
100
|
+
for (const bi of bsvtx.inputs) {
|
|
101
|
+
vin++;
|
|
102
|
+
const is = await sp.findOutputs({
|
|
103
|
+
partial: { userId: tx.userId, txid: bi.sourceTXID, vout: bi.sourceOutputIndex }
|
|
104
|
+
});
|
|
105
|
+
if (is.length !== 1) {
|
|
106
|
+
log += ' '.repeat(indent + 2) + `input ${vin} not matched to user's outputs\n`;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
const oi = is[0];
|
|
110
|
+
log +=
|
|
111
|
+
' '.repeat(indent + 2) +
|
|
112
|
+
`input ${vin} matched to output ${oi.outputId} updated spentBy ${tx.transactionId}\n`;
|
|
113
|
+
await sp.updateOutput(oi.outputId, { spendable: false, spentBy: tx.transactionId });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const outputs = await sp.findOutputs({ partial: { userId: tx.userId, transactionId: tx.transactionId } });
|
|
117
|
+
for (const o of outputs) {
|
|
118
|
+
await spk.validateOutputScript(o);
|
|
119
|
+
if (!o.lockingScript) {
|
|
120
|
+
log += ' '.repeat(indent + 2) + `output ${o.outputId} does not have a valid locking script\n`;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const or = await services.getUtxoStatus(sdk_1.Utils.toHex(o.lockingScript));
|
|
124
|
+
const isUtxo = or.isUtxo === true;
|
|
125
|
+
if (isUtxo !== o.spendable) {
|
|
126
|
+
log += ' '.repeat(indent + 2) + `output ${o.outputId} set to ${isUtxo ? 'spendable' : 'spent'}\n`;
|
|
127
|
+
await sp.updateOutput(o.outputId, { spendable: isUtxo });
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
log += ' '.repeat(indent + 2) + `output ${o.outputId} unchanged\n`;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return log;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.TaskUnFail = TaskUnFail;
|
|
140
|
+
TaskUnFail.taskName = 'UnFail';
|
|
141
|
+
/**
|
|
142
|
+
* Set to true to trigger running this task
|
|
143
|
+
*/
|
|
144
|
+
TaskUnFail.checkNow = false;
|
|
145
|
+
//# sourceMappingURL=TaskUnFail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskUnFail.js","sourceRoot":"","sources":["../../../../../src/monitor/tasks/TaskUnFail.ts"],"names":[],"mappings":"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"}
|
package/out/src/sdk/types.d.ts
CHANGED
|
@@ -45,8 +45,10 @@ export type Chain = 'main' | 'test';
|
|
|
45
45
|
* invalid: rawTx is structuraly invalid or was rejected by the network. Will never be re-attempted or completed.
|
|
46
46
|
*
|
|
47
47
|
* completed: proven_txs record added, and notifications are complete.
|
|
48
|
+
*
|
|
49
|
+
* unfail: asigned to force review of a currently invalid ProvenTxReq.
|
|
48
50
|
*/
|
|
49
|
-
export type ProvenTxReqStatus = 'sending' | 'unsent' | 'nosend' | 'unknown' | 'nonfinal' | 'unprocessed' | 'unmined' | 'callback' | 'unconfirmed' | 'completed' | 'invalid' | 'doubleSpend';
|
|
51
|
+
export type ProvenTxReqStatus = 'sending' | 'unsent' | 'nosend' | 'unknown' | 'nonfinal' | 'unprocessed' | 'unmined' | 'callback' | 'unconfirmed' | 'completed' | 'invalid' | 'doubleSpend' | 'unfail';
|
|
50
52
|
export declare const ProvenTxReqTerminalStatus: ProvenTxReqStatus[];
|
|
51
53
|
export declare const ProvenTxReqNonTerminalStatus: ProvenTxReqStatus[];
|
|
52
54
|
export type TransactionStatus = 'completed' | 'failed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/sdk/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/sdk/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,SAAS,GACT,UAAU,GACV,aAAa,GACb,WAAW,GACX,SAAS,GACT,aAAa,GACb,QAAQ,CAAA;AAEZ,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,EAA4C,CAAA;AAErG,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,EAU3D,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvH,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,IAAI,CAAA;IAChB,UAAU,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACvE,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAChD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC3C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,qEAAqE,CAAA;AAErG;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,qEAAqE,CAAA;AAErG;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,qEAAqE,CAAA;AAE7G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD"}
|
package/out/src/sdk/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sdk/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sdk/types.ts"],"names":[],"mappings":";;;AA8JA,4BAEC;AA5FY,QAAA,yBAAyB,GAAwB,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;AAExF,QAAA,4BAA4B,GAAwB;IAC/D,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,aAAa;IACb,SAAS;IACT,UAAU;IACV,aAAa;CACd,CAAA;AA8CD;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,kEAAkE,CAAA;AAErG;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,kEAAkE,CAAA;AAErG;;;;;;;;GAQG;AACU,QAAA,2BAA2B,GAAG,kEAAkE,CAAA;AAE7G;;;GAGG;AACH,SAAgB,QAAQ,CAAC,MAAc;IACrC,OAAO,CAAC,2BAAmB,EAAE,2BAAmB,EAAE,mCAA2B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACrG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echangeRates.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"echangeRates.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC,wBAAsB,kCAAkC,CACtD,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,GAAG,CAAC,qBAAqB,GACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAiBhC;AAED,wBAAsB,sBAAsB,CAC1C,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,GAAG,CAAC,qBAAqB,GACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAgChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAcjF"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.updateChaintracksFiatExchangeRates = updateChaintracksFiatExchangeRates;
|
|
7
4
|
exports.updateExchangeratesapi = updateExchangeratesapi;
|
|
8
5
|
exports.getExchangeRatesIo = getExchangeRatesIo;
|
|
9
6
|
const index_client_1 = require("../../index.client");
|
|
10
|
-
const axios_1 = __importDefault(require("axios"));
|
|
11
7
|
async function updateChaintracksFiatExchangeRates(targetCurrencies, options) {
|
|
12
8
|
const url = options.chaintracksFiatExchangeRatesUrl;
|
|
13
9
|
if (!url)
|
|
14
10
|
throw new index_client_1.sdk.WERR_MISSING_PARAMETER('options.chaintracksFiatExchangeRatesUrl');
|
|
15
|
-
const
|
|
11
|
+
const response = await fetch(url);
|
|
12
|
+
const data = await response.json();
|
|
13
|
+
const r = { status: response.status, data };
|
|
16
14
|
if (r.status !== 200 || !r.data || r.data.status != 'success') {
|
|
17
15
|
throw new index_client_1.sdk.WERR_BAD_REQUEST(`${url} returned status ${r.status}`);
|
|
18
16
|
}
|
|
@@ -48,7 +46,9 @@ async function updateExchangeratesapi(targetCurrencies, options) {
|
|
|
48
46
|
}
|
|
49
47
|
async function getExchangeRatesIo(key) {
|
|
50
48
|
const url = `http://api.exchangeratesapi.io/v1/latest?access_key=${key}`;
|
|
51
|
-
const
|
|
49
|
+
const response = await fetch(url);
|
|
50
|
+
const data = await response.json();
|
|
51
|
+
const r = { status: response.status, data };
|
|
52
52
|
if (r.status !== 200 || !r.data) {
|
|
53
53
|
throw new index_client_1.sdk.WERR_BAD_REQUEST(`getExchangeRatesIo returned status ${r.status}`);
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echangeRates.js","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"echangeRates.js","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { ListActionsResult, ListOutputsResult } from '@bsv/sdk';
|
|
2
|
+
import { sdk } from '../index.all';
|
|
3
|
+
import { TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableMonitorEvent, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableOutputX, TableProvenTx, TableProvenTxReq, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from './index.all';
|
|
4
|
+
import { Knex } from 'knex';
|
|
5
|
+
import { StorageProvider, StorageProviderOptions } from './StorageProvider';
|
|
6
|
+
import { DBType } from './StorageReader';
|
|
7
|
+
export interface StorageKnexOptions extends StorageProviderOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Knex database interface initialized with valid connection configuration.
|
|
10
|
+
*/
|
|
11
|
+
knex: Knex;
|
|
12
|
+
}
|
|
13
|
+
export declare class StorageKnex extends StorageProvider implements sdk.WalletStorageProvider {
|
|
14
|
+
knex: Knex;
|
|
15
|
+
constructor(options: StorageKnexOptions);
|
|
16
|
+
readSettings(): Promise<TableSettings>;
|
|
17
|
+
getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>;
|
|
18
|
+
dbTypeSubstring(source: string, fromOffset: number, forLength?: number): string;
|
|
19
|
+
getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: sdk.TrxToken): Promise<number[] | undefined>;
|
|
20
|
+
getProvenTxsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
|
|
21
|
+
getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTx[]>;
|
|
22
|
+
getProvenTxReqsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
|
|
23
|
+
getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>;
|
|
24
|
+
getTxLabelMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
|
|
25
|
+
getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>;
|
|
26
|
+
getOutputTagMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder;
|
|
27
|
+
getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>;
|
|
28
|
+
listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>;
|
|
29
|
+
listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>;
|
|
30
|
+
insertProvenTx(tx: TableProvenTx, trx?: sdk.TrxToken): Promise<number>;
|
|
31
|
+
insertProvenTxReq(tx: TableProvenTxReq, trx?: sdk.TrxToken): Promise<number>;
|
|
32
|
+
insertUser(user: TableUser, trx?: sdk.TrxToken): Promise<number>;
|
|
33
|
+
insertCertificateAuth(auth: sdk.AuthId, certificate: TableCertificateX): Promise<number>;
|
|
34
|
+
insertCertificate(certificate: TableCertificateX, trx?: sdk.TrxToken): Promise<number>;
|
|
35
|
+
insertCertificateField(certificateField: TableCertificateField, trx?: sdk.TrxToken): Promise<void>;
|
|
36
|
+
insertOutputBasket(basket: TableOutputBasket, trx?: sdk.TrxToken): Promise<number>;
|
|
37
|
+
insertTransaction(tx: TableTransaction, trx?: sdk.TrxToken): Promise<number>;
|
|
38
|
+
insertCommission(commission: TableCommission, trx?: sdk.TrxToken): Promise<number>;
|
|
39
|
+
insertOutput(output: TableOutput, trx?: sdk.TrxToken): Promise<number>;
|
|
40
|
+
insertOutputTag(tag: TableOutputTag, trx?: sdk.TrxToken): Promise<number>;
|
|
41
|
+
insertOutputTagMap(tagMap: TableOutputTagMap, trx?: sdk.TrxToken): Promise<void>;
|
|
42
|
+
insertTxLabel(label: TableTxLabel, trx?: sdk.TrxToken): Promise<number>;
|
|
43
|
+
insertTxLabelMap(labelMap: TableTxLabelMap, trx?: sdk.TrxToken): Promise<void>;
|
|
44
|
+
insertMonitorEvent(event: TableMonitorEvent, trx?: sdk.TrxToken): Promise<number>;
|
|
45
|
+
insertSyncState(syncState: TableSyncState, trx?: sdk.TrxToken): Promise<number>;
|
|
46
|
+
updateCertificateField(certificateId: number, fieldName: string, update: Partial<TableCertificateField>, trx?: sdk.TrxToken): Promise<number>;
|
|
47
|
+
updateCertificate(id: number, update: Partial<TableCertificate>, trx?: sdk.TrxToken): Promise<number>;
|
|
48
|
+
updateCommission(id: number, update: Partial<TableCommission>, trx?: sdk.TrxToken): Promise<number>;
|
|
49
|
+
updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: sdk.TrxToken): Promise<number>;
|
|
50
|
+
updateOutput(id: number, update: Partial<TableOutput>, trx?: sdk.TrxToken): Promise<number>;
|
|
51
|
+
updateOutputTagMap(outputId: number, tagId: number, update: Partial<TableOutputTagMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
52
|
+
updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: sdk.TrxToken): Promise<number>;
|
|
53
|
+
updateProvenTxReq(id: number | number[], update: Partial<TableProvenTxReq>, trx?: sdk.TrxToken): Promise<number>;
|
|
54
|
+
updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: sdk.TrxToken): Promise<number>;
|
|
55
|
+
updateSyncState(id: number, update: Partial<TableSyncState>, trx?: sdk.TrxToken): Promise<number>;
|
|
56
|
+
updateTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: sdk.TrxToken): Promise<number>;
|
|
57
|
+
updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: sdk.TrxToken): Promise<number>;
|
|
58
|
+
updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: sdk.TrxToken): Promise<number>;
|
|
59
|
+
updateUser(id: number, update: Partial<TableUser>, trx?: sdk.TrxToken): Promise<number>;
|
|
60
|
+
updateMonitorEvent(id: number, update: Partial<TableMonitorEvent>, trx?: sdk.TrxToken): Promise<number>;
|
|
61
|
+
setupQuery<T extends object>(table: string, args: sdk.FindPartialSincePagedArgs<T>): Knex.QueryBuilder;
|
|
62
|
+
findCertificateFieldsQuery(args: sdk.FindCertificateFieldsArgs): Knex.QueryBuilder;
|
|
63
|
+
findCertificatesQuery(args: sdk.FindCertificatesArgs): Knex.QueryBuilder;
|
|
64
|
+
findCommissionsQuery(args: sdk.FindCommissionsArgs): Knex.QueryBuilder;
|
|
65
|
+
findOutputBasketsQuery(args: sdk.FindOutputBasketsArgs): Knex.QueryBuilder;
|
|
66
|
+
findOutputsQuery(args: sdk.FindOutputsArgs, count?: boolean): Knex.QueryBuilder;
|
|
67
|
+
findOutputTagMapsQuery(args: sdk.FindOutputTagMapsArgs): Knex.QueryBuilder;
|
|
68
|
+
findOutputTagsQuery(args: sdk.FindOutputTagsArgs): Knex.QueryBuilder;
|
|
69
|
+
findProvenTxReqsQuery(args: sdk.FindProvenTxReqsArgs): Knex.QueryBuilder;
|
|
70
|
+
findProvenTxsQuery(args: sdk.FindProvenTxsArgs): Knex.QueryBuilder;
|
|
71
|
+
findSyncStatesQuery(args: sdk.FindSyncStatesArgs): Knex.QueryBuilder;
|
|
72
|
+
findTransactionsQuery(args: sdk.FindTransactionsArgs, count?: boolean): Knex.QueryBuilder;
|
|
73
|
+
findTxLabelMapsQuery(args: sdk.FindTxLabelMapsArgs): Knex.QueryBuilder;
|
|
74
|
+
findTxLabelsQuery(args: sdk.FindTxLabelsArgs): Knex.QueryBuilder;
|
|
75
|
+
findUsersQuery(args: sdk.FindUsersArgs): Knex.QueryBuilder;
|
|
76
|
+
findMonitorEventsQuery(args: sdk.FindMonitorEventsArgs): Knex.QueryBuilder;
|
|
77
|
+
findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]>;
|
|
78
|
+
findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
|
|
79
|
+
findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<TableOutput[]>;
|
|
80
|
+
findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<TableCertificateField[]>;
|
|
81
|
+
findCertificates(args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]>;
|
|
82
|
+
findCommissions(args: sdk.FindCommissionsArgs): Promise<TableCommission[]>;
|
|
83
|
+
findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
|
|
84
|
+
findOutputs(args: sdk.FindOutputsArgs): Promise<TableOutput[]>;
|
|
85
|
+
findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>;
|
|
86
|
+
findOutputTags(args: sdk.FindOutputTagsArgs): Promise<TableOutputTag[]>;
|
|
87
|
+
findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
|
|
88
|
+
findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<TableProvenTx[]>;
|
|
89
|
+
findSyncStates(args: sdk.FindSyncStatesArgs): Promise<TableSyncState[]>;
|
|
90
|
+
findTransactions(args: sdk.FindTransactionsArgs): Promise<TableTransaction[]>;
|
|
91
|
+
findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
|
|
92
|
+
findTxLabels(args: sdk.FindTxLabelsArgs): Promise<TableTxLabel[]>;
|
|
93
|
+
findUsers(args: sdk.FindUsersArgs): Promise<TableUser[]>;
|
|
94
|
+
findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<TableMonitorEvent[]>;
|
|
95
|
+
getCount<T extends object>(q: Knex.QueryBuilder<T, T[]>): Promise<number>;
|
|
96
|
+
countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>;
|
|
97
|
+
countCertificates(args: sdk.FindCertificatesArgs): Promise<number>;
|
|
98
|
+
countCommissions(args: sdk.FindCommissionsArgs): Promise<number>;
|
|
99
|
+
countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>;
|
|
100
|
+
countOutputs(args: sdk.FindOutputsArgs): Promise<number>;
|
|
101
|
+
countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>;
|
|
102
|
+
countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>;
|
|
103
|
+
countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>;
|
|
104
|
+
countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>;
|
|
105
|
+
countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>;
|
|
106
|
+
countTransactions(args: sdk.FindTransactionsArgs): Promise<number>;
|
|
107
|
+
countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>;
|
|
108
|
+
countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>;
|
|
109
|
+
countUsers(args: sdk.FindUsersArgs): Promise<number>;
|
|
110
|
+
countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>;
|
|
111
|
+
destroy(): Promise<void>;
|
|
112
|
+
migrate(storageName: string, storageIdentityKey: string): Promise<string>;
|
|
113
|
+
dropAllData(): Promise<void>;
|
|
114
|
+
transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
|
|
115
|
+
/**
|
|
116
|
+
* Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
|
|
117
|
+
* or a Knex.Transaction as appropriate.
|
|
118
|
+
*/
|
|
119
|
+
toDb(trx?: sdk.TrxToken): Knex<any, any[]>;
|
|
120
|
+
validateRawTransaction(t: TableTransaction, trx?: sdk.TrxToken): Promise<void>;
|
|
121
|
+
validateOutputScript(o: TableOutput, trx?: sdk.TrxToken): Promise<void>;
|
|
122
|
+
_verifiedReadyForDatabaseAccess: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Make sure database is ready for access:
|
|
125
|
+
*
|
|
126
|
+
* - dateScheme is known
|
|
127
|
+
* - foreign key constraints are enabled
|
|
128
|
+
*
|
|
129
|
+
* @param trx
|
|
130
|
+
*/
|
|
131
|
+
verifyReadyForDatabaseAccess(trx?: sdk.TrxToken): Promise<DBType>;
|
|
132
|
+
/**
|
|
133
|
+
* Helper to force uniform behavior across database engines.
|
|
134
|
+
* Use to process the update template for entities being updated.
|
|
135
|
+
*/
|
|
136
|
+
validatePartialForUpdate<T extends sdk.EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>;
|
|
137
|
+
/**
|
|
138
|
+
* Helper to force uniform behavior across database engines.
|
|
139
|
+
* Use to process new entities being inserted into the database.
|
|
140
|
+
*/
|
|
141
|
+
validateEntityForInsert<T extends sdk.EntityTimeStamp>(entity: T, trx?: sdk.TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>;
|
|
142
|
+
getLabelsForTransactionId(transactionId?: number, trx?: sdk.TrxToken): Promise<TableTxLabel[]>;
|
|
143
|
+
extendOutput(o: TableOutput, includeBasket?: boolean, includeTags?: boolean, trx?: sdk.TrxToken): Promise<TableOutputX>;
|
|
144
|
+
getTagsForOutputId(outputId: number, trx?: sdk.TrxToken): Promise<TableOutputTag[]>;
|
|
145
|
+
purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
|
|
146
|
+
reviewStatus(args: {
|
|
147
|
+
agedLimit: Date;
|
|
148
|
+
trx?: sdk.TrxToken;
|
|
149
|
+
}): Promise<{
|
|
150
|
+
log: string;
|
|
151
|
+
}>;
|
|
152
|
+
/**
|
|
153
|
+
* Finds closest matching available change output to use as input for new transaction.
|
|
154
|
+
*
|
|
155
|
+
* Transactionally allocate the output such that
|
|
156
|
+
*/
|
|
157
|
+
countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
|
|
158
|
+
/**
|
|
159
|
+
* Finds closest matching available change output to use as input for new transaction.
|
|
160
|
+
*
|
|
161
|
+
* Transactionally allocate the output such that
|
|
162
|
+
*/
|
|
163
|
+
allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<TableOutput | undefined>;
|
|
164
|
+
/**
|
|
165
|
+
* Helper to force uniform behavior across database engines.
|
|
166
|
+
* Use to process all individual records with time stamps retreived from database.
|
|
167
|
+
*/
|
|
168
|
+
validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T;
|
|
169
|
+
/**
|
|
170
|
+
* Helper to force uniform behavior across database engines.
|
|
171
|
+
* Use to process all arrays of records with time stamps retreived from database.
|
|
172
|
+
* @returns input `entities` array with contained values validated.
|
|
173
|
+
*/
|
|
174
|
+
validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[];
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=StorageKnex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageKnex.d.ts","sourceRoot":"","sources":["../../../../src/storage/StorageKnex.ts"],"names":[],"mappings":"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"}
|