@bsv/wallet-toolbox 1.7.19 → 1.7.22

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 (41) hide show
  1. package/docs/client.md +26 -2
  2. package/docs/services.md +13 -1
  3. package/docs/storage.md +13 -1
  4. package/docs/wallet.md +26 -2
  5. package/out/src/WalletPermissionsManager.d.ts +6 -0
  6. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  7. package/out/src/WalletPermissionsManager.js +241 -74
  8. package/out/src/WalletPermissionsManager.js.map +1 -1
  9. package/out/src/services/__tests/getRawTx.test.js +3 -0
  10. package/out/src/services/__tests/getRawTx.test.js.map +1 -1
  11. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +1 -1
  12. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +3 -1
  13. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
  14. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
  15. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +12 -0
  16. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  17. package/out/src/storage/StorageProvider.d.ts +16 -2
  18. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  19. package/out/src/storage/StorageProvider.js +33 -4
  20. package/out/src/storage/StorageProvider.js.map +1 -1
  21. package/out/src/storage/methods/__test/offsetKey.test.js +266 -100
  22. package/out/src/storage/methods/__test/offsetKey.test.js.map +1 -1
  23. package/out/src/storage/methods/getBeefForTransaction.js +1 -1
  24. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  25. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  26. package/out/src/storage/methods/internalizeAction.js +2 -2
  27. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  28. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +4 -0
  29. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
  30. package/out/tsconfig.all.tsbuildinfo +1 -1
  31. package/package.json +1 -1
  32. package/src/WalletPermissionsManager.ts +302 -71
  33. package/src/services/__tests/getRawTx.test.ts +2 -0
  34. package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +1 -1
  35. package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +2 -1
  36. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +12 -0
  37. package/src/storage/StorageProvider.ts +38 -5
  38. package/src/storage/methods/__test/offsetKey.test.ts +299 -103
  39. package/src/storage/methods/getBeefForTransaction.ts +3 -1
  40. package/src/storage/methods/internalizeAction.ts +4 -3
  41. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +2 -0
package/docs/client.md CHANGED
@@ -814,7 +814,7 @@ enableCache: boolean
814
814
 
815
815
  ###### Property idleWait
816
816
 
817
- Maximum msces of "normal" pause with no new data arriving.
817
+ Maximum msecs of "normal" pause with no new data arriving.
818
818
 
819
819
  ```ts
820
820
  idleWait: number | undefined
@@ -13218,7 +13218,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
13218
13218
  async listCertificates(auth: AuthId, args: Validation.ValidListCertificatesArgs): Promise<ListCertificatesResult>
13219
13219
  async verifyKnownValidTransaction(txid: string, trx?: TrxToken): Promise<boolean>
13220
13220
  async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
13221
- async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef | undefined>
13221
+ async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number, chainTracker?: ChainTracker, skipInvalidProofs?: boolean): Promise<Beef | undefined>
13222
13222
  async getBeefForTransaction(txid: string, options: StorageGetBeefOptions): Promise<Beef>
13223
13223
  async findMonitorEventById(id: number, trx?: TrxToken): Promise<TableMonitorEvent | undefined>
13224
13224
  async relinquishCertificate(auth: AuthId, args: RelinquishCertificateArgs): Promise<number>
@@ -13279,6 +13279,18 @@ async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?
13279
13279
  ```
13280
13280
  See also: [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [TrxToken](./client.md#interface-trxtoken)
13281
13281
 
13282
+ ###### Method getValidBeefForKnownTxid
13283
+
13284
+ Pulls data from storage to build a valid beef for a txid.
13285
+
13286
+ Optionally merges the data into an existing beef.
13287
+ Optionally requires a minimum number of proof levels.
13288
+
13289
+ ```ts
13290
+ async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
13291
+ ```
13292
+ See also: [TrxToken](./client.md#interface-trxtoken)
13293
+
13282
13294
  ###### Method updateProvenTxReqWithNewProvenTx
13283
13295
 
13284
13296
  Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
@@ -19665,6 +19677,18 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
19665
19677
  prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
19666
19678
  sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
19667
19679
  validated: true
19680
+ },
19681
+ {
19682
+ chain: "main",
19683
+ count: 31772,
19684
+ fileHash: "NuVsRUrI5QnjILbYy4LS3A/Udl6PH/m8Y9uVguEsekM=",
19685
+ fileName: "mainNet_9.headers",
19686
+ firstHeight: 900000,
19687
+ lastChainWork: "0000000000000000000000000000000000000000016ab16bb9b31430588788d3",
19688
+ lastHash: "0000000000000000024a2f1caef4b0ffdc1a036b09f9ed7f48b538f619f32ef2",
19689
+ prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
19690
+ prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
19691
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders"
19668
19692
  }
19669
19693
  ]
19670
19694
  ```
package/docs/services.md CHANGED
@@ -610,7 +610,7 @@ enableCache: boolean
610
610
 
611
611
  ###### Property idleWait
612
612
 
613
- Maximum msces of "normal" pause with no new data arriving.
613
+ Maximum msecs of "normal" pause with no new data arriving.
614
614
 
615
615
  ```ts
616
616
  idleWait: number | undefined
@@ -6364,6 +6364,18 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
6364
6364
  prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
6365
6365
  sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
6366
6366
  validated: true
6367
+ },
6368
+ {
6369
+ chain: "main",
6370
+ count: 31772,
6371
+ fileHash: "NuVsRUrI5QnjILbYy4LS3A/Udl6PH/m8Y9uVguEsekM=",
6372
+ fileName: "mainNet_9.headers",
6373
+ firstHeight: 900000,
6374
+ lastChainWork: "0000000000000000000000000000000000000000016ab16bb9b31430588788d3",
6375
+ lastHash: "0000000000000000024a2f1caef4b0ffdc1a036b09f9ed7f48b538f619f32ef2",
6376
+ prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
6377
+ prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
6378
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders"
6367
6379
  }
6368
6380
  ]
6369
6381
  ```
package/docs/storage.md CHANGED
@@ -3949,7 +3949,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
3949
3949
  async listCertificates(auth: AuthId, args: Validation.ValidListCertificatesArgs): Promise<ListCertificatesResult>
3950
3950
  async verifyKnownValidTransaction(txid: string, trx?: TrxToken): Promise<boolean>
3951
3951
  async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
3952
- async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef | undefined>
3952
+ async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number, chainTracker?: ChainTracker, skipInvalidProofs?: boolean): Promise<Beef | undefined>
3953
3953
  async getBeefForTransaction(txid: string, options: StorageGetBeefOptions): Promise<Beef>
3954
3954
  async findMonitorEventById(id: number, trx?: TrxToken): Promise<TableMonitorEvent | undefined>
3955
3955
  async relinquishCertificate(auth: AuthId, args: RelinquishCertificateArgs): Promise<number>
@@ -4010,6 +4010,18 @@ async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?
4010
4010
  ```
4011
4011
  See also: [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [TrxToken](./client.md#interface-trxtoken)
4012
4012
 
4013
+ ###### Method getValidBeefForKnownTxid
4014
+
4015
+ Pulls data from storage to build a valid beef for a txid.
4016
+
4017
+ Optionally merges the data into an existing beef.
4018
+ Optionally requires a minimum number of proof levels.
4019
+
4020
+ ```ts
4021
+ async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
4022
+ ```
4023
+ See also: [TrxToken](./client.md#interface-trxtoken)
4024
+
4013
4025
  ###### Method updateProvenTxReqWithNewProvenTx
4014
4026
 
4015
4027
  Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
package/docs/wallet.md CHANGED
@@ -813,7 +813,7 @@ enableCache: boolean
813
813
 
814
814
  ###### Property idleWait
815
815
 
816
- Maximum msces of "normal" pause with no new data arriving.
816
+ Maximum msecs of "normal" pause with no new data arriving.
817
817
 
818
818
  ```ts
819
819
  idleWait: number | undefined
@@ -13217,7 +13217,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
13217
13217
  async listCertificates(auth: AuthId, args: Validation.ValidListCertificatesArgs): Promise<ListCertificatesResult>
13218
13218
  async verifyKnownValidTransaction(txid: string, trx?: TrxToken): Promise<boolean>
13219
13219
  async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
13220
- async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef | undefined>
13220
+ async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number, chainTracker?: ChainTracker, skipInvalidProofs?: boolean): Promise<Beef | undefined>
13221
13221
  async getBeefForTransaction(txid: string, options: StorageGetBeefOptions): Promise<Beef>
13222
13222
  async findMonitorEventById(id: number, trx?: TrxToken): Promise<TableMonitorEvent | undefined>
13223
13223
  async relinquishCertificate(auth: AuthId, args: RelinquishCertificateArgs): Promise<number>
@@ -13278,6 +13278,18 @@ async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?
13278
13278
  ```
13279
13279
  See also: [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [TrxToken](./client.md#interface-trxtoken)
13280
13280
 
13281
+ ###### Method getValidBeefForKnownTxid
13282
+
13283
+ Pulls data from storage to build a valid beef for a txid.
13284
+
13285
+ Optionally merges the data into an existing beef.
13286
+ Optionally requires a minimum number of proof levels.
13287
+
13288
+ ```ts
13289
+ async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>
13290
+ ```
13291
+ See also: [TrxToken](./client.md#interface-trxtoken)
13292
+
13281
13293
  ###### Method updateProvenTxReqWithNewProvenTx
13282
13294
 
13283
13295
  Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
@@ -19664,6 +19676,18 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
19664
19676
  prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
19665
19677
  sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
19666
19678
  validated: true
19679
+ },
19680
+ {
19681
+ chain: "main",
19682
+ count: 31772,
19683
+ fileHash: "NuVsRUrI5QnjILbYy4LS3A/Udl6PH/m8Y9uVguEsekM=",
19684
+ fileName: "mainNet_9.headers",
19685
+ firstHeight: 900000,
19686
+ lastChainWork: "0000000000000000000000000000000000000000016ab16bb9b31430588788d3",
19687
+ lastHash: "0000000000000000024a2f1caef4b0ffdc1a036b09f9ed7f48b538f619f32ef2",
19688
+ prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
19689
+ prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
19690
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders"
19667
19691
  }
19668
19692
  ]
19669
19693
  ```
@@ -605,6 +605,12 @@ export declare class WalletPermissionsManager implements WalletInterface {
605
605
  * @param amount For DSAP, the authorized spending limit
606
606
  */
607
607
  private createPermissionOnChain;
608
+ private mapWithConcurrency;
609
+ private runBestEffortBatches;
610
+ private runBestEffortChunk;
611
+ private buildPermissionOutput;
612
+ private createPermissionTokensBestEffort;
613
+ private renewPermissionTokensBestEffort;
608
614
  private coalescePermissionTokens;
609
615
  /**
610
616
  * Renews a permission token by spending the old token as input and creating a new token output.
@@ -1 +1 @@
1
- {"version":3,"file":"WalletPermissionsManager.d.ts","sourceRoot":"","sources":["../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletPermissionsManager.d.ts","sourceRoot":"","sources":["../../src/WalletPermissionsManager.ts"],"names":[],"mappings":"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"}
@@ -334,62 +334,67 @@ class WalletPermissionsManager {
334
334
  }
335
335
  // --- End Validation ---
336
336
  const expiry = params.expiry || 0; // default: never expires
337
+ const toCreate = [];
338
+ const toRenew = [];
337
339
  if (params.granted.spendingAuthorization) {
338
- await this.createPermissionOnChain({
339
- type: 'spending',
340
+ toCreate.push({
341
+ request: {
342
+ type: 'spending',
343
+ originator,
344
+ spending: { satoshis: params.granted.spendingAuthorization.amount },
345
+ reason: params.granted.spendingAuthorization.description
346
+ },
347
+ expiry: 0,
348
+ amount: params.granted.spendingAuthorization.amount
349
+ });
350
+ }
351
+ const grantedProtocols = params.granted.protocolPermissions || [];
352
+ const protocolTokens = await this.mapWithConcurrency(grantedProtocols, 8, async (p) => {
353
+ const token = await this.findProtocolToken(originator, false, p.protocolID, p.counterparty || 'self', true, originLookupValues);
354
+ return { p, token };
355
+ });
356
+ for (const { p, token } of protocolTokens) {
357
+ const request = {
358
+ type: 'protocol',
340
359
  originator,
341
- spending: { satoshis: params.granted.spendingAuthorization.amount },
342
- reason: params.granted.spendingAuthorization.description
343
- }, 0, // No expiry for spending tokens
344
- params.granted.spendingAuthorization.amount);
345
- }
346
- for (const p of params.granted.protocolPermissions || []) {
347
- const token = await this.findProtocolToken(originator, false, // No privileged protocols allowed in groups for added security.
348
- p.protocolID, p.counterparty || 'self', true, originLookupValues);
360
+ privileged: false,
361
+ protocolID: p.protocolID,
362
+ counterparty: p.counterparty || 'self',
363
+ reason: p.description
364
+ };
349
365
  if (token) {
350
- const request = {
351
- type: 'protocol',
352
- originator,
353
- privileged: false, // No privileged protocols allowed in groups for added security.
354
- protocolID: p.protocolID,
355
- counterparty: p.counterparty || 'self',
356
- reason: p.description
357
- };
358
- await this.renewPermissionOnChain(token, request, expiry);
359
- this.markRecentGrant(request);
366
+ toRenew.push({ oldToken: token, request, expiry });
360
367
  }
361
368
  else {
362
- const request = {
363
- type: 'protocol',
364
- originator,
365
- privileged: false, // No privileged protocols allowed in groups for added security.
366
- protocolID: p.protocolID,
367
- counterparty: p.counterparty || 'self',
368
- reason: p.description
369
- };
370
- await this.createPermissionOnChain(request, expiry);
371
- this.markRecentGrant(request);
369
+ toCreate.push({ request, expiry });
372
370
  }
373
371
  }
374
372
  for (const b of params.granted.basketAccess || []) {
375
- const request = { type: 'basket', originator, basket: b.basket, reason: b.description };
376
- await this.createPermissionOnChain(request, expiry);
377
- this.markRecentGrant(request);
373
+ toCreate.push({
374
+ request: { type: 'basket', originator, basket: b.basket, reason: b.description },
375
+ expiry
376
+ });
378
377
  }
379
378
  for (const c of params.granted.certificateAccess || []) {
380
- const request = {
381
- type: 'certificate',
382
- originator,
383
- privileged: false, // No certificates on the privileged identity are allowed as part of groups.
384
- certificate: {
385
- verifier: c.verifierPublicKey,
386
- certType: c.type,
387
- fields: c.fields
379
+ toCreate.push({
380
+ request: {
381
+ type: 'certificate',
382
+ originator,
383
+ privileged: false,
384
+ certificate: {
385
+ verifier: c.verifierPublicKey,
386
+ certType: c.type,
387
+ fields: c.fields
388
+ },
389
+ reason: c.description
388
390
  },
389
- reason: c.description
390
- };
391
- await this.createPermissionOnChain(request, expiry);
392
- this.markRecentGrant(request);
391
+ expiry
392
+ });
393
+ }
394
+ const created = await this.createPermissionTokensBestEffort(toCreate);
395
+ const renewed = await this.renewPermissionTokensBestEffort(toRenew);
396
+ for (const req of [...created, ...renewed]) {
397
+ this.markRecentGrant(req);
393
398
  }
394
399
  // Resolve all pending promises for this request
395
400
  for (const p of matching.pending) {
@@ -436,34 +441,34 @@ class WalletPermissionsManager {
436
441
  throw new Error('Granted protocol permissions are not a subset of the original request.');
437
442
  }
438
443
  const expiry = params.expiry || 0;
439
- for (const p of params.granted.protocols || []) {
444
+ const toCreate = [];
445
+ const toRenew = [];
446
+ const grantedProtocols = params.granted.protocols || [];
447
+ const protocolTokens = await this.mapWithConcurrency(grantedProtocols, 8, async (p) => {
440
448
  const token = await this.findProtocolToken(originator, false, p.protocolID, counterparty, true, originLookupValues);
449
+ return { p, token };
450
+ });
451
+ for (const { p, token } of protocolTokens) {
452
+ const request = {
453
+ type: 'protocol',
454
+ originator,
455
+ privileged: false,
456
+ protocolID: p.protocolID,
457
+ counterparty,
458
+ reason: p.description
459
+ };
441
460
  if (token) {
442
- const request = {
443
- type: 'protocol',
444
- originator,
445
- privileged: false,
446
- protocolID: p.protocolID,
447
- counterparty,
448
- reason: p.description
449
- };
450
- await this.renewPermissionOnChain(token, request, expiry);
451
- this.markRecentGrant(request);
461
+ toRenew.push({ oldToken: token, request, expiry });
452
462
  }
453
463
  else {
454
- const request = {
455
- type: 'protocol',
456
- originator,
457
- privileged: false,
458
- protocolID: p.protocolID,
459
- counterparty,
460
- reason: p.description
461
- };
462
- await this.createPermissionOnChain(request, expiry);
463
- this.markRecentGrant(request);
464
+ toCreate.push({ request, expiry });
464
465
  }
465
466
  }
466
- this.markPactEstablished(originator, counterparty);
467
+ const created = await this.createPermissionTokensBestEffort(toCreate);
468
+ const renewed = await this.renewPermissionTokensBestEffort(toRenew);
469
+ for (const req of [...created, ...renewed]) {
470
+ this.markRecentGrant(req);
471
+ }
467
472
  for (const p of matching.pending) {
468
473
  p.resolve(true);
469
474
  }
@@ -1742,10 +1747,128 @@ class WalletPermissionsManager {
1742
1747
  }
1743
1748
  ],
1744
1749
  options: {
1745
- acceptDelayedBroadcast: false
1750
+ acceptDelayedBroadcast: true
1746
1751
  }
1747
1752
  }, this.adminOriginator);
1748
1753
  }
1754
+ async mapWithConcurrency(items, concurrency, fn) {
1755
+ if (!items.length)
1756
+ return [];
1757
+ const results = new Array(items.length);
1758
+ let i = 0;
1759
+ const worker = async () => {
1760
+ while (true) {
1761
+ const idx = i++;
1762
+ if (idx >= items.length)
1763
+ return;
1764
+ results[idx] = await fn(items[idx]);
1765
+ }
1766
+ };
1767
+ await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => worker()));
1768
+ return results;
1769
+ }
1770
+ async runBestEffortBatches(items, chunkSize, runChunk) {
1771
+ if (!items.length)
1772
+ return [];
1773
+ const out = [];
1774
+ for (let i = 0; i < items.length; i += chunkSize) {
1775
+ const chunk = items.slice(i, i + chunkSize);
1776
+ out.push(...(await this.runBestEffortChunk(chunk, runChunk)));
1777
+ }
1778
+ return out;
1779
+ }
1780
+ async runBestEffortChunk(chunk, runChunk) {
1781
+ try {
1782
+ return await runChunk(chunk);
1783
+ }
1784
+ catch (e) {
1785
+ if (chunk.length <= 1) {
1786
+ console.error('Permission batch failed:', e);
1787
+ return [];
1788
+ }
1789
+ const mid = Math.ceil(chunk.length / 2);
1790
+ const left = await this.runBestEffortChunk(chunk.slice(0, mid), runChunk);
1791
+ const right = await this.runBestEffortChunk(chunk.slice(mid), runChunk);
1792
+ return [...left, ...right];
1793
+ }
1794
+ }
1795
+ async buildPermissionOutput(r, expiry, amount) {
1796
+ const normalizedOriginator = this.normalizeOriginator(r.originator) || r.originator;
1797
+ r.originator = normalizedOriginator;
1798
+ const basketName = BASKET_MAP[r.type];
1799
+ if (!basketName) {
1800
+ throw new Error(`Unsupported permission type: ${r.type}`);
1801
+ }
1802
+ const fields = await this.buildPushdropFields(r, expiry, amount);
1803
+ const script = await new sdk_1.PushDrop(this.underlying).lock(fields, WalletPermissionsManager.PERM_TOKEN_ENCRYPTION_PROTOCOL, '1', 'self', true, true);
1804
+ const tags = this.buildTagsForRequest(r);
1805
+ return {
1806
+ request: r,
1807
+ output: {
1808
+ lockingScript: script.toHex(),
1809
+ satoshis: 1,
1810
+ outputDescription: `${r.type} permission token`,
1811
+ basket: basketName,
1812
+ tags
1813
+ }
1814
+ };
1815
+ }
1816
+ async createPermissionTokensBestEffort(items) {
1817
+ const CHUNK = 25;
1818
+ return this.runBestEffortBatches(items, CHUNK, async (chunk) => {
1819
+ const built = await this.mapWithConcurrency(chunk, 8, c => this.buildPermissionOutput(c.request, c.expiry, c.amount));
1820
+ await this.createAction({
1821
+ description: `Grant ${built.length} permissions`,
1822
+ outputs: built.map(b => b.output),
1823
+ options: { acceptDelayedBroadcast: true }
1824
+ }, this.adminOriginator);
1825
+ return built.map(b => b.request);
1826
+ });
1827
+ }
1828
+ async renewPermissionTokensBestEffort(items) {
1829
+ const CHUNK = 15;
1830
+ return this.runBestEffortBatches(items, CHUNK, async (chunk) => {
1831
+ const built = await this.mapWithConcurrency(chunk, 8, c => this.buildPermissionOutput(c.request, c.expiry, c.amount));
1832
+ const inputBeef = new sdk_1.Beef();
1833
+ for (const c of chunk) {
1834
+ inputBeef.mergeBeef(sdk_1.Beef.fromBinary(c.oldToken.tx));
1835
+ }
1836
+ const { signableTransaction } = await this.createAction({
1837
+ description: `Renew ${chunk.length} permissions`,
1838
+ inputBEEF: inputBeef.toBinary(),
1839
+ inputs: chunk.map((c, i) => ({
1840
+ outpoint: `${c.oldToken.txid}.${c.oldToken.outputIndex}`,
1841
+ unlockingScriptLength: 73,
1842
+ inputDescription: `Consume old permission token #${i + 1}`
1843
+ })),
1844
+ outputs: built.map(b => b.output),
1845
+ options: {
1846
+ acceptDelayedBroadcast: true,
1847
+ randomizeOutputs: false,
1848
+ signAndProcess: false
1849
+ }
1850
+ }, this.adminOriginator);
1851
+ if (!(signableTransaction === null || signableTransaction === void 0 ? void 0 : signableTransaction.reference) || !signableTransaction.tx) {
1852
+ throw new Error('Failed to create signable transaction');
1853
+ }
1854
+ const partialTx = sdk_1.Transaction.fromAtomicBEEF(signableTransaction.tx);
1855
+ const pushdrop = new sdk_1.PushDrop(this.underlying);
1856
+ const spends = {};
1857
+ for (let i = 0; i < chunk.length; i++) {
1858
+ const token = chunk[i].oldToken;
1859
+ const unlocker = pushdrop.unlock(WalletPermissionsManager.PERM_TOKEN_ENCRYPTION_PROTOCOL, '1', 'self', 'all', false, 1, sdk_1.LockingScript.fromHex(token.outputScript));
1860
+ const unlockingScript = await unlocker.sign(partialTx, i);
1861
+ spends[i] = { unlockingScript: unlockingScript.toHex() };
1862
+ }
1863
+ const { txid } = await this.underlying.signAction({
1864
+ reference: signableTransaction.reference,
1865
+ spends
1866
+ });
1867
+ if (!txid)
1868
+ throw new Error('Failed to finalize renewal transaction');
1869
+ return built.map(b => b.request);
1870
+ });
1871
+ }
1749
1872
  async coalescePermissionTokens(oldTokens, newScript, opts) {
1750
1873
  var _a;
1751
1874
  if (!(oldTokens === null || oldTokens === void 0 ? void 0 : oldTokens.length))
@@ -1776,7 +1899,7 @@ class WalletPermissionsManager {
1776
1899
  }
1777
1900
  ],
1778
1901
  options: {
1779
- acceptDelayedBroadcast: false,
1902
+ acceptDelayedBroadcast: true,
1780
1903
  randomizeOutputs: false,
1781
1904
  signAndProcess: false
1782
1905
  }
@@ -1855,7 +1978,7 @@ class WalletPermissionsManager {
1855
1978
  }
1856
1979
  ],
1857
1980
  options: {
1858
- acceptDelayedBroadcast: false
1981
+ acceptDelayedBroadcast: true
1859
1982
  }
1860
1983
  }, this.adminOriginator);
1861
1984
  const tx = sdk_1.Transaction.fromBEEF(signableTransaction.tx);
@@ -1991,7 +2114,7 @@ class WalletPermissionsManager {
1991
2114
  tags,
1992
2115
  tagQueryMode: 'all',
1993
2116
  include: 'entire transactions',
1994
- limit: 100
2117
+ limit: 10000
1995
2118
  }, this.adminOriginator);
1996
2119
  for (const out of result.outputs) {
1997
2120
  if (seen.has(out.outpoint))
@@ -2296,16 +2419,60 @@ class WalletPermissionsManager {
2296
2419
  }
2297
2420
  ],
2298
2421
  options: {
2299
- acceptDelayedBroadcast: false
2422
+ acceptDelayedBroadcast: true
2300
2423
  }
2301
2424
  }, this.adminOriginator);
2302
2425
  const tx = sdk_1.Transaction.fromBEEF(signableTransaction.tx);
2426
+ const normalizeTxid = (txid) => (txid !== null && txid !== void 0 ? txid : '').toLowerCase();
2427
+ const reverseHexTxid = (txid) => {
2428
+ const hex = normalizeTxid(txid);
2429
+ if (!/^[0-9a-f]{64}$/.test(hex))
2430
+ return hex;
2431
+ const bytes = hex.match(/../g);
2432
+ return bytes ? bytes.reverse().join('') : hex;
2433
+ };
2434
+ const matchesOutpointString = (outpoint) => {
2435
+ const dot = outpoint.lastIndexOf('.');
2436
+ const colon = outpoint.lastIndexOf(':');
2437
+ const sep = dot > colon ? dot : colon;
2438
+ if (sep === -1)
2439
+ return false;
2440
+ const txidPart = outpoint.slice(0, sep);
2441
+ const indexPart = outpoint.slice(sep + 1);
2442
+ const vout = Number(indexPart);
2443
+ if (!Number.isFinite(vout))
2444
+ return false;
2445
+ return normalizeTxid(txidPart) === normalizeTxid(oldToken.txid) && vout === oldToken.outputIndex;
2446
+ };
2447
+ let permInputIndex = tx.inputs.findIndex((input) => {
2448
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
2449
+ const txidCandidate = (_g = (_f = (_e = (_d = (_c = (_b = (_a = input === null || input === void 0 ? void 0 : input.sourceTXID) !== null && _a !== void 0 ? _a : input === null || input === void 0 ? void 0 : input.sourceTxid) !== null && _b !== void 0 ? _b : input === null || input === void 0 ? void 0 : input.sourceTxId) !== null && _c !== void 0 ? _c : input === null || input === void 0 ? void 0 : input.prevTxId) !== null && _d !== void 0 ? _d : input === null || input === void 0 ? void 0 : input.prevTxid) !== null && _e !== void 0 ? _e : input === null || input === void 0 ? void 0 : input.prevTXID) !== null && _f !== void 0 ? _f : input === null || input === void 0 ? void 0 : input.txid) !== null && _g !== void 0 ? _g : input === null || input === void 0 ? void 0 : input.txID;
2450
+ const voutCandidate = (_l = (_k = (_j = (_h = input === null || input === void 0 ? void 0 : input.sourceOutputIndex) !== null && _h !== void 0 ? _h : input === null || input === void 0 ? void 0 : input.sourceOutput) !== null && _j !== void 0 ? _j : input === null || input === void 0 ? void 0 : input.outputIndex) !== null && _k !== void 0 ? _k : input === null || input === void 0 ? void 0 : input.vout) !== null && _l !== void 0 ? _l : input === null || input === void 0 ? void 0 : input.prevOutIndex;
2451
+ if (typeof txidCandidate === 'string' && typeof voutCandidate === 'number') {
2452
+ const cand = normalizeTxid(txidCandidate);
2453
+ const target = normalizeTxid(oldToken.txid);
2454
+ if (cand === target && voutCandidate === oldToken.outputIndex)
2455
+ return true;
2456
+ if (cand === reverseHexTxid(oldToken.txid) && voutCandidate === oldToken.outputIndex)
2457
+ return true;
2458
+ }
2459
+ const outpointCandidate = (_o = (_m = input === null || input === void 0 ? void 0 : input.outpoint) !== null && _m !== void 0 ? _m : input === null || input === void 0 ? void 0 : input.sourceOutpoint) !== null && _o !== void 0 ? _o : input === null || input === void 0 ? void 0 : input.prevOutpoint;
2460
+ if (typeof outpointCandidate === 'string' && matchesOutpointString(outpointCandidate))
2461
+ return true;
2462
+ return false;
2463
+ });
2464
+ if (permInputIndex === -1 && tx.inputs.length === 1) {
2465
+ permInputIndex = 0;
2466
+ }
2467
+ if (permInputIndex === -1) {
2468
+ throw new Error('Unable to locate permission token input for revocation.');
2469
+ }
2303
2470
  const unlocker = new sdk_1.PushDrop(this.underlying).unlock(WalletPermissionsManager.PERM_TOKEN_ENCRYPTION_PROTOCOL, '1', 'self', 'all', false, 1, sdk_1.LockingScript.fromHex(oldToken.outputScript));
2304
- const unlockingScript = await unlocker.sign(tx, 0);
2471
+ const unlockingScript = await unlocker.sign(tx, permInputIndex);
2305
2472
  await this.underlying.signAction({
2306
2473
  reference: signableTransaction.reference,
2307
2474
  spends: {
2308
- 0: {
2475
+ [permInputIndex]: {
2309
2476
  unlockingScript: unlockingScript.toHex()
2310
2477
  }
2311
2478
  }