@bsv/wallet-toolbox 2.8.0 → 2.10.0

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 (99) hide show
  1. package/CHANGELOG.md +31 -3
  2. package/README.md +51 -1
  3. package/out/src/CWIStyleWalletManager.d.ts +37 -27
  4. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  5. package/out/src/CWIStyleWalletManager.js +157 -151
  6. package/out/src/CWIStyleWalletManager.js.map +1 -1
  7. package/out/src/WalletAuthenticationManager.d.ts +20 -0
  8. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  9. package/out/src/WalletAuthenticationManager.js +180 -47
  10. package/out/src/WalletAuthenticationManager.js.map +1 -1
  11. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +22 -0
  12. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -1
  13. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
  14. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
  15. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
  16. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
  17. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +33 -0
  18. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  19. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +6 -1
  20. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  21. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +9 -3
  22. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  23. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +45 -5
  24. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  25. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +3 -0
  26. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  27. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -1
  28. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  29. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +2 -0
  30. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  31. package/out/src/services/chaintracker/chaintracks/index.all.js +2 -0
  32. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  33. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +2 -0
  34. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  35. package/out/src/services/chaintracker/chaintracks/index.mobile.js +2 -0
  36. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  37. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +15 -2
  38. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
  39. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +115 -13
  40. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
  41. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +17 -1
  42. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  43. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +174 -87
  44. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  45. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
  46. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
  47. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +30 -0
  48. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
  49. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +2 -2
  50. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  51. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +5 -3
  52. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  53. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +39 -0
  54. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
  55. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +194 -0
  56. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
  57. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +1 -0
  58. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -1
  59. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +1 -0
  60. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -1
  61. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +12 -0
  62. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
  63. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +52 -0
  64. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
  65. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +40 -0
  66. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
  67. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +207 -0
  68. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
  69. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  70. package/out/src/storage/StorageIdb.js +5 -2
  71. package/out/src/storage/StorageIdb.js.map +1 -1
  72. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  73. package/out/src/storage/StorageProvider.js +15 -9
  74. package/out/src/storage/StorageProvider.js.map +1 -1
  75. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  76. package/out/src/storage/methods/createAction.js +6 -1
  77. package/out/src/storage/methods/createAction.js.map +1 -1
  78. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  79. package/out/src/storage/remoting/StorageClientBase.js +29 -0
  80. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  81. package/out/src/storage/schema/entities/EntitySyncState.d.ts +1 -1
  82. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
  83. package/out/src/storage/schema/entities/EntitySyncState.js +5 -5
  84. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  85. package/out/src/utility/beefForTxids.d.ts +12 -3
  86. package/out/src/utility/beefForTxids.d.ts.map +1 -1
  87. package/out/src/utility/beefForTxids.js +69 -21
  88. package/out/src/utility/beefForTxids.js.map +1 -1
  89. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  90. package/out/src/wab-client/WABClient.js +13 -13
  91. package/out/src/wab-client/WABClient.js.map +1 -1
  92. package/out/src/wab-client/WABTransport.d.ts +17 -23
  93. package/out/src/wab-client/WABTransport.d.ts.map +1 -1
  94. package/out/src/wab-client/WABTransport.js +129 -141
  95. package/out/src/wab-client/WABTransport.js.map +1 -1
  96. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +6 -0
  97. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  98. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  99. package/package.json +2 -2
@@ -8,6 +8,8 @@ const DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;
8
8
  const MAX_CONFIGURED_TIMEOUT_MS = 120_000;
9
9
  const MAX_CONFIGURED_REQUEST_BYTES = 10 * 1024 * 1024;
10
10
  const MAX_CONFIGURED_RESPONSE_BYTES = 10 * 1024 * 1024;
11
+ const WAB_COMPONENT = 'wallet-toolbox.wab-transport';
12
+ const WAB_REQUEST_EVENT = 'wallet-toolbox.wab.request.';
11
13
  const defaultFetch = typeof globalThis !== 'undefined' && typeof globalThis.fetch === 'function'
12
14
  ? globalThis.fetch.bind(globalThis)
13
15
  : undefined;
@@ -40,10 +42,10 @@ class WABClientError extends Error {
40
42
  exports.WABClientError = WABClientError;
41
43
  function isLocalHostname(hostname) {
42
44
  const normalized = hostname.toLowerCase();
43
- return normalized === 'localhost' ||
45
+ return (normalized === 'localhost' ||
44
46
  normalized === '127.0.0.1' ||
45
47
  normalized === '[::1]' ||
46
- normalized.endsWith('.localhost');
48
+ normalized.endsWith('.localhost'));
47
49
  }
48
50
  function normalizeServerUrl(serverUrl) {
49
51
  let parsed;
@@ -54,10 +56,10 @@ function normalizeServerUrl(serverUrl) {
54
56
  throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WAB server URL must be an absolute URL.', false);
55
57
  }
56
58
  if (parsed.username !== '' || parsed.password !== '' || parsed.search !== '' || parsed.hash !== '') {
57
- throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WAB server URL must not contain credentials, a query, or a fragment.', false);
59
+ throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WAB URL cannot include credentials, query, or fragment.', false);
58
60
  }
59
61
  if (parsed.protocol !== 'https:' && !(parsed.protocol === 'http:' && isLocalHostname(parsed.hostname))) {
60
- throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WAB server URL must use HTTPS. Plain HTTP is allowed only for localhost development.', false);
62
+ throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WAB URL requires HTTPS except on localhost.', false);
61
63
  }
62
64
  let pathname = parsed.pathname;
63
65
  while (pathname.endsWith('/')) {
@@ -71,7 +73,7 @@ function normalizeServerUrl(serverUrl) {
71
73
  function normalizePositiveInteger(value, fallback, maximum, name) {
72
74
  const resolved = value ?? fallback;
73
75
  if (!Number.isInteger(resolved) || resolved <= 0 || resolved > maximum) {
74
- throw new WABClientError('WAB_INVALID_CONFIGURATION', `${name} must be a positive integer no greater than ${maximum}.`, false);
76
+ throw new WABClientError('WAB_INVALID_CONFIGURATION', `${name} must be an integer from 1 to ${maximum}.`, false);
75
77
  }
76
78
  return resolved;
77
79
  }
@@ -99,115 +101,109 @@ class WABTransport {
99
101
  serverUrl;
100
102
  serverOrigin;
101
103
  telemetry;
102
- fetchClient;
103
- timeoutMs;
104
- maxRequestBytes;
105
- maxResponseBytes;
104
+ fetcher;
105
+ timeout;
106
+ requestLimit;
107
+ responseLimit;
106
108
  constructor(serverUrl, options = {}) {
107
109
  const normalized = normalizeServerUrl(serverUrl);
108
110
  this.serverUrl = normalized.baseUrl;
109
111
  this.serverOrigin = normalized.origin;
110
- const fetchClient = options.fetch ?? defaultFetch;
111
- if (typeof fetchClient !== 'function') {
112
+ const fetcher = options.fetch ?? defaultFetch;
113
+ if (typeof fetcher !== 'function') {
112
114
  throw new WABClientError('WAB_INVALID_CONFIGURATION', 'WABClient requires a fetch implementation.', false);
113
115
  }
114
- this.fetchClient = fetchClient;
115
- this.timeoutMs = normalizePositiveInteger(options.timeoutMs, DEFAULT_TIMEOUT_MS, MAX_CONFIGURED_TIMEOUT_MS, 'timeoutMs');
116
- this.maxRequestBytes = normalizePositiveInteger(options.maxRequestBytes, DEFAULT_MAX_REQUEST_BYTES, MAX_CONFIGURED_REQUEST_BYTES, 'maxRequestBytes');
117
- this.maxResponseBytes = normalizePositiveInteger(options.maxResponseBytes, DEFAULT_MAX_RESPONSE_BYTES, MAX_CONFIGURED_RESPONSE_BYTES, 'maxResponseBytes');
116
+ this.fetcher = fetcher;
117
+ this.timeout = normalizePositiveInteger(options.timeoutMs, DEFAULT_TIMEOUT_MS, MAX_CONFIGURED_TIMEOUT_MS, 'timeoutMs');
118
+ this.requestLimit = normalizePositiveInteger(options.maxRequestBytes, DEFAULT_MAX_REQUEST_BYTES, MAX_CONFIGURED_REQUEST_BYTES, 'maxRequestBytes');
119
+ this.responseLimit = normalizePositiveInteger(options.maxResponseBytes, DEFAULT_MAX_RESPONSE_BYTES, MAX_CONFIGURED_RESPONSE_BYTES, 'maxResponseBytes');
118
120
  this.telemetry = new sdk_1.Telemetry(options.telemetry);
119
121
  }
120
122
  createCorrelationId() {
121
123
  const correlationId = this.telemetry.createCorrelationId();
122
- return isSafeCorrelationId(correlationId)
123
- ? correlationId
124
- : new sdk_1.Telemetry().createCorrelationId();
124
+ return isSafeCorrelationId(correlationId) ? correlationId : new sdk_1.Telemetry().createCorrelationId();
125
125
  }
126
126
  async request(path, options) {
127
- const metadata = this.createRequestMetadata(path, options);
128
- this.captureRequestStarted(metadata);
129
- const body = this.encodeRequestBody(options, metadata);
130
- const timeout = this.startRequestTimeout(metadata.errorContext);
131
- const response = await this.fetchResponse(metadata, body, timeout);
132
- const responseContext = this.createResponseContext(response, metadata);
133
- this.assertSuccessfulResponse(response, responseContext, metadata, timeout);
134
- const responseText = await this.readResponseText(response, responseContext, metadata, timeout);
135
- const parsed = this.parseResponseObject(responseText, response, responseContext, metadata);
136
- this.telemetry.capture({
137
- name: 'wallet-toolbox.wab.request.completed',
138
- component: 'wallet-toolbox.wab-transport',
139
- severity: 'info',
140
- correlationId: metadata.correlationId,
141
- attributes: {
142
- operation: metadata.operation,
143
- method: metadata.method,
144
- route: metadata.path,
145
- serverOrigin: this.serverOrigin,
146
- status: response.status,
147
- endpointMarkerPresent: responseContext.endpointMarkerPresent,
148
- responseCorrelationMatched: responseContext.responseCorrelationMatched,
149
- responseBytes: new TextEncoder().encode(responseText).byteLength,
150
- durationMs: Date.now() - metadata.startedAt
151
- }
152
- });
153
- return parsed;
154
- }
155
- createRequestMetadata(path, options) {
156
127
  assertSafePath(path);
157
- const correlationId = options.correlationId != null &&
158
- isSafeCorrelationId(options.correlationId)
128
+ const correlationId = options.correlationId != null && isSafeCorrelationId(options.correlationId)
159
129
  ? options.correlationId
160
130
  : this.createCorrelationId();
161
- return {
131
+ const metadata = {
162
132
  method: options.method ?? 'POST',
163
133
  path,
164
134
  operation: options.operation,
165
135
  correlationId,
166
136
  startedAt: Date.now(),
167
- errorContext: {
168
- correlationId,
169
- operation: options.operation,
170
- route: path
171
- }
137
+ errorContext: { correlationId, operation: options.operation, route: path }
172
138
  };
173
- }
174
- captureRequestStarted(metadata) {
175
139
  this.telemetry.capture({
176
- name: 'wallet-toolbox.wab.request.started',
177
- component: 'wallet-toolbox.wab-transport',
140
+ name: `${WAB_REQUEST_EVENT}started`,
141
+ component: WAB_COMPONENT,
178
142
  severity: 'debug',
143
+ correlationId,
144
+ attributes: {
145
+ operation: metadata.operation,
146
+ method: metadata.method,
147
+ route: path,
148
+ serverOrigin: this.serverOrigin
149
+ }
150
+ });
151
+ const body = this.bodyFor(options, metadata);
152
+ const timeout = this.startTimer(metadata.errorContext);
153
+ const response = await this.fetch(metadata, body, timeout);
154
+ const responseContext = {
155
+ ...metadata.errorContext,
156
+ endpointMarkerPresent: isWabResponse(response),
157
+ responseCorrelationMatched: response.headers.get('X-Correlation-ID') === correlationId
158
+ };
159
+ this.checkResponse(response, responseContext, metadata, timeout);
160
+ const responseText = await this.readText(response, responseContext, metadata, timeout);
161
+ const parsed = this.parse(responseText, response, responseContext, metadata);
162
+ this.telemetry.capture({
163
+ name: `${WAB_REQUEST_EVENT}completed`,
164
+ component: WAB_COMPONENT,
165
+ severity: 'info',
179
166
  correlationId: metadata.correlationId,
180
167
  attributes: {
181
168
  operation: metadata.operation,
182
169
  method: metadata.method,
183
170
  route: metadata.path,
184
- serverOrigin: this.serverOrigin
171
+ serverOrigin: this.serverOrigin,
172
+ status: response.status,
173
+ endpointMarkerPresent: responseContext.endpointMarkerPresent,
174
+ responseCorrelationMatched: responseContext.responseCorrelationMatched,
175
+ responseBytes: new TextEncoder().encode(responseText).byteLength,
176
+ durationMs: Date.now() - metadata.startedAt
185
177
  }
186
178
  });
179
+ return parsed;
187
180
  }
188
- encodeRequestBody(options, metadata) {
181
+ bodyFor(options, metadata) {
189
182
  let body;
190
183
  try {
191
184
  body = options.body === undefined ? undefined : JSON.stringify(options.body);
192
185
  }
193
186
  catch (cause) {
194
- const error = new WABClientError('WAB_INVALID_REQUEST', 'WAB request payload could not be encoded.', false, undefined, { ...metadata.errorContext, cause });
195
- this.captureRequestFailure(metadata, error);
187
+ const error = new WABClientError('WAB_INVALID_REQUEST', 'WAB request encoding failed.', false, undefined, {
188
+ ...metadata.errorContext,
189
+ cause
190
+ });
191
+ this.report(metadata, error);
196
192
  throw error;
197
193
  }
198
194
  if (options.body !== undefined && body === undefined) {
199
- const error = new WABClientError('WAB_INVALID_REQUEST', 'WAB request payload must be JSON-serializable.', false, undefined, metadata.errorContext);
200
- this.captureRequestFailure(metadata, error);
195
+ const error = new WABClientError('WAB_INVALID_REQUEST', 'WAB request is not JSON-serializable.', false, undefined, metadata.errorContext);
196
+ this.report(metadata, error);
201
197
  throw error;
202
198
  }
203
- if (body != null && new TextEncoder().encode(body).byteLength > this.maxRequestBytes) {
204
- const error = new WABClientError('WAB_REQUEST_TOO_LARGE', 'WAB request exceeded the configured size limit.', false, undefined, metadata.errorContext);
205
- this.captureRequestFailure(metadata, error);
199
+ if (body != null && new TextEncoder().encode(body).byteLength > this.requestLimit) {
200
+ const error = new WABClientError('WAB_REQUEST_TOO_LARGE', 'WAB request exceeds its size limit.', false, undefined, metadata.errorContext);
201
+ this.report(metadata, error);
206
202
  throw error;
207
203
  }
208
204
  return body;
209
205
  }
210
- startRequestTimeout(errorContext) {
206
+ startTimer(errorContext) {
211
207
  const timeout = {
212
208
  controller: new AbortController(),
213
209
  timedOut: false
@@ -217,12 +213,12 @@ class WABTransport {
217
213
  timeout.timedOut = true;
218
214
  timeout.controller.abort();
219
215
  reject(new WABClientError('WAB_TIMEOUT', 'WAB request timed out.', true, undefined, errorContext));
220
- }, this.timeoutMs);
216
+ }, this.timeout);
221
217
  });
222
218
  return timeout;
223
219
  }
224
- async fetchResponse(metadata, body, timeout) {
225
- const requestPromise = Promise.resolve().then(() => this.fetchClient(`${this.serverUrl}${metadata.path}`, {
220
+ async fetch(metadata, body, timeout) {
221
+ const requestPromise = Promise.resolve().then(() => this.fetcher(`${this.serverUrl}${metadata.path}`, {
226
222
  method: metadata.method,
227
223
  headers: {
228
224
  Accept: 'application/json',
@@ -235,7 +231,9 @@ class WABTransport {
235
231
  redirect: 'error',
236
232
  referrerPolicy: 'no-referrer'
237
233
  }));
238
- requestPromise.catch(() => { });
234
+ requestPromise.catch(() => {
235
+ /* timeout may settle the public request first */
236
+ });
239
237
  try {
240
238
  return await Promise.race([requestPromise, timeout.promise]);
241
239
  }
@@ -247,42 +245,37 @@ class WABTransport {
247
245
  error = cause;
248
246
  }
249
247
  else if (timeout.timedOut) {
250
- error = new WABClientError('WAB_TIMEOUT', 'WAB request timed out.', true, undefined, { ...metadata.errorContext, cause });
248
+ error = new WABClientError('WAB_TIMEOUT', 'WAB request timed out.', true, undefined, {
249
+ ...metadata.errorContext,
250
+ cause
251
+ });
251
252
  }
252
253
  else {
253
- error = new WABClientError('WAB_NETWORK_ERROR', 'WAB request failed before receiving a response.', true, undefined, { ...metadata.errorContext, cause });
254
+ error = new WABClientError('WAB_NETWORK_ERROR', 'WAB request failed before response.', true, undefined, {
255
+ ...metadata.errorContext,
256
+ cause
257
+ });
254
258
  }
255
- this.captureRequestFailure(metadata, error);
259
+ this.report(metadata, error);
256
260
  throw error;
257
261
  }
258
262
  }
259
- createResponseContext(response, metadata) {
260
- return {
261
- ...metadata.errorContext,
262
- endpointMarkerPresent: isWabResponse(response),
263
- responseCorrelationMatched: response.headers.get('X-Correlation-ID') === metadata.correlationId
264
- };
265
- }
266
- assertSuccessfulResponse(response, responseContext, metadata, timeout) {
263
+ checkResponse(response, responseContext, metadata, timeout) {
267
264
  if (response.ok)
268
265
  return;
269
266
  if (timeout.timer !== undefined)
270
267
  clearTimeout(timeout.timer);
271
- const endpointMismatch = response.status === 404 &&
272
- responseContext.endpointMarkerPresent !== true;
273
- const error = new WABClientError(endpointMismatch ? 'WAB_ENDPOINT_MISMATCH' : 'WAB_HTTP_ERROR', endpointMismatch
274
- ? 'Configured WAB endpoint did not return a compatible WAB response.'
275
- : `WAB request failed with HTTP status ${response.status}.`, isRetryableStatus(response.status), response.status, responseContext);
276
- this.captureRequestFailure(metadata, error);
277
- void response.body?.cancel().catch(() => { });
268
+ const endpointMismatch = response.status === 404 && responseContext.endpointMarkerPresent !== true;
269
+ const error = new WABClientError(endpointMismatch ? 'WAB_ENDPOINT_MISMATCH' : 'WAB_HTTP_ERROR', endpointMismatch ? 'WAB endpoint is incompatible.' : `WAB request failed with HTTP status ${response.status}.`, isRetryableStatus(response.status), response.status, responseContext);
270
+ this.report(metadata, error);
271
+ void response.body?.cancel().catch(() => {
272
+ /* best effort only */
273
+ });
278
274
  throw error;
279
275
  }
280
- async readResponseText(response, responseContext, metadata, timeout) {
276
+ async readText(response, responseContext, metadata, timeout) {
281
277
  try {
282
- return await Promise.race([
283
- this.readBoundedResponse(response, responseContext),
284
- timeout.promise
285
- ]);
278
+ return await Promise.race([this.read(response, responseContext), timeout.promise]);
286
279
  }
287
280
  catch (cause) {
288
281
  let error;
@@ -290,12 +283,18 @@ class WABTransport {
290
283
  error = cause;
291
284
  }
292
285
  else if (timeout.timedOut) {
293
- error = new WABClientError('WAB_TIMEOUT', 'WAB request timed out.', true, response.status, { ...responseContext, cause });
286
+ error = new WABClientError('WAB_TIMEOUT', 'WAB request timed out.', true, response.status, {
287
+ ...responseContext,
288
+ cause
289
+ });
294
290
  }
295
291
  else {
296
- error = new WABClientError('WAB_INVALID_RESPONSE', 'WAB response could not be read.', true, response.status, { ...responseContext, cause });
292
+ error = new WABClientError('WAB_INVALID_RESPONSE', 'WAB response read failed.', true, response.status, {
293
+ ...responseContext,
294
+ cause
295
+ });
297
296
  }
298
- this.captureRequestFailure(metadata, error);
297
+ this.report(metadata, error);
299
298
  throw error;
300
299
  }
301
300
  finally {
@@ -303,49 +302,43 @@ class WABTransport {
303
302
  clearTimeout(timeout.timer);
304
303
  }
305
304
  }
306
- parseResponseObject(responseText, response, responseContext, metadata) {
305
+ parse(responseText, response, responseContext, metadata) {
307
306
  let parsed;
308
307
  try {
309
308
  parsed = JSON.parse(responseText);
310
309
  }
311
310
  catch (cause) {
312
311
  const error = new WABClientError('WAB_INVALID_RESPONSE', 'WAB response was not valid JSON.', true, response.status, { ...responseContext, cause });
313
- this.captureRequestFailure(metadata, error);
312
+ this.report(metadata, error);
314
313
  throw error;
315
314
  }
316
315
  if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
317
316
  const error = new WABClientError('WAB_INVALID_RESPONSE', 'WAB response must be a JSON object.', true, response.status, responseContext);
318
- this.captureRequestFailure(metadata, error);
317
+ this.report(metadata, error);
319
318
  throw error;
320
319
  }
321
320
  return parsed;
322
321
  }
323
- captureRequestFailure(metadata, error) {
324
- this.captureFailure(metadata.operation, metadata.method, metadata.path, metadata.correlationId, metadata.startedAt, error);
325
- }
326
- async readBoundedResponse(response, responseContext) {
327
- await this.rejectOversizedDeclaredResponse(response, responseContext);
322
+ async read(response, responseContext) {
323
+ const contentLength = Number(response.headers.get('content-length'));
324
+ if (Number.isFinite(contentLength) && contentLength > this.responseLimit) {
325
+ await this.stopBody(response);
326
+ throw this.sizeError(response, responseContext);
327
+ }
328
328
  const reader = response.body?.getReader();
329
329
  if (reader == null) {
330
- return await this.readBoundedArrayBuffer(response, responseContext);
330
+ return this.readBuffer(response, responseContext);
331
331
  }
332
- return await this.readBoundedStream(reader, response, responseContext);
333
- }
334
- async rejectOversizedDeclaredResponse(response, responseContext) {
335
- const contentLength = Number(response.headers.get('content-length'));
336
- if (!Number.isFinite(contentLength) || contentLength <= this.maxResponseBytes)
337
- return;
338
- await this.cancelResponseBody(response);
339
- throw this.responseTooLargeError(response, responseContext);
332
+ return this.readStream(reader, response, responseContext);
340
333
  }
341
- async readBoundedArrayBuffer(response, responseContext) {
334
+ async readBuffer(response, responseContext) {
342
335
  const bytes = new Uint8Array(await response.arrayBuffer());
343
- if (bytes.byteLength > this.maxResponseBytes) {
344
- throw this.responseTooLargeError(response, responseContext);
336
+ if (bytes.byteLength > this.responseLimit) {
337
+ throw this.sizeError(response, responseContext);
345
338
  }
346
339
  return new TextDecoder().decode(bytes);
347
340
  }
348
- async readBoundedStream(reader, response, responseContext) {
341
+ async readStream(reader, response, responseContext) {
349
342
  const chunks = [];
350
343
  let total = 0;
351
344
  while (true) {
@@ -355,15 +348,12 @@ class WABTransport {
355
348
  if (value == null)
356
349
  continue;
357
350
  total += value.byteLength;
358
- if (total > this.maxResponseBytes) {
359
- await this.cancelResponseReader(reader);
360
- throw this.responseTooLargeError(response, responseContext);
351
+ if (total > this.responseLimit) {
352
+ await this.stopReader(reader);
353
+ throw this.sizeError(response, responseContext);
361
354
  }
362
355
  chunks.push(value);
363
356
  }
364
- return this.decodeChunks(chunks, total);
365
- }
366
- decodeChunks(chunks, total) {
367
357
  const bytes = new Uint8Array(total);
368
358
  let offset = 0;
369
359
  for (const chunk of chunks) {
@@ -372,10 +362,10 @@ class WABTransport {
372
362
  }
373
363
  return new TextDecoder().decode(bytes);
374
364
  }
375
- responseTooLargeError(response, responseContext) {
376
- return new WABClientError('WAB_RESPONSE_TOO_LARGE', 'WAB response exceeded the configured size limit.', false, response.status, responseContext);
365
+ sizeError(response, responseContext) {
366
+ return new WABClientError('WAB_RESPONSE_TOO_LARGE', 'WAB response exceeds its size limit.', false, response.status, responseContext);
377
367
  }
378
- async cancelResponseBody(response) {
368
+ async stopBody(response) {
379
369
  try {
380
370
  await response.body?.cancel();
381
371
  }
@@ -383,7 +373,7 @@ class WABTransport {
383
373
  // Best effort only.
384
374
  }
385
375
  }
386
- async cancelResponseReader(reader) {
376
+ async stopReader(reader) {
387
377
  try {
388
378
  await reader.cancel();
389
379
  }
@@ -391,26 +381,24 @@ class WABTransport {
391
381
  // Best effort only.
392
382
  }
393
383
  }
394
- captureFailure(operation, method, path, correlationId, startedAt, error) {
384
+ report(metadata, error) {
395
385
  this.telemetry.capture({
396
- name: 'wallet-toolbox.wab.request.failed',
397
- component: 'wallet-toolbox.wab-transport',
386
+ name: `${WAB_REQUEST_EVENT}failed`,
387
+ component: WAB_COMPONENT,
398
388
  severity: error.retryable ? 'warn' : 'error',
399
- correlationId,
389
+ correlationId: metadata.correlationId,
400
390
  attributes: {
401
- operation,
402
- method,
403
- route: path,
391
+ operation: metadata.operation,
392
+ method: metadata.method,
393
+ route: metadata.path,
404
394
  serverOrigin: this.serverOrigin,
405
395
  retryable: error.retryable,
406
396
  ...(error.status !== undefined ? { status: error.status } : {}),
407
- ...(error.endpointMarkerPresent !== undefined
408
- ? { endpointMarkerPresent: error.endpointMarkerPresent }
409
- : {}),
397
+ ...(error.endpointMarkerPresent !== undefined ? { endpointMarkerPresent: error.endpointMarkerPresent } : {}),
410
398
  ...(error.responseCorrelationMatched !== undefined
411
399
  ? { responseCorrelationMatched: error.responseCorrelationMatched }
412
400
  : {}),
413
- durationMs: Date.now() - startedAt
401
+ durationMs: Date.now() - metadata.startedAt
414
402
  },
415
403
  error
416
404
  });
@@ -1 +1 @@
1
- {"version":3,"file":"WABTransport.js","sourceRoot":"","sources":["../../../src/wab-client/WABTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WABTransport.js","sourceRoot":"","sources":["../../../src/wab-client/WABTransport.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,12 @@ export interface CompleteAuthResponse {
15
15
  accountStatus?: 'new-user' | 'existing-user';
16
16
  /** Compatibility signal accepted from WAB deployments using a boolean. */
17
17
  existingUser?: boolean;
18
+ /** Operator-selected UMP ambiguity fallback supplied by newer WAB servers. */
19
+ umpTokenOutpoint?: string;
20
+ /** Staged key returned while a verified phone change awaits WAB finalization. */
21
+ pendingPresentationKey?: string;
22
+ /** Identifier used to idempotently finalize a staged phone change. */
23
+ pendingPhoneChangeId?: number;
18
24
  }
19
25
  /**
20
26
  * Abstract client-side interactor for an Auth Method.
@@ -1 +1 @@
1
- {"version":3,"file":"AuthMethodInteractor.d.ts","sourceRoot":"","sources":["../../../../src/wab-client/auth-method-interactors/AuthMethodInteractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,aAAa,CAAC,EAAE,UAAU,GAAG,eAAe,CAAA;IAC5C,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;GAKG;AACH,8BAAsB,oBAAoB;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,SAAS,CAAC,cAAc,CAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAE3D;IAED;;OAEG;YACW,QAAQ;IAoBtB;;OAEG;IACU,SAAS,CACpB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,YAAY,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAS5B;IAED;;OAEG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,YAAY,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;CACF"}
1
+ {"version":3,"file":"AuthMethodInteractor.d.ts","sourceRoot":"","sources":["../../../../src/wab-client/auth-method-interactors/AuthMethodInteractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,aAAa,CAAC,EAAE,UAAU,GAAG,eAAe,CAAA;IAC5C,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;GAKG;AACH,8BAAsB,oBAAoB;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAE1D;IAED;;OAEG;YACW,QAAQ;IAoBtB;;OAEG;IACU,SAAS,CACpB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,YAAY,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAS5B;IAED;;OAEG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,YAAY,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthMethodInteractor.js","sourceRoot":"","sources":["../../../../src/wab-client/auth-method-interactors/AuthMethodInteractor.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAsB9C;;;;;GAKG;AACH;IAGY,cAAc,CAAE,OAAoB;QAC5C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAAiB,EACjB,QAAgB,EAChB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,2BAAY,CAAC,SAAS,CAAC,CAAA;QACvD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAI,SAAS,QAAQ,EAAE,EAAE;YAClD,SAAS,EAAE,QAAQ,QAAQ,EAAE;YAC7B,aAAa;YACb,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,eAAe;gBACf,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;aACtC;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CACpB,SAAiB,EACjB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,SAAS,EACT,OAAO,EACP,eAAe,EACf,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAA;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CACvB,SAAiB,EACjB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,SAAS,EACT,UAAU,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"AuthMethodInteractor.js","sourceRoot":"","sources":["../../../../src/wab-client/auth-method-interactors/AuthMethodInteractor.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AA4B9C;;;;;GAKG;AACH;IAGY,cAAc,CAAC,OAAoB;QAC3C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CACpB,SAAiB,EACjB,QAAgB,EAChB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,2BAAY,CAAC,SAAS,CAAC,CAAA;QACvD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAI,SAAS,QAAQ,EAAE,EAAE;YAClD,SAAS,EAAE,QAAQ,QAAQ,EAAE;YAC7B,aAAa;YACb,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,eAAe;gBACf,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;aACtC;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CACpB,SAAiB,EACjB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,SAAS,EACT,OAAO,EACP,eAAe,EACf,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAA;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CACvB,SAAiB,EACjB,eAAuB,EACvB,OAAoB,EACpB,SAAwB,EACxB,aAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,SAAS,EACT,UAAU,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAA;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/wallet-toolbox",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "sideEffects": false,
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -114,7 +114,7 @@
114
114
  "format:check": "pnpm --workspace-root exec prettier --check \"packages/wallet/wallet-toolbox/{README.md,jest.config.cjs,package.json,tsconfig*.json}\"",
115
115
  "lint": "oxlint src test benchmarks examples operator --deny-warnings",
116
116
  "lint:ci": "pnpm lint",
117
- "pack:check": "pnpm build && node ../../../scripts/check-package-artifact.mjs . --modes cjs --exports Wallet,WalletSigner,WalletStorageManager,StorageClient,StorageKnex,Services,Setup,WalletPermissionsManager,WalletSettingsManager,LocalChainTracker,FixedWindowBulkFileDownloadBudget,BulkFileDataCacheFs,sdk --entry-exports \"./out/src/sdk=WalletError|WERR_BAD_REQUEST|WERR_INTERNAL|WERR_INVALID_PARAMETER|WERR_UNAUTHORIZED\"",
117
+ "pack:check": "pnpm build && node ../../../scripts/check-package-artifact.mjs . --modes cjs --exports Wallet,WalletSigner,WalletStorageManager,StorageClient,StorageKnex,Services,Setup,WalletPermissionsManager,WalletSettingsManager,LocalChainTracker,FixedWindowBulkFileDownloadBudget,DurableFileBulkFileDownloadBudget,BulkFileDataCacheFs,NodeBulkFileDataValidator,sdk --entry-exports \"./out/src/sdk=WalletError|WERR_BAD_REQUEST|WERR_INTERNAL|WERR_INVALID_PARAMETER|WERR_UNAUTHORIZED\"",
118
118
  "typecheck": "tsc --build --pretty false && tsc --project examples/tsconfig.json --pretty false && tsc --project operator/tsconfig.json --noEmit --pretty false",
119
119
  "build": "tsc --build",
120
120
  "doc": "ts2md",