@bsv/wallet-toolbox 1.3.23 → 1.3.24
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/docs/client.md +99 -59
- package/docs/storage.md +55 -75
- package/docs/wallet.md +99 -59
- package/mobile/out/src/Wallet.d.ts +1 -1
- package/mobile/out/src/Wallet.d.ts.map +1 -1
- package/mobile/out/src/Wallet.js +16 -6
- package/mobile/out/src/Wallet.js.map +1 -1
- package/mobile/out/src/monitor/Monitor.d.ts.map +1 -1
- package/mobile/out/src/monitor/Monitor.js +2 -4
- package/mobile/out/src/monitor/Monitor.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts +1 -1
- package/mobile/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts +14 -1
- package/mobile/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.js +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.js.map +1 -1
- package/mobile/out/src/signer/methods/internalizeAction.d.ts +2 -2
- package/mobile/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/mobile/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/mobile/out/src/storage/StorageProvider.d.ts +5 -6
- package/mobile/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/mobile/out/src/storage/StorageProvider.js +75 -101
- package/mobile/out/src/storage/StorageProvider.js.map +1 -1
- package/mobile/out/src/storage/WalletStorageManager.d.ts +2 -2
- package/mobile/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/mobile/out/src/storage/methods/generateChange.d.ts +0 -24
- package/mobile/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/mobile/out/src/storage/methods/generateChange.js +2 -50
- package/mobile/out/src/storage/methods/generateChange.js.map +1 -1
- package/mobile/out/src/storage/methods/getBeefForTransaction.js +3 -2
- package/mobile/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/mobile/out/src/storage/methods/internalizeAction.d.ts +2 -10
- package/mobile/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/mobile/out/src/storage/methods/internalizeAction.js +16 -1
- package/mobile/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/mobile/out/src/storage/methods/processAction.d.ts +16 -1
- package/mobile/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/mobile/out/src/storage/methods/processAction.js +4 -1
- package/mobile/out/src/storage/methods/processAction.js.map +1 -1
- package/mobile/out/src/storage/methods/utils.d.ts +25 -0
- package/mobile/out/src/storage/methods/utils.d.ts.map +1 -0
- package/mobile/out/src/storage/methods/utils.js +53 -0
- package/mobile/out/src/storage/methods/utils.js.map +1 -0
- package/mobile/out/src/storage/remoting/StorageClient.d.ts +2 -2
- package/mobile/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/mobile/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/mobile/out/src/storage/remoting/StorageMobile.d.ts +2 -2
- package/mobile/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/mobile/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/mobile/out/src/utility/utilityHelpers.d.ts +1 -1
- package/mobile/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/mobile/out/src/utility/utilityHelpers.js +3 -3
- package/mobile/out/src/utility/utilityHelpers.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/Wallet.d.ts +1 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +16 -6
- package/out/src/Wallet.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +2 -4
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +14 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.js +1 -1
- package/out/src/services/chaintracker/chaintracks/index.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +144 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +463 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
- package/out/src/signer/methods/internalizeAction.d.ts +2 -2
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +5 -6
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +75 -101
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +2 -2
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/__test/StorageIdb.test.js +1 -0
- package/out/src/storage/__test/StorageIdb.test.js.map +1 -1
- package/out/src/storage/__test/adminStats.man.test.js +2 -0
- package/out/src/storage/__test/adminStats.man.test.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +0 -24
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +2 -50
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +3 -2
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +2 -10
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +16 -1
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts +16 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +4 -1
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/utils.Buffer.d.ts +21 -0
- package/out/src/storage/methods/utils.Buffer.d.ts.map +1 -0
- package/out/src/storage/methods/utils.Buffer.js +37 -0
- package/out/src/storage/methods/utils.Buffer.js.map +1 -0
- package/out/src/storage/methods/utils.d.ts +25 -0
- package/out/src/storage/methods/utils.d.ts.map +1 -0
- package/out/src/storage/methods/utils.js +53 -0
- package/out/src/storage/methods/utils.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +2 -2
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +2 -2
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/utility/Format.d.ts +14 -0
- package/out/src/utility/Format.d.ts.map +1 -0
- package/out/src/utility/Format.js +167 -0
- package/out/src/utility/Format.js.map +1 -0
- package/out/src/utility/utilityHelpers.d.ts +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +3 -3
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/test/Wallet/support/operations.man.test.js +18 -138
- package/out/test/Wallet/support/operations.man.test.js.map +1 -1
- package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts +2 -0
- package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts.map +1 -0
- package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js +385 -0
- package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js.map +1 -0
- package/out/test/utils/TestUtilsWalletStorage.d.ts +5 -0
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.js +20 -0
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/Wallet.ts +25 -10
- package/src/monitor/Monitor.ts +2 -4
- package/src/monitor/tasks/TaskNewHeader.ts +1 -1
- package/src/sdk/WalletStorage.interfaces.ts +16 -1
- package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +1 -1
- package/src/services/chaintracker/chaintracks/index.ts +1 -1
- package/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts +490 -0
- package/src/services/chaintracker/chaintracks/util/dirtyHashes.ts +29 -0
- package/src/signer/methods/internalizeAction.ts +2 -2
- package/src/storage/StorageProvider.ts +43 -31
- package/src/storage/WalletStorageManager.ts +1 -1
- package/src/storage/__test/StorageIdb.test.ts +1 -0
- package/src/storage/__test/adminStats.man.test.ts +2 -0
- package/src/storage/methods/generateChange.ts +1 -54
- package/src/storage/methods/getBeefForTransaction.ts +10 -2
- package/src/storage/methods/internalizeAction.ts +22 -14
- package/src/storage/methods/processAction.ts +5 -2
- package/src/storage/methods/utils.Buffer.ts +33 -0
- package/src/storage/methods/utils.ts +56 -0
- package/src/storage/remoting/StorageClient.ts +2 -2
- package/src/storage/remoting/StorageMobile.ts +2 -2
- package/src/utility/Format.ts +133 -0
- package/src/utility/utilityHelpers.ts +2 -2
- package/test/Wallet/support/operations.man.test.ts +20 -125
- package/test/Wallet/support/reqErrorReview.2025.05.06.man.test.ts +359 -0
- package/test/utils/TestUtilsWalletStorage.ts +23 -0
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +0 -1
- package/mobile/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +0 -1
- /package/mobile/out/src/services/chaintracker/chaintracks/{BlockHeaderApi.d.ts → Api/BlockHeaderApi.d.ts} +0 -0
- /package/mobile/out/src/services/chaintracker/chaintracks/{BlockHeaderApi.js → Api/BlockHeaderApi.js} +0 -0
- /package/out/src/services/chaintracker/chaintracks/{BlockHeaderApi.d.ts → Api/BlockHeaderApi.d.ts} +0 -0
- /package/out/src/services/chaintracker/chaintracks/{BlockHeaderApi.js → Api/BlockHeaderApi.js} +0 -0
- /package/src/services/chaintracker/chaintracks/{BlockHeaderApi.ts → Api/BlockHeaderApi.ts} +0 -0
|
@@ -1,59 +1,17 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const sdk_1 = require("@bsv/sdk");
|
|
37
3
|
const src_1 = require("../../../src");
|
|
38
4
|
const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
dotenv.config();
|
|
42
|
-
const chain = 'main';
|
|
43
|
-
const options = {
|
|
44
|
-
setActiveClient: true,
|
|
45
|
-
useMySQLConnectionForClient: true,
|
|
46
|
-
useTestIdentityKey: false,
|
|
47
|
-
useIdentityKey2: false
|
|
48
|
-
};
|
|
5
|
+
const sdk_1 = require("../../../src/sdk");
|
|
6
|
+
const Format_1 = require("../../../src/utility/Format");
|
|
49
7
|
describe('operations.man tests', () => {
|
|
50
8
|
jest.setTimeout(99999999);
|
|
51
9
|
test('0 review and release all production invalid change utxos', async () => {
|
|
52
|
-
const { env, storage } = await createMainReviewSetup();
|
|
10
|
+
const { env, storage } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
53
11
|
const users = await storage.findUsers({ partial: {} });
|
|
54
12
|
const withInvalid = {};
|
|
55
13
|
const vargs = {
|
|
56
|
-
basket:
|
|
14
|
+
basket: sdk_1.specOpInvalidChange,
|
|
57
15
|
tags: ['release'],
|
|
58
16
|
tagQueryMode: 'all',
|
|
59
17
|
includeLockingScripts: false,
|
|
@@ -85,44 +43,9 @@ describe('operations.man tests', () => {
|
|
|
85
43
|
console.log(log || 'Found zero invalid change outputs.');
|
|
86
44
|
await storage.destroy();
|
|
87
45
|
});
|
|
88
|
-
test.skip('0a review all spendable outputs for userId', async () => {
|
|
89
|
-
const { env, storage } = await createMainReviewSetup();
|
|
90
|
-
const users = await storage.findUsers({ partial: {} });
|
|
91
|
-
const withInvalid = {};
|
|
92
|
-
const vargs = {
|
|
93
|
-
basket: sdk_2.specOpInvalidChange,
|
|
94
|
-
tags: ['release', 'all'],
|
|
95
|
-
tagQueryMode: 'all',
|
|
96
|
-
includeLockingScripts: false,
|
|
97
|
-
includeTransactions: false,
|
|
98
|
-
includeCustomInstructions: false,
|
|
99
|
-
includeTags: false,
|
|
100
|
-
includeLabels: false,
|
|
101
|
-
limit: 0,
|
|
102
|
-
offset: 0,
|
|
103
|
-
seekPermission: false,
|
|
104
|
-
knownTxids: []
|
|
105
|
-
};
|
|
106
|
-
let log = '';
|
|
107
|
-
for (const user of users) {
|
|
108
|
-
const { userId } = user;
|
|
109
|
-
const auth = { userId, identityKey: '' };
|
|
110
|
-
let r = await storage.listOutputs(auth, vargs);
|
|
111
|
-
if (r.totalOutputs > 0) {
|
|
112
|
-
const total = r.outputs.reduce((s, o) => (s += o.satoshis), 0);
|
|
113
|
-
log += `userId ${userId}: ${r.totalOutputs} unspendable utxos, total ${total}, ${user.identityKey}\n`;
|
|
114
|
-
for (const o of r.outputs) {
|
|
115
|
-
log += ` ${o.outpoint} ${o.satoshis}\n`;
|
|
116
|
-
}
|
|
117
|
-
withInvalid[userId] = { user, outputs: r.outputs, total };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
console.log(log || 'Found zero invalid change outputs.');
|
|
121
|
-
await storage.destroy();
|
|
122
|
-
});
|
|
123
46
|
test('1 review and unfail false doubleSpends', async () => {
|
|
124
|
-
const { env, storage, services } = await createMainReviewSetup();
|
|
125
|
-
let offset =
|
|
47
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
48
|
+
let offset = 2700;
|
|
126
49
|
const limit = 100;
|
|
127
50
|
let allUnfails = [];
|
|
128
51
|
for (;;) {
|
|
@@ -148,8 +71,8 @@ describe('operations.man tests', () => {
|
|
|
148
71
|
await storage.destroy();
|
|
149
72
|
});
|
|
150
73
|
test('2 review and unfail false invalids', async () => {
|
|
151
|
-
const { env, storage, services } = await createMainReviewSetup();
|
|
152
|
-
let offset =
|
|
74
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
75
|
+
let offset = 800;
|
|
153
76
|
const limit = 100;
|
|
154
77
|
let allUnfails = [];
|
|
155
78
|
for (;;) {
|
|
@@ -176,9 +99,11 @@ describe('operations.man tests', () => {
|
|
|
176
99
|
}
|
|
177
100
|
await storage.destroy();
|
|
178
101
|
});
|
|
179
|
-
test.skip('
|
|
180
|
-
const { env, storage, services } = await createMainReviewSetup();
|
|
102
|
+
test.skip('10 re-internalize failed WUI exports', async () => {
|
|
103
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
104
|
+
// From this user
|
|
181
105
|
const user0 = (0, src_1.verifyOne)(await storage.findUsers({ partial: { userId: 2 } }));
|
|
106
|
+
// To these users
|
|
182
107
|
const users = await storage.findUsers({ partial: { userId: 141 } }); // 111, 141
|
|
183
108
|
for (const user of users) {
|
|
184
109
|
const { userId, identityKey } = user;
|
|
@@ -218,19 +143,20 @@ describe('operations.man tests', () => {
|
|
|
218
143
|
*/
|
|
219
144
|
await storage.destroy();
|
|
220
145
|
});
|
|
221
|
-
test('
|
|
222
|
-
const
|
|
146
|
+
test.skip('11 review recent transaction change use for specific userId', async () => {
|
|
147
|
+
const userId = 311;
|
|
148
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
223
149
|
const countTxs = await storage.countTransactions({
|
|
224
|
-
partial: { userId
|
|
150
|
+
partial: { userId },
|
|
225
151
|
status: ['completed', 'unproven', 'failed']
|
|
226
152
|
});
|
|
227
153
|
const txs = await storage.findTransactions({
|
|
228
|
-
partial: { userId
|
|
154
|
+
partial: { userId },
|
|
229
155
|
status: ['unproven', 'completed', 'failed'],
|
|
230
156
|
paged: { limit: 100, offset: Math.max(0, countTxs - 100) }
|
|
231
157
|
});
|
|
232
158
|
for (const tx of txs) {
|
|
233
|
-
const ls = await
|
|
159
|
+
const ls = await Format_1.Format.toLogStringTableTransaction(tx, storage);
|
|
234
160
|
console.log(ls);
|
|
235
161
|
}
|
|
236
162
|
const countReqs = await storage.countProvenTxReqs({ partial: {}, status: ['completed', 'unmined'] });
|
|
@@ -242,50 +168,4 @@ describe('operations.man tests', () => {
|
|
|
242
168
|
await storage.destroy();
|
|
243
169
|
});
|
|
244
170
|
});
|
|
245
|
-
async function createMainReviewSetup() {
|
|
246
|
-
const env = TestUtilsWalletStorage_1._tu.getEnv('main');
|
|
247
|
-
const knex = src_1.Setup.createMySQLKnex(process.env.MAIN_CLOUD_MYSQL_CONNECTION);
|
|
248
|
-
const storage = new src_1.StorageKnex({
|
|
249
|
-
chain: env.chain,
|
|
250
|
-
knex: knex,
|
|
251
|
-
commissionSatoshis: 0,
|
|
252
|
-
commissionPubKeyHex: undefined,
|
|
253
|
-
feeModel: { model: 'sat/kb', value: 1 }
|
|
254
|
-
});
|
|
255
|
-
const servicesOptions = src_1.Services.createDefaultOptions(env.chain);
|
|
256
|
-
if (env.whatsonchainApiKey)
|
|
257
|
-
servicesOptions.whatsOnChainApiKey = env.whatsonchainApiKey;
|
|
258
|
-
const services = new src_1.Services(servicesOptions);
|
|
259
|
-
storage.setServices(services);
|
|
260
|
-
await storage.makeAvailable();
|
|
261
|
-
return { env, storage, services };
|
|
262
|
-
}
|
|
263
|
-
async function toLogString(tx, storage) {
|
|
264
|
-
const rawTx = await storage.getRawTxOfKnownValidTransaction(tx.txid);
|
|
265
|
-
const btx = sdk_1.Transaction.fromBinary(rawTx);
|
|
266
|
-
let log = `tx ${tx.txid} ${tx.status} s:${tx.satoshis} uid:${tx.userId} tid:${tx.transactionId}\n`;
|
|
267
|
-
for (let i = 0; i < Math.max(btx.inputs.length, btx.outputs.length); i++) {
|
|
268
|
-
let ilog = '';
|
|
269
|
-
let olog = '';
|
|
270
|
-
if (i < btx.inputs.length) {
|
|
271
|
-
const input = btx.inputs[i];
|
|
272
|
-
ilog = `${logTxid(input.sourceTXID)}.${input.sourceOutputIndex}`;
|
|
273
|
-
}
|
|
274
|
-
if (i < btx.outputs.length) {
|
|
275
|
-
const output = btx.outputs[i];
|
|
276
|
-
olog = `${ar('' + output.satoshis, 9)} ${output.lockingScript.toHex().length / 2}`;
|
|
277
|
-
}
|
|
278
|
-
log += `${ar('' + i, 5)} ${al(ilog, 20)} ${olog}\n`;
|
|
279
|
-
}
|
|
280
|
-
return log;
|
|
281
|
-
function logTxid(txid) {
|
|
282
|
-
return `${txid.slice(0, 6)}..${txid.slice(-6)}`;
|
|
283
|
-
}
|
|
284
|
-
function al(v, w) {
|
|
285
|
-
return v.toString().padEnd(w);
|
|
286
|
-
}
|
|
287
|
-
function ar(v, w) {
|
|
288
|
-
return v.toString().padStart(w);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
171
|
//# sourceMappingURL=operations.man.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.man.test.js","sourceRoot":"","sources":["../../../../test/Wallet/support/operations.man.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operations.man.test.js","sourceRoot":"","sources":["../../../../test/Wallet/support/operations.man.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reqErrorReview.2025.05.06.man.test.d.ts","sourceRoot":"","sources":["../../../../test/Wallet/support/reqErrorReview.2025.05.06.man.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,385 @@
|
|
|
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
|
+
const sdk_1 = require("@bsv/sdk");
|
|
37
|
+
const src_1 = require("../../../src");
|
|
38
|
+
const TestUtilsWalletStorage_1 = require("../../utils/TestUtilsWalletStorage");
|
|
39
|
+
const Format_1 = require("../../../src/utility/Format");
|
|
40
|
+
const dotenv = __importStar(require("dotenv"));
|
|
41
|
+
dotenv.config();
|
|
42
|
+
const chain = 'main';
|
|
43
|
+
const options = {
|
|
44
|
+
setActiveClient: true,
|
|
45
|
+
useMySQLConnectionForClient: true,
|
|
46
|
+
useTestIdentityKey: false,
|
|
47
|
+
useIdentityKey2: false
|
|
48
|
+
};
|
|
49
|
+
describe('reqErrorReview.2025.05.06.man tests', () => {
|
|
50
|
+
jest.setTimeout(99999999);
|
|
51
|
+
// OVERWRITES EXISTING FILE CONTENTS!!!!
|
|
52
|
+
test.skip('0 grab reqs history as local sqlite file', async () => {
|
|
53
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
54
|
+
const { activeStorage: s2 } = await TestUtilsWalletStorage_1._tu.createSQLiteTestWallet({
|
|
55
|
+
filePath: `${__dirname}/reqhistory.sqlite`,
|
|
56
|
+
databaseName: 'reqhistory',
|
|
57
|
+
chain: 'main',
|
|
58
|
+
rootKeyHex: '1'.repeat(64),
|
|
59
|
+
dropAll: true
|
|
60
|
+
});
|
|
61
|
+
await s2.makeAvailable();
|
|
62
|
+
const limit = 100;
|
|
63
|
+
let offset = 0;
|
|
64
|
+
for (;;) {
|
|
65
|
+
const r = await storage.knex.raw(`
|
|
66
|
+
select provenTxReqId as id, txid, status, history
|
|
67
|
+
from proven_tx_reqs
|
|
68
|
+
where history is not null
|
|
69
|
+
limit ${limit} offset ${offset}
|
|
70
|
+
`);
|
|
71
|
+
const reqs = r[0];
|
|
72
|
+
for (const req of reqs) {
|
|
73
|
+
const { id, history, status, txid } = req;
|
|
74
|
+
await s2.insertProvenTxReq({
|
|
75
|
+
created_at: new Date(),
|
|
76
|
+
updated_at: new Date(),
|
|
77
|
+
provenTxReqId: id,
|
|
78
|
+
status,
|
|
79
|
+
attempts: 0,
|
|
80
|
+
notified: false,
|
|
81
|
+
txid,
|
|
82
|
+
history,
|
|
83
|
+
notify: '',
|
|
84
|
+
rawTx: []
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
if (reqs.length < limit)
|
|
88
|
+
break;
|
|
89
|
+
offset += limit;
|
|
90
|
+
}
|
|
91
|
+
await s2.destroy();
|
|
92
|
+
await storage.destroy();
|
|
93
|
+
});
|
|
94
|
+
test('1 review reqs history and final outcome', async () => {
|
|
95
|
+
let undouble = [];
|
|
96
|
+
let uninvalid = [];
|
|
97
|
+
let uncompleted = [];
|
|
98
|
+
let deunmined = [];
|
|
99
|
+
let noSuccessCompleted = [];
|
|
100
|
+
let successDouble = [];
|
|
101
|
+
let internalizeDouble = [];
|
|
102
|
+
let successInvalid = [];
|
|
103
|
+
const { activeStorage: storage } = await TestUtilsWalletStorage_1._tu.createSQLiteTestWallet({
|
|
104
|
+
filePath: `${__dirname}/reqhistory.sqlite`,
|
|
105
|
+
databaseName: 'reqhistory',
|
|
106
|
+
chain: 'main',
|
|
107
|
+
rootKeyHex: '1'.repeat(64),
|
|
108
|
+
dropAll: false
|
|
109
|
+
});
|
|
110
|
+
//const { env, storage, services } = await _tu.createMainReviewSetup()
|
|
111
|
+
let limit = 100;
|
|
112
|
+
let offset = 0;
|
|
113
|
+
let aggSum = -1;
|
|
114
|
+
const partial = {};
|
|
115
|
+
let log = '';
|
|
116
|
+
for (;;) {
|
|
117
|
+
const reqs = await storage.findProvenTxReqs({ partial, status: undefined, paged: { limit, offset } });
|
|
118
|
+
for (const reqApi of reqs) {
|
|
119
|
+
if (reqApi.provenTxReqId < 11312)
|
|
120
|
+
continue;
|
|
121
|
+
const r = reviewHistoryNotes(reqApi);
|
|
122
|
+
if (!r)
|
|
123
|
+
continue;
|
|
124
|
+
if (r.isCompleted && r.wasDoubleSpend) {
|
|
125
|
+
undouble.push(reqApi.provenTxReqId);
|
|
126
|
+
let review = '';
|
|
127
|
+
if (r.doubleReview) {
|
|
128
|
+
const rr = r.doubleReview;
|
|
129
|
+
review = `0:${rr.status0},1:${rr.status1},2:${rr.status2},Txs:${rr.competingTxs}`;
|
|
130
|
+
}
|
|
131
|
+
//log += `undouble ${reqApi.provenTxReqId} arc:${r.brArc} woc:${r.brWoC} bit:${r.brBitails} ${review}\n`
|
|
132
|
+
}
|
|
133
|
+
if (r.isCompleted && r.wasInvalid) {
|
|
134
|
+
uninvalid.push(reqApi.provenTxReqId);
|
|
135
|
+
//log += `uninvalid ${reqApi.provenTxReqId} arc:${r.brArc} woc:${r.brWoC} bit:${r.brBitails}\n`
|
|
136
|
+
}
|
|
137
|
+
if ((r.isDoubleSpend || r.isInvalid) && r.wasCompleted) {
|
|
138
|
+
uncompleted.push(reqApi.provenTxReqId);
|
|
139
|
+
}
|
|
140
|
+
if ((r.isDoubleSpend || r.isInvalid) && r.wasUnmined) {
|
|
141
|
+
if (r.wasInternalize)
|
|
142
|
+
internalizeDouble.push(reqApi.provenTxReqId);
|
|
143
|
+
else {
|
|
144
|
+
deunmined.push(reqApi.provenTxReqId);
|
|
145
|
+
log += `deunmined ${reqApi.provenTxReqId} arc:${r.brArc} woc:${r.brWoC} bit:${r.brBitails}\n`;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (r.aggregate && r.aggregate.successCount === 0 && r.isCompleted) {
|
|
149
|
+
noSuccessCompleted.push(reqApi.provenTxReqId);
|
|
150
|
+
}
|
|
151
|
+
if (r.aggregate && r.aggregate.successCount > 0 && r.isDoubleSpend) {
|
|
152
|
+
successDouble.push(reqApi.provenTxReqId);
|
|
153
|
+
}
|
|
154
|
+
if (r.aggregate && r.aggregate.successCount > 0 && r.isInvalid) {
|
|
155
|
+
successInvalid.push(reqApi.provenTxReqId);
|
|
156
|
+
}
|
|
157
|
+
if (r.aggregate && r.aggSum !== aggSum) {
|
|
158
|
+
log += `aggSum changed ${aggSum} to ${r.aggSum} reqId=${reqApi.provenTxReqId}\n`;
|
|
159
|
+
aggSum = r.aggSum;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (reqs.length < limit)
|
|
163
|
+
break;
|
|
164
|
+
offset += limit;
|
|
165
|
+
}
|
|
166
|
+
if (undouble.length > 0)
|
|
167
|
+
log += `undouble: ${JSON.stringify(undouble)}\n`;
|
|
168
|
+
if (uninvalid.length > 0)
|
|
169
|
+
log += `uninvalid: ${JSON.stringify(uninvalid)}\n`;
|
|
170
|
+
if (uncompleted.length > 0)
|
|
171
|
+
log += `uncompleted: ${JSON.stringify(uncompleted)}\n`;
|
|
172
|
+
if (deunmined.length > 0)
|
|
173
|
+
log += `deunmined: ${JSON.stringify(deunmined)}\n`;
|
|
174
|
+
if (internalizeDouble.length > 0)
|
|
175
|
+
log += `internalizeDouble: ${JSON.stringify(internalizeDouble)}\n`;
|
|
176
|
+
if (noSuccessCompleted.length > 0)
|
|
177
|
+
log += `noSuccessCompleted: ${JSON.stringify(noSuccessCompleted)}\n`;
|
|
178
|
+
if (successDouble.length > 0)
|
|
179
|
+
log += `successDouble: ${JSON.stringify(successDouble)}\n`;
|
|
180
|
+
if (successInvalid.length > 0)
|
|
181
|
+
log += `successInvalid: ${JSON.stringify(successInvalid)}\n`;
|
|
182
|
+
console.log(log);
|
|
183
|
+
await storage.destroy();
|
|
184
|
+
});
|
|
185
|
+
const uninvalid = [
|
|
186
|
+
10822, 12228, 14884, 14948, 1654, 1649, 2654, 2655, 2656, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666,
|
|
187
|
+
2667, 2669, 2707, 2719, 2723, 2724, 2726
|
|
188
|
+
];
|
|
189
|
+
const undouble = [
|
|
190
|
+
10732, 12303, 12476, 14084, 14111, 14956, 14972, 14874, 14789, 14810, 14813, 14817, 14588, 14640, 14641, 14531,
|
|
191
|
+
2753, 2653, 2657, 2670, 2671, 2681, 2684, 2691, 2732, 4343, 4222, 4124, 4148, 3873, 3735, 3514, 3537, 5074, 5125,
|
|
192
|
+
4958, 4977, 4730, 4365
|
|
193
|
+
];
|
|
194
|
+
const deunmined = [
|
|
195
|
+
12304, 12305, 12306, 12307, 12480, 12483, 12484, 12488, 12489, 12490, 12497, 14085, 14086, 14087, 14814, 14816,
|
|
196
|
+
14821, 14953, 15170
|
|
197
|
+
];
|
|
198
|
+
test('2 review deunmined reqs', async () => {
|
|
199
|
+
const { env, storage, services } = await TestUtilsWalletStorage_1._tu.createMainReviewSetup();
|
|
200
|
+
const chaintracker = await services.getChainTracker();
|
|
201
|
+
let log = '';
|
|
202
|
+
for (const id of deunmined) {
|
|
203
|
+
const reqApi = await storage.findProvenTxReqById(id);
|
|
204
|
+
if (!reqApi)
|
|
205
|
+
continue;
|
|
206
|
+
const beef = new sdk_1.Beef();
|
|
207
|
+
beef.mergeRawTx(reqApi.rawTx);
|
|
208
|
+
if (reqApi.inputBEEF)
|
|
209
|
+
beef.mergeBeef(reqApi.inputBEEF);
|
|
210
|
+
let tx = beef.findTxid(reqApi.txid).tx;
|
|
211
|
+
let allInputsFound = true;
|
|
212
|
+
let ilog = '';
|
|
213
|
+
for (const input of tx.inputs) {
|
|
214
|
+
if (beef.findTxid(input.sourceTXID))
|
|
215
|
+
continue;
|
|
216
|
+
try {
|
|
217
|
+
const ib = await storage.getBeefForTransaction(input.sourceTXID, {});
|
|
218
|
+
if (ib)
|
|
219
|
+
beef.mergeBeef(ib);
|
|
220
|
+
}
|
|
221
|
+
catch (e) {
|
|
222
|
+
if (input.sourceTXID) {
|
|
223
|
+
const r2 = (0, src_1.verifyOneOrNone)(await storage.findProvenTxReqs({ partial: { txid: input.sourceTXID } }));
|
|
224
|
+
if (r2 && r2.rawTx) {
|
|
225
|
+
const itx = sdk_1.Transaction.fromBinary(r2.rawTx);
|
|
226
|
+
ilog += 'missing input ' + Format_1.Format.toLogStringTransaction(itx);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
allInputsFound = false;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (allInputsFound) {
|
|
233
|
+
tx = beef.findAtomicTransaction(reqApi.txid);
|
|
234
|
+
try {
|
|
235
|
+
const ok = await tx.verify('scripts only');
|
|
236
|
+
log += `${reqApi.provenTxReqId} ${reqApi.txid} ${ok ? 'OK' : 'FAIL'}\n`;
|
|
237
|
+
}
|
|
238
|
+
catch (e) {
|
|
239
|
+
log += `${reqApi.provenTxReqId} ${reqApi.txid} ${src_1.sdk.WalletError.fromUnknown(e).message}\n`;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
log += `${reqApi.provenTxReqId} FAILED `;
|
|
244
|
+
log += Format_1.Format.toLogStringBeefTxid(beef, reqApi.txid);
|
|
245
|
+
log += ilog;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
console.log(log);
|
|
249
|
+
await storage.destroy();
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
function reviewHistoryNotes(reqApi) {
|
|
253
|
+
var _a;
|
|
254
|
+
const r = {
|
|
255
|
+
req: new src_1.EntityProvenTxReq(reqApi),
|
|
256
|
+
wasDoubleSpend: false,
|
|
257
|
+
wasInvalid: false,
|
|
258
|
+
wasCompleted: false,
|
|
259
|
+
wasUnmined: false,
|
|
260
|
+
wasInternalize: false,
|
|
261
|
+
isDoubleSpend: false,
|
|
262
|
+
isInvalid: false,
|
|
263
|
+
isCompleted: false,
|
|
264
|
+
aggSum: 0,
|
|
265
|
+
aggregate: undefined
|
|
266
|
+
};
|
|
267
|
+
if (!((_a = r.req.history) === null || _a === void 0 ? void 0 : _a.notes))
|
|
268
|
+
return undefined;
|
|
269
|
+
for (const note of r.req.history.notes) {
|
|
270
|
+
if (note.what === 'status') {
|
|
271
|
+
const statusWas = note.status_was;
|
|
272
|
+
const statusNow = note.status_now;
|
|
273
|
+
if (statusNow === 'doubleSpend') {
|
|
274
|
+
r.isDoubleSpend = r.wasDoubleSpend = true;
|
|
275
|
+
r.isInvalid = false;
|
|
276
|
+
r.isCompleted = false;
|
|
277
|
+
}
|
|
278
|
+
else if (statusNow === 'invalid') {
|
|
279
|
+
r.isDoubleSpend = false;
|
|
280
|
+
r.isInvalid = r.wasInvalid = true;
|
|
281
|
+
r.isCompleted = false;
|
|
282
|
+
}
|
|
283
|
+
else if (statusNow === 'completed') {
|
|
284
|
+
r.isDoubleSpend = false;
|
|
285
|
+
r.isInvalid = false;
|
|
286
|
+
r.isCompleted = r.wasCompleted = true;
|
|
287
|
+
}
|
|
288
|
+
else if (statusNow === 'unmined') {
|
|
289
|
+
r.isDoubleSpend = false;
|
|
290
|
+
r.isInvalid = false;
|
|
291
|
+
r.wasUnmined = true;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else if (note.what === 'aggregateResults') {
|
|
295
|
+
r.aggregate = {
|
|
296
|
+
successCount: note.successCount,
|
|
297
|
+
doubleSpendCount: note.doubleSpendCount,
|
|
298
|
+
statusErrorCount: note.statusErrorCount,
|
|
299
|
+
serviceErrorCount: note.serviceErrorCount,
|
|
300
|
+
newReqStatus: note.newReqStatus
|
|
301
|
+
};
|
|
302
|
+
const a = r.aggregate;
|
|
303
|
+
r.aggSum = a.doubleSpendCount + a.statusErrorCount + a.serviceErrorCount + a.successCount;
|
|
304
|
+
}
|
|
305
|
+
else if (note.what === 'confirmDoubleSpend') {
|
|
306
|
+
r.doubleReview = {
|
|
307
|
+
status0: note.getStatus0,
|
|
308
|
+
status1: note.getStatus1,
|
|
309
|
+
status2: note.getStatus2,
|
|
310
|
+
competingTxs: note.competingTxs
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
else if (note.what === 'internalizeAction') {
|
|
314
|
+
r.wasInternalize = true;
|
|
315
|
+
}
|
|
316
|
+
if (note.name === 'WoCpostRawTx') {
|
|
317
|
+
if (note.what === 'postRawTxErrorMissingInputs') {
|
|
318
|
+
r.brWoC = 'missingInputs';
|
|
319
|
+
}
|
|
320
|
+
else if (note.what === 'postRawTxError') {
|
|
321
|
+
if (note.status === 504) {
|
|
322
|
+
r.brWoC = 'serviceError';
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else if (note.name === 'WoCpostBeef') {
|
|
327
|
+
if (note.what === 'postBeefSuccess') {
|
|
328
|
+
r.brWoC = 'success';
|
|
329
|
+
}
|
|
330
|
+
else if (note.what === 'postBeefError' && r.brWoC === undefined) {
|
|
331
|
+
r.brWoC = 'invalidTx';
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
else if (note.name === 'ARCpostBeef') {
|
|
335
|
+
if (note.what === 'postBeefGetTxDataSuccess') {
|
|
336
|
+
if (note.txStatus === 'STORED')
|
|
337
|
+
r.brArc = 'success';
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
else if (note.name === 'ARCv1tx') {
|
|
341
|
+
if (note.what === 'postRawTxDoubleSpend') {
|
|
342
|
+
if (note.txStatus === 'DOUBLE_SPEND_ATTEMPTED')
|
|
343
|
+
r.brArc = 'doubleSpend';
|
|
344
|
+
}
|
|
345
|
+
else if (note.what === 'postRawTxError') {
|
|
346
|
+
if (note.status === 469)
|
|
347
|
+
r.brArc = 'badRoots';
|
|
348
|
+
else if (note.status === 463)
|
|
349
|
+
r.brArc = 'badBump';
|
|
350
|
+
}
|
|
351
|
+
else if (note.what === 'postRawTxSuccess') {
|
|
352
|
+
if (note.txStatus === 'ANNOUNCED_TO_NETWORK')
|
|
353
|
+
r.brArc = 'success';
|
|
354
|
+
else if (note.txStatus === 'SEEN_ON_NETWORK')
|
|
355
|
+
r.brArc = 'success';
|
|
356
|
+
else if (note.txStatus === 'REQUESTED_BY_NETWORK')
|
|
357
|
+
r.brArc = 'success';
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else if (note.name === 'BitailsPostRawTx') {
|
|
361
|
+
if (note.what === 'postRawsSuccess') {
|
|
362
|
+
r.brBitails = 'success';
|
|
363
|
+
}
|
|
364
|
+
else if (note.what === 'postRawsSuccessAlreadyInMempool') {
|
|
365
|
+
r.brBitails = 'success';
|
|
366
|
+
}
|
|
367
|
+
else if (note.what === 'postRawsErrorMissingInputs') {
|
|
368
|
+
r.brBitails = 'invalidTx';
|
|
369
|
+
}
|
|
370
|
+
else if (note.what === 'postRawsError') {
|
|
371
|
+
if (note.code === -26) {
|
|
372
|
+
r.brBitails = 'invalidTx';
|
|
373
|
+
}
|
|
374
|
+
else if (note.code === -1) {
|
|
375
|
+
r.brBitails = 'serviceError';
|
|
376
|
+
}
|
|
377
|
+
else if (note.code === 'ESOCKETTIMEDOUT') {
|
|
378
|
+
r.brBitails = 'serviceError';
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return r;
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=reqErrorReview.2025.05.06.man.test.js.map
|