@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.
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +40 -5
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +10 -29
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +1 -1
- package/out/src/services/chaintracker/{BhsChainTracker.d.ts → BHServiceClient.d.ts} +12 -16
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
- package/out/src/services/chaintracker/BHServiceClient.js +163 -0
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +140 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +467 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
- package/out/src/services/chaintracker/index.d.ts +1 -1
- package/out/src/services/chaintracker/index.js +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +10 -7
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +19 -25
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +64 -69
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +9 -4
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/processAction.js +1 -1
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.js +45 -0
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
- package/package.json +5 -5
- package/out/src/SetupClient.mobile.d.ts +0 -90
- package/out/src/SetupClient.mobile.d.ts.map +0 -1
- package/out/src/SetupClient.mobile.js +0 -183
- package/out/src/SetupClient.mobile.js.map +0 -1
- package/out/src/SetupWallet.mobile.d.ts +0 -93
- package/out/src/SetupWallet.mobile.d.ts.map +0 -1
- package/out/src/SetupWallet.mobile.js +0 -3
- package/out/src/SetupWallet.mobile.js.map +0 -1
- package/out/src/services/chaintracker/BhsChainTracker.d.ts.map +0 -1
- package/out/src/services/chaintracker/BhsChainTracker.js +0 -84
- package/out/src/services/chaintracker/BhsChainTracker.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +0 -98
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +0 -38
- 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"}
|
|
@@ -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("./
|
|
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,
|
|
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:
|
|
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:
|
|
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,
|
|
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
|
-
*
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
*
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EAErB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,cAAM,cAAc;IAMC,OAAO,EAAE,GAAG,CAAC,qBAAqB;IALrD,WAAW,EAAE,OAAO,CAAA;IACpB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;gBAEG,OAAO,EAAE,GAAG,CAAC,qBAAqB;CAItD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,oBAAqB,YAAW,GAAG,CAAC,aAAa;IAC5D;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAK;IAC9B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAQ;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;IACtC;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,cAAc,CAAA;
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
this.
|
|
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
|
|
218
|
+
async getActiveLock(lockQueue) {
|
|
232
219
|
if (!this.isAvailable())
|
|
233
220
|
await this.makeAvailable();
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
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
|
-
|
|
241
|
-
return this.getActive();
|
|
229
|
+
await newLock;
|
|
242
230
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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 (!
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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;
|
|
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.
|
|
117
|
-
|
|
118
|
-
spentBy
|
|
119
|
-
|
|
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
|
}
|