@bsv/wallet-toolbox-mobile 1.5.0 → 1.5.8

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 (55) hide show
  1. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  2. package/out/src/CWIStyleWalletManager.js +40 -5
  3. package/out/src/CWIStyleWalletManager.js.map +1 -1
  4. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  5. package/out/src/WalletPermissionsManager.js +10 -29
  6. package/out/src/WalletPermissionsManager.js.map +1 -1
  7. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
  8. package/out/src/monitor/tasks/TaskReviewStatus.js +1 -1
  9. package/out/src/services/chaintracker/{BhsChainTracker.d.ts → BHServiceClient.d.ts} +12 -16
  10. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
  11. package/out/src/services/chaintracker/BHServiceClient.js +163 -0
  12. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
  13. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +140 -0
  14. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
  15. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +467 -0
  16. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
  17. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
  18. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
  19. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
  20. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
  21. package/out/src/services/chaintracker/index.d.ts +1 -1
  22. package/out/src/services/chaintracker/index.js +1 -1
  23. package/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -1
  24. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  25. package/out/src/services/createDefaultWalletServicesOptions.js +10 -7
  26. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  27. package/out/src/storage/WalletStorageManager.d.ts +19 -25
  28. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  29. package/out/src/storage/WalletStorageManager.js +64 -69
  30. package/out/src/storage/WalletStorageManager.js.map +1 -1
  31. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  32. package/out/src/storage/methods/createAction.js +9 -4
  33. package/out/src/storage/methods/createAction.js.map +1 -1
  34. package/out/src/storage/methods/processAction.js +1 -1
  35. package/out/src/storage/methods/processAction.js.map +1 -1
  36. package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
  37. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
  38. package/out/src/utility/utilityHelpers.buffer.js +45 -0
  39. package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
  40. package/package.json +5 -5
  41. package/out/src/SetupClient.mobile.d.ts +0 -90
  42. package/out/src/SetupClient.mobile.d.ts.map +0 -1
  43. package/out/src/SetupClient.mobile.js +0 -183
  44. package/out/src/SetupClient.mobile.js.map +0 -1
  45. package/out/src/SetupWallet.mobile.d.ts +0 -93
  46. package/out/src/SetupWallet.mobile.d.ts.map +0 -1
  47. package/out/src/SetupWallet.mobile.js +0 -3
  48. package/out/src/SetupWallet.mobile.js.map +0 -1
  49. package/out/src/services/chaintracker/BhsChainTracker.d.ts.map +0 -1
  50. package/out/src/services/chaintracker/BhsChainTracker.js +0 -84
  51. package/out/src/services/chaintracker/BhsChainTracker.js.map +0 -1
  52. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +0 -98
  53. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +0 -1
  54. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +0 -38
  55. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dirtyHashes = void 0;
4
+ exports.validateAgainstDirtyHashes = validateAgainstDirtyHashes;
5
+ /**
6
+ * These hashes are for blocks that are to known to have violated the Bitcoin
7
+ * protocol. Regardless of the amount of proof-of-work that chains built on top
8
+ * of them may have accumulated, they cannot be considered valid Bitcoin blocks.
9
+ *
10
+ * In the first instance, segregating witness data from transactions is not
11
+ * part of the design of Bitcoin.
12
+ *
13
+ * In the second instance, adding new opcodes to be used when evaluating
14
+ * scripts is also not allowed.
15
+ */
16
+ exports.dirtyHashes = {
17
+ // Block 478,558 with hash of 0000000000000000011865af4122fe3b144e2cbeea86142e8ff2fb4107352d43 was the last block shared by BSV, BCH and BTC
18
+ // Block 478,559 with hash of 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148 was the first block of the BTC Segwit chain.
19
+ // Block 478,559 with hash of 000000000000000000651ef99cb9fcbe0dadde1d424bd9f15ff20136191a5eec was the valid Bitcoin block shared by BSV and BCH.
20
+ '00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148': 'This is the first header of the invalid SegWit chain.',
21
+ '0000000000000000004626ff6e3b936941d341c5932ece4357eeccac44e6d56c': 'This is the first header of the invalid ABC chain.'
22
+ };
23
+ /**
24
+ * Throws Error if blockHash is in the dirtyHashes list.
25
+ */
26
+ function validateAgainstDirtyHashes(blockHash) {
27
+ if (exports.dirtyHashes[blockHash]) {
28
+ throw new Error(`Not adding a header with a dirty hash: ${exports.dirtyHashes[blockHash]}`);
29
+ }
30
+ }
31
+ //# sourceMappingURL=dirtyHashes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dirtyHashes.js","sourceRoot":"","sources":["../../../../../../../src/services/chaintracker/chaintracks/util/dirtyHashes.ts"],"names":[],"mappings":";;;AAwBA,gEAIC;AA5BD;;;;;;;;;;GAUG;AACU,QAAA,WAAW,GAAG;IACzB,4IAA4I;IAC5I,2IAA2I;IAC3I,iJAAiJ;IACjJ,kEAAkE,EAChE,uDAAuD;IACzD,kEAAkE,EAChE,oDAAoD;CACvD,CAAA;AAED;;GAEG;AACH,SAAgB,0BAA0B,CAAC,SAAiB;IAC1D,IAAI,mBAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,mBAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACrF,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './chaintracks';
2
2
  export * from './ChaintracksChainTracker';
3
- export * from './BhsChainTracker';
3
+ export * from './BHServiceClient';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -16,5 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chaintracks"), exports);
18
18
  __exportStar(require("./ChaintracksChainTracker"), exports);
19
- __exportStar(require("./BhsChainTracker"), exports);
19
+ __exportStar(require("./BHServiceClient"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { sdk } from '../index.client';
2
- export declare function createDefaultWalletServicesOptions(chain: sdk.Chain): sdk.WalletServicesOptions;
2
+ export declare function createDefaultWalletServicesOptions(chain: sdk.Chain, arcCallbackUrl?: string, arcCallbackToken?: string, arcApiKey?: string): sdk.WalletServicesOptions;
3
3
  export declare function arcDefaultUrl(chain: sdk.Chain): string;
4
4
  export declare function arcGorillaPoolUrl(chain: sdk.Chain): string | undefined;
5
5
  //# sourceMappingURL=createDefaultWalletServicesOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,qBAAqB,CA8C9F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAGtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,SAAS,CAGtE"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.d.ts","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,qBAAqB,CAiD3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAGtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,SAAS,CAGtE"}
@@ -5,12 +5,11 @@ exports.arcDefaultUrl = arcDefaultUrl;
5
5
  exports.arcGorillaPoolUrl = arcGorillaPoolUrl;
6
6
  const index_client_1 = require("../index.client");
7
7
  const chaintracker_1 = require("./chaintracker");
8
- function createDefaultWalletServicesOptions(chain) {
8
+ function createDefaultWalletServicesOptions(chain, arcCallbackUrl, arcCallbackToken, arcApiKey) {
9
9
  const deploymentId = `wallet-toolbox-${(0, index_client_1.randomBytesHex)(16)}`;
10
- const taalApiKey = chain === 'main'
10
+ const taalApiKey = arcApiKey || chain === 'main'
11
11
  ? 'mainnet_9596de07e92300c6287e4393594ae39c' // no plan
12
12
  : 'testnet_0e6cf72133b43ea2d7861da2a38684e3'; // personal "starter" key
13
- const gorillaPoolApiKey = chain === 'main' ? '' : '';
14
13
  const o = {
15
14
  chain,
16
15
  taalApiKey,
@@ -36,13 +35,17 @@ function createDefaultWalletServicesOptions(chain) {
36
35
  chaintracks: new chaintracker_1.ChaintracksServiceClient(chain, `https://npm-registry.babbage.systems:${chain === 'main' ? 8084 : 8083}`),
37
36
  arcUrl: arcDefaultUrl(chain),
38
37
  arcConfig: {
39
- apiKey: taalApiKey,
40
- deploymentId
38
+ apiKey: arcApiKey !== null && arcApiKey !== void 0 ? arcApiKey : undefined,
39
+ deploymentId,
40
+ callbackUrl: arcCallbackUrl !== null && arcCallbackUrl !== void 0 ? arcCallbackUrl : undefined,
41
+ callbackToken: arcCallbackToken !== null && arcCallbackToken !== void 0 ? arcCallbackToken : undefined
41
42
  },
42
43
  arcGorillaPoolUrl: arcGorillaPoolUrl(chain),
43
44
  arcGorillaPoolConfig: {
44
- apiKey: gorillaPoolApiKey,
45
- deploymentId
45
+ apiKey: arcApiKey !== null && arcApiKey !== void 0 ? arcApiKey : undefined,
46
+ deploymentId,
47
+ callbackUrl: arcCallbackUrl !== null && arcCallbackUrl !== void 0 ? arcCallbackUrl : undefined,
48
+ callbackToken: arcCallbackToken !== null && arcCallbackToken !== void 0 ? arcCallbackToken : undefined
46
49
  }
47
50
  };
48
51
  return o;
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,gFA8CC;AAED,sCAGC;AAED,8CAGC;AA3DD,kDAAqD;AACrD,iDAAyD;AAEzD,SAAgB,kCAAkC,CAAC,KAAgB;IACjE,MAAM,YAAY,GAAG,kBAAkB,IAAA,6BAAc,EAAC,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,UAAU,GACd,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,0CAA0C,CAAC,UAAU;QACvD,CAAC,CAAC,0CAA0C,CAAA,CAAC,yBAAyB;IAC1E,MAAM,iBAAiB,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEpD,MAAM,CAAC,GAA8B;QACnC,KAAK;QACL,UAAU;QACV,eAAe,EAAE;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;QACD,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;QAC7C,iBAAiB,EAAE;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,IAAI;aACV;SACF;QACD,eAAe,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;QACjD,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,mBAAmB,EAAE,kCAAkC;QACvD,+BAA+B,EAAE,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB;QAC9H,WAAW,EAAE,IAAI,uCAAwB,CACvC,KAAK,EACL,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CACzE;QACD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;QAC5B,SAAS,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,YAAY;SACb;QACD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC3C,oBAAoB,EAAE;YACpB,MAAM,EAAE,iBAAiB;YACzB,YAAY;SACb;KACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAA;IACnF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAgB;IAChD,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"createDefaultWalletServicesOptions.js","sourceRoot":"","sources":["../../../../src/services/createDefaultWalletServicesOptions.ts"],"names":[],"mappings":";;AAGA,gFAsDC;AAED,sCAGC;AAED,8CAGC;AAnED,kDAAqD;AACrD,iDAAyD;AAEzD,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,cAAuB,EACvB,gBAAyB,EACzB,SAAkB;IAElB,MAAM,YAAY,GAAG,kBAAkB,IAAA,6BAAc,EAAC,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,UAAU,GACd,SAAS,IAAI,KAAK,KAAK,MAAM;QAC3B,CAAC,CAAC,0CAA0C,CAAC,UAAU;QACvD,CAAC,CAAC,0CAA0C,CAAA,CAAC,yBAAyB;IAE1E,MAAM,CAAC,GAA8B;QACnC,KAAK;QACL,UAAU;QACV,eAAe,EAAE;YACf,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ;QACD,cAAc,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;QAC7C,iBAAiB,EAAE;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,IAAI;aACV;SACF;QACD,eAAe,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;QACjD,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,mBAAmB,EAAE,kCAAkC;QACvD,+BAA+B,EAAE,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB;QAC9H,WAAW,EAAE,IAAI,uCAAwB,CACvC,KAAK,EACL,wCAAwC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CACzE;QACD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;QAC5B,SAAS,EAAE;YACT,MAAM,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;YAC9B,YAAY;YACZ,WAAW,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS;YACxC,aAAa,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS;SAC7C;QACD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC3C,oBAAoB,EAAE;YACpB,MAAM,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS;YAC9B,YAAY;YACZ,WAAW,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS;YACxC,aAAa,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS;SAC7C;KACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAA;IACnF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAgB;IAChD,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -55,28 +55,12 @@ export declare class WalletStorageManager implements sdk.WalletStorage {
55
55
  */
56
56
  _services?: sdk.WalletServices;
57
57
  /**
58
- * How many read access operations are pending
59
- */
60
- _readerCount: number;
61
- /**
62
- * How many write access operations are pending
63
- */
64
- _writerCount: number;
65
- /**
66
- * if true, allow only a single writer to proceed at a time.
67
- * queue the blocked requests so they get executed in order when released.
68
- */
69
- _isSingleWriter: boolean;
70
- /**
71
- * if true, allow no new reader or writers to proceed.
72
- * queue the blocked requests so they get executed in order when released.
73
- */
74
- _syncLocked: boolean;
75
- /**
76
- * if true, allow no new reader or writers or sync to proceed.
77
- * queue the blocked requests so they get executed in order when released.
58
+ * Creates a new WalletStorageManager with the given identityKey and optional active and backup storage providers.
59
+ *
60
+ * @param identityKey The identity key of the user for whom this wallet is being managed.
61
+ * @param active An optional active storage provider. If not provided, no active storage will be set.
62
+ * @param backups An optional array of backup storage providers. If not provided, no backups will be set.
78
63
  */
79
- _storageProviderLocked: boolean;
80
64
  constructor(identityKey: string, active?: sdk.WalletStorageProvider, backups?: sdk.WalletStorageProvider[]);
81
65
  isStorageProvider(): boolean;
82
66
  isAvailable(): boolean;
@@ -115,10 +99,20 @@ export declare class WalletStorageManager implements sdk.WalletStorage {
115
99
  getBackupStores(): string[];
116
100
  getConflictingStores(): string[];
117
101
  getAllStores(): string[];
118
- getActiveForWriter(): Promise<sdk.WalletStorageWriter>;
119
- getActiveForReader(): Promise<sdk.WalletStorageReader>;
120
- getActiveForSync(): Promise<sdk.WalletStorageSync>;
121
- getActiveForStorageProvider(): Promise<StorageProvider>;
102
+ private readonly readerLocks;
103
+ private readonly writerLocks;
104
+ private readonly syncLocks;
105
+ private readonly spLocks;
106
+ private getActiveLock;
107
+ private releaseActiveLock;
108
+ private getActiveForReader;
109
+ private releaseActiveForReader;
110
+ private getActiveForWriter;
111
+ private releaseActiveForWriter;
112
+ private getActiveForSync;
113
+ private releaseActiveForSync;
114
+ private getActiveForStorageProvider;
115
+ private releaseActiveForStorageProvider;
122
116
  runAsWriter<R>(writer: (active: sdk.WalletStorageWriter) => Promise<R>): Promise<R>;
123
117
  runAsReader<R>(reader: (active: sdk.WalletStorageReader) => Promise<R>): Promise<R>;
124
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WalletStorageManager.d.ts","sourceRoot":"","sources":["../../../../src/storage/WalletStorageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletStorageManager.d.ts","sourceRoot":"","sources":["../../../../src/storage/WalletStorageManager.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.WalletStorageManager = void 0;
37
37
  const entities_1 = require("../storage/schema/entities");
38
38
  const sdk = __importStar(require("../sdk"));
39
- const utilityHelpers_1 = require("../utility/utilityHelpers");
40
39
  class ManagedStorage {
41
40
  constructor(storage) {
42
41
  this.storage = storage;
@@ -60,6 +59,13 @@ class ManagedStorage {
60
59
  * for these services.
61
60
  */
62
61
  class WalletStorageManager {
62
+ /**
63
+ * Creates a new WalletStorageManager with the given identityKey and optional active and backup storage providers.
64
+ *
65
+ * @param identityKey The identity key of the user for whom this wallet is being managed.
66
+ * @param active An optional active storage provider. If not provided, no active storage will be set.
67
+ * @param backups An optional array of backup storage providers. If not provided, no backups will be set.
68
+ */
63
69
  constructor(identityKey, active, backups) {
64
70
  /**
65
71
  * All configured stores including current active, backups, and conflicting actives.
@@ -69,29 +75,10 @@ class WalletStorageManager {
69
75
  * True if makeAvailable has been run and access to managed stores (active) is allowed
70
76
  */
71
77
  this._isAvailable = false;
72
- /**
73
- * How many read access operations are pending
74
- */
75
- this._readerCount = 0;
76
- /**
77
- * How many write access operations are pending
78
- */
79
- this._writerCount = 0;
80
- /**
81
- * if true, allow only a single writer to proceed at a time.
82
- * queue the blocked requests so they get executed in order when released.
83
- */
84
- this._isSingleWriter = true;
85
- /**
86
- * if true, allow no new reader or writers to proceed.
87
- * queue the blocked requests so they get executed in order when released.
88
- */
89
- this._syncLocked = false;
90
- /**
91
- * if true, allow no new reader or writers or sync to proceed.
92
- * queue the blocked requests so they get executed in order when released.
93
- */
94
- this._storageProviderLocked = false;
78
+ this.readerLocks = [];
79
+ this.writerLocks = [];
80
+ this.syncLocks = [];
81
+ this.spLocks = [];
95
82
  const stores = [...(backups || [])];
96
83
  if (active)
97
84
  stores.unshift(active);
@@ -228,61 +215,69 @@ class WalletStorageManager {
228
215
  this.verifyActive();
229
216
  return this._stores.map(b => b.settings.storageIdentityKey);
230
217
  }
231
- async getActiveForWriter() {
218
+ async getActiveLock(lockQueue) {
232
219
  if (!this.isAvailable())
233
220
  await this.makeAvailable();
234
- while (this._storageProviderLocked ||
235
- this._syncLocked ||
236
- (this._isSingleWriter && this._writerCount > 0) ||
237
- this._readerCount > 0) {
238
- await (0, utilityHelpers_1.wait)(100);
221
+ let resolveNewLock = () => { };
222
+ const newLock = new Promise(resolve => {
223
+ resolveNewLock = resolve;
224
+ lockQueue.push(resolve);
225
+ });
226
+ if (lockQueue.length === 1) {
227
+ resolveNewLock();
239
228
  }
240
- this._writerCount++;
241
- return this.getActive();
229
+ await newLock;
242
230
  }
243
- async getActiveForReader() {
244
- if (!this.isAvailable())
245
- await this.makeAvailable();
246
- while (this._storageProviderLocked || this._syncLocked || (this._isSingleWriter && this._writerCount > 0)) {
247
- await (0, utilityHelpers_1.wait)(100);
231
+ releaseActiveLock(queue) {
232
+ queue.shift(); // Remove the current lock from the queue
233
+ if (queue.length > 0) {
234
+ queue[0]();
248
235
  }
249
- this._readerCount++;
236
+ }
237
+ async getActiveForReader() {
238
+ await this.getActiveLock(this.readerLocks);
239
+ return this.getActive();
240
+ }
241
+ releaseActiveForReader() {
242
+ this.releaseActiveLock(this.readerLocks);
243
+ }
244
+ async getActiveForWriter() {
245
+ await this.getActiveLock(this.readerLocks);
246
+ await this.getActiveLock(this.writerLocks);
250
247
  return this.getActive();
251
248
  }
249
+ releaseActiveForWriter() {
250
+ this.releaseActiveLock(this.writerLocks);
251
+ this.releaseActiveLock(this.readerLocks);
252
+ }
252
253
  async getActiveForSync() {
253
- if (!this.isAvailable())
254
- await this.makeAvailable();
255
- // Wait for a current sync task to complete...
256
- while (this._syncLocked) {
257
- await (0, utilityHelpers_1.wait)(100);
258
- }
259
- // Set syncLocked which prevents any new storageProvider, readers or writers...
260
- this._syncLocked = true;
261
- // Wait for any current storageProvider, readers and writers to complete
262
- while (this._storageProviderLocked || this._readerCount > 0 || this._writerCount > 0) {
263
- await (0, utilityHelpers_1.wait)(100);
264
- }
265
- // Allow the sync to proceed on the active store.
254
+ await this.getActiveLock(this.readerLocks);
255
+ await this.getActiveLock(this.writerLocks);
256
+ await this.getActiveLock(this.syncLocks);
266
257
  return this.getActive();
267
258
  }
259
+ releaseActiveForSync() {
260
+ this.releaseActiveLock(this.syncLocks);
261
+ this.releaseActiveLock(this.writerLocks);
262
+ this.releaseActiveLock(this.readerLocks);
263
+ }
268
264
  async getActiveForStorageProvider() {
269
- if (!this.isAvailable())
270
- await this.makeAvailable();
271
- // Wait for a current storageProvider call to complete...
272
- while (this._storageProviderLocked) {
273
- await (0, utilityHelpers_1.wait)(100);
274
- }
275
- // Set storageProviderLocked which prevents any new sync, readers or writers...
276
- this._storageProviderLocked = true;
277
- // Wait for any current sync, readers and writers to complete
278
- while (this._syncLocked || this._readerCount > 0 || this._writerCount > 0) {
279
- await (0, utilityHelpers_1.wait)(100);
280
- }
265
+ await this.getActiveLock(this.readerLocks);
266
+ await this.getActiveLock(this.writerLocks);
267
+ await this.getActiveLock(this.syncLocks);
268
+ await this.getActiveLock(this.spLocks);
269
+ const active = this.getActive();
281
270
  // We can finally confirm that active storage is still able to support `StorageProvider`
282
- if (!this.getActive().isStorageProvider())
271
+ if (!active.isStorageProvider())
283
272
  throw new sdk.WERR_INVALID_OPERATION('Active "WalletStorageProvider" does not support "StorageProvider" interface.');
284
273
  // Allow the sync to proceed on the active store.
285
- return this.getActive();
274
+ return active;
275
+ }
276
+ releaseActiveForStorageProvider() {
277
+ this.releaseActiveLock(this.spLocks);
278
+ this.releaseActiveLock(this.syncLocks);
279
+ this.releaseActiveLock(this.writerLocks);
280
+ this.releaseActiveLock(this.readerLocks);
286
281
  }
287
282
  async runAsWriter(writer) {
288
283
  try {
@@ -291,7 +286,7 @@ class WalletStorageManager {
291
286
  return r;
292
287
  }
293
288
  finally {
294
- this._writerCount--;
289
+ this.releaseActiveForWriter();
295
290
  }
296
291
  }
297
292
  async runAsReader(reader) {
@@ -301,7 +296,7 @@ class WalletStorageManager {
301
296
  return r;
302
297
  }
303
298
  finally {
304
- this._readerCount--;
299
+ this.releaseActiveForReader();
305
300
  }
306
301
  }
307
302
  /**
@@ -318,7 +313,7 @@ class WalletStorageManager {
318
313
  }
319
314
  finally {
320
315
  if (!activeSync)
321
- this._syncLocked = false;
316
+ this.releaseActiveForSync();
322
317
  }
323
318
  }
324
319
  async runAsStorageProvider(sync) {
@@ -328,7 +323,7 @@ class WalletStorageManager {
328
323
  return r;
329
324
  }
330
325
  finally {
331
- this._storageProviderLocked = false;
326
+ this.releaseActiveForStorageProvider();
332
327
  }
333
328
  }
334
329
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WalletStorageManager.js","sourceRoot":"","sources":["../../../../src/storage/WalletStorageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletStorageManager.js","sourceRoot":"","sources":["../../../../src/storage/WalletStorageManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAction.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/createAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,uCAAuC,EAGvC,SAAS,EAKV,MAAM,UAAU,CAAA;AACjB,OAAO,EAKL,GAAG,EAEH,eAAe,EAYhB,MAAM,oBAAoB,CAAA;AAS3B,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,OAAO,QAE3D;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,qBAAqB,EAChC,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAsFxC;AAmBD,MAAM,WAAW,wBAAyB,SAAQ,GAAG,CAAC,uBAAuB;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAquBD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAY5G;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAUvC;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,SAAS,GAAG;IACtE,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAEA"}
1
+ {"version":3,"file":"createAction.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/createAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,uCAAuC,EAGvC,SAAS,EAKV,MAAM,UAAU,CAAA;AACjB,OAAO,EAKL,GAAG,EAEH,eAAe,EAYhB,MAAM,oBAAoB,CAAA;AAS3B,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,OAAO,QAE3D;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,qBAAqB,EAChC,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAsFxC;AAmBD,MAAM,WAAW,wBAAyB,SAAQ,GAAG,CAAC,uBAAuB;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAivBD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAY5G;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAUvC;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,SAAS,GAAG;IACtE,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAEA"}
@@ -113,10 +113,15 @@ async function createNewInputs(storage, userId, vargs, ctx, allocatedChange) {
113
113
  const o = i.output;
114
114
  newInputs.push({ i, o });
115
115
  if (o) {
116
- await storage.updateOutput(o.outputId, {
117
- spendable: false,
118
- spentBy: ctx.transactionId,
119
- spendingDescription: i.inputDescription
116
+ await storage.transaction(async (trx) => {
117
+ const o2 = (0, index_client_1.verifyOne)(await storage.findOutputs({ partial: { outputId: o.outputId }, trx }));
118
+ if (o2.spendable != true || o2.spentBy !== undefined)
119
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER(`inputs[${i.vin}]`, `spendable output. output ${o.txid}:${o.vout} appears to have been spent.`);
120
+ await storage.updateOutput(o.outputId, {
121
+ spendable: false,
122
+ spentBy: ctx.transactionId,
123
+ spendingDescription: i.inputDescription
124
+ }, trx);
120
125
  });
121
126
  }
122
127
  }