@docknetwork/wallet-sdk-relay-service 1.5.11 → 1.7.0
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/index.js +85 -22
- package/lib/index.mjs +85 -21
- package/package.json +4 -4
- package/src/index.js +47 -3
- package/tests/relay-service.test.js +4 -7
package/lib/index.js
CHANGED
|
@@ -24,7 +24,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
24
24
|
|
|
25
25
|
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
26
26
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
27
|
-
var jwtDecode__default = /*#__PURE__*/_interopDefaultLegacy(jwtDecode);
|
|
28
27
|
|
|
29
28
|
var serviceURL = process.env.RELAY_SERVICE_URL || 'https://relay.truvera.io';
|
|
30
29
|
var didcomm = {
|
|
@@ -33,7 +32,8 @@ var didcomm = {
|
|
|
33
32
|
};
|
|
34
33
|
var sendMessage = /*#__PURE__*/function () {
|
|
35
34
|
var _ref2 = _rollupPluginBabelHelpers._asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers._regeneratorRuntime().mark(function _callee(_ref) {
|
|
36
|
-
var
|
|
35
|
+
var _didDocument$service;
|
|
36
|
+
var keyPairDoc, recipientDid, message, type, keyAgreementKey, jweMessage, didDocument, services, serviceEndpoints, _iterator, _step, endpoint, _result2, _yield$generateSigned, payload, did, result;
|
|
37
37
|
return _rollupPluginBabelHelpers._regeneratorRuntime().wrap(function _callee$(_context) {
|
|
38
38
|
while (1) switch (_context.prev = _context.next) {
|
|
39
39
|
case 0:
|
|
@@ -56,32 +56,95 @@ var sendMessage = /*#__PURE__*/function () {
|
|
|
56
56
|
case 9:
|
|
57
57
|
jweMessage = _context.sent;
|
|
58
58
|
_context.next = 12;
|
|
59
|
+
return service.blockchainService.resolveDID(recipientDid);
|
|
60
|
+
case 12:
|
|
61
|
+
didDocument = _context.sent;
|
|
62
|
+
services = (didDocument === null || didDocument === void 0 || (_didDocument$service = didDocument.service) === null || _didDocument$service === void 0 ? void 0 : _didDocument$service.filter(function (endpoint) {
|
|
63
|
+
return endpoint.type === 'DIDCommMessaging';
|
|
64
|
+
})) || [];
|
|
65
|
+
serviceEndpoints = services.flatMap(function (service) {
|
|
66
|
+
if (!service.serviceEndpoint) {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
if (!Array.isArray(service.serviceEndpoint)) {
|
|
70
|
+
return [service.serviceEndpoint];
|
|
71
|
+
}
|
|
72
|
+
return service.serviceEndpoint;
|
|
73
|
+
}).filter(function (endpoint) {
|
|
74
|
+
var _endpoint$accept;
|
|
75
|
+
return (_endpoint$accept = endpoint.accept) === null || _endpoint$accept === void 0 ? void 0 : _endpoint$accept.includes('didcomm/v2');
|
|
76
|
+
}); // Try each endpoint until one is successful
|
|
77
|
+
_iterator = _rollupPluginBabelHelpers._createForOfIteratorHelper(serviceEndpoints);
|
|
78
|
+
_context.prev = 16;
|
|
79
|
+
_iterator.s();
|
|
80
|
+
case 18:
|
|
81
|
+
if ((_step = _iterator.n()).done) {
|
|
82
|
+
_context.next = 32;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
endpoint = _step.value;
|
|
86
|
+
_context.prev = 20;
|
|
87
|
+
_context.next = 23;
|
|
88
|
+
return axios__default["default"].post(endpoint.uri, jweMessage, {
|
|
89
|
+
headers: {
|
|
90
|
+
'Content-Type': 'application/didcomm-encrypted+json',
|
|
91
|
+
Accept: 'application/didcomm-encrypted+json'
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
case 23:
|
|
95
|
+
_result2 = _context.sent;
|
|
96
|
+
return _context.abrupt("return", {
|
|
97
|
+
success: _result2.data.status === 'received',
|
|
98
|
+
endpoint: endpoint.uri
|
|
99
|
+
});
|
|
100
|
+
case 27:
|
|
101
|
+
_context.prev = 27;
|
|
102
|
+
_context.t0 = _context["catch"](20);
|
|
103
|
+
console.error("Failed to send message to ".concat(endpoint.uri, ":"), _context.t0.response || _context.t0.message);
|
|
104
|
+
case 30:
|
|
105
|
+
_context.next = 18;
|
|
106
|
+
break;
|
|
107
|
+
case 32:
|
|
108
|
+
_context.next = 37;
|
|
109
|
+
break;
|
|
110
|
+
case 34:
|
|
111
|
+
_context.prev = 34;
|
|
112
|
+
_context.t1 = _context["catch"](16);
|
|
113
|
+
_iterator.e(_context.t1);
|
|
114
|
+
case 37:
|
|
115
|
+
_context.prev = 37;
|
|
116
|
+
_iterator.f();
|
|
117
|
+
return _context.finish(37);
|
|
118
|
+
case 40:
|
|
119
|
+
_context.next = 42;
|
|
59
120
|
return payloads.generateSignedPayload(keyPairDoc, {
|
|
60
121
|
to: recipientDid,
|
|
61
122
|
msg: payloads.toBase64(jweMessage)
|
|
62
123
|
});
|
|
63
|
-
case
|
|
124
|
+
case 42:
|
|
64
125
|
_yield$generateSigned = _context.sent;
|
|
65
126
|
payload = _yield$generateSigned.payload;
|
|
66
127
|
did = _yield$generateSigned.did;
|
|
67
|
-
_context.prev =
|
|
68
|
-
_context.next =
|
|
128
|
+
_context.prev = 45;
|
|
129
|
+
_context.next = 48;
|
|
69
130
|
return axios__default["default"].post("".concat(serviceURL, "/messages/").concat(encodeURIComponent(did)), {
|
|
70
131
|
payload: payloads.toBase64(payload)
|
|
71
132
|
});
|
|
72
|
-
case
|
|
133
|
+
case 48:
|
|
73
134
|
result = _context.sent;
|
|
74
|
-
return _context.abrupt("return",
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
135
|
+
return _context.abrupt("return", {
|
|
136
|
+
success: result.data.success
|
|
137
|
+
});
|
|
138
|
+
case 52:
|
|
139
|
+
_context.prev = 52;
|
|
140
|
+
_context.t2 = _context["catch"](45);
|
|
141
|
+
console.error(_context.t2.response);
|
|
142
|
+
throw _context.t2;
|
|
143
|
+
case 56:
|
|
81
144
|
case "end":
|
|
82
145
|
return _context.stop();
|
|
83
146
|
}
|
|
84
|
-
}, _callee, null, [[
|
|
147
|
+
}, _callee, null, [[16, 34, 37, 40], [20, 27], [45, 52]]);
|
|
85
148
|
}));
|
|
86
149
|
return function sendMessage(_x) {
|
|
87
150
|
return _ref2.apply(this, arguments);
|
|
@@ -228,7 +291,7 @@ function _jwtHandler() {
|
|
|
228
291
|
case 0:
|
|
229
292
|
_context5.prev = 0;
|
|
230
293
|
_context5.next = 3;
|
|
231
|
-
return
|
|
294
|
+
return jwtDecode.jwtDecode(message);
|
|
232
295
|
case 3:
|
|
233
296
|
jwt = _context5.sent;
|
|
234
297
|
return _context5.abrupt("return", jwt);
|
|
@@ -300,21 +363,21 @@ function resolveJweString(_x8) {
|
|
|
300
363
|
}
|
|
301
364
|
function _resolveJweString() {
|
|
302
365
|
_resolveJweString = _rollupPluginBabelHelpers._asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers._regeneratorRuntime().mark(function _callee8(message) {
|
|
303
|
-
var resolvedMessage,
|
|
366
|
+
var resolvedMessage, _iterator2, _step2, handler, _result;
|
|
304
367
|
return _rollupPluginBabelHelpers._regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
305
368
|
while (1) switch (_context8.prev = _context8.next) {
|
|
306
369
|
case 0:
|
|
307
370
|
resolvedMessage = message;
|
|
308
371
|
_context8.prev = 1;
|
|
309
|
-
|
|
372
|
+
_iterator2 = _rollupPluginBabelHelpers._createForOfIteratorHelper(messageHandlers);
|
|
310
373
|
_context8.prev = 3;
|
|
311
|
-
|
|
374
|
+
_iterator2.s();
|
|
312
375
|
case 5:
|
|
313
|
-
if ((
|
|
376
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
314
377
|
_context8.next = 13;
|
|
315
378
|
break;
|
|
316
379
|
}
|
|
317
|
-
handler =
|
|
380
|
+
handler = _step2.value;
|
|
318
381
|
_context8.next = 9;
|
|
319
382
|
return handler(resolvedMessage);
|
|
320
383
|
case 9:
|
|
@@ -331,10 +394,10 @@ function _resolveJweString() {
|
|
|
331
394
|
case 15:
|
|
332
395
|
_context8.prev = 15;
|
|
333
396
|
_context8.t0 = _context8["catch"](3);
|
|
334
|
-
|
|
397
|
+
_iterator2.e(_context8.t0);
|
|
335
398
|
case 18:
|
|
336
399
|
_context8.prev = 18;
|
|
337
|
-
|
|
400
|
+
_iterator2.f();
|
|
338
401
|
return _context8.finish(18);
|
|
339
402
|
case 21:
|
|
340
403
|
_context8.next = 28;
|
package/lib/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import axios from 'axios';
|
|
|
4
4
|
import { Logger } from '@docknetwork/wallet-sdk-wasm/lib/core/logger';
|
|
5
5
|
import { didcommCreateEncrypted, didcommDecrypt, getDerivedAgreementKey, didcommCreateSignedJWT, DIDCOMM_TYPE_ISSUE_DIRECT } from './didcomm.mjs';
|
|
6
6
|
import { toBase64, generateSignedPayload, generateSignedPayloadFromList, fromBase64 } from './payloads.mjs';
|
|
7
|
-
import jwtDecode from 'jwt-decode';
|
|
7
|
+
import { jwtDecode } from 'jwt-decode';
|
|
8
8
|
import { blockchainService } from '@docknetwork/wallet-sdk-wasm/lib/services/blockchain/service';
|
|
9
9
|
import { utilCryptoService } from '@docknetwork/wallet-sdk-wasm/lib/services/util-crypto/service';
|
|
10
10
|
import '@digitalbazaar/x25519-key-agreement-key-2020';
|
|
@@ -23,7 +23,8 @@ var didcomm = {
|
|
|
23
23
|
};
|
|
24
24
|
var sendMessage = /*#__PURE__*/function () {
|
|
25
25
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
26
|
-
var
|
|
26
|
+
var _didDocument$service;
|
|
27
|
+
var keyPairDoc, recipientDid, message, type, keyAgreementKey, jweMessage, didDocument, services, serviceEndpoints, _iterator, _step, endpoint, _result2, _yield$generateSigned, payload, did, result;
|
|
27
28
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
28
29
|
while (1) switch (_context.prev = _context.next) {
|
|
29
30
|
case 0:
|
|
@@ -46,32 +47,95 @@ var sendMessage = /*#__PURE__*/function () {
|
|
|
46
47
|
case 9:
|
|
47
48
|
jweMessage = _context.sent;
|
|
48
49
|
_context.next = 12;
|
|
50
|
+
return blockchainService.resolveDID(recipientDid);
|
|
51
|
+
case 12:
|
|
52
|
+
didDocument = _context.sent;
|
|
53
|
+
services = (didDocument === null || didDocument === void 0 || (_didDocument$service = didDocument.service) === null || _didDocument$service === void 0 ? void 0 : _didDocument$service.filter(function (endpoint) {
|
|
54
|
+
return endpoint.type === 'DIDCommMessaging';
|
|
55
|
+
})) || [];
|
|
56
|
+
serviceEndpoints = services.flatMap(function (service) {
|
|
57
|
+
if (!service.serviceEndpoint) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
if (!Array.isArray(service.serviceEndpoint)) {
|
|
61
|
+
return [service.serviceEndpoint];
|
|
62
|
+
}
|
|
63
|
+
return service.serviceEndpoint;
|
|
64
|
+
}).filter(function (endpoint) {
|
|
65
|
+
var _endpoint$accept;
|
|
66
|
+
return (_endpoint$accept = endpoint.accept) === null || _endpoint$accept === void 0 ? void 0 : _endpoint$accept.includes('didcomm/v2');
|
|
67
|
+
}); // Try each endpoint until one is successful
|
|
68
|
+
_iterator = _createForOfIteratorHelper(serviceEndpoints);
|
|
69
|
+
_context.prev = 16;
|
|
70
|
+
_iterator.s();
|
|
71
|
+
case 18:
|
|
72
|
+
if ((_step = _iterator.n()).done) {
|
|
73
|
+
_context.next = 32;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
endpoint = _step.value;
|
|
77
|
+
_context.prev = 20;
|
|
78
|
+
_context.next = 23;
|
|
79
|
+
return axios.post(endpoint.uri, jweMessage, {
|
|
80
|
+
headers: {
|
|
81
|
+
'Content-Type': 'application/didcomm-encrypted+json',
|
|
82
|
+
Accept: 'application/didcomm-encrypted+json'
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
case 23:
|
|
86
|
+
_result2 = _context.sent;
|
|
87
|
+
return _context.abrupt("return", {
|
|
88
|
+
success: _result2.data.status === 'received',
|
|
89
|
+
endpoint: endpoint.uri
|
|
90
|
+
});
|
|
91
|
+
case 27:
|
|
92
|
+
_context.prev = 27;
|
|
93
|
+
_context.t0 = _context["catch"](20);
|
|
94
|
+
console.error("Failed to send message to ".concat(endpoint.uri, ":"), _context.t0.response || _context.t0.message);
|
|
95
|
+
case 30:
|
|
96
|
+
_context.next = 18;
|
|
97
|
+
break;
|
|
98
|
+
case 32:
|
|
99
|
+
_context.next = 37;
|
|
100
|
+
break;
|
|
101
|
+
case 34:
|
|
102
|
+
_context.prev = 34;
|
|
103
|
+
_context.t1 = _context["catch"](16);
|
|
104
|
+
_iterator.e(_context.t1);
|
|
105
|
+
case 37:
|
|
106
|
+
_context.prev = 37;
|
|
107
|
+
_iterator.f();
|
|
108
|
+
return _context.finish(37);
|
|
109
|
+
case 40:
|
|
110
|
+
_context.next = 42;
|
|
49
111
|
return generateSignedPayload(keyPairDoc, {
|
|
50
112
|
to: recipientDid,
|
|
51
113
|
msg: toBase64(jweMessage)
|
|
52
114
|
});
|
|
53
|
-
case
|
|
115
|
+
case 42:
|
|
54
116
|
_yield$generateSigned = _context.sent;
|
|
55
117
|
payload = _yield$generateSigned.payload;
|
|
56
118
|
did = _yield$generateSigned.did;
|
|
57
|
-
_context.prev =
|
|
58
|
-
_context.next =
|
|
119
|
+
_context.prev = 45;
|
|
120
|
+
_context.next = 48;
|
|
59
121
|
return axios.post("".concat(serviceURL, "/messages/").concat(encodeURIComponent(did)), {
|
|
60
122
|
payload: toBase64(payload)
|
|
61
123
|
});
|
|
62
|
-
case
|
|
124
|
+
case 48:
|
|
63
125
|
result = _context.sent;
|
|
64
|
-
return _context.abrupt("return",
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
126
|
+
return _context.abrupt("return", {
|
|
127
|
+
success: result.data.success
|
|
128
|
+
});
|
|
129
|
+
case 52:
|
|
130
|
+
_context.prev = 52;
|
|
131
|
+
_context.t2 = _context["catch"](45);
|
|
132
|
+
console.error(_context.t2.response);
|
|
133
|
+
throw _context.t2;
|
|
134
|
+
case 56:
|
|
71
135
|
case "end":
|
|
72
136
|
return _context.stop();
|
|
73
137
|
}
|
|
74
|
-
}, _callee, null, [[
|
|
138
|
+
}, _callee, null, [[16, 34, 37, 40], [20, 27], [45, 52]]);
|
|
75
139
|
}));
|
|
76
140
|
return function sendMessage(_x) {
|
|
77
141
|
return _ref2.apply(this, arguments);
|
|
@@ -290,21 +354,21 @@ function resolveJweString(_x8) {
|
|
|
290
354
|
}
|
|
291
355
|
function _resolveJweString() {
|
|
292
356
|
_resolveJweString = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(message) {
|
|
293
|
-
var resolvedMessage,
|
|
357
|
+
var resolvedMessage, _iterator2, _step2, handler, _result;
|
|
294
358
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
295
359
|
while (1) switch (_context8.prev = _context8.next) {
|
|
296
360
|
case 0:
|
|
297
361
|
resolvedMessage = message;
|
|
298
362
|
_context8.prev = 1;
|
|
299
|
-
|
|
363
|
+
_iterator2 = _createForOfIteratorHelper(messageHandlers);
|
|
300
364
|
_context8.prev = 3;
|
|
301
|
-
|
|
365
|
+
_iterator2.s();
|
|
302
366
|
case 5:
|
|
303
|
-
if ((
|
|
367
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
304
368
|
_context8.next = 13;
|
|
305
369
|
break;
|
|
306
370
|
}
|
|
307
|
-
handler =
|
|
371
|
+
handler = _step2.value;
|
|
308
372
|
_context8.next = 9;
|
|
309
373
|
return handler(resolvedMessage);
|
|
310
374
|
case 9:
|
|
@@ -321,10 +385,10 @@ function _resolveJweString() {
|
|
|
321
385
|
case 15:
|
|
322
386
|
_context8.prev = 15;
|
|
323
387
|
_context8.t0 = _context8["catch"](3);
|
|
324
|
-
|
|
388
|
+
_iterator2.e(_context8.t0);
|
|
325
389
|
case 18:
|
|
326
390
|
_context8.prev = 18;
|
|
327
|
-
|
|
391
|
+
_iterator2.f();
|
|
328
392
|
return _context8.finish(18);
|
|
329
393
|
case 21:
|
|
330
394
|
_context8.next = 28;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docknetwork/wallet-sdk-relay-service",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"license": "https://github.com/docknetwork/
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"license": "https://github.com/docknetwork/wallet-sdk/LICENSE",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/docknetwork/
|
|
7
|
+
"url": "git+https://github.com/docknetwork/wallet-sdk.git",
|
|
8
8
|
"directory": "packages/relay-service"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"uuid": "^9.0.0",
|
|
15
15
|
"@docknetwork/minimal-cipher": "^5.2.1",
|
|
16
|
-
"@docknetwork/wallet-sdk-wasm": "^1.
|
|
16
|
+
"@docknetwork/wallet-sdk-wasm": "^1.7.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"jest": "29.1.0",
|
package/src/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
generateSignedPayloadFromList,
|
|
15
15
|
toBase64,
|
|
16
16
|
} from './payloads';
|
|
17
|
-
import jwtDecode from 'jwt-decode';
|
|
17
|
+
import {jwtDecode} from 'jwt-decode';
|
|
18
18
|
import {blockchainService} from '@docknetwork/wallet-sdk-wasm/src/services/blockchain/service';
|
|
19
19
|
import {utilCryptoService} from '@docknetwork/wallet-sdk-wasm/src/services/util-crypto/service';
|
|
20
20
|
|
|
@@ -39,6 +39,48 @@ const sendMessage = async ({keyPairDoc, recipientDid, message, type}) => {
|
|
|
39
39
|
keyAgreementKey,
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
const didDocument = await blockchainService.resolveDID(recipientDid);
|
|
43
|
+
const services =
|
|
44
|
+
didDocument?.service?.filter(
|
|
45
|
+
endpoint => endpoint.type === 'DIDCommMessaging',
|
|
46
|
+
) || [];
|
|
47
|
+
|
|
48
|
+
const serviceEndpoints = services
|
|
49
|
+
.flatMap(service => {
|
|
50
|
+
if (!service.serviceEndpoint) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!Array.isArray(service.serviceEndpoint)) {
|
|
55
|
+
return [service.serviceEndpoint];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return service.serviceEndpoint;
|
|
59
|
+
})
|
|
60
|
+
.filter(endpoint => endpoint.accept?.includes('didcomm/v2'));
|
|
61
|
+
|
|
62
|
+
// Try each endpoint until one is successful
|
|
63
|
+
for (const endpoint of serviceEndpoints) {
|
|
64
|
+
try {
|
|
65
|
+
const result = await axios.post(endpoint.uri, jweMessage, {
|
|
66
|
+
headers: {
|
|
67
|
+
'Content-Type': 'application/didcomm-encrypted+json',
|
|
68
|
+
Accept: 'application/didcomm-encrypted+json',
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
return {
|
|
73
|
+
success: result.data.status === 'received',
|
|
74
|
+
endpoint: endpoint.uri,
|
|
75
|
+
};
|
|
76
|
+
} catch (err) {
|
|
77
|
+
console.error(
|
|
78
|
+
`Failed to send message to ${endpoint.uri}:`,
|
|
79
|
+
err.response || err.message,
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
42
84
|
const {payload, did} = await generateSignedPayload(keyPairDoc, {
|
|
43
85
|
to: recipientDid,
|
|
44
86
|
msg: toBase64(jweMessage),
|
|
@@ -52,10 +94,12 @@ const sendMessage = async ({keyPairDoc, recipientDid, message, type}) => {
|
|
|
52
94
|
},
|
|
53
95
|
);
|
|
54
96
|
|
|
55
|
-
return
|
|
97
|
+
return {
|
|
98
|
+
success: result.data.success,
|
|
99
|
+
};
|
|
56
100
|
} catch (err) {
|
|
57
101
|
console.error(err.response);
|
|
58
|
-
|
|
102
|
+
throw err;
|
|
59
103
|
}
|
|
60
104
|
};
|
|
61
105
|
|
|
@@ -4,11 +4,15 @@ import {generateSignedPayload, toBase64} from '../src/payloads';
|
|
|
4
4
|
import {ALICE_KEY_PAIR_DOC, BOB_KEY_PAIR_DOC} from './mock-data';
|
|
5
5
|
import {didcommCreateEncrypted} from '../src/didcomm';
|
|
6
6
|
import {getDerivedAgreementKey} from '../src/didcomm';
|
|
7
|
+
import {blockchainService} from '@docknetwork/wallet-sdk-wasm/src/services/blockchain';
|
|
7
8
|
|
|
8
9
|
describe('Relay service', () => {
|
|
9
10
|
beforeEach(() => {
|
|
10
11
|
jest.spyOn(didcomm, 'encrypt').mockImplementationOnce(msg => msg);
|
|
11
12
|
jest.spyOn(didcomm, 'decrypt').mockImplementationOnce(msg => msg);
|
|
13
|
+
jest
|
|
14
|
+
.spyOn(blockchainService, 'resolveDID')
|
|
15
|
+
.mockImplementationOnce(msg => msg);
|
|
12
16
|
});
|
|
13
17
|
|
|
14
18
|
describe('generateSignedPayload', () => {
|
|
@@ -172,13 +176,6 @@ describe('Relay service', () => {
|
|
|
172
176
|
data: jwtMessage,
|
|
173
177
|
});
|
|
174
178
|
|
|
175
|
-
// Mock the JWT decode functionality to return an object with credentials
|
|
176
|
-
jest.spyOn(require('jwt-decode'), 'default').mockImplementation(() => ({
|
|
177
|
-
payload: {
|
|
178
|
-
credentials: [{id: 'test-credential'}],
|
|
179
|
-
},
|
|
180
|
-
}));
|
|
181
|
-
|
|
182
179
|
const result = await RelayService.resolveDidcommMessage({
|
|
183
180
|
message: `didcomm://${messageURL}`,
|
|
184
181
|
keyPairDocs: [BOB_KEY_PAIR_DOC],
|