@bsv/wallet-toolbox-mobile 2.1.26 → 2.1.28

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 (36) hide show
  1. package/README.md +83 -0
  2. package/out/src/Wallet.d.ts +46 -2
  3. package/out/src/Wallet.d.ts.map +1 -1
  4. package/out/src/Wallet.js +65 -4
  5. package/out/src/Wallet.js.map +1 -1
  6. package/out/src/monitor/Monitor.d.ts.map +1 -1
  7. package/out/src/monitor/Monitor.js +12 -0
  8. package/out/src/monitor/Monitor.js.map +1 -1
  9. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
  10. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  11. package/out/src/monitor/tasks/TaskCheckNoSends.js +93 -4
  12. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  13. package/out/src/signer/methods/internalizeAction.d.ts +8 -1
  14. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  15. package/out/src/signer/methods/internalizeAction.js +8 -1
  16. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  17. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  18. package/out/src/storage/StorageProvider.js +79 -1
  19. package/out/src/storage/StorageProvider.js.map +1 -1
  20. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  21. package/out/src/storage/methods/ListActionsSpecOp.js +68 -5
  22. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  23. package/out/src/storage/methods/createAction.js +27 -13
  24. package/out/src/storage/methods/createAction.js.map +1 -1
  25. package/out/src/storage/methods/internalizeAction.d.ts +11 -1
  26. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  27. package/out/src/storage/methods/internalizeAction.js +94 -26
  28. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  29. package/out/src/storage/portable/index.d.ts.map +1 -1
  30. package/out/src/storage/portable/index.js +160 -114
  31. package/out/src/storage/portable/index.js.map +1 -1
  32. package/out/src/utility/identityUtils.d.ts +12 -6
  33. package/out/src/utility/identityUtils.d.ts.map +1 -1
  34. package/out/src/utility/identityUtils.js +78 -30
  35. package/out/src/utility/identityUtils.js.map +1 -1
  36. package/package.json +3 -3
@@ -209,14 +209,32 @@ async function encryptBRC39(documentOrJson, password, options) {
209
209
  header.set(nonce, BRC39_HEADER_LENGTH + salt.length);
210
210
  return Array.from(concatBytes(header, result, authenticationTag));
211
211
  }
212
- async function decryptBRC39(bytes, password) {
213
- const file = new Uint8Array(bytes);
212
+ function parseBRC39Header(file) {
214
213
  if (file.length < BRC39_HEADER_LENGTH + BRC39_TAG_LENGTH + 2)
215
214
  throw new Error('Invalid BRC-39 file: too short');
216
215
  for (let i = 0; i < BRC39_MAGIC.length; i++) {
217
216
  if (file[i] !== BRC39_MAGIC[i])
218
217
  throw new Error('Invalid BRC-39 file: bad magic');
219
218
  }
219
+ assertHeaderConstants(file);
220
+ for (let i = 21; i < BRC39_HEADER_LENGTH; i++) {
221
+ if (file[i] !== 0)
222
+ throw new Error('Invalid BRC-39 reserved bytes');
223
+ }
224
+ const saltLength = file[9];
225
+ const nonceLength = file[10];
226
+ if (saltLength === 0)
227
+ throw new Error('Invalid BRC-39 salt length');
228
+ if (nonceLength === 0)
229
+ throw new Error('Invalid BRC-39 nonce length');
230
+ const iterations = readUInt32BE(file, 11);
231
+ const memoryKiB = readUInt32BE(file, 15);
232
+ const parallelism = file[19];
233
+ const hashLength = file[20];
234
+ validateKdfParams(iterations, memoryKiB, parallelism, hashLength);
235
+ return { saltLength, nonceLength, iterations, memoryKiB, parallelism, hashLength };
236
+ }
237
+ function assertHeaderConstants(file) {
220
238
  if (file[4] !== 1)
221
239
  throw new Error('Unsupported BRC-39 format version');
222
240
  if (file[5] !== 1)
@@ -227,29 +245,18 @@ async function decryptBRC39(bytes, password) {
227
245
  throw new Error('Unsupported BRC-39 KDF type');
228
246
  if (file[8] !== 0)
229
247
  throw new Error('Invalid BRC-39 flags');
230
- const saltLength = file[9];
231
- const nonceLength = file[10];
232
- const iterations = readUInt32BE(file, 11);
233
- const memoryKiB = readUInt32BE(file, 15);
234
- const parallelism = file[19];
235
- const hashLength = file[20];
236
- for (let i = 21; i < BRC39_HEADER_LENGTH; i++) {
237
- if (file[i] !== 0)
238
- throw new Error('Invalid BRC-39 reserved bytes');
239
- }
240
- if (saltLength === 0)
241
- throw new Error('Invalid BRC-39 salt length');
242
- if (nonceLength === 0)
243
- throw new Error('Invalid BRC-39 nonce length');
244
- validateKdfParams(iterations, memoryKiB, parallelism, hashLength);
245
- const payloadStart = BRC39_HEADER_LENGTH + saltLength + nonceLength;
248
+ }
249
+ async function decryptBRC39(bytes, password) {
250
+ const file = new Uint8Array(bytes);
251
+ const header = parseBRC39Header(file);
252
+ const payloadStart = BRC39_HEADER_LENGTH + header.saltLength + header.nonceLength;
246
253
  if (file.length <= payloadStart + BRC39_TAG_LENGTH)
247
254
  throw new Error('Invalid BRC-39 ciphertext');
248
- const salt = file.slice(BRC39_HEADER_LENGTH, BRC39_HEADER_LENGTH + saltLength);
249
- const nonce = file.slice(BRC39_HEADER_LENGTH + saltLength, payloadStart);
255
+ const salt = file.slice(BRC39_HEADER_LENGTH, BRC39_HEADER_LENGTH + header.saltLength);
256
+ const nonce = file.slice(BRC39_HEADER_LENGTH + header.saltLength, payloadStart);
250
257
  const ciphertext = file.slice(payloadStart, file.length - BRC39_TAG_LENGTH);
251
258
  const tag = file.slice(file.length - BRC39_TAG_LENGTH);
252
- const key = await deriveBRC39Key(password, salt, iterations, memoryKiB, parallelism);
259
+ const key = await deriveBRC39Key(password, salt, header.iterations, header.memoryKiB, header.parallelism);
253
260
  const plaintext = (0, AESGCM_1.AESGCMDecrypt)(ciphertext, nonce, tag, key);
254
261
  if (plaintext == null)
255
262
  throw new Error('BRC-39 authentication failed');
@@ -469,33 +476,40 @@ function normalizeSyncMap(source) {
469
476
  return normalized;
470
477
  for (const key of Object.keys(normalized)) {
471
478
  const incoming = source[key];
472
- if (!isObject(incoming))
473
- continue;
474
- const target = normalized[key];
475
- if (typeof incoming.entityName === 'string')
476
- target.entityName = incoming.entityName;
477
- if (Number.isInteger(incoming.count))
478
- target.count = incoming.count;
479
- if (isObject(incoming.idMap)) {
480
- target.idMap = {};
481
- for (const [remoteId, localId] of Object.entries(incoming.idMap)) {
482
- const parsedRemoteId = Number(remoteId);
483
- if (Number.isInteger(parsedRemoteId) && Number.isInteger(localId)) {
484
- target.idMap[parsedRemoteId] = localId;
485
- }
486
- }
487
- }
488
- if (typeof incoming.maxUpdated_at === 'string') {
489
- const maxUpdatedAt = new Date(incoming.maxUpdated_at);
490
- if (!Number.isNaN(maxUpdatedAt.getTime()))
491
- target.maxUpdated_at = maxUpdatedAt;
492
- }
493
- else if (incoming.maxUpdated_at instanceof Date) {
494
- target.maxUpdated_at = incoming.maxUpdated_at;
495
- }
479
+ if (isObject(incoming))
480
+ mergeSyncMapEntry(normalized[key], incoming);
496
481
  }
497
482
  return normalized;
498
483
  }
484
+ function mergeSyncMapEntry(target, incoming) {
485
+ if (typeof incoming.entityName === 'string')
486
+ target.entityName = incoming.entityName;
487
+ if (Number.isInteger(incoming.count))
488
+ target.count = incoming.count;
489
+ if (isObject(incoming.idMap))
490
+ target.idMap = parseIdMap(incoming.idMap);
491
+ applyMaxUpdatedAt(target, incoming.maxUpdated_at);
492
+ }
493
+ function parseIdMap(incoming) {
494
+ const idMap = {};
495
+ for (const [remoteId, localId] of Object.entries(incoming)) {
496
+ const parsedRemoteId = Number(remoteId);
497
+ if (Number.isInteger(parsedRemoteId) && Number.isInteger(localId)) {
498
+ idMap[parsedRemoteId] = localId;
499
+ }
500
+ }
501
+ return idMap;
502
+ }
503
+ function applyMaxUpdatedAt(target, value) {
504
+ if (typeof value === 'string') {
505
+ const maxUpdatedAt = new Date(value);
506
+ if (!Number.isNaN(maxUpdatedAt.getTime()))
507
+ target.maxUpdated_at = maxUpdatedAt;
508
+ }
509
+ else if (value instanceof Date) {
510
+ target.maxUpdated_at = value;
511
+ }
512
+ }
499
513
  function remapEntityIdMap(idMap, importIdMap) {
500
514
  for (const key of Object.keys(idMap)) {
501
515
  const targetId = importIdMap[idMap[Number(key)]];
@@ -530,101 +544,120 @@ function countDecodedRows(data) {
530
544
  data.txLabels.length + data.txLabelMaps.length + data.certificates.length + data.certificateFields.length +
531
545
  data.syncStates.length;
532
546
  }
533
- function validateRelationships(data) {
534
- const userId = requireNumber(data.user.userId, 'user.userId');
535
- const txIds = ids(data.tables.transactions, 'transactionId', 'transactions');
536
- const txidValues = new Set(data.tables.transactions.map(t => t.txid).filter((v) => typeof v === 'string'));
537
- const provenTxIds = ids(data.tables.provenTxs, 'provenTxId', 'provenTxs');
538
- const basketIds = ids(data.tables.outputBaskets, 'basketId', 'outputBaskets');
539
- const outputIds = ids(data.tables.outputs, 'outputId', 'outputs');
540
- const outputTagIds = ids(data.tables.outputTags, 'outputTagId', 'outputTags');
541
- const txLabelIds = ids(data.tables.txLabels, 'txLabelId', 'txLabels');
542
- const certificateIds = ids(data.tables.certificates, 'certificateId', 'certificates');
547
+ function buildRelationshipIndex(data) {
548
+ return {
549
+ userId: requireNumber(data.user.userId, 'user.userId'),
550
+ txIds: ids(data.tables.transactions, 'transactionId', 'transactions'),
551
+ txidValues: new Set(data.tables.transactions.map(t => t.txid).filter((v) => typeof v === 'string')),
552
+ provenTxIds: ids(data.tables.provenTxs, 'provenTxId', 'provenTxs'),
553
+ basketIds: ids(data.tables.outputBaskets, 'basketId', 'outputBaskets'),
554
+ outputIds: ids(data.tables.outputs, 'outputId', 'outputs'),
555
+ outputTagIds: ids(data.tables.outputTags, 'outputTagId', 'outputTags'),
556
+ txLabelIds: ids(data.tables.txLabels, 'txLabelId', 'txLabels'),
557
+ certificateIds: ids(data.tables.certificates, 'certificateId', 'certificates')
558
+ };
559
+ }
560
+ function requireRef(set, value, path, message) {
561
+ if (!set.has(requireNumber(value, path)))
562
+ throw new Error(message);
563
+ }
564
+ function validateTransactions(data, idx) {
543
565
  for (const row of data.tables.transactions) {
544
- requireUserId(row, userId, 'transactions');
545
- if (row.provenTxId != null && !provenTxIds.has(requireNumber(row.provenTxId, 'transaction.provenTxId'))) {
546
- throw new Error('BRC-38 transaction.provenTxId does not reference an exported provenTx');
566
+ requireUserId(row, idx.userId, 'transactions');
567
+ if (row.provenTxId != null) {
568
+ requireRef(idx.provenTxIds, row.provenTxId, 'transaction.provenTxId', 'BRC-38 transaction.provenTxId does not reference an exported provenTx');
547
569
  }
548
570
  }
549
- for (const row of data.tables.outputBaskets)
550
- requireUserId(row, userId, 'outputBaskets');
551
- for (const row of data.tables.outputTags)
552
- requireUserId(row, userId, 'outputTags');
553
- for (const row of data.tables.txLabels)
554
- requireUserId(row, userId, 'txLabels');
555
- for (const row of data.tables.certificates)
556
- requireUserId(row, userId, 'certificates');
557
- for (const row of data.tables.syncStates)
558
- requireUserId(row, userId, 'syncStates');
571
+ }
572
+ function validateOutputs(data, idx) {
559
573
  for (const row of data.tables.outputs) {
560
- requireUserId(row, userId, 'outputs');
561
- if (!txIds.has(requireNumber(row.transactionId, 'output.transactionId'))) {
562
- throw new Error('BRC-38 output.transactionId does not reference an exported transaction');
563
- }
564
- if (row.basketId != null && !basketIds.has(requireNumber(row.basketId, 'output.basketId'))) {
565
- throw new Error('BRC-38 output.basketId does not reference an exported output basket');
574
+ requireUserId(row, idx.userId, 'outputs');
575
+ requireRef(idx.txIds, row.transactionId, 'output.transactionId', 'BRC-38 output.transactionId does not reference an exported transaction');
576
+ if (row.basketId != null) {
577
+ requireRef(idx.basketIds, row.basketId, 'output.basketId', 'BRC-38 output.basketId does not reference an exported output basket');
566
578
  }
567
- if (row.spentBy != null && !txIds.has(requireNumber(row.spentBy, 'output.spentBy'))) {
568
- throw new Error('BRC-38 output.spentBy does not reference an exported transaction');
579
+ if (row.spentBy != null) {
580
+ requireRef(idx.txIds, row.spentBy, 'output.spentBy', 'BRC-38 output.spentBy does not reference an exported transaction');
569
581
  }
570
582
  }
583
+ }
584
+ function validateCommissions(data, idx) {
571
585
  for (const row of data.tables.commissions) {
572
- requireUserId(row, userId, 'commissions');
573
- if (!txIds.has(requireNumber(row.transactionId, 'commission.transactionId'))) {
574
- throw new Error('BRC-38 commission.transactionId does not reference an exported transaction');
575
- }
586
+ requireUserId(row, idx.userId, 'commissions');
587
+ requireRef(idx.txIds, row.transactionId, 'commission.transactionId', 'BRC-38 commission.transactionId does not reference an exported transaction');
576
588
  }
589
+ }
590
+ function validateTxLabelMaps(data, idx) {
577
591
  for (const row of data.tables.txLabelMaps) {
578
- if (!txIds.has(requireNumber(row.transactionId, 'txLabelMap.transactionId'))) {
579
- throw new Error('BRC-38 txLabelMap.transactionId does not reference an exported transaction');
580
- }
581
- if (!txLabelIds.has(requireNumber(row.txLabelId, 'txLabelMap.txLabelId'))) {
582
- throw new Error('BRC-38 txLabelMap.txLabelId does not reference an exported transaction label');
583
- }
592
+ requireRef(idx.txIds, row.transactionId, 'txLabelMap.transactionId', 'BRC-38 txLabelMap.transactionId does not reference an exported transaction');
593
+ requireRef(idx.txLabelIds, row.txLabelId, 'txLabelMap.txLabelId', 'BRC-38 txLabelMap.txLabelId does not reference an exported transaction label');
584
594
  }
595
+ }
596
+ function validateOutputTagMaps(data, idx) {
585
597
  for (const row of data.tables.outputTagMaps) {
586
- if (!outputIds.has(requireNumber(row.outputId, 'outputTagMap.outputId'))) {
587
- throw new Error('BRC-38 outputTagMap.outputId does not reference an exported output');
588
- }
589
- if (!outputTagIds.has(requireNumber(row.outputTagId, 'outputTagMap.outputTagId'))) {
590
- throw new Error('BRC-38 outputTagMap.outputTagId does not reference an exported output tag');
591
- }
598
+ requireRef(idx.outputIds, row.outputId, 'outputTagMap.outputId', 'BRC-38 outputTagMap.outputId does not reference an exported output');
599
+ requireRef(idx.outputTagIds, row.outputTagId, 'outputTagMap.outputTagId', 'BRC-38 outputTagMap.outputTagId does not reference an exported output tag');
592
600
  }
601
+ }
602
+ function validateCertificateFields(data, idx) {
593
603
  for (const row of data.tables.certificateFields) {
594
- requireUserId(row, userId, 'certificateFields');
595
- if (!certificateIds.has(requireNumber(row.certificateId, 'certificateField.certificateId'))) {
596
- throw new Error('BRC-38 certificateField.certificateId does not reference an exported certificate');
597
- }
604
+ requireUserId(row, idx.userId, 'certificateFields');
605
+ requireRef(idx.certificateIds, row.certificateId, 'certificateField.certificateId', 'BRC-38 certificateField.certificateId does not reference an exported certificate');
598
606
  }
607
+ }
608
+ function validateProvenTxReqs(data, idx) {
599
609
  for (const row of data.tables.provenTxReqs) {
600
- if (!txidValues.has(requireString(row.txid, 'provenTxReq.txid'))) {
610
+ if (!idx.txidValues.has(requireString(row.txid, 'provenTxReq.txid'))) {
601
611
  throw new Error('BRC-38 provenTxReq.txid does not match an exported transaction');
602
612
  }
603
- if (row.provenTxId != null && !provenTxIds.has(requireNumber(row.provenTxId, 'provenTxReq.provenTxId'))) {
604
- throw new Error('BRC-38 provenTxReq.provenTxId does not reference an exported provenTx');
613
+ if (row.provenTxId != null) {
614
+ requireRef(idx.provenTxIds, row.provenTxId, 'provenTxReq.provenTxId', 'BRC-38 provenTxReq.provenTxId does not reference an exported provenTx');
605
615
  }
606
616
  }
607
617
  }
618
+ function validateRelationships(data) {
619
+ const idx = buildRelationshipIndex(data);
620
+ validateTransactions(data, idx);
621
+ for (const row of data.tables.outputBaskets)
622
+ requireUserId(row, idx.userId, 'outputBaskets');
623
+ for (const row of data.tables.outputTags)
624
+ requireUserId(row, idx.userId, 'outputTags');
625
+ for (const row of data.tables.txLabels)
626
+ requireUserId(row, idx.userId, 'txLabels');
627
+ for (const row of data.tables.certificates)
628
+ requireUserId(row, idx.userId, 'certificates');
629
+ for (const row of data.tables.syncStates)
630
+ requireUserId(row, idx.userId, 'syncStates');
631
+ validateOutputs(data, idx);
632
+ validateCommissions(data, idx);
633
+ validateTxLabelMaps(data, idx);
634
+ validateOutputTagMaps(data, idx);
635
+ validateCertificateFields(data, idx);
636
+ validateProvenTxReqs(data, idx);
637
+ }
608
638
  function validatePortableRows(kind, rows, path) {
609
639
  var _a, _b, _c;
610
640
  const dateFields = new Set((_a = dateFieldsByKind[kind]) !== null && _a !== void 0 ? _a : []);
611
641
  const binaryFields = new Set((_b = binaryFieldsByKind[kind]) !== null && _b !== void 0 ? _b : []);
612
642
  const jsonFields = new Set((_c = jsonFieldsByKind[kind]) !== null && _c !== void 0 ? _c : []);
613
643
  for (const [index, row] of rows.entries()) {
614
- if (!isObject(row))
615
- throw new Error(`BRC-38 ${path}[${index}] must be an object`);
616
- for (const field of dateFields) {
617
- if (field in row)
618
- assertIsoDate(row[field], `${path}[${index}].${field}`);
619
- }
620
- for (const field of binaryFields) {
621
- if (field in row)
622
- assertBase64(row[field], `${path}[${index}].${field}`);
623
- }
624
- for (const field of jsonFields) {
625
- if (field in row && !isObject(row[field]))
626
- throw new Error(`BRC-38 ${path}[${index}].${field} must be an object`);
627
- }
644
+ validatePortableRow(row, `${path}[${index}]`, dateFields, binaryFields, jsonFields);
645
+ }
646
+ }
647
+ function validatePortableRow(row, rowPath, dateFields, binaryFields, jsonFields) {
648
+ if (!isObject(row))
649
+ throw new Error(`BRC-38 ${rowPath} must be an object`);
650
+ for (const field of dateFields) {
651
+ if (field in row)
652
+ assertIsoDate(row[field], `${rowPath}.${field}`);
653
+ }
654
+ for (const field of binaryFields) {
655
+ if (field in row)
656
+ assertBase64(row[field], `${rowPath}.${field}`);
657
+ }
658
+ for (const field of jsonFields) {
659
+ if (field in row && !isObject(row[field]))
660
+ throw new Error(`BRC-38 ${rowPath}.${field} must be an object`);
628
661
  }
629
662
  }
630
663
  function portableRow(kind, row) {
@@ -762,10 +795,23 @@ function canonicalize(value) {
762
795
  if (Array.isArray(value))
763
796
  return `[${value.map(canonicalize).join(',')}]`;
764
797
  if (isObject(value)) {
765
- return `{${Object.keys(value).sort().map(key => `${JSON.stringify(key)}:${canonicalize(value[key])}`).join(',')}}`;
798
+ const entries = Object.keys(value)
799
+ .sort(compareCodepoints)
800
+ .map(key => canonicalizeEntry(key, value[key]));
801
+ return `{${entries.join(',')}}`;
766
802
  }
767
803
  throw new Error(`Unsupported JSON value type: ${typeof value}`);
768
804
  }
805
+ function canonicalizeEntry(key, value) {
806
+ return `${JSON.stringify(key)}:${canonicalize(value)}`;
807
+ }
808
+ function compareCodepoints(a, b) {
809
+ if (a < b)
810
+ return -1;
811
+ if (a > b)
812
+ return 1;
813
+ return 0;
814
+ }
769
815
  function isoDate(date) {
770
816
  return date.toISOString();
771
817
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/storage/portable/index.ts"],"names":[],"mappings":"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"}
@@ -15,17 +15,23 @@ export interface ExtendedVerifiableCertificate extends IdentityCertificate {
15
15
  */
16
16
  export declare const transformVerifiableCertificatesWithTrust: (trustSettings: TrustSettings, certificates: VerifiableCertificate[]) => DiscoverCertificatesResult;
17
17
  /**
18
- * Performs an identity overlay service lookup query and returns the parsed results
18
+ * Performs an identity overlay service lookup query and returns the parsed results.
19
19
  *
20
- * @param query
21
- * @returns
20
+ * Identity paths benefit from a larger grace window (more hosts contribute outputs before the
21
+ * query resolves) — 300 ms is well under the "instant" perception threshold and catches the long
22
+ * tail of healthy-but-slightly-slow hosts.
22
23
  */
23
24
  export declare const queryOverlay: (query: unknown, resolver: LookupResolver) => Promise<VerifiableCertificate[]>;
24
25
  /**
25
- * Internal func: Parse the returned UTXOs Decrypt and verify the certificates and signatures Return the set of identity keys, certificates and decrypted certificate fields
26
+ * Parse the returned UTXOs, decrypting and verifying each certificate.
26
27
  *
27
- * @param {Output[]} outputs
28
- * @returns {Promise<VerifiableCertificate[]>}
28
+ * On UI runtimes (browser / React Native), yields between iterations so the JS thread does not
29
+ * own the frame for the full duration. On Node, runs straight through.
29
30
  */
30
31
  export declare const parseResults: (lookupResult: LookupAnswer) => Promise<VerifiableCertificate[]>;
32
+ /**
33
+ * Iterable variant of {@link parseResults}: emits each successfully parsed certificate as soon as
34
+ * it's ready, so callers can render progressively instead of waiting for the full set.
35
+ */
36
+ export declare function parseResults$(lookupResult: LookupAnswer): AsyncIterable<VerifiableCertificate>;
31
37
  //# sourceMappingURL=identityUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identityUtils.d.ts","sourceRoot":"","sources":["../../../../src/utility/identityUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,qBAAqB,EAGrB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAa,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGnE,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,aAAa,EAAE,iBAAiB,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACtD;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,GACnD,eAAe,aAAa,EAC5B,cAAc,qBAAqB,EAAE,KACpC,0BA0DF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAU,OAAO,OAAO,EAAE,UAAU,cAAc,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAO5G,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAU,cAAc,YAAY,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAmC9F,CAAA"}
1
+ {"version":3,"file":"identityUtils.d.ts","sourceRoot":"","sources":["../../../../src/utility/identityUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,qBAAqB,EAGrB,cAAc,EACd,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAa,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGnE,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,aAAa,EAAE,iBAAiB,CAAA;IAChC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACtD;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,GACnD,eAAe,aAAa,EAC5B,cAAc,qBAAqB,EAAE,KACpC,0BA0DF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAU,OAAO,OAAO,EAAE,UAAU,cAAc,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAO5G,CAAA;AAqDD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAU,cAAc,YAAY,KAAG,OAAO,CAAC,qBAAqB,EAAE,CAU9F,CAAA;AAED;;;GAGG;AACH,wBAAwB,aAAa,CAAE,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAQvG"}