@ledgerhq/ledger-key-ring-protocol 0.5.3-next.0 → 0.5.4-nightly.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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +20 -0
- package/lib/HWDeviceProvider.js +49 -51
- package/lib/HWDeviceProvider.js.map +1 -1
- package/lib/api.js +79 -108
- package/lib/api.js.map +1 -1
- package/lib/auth.js +29 -40
- package/lib/auth.js.map +1 -1
- package/lib/mockSdk.js +95 -115
- package/lib/mockSdk.js.map +1 -1
- package/lib/qrcode/index.js +155 -168
- package/lib/qrcode/index.js.map +1 -1
- package/lib/qrcode/index.test.js +13 -22
- package/lib/qrcode/index.test.js.map +1 -1
- package/lib/sdk.js +231 -270
- package/lib/sdk.js.map +1 -1
- package/lib/store.js +3 -3
- package/lib/store.js.map +1 -1
- package/lib-es/HWDeviceProvider.js +49 -51
- package/lib-es/HWDeviceProvider.js.map +1 -1
- package/lib-es/api.js +79 -108
- package/lib-es/api.js.map +1 -1
- package/lib-es/auth.js +29 -40
- package/lib-es/auth.js.map +1 -1
- package/lib-es/mockSdk.js +95 -115
- package/lib-es/mockSdk.js.map +1 -1
- package/lib-es/qrcode/index.js +155 -168
- package/lib-es/qrcode/index.js.map +1 -1
- package/lib-es/qrcode/index.test.js +13 -22
- package/lib-es/qrcode/index.test.js.map +1 -1
- package/lib-es/sdk.js +231 -270
- package/lib-es/sdk.js.map +1 -1
- package/lib-es/store.js +3 -3
- package/lib-es/store.js.map +1 -1
- package/package.json +7 -7
- package/tsconfig.json +0 -1
package/lib/qrcode/index.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -20,7 +11,7 @@ const errors_1 = require("../errors");
|
|
|
20
11
|
const logs_1 = require("@ledgerhq/logs");
|
|
21
12
|
const version = 1;
|
|
22
13
|
const CLOSE_TIMEOUT = 100; // just enough time for the onerror to appear before onclose
|
|
23
|
-
const commonSwitch =
|
|
14
|
+
const commonSwitch = async ({ data, cipher, addMember, send, publisher, resolve, memberCredentials, memberName, reject, ws, setFinished, initialTrustchainId, }) => {
|
|
24
15
|
switch (data.message) {
|
|
25
16
|
case "TrustchainShareCredential": {
|
|
26
17
|
if (!initialTrustchainId) {
|
|
@@ -36,7 +27,7 @@ const commonSwitch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ data,
|
|
|
36
27
|
throw new Error("sessionEncryptionKey not set");
|
|
37
28
|
}
|
|
38
29
|
const { id, name } = cipher.decryptMessage(data);
|
|
39
|
-
const trustchain =
|
|
30
|
+
const trustchain = await addMember({ id, name, permissions: hw_ledger_key_ring_protocol_1.Permissions.OWNER });
|
|
40
31
|
const payload = cipher.encryptMessagePayload({ trustchain });
|
|
41
32
|
send({ version, publisher, message: "TrustchainAddedMember", payload });
|
|
42
33
|
resolve();
|
|
@@ -81,96 +72,94 @@ const commonSwitch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ data,
|
|
|
81
72
|
default:
|
|
82
73
|
throw new Error("unexpected message");
|
|
83
74
|
}
|
|
84
|
-
}
|
|
75
|
+
};
|
|
85
76
|
/**
|
|
86
77
|
* establish a channel to be able to add a member to the trustchain after displaying the QR Code
|
|
87
78
|
* @returns a promise that resolves when this is done
|
|
88
79
|
*/
|
|
89
|
-
function createQRCodeHostInstance(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
80
|
+
async function createQRCodeHostInstance({ trustchainApiBaseUrl, onDisplayQRCode, onDisplayDigits, addMember, memberCredentials, memberName, initialTrustchainId, }) {
|
|
81
|
+
const ephemeralKey = hw_ledger_key_ring_protocol_1.crypto.randomKeypair();
|
|
82
|
+
const publisher = hw_ledger_key_ring_protocol_1.crypto.to_hex(ephemeralKey.publicKey);
|
|
83
|
+
const url = `${trustchainApiBaseUrl.replace("http", "ws")}/v1/qr?host=${publisher}`;
|
|
84
|
+
const ws = new isomorphic_ws_1.default(url);
|
|
85
|
+
function send(message) {
|
|
86
|
+
ws.send(JSON.stringify(message));
|
|
87
|
+
}
|
|
88
|
+
let sessionEncryptionKey;
|
|
89
|
+
let cipher;
|
|
90
|
+
let expectedDigits;
|
|
91
|
+
let finished = false;
|
|
92
|
+
const setFinished = newValue => (finished = newValue);
|
|
93
|
+
onDisplayQRCode(url);
|
|
94
|
+
return new Promise((resolve, reject) => {
|
|
95
|
+
const startedAt = Date.now();
|
|
96
|
+
ws.addEventListener("error", reject);
|
|
97
|
+
ws.addEventListener("close", () => {
|
|
98
|
+
if (finished)
|
|
99
|
+
return;
|
|
100
|
+
// this error would reflect a protocol error. because otherwise, we would get the "error" event.
|
|
101
|
+
const time = Date.now() - startedAt;
|
|
102
|
+
reject(new errors_1.QRCodeWSClosed("qrcode websocket prematurely closed", { time }));
|
|
103
|
+
});
|
|
104
|
+
ws.addEventListener("message", async (e) => {
|
|
105
|
+
try {
|
|
106
|
+
const data = parseMessage(e.data);
|
|
107
|
+
switch (data.message) {
|
|
108
|
+
case "InitiateHandshake": {
|
|
109
|
+
const candidatePublicKey = hw_ledger_key_ring_protocol_1.crypto.from_hex(data.payload.ephemeral_public_key);
|
|
110
|
+
sessionEncryptionKey = hw_ledger_key_ring_protocol_1.crypto.ecdh(ephemeralKey, candidatePublicKey);
|
|
111
|
+
cipher = (0, cipher_1.makeMessageCipher)((0, cipher_1.makeCipher)(sessionEncryptionKey));
|
|
112
|
+
// --- end of handshake first phase ---
|
|
113
|
+
const digitsCount = 3;
|
|
114
|
+
const digits = randomDigits(digitsCount);
|
|
115
|
+
expectedDigits = digits;
|
|
116
|
+
onDisplayDigits(digits);
|
|
117
|
+
const payload = cipher.encryptMessagePayload({
|
|
118
|
+
digits: digitsCount,
|
|
119
|
+
connected: false,
|
|
120
|
+
});
|
|
121
|
+
send({ version, publisher, message: "HandshakeChallenge", payload });
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case "CompleteHandshakeChallenge": {
|
|
125
|
+
if (!cipher) {
|
|
126
|
+
throw new Error("sessionEncryptionKey not set");
|
|
133
127
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
message: "invalid digits",
|
|
144
|
-
};
|
|
145
|
-
send({ version, publisher, message: "Failure", payload });
|
|
146
|
-
throw new errors_1.InvalidDigitsError("invalid digits");
|
|
147
|
-
}
|
|
148
|
-
const payload = cipher.encryptMessagePayload({});
|
|
149
|
-
send({ version, publisher, message: "HandshakeCompletionSucceeded", payload });
|
|
150
|
-
break;
|
|
128
|
+
const { digits } = cipher.decryptMessage(data);
|
|
129
|
+
if (digits !== expectedDigits) {
|
|
130
|
+
console.warn("User invalid digits", { digits, expectedDigits });
|
|
131
|
+
const payload = {
|
|
132
|
+
type: "HANDSHAKE_COMPLETION_FAILED",
|
|
133
|
+
message: "invalid digits",
|
|
134
|
+
};
|
|
135
|
+
send({ version, publisher, message: "Failure", payload });
|
|
136
|
+
throw new errors_1.InvalidDigitsError("invalid digits");
|
|
151
137
|
}
|
|
138
|
+
const payload = cipher.encryptMessagePayload({});
|
|
139
|
+
send({ version, publisher, message: "HandshakeCompletionSucceeded", payload });
|
|
140
|
+
break;
|
|
152
141
|
}
|
|
153
|
-
yield commonSwitch({
|
|
154
|
-
data,
|
|
155
|
-
cipher,
|
|
156
|
-
addMember,
|
|
157
|
-
send,
|
|
158
|
-
publisher,
|
|
159
|
-
resolve,
|
|
160
|
-
memberCredentials,
|
|
161
|
-
memberName,
|
|
162
|
-
reject,
|
|
163
|
-
ws,
|
|
164
|
-
setFinished,
|
|
165
|
-
initialTrustchainId,
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
catch (e) {
|
|
169
|
-
console.error("socket error", e);
|
|
170
|
-
ws.close();
|
|
171
|
-
reject(e);
|
|
172
142
|
}
|
|
173
|
-
|
|
143
|
+
await commonSwitch({
|
|
144
|
+
data,
|
|
145
|
+
cipher,
|
|
146
|
+
addMember,
|
|
147
|
+
send,
|
|
148
|
+
publisher,
|
|
149
|
+
resolve,
|
|
150
|
+
memberCredentials,
|
|
151
|
+
memberName,
|
|
152
|
+
reject,
|
|
153
|
+
ws,
|
|
154
|
+
setFinished,
|
|
155
|
+
initialTrustchainId,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
console.error("socket error", e);
|
|
160
|
+
ws.close();
|
|
161
|
+
reject(e);
|
|
162
|
+
}
|
|
174
163
|
});
|
|
175
164
|
});
|
|
176
165
|
}
|
|
@@ -179,85 +168,83 @@ exports.createQRCodeHostInstance = createQRCodeHostInstance;
|
|
|
179
168
|
* establish a channel to be able to add myself to the trustchain after scanning the QR Code
|
|
180
169
|
* @returns a promise that resolves a Trustchain when this is done
|
|
181
170
|
*/
|
|
182
|
-
function createQRCodeCandidateInstance(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
171
|
+
async function createQRCodeCandidateInstance({ memberCredentials, memberName, addMember, initialTrustchainId, scannedUrl, onRequestQRCodeInput, }) {
|
|
172
|
+
const m = scannedUrl.match(/host=([0-9A-Fa-f]+)/);
|
|
173
|
+
if (!m) {
|
|
174
|
+
if (isFromOldAccountsImport(scannedUrl))
|
|
175
|
+
throw new errors_1.ScannedOldImportQrCode();
|
|
176
|
+
throw new errors_1.ScannedInvalidQrCode();
|
|
177
|
+
}
|
|
178
|
+
const hostPublicKey = hw_ledger_key_ring_protocol_1.crypto.from_hex(m[1]);
|
|
179
|
+
const ephemeralKey = hw_ledger_key_ring_protocol_1.crypto.randomKeypair();
|
|
180
|
+
const publisher = hw_ledger_key_ring_protocol_1.crypto.to_hex(ephemeralKey.publicKey);
|
|
181
|
+
const sessionEncryptionKey = hw_ledger_key_ring_protocol_1.crypto.ecdh(ephemeralKey, hostPublicKey);
|
|
182
|
+
const cipher = (0, cipher_1.makeMessageCipher)((0, cipher_1.makeCipher)(sessionEncryptionKey));
|
|
183
|
+
const ws = new isomorphic_ws_1.default(scannedUrl);
|
|
184
|
+
function send(message) {
|
|
185
|
+
ws.send(JSON.stringify(message));
|
|
186
|
+
}
|
|
187
|
+
let finished = false;
|
|
188
|
+
const setFinished = newValue => (finished = newValue);
|
|
189
|
+
return new Promise((resolve, reject) => {
|
|
190
|
+
ws.addEventListener("close", () => {
|
|
191
|
+
if (finished)
|
|
192
|
+
return;
|
|
193
|
+
// this error would reflect a protocol error. because otherwise, we would get the "error" event. it shouldn't be visible to user, but we use it to ensure the promise ends.
|
|
194
|
+
setTimeout(() => reject(new Error("qrcode websocket prematurely closed")), CLOSE_TIMEOUT);
|
|
195
|
+
});
|
|
196
|
+
ws.addEventListener("message", async (e) => {
|
|
197
|
+
try {
|
|
198
|
+
const data = parseMessage(e.data);
|
|
199
|
+
switch (data.message) {
|
|
200
|
+
case "HandshakeChallenge": {
|
|
201
|
+
const config = cipher.decryptMessage(data);
|
|
202
|
+
onRequestQRCodeInput(config, digits => {
|
|
203
|
+
const payload = cipher.encryptMessagePayload({ digits });
|
|
204
|
+
send({ version, publisher, message: "CompleteHandshakeChallenge", payload });
|
|
205
|
+
});
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
case "HandshakeCompletionSucceeded": {
|
|
209
|
+
if (initialTrustchainId) {
|
|
210
|
+
const payload = cipher.encryptMessagePayload({});
|
|
211
|
+
send({ version, publisher, message: "TrustchainRequestCredential", payload });
|
|
219
212
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
const payload = cipher.encryptMessagePayload({
|
|
227
|
-
id: memberCredentials.pubkey,
|
|
228
|
-
name: memberName,
|
|
229
|
-
});
|
|
230
|
-
send({ version, publisher, message: "TrustchainShareCredential", payload });
|
|
231
|
-
}
|
|
232
|
-
break;
|
|
213
|
+
else {
|
|
214
|
+
const payload = cipher.encryptMessagePayload({
|
|
215
|
+
id: memberCredentials.pubkey,
|
|
216
|
+
name: memberName,
|
|
217
|
+
});
|
|
218
|
+
send({ version, publisher, message: "TrustchainShareCredential", payload });
|
|
233
219
|
}
|
|
220
|
+
break;
|
|
234
221
|
}
|
|
235
|
-
yield commonSwitch({
|
|
236
|
-
data,
|
|
237
|
-
cipher,
|
|
238
|
-
addMember,
|
|
239
|
-
send,
|
|
240
|
-
publisher,
|
|
241
|
-
resolve,
|
|
242
|
-
memberCredentials,
|
|
243
|
-
memberName,
|
|
244
|
-
reject,
|
|
245
|
-
ws,
|
|
246
|
-
setFinished,
|
|
247
|
-
initialTrustchainId,
|
|
248
|
-
});
|
|
249
222
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
223
|
+
await commonSwitch({
|
|
224
|
+
data,
|
|
225
|
+
cipher,
|
|
226
|
+
addMember,
|
|
227
|
+
send,
|
|
228
|
+
publisher,
|
|
229
|
+
resolve,
|
|
230
|
+
memberCredentials,
|
|
231
|
+
memberName,
|
|
232
|
+
reject,
|
|
233
|
+
ws,
|
|
234
|
+
setFinished,
|
|
235
|
+
initialTrustchainId,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
catch (e) {
|
|
239
|
+
console.error("socket error", e);
|
|
240
|
+
ws.close();
|
|
241
|
+
reject(e);
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
ws.addEventListener("error", reject);
|
|
245
|
+
ws.addEventListener("open", () => {
|
|
246
|
+
const payload = { ephemeral_public_key: hw_ledger_key_ring_protocol_1.crypto.to_hex(ephemeralKey.publicKey) };
|
|
247
|
+
send({ version, publisher, message: "InitiateHandshake", payload });
|
|
261
248
|
});
|
|
262
249
|
});
|
|
263
250
|
}
|
package/lib/qrcode/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/qrcode/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/qrcode/index.ts"],"names":[],"mappings":"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"}
|
package/lib/qrcode/index.test.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -43,7 +34,7 @@ describe("Trustchain QR Code", () => {
|
|
|
43
34
|
afterAll(() => {
|
|
44
35
|
server.close();
|
|
45
36
|
});
|
|
46
|
-
test("digits matching scenario", () =>
|
|
37
|
+
test("digits matching scenario", async () => {
|
|
47
38
|
const onDisplayDigits = jest.fn();
|
|
48
39
|
const trustchain = {
|
|
49
40
|
rootId: "test-root-id",
|
|
@@ -51,7 +42,7 @@ describe("Trustchain QR Code", () => {
|
|
|
51
42
|
applicationPath: "m/0'/16'/0'",
|
|
52
43
|
};
|
|
53
44
|
const addMember = jest.fn(() => Promise.resolve(trustchain));
|
|
54
|
-
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(
|
|
45
|
+
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(await hw_ledger_key_ring_protocol_1.crypto.randomKeypair());
|
|
55
46
|
const memberName = "foo";
|
|
56
47
|
let scannedUrlResolve;
|
|
57
48
|
const scannedUrlPromise = new Promise(resolve => {
|
|
@@ -70,7 +61,7 @@ describe("Trustchain QR Code", () => {
|
|
|
70
61
|
memberName,
|
|
71
62
|
initialTrustchainId: trustchain.rootId,
|
|
72
63
|
});
|
|
73
|
-
const scannedUrl =
|
|
64
|
+
const scannedUrl = await scannedUrlPromise;
|
|
74
65
|
const candidateP = (0, _1.createQRCodeCandidateInstance)({
|
|
75
66
|
memberCredentials,
|
|
76
67
|
memberName,
|
|
@@ -79,20 +70,20 @@ describe("Trustchain QR Code", () => {
|
|
|
79
70
|
scannedUrl,
|
|
80
71
|
onRequestQRCodeInput,
|
|
81
72
|
});
|
|
82
|
-
const [_, res] =
|
|
73
|
+
const [_, res] = await Promise.all([hostP, candidateP]);
|
|
83
74
|
expect(onDisplayDigits).toHaveBeenCalledWith(expect.any(String));
|
|
84
75
|
expect(addMember).toHaveBeenCalled();
|
|
85
76
|
expect(onRequestQRCodeInput).toHaveBeenCalledWith({ digits: 3, connected: false }, expect.any(Function));
|
|
86
77
|
expect(res).toEqual(trustchain);
|
|
87
|
-
})
|
|
88
|
-
test("invalid qr code scanned", () =>
|
|
78
|
+
});
|
|
79
|
+
test("invalid qr code scanned", async () => {
|
|
89
80
|
const trustchain = {
|
|
90
81
|
rootId: "test-root-id",
|
|
91
82
|
walletSyncEncryptionKey: "test-wallet-sync-encryption-key",
|
|
92
83
|
applicationPath: "m/0'/16'/0'",
|
|
93
84
|
};
|
|
94
85
|
const addMember = jest.fn(() => Promise.resolve(trustchain));
|
|
95
|
-
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(
|
|
86
|
+
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(await hw_ledger_key_ring_protocol_1.crypto.randomKeypair());
|
|
96
87
|
const memberName = "foo";
|
|
97
88
|
const onRequestQRCodeInput = jest.fn();
|
|
98
89
|
const scannedUrl = "https://example.com";
|
|
@@ -104,16 +95,16 @@ describe("Trustchain QR Code", () => {
|
|
|
104
95
|
scannedUrl,
|
|
105
96
|
onRequestQRCodeInput,
|
|
106
97
|
});
|
|
107
|
-
|
|
108
|
-
})
|
|
109
|
-
test("old accounts export qr code scanned", () =>
|
|
98
|
+
await expect(candidateP).rejects.toThrow(new errors_1.ScannedInvalidQrCode());
|
|
99
|
+
});
|
|
100
|
+
test("old accounts export qr code scanned", async () => {
|
|
110
101
|
const trustchain = {
|
|
111
102
|
rootId: "test-root-id",
|
|
112
103
|
walletSyncEncryptionKey: "test-wallet-sync-encryption-key",
|
|
113
104
|
applicationPath: "m/0'/16'/0'",
|
|
114
105
|
};
|
|
115
106
|
const addMember = jest.fn(() => Promise.resolve(trustchain));
|
|
116
|
-
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(
|
|
107
|
+
const memberCredentials = (0, sdk_1.convertKeyPairToLiveCredentials)(await hw_ledger_key_ring_protocol_1.crypto.randomKeypair());
|
|
117
108
|
const memberName = "foo";
|
|
118
109
|
const onRequestQRCodeInput = jest.fn();
|
|
119
110
|
const scannedUrl = "ZAADAAIAAAAEd2JXMpuoYdzvkNzFTlmQLPcGf2LSjDOgqaB3nQoZqlimcCX6HNkescWKyT1DCGuwO7IesD7oYg+fdZPkiIfFL3V9swfZRePkaNN09IjXsWLsim9hK/qi/RC1/ofX3hYNKUxUAgYVVG82WKXIk47siWfUlRZsCYSAARQ6ASpUgidPjMHaOMK6w53wTZplwo7Zjv1HrIyKwr3Ci8OmrFye5g==";
|
|
@@ -125,7 +116,7 @@ describe("Trustchain QR Code", () => {
|
|
|
125
116
|
scannedUrl,
|
|
126
117
|
onRequestQRCodeInput,
|
|
127
118
|
});
|
|
128
|
-
|
|
129
|
-
})
|
|
119
|
+
await expect(candidateP).rejects.toThrow(new errors_1.ScannedOldImportQrCode());
|
|
120
|
+
});
|
|
130
121
|
});
|
|
131
122
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/qrcode/index.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/qrcode/index.test.ts"],"names":[],"mappings":"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"}
|