@docknetwork/wallet-sdk-core 1.4.0 → 1.5.6

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/lib/biometric-provider.d.ts.map +1 -1
  2. package/lib/biometric-provider.js +8 -0
  3. package/lib/biometric-provider.js.map +1 -1
  4. package/lib/cloud-wallet.d.ts +9 -6
  5. package/lib/cloud-wallet.d.ts.map +1 -1
  6. package/lib/cloud-wallet.js +118 -54
  7. package/lib/cloud-wallet.js.map +1 -1
  8. package/lib/credential-provider.js +2 -2
  9. package/lib/credential-provider.js.map +1 -1
  10. package/lib/credentials/oidvc.d.ts +1 -1
  11. package/lib/credentials/oidvc.d.ts.map +1 -1
  12. package/lib/credentials/oidvc.js +3 -0
  13. package/lib/credentials/oidvc.js.map +1 -1
  14. package/lib/did-provider.d.ts +0 -9
  15. package/lib/did-provider.d.ts.map +1 -1
  16. package/lib/did-provider.js +1 -26
  17. package/lib/did-provider.js.map +1 -1
  18. package/lib/ecosystem-tools.d.ts.map +1 -1
  19. package/lib/ecosystem-tools.js +2 -1
  20. package/lib/ecosystem-tools.js.map +1 -1
  21. package/lib/message-provider.d.ts.map +1 -1
  22. package/lib/message-provider.js +3 -2
  23. package/lib/message-provider.js.map +1 -1
  24. package/lib/types.d.ts +2 -0
  25. package/lib/types.d.ts.map +1 -1
  26. package/lib/wallet-wasm.d.ts +2 -2
  27. package/lib/wallet-wasm.d.ts.map +1 -1
  28. package/lib/wallet-wasm.js +78 -29
  29. package/lib/wallet-wasm.js.map +1 -1
  30. package/package.json +4 -4
  31. package/src/biometric-provider.ts +9 -1
  32. package/src/cloud-wallet.ts +140 -53
  33. package/src/credential-provider.ts +2 -2
  34. package/src/credentials/oidvc.ts +5 -1
  35. package/src/did-provider.test.ts +0 -60
  36. package/src/did-provider.ts +0 -33
  37. package/src/ecosystem-tools.ts +2 -4
  38. package/src/message-provider.ts +9 -2
  39. package/src/types.ts +1 -0
  40. package/src/wallet-wasm.ts +91 -32
  41. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"message-provider.js","sourceRoot":"","sources":["../src/message-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-provider.js","sourceRoot":"","sources":["../src/message-provider.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { DataStore, DocumentResolverResult, WalletDocument } from '@docknetwork/wallet-sdk-data-store/lib/types';
3
4
  import { Accounts } from '@docknetwork/wallet-sdk-wasm/lib/modules/accounts';
4
5
  import { EventEmitter } from 'events';
@@ -58,6 +59,7 @@ export type IWallet = {
58
59
  getNetworkId: () => string;
59
60
  resolveDocumentNetwork: (document: any) => Promise<DocumentResolverResult>;
60
61
  dataStore: DataStore;
62
+ networkCheckInterval?: NodeJS.Timeout;
61
63
  } & IV1Wallet;
62
64
  export type CrateWalletWithDataStore = {};
63
65
  export type CreateWalletProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { IWallet } from './types';
4
4
  * Compare connected substrate connection with the current walle network
5
5
  * Disconnect and Establish a new connection if the network is different
6
6
  */
7
- export declare function handleSubstrateNetworkChange(wallet: IWallet): Promise<void>;
8
- export declare function setSubstrateNetwork(wallet: IWallet): Promise<void>;
7
+ export declare function handleBlockchainNetworkChange(wallet: IWallet): Promise<void>;
8
+ export declare function setBlockchainNetwork(wallet: IWallet): Promise<void>;
9
9
  export declare function initWalletWasm(wallet: IWallet): Promise<void>;
10
10
  //# sourceMappingURL=wallet-wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-wasm.d.ts","sourceRoot":"","sources":["../src/wallet-wasm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAShC;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,OAAO,iBAqBxD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,OAAO,iBAenD"}
1
+ {"version":3,"file":"wallet-wasm.d.ts","sourceRoot":"","sources":["../src/wallet-wasm.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMlC;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,OAAO,iBAkEzD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,OAAO,iBA6BnD"}
@@ -1,60 +1,109 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initWalletWasm = exports.setSubstrateNetwork = exports.handleSubstrateNetworkChange = void 0;
3
+ exports.initWalletWasm = exports.setBlockchainNetwork = exports.handleBlockchainNetworkChange = void 0;
4
+ const blockchain_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/blockchain");
4
5
  const keyring_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/keyring");
5
6
  const util_crypto_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/util-crypto");
6
- const dock_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/dock");
7
7
  const wallet_1 = require("@docknetwork/wallet-sdk-wasm/lib/modules/wallet");
8
8
  const helpers_1 = require("./helpers");
9
- function isSubstrateNetwork(network) {
10
- return !!network.configs.substrateUrl;
9
+ function isBlockchainNetwork(network) {
10
+ return !!(network.configs.substrateUrl || network.configs.cheqdApiUrl);
11
11
  }
12
12
  /**
13
13
  * Update existing substrate network connection
14
14
  * Compare connected substrate connection with the current walle network
15
15
  * Disconnect and Establish a new connection if the network is different
16
16
  */
17
- async function handleSubstrateNetworkChange(wallet) {
18
- const currentSubstrateAddress = await dock_1.dockService.getAddress();
19
- const substrateNetworkId = wallet.dataStore.networks.find(network => network.configs.substrateUrl === currentSubstrateAddress)?.id;
17
+ async function handleBlockchainNetworkChange(wallet) {
18
+ const currentAddress = await blockchain_1.blockchainService.getAddress();
19
+ const networkId = wallet.dataStore.networks.find(network => network.configs.substrateUrl === currentAddress || network.configs.cheqdApiUrl === currentAddress)?.id;
20
20
  const currentNetworkId = wallet.dataStore.network?.id;
21
- if (substrateNetworkId === currentNetworkId) {
21
+ if (networkId === currentNetworkId) {
22
22
  return;
23
23
  }
24
- await dock_1.dockService.disconnect();
25
- await setSubstrateNetwork(wallet);
24
+ await blockchain_1.blockchainService.disconnect();
25
+ await setBlockchainNetwork(wallet);
26
26
  }
27
- exports.handleSubstrateNetworkChange = handleSubstrateNetworkChange;
28
- async function setSubstrateNetwork(wallet) {
27
+ exports.handleBlockchainNetworkChange = handleBlockchainNetworkChange;
28
+ async function setBlockchainNetwork(wallet) {
29
29
  const network = wallet.dataStore.network;
30
30
  const networkConfigs = network.configs;
31
+ let cheqdMnemonicDoc = await wallet.getDocumentById('cheqd-mnemonic');
32
+ if (!cheqdMnemonicDoc) {
33
+ cheqdMnemonicDoc = {
34
+ id: 'cheqd-mnemonic',
35
+ type: 'Mnemonic',
36
+ value: await util_crypto_1.utilCryptoService.mnemonicGenerate(12),
37
+ };
38
+ await wallet.addDocument(cheqdMnemonicDoc);
39
+ }
31
40
  await keyring_1.keyringService.initialize({
32
41
  ss58Format: networkConfigs.addressPrefix,
33
42
  });
34
- dock_1.dockService
35
- .init({
36
- address: networkConfigs.substrateUrl,
37
- })
38
- .then(() => {
39
- wallet.eventManager.emit(wallet_1.WalletEvents.networkConnected);
40
- })
41
- .catch(err => {
42
- (0, helpers_1.captureException)(new Error('Unable to connect to substrate node'));
43
- (0, helpers_1.captureException)(err);
44
- console.error(err);
45
- wallet.eventManager.emit(wallet_1.WalletEvents.networkError, err);
46
- });
43
+ let connectionInProgress = false;
44
+ const initializeBlockchain = () => {
45
+ clearInterval(wallet.networkCheckInterval);
46
+ if (connectionInProgress) {
47
+ return;
48
+ }
49
+ connectionInProgress = true;
50
+ blockchain_1.blockchainService
51
+ .init({
52
+ substrateUrl: networkConfigs.substrateUrl,
53
+ cheqdApiUrl: networkConfigs.cheqdApiUrl,
54
+ networkId: network.id,
55
+ cheqdMnemonic: cheqdMnemonicDoc.value,
56
+ })
57
+ .then(() => {
58
+ wallet.eventManager.emit(wallet_1.WalletEvents.networkConnected);
59
+ })
60
+ .catch(err => {
61
+ const errorMessage = new Error('Unable to connect to blockchain');
62
+ (0, helpers_1.captureException)(errorMessage);
63
+ (0, helpers_1.captureException)(err);
64
+ console.error(err);
65
+ wallet.eventManager.emit(wallet_1.WalletEvents.networkError, err);
66
+ })
67
+ .finally(() => {
68
+ connectionInProgress = false;
69
+ wallet.networkCheckInterval = setInterval(async () => {
70
+ try {
71
+ if (!await blockchain_1.blockchainService.isApiConnected()) {
72
+ wallet.eventManager.emit(wallet_1.WalletEvents.networkError, new Error('Network not connected'));
73
+ initializeBlockchain();
74
+ }
75
+ }
76
+ catch (err) {
77
+ console.error('Error during connectivity check:', err);
78
+ }
79
+ }, 10000);
80
+ });
81
+ };
82
+ initializeBlockchain();
47
83
  }
48
- exports.setSubstrateNetwork = setSubstrateNetwork;
84
+ exports.setBlockchainNetwork = setBlockchainNetwork;
49
85
  async function initWalletWasm(wallet) {
50
86
  await util_crypto_1.utilCryptoService.cryptoWaitReady();
51
87
  const network = wallet.dataStore.network;
52
- if (isSubstrateNetwork(network)) {
53
- await setSubstrateNetwork(wallet);
88
+ if (isBlockchainNetwork(network)) {
89
+ await setBlockchainNetwork(wallet);
54
90
  wallet.eventManager.on(wallet_1.WalletEvents.networkUpdated, async () => {
55
- handleSubstrateNetworkChange(wallet).catch(err => console.error(err));
91
+ handleBlockchainNetworkChange(wallet).catch(err => console.error(err));
56
92
  });
57
93
  }
94
+ wallet.ensureNetwork = async () => {
95
+ try {
96
+ const isConnected = await blockchain_1.blockchainService.isApiConnected();
97
+ if (!isConnected) {
98
+ await setBlockchainNetwork(wallet);
99
+ wallet.eventManager.emit(wallet_1.WalletEvents.networkConnected);
100
+ }
101
+ }
102
+ catch (err) {
103
+ console.error('Error checking network connection:', err);
104
+ wallet.eventManager.emit(wallet_1.WalletEvents.networkError, err);
105
+ }
106
+ };
58
107
  wallet.setStatus('ready');
59
108
  wallet.eventManager.emit(wallet_1.WalletEvents.ready);
60
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-wasm.js","sourceRoot":"","sources":["../src/wallet-wasm.ts"],"names":[],"mappings":";;;AAAA,+EAAiF;AACjF,uFAAwF;AACxF,yEAA2E;AAI3E,4EAA6E;AAC7E,uCAA6C;AAE7C,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,4BAA4B,CAChD,MAAe;IAEf,MAAM,uBAAuB,GAAG,MAAM,kBAAW,CAAC,UAAU,EAAE,CAAC;IAC/D,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CACvD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,uBAAuB,CACpE,EAAE,EAAE,CAAC;IACN,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;IAEtD,IAAI,kBAAkB,KAAK,gBAAgB,EAAE;QAC3C,OAAO;KACR;IAED,MAAM,kBAAW,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAfD,oEAeC;AAEM,KAAK,UAAU,mBAAmB,CAAC,MAAe;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAEvC,MAAM,wBAAc,CAAC,UAAU,CAAC;QAC9B,UAAU,EAAE,cAAc,CAAC,aAAa;KACzC,CAAC,CAAC;IAEH,kBAAW;SACR,IAAI,CAAC;QACJ,OAAO,EAAE,cAAc,CAAC,YAAY;KACrC,CAAC;SACD,IAAI,CAAC,GAAG,EAAE;QACT,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAY,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,IAAA,0BAAgB,EAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACnE,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAY,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AArBD,kDAqBC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAe;IAClD,MAAM,+BAAiB,CAAC,eAAe,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAEzC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC/B,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,qBAAY,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC7D,4BAA4B,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE1B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAY,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAfD,wCAeC"}
1
+ {"version":3,"file":"wallet-wasm.js","sourceRoot":"","sources":["../src/wallet-wasm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docknetwork/wallet-sdk-core",
3
- "version": "1.4.0",
3
+ "version": "1.5.6",
4
4
  "license": "https://github.com/docknetwork/react-native-sdk/LICENSE",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,13 +16,13 @@
16
16
  "typeorm": "^0.3.15",
17
17
  "reflect-metadata": "^0.1.13",
18
18
  "sqlite3": "^5.0.2",
19
- "@docknetwork/wallet-sdk-data-store": "^1.4.0"
19
+ "@docknetwork/wallet-sdk-data-store": "^1.5.6"
20
20
  },
21
21
  "dependencies": {
22
- "@docknetwork/wallet-sdk-wasm": "^1.4.0"
22
+ "@docknetwork/wallet-sdk-wasm": "^1.5.6"
23
23
  },
24
24
  "devDependencies": {
25
- "@docknetwork/wallet-sdk-data-store": "^1.4.0",
25
+ "@docknetwork/wallet-sdk-data-store": "^1.5.6",
26
26
  "jest": "29.1.0",
27
27
  "ts-jest": "29.1.0",
28
28
  "ts-node": "^10.9.1",
@@ -1,6 +1,6 @@
1
1
  import {WalletDocument} from '@docknetwork/wallet-sdk-wasm/src/types';
2
2
  import {IWallet} from './types';
3
- import {createCredentialProvider} from './credential-provider';
3
+ import {createCredentialProvider, CredentialStatus} from './credential-provider';
4
4
  import assert from 'assert';
5
5
 
6
6
  export type BiometricsPluginIssuerConfig = {
@@ -74,6 +74,14 @@ export function createBiometricBindingProvider({
74
74
  }
75
75
 
76
76
  await wallet.addDocument(matchConfirmationCredential);
77
+ // make the biometric credential valid by default
78
+ await wallet.addDocument({
79
+ id: `${matchConfirmationCredential.id}#status`,
80
+ status: CredentialStatus.Verified,
81
+ type: 'CredentialStatus',
82
+ createdAt: new Date().toISOString(),
83
+ updatedAt: new Date().toISOString(),
84
+ })
77
85
  }
78
86
 
79
87
  return matchConfirmationCredential;
@@ -4,28 +4,58 @@ import {
4
4
  } from '@docknetwork/wallet-sdk-data-store/src/types';
5
5
  import {logger} from '@docknetwork/wallet-sdk-data-store/src/logger';
6
6
  import {edvService} from '@docknetwork/wallet-sdk-wasm/src/services/edv';
7
+ import base64url from 'base64url-universal';
8
+
9
+ import {utilCryptoService} from '@docknetwork/wallet-sdk-wasm/src/services/util-crypto';
7
10
 
8
11
  export const SYNC_MARKER_TYPE = 'SyncMarkerDocument';
9
12
 
10
- export function generateEDVKeys() {
11
- return edvService.generateKeys()
13
+ interface QueuedOperation {
14
+ operation: () => Promise<any>;
15
+ resolve: (value: any) => void;
16
+ reject: (error: any) => void;
17
+ }
18
+
19
+ interface DocumentQueue {
20
+ operations: QueuedOperation[];
21
+ isProcessing: boolean;
22
+ }
23
+
24
+ export async function generateCloudWalletMasterKey(): Promise<{ mnemonic: string; masterKey: string }> {
25
+ const mnemonic = await utilCryptoService.mnemonicGenerate(12);
26
+
27
+ const seedBytes = await utilCryptoService.mnemonicToMiniSecret(mnemonic);
28
+ const masterKey = base64url.encode(Buffer.from(seedBytes));
29
+
30
+ return {
31
+ mnemonic,
32
+ masterKey,
33
+ };
34
+ }
35
+
36
+ export async function recoverCloudWalletMasterKey(mnemonic: string): Promise<string> {
37
+ const seedBytes = await utilCryptoService.mnemonicToMiniSecret(mnemonic);
38
+ const masterKey = base64url.encode(Buffer.from(seedBytes));
39
+
40
+ return masterKey;
12
41
  }
13
42
 
14
43
  export async function initializeCloudWallet({
15
44
  dataStore,
16
45
  edvUrl,
17
- agreementKey,
18
- verificationKey,
19
- hmacKey,
20
46
  authKey,
47
+ masterKey,
21
48
  }: {
22
49
  dataStore?: DataStore;
23
50
  edvUrl: string;
24
- agreementKey: any;
25
- verificationKey: any;
26
- hmacKey: any;
27
51
  authKey: string;
52
+ masterKey: any;
28
53
  }) {
54
+ const {
55
+ hmacKey,
56
+ agreementKey,
57
+ verificationKey,
58
+ } = await edvService.deriveKeys(masterKey);
29
59
 
30
60
  await edvService.initialize({
31
61
  hmacKey,
@@ -35,15 +65,73 @@ export async function initializeCloudWallet({
35
65
  authKey
36
66
  });
37
67
 
38
- let pendingOperations = 0;
39
- let pendingOperationsResolvers = [];
68
+ const documentQueues = new Map<string, DocumentQueue>();
69
+ const activeOperations = new Set<Promise<any>>();
70
+
71
+ async function processQueue(docId: string) {
72
+ const queue = documentQueues.get(docId);
73
+ if (!queue || queue.isProcessing) {
74
+ return;
75
+ }
40
76
 
41
- function waitForEdvIdle() {
42
- if (pendingOperations === 0) {
43
- return Promise.resolve();
77
+ queue.isProcessing = true;
78
+
79
+ while (queue.operations.length > 0) {
80
+ const item = queue.operations.shift();
81
+ if (!item) {
82
+ continue;
83
+ }
84
+
85
+ let operationPromise: Promise<any>;
86
+ try {
87
+ operationPromise = item.operation();
88
+ activeOperations.add(operationPromise);
89
+
90
+ const result = await operationPromise;
91
+ item.resolve(result);
92
+ } catch (error) {
93
+ item.reject(error);
94
+ logger.error(`Operation failed for document ${docId}: ${error.message}`);
95
+ } finally {
96
+ activeOperations.delete(operationPromise);
97
+ }
44
98
  }
45
- return new Promise(resolve => {
46
- pendingOperationsResolvers.push(resolve);
99
+
100
+ queue.isProcessing = false;
101
+ documentQueues.delete(docId);
102
+ }
103
+
104
+ async function enqueueOperation(docId: string, operation: () => Promise<any>): Promise<any> {
105
+ return new Promise((resolve, reject) => {
106
+ let queue = documentQueues.get(docId);
107
+ if (!queue) {
108
+ queue = { operations: [], isProcessing: false };
109
+ documentQueues.set(docId, queue);
110
+ }
111
+
112
+ queue.operations.push({ operation, resolve, reject });
113
+
114
+ // Ensure processQueue runs (even if it was already running)
115
+ if (!queue.isProcessing) {
116
+ setTimeout(() => processQueue(docId), 0);
117
+ }
118
+ });
119
+ }
120
+
121
+ function waitForEdvIdle(): Promise<void> {
122
+ return new Promise((resolve) => {
123
+ const checkIdle = () => {
124
+ const hasActiveOperations = activeOperations.size > 0;
125
+ const hasQueuedOperations = Array.from(documentQueues.values()).some(queue => queue.operations.length > 0);
126
+
127
+ if (!hasActiveOperations && !hasQueuedOperations) {
128
+ resolve();
129
+ } else {
130
+ setTimeout(checkIdle, 100); // Re-check until everything is idle
131
+ }
132
+ };
133
+
134
+ checkIdle();
47
135
  });
48
136
  }
49
137
 
@@ -77,59 +165,57 @@ export async function initializeCloudWallet({
77
165
  }
78
166
 
79
167
  async function addDocumentHandler(content) {
80
- pendingOperations++;
81
- try {
82
- logger.debug(`Adding document to EDV: ${content.id}`);
83
- await edvService.insert({
84
- document: {
85
- content: content,
86
- },
87
- });
88
- logger.debug(`Document added to EDV: ${content.id}`);
89
- } catch(err) {
90
- console.error('Unable to add document', content);
91
- } finally {
92
- pendingOperations--;
93
- if (pendingOperations === 0) {
94
- pendingOperationsResolvers.forEach(resolve => resolve());
95
- pendingOperationsResolvers = [];
168
+ return enqueueOperation(content.id, async () => {
169
+ try {
170
+ logger.debug(`Adding document to EDV: ${content.id}`);
171
+ await edvService.insert({
172
+ document: {
173
+ content: content,
174
+ },
175
+ });
176
+ logger.debug(`Document added to EDV: ${content.id}`);
177
+ } catch(error) {
178
+ logger.error(`Unable to add document ${content.id}: ${error.message}`);
96
179
  }
97
- }
180
+ });
98
181
  }
99
182
 
100
183
  async function removeDocumentHandler(documentId) {
101
- pendingOperations++;
102
- try {
103
- logger.debug(`Removing document from EDV: ${documentId}`);
104
- const edvDocument = await findDocumentByContentId(documentId);
105
- await edvService.delete({document: edvDocument});
106
- logger.debug(`Document removed from EDV: ${documentId}`);
107
- } finally {
108
- pendingOperations--;
109
- if (pendingOperations === 0) {
110
- pendingOperationsResolvers.forEach(resolve => resolve());
111
- pendingOperationsResolvers = [];
184
+ return enqueueOperation(documentId, async () => {
185
+ try {
186
+ logger.debug(`Removing document from EDV: ${documentId}`);
187
+ const edvDocument = await findDocumentByContentId(documentId);
188
+ await edvService.delete({document: edvDocument});
189
+ // TODO: Remove this once we figure out why the data store is empty after deleting a document
190
+ await pullDocuments();
191
+ logger.debug(`Document removed from EDV: ${documentId}`);
192
+ } catch (error) {
193
+ logger.error(`Unable to remove document ${documentId}: ${error.message}`);
112
194
  }
113
- }
195
+ });
114
196
  }
115
197
 
116
198
  async function updateDocumentHandler(documentContent) {
117
- pendingOperations++;
118
- try {
119
- await updateDocumentByContentId(documentContent);
120
- } finally {
121
- pendingOperations--;
122
- if (pendingOperations === 0) {
123
- pendingOperationsResolvers.forEach(resolve => resolve());
124
- pendingOperationsResolvers = [];
199
+ return enqueueOperation(documentContent.id, async () => {
200
+ try {
201
+ await updateDocumentByContentId(documentContent);
202
+ } catch (error) {
203
+ logger.error(`Unable to update document ${documentContent.id}: ${error.message}`);
125
204
  }
126
- }
205
+ });
127
206
  }
128
207
 
129
208
  dataStore.events.on(DataStoreEvents.DocumentCreated, addDocumentHandler);
130
209
  dataStore.events.on(DataStoreEvents.DocumentDeleted, removeDocumentHandler);
131
210
  dataStore.events.on(DataStoreEvents.DocumentUpdated, updateDocumentHandler);
132
211
 
212
+
213
+ function unsubscribeEventListeners() {
214
+ dataStore.events.off(DataStoreEvents.DocumentCreated, addDocumentHandler);
215
+ dataStore.events.off(DataStoreEvents.DocumentDeleted, removeDocumentHandler);
216
+ dataStore.events.off(DataStoreEvents.DocumentUpdated, updateDocumentHandler);
217
+ }
218
+
133
219
  async function getSyncMarkerDiff() {
134
220
  const edvSyncMaker = await findDocumentByContentId(SYNC_MARKER_TYPE);
135
221
  const localSyncMarker = await dataStore.documents.getDocumentById(
@@ -185,5 +271,6 @@ export async function initializeCloudWallet({
185
271
  updateDocumentByContentId,
186
272
  waitForEdvIdle,
187
273
  pullDocuments,
274
+ unsubscribeEventListeners,
188
275
  };
189
276
  }
@@ -1,7 +1,7 @@
1
1
  import {credentialServiceRPC} from '@docknetwork/wallet-sdk-wasm/src/services/credential';
2
2
  import {IWallet} from './types';
3
3
  import assert from 'assert';
4
- import {dockService} from '@docknetwork/wallet-sdk-wasm/src/services/dock';
4
+ import {blockchainService} from '@docknetwork/wallet-sdk-wasm/src/services/blockchain';
5
5
  import {acquireOpenIDCredentialFromURI} from './credentials/oidvc';
6
6
  import {IDIDProvider} from './did-provider';
7
7
 
@@ -260,7 +260,7 @@ async function syncCredentialStatus({
260
260
  }
261
261
 
262
262
  if (!isApiConnected) {
263
- await dockService.ensureDockReady();
263
+ await blockchainService.ensureBlockchainReady();
264
264
  isApiConnected = true;
265
265
  }
266
266
 
@@ -15,7 +15,7 @@ export async function acquireOpenIDCredentialFromURI({
15
15
  didProvider: IDIDProvider;
16
16
  uri: string;
17
17
  getAuthCode?: (authorizationURL: string) => Promise<string>;
18
- }) {
18
+ }): Promise<any> {
19
19
  const [holderKeyDocument] = await didProvider.getDIDKeyPairs();
20
20
 
21
21
  let response = await credentialServiceRPC.acquireOIDCredential({
@@ -23,6 +23,10 @@ export async function acquireOpenIDCredentialFromURI({
23
23
  holderKeyDocument,
24
24
  });
25
25
 
26
+ if (!response) {
27
+ throw new Error('Unable to acquire credential. Please check your credential offer and try again.');
28
+ }
29
+
26
30
  if (response.authorizationURL) {
27
31
  const authorizationCode = await getAuthCode(response.authorizationURL);
28
32
  response = await credentialServiceRPC.acquireOIDCredential({
@@ -1,7 +1,6 @@
1
1
  import {IWallet} from './types';
2
2
  import {createWallet} from './wallet';
3
3
  import {
4
- createDIDock,
5
4
  createDIDKey,
6
5
  createDIDProvider,
7
6
  IDIDProvider,
@@ -96,65 +95,6 @@ describe('DID Provider', () => {
96
95
  });
97
96
  });
98
97
 
99
- describe('create DID Dock', () => {
100
- it('expect to create a DID Dock', async () => {
101
- const account = await accountProvider.create({
102
- name: 'test',
103
- });
104
-
105
- jest.spyOn(didServiceRPC, 'registerDidDock').mockResolvedValueOnce({
106
- dockDID: 'did:dock:abcde',
107
- keyPairWalletId: account.address,
108
- });
109
-
110
- jest.spyOn(didServiceRPC, 'generateKeyDoc').mockResolvedValueOnce({
111
- id: 'did:dock:abcde#key-1',
112
- type: 'KeyDocument',
113
- });
114
-
115
- jest.spyOn(didServiceRPC, 'getDidDockDocument').mockResolvedValueOnce({
116
- id: 'did:dock:abcde#key-2',
117
- type: 'DidDocument',
118
- });
119
-
120
- await didProvider.createDIDock({
121
- address: account.address,
122
- name: 'Test DID',
123
- });
124
-
125
- const keyDocuments = await wallet.getDocumentsByType('KeyDocument');
126
- const didDocument = await wallet.getDocumentsByType(
127
- 'DIDResolutionResponse',
128
- );
129
-
130
- expect(keyDocuments.length).toBe(1);
131
- expect(didDocument.length).toBe(2);
132
- });
133
- it('expect to assert parameters', async () => {
134
- await expect(
135
- didProvider.createDIDock({
136
- address: null,
137
- name: 'Test DID',
138
- }),
139
- ).rejects.toThrowError('address is required');
140
-
141
- await expect(
142
- didProvider.createDIDock({
143
- address: 'some-address',
144
- name: '',
145
- }),
146
- ).rejects.toThrowError('name is required');
147
-
148
- await expect(
149
- createDIDock({
150
- address: 'some-address',
151
- name: 'Some name',
152
- wallet: null,
153
- }),
154
- ).rejects.toThrowError('wallet is required');
155
- });
156
- });
157
-
158
98
  describe('create DID Key', () => {
159
99
  it('expect to create a DID Key', async () => {
160
100
  jest.spyOn(didServiceRPC, 'generateKeyDoc').mockResolvedValueOnce({