@docknetwork/wallet-sdk-core 0.4.19 → 0.4.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.
- package/lib/account-provider.d.ts +1 -1
- package/lib/account-provider.js +1 -1
- package/lib/biometric-provider.d.ts +1 -1
- package/lib/biometric-provider.d.ts.map +1 -1
- package/lib/biometric-provider.js +1 -0
- package/lib/biometric-provider.js.map +1 -1
- package/lib/cloud-wallet.d.ts +19 -0
- package/lib/cloud-wallet.d.ts.map +1 -0
- package/lib/cloud-wallet.js +150 -0
- package/lib/cloud-wallet.js.map +1 -0
- package/lib/credential-provider.d.ts +10 -0
- package/lib/credential-provider.d.ts.map +1 -1
- package/lib/credential-provider.js +31 -10
- package/lib/credential-provider.js.map +1 -1
- package/lib/credentials/oidvc.d.ts +14 -0
- package/lib/credentials/oidvc.d.ts.map +1 -0
- package/lib/credentials/oidvc.js +84 -0
- package/lib/credentials/oidvc.js.map +1 -0
- package/lib/did-provider.js +1 -1
- package/lib/ecosystem-tools.js +2 -2
- package/lib/helpers.d.ts +1 -0
- package/lib/helpers.d.ts.map +1 -1
- package/lib/helpers.js +9 -1
- package/lib/helpers.js.map +1 -1
- package/lib/message-provider.d.ts +2 -19
- package/lib/message-provider.d.ts.map +1 -1
- package/lib/message-provider.js +69 -13
- package/lib/message-provider.js.map +1 -1
- package/lib/messages/message-helpers.js +2 -2
- package/lib/messages/message-helpers.js.map +1 -1
- package/lib/network-resolver.d.ts +2 -1
- package/lib/network-resolver.d.ts.map +1 -1
- package/lib/network-resolver.js +37 -6
- package/lib/network-resolver.js.map +1 -1
- package/lib/types.d.ts +10 -7
- package/lib/types.d.ts.map +1 -1
- package/lib/v1-helpers.js +9 -9
- package/lib/v1-helpers.js.map +1 -1
- package/lib/verification-controller.d.ts.map +1 -1
- package/lib/verification-controller.js +12 -8
- package/lib/verification-controller.js.map +1 -1
- package/lib/wallet-to-wallet-verification/walletToWalletVerificationProvider.d.ts +7 -0
- package/lib/wallet-to-wallet-verification/walletToWalletVerificationProvider.d.ts.map +1 -1
- package/lib/wallet-to-wallet-verification/walletToWalletVerificationProvider.js +11 -2
- package/lib/wallet-to-wallet-verification/walletToWalletVerificationProvider.js.map +1 -1
- package/lib/wallet-wasm.js +5 -5
- package/lib/wallet-wasm.js.map +1 -1
- package/lib/wallet.d.ts +1 -1
- package/lib/wallet.d.ts.map +1 -1
- package/lib/wallet.js +17 -53
- package/lib/wallet.js.map +1 -1
- package/package.json +6 -6
- package/src/biometric-provider.ts +1 -0
- package/src/cloud-wallet.ts +185 -0
- package/src/credential-provider.test.ts +11 -5
- package/src/credential-provider.ts +77 -25
- package/src/credentials/oidvc.test.ts +124 -0
- package/src/credentials/oidvc.ts +115 -0
- package/src/did-provider.test.ts +19 -11
- package/src/fixtures/biometrics-credential-bbs-revocation.json +2 -2
- package/src/fixtures/iiw-credential.json +1 -1
- package/src/fixtures/iiw-template.json +2 -2
- package/src/helpers.ts +10 -0
- package/src/message-provider.test.ts +9 -3
- package/src/message-provider.ts +97 -25
- package/src/messages/message-helpers.test.ts +15 -0
- package/src/messages/message-helpers.ts +2 -2
- package/src/network-resolver.test.ts +73 -4
- package/src/network-resolver.ts +41 -6
- package/src/types.ts +11 -5
- package/src/v1-helpers.ts +6 -6
- package/src/verification-controller.test.ts +8 -3
- package/src/verification-controller.ts +10 -6
- package/src/wallet-to-wallet-verification/walletToWalletVerificationProvider.ts +15 -0
- package/src/wallet-wasm.ts +1 -1
- package/src/wallet.test.ts +4 -1
- package/src/wallet.ts +22 -75
- package/tsconfig.build.tsbuildinfo +1 -1
- package/LICENSE +0 -39
|
@@ -3,11 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createWalletToWalletVerificationProvider = void 0;
|
|
6
|
+
exports.createWalletToWalletVerificationProvider = exports.Events = void 0;
|
|
7
7
|
const assert_1 = __importDefault(require("assert"));
|
|
8
8
|
const message_helpers_1 = require("../messages/message-helpers");
|
|
9
|
-
const logger_1 = require("@docknetwork/wallet-sdk-data-store/
|
|
9
|
+
const logger_1 = require("@docknetwork/wallet-sdk-data-store/lib/logger");
|
|
10
|
+
const events_1 = require("events");
|
|
10
11
|
const ProofRequestTemplateType = 'ProofRequestTemplate';
|
|
12
|
+
exports.Events = {
|
|
13
|
+
VerifierFlowStarted: 'VerifierFlowStarted',
|
|
14
|
+
HolderFlowStarted: 'HolderFlowStarted',
|
|
15
|
+
};
|
|
11
16
|
function createWalletToWalletVerificationProvider({ wallet, didProvider, messageProvider, }) {
|
|
12
17
|
// Should be used by the HOLDER to create a presentation for the verifier
|
|
13
18
|
let proofRequestHandler;
|
|
@@ -15,7 +20,9 @@ function createWalletToWalletVerificationProvider({ wallet, didProvider, message
|
|
|
15
20
|
let presentationHandler;
|
|
16
21
|
// Can be used by the HOLDER to render the verification results sent by the verifier
|
|
17
22
|
let presentationAckHandler;
|
|
23
|
+
const eventEmitter = new events_1.EventEmitter();
|
|
18
24
|
return {
|
|
25
|
+
eventEmitter,
|
|
19
26
|
getInvitationOOBMessage: async ({ templateId }) => {
|
|
20
27
|
const defaultDID = await didProvider.getDefaultDID();
|
|
21
28
|
const template = await wallet.getDocumentById(templateId);
|
|
@@ -59,6 +66,7 @@ function createWalletToWalletVerificationProvider({ wallet, didProvider, message
|
|
|
59
66
|
proofRequestId: message.body.proofRequestId,
|
|
60
67
|
verifierDID: message.from,
|
|
61
68
|
}));
|
|
69
|
+
eventEmitter.emit(exports.Events.HolderFlowStarted);
|
|
62
70
|
return true;
|
|
63
71
|
}
|
|
64
72
|
// The holder sent an ack message to the verifier invite
|
|
@@ -81,6 +89,7 @@ function createWalletToWalletVerificationProvider({ wallet, didProvider, message
|
|
|
81
89
|
holderDID: message.from,
|
|
82
90
|
verifierDID: defaultDID,
|
|
83
91
|
}));
|
|
92
|
+
eventEmitter.emit(exports.Events.VerifierFlowStarted);
|
|
84
93
|
}
|
|
85
94
|
process();
|
|
86
95
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletToWalletVerificationProvider.js","sourceRoot":"","sources":["../../src/wallet-to-wallet-verification/walletToWalletVerificationProvider.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,iEAQqC;AAGrC,0EAAqE;
|
|
1
|
+
{"version":3,"file":"walletToWalletVerificationProvider.js","sourceRoot":"","sources":["../../src/wallet-to-wallet-verification/walletToWalletVerificationProvider.ts"],"names":[],"mappings":"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"}
|
package/lib/wallet-wasm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.initWalletWasm = exports.setSubstrateNetwork = exports.handleSubstrateNetworkChange = void 0;
|
|
4
|
-
const keyring_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
5
|
-
const util_crypto_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
6
|
-
const dock_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
7
|
-
const wallet_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
4
|
+
const keyring_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/keyring");
|
|
5
|
+
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
|
+
const wallet_1 = require("@docknetwork/wallet-sdk-wasm/lib/modules/wallet");
|
|
8
8
|
const helpers_1 = require("./helpers");
|
|
9
9
|
function isSubstrateNetwork(network) {
|
|
10
10
|
return !!network.configs.substrateUrl;
|
|
@@ -52,7 +52,7 @@ async function initWalletWasm(wallet) {
|
|
|
52
52
|
if (isSubstrateNetwork(network)) {
|
|
53
53
|
await setSubstrateNetwork(wallet);
|
|
54
54
|
wallet.eventManager.on(wallet_1.WalletEvents.networkUpdated, async () => {
|
|
55
|
-
handleSubstrateNetworkChange(wallet);
|
|
55
|
+
handleSubstrateNetworkChange(wallet).catch(err => console.error(err));
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
wallet.setStatus('ready');
|
package/lib/wallet-wasm.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/lib/wallet.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export declare function ensureDocumentContext(document: any): any;
|
|
|
7
7
|
* @param createWalletProps
|
|
8
8
|
* @returns {Promise<IWallet>}
|
|
9
9
|
*/
|
|
10
|
-
export declare function createWallet(
|
|
10
|
+
export declare function createWallet({ dataStore, }: CreateWalletProps): Promise<IWallet>;
|
|
11
11
|
//# sourceMappingURL=wallet.d.ts.map
|
package/lib/wallet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAQnD,YAAY,EAAC,OAAO,EAAC,CAAC;AAMtB,wBAAgB,qBAAqB,CAAC,QAAQ,KAAA,OAS7C;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,EACjC,SAAS,GACV,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4HtC"}
|
package/lib/wallet.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createWallet = exports.ensureDocumentContext = void 0;
|
|
4
|
-
const src_1 = require("@docknetwork/wallet-sdk-data-store/src");
|
|
5
|
-
const document_1 = require("@docknetwork/wallet-sdk-data-store/src/entities/document");
|
|
6
4
|
const v1_helpers_1 = require("./v1-helpers");
|
|
7
5
|
const wallet_wasm_1 = require("./wallet-wasm");
|
|
8
6
|
const events_1 = require("events");
|
|
9
|
-
const wallet_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
10
|
-
const wallet_2 = require("@docknetwork/wallet-sdk-wasm/
|
|
11
|
-
const
|
|
7
|
+
const wallet_1 = require("@docknetwork/wallet-sdk-wasm/lib/modules/wallet");
|
|
8
|
+
const wallet_2 = require("@docknetwork/wallet-sdk-wasm/lib/services/wallet");
|
|
9
|
+
const helpers_1 = require("@docknetwork/wallet-sdk-data-store/lib/helpers");
|
|
12
10
|
const did_provider_1 = require("./did-provider");
|
|
13
11
|
function once(emitter, eventName) {
|
|
14
12
|
return new Promise(resolve => emitter.once(eventName, resolve));
|
|
@@ -29,8 +27,7 @@ exports.ensureDocumentContext = ensureDocumentContext;
|
|
|
29
27
|
* @param createWalletProps
|
|
30
28
|
* @returns {Promise<IWallet>}
|
|
31
29
|
*/
|
|
32
|
-
async function createWallet(
|
|
33
|
-
const dataStore = await (0, src_1.createDataStore)(createWalletProps);
|
|
30
|
+
async function createWallet({ dataStore, }) {
|
|
34
31
|
let status;
|
|
35
32
|
const eventEmitter = new events_1.EventEmitter();
|
|
36
33
|
const wallet = {
|
|
@@ -47,9 +44,7 @@ async function createWallet(createWalletProps) {
|
|
|
47
44
|
});
|
|
48
45
|
},
|
|
49
46
|
deleteWallet: async () => {
|
|
50
|
-
await
|
|
51
|
-
dataStore,
|
|
52
|
-
});
|
|
47
|
+
await dataStore.documents.removeAllDocuments();
|
|
53
48
|
eventEmitter.emit(wallet_1.WalletEvents.walletDeleted);
|
|
54
49
|
},
|
|
55
50
|
setStatus(newStatus) {
|
|
@@ -62,62 +57,34 @@ async function createWallet(createWalletProps) {
|
|
|
62
57
|
getNetworkId: () => {
|
|
63
58
|
return dataStore.networkId;
|
|
64
59
|
},
|
|
65
|
-
getDocumentById: id =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
getAllDocuments: () => {
|
|
70
|
-
return (0, document_1.getAllDocuments)({
|
|
71
|
-
dataStore,
|
|
72
|
-
});
|
|
73
|
-
},
|
|
74
|
-
getDocumentsById: idList => (0, document_1.getDocumentsById)({
|
|
75
|
-
dataStore,
|
|
76
|
-
idList,
|
|
77
|
-
}),
|
|
78
|
-
getDocumentsByType: type => (0, document_1.getDocumentsByType)({
|
|
79
|
-
dataStore,
|
|
80
|
-
type,
|
|
81
|
-
}),
|
|
60
|
+
getDocumentById: (id) => dataStore.documents.getDocumentById(id),
|
|
61
|
+
getAllDocuments: () => dataStore.documents.getAllDocuments(),
|
|
62
|
+
getDocumentsById: (idList) => dataStore.documents.getDocumentsById(idList),
|
|
63
|
+
getDocumentsByType: (type) => dataStore.documents.getDocumentsByType(type),
|
|
82
64
|
addDocument: (json) => {
|
|
83
|
-
return (
|
|
84
|
-
dataStore,
|
|
85
|
-
json,
|
|
86
|
-
}).then(result => {
|
|
65
|
+
return dataStore.documents.addDocument(json).then(result => {
|
|
87
66
|
eventEmitter.emit(wallet_1.WalletEvents.documentAdded, result);
|
|
88
67
|
return result;
|
|
89
68
|
});
|
|
90
69
|
},
|
|
91
70
|
updateDocument: (document) => {
|
|
92
|
-
return
|
|
93
|
-
dataStore,
|
|
94
|
-
document,
|
|
95
|
-
}).then(result => {
|
|
71
|
+
return dataStore.documents.updateDocument(document).then(result => {
|
|
96
72
|
eventEmitter.emit(wallet_1.WalletEvents.documentUpdated, result);
|
|
97
73
|
return result;
|
|
98
74
|
});
|
|
99
75
|
},
|
|
100
76
|
removeDocument: async (id) => {
|
|
101
77
|
const document = await wallet.getDocumentById(id);
|
|
102
|
-
return
|
|
103
|
-
dataStore,
|
|
104
|
-
id,
|
|
105
|
-
}).then(result => {
|
|
78
|
+
return dataStore.documents.removeDocument(id).then(result => {
|
|
106
79
|
eventEmitter.emit(wallet_1.WalletEvents.documentRemoved, document);
|
|
107
80
|
return result;
|
|
108
81
|
});
|
|
109
82
|
},
|
|
110
83
|
getDocumentCorrelations: (documentId) => {
|
|
111
|
-
return
|
|
112
|
-
dataStore,
|
|
113
|
-
documentId,
|
|
114
|
-
});
|
|
84
|
+
return dataStore.documents.getDocumentCorrelations(documentId);
|
|
115
85
|
},
|
|
116
86
|
getAccountKeyPair: async (accountId) => {
|
|
117
|
-
const correlations = await
|
|
118
|
-
dataStore,
|
|
119
|
-
documentId: accountId,
|
|
120
|
-
});
|
|
87
|
+
const correlations = await dataStore.documents.getDocumentCorrelations(accountId);
|
|
121
88
|
const keyPair = correlations.find(correlation => correlation.type === 'KeyringPair');
|
|
122
89
|
return keyPair?.value;
|
|
123
90
|
},
|
|
@@ -132,7 +99,7 @@ async function createWallet(createWalletProps) {
|
|
|
132
99
|
encryptedJSONWallet: json,
|
|
133
100
|
password,
|
|
134
101
|
});
|
|
135
|
-
await (0,
|
|
102
|
+
await (0, helpers_1.importUniversalWalletDocuments)({
|
|
136
103
|
documents,
|
|
137
104
|
dataStore,
|
|
138
105
|
});
|
|
@@ -146,10 +113,7 @@ async function createWallet(createWalletProps) {
|
|
|
146
113
|
});
|
|
147
114
|
},
|
|
148
115
|
exportUniversalWalletJSON: async (password) => {
|
|
149
|
-
let documents = await
|
|
150
|
-
dataStore,
|
|
151
|
-
allNetworks: true,
|
|
152
|
-
});
|
|
116
|
+
let documents = await dataStore.documents.getAllDocuments(true);
|
|
153
117
|
const result = await wallet.exportDocuments({
|
|
154
118
|
documents,
|
|
155
119
|
password,
|
|
@@ -162,7 +126,7 @@ async function createWallet(createWalletProps) {
|
|
|
162
126
|
await (0, did_provider_1.ensureDID)({
|
|
163
127
|
wallet: v1Wallet,
|
|
164
128
|
});
|
|
165
|
-
[wallet_1.WalletEvents.networkUpdated, wallet_1.WalletEvents.walletDeleted].forEach(
|
|
129
|
+
[wallet_1.WalletEvents.networkUpdated, wallet_1.WalletEvents.walletDeleted].forEach(event => eventEmitter.on(event, () => {
|
|
166
130
|
(0, did_provider_1.ensureDID)({
|
|
167
131
|
wallet: v1Wallet,
|
|
168
132
|
});
|
package/lib/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docknetwork/wallet-sdk-core",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"license": "
|
|
3
|
+
"version": "0.4.22",
|
|
4
|
+
"license": "https://github.com/docknetwork/react-native-sdk/LICENSE",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/docknetwork/react-native-sdk",
|
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"test": "jest",
|
|
12
12
|
"prepublishOnly": "npm run build",
|
|
13
|
-
"build": "tsc -p tsconfig.build.json"
|
|
13
|
+
"build": "rm -rf lib && rm -rf tsconfig.build.tsbuildinfo && tsc -p tsconfig.build.json && node ../../scripts/fix-build-imports.js ./lib"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
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": "^0.4.
|
|
19
|
+
"@docknetwork/wallet-sdk-data-store": "^0.4.19"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@docknetwork/wallet-sdk-wasm": "^0.4.
|
|
22
|
+
"@docknetwork/wallet-sdk-wasm": "^0.4.19"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@docknetwork/wallet-sdk-data-store": "^0.4.
|
|
25
|
+
"@docknetwork/wallet-sdk-data-store": "^0.4.19",
|
|
26
26
|
"jest": "29.1.0",
|
|
27
27
|
"ts-jest": "29.1.0",
|
|
28
28
|
"ts-node": "^10.9.1",
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DataStore,
|
|
3
|
+
DataStoreEvents,
|
|
4
|
+
} from '@docknetwork/wallet-sdk-data-store/src/types';
|
|
5
|
+
import {logger} from '@docknetwork/wallet-sdk-data-store/src/logger';
|
|
6
|
+
import {edvService} from '@docknetwork/wallet-sdk-wasm/src/services/edv';
|
|
7
|
+
|
|
8
|
+
export const SYNC_MARKER_TYPE = 'SyncMarkerDocument';
|
|
9
|
+
|
|
10
|
+
export async function initializeCloudWallet({
|
|
11
|
+
dataStore,
|
|
12
|
+
edvUrl,
|
|
13
|
+
agreementKey,
|
|
14
|
+
verificationKey,
|
|
15
|
+
hmacKey,
|
|
16
|
+
authKey,
|
|
17
|
+
}: {
|
|
18
|
+
dataStore?: DataStore;
|
|
19
|
+
edvUrl: string;
|
|
20
|
+
agreementKey: any;
|
|
21
|
+
verificationKey: any;
|
|
22
|
+
hmacKey: any;
|
|
23
|
+
authKey: string;
|
|
24
|
+
}) {
|
|
25
|
+
|
|
26
|
+
await edvService.initialize({
|
|
27
|
+
hmacKey,
|
|
28
|
+
agreementKey,
|
|
29
|
+
verificationKey,
|
|
30
|
+
edvUrl,
|
|
31
|
+
authKey
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
let pendingOperations = 0;
|
|
35
|
+
let pendingOperationsResolvers = [];
|
|
36
|
+
|
|
37
|
+
function waitForEdvIdle() {
|
|
38
|
+
if (pendingOperations === 0) {
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
return new Promise(resolve => {
|
|
42
|
+
pendingOperationsResolvers.push(resolve);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async function findDocumentByContentId(id) {
|
|
47
|
+
const result = await edvService.find({
|
|
48
|
+
equals: {
|
|
49
|
+
'content.id': id,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
return result.documents[0];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function updateDocumentByContentId(documentContent) {
|
|
57
|
+
const edvDocument = await findDocumentByContentId(documentContent.id);
|
|
58
|
+
|
|
59
|
+
if (!edvDocument) {
|
|
60
|
+
throw new Error('Document not found in EDV');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
logger.debug(`Updating document ${documentContent.id} in EDV`);
|
|
64
|
+
|
|
65
|
+
await edvService.update({
|
|
66
|
+
document: {
|
|
67
|
+
id: edvDocument.id,
|
|
68
|
+
content: documentContent,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
logger.debug(`Document ${documentContent.id} updated in EDV`);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function addDocumentHandler(content) {
|
|
76
|
+
pendingOperations++;
|
|
77
|
+
try {
|
|
78
|
+
logger.debug(`Adding document to EDV: ${content.id}`);
|
|
79
|
+
await edvService.insert({
|
|
80
|
+
document: {
|
|
81
|
+
content: content,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
logger.debug(`Document added to EDV: ${content.id}`);
|
|
85
|
+
} catch(err) {
|
|
86
|
+
console.error('Unable to add document', content);
|
|
87
|
+
} finally {
|
|
88
|
+
pendingOperations--;
|
|
89
|
+
if (pendingOperations === 0) {
|
|
90
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
91
|
+
pendingOperationsResolvers = [];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
async function removeDocumentHandler(documentId) {
|
|
97
|
+
pendingOperations++;
|
|
98
|
+
try {
|
|
99
|
+
logger.debug(`Removing document from EDV: ${documentId}`);
|
|
100
|
+
const edvDocument = await findDocumentByContentId(documentId);
|
|
101
|
+
await edvService.delete({document: edvDocument});
|
|
102
|
+
logger.debug(`Document removed from EDV: ${documentId}`);
|
|
103
|
+
} finally {
|
|
104
|
+
pendingOperations--;
|
|
105
|
+
if (pendingOperations === 0) {
|
|
106
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
107
|
+
pendingOperationsResolvers = [];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async function updateDocumentHandler(documentContent) {
|
|
113
|
+
pendingOperations++;
|
|
114
|
+
try {
|
|
115
|
+
await updateDocumentByContentId(documentContent);
|
|
116
|
+
} finally {
|
|
117
|
+
pendingOperations--;
|
|
118
|
+
if (pendingOperations === 0) {
|
|
119
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
120
|
+
pendingOperationsResolvers = [];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
dataStore.events.on(DataStoreEvents.DocumentCreated, addDocumentHandler);
|
|
126
|
+
dataStore.events.on(DataStoreEvents.DocumentDeleted, removeDocumentHandler);
|
|
127
|
+
dataStore.events.on(DataStoreEvents.DocumentUpdated, updateDocumentHandler);
|
|
128
|
+
|
|
129
|
+
async function getSyncMarkerDiff() {
|
|
130
|
+
const edvSyncMaker = await findDocumentByContentId(SYNC_MARKER_TYPE);
|
|
131
|
+
const localSyncMarker = await dataStore.documents.getDocumentById(
|
|
132
|
+
SYNC_MARKER_TYPE,
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
return edvSyncMaker?.content?.updatedAt - localSyncMarker?.updatedAt;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async function pushSyncMarker() {
|
|
139
|
+
const edvSyncMarker = await findDocumentByContentId(SYNC_MARKER_TYPE);
|
|
140
|
+
const syncMarker = {
|
|
141
|
+
id: SYNC_MARKER_TYPE,
|
|
142
|
+
type: SYNC_MARKER_TYPE,
|
|
143
|
+
updatedAt: Date.now(),
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
if (edvSyncMarker) {
|
|
147
|
+
await dataStore.documents.updateDocument(syncMarker);
|
|
148
|
+
} else {
|
|
149
|
+
await dataStore.documents.addDocument(syncMarker);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
async function pullDocuments() {
|
|
154
|
+
const allDocs = await edvService.find({});
|
|
155
|
+
|
|
156
|
+
for (const doc of allDocs.documents) {
|
|
157
|
+
const edvDoc = doc.content;
|
|
158
|
+
const walletDoc = await dataStore.documents.getDocumentById(edvDoc.id);
|
|
159
|
+
|
|
160
|
+
if (!walletDoc) {
|
|
161
|
+
const result = await dataStore.documents.addDocument(edvDoc, {
|
|
162
|
+
stopPropagation: true,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
async function clearEdvDocuments() {
|
|
169
|
+
const allDocs = await edvService.find({});
|
|
170
|
+
|
|
171
|
+
for (const doc of allDocs.documents) {
|
|
172
|
+
await edvService.delete({document: doc});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return {
|
|
177
|
+
clearEdvDocuments,
|
|
178
|
+
pushSyncMarker,
|
|
179
|
+
getSyncMarkerDiff,
|
|
180
|
+
findDocumentByContentId,
|
|
181
|
+
updateDocumentByContentId,
|
|
182
|
+
waitForEdvIdle,
|
|
183
|
+
pullDocuments,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
@@ -9,6 +9,7 @@ import {IWallet, createWallet} from './wallet';
|
|
|
9
9
|
import biometricsBBSRevocation from './fixtures/biometrics-credential-bbs-revocation.json';
|
|
10
10
|
import customerCredential from './fixtures/customer-credential.json';
|
|
11
11
|
import {credentialServiceRPC} from '@docknetwork/wallet-sdk-wasm/src/services/credential';
|
|
12
|
+
import {createDataStore} from '@docknetwork/wallet-sdk-data-store-typeorm/src'
|
|
12
13
|
|
|
13
14
|
describe('CredentialProvider', () => {
|
|
14
15
|
let wallet: IWallet;
|
|
@@ -16,7 +17,9 @@ describe('CredentialProvider', () => {
|
|
|
16
17
|
|
|
17
18
|
beforeEach(async () => {
|
|
18
19
|
wallet = await createWallet({
|
|
19
|
-
|
|
20
|
+
dataStore: await createDataStore({
|
|
21
|
+
databasePath: ':memory:',
|
|
22
|
+
}),
|
|
20
23
|
});
|
|
21
24
|
|
|
22
25
|
provider = createCredentialProvider({wallet});
|
|
@@ -118,10 +121,14 @@ describe('CredentialProvider', () => {
|
|
|
118
121
|
|
|
119
122
|
// load data into cache
|
|
120
123
|
await provider.syncCredentialStatus({});
|
|
121
|
-
|
|
124
|
+
|
|
122
125
|
// update statusDoc updateAt to 25 hours ago
|
|
123
|
-
const statusDoc = await wallet.getDocumentById(
|
|
124
|
-
|
|
126
|
+
const statusDoc = await wallet.getDocumentById(
|
|
127
|
+
`${customerCredential.id}#status`,
|
|
128
|
+
);
|
|
129
|
+
statusDoc.updatedAt = new Date(
|
|
130
|
+
Date.now() - 25 * 60 * 60 * 1000,
|
|
131
|
+
).toISOString();
|
|
125
132
|
await wallet.updateDocument(statusDoc);
|
|
126
133
|
|
|
127
134
|
const statusDocs = await provider.syncCredentialStatus({});
|
|
@@ -156,7 +163,6 @@ describe('CredentialProvider', () => {
|
|
|
156
163
|
}
|
|
157
164
|
});
|
|
158
165
|
|
|
159
|
-
|
|
160
166
|
afterEach(() => {
|
|
161
167
|
(credentialServiceRPC.verifyCredential as any).mockReset();
|
|
162
168
|
});
|