@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
package/lib/account-provider.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createAccountProvider = void 0;
|
|
4
|
-
const accounts_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
4
|
+
const accounts_1 = require("@docknetwork/wallet-sdk-wasm/lib/modules/accounts");
|
|
5
5
|
const v1_helpers_1 = require("./v1-helpers");
|
|
6
6
|
function createAccountProvider({ wallet }) {
|
|
7
7
|
const accountsModule = new accounts_1.Accounts({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biometric-provider.d.ts","sourceRoot":"","sources":["../src/biometric-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIhC,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,wBAAwB,EAAE,MAAM,CAAC;IACjC,4BAA4B,EAAE,MAAM,CAAC;IACrC,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAC,4BAA4B,EAAE,CAAC;CAC9C,CAAA;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,QAEpE;AAED,wBAAgB,aAAa,SAE5B;AAED,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"biometric-provider.d.ts","sourceRoot":"","sources":["../src/biometric-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIhC,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,wBAAwB,EAAE,MAAM,CAAC;IACjC,4BAA4B,EAAE,MAAM,CAAC;IACrC,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAC,4BAA4B,EAAE,CAAC;CAC9C,CAAA;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,QAEpE;AAED,wBAAgB,aAAa,SAE5B;AAED,wBAAgB,mBAAmB,4BAGlC;AAED,wBAAgB,0BAA0B,CAAC,SAAS,KAAA,GAAG,4BAA4B,CAElF;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,QAAQ,EACR,OAAO,EACP,uBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACxE,uBAAuB,EAAE,CAAC,OAAO,KAAA,KAAK,OAAO,CAAC;CAC/C;;;+CADuC,OAAO;EAmC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biometric-provider.js","sourceRoot":"","sources":["../src/biometric-provider.ts"],"names":[],"mappings":";;;;;;AAEA,+DAA+D;AAC/D,oDAA4B;AAgB5B,IAAI,OAAO,GAA4B,IAAI,CAAC;AAE5C,SAAgB,mBAAmB,CAAC,QAAiC;IACnE,OAAO,GAAG,QAAQ,CAAC;AACrB,CAAC;AAFD,kDAEC;AAAA,CAAC;AAEF,SAAgB,aAAa;IAC3B,IAAA,gBAAM,EAAC,CAAC,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAFD,sCAEC;AAED,SAAgB,mBAAmB;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"biometric-provider.js","sourceRoot":"","sources":["../src/biometric-provider.ts"],"names":[],"mappings":";;;;;;AAEA,+DAA+D;AAC/D,oDAA4B;AAgB5B,IAAI,OAAO,GAA4B,IAAI,CAAC;AAE5C,SAAgB,mBAAmB,CAAC,QAAiC;IACnE,OAAO,GAAG,QAAQ,CAAC;AACrB,CAAC;AAFD,kDAEC;AAAA,CAAC;AAEF,SAAgB,aAAa;IAC3B,IAAA,gBAAM,EAAC,CAAC,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAFD,sCAEC;AAED,SAAgB,mBAAmB;IACjC,aAAa,EAAE,CAAC;IAChB,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,kDAGC;AAED,SAAgB,0BAA0B,CAAC,SAAS;IAClD,OAAO,mBAAmB,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAC7F,CAAC;AAFD,gEAEC;AAED,SAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,QAAQ,EACR,OAAO,EACP,uBAAuB,GAMxB;IACC,MAAM,kBAAkB,GAAG,IAAA,8CAAwB,EAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IAC9D,OAAO;QACL,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,MAAM,oBAAoB,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC9C,OAAO,MAAM,kBAAkB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;YACzD,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAC3D,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;YAED,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAC/C,qBAAqB,CAAC,CAAC,CAAC,CACzB,CAAC;YAEF,IAAI,2BAA2B,EAAE;gBAC/B,MAAM,yBAAyB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzD,MAAM,MAAM,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9D;gBAED,MAAM,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;aACvD;YAED,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,uBAAuB,EAAE,uBAAuB;KACjD,CAAC;AACJ,CAAC;AA5CD,wEA4CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DataStore } from '@docknetwork/wallet-sdk-data-store/lib/types';
|
|
2
|
+
export declare const SYNC_MARKER_TYPE = "SyncMarkerDocument";
|
|
3
|
+
export declare function initializeCloudWallet({ dataStore, edvUrl, agreementKey, verificationKey, hmacKey, authKey, }: {
|
|
4
|
+
dataStore?: DataStore;
|
|
5
|
+
edvUrl: string;
|
|
6
|
+
agreementKey: any;
|
|
7
|
+
verificationKey: any;
|
|
8
|
+
hmacKey: any;
|
|
9
|
+
authKey: string;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
clearEdvDocuments: () => Promise<void>;
|
|
12
|
+
pushSyncMarker: () => Promise<void>;
|
|
13
|
+
getSyncMarkerDiff: () => Promise<number>;
|
|
14
|
+
findDocumentByContentId: (id: any) => Promise<any>;
|
|
15
|
+
updateDocumentByContentId: (documentContent: any) => Promise<void>;
|
|
16
|
+
waitForEdvIdle: () => Promise<unknown>;
|
|
17
|
+
pullDocuments: () => Promise<void>;
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=cloud-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-wallet.d.ts","sourceRoot":"","sources":["../src/cloud-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAEV,MAAM,8CAA8C,CAAC;AAItD,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,wBAAsB,qBAAqB,CAAC,EAC1C,SAAS,EACT,MAAM,EACN,YAAY,EACZ,eAAe,EACf,OAAO,EACP,OAAO,GACR,EAAE;IACD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;;;;;;;;GAiKA"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeCloudWallet = exports.SYNC_MARKER_TYPE = void 0;
|
|
4
|
+
const types_1 = require("@docknetwork/wallet-sdk-data-store/lib/types");
|
|
5
|
+
const logger_1 = require("@docknetwork/wallet-sdk-data-store/lib/logger");
|
|
6
|
+
const edv_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/edv");
|
|
7
|
+
exports.SYNC_MARKER_TYPE = 'SyncMarkerDocument';
|
|
8
|
+
async function initializeCloudWallet({ dataStore, edvUrl, agreementKey, verificationKey, hmacKey, authKey, }) {
|
|
9
|
+
await edv_1.edvService.initialize({
|
|
10
|
+
hmacKey,
|
|
11
|
+
agreementKey,
|
|
12
|
+
verificationKey,
|
|
13
|
+
edvUrl,
|
|
14
|
+
authKey
|
|
15
|
+
});
|
|
16
|
+
let pendingOperations = 0;
|
|
17
|
+
let pendingOperationsResolvers = [];
|
|
18
|
+
function waitForEdvIdle() {
|
|
19
|
+
if (pendingOperations === 0) {
|
|
20
|
+
return Promise.resolve();
|
|
21
|
+
}
|
|
22
|
+
return new Promise(resolve => {
|
|
23
|
+
pendingOperationsResolvers.push(resolve);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async function findDocumentByContentId(id) {
|
|
27
|
+
const result = await edv_1.edvService.find({
|
|
28
|
+
equals: {
|
|
29
|
+
'content.id': id,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
return result.documents[0];
|
|
33
|
+
}
|
|
34
|
+
async function updateDocumentByContentId(documentContent) {
|
|
35
|
+
const edvDocument = await findDocumentByContentId(documentContent.id);
|
|
36
|
+
if (!edvDocument) {
|
|
37
|
+
throw new Error('Document not found in EDV');
|
|
38
|
+
}
|
|
39
|
+
logger_1.logger.debug(`Updating document ${documentContent.id} in EDV`);
|
|
40
|
+
await edv_1.edvService.update({
|
|
41
|
+
document: {
|
|
42
|
+
id: edvDocument.id,
|
|
43
|
+
content: documentContent,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
logger_1.logger.debug(`Document ${documentContent.id} updated in EDV`);
|
|
47
|
+
}
|
|
48
|
+
async function addDocumentHandler(content) {
|
|
49
|
+
pendingOperations++;
|
|
50
|
+
try {
|
|
51
|
+
logger_1.logger.debug(`Adding document to EDV: ${content.id}`);
|
|
52
|
+
await edv_1.edvService.insert({
|
|
53
|
+
document: {
|
|
54
|
+
content: content,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
logger_1.logger.debug(`Document added to EDV: ${content.id}`);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error('Unable to add document', content);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
pendingOperations--;
|
|
64
|
+
if (pendingOperations === 0) {
|
|
65
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
66
|
+
pendingOperationsResolvers = [];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function removeDocumentHandler(documentId) {
|
|
71
|
+
pendingOperations++;
|
|
72
|
+
try {
|
|
73
|
+
logger_1.logger.debug(`Removing document from EDV: ${documentId}`);
|
|
74
|
+
const edvDocument = await findDocumentByContentId(documentId);
|
|
75
|
+
await edv_1.edvService.delete({ document: edvDocument });
|
|
76
|
+
logger_1.logger.debug(`Document removed from EDV: ${documentId}`);
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
pendingOperations--;
|
|
80
|
+
if (pendingOperations === 0) {
|
|
81
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
82
|
+
pendingOperationsResolvers = [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function updateDocumentHandler(documentContent) {
|
|
87
|
+
pendingOperations++;
|
|
88
|
+
try {
|
|
89
|
+
await updateDocumentByContentId(documentContent);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
pendingOperations--;
|
|
93
|
+
if (pendingOperations === 0) {
|
|
94
|
+
pendingOperationsResolvers.forEach(resolve => resolve());
|
|
95
|
+
pendingOperationsResolvers = [];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
dataStore.events.on(types_1.DataStoreEvents.DocumentCreated, addDocumentHandler);
|
|
100
|
+
dataStore.events.on(types_1.DataStoreEvents.DocumentDeleted, removeDocumentHandler);
|
|
101
|
+
dataStore.events.on(types_1.DataStoreEvents.DocumentUpdated, updateDocumentHandler);
|
|
102
|
+
async function getSyncMarkerDiff() {
|
|
103
|
+
const edvSyncMaker = await findDocumentByContentId(exports.SYNC_MARKER_TYPE);
|
|
104
|
+
const localSyncMarker = await dataStore.documents.getDocumentById(exports.SYNC_MARKER_TYPE);
|
|
105
|
+
return edvSyncMaker?.content?.updatedAt - localSyncMarker?.updatedAt;
|
|
106
|
+
}
|
|
107
|
+
async function pushSyncMarker() {
|
|
108
|
+
const edvSyncMarker = await findDocumentByContentId(exports.SYNC_MARKER_TYPE);
|
|
109
|
+
const syncMarker = {
|
|
110
|
+
id: exports.SYNC_MARKER_TYPE,
|
|
111
|
+
type: exports.SYNC_MARKER_TYPE,
|
|
112
|
+
updatedAt: Date.now(),
|
|
113
|
+
};
|
|
114
|
+
if (edvSyncMarker) {
|
|
115
|
+
await dataStore.documents.updateDocument(syncMarker);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
await dataStore.documents.addDocument(syncMarker);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async function pullDocuments() {
|
|
122
|
+
const allDocs = await edv_1.edvService.find({});
|
|
123
|
+
for (const doc of allDocs.documents) {
|
|
124
|
+
const edvDoc = doc.content;
|
|
125
|
+
const walletDoc = await dataStore.documents.getDocumentById(edvDoc.id);
|
|
126
|
+
if (!walletDoc) {
|
|
127
|
+
const result = await dataStore.documents.addDocument(edvDoc, {
|
|
128
|
+
stopPropagation: true,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async function clearEdvDocuments() {
|
|
134
|
+
const allDocs = await edv_1.edvService.find({});
|
|
135
|
+
for (const doc of allDocs.documents) {
|
|
136
|
+
await edv_1.edvService.delete({ document: doc });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
clearEdvDocuments,
|
|
141
|
+
pushSyncMarker,
|
|
142
|
+
getSyncMarkerDiff,
|
|
143
|
+
findDocumentByContentId,
|
|
144
|
+
updateDocumentByContentId,
|
|
145
|
+
waitForEdvIdle,
|
|
146
|
+
pullDocuments,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
exports.initializeCloudWallet = initializeCloudWallet;
|
|
150
|
+
//# sourceMappingURL=cloud-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-wallet.js","sourceRoot":"","sources":["../src/cloud-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IWallet } from './types';
|
|
2
|
+
import { IDIDProvider } from './did-provider';
|
|
2
3
|
export type Credential = any;
|
|
3
4
|
export interface ICredentialProvider {
|
|
4
5
|
getCredentials(type?: string): Credential[];
|
|
@@ -7,6 +8,7 @@ export interface ICredentialProvider {
|
|
|
7
8
|
isBBSPlusCredential(credential: any): boolean;
|
|
8
9
|
isValid(credential: any, forceFetch?: boolean): Promise<boolean>;
|
|
9
10
|
addCredential(credential: any): Promise<Credential>;
|
|
11
|
+
importCredentialFromURI(params: importCredentialFromUriParams): Promise<Credential>;
|
|
10
12
|
syncCredentialStatus(params: SyncCredentialStatusParams): Promise<CredentialStatusDocument[]>;
|
|
11
13
|
getCredentialStatus(credential: Credential): Promise<{
|
|
12
14
|
status: string;
|
|
@@ -14,6 +16,14 @@ export interface ICredentialProvider {
|
|
|
14
16
|
}>;
|
|
15
17
|
}
|
|
16
18
|
export declare function isBBSPlusCredential(credential: any): any;
|
|
19
|
+
type importCredentialFromUriParams = {
|
|
20
|
+
uri: string;
|
|
21
|
+
didProvider: IDIDProvider;
|
|
22
|
+
getAuthCode?: (authorizationURL: string) => Promise<string>;
|
|
23
|
+
};
|
|
24
|
+
export declare function importCredentialFromURI({ uri, wallet, didProvider, getAuthCode, }: importCredentialFromUriParams & {
|
|
25
|
+
wallet: IWallet;
|
|
26
|
+
}): Promise<void>;
|
|
17
27
|
export declare function isCredentialExpired(credential: any): boolean;
|
|
18
28
|
/**
|
|
19
29
|
* Uses Dock SDK to verify a credential
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-provider.d.ts","sourceRoot":"","sources":["../src/credential-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIhC,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC;IAC9C,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,
|
|
1
|
+
{"version":3,"file":"credential-provider.d.ts","sourceRoot":"","sources":["../src/credential-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIhC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC;IAC9C,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,uBAAuB,CACrB,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,oBAAoB,CAClB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACvC,mBAAmB,CACjB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CAC9C;AAED,wBAAgB,mBAAmB,CAAC,UAAU,KAAA,OAS7C;AAED,KAAK,6BAA6B,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,YAAY,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,MAAM,EACN,WAAW,EACX,WAAW,GACZ,EAAE,6BAA6B,GAAG;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB,iBAYA;AAED,wBAAgB,mBAAmB,CAAC,UAAU,KAAA,WAK7C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,EAC5B,UAAU,EACV,MAAM,GACP,EAAE;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB;;;;;;GAsDA;AAED,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,wBAAsB,aAAa,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC;;;CAAA,gBAqBvD;AAOD,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAEhC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAwFF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,GACP,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,mBAAmB,CA2CtB"}
|
|
@@ -3,10 +3,11 @@ 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.createCredentialProvider = exports.CredentialStatus = exports.addCredential = exports.ACUMM_WITNESS_PROP_KEY = exports.isValid = exports.isCredentialExpired = exports.isBBSPlusCredential = void 0;
|
|
7
|
-
const credential_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
6
|
+
exports.createCredentialProvider = exports.CredentialStatus = exports.addCredential = exports.ACUMM_WITNESS_PROP_KEY = exports.isValid = exports.isCredentialExpired = exports.importCredentialFromURI = exports.isBBSPlusCredential = void 0;
|
|
7
|
+
const credential_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/credential");
|
|
8
8
|
const assert_1 = __importDefault(require("assert"));
|
|
9
|
-
const dock_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
9
|
+
const dock_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/dock");
|
|
10
|
+
const oidvc_1 = require("./credentials/oidvc");
|
|
10
11
|
function isBBSPlusCredential(credential) {
|
|
11
12
|
return ((typeof credential?.proof?.type === 'string' &&
|
|
12
13
|
credential.proof.type.includes('BBS+SignatureDock')) ||
|
|
@@ -14,8 +15,22 @@ function isBBSPlusCredential(credential) {
|
|
|
14
15
|
credential['@context'].find(context => context.bs && context.bs.indexOf('bbs') > -1)));
|
|
15
16
|
}
|
|
16
17
|
exports.isBBSPlusCredential = isBBSPlusCredential;
|
|
18
|
+
async function importCredentialFromURI({ uri, wallet, didProvider, getAuthCode, }) {
|
|
19
|
+
// TODO: unify the impl with the existing import credential flow
|
|
20
|
+
// if the URI is an OpenID credential offer, use the OpenID flow
|
|
21
|
+
// if the URI is a dock credential, then get user password and import that
|
|
22
|
+
// we can add support for other types of credentials later
|
|
23
|
+
const credential = await (0, oidvc_1.acquireOpenIDCredentialFromURI)({
|
|
24
|
+
didProvider,
|
|
25
|
+
uri,
|
|
26
|
+
getAuthCode,
|
|
27
|
+
});
|
|
28
|
+
await addCredential({ wallet, credential });
|
|
29
|
+
}
|
|
30
|
+
exports.importCredentialFromURI = importCredentialFromURI;
|
|
17
31
|
function isCredentialExpired(credential) {
|
|
18
|
-
return !!credential.expirationDate &&
|
|
32
|
+
return (!!credential.expirationDate &&
|
|
33
|
+
new Date(credential.expirationDate) < new Date());
|
|
19
34
|
}
|
|
20
35
|
exports.isCredentialExpired = isCredentialExpired;
|
|
21
36
|
/**
|
|
@@ -31,10 +46,11 @@ async function isValid({ credential, wallet, }) {
|
|
|
31
46
|
status: exports.CredentialStatus.Expired,
|
|
32
47
|
};
|
|
33
48
|
}
|
|
34
|
-
const membershipWitness = credential[exports.ACUMM_WITNESS_PROP_KEY] ||
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
const membershipWitness = credential[exports.ACUMM_WITNESS_PROP_KEY] ||
|
|
50
|
+
(await getMembershipWitness({
|
|
51
|
+
credentialId: credential.id,
|
|
52
|
+
wallet,
|
|
53
|
+
}));
|
|
38
54
|
delete credential[exports.ACUMM_WITNESS_PROP_KEY];
|
|
39
55
|
const verificationResult = await credential_1.credentialServiceRPC.verifyCredential({
|
|
40
56
|
credential,
|
|
@@ -42,7 +58,8 @@ async function isValid({ credential, wallet, }) {
|
|
|
42
58
|
});
|
|
43
59
|
const { verified, error } = verificationResult;
|
|
44
60
|
if (!verified) {
|
|
45
|
-
if (typeof error === 'string' &&
|
|
61
|
+
if (typeof error === 'string' &&
|
|
62
|
+
error.toLowerCase().includes('revocation')) {
|
|
46
63
|
return {
|
|
47
64
|
status: exports.CredentialStatus.Revoked,
|
|
48
65
|
error,
|
|
@@ -104,7 +121,7 @@ exports.CredentialStatus = {
|
|
|
104
121
|
* @param param0
|
|
105
122
|
* @returns CredentialStatusDocument[]
|
|
106
123
|
*/
|
|
107
|
-
async function syncCredentialStatus({ wallet, credentialIds, forceFetch }) {
|
|
124
|
+
async function syncCredentialStatus({ wallet, credentialIds, forceFetch, }) {
|
|
108
125
|
let credentials;
|
|
109
126
|
if (credentialIds && credentialIds.length) {
|
|
110
127
|
credentials = await wallet.getDocumentsById(credentialIds);
|
|
@@ -166,6 +183,10 @@ function createCredentialProvider({ wallet, }) {
|
|
|
166
183
|
return wallet.getDocumentsByType(type);
|
|
167
184
|
}
|
|
168
185
|
return {
|
|
186
|
+
importCredentialFromURI: async (params) => importCredentialFromURI({
|
|
187
|
+
...params,
|
|
188
|
+
wallet,
|
|
189
|
+
}),
|
|
169
190
|
getCredentials,
|
|
170
191
|
getMembershipWitness: async (credentialId) => getMembershipWitness({ credentialId, wallet }),
|
|
171
192
|
getById: (id) => wallet.getDocumentById(id),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-provider.js","sourceRoot":"","sources":["../src/credential-provider.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA0F;AAE1F,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"credential-provider.js","sourceRoot":"","sources":["../src/credential-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IDIDProvider } from '../did-provider';
|
|
2
|
+
export declare function acquireOpenIDCredentialFromURI({ didProvider, uri, getAuthCode, }: {
|
|
3
|
+
didProvider: IDIDProvider;
|
|
4
|
+
uri: string;
|
|
5
|
+
getAuthCode?: (authorizationURL: string) => Promise<string>;
|
|
6
|
+
}): Promise<import("@sphereon/ssi-types").W3CVerifiableCredential>;
|
|
7
|
+
export declare function getAuthURL(uri: string, walletClientId?: string, requestedRedirectURI?: string): Promise<string>;
|
|
8
|
+
export declare function decodeRequestJWT(uri: string): Promise<unknown>;
|
|
9
|
+
export declare function getPresentationSubmision({ credentials, presentationDefinition, holderDID, }: {
|
|
10
|
+
credentials: any;
|
|
11
|
+
presentationDefinition: any;
|
|
12
|
+
holderDID: any;
|
|
13
|
+
}): Promise<any>;
|
|
14
|
+
//# sourceMappingURL=oidvc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidvc.d.ts","sourceRoot":"","sources":["../../src/credentials/oidvc.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAQ7C,wBAAsB,8BAA8B,CAAC,EACnD,WAAW,EACX,GAAG,EACH,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,YAAY,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D,kEAkBA;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,MAAsB,EACtC,oBAAoB,GAAE,MAA0B,mBAgDjD;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,oBAQjD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,sBAAsB,EACtB,SAAS,GACV;;;;CAAA,gBAQA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPresentationSubmision = exports.decodeRequestJWT = exports.getAuthURL = exports.acquireOpenIDCredentialFromURI = void 0;
|
|
7
|
+
const credential_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/credential");
|
|
8
|
+
const jwt_decode_1 = __importDefault(require("jwt-decode"));
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
const pex_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/pex");
|
|
11
|
+
const oid4vci_common_1 = require("@sphereon/oid4vci-common");
|
|
12
|
+
async function acquireOpenIDCredentialFromURI({ didProvider, uri, getAuthCode, }) {
|
|
13
|
+
const [holderKeyDocument] = await didProvider.getDIDKeyPairs();
|
|
14
|
+
let response = await credential_1.credentialServiceRPC.acquireOIDCredential({
|
|
15
|
+
uri,
|
|
16
|
+
holderKeyDocument,
|
|
17
|
+
});
|
|
18
|
+
if (response.authorizationURL) {
|
|
19
|
+
const authorizationCode = await getAuthCode(response.authorizationURL);
|
|
20
|
+
response = await credential_1.credentialServiceRPC.acquireOIDCredential({
|
|
21
|
+
uri,
|
|
22
|
+
holderKeyDocument,
|
|
23
|
+
authorizationCode,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return response.credential;
|
|
27
|
+
}
|
|
28
|
+
exports.acquireOpenIDCredentialFromURI = acquireOpenIDCredentialFromURI;
|
|
29
|
+
async function getAuthURL(uri, walletClientId = 'dock-wallet', requestedRedirectURI = 'dockwallet://vp') {
|
|
30
|
+
function buildOID4VPRequestURL(params, prefix = 'dockwallet://') {
|
|
31
|
+
return `${prefix}?${Object.keys(params)
|
|
32
|
+
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(typeof params[key] === 'object'
|
|
33
|
+
? JSON.stringify(params[key])
|
|
34
|
+
: params[key])}`)
|
|
35
|
+
.join('&')}`;
|
|
36
|
+
}
|
|
37
|
+
const searchParams = new URL(uri).searchParams;
|
|
38
|
+
const params = new URLSearchParams(searchParams);
|
|
39
|
+
const clientId = params.get('client_id');
|
|
40
|
+
// We need to investigate why MetadataClient.retrieveAllMetadata(clientId); is not working on android
|
|
41
|
+
// Follow up bug ticket: https://dock-team.atlassian.net/browse/DCKM-600
|
|
42
|
+
const metadataURI = `${clientId}${oid4vci_common_1.WellKnownEndpoints.OPENID_CONFIGURATION}`;
|
|
43
|
+
const { data: metadata } = await axios_1.default.get(metadataURI);
|
|
44
|
+
const requestedAlg = metadata?.authorizationServerMetadata
|
|
45
|
+
?.request_object_signing_alg_values_supported[0];
|
|
46
|
+
const requestParams = {
|
|
47
|
+
scope: 'openid vp_token',
|
|
48
|
+
redirect_uri: requestedRedirectURI,
|
|
49
|
+
client_metadata: requestedAlg && requestedAlg !== 'EdDSA'
|
|
50
|
+
? JSON.stringify({
|
|
51
|
+
vp_formats_supported: {
|
|
52
|
+
vc_json: {
|
|
53
|
+
alg_values_supported: [requestedAlg],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
})
|
|
57
|
+
: ['EdDSA'],
|
|
58
|
+
};
|
|
59
|
+
return buildOID4VPRequestURL({
|
|
60
|
+
...requestParams,
|
|
61
|
+
client_id: walletClientId,
|
|
62
|
+
}, metadata.authorization_endpoint);
|
|
63
|
+
}
|
|
64
|
+
exports.getAuthURL = getAuthURL;
|
|
65
|
+
async function decodeRequestJWT(uri) {
|
|
66
|
+
const searchParams = new URL(uri).searchParams;
|
|
67
|
+
const params = new URLSearchParams(searchParams);
|
|
68
|
+
const requestUri = params.get('request_uri');
|
|
69
|
+
const jwt = await axios_1.default.get(requestUri).then(res => res.data);
|
|
70
|
+
const decoded = (0, jwt_decode_1.default)(jwt);
|
|
71
|
+
return decoded;
|
|
72
|
+
}
|
|
73
|
+
exports.decodeRequestJWT = decodeRequestJWT;
|
|
74
|
+
async function getPresentationSubmision({ credentials, presentationDefinition, holderDID, }) {
|
|
75
|
+
const presentation = await pex_1.pexService.presentationFrom({
|
|
76
|
+
presentationDefinition,
|
|
77
|
+
credentials,
|
|
78
|
+
holderDID,
|
|
79
|
+
});
|
|
80
|
+
return presentation.presentation_submission;
|
|
81
|
+
}
|
|
82
|
+
exports.getPresentationSubmision = getPresentationSubmision;
|
|
83
|
+
pex_1.pexService.evaluatePresentation;
|
|
84
|
+
//# sourceMappingURL=oidvc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidvc.js","sourceRoot":"","sources":["../../src/credentials/oidvc.ts"],"names":[],"mappings":"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"}
|
package/lib/did-provider.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createDIDProvider = exports.ensureDID = exports.getDIDKeyPairs = exports.getDefaultDID = exports.getAll = exports.createDIDKey = exports.createDIDKeyDocument = exports.createDIDock = exports.importDID = void 0;
|
|
7
|
-
const index_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
7
|
+
const index_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/dids/index");
|
|
8
8
|
const assert_1 = __importDefault(require("assert"));
|
|
9
9
|
async function importDID({ wallet, encryptedJSONWallet, password, }) {
|
|
10
10
|
try {
|
package/lib/ecosystem-tools.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getVerifiers = exports.getEcosystems = void 0;
|
|
4
|
-
const dock_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
5
|
-
const trust_registry_1 = require("@docknetwork/wallet-sdk-wasm/
|
|
4
|
+
const dock_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/dock");
|
|
5
|
+
const trust_registry_1 = require("@docknetwork/wallet-sdk-wasm/lib/services/trust-registry");
|
|
6
6
|
async function getEcosystems({ issuerDID, verifierDID, schemaId, }) {
|
|
7
7
|
await dock_1.dockService.ensureDockReady();
|
|
8
8
|
try {
|
package/lib/helpers.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export declare const WalletDocumentTypes: {
|
|
|
5
5
|
};
|
|
6
6
|
export declare function getJSONFromURL(url: string): Promise<any>;
|
|
7
7
|
export declare function getJSON(jsonOrURL: string | any): any;
|
|
8
|
+
export declare function replaceResponseURL(templateRequest: any): any;
|
|
8
9
|
//# sourceMappingURL=helpers.d.ts.map
|
package/lib/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAQA,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,QAElD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,QAIrC;AAGD,eAAO,MAAM,mBAAmB;;CAG/B,CAAC;AAYF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,gBAOzC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,OAiB9C"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAQA,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,QAElD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,QAIrC;AAGD,eAAO,MAAM,mBAAmB;;CAG/B,CAAC;AAYF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,gBAOzC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,OAiB9C;AAED,wBAAgB,kBAAkB,CAAC,eAAe,KAAA,OAQjD"}
|
package/lib/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.getJSON = exports.getJSONFromURL = exports.WalletDocumentTypes = exports.captureException = exports.setSentryCaptureException = void 0;
|
|
6
|
+
exports.replaceResponseURL = exports.getJSON = exports.getJSONFromURL = exports.WalletDocumentTypes = exports.captureException = exports.setSentryCaptureException = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const assert_1 = __importDefault(require("assert"));
|
|
9
9
|
// Sentry implementation will be injected by the wallet-app
|
|
@@ -60,4 +60,12 @@ function getJSON(jsonOrURL) {
|
|
|
60
60
|
throw new Error(`Invalid data ${jsonOrURL}`);
|
|
61
61
|
}
|
|
62
62
|
exports.getJSON = getJSON;
|
|
63
|
+
function replaceResponseURL(templateRequest) {
|
|
64
|
+
(0, assert_1.default)(process.env.TESTING_API_URL, "Please configure the TESTING_API_URL env var.");
|
|
65
|
+
if (templateRequest?.response_url) {
|
|
66
|
+
templateRequest.response_url = templateRequest.response_url.replace("${TESTING_API_URL}", process.env.TESTING_API_URL);
|
|
67
|
+
}
|
|
68
|
+
return templateRequest;
|
|
69
|
+
}
|
|
70
|
+
exports.replaceResponseURL = replaceResponseURL;
|
|
63
71
|
//# sourceMappingURL=helpers.js.map
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAA4B;AAE5B,2DAA2D;AAC3D,IAAI,sBAAsB,GAAQ,KAAK,CAAC,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,SAAgB,yBAAyB,CAAC,IAAS;IACjD,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC;AAFD,8DAEC;AAED,SAAgB,gBAAgB,CAAC,KAAK;IACpC,IAAI,sBAAsB,EAAE;QAC1B,sBAAsB,CAAC,KAAK,CAAC,CAAC;KAC/B;AACH,CAAC;AAJD,4CAIC;AAGY,QAAA,mBAAmB,GAAG;IACjC,gFAAgF;IAChF,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF,SAAS,KAAK,CAAC,GAAG;IAChB,IAAI;QACF,kCAAkC;QAClC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,eAAK;SACT,GAAG,CAAC,GAAG,CAAC;SACR,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAPD,wCAOC;AAED,SAAgB,OAAO,CAAC,SAAuB;IAC7C,IAAA,gBAAM,EAAC,CAAC,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAE7C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;YACrC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;AAC/C,CAAC;AAjBD,0BAiBC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAA4B;AAE5B,2DAA2D;AAC3D,IAAI,sBAAsB,GAAQ,KAAK,CAAC,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,SAAgB,yBAAyB,CAAC,IAAS;IACjD,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC;AAFD,8DAEC;AAED,SAAgB,gBAAgB,CAAC,KAAK;IACpC,IAAI,sBAAsB,EAAE;QAC1B,sBAAsB,CAAC,KAAK,CAAC,CAAC;KAC/B;AACH,CAAC;AAJD,4CAIC;AAGY,QAAA,mBAAmB,GAAG;IACjC,gFAAgF;IAChF,cAAc,EAAE,gBAAgB;CACjC,CAAC;AAEF,SAAS,KAAK,CAAC,GAAG;IAChB,IAAI;QACF,kCAAkC;QAClC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,eAAK;SACT,GAAG,CAAC,GAAG,CAAC;SACR,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAPD,wCAOC;AAED,SAAgB,OAAO,CAAC,SAAuB;IAC7C,IAAA,gBAAM,EAAC,CAAC,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAE7C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;YACrC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;AAC/C,CAAC;AAjBD,0BAiBC;AAED,SAAgB,kBAAkB,CAAC,eAAe;IAChD,IAAA,gBAAM,EAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;IAErF,IAAI,eAAe,EAAE,YAAY,EAAC;QAChC,eAAe,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACxH;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AARD,gDAQC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { IDIDProvider } from './did-provider';
|
|
3
2
|
import { IWallet } from './types';
|
|
4
3
|
export interface IMessageProvider {
|
|
@@ -10,27 +9,11 @@ export interface IMessageProvider {
|
|
|
10
9
|
waitForMessage: () => Promise<any>;
|
|
11
10
|
markMessageAsRead: (messageId: string) => Promise<void>;
|
|
12
11
|
clearCache: () => Promise<void>;
|
|
12
|
+
processMessageRecurrentJob: () => Promise<void>;
|
|
13
13
|
}
|
|
14
14
|
export declare function createMessageProvider({ wallet, didProvider, relayService, }: {
|
|
15
15
|
wallet: IWallet;
|
|
16
16
|
didProvider: IDIDProvider;
|
|
17
17
|
relayService?: any;
|
|
18
|
-
}):
|
|
19
|
-
sendMessage({ did, recipientDid, message, from, to, body, type, }: {
|
|
20
|
-
did: any;
|
|
21
|
-
recipientDid: any;
|
|
22
|
-
message: any;
|
|
23
|
-
from: any;
|
|
24
|
-
to: any;
|
|
25
|
-
body: any;
|
|
26
|
-
type: any;
|
|
27
|
-
}): Promise<void>;
|
|
28
|
-
waitForMessage(): Promise<unknown>;
|
|
29
|
-
startAutoFetch(timeout?: number): () => void;
|
|
30
|
-
clearCache: () => Promise<void[]>;
|
|
31
|
-
fetchMessages: () => Promise<any>;
|
|
32
|
-
addMessageListener: (handler: any) => () => import("events");
|
|
33
|
-
processDIDCommMessages: (limit?: number) => Promise<void>;
|
|
34
|
-
markMessageAsRead: (messageId: string) => Promise<void>;
|
|
35
|
-
};
|
|
18
|
+
}): any;
|
|
36
19
|
//# sourceMappingURL=message-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-provider.d.ts","sourceRoot":"","sources":["../src/message-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-provider.d.ts","sourceRoot":"","sources":["../src/message-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAKhC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAcD,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,WAAW,EACX,YAAkC,GACnC,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,OA4PA"}
|