@shapeshiftoss/hdwallet-keepkey 1.55.3 → 1.55.4

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/dist/transport.js CHANGED
@@ -1,26 +1,62 @@
1
- import * as Messages from "@keepkey/device-protocol/lib/messages_pb";
2
- import * as Types from "@keepkey/device-protocol/lib/types_pb";
3
- import * as core from "@shapeshiftoss/hdwallet-core";
4
- import * as crypto from "crypto";
5
- import * as jspb from "google-protobuf";
6
- import { messageNameRegistry, messageTypeRegistry } from "./typeRegistry";
7
- import { SEGMENT_SIZE } from "./utils";
8
- export class Transport extends core.Transport {
9
- debugLink = false;
10
- userActionRequired = false;
11
- delegate;
12
- /// One per transport, unlike on Trezor, since the contention is
13
- /// only per-device, not global.
14
- callInProgress = {
15
- main: undefined,
16
- debug: undefined,
17
- };
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.Transport = void 0;
36
+ const Messages = __importStar(require("@keepkey/device-protocol/lib/messages_pb"));
37
+ const Types = __importStar(require("@keepkey/device-protocol/lib/types_pb"));
38
+ const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
39
+ const crypto = __importStar(require("crypto"));
40
+ const jspb = __importStar(require("google-protobuf"));
41
+ const typeRegistry_1 = require("./typeRegistry");
42
+ const utils_1 = require("./utils");
43
+ class Transport extends core.Transport {
18
44
  constructor(keyring, delegate) {
19
45
  super(keyring);
46
+ this.debugLink = false;
47
+ this.userActionRequired = false;
48
+ /// One per transport, unlike on Trezor, since the contention is
49
+ /// only per-device, not global.
50
+ this.callInProgress = {
51
+ main: undefined,
52
+ debug: undefined,
53
+ };
20
54
  this.delegate = delegate;
21
55
  }
22
- static async create(keyring, delegate) {
23
- return new Transport(keyring, delegate);
56
+ static create(keyring, delegate) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return new Transport(keyring, delegate);
59
+ });
24
60
  }
25
61
  isOpened() {
26
62
  return this.delegate.isOpened();
@@ -31,240 +67,261 @@ export class Transport extends core.Transport {
31
67
  connect() {
32
68
  return this.delegate.connect();
33
69
  }
34
- async tryConnectDebugLink() {
35
- let out = false;
36
- if (this.delegate.tryConnectDebugLink && (await this.delegate.tryConnectDebugLink()))
37
- out = true;
38
- this.debugLink = out;
39
- return out;
70
+ tryConnectDebugLink() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ let out = false;
73
+ if (this.delegate.tryConnectDebugLink && (yield this.delegate.tryConnectDebugLink()))
74
+ out = true;
75
+ this.debugLink = out;
76
+ return out;
77
+ });
40
78
  }
41
79
  disconnect() {
42
80
  return this.delegate.disconnect();
43
81
  }
44
- async write(buf, debugLink) {
45
- // break frame into segments
46
- for (let i = 0; i < buf.length; i += SEGMENT_SIZE) {
47
- const segment = buf.slice(i, i + SEGMENT_SIZE);
48
- const padding = new Uint8Array(SEGMENT_SIZE - segment.length);
49
- const fragments = [];
50
- fragments.push(new Uint8Array([SEGMENT_SIZE]));
51
- fragments.push(segment);
52
- fragments.push(padding);
53
- const fragmentBuffer = new Uint8Array(fragments.map((x) => x.length).reduce((a, x) => a + x, 0));
54
- fragments.reduce((a, x) => (fragmentBuffer.set(x, a), a + x.length), 0);
55
- await this.delegate.writeChunk(fragmentBuffer, debugLink);
56
- }
82
+ write(buf, debugLink) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ // break frame into segments
85
+ for (let i = 0; i < buf.length; i += utils_1.SEGMENT_SIZE) {
86
+ const segment = buf.slice(i, i + utils_1.SEGMENT_SIZE);
87
+ const padding = new Uint8Array(utils_1.SEGMENT_SIZE - segment.length);
88
+ const fragments = [];
89
+ fragments.push(new Uint8Array([utils_1.SEGMENT_SIZE]));
90
+ fragments.push(segment);
91
+ fragments.push(padding);
92
+ const fragmentBuffer = new Uint8Array(fragments.map((x) => x.length).reduce((a, x) => a + x, 0));
93
+ fragments.reduce((a, x) => (fragmentBuffer.set(x, a), a + x.length), 0);
94
+ yield this.delegate.writeChunk(fragmentBuffer, debugLink);
95
+ }
96
+ });
57
97
  }
58
- async read(debugLink) {
59
- const first = await this.delegate.readChunk(debugLink);
60
- // Check that buffer starts with: "?##" [ 0x3f, 0x23, 0x23 ]
61
- // "?" = USB reportId, "##" = KeepKey magic bytes
62
- // Message ID is bytes 4-5. Message length starts at byte 6.
63
- const firstView = new DataView(first.buffer.slice(first.byteOffset, first.byteOffset + first.byteLength));
64
- const valid = (firstView.getUint32(0) & 0xffffff00) === 0x3f232300;
65
- const msgLength = firstView.getUint32(5);
66
- if (!valid)
67
- throw new Error("message not valid");
68
- const buffer = new Uint8Array(9 + msgLength);
69
- buffer.set(first.slice(0, Math.min(first.length, buffer.length)));
70
- for (let offset = first.length; offset < buffer.length;) {
71
- // Drop USB "?" reportId in the first byte
72
- const next = (await this.delegate.readChunk(debugLink)).slice(1);
73
- buffer.set(next.slice(0, Math.min(next.length, buffer.length - offset)), offset);
74
- offset += next.length;
75
- }
76
- return buffer;
98
+ read(debugLink) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const first = yield this.delegate.readChunk(debugLink);
101
+ // Check that buffer starts with: "?##" [ 0x3f, 0x23, 0x23 ]
102
+ // "?" = USB reportId, "##" = KeepKey magic bytes
103
+ // Message ID is bytes 4-5. Message length starts at byte 6.
104
+ const firstView = new DataView(first.buffer.slice(first.byteOffset, first.byteOffset + first.byteLength));
105
+ const valid = (firstView.getUint32(0) & 0xffffff00) === 0x3f232300;
106
+ const msgLength = firstView.getUint32(5);
107
+ if (!valid)
108
+ throw new Error("message not valid");
109
+ const buffer = new Uint8Array(9 + msgLength);
110
+ buffer.set(first.slice(0, Math.min(first.length, buffer.length)));
111
+ for (let offset = first.length; offset < buffer.length;) {
112
+ // Drop USB "?" reportId in the first byte
113
+ const next = (yield this.delegate.readChunk(debugLink)).slice(1);
114
+ buffer.set(next.slice(0, Math.min(next.length, buffer.length - offset)), offset);
115
+ offset += next.length;
116
+ }
117
+ return buffer;
118
+ });
77
119
  }
78
120
  getVendor() {
79
121
  return "KeepKey";
80
122
  }
81
123
  getEntropy(length) {
82
- if (typeof window !== "undefined" && window?.crypto) {
124
+ if (typeof window !== "undefined" && (window === null || window === void 0 ? void 0 : window.crypto)) {
83
125
  return window.crypto.getRandomValues(new Uint8Array(length));
84
126
  }
85
127
  return crypto.randomBytes(length);
86
128
  }
87
- async getFirmwareHash(firmware) {
88
- if (typeof window !== "undefined" && window?.crypto) {
89
- return new Uint8Array(await window.crypto.subtle.digest({ name: "SHA-256" }, firmware));
90
- }
91
- const hash = crypto.createHash("sha256");
92
- hash.update(firmware);
93
- return hash.digest();
129
+ getFirmwareHash(firmware) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ if (typeof window !== "undefined" && (window === null || window === void 0 ? void 0 : window.crypto)) {
132
+ return new Uint8Array(yield window.crypto.subtle.digest({ name: "SHA-256" }, firmware));
133
+ }
134
+ const hash = crypto.createHash("sha256");
135
+ hash.update(firmware);
136
+ return hash.digest();
137
+ });
94
138
  }
95
139
  /**
96
140
  * Utility function to cancel all pending calls whenver one of them is cancelled.
97
141
  */
98
- async cancellable(inProgress) {
99
- try {
100
- await inProgress;
101
- }
102
- catch (e) {
103
- // Throw away the error, as the other context will handle it,
104
- // unless it was a cancel, in which case we cancel everything.
105
- if (core.isIndexable(e) && e.type === core.HDWalletErrorType.ActionCancelled) {
106
- this.callInProgress = { main: undefined, debug: undefined };
107
- throw e;
142
+ cancellable(inProgress) {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ try {
145
+ yield inProgress;
108
146
  }
109
- }
110
- }
111
- async lockDuring(action) {
112
- this.callInProgress.main = (async () => {
113
- await this.cancellable(this.callInProgress.main);
114
- return action();
115
- })();
116
- return this.callInProgress.main;
147
+ catch (e) {
148
+ // Throw away the error, as the other context will handle it,
149
+ // unless it was a cancel, in which case we cancel everything.
150
+ if (core.isIndexable(e) && e.type === core.HDWalletErrorType.ActionCancelled) {
151
+ this.callInProgress = { main: undefined, debug: undefined };
152
+ throw e;
153
+ }
154
+ }
155
+ });
117
156
  }
118
- async handleCancellableResponse() {
119
- return this.readResponse(false);
157
+ lockDuring(action) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ this.callInProgress.main = (() => __awaiter(this, void 0, void 0, function* () {
160
+ yield this.cancellable(this.callInProgress.main);
161
+ return action();
162
+ }))();
163
+ return this.callInProgress.main;
164
+ });
120
165
  }
121
- async readResponse(debugLink) {
122
- let buf;
123
- do {
124
- buf = await this.read(debugLink);
125
- } while (!buf);
126
- const [msgTypeEnum, msg] = this.fromMessageBuffer(buf);
127
- const event = core.makeEvent({
128
- message_type: messageNameRegistry[msgTypeEnum],
129
- message_enum: msgTypeEnum,
130
- message: msg.toObject(),
131
- proto: msg,
132
- from_wallet: true,
166
+ handleCancellableResponse() {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ return this.readResponse(false);
133
169
  });
134
- this.emit(String(msgTypeEnum), event);
135
- if (debugLink)
136
- return event;
137
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_FAILURE) {
138
- const failureEvent = core.makeEvent({
139
- message_type: core.Events.FAILURE,
170
+ }
171
+ readResponse(debugLink) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ let buf;
174
+ do {
175
+ buf = yield this.read(debugLink);
176
+ } while (!buf);
177
+ const [msgTypeEnum, msg] = this.fromMessageBuffer(buf);
178
+ const event = core.makeEvent({
179
+ message_type: typeRegistry_1.messageNameRegistry[msgTypeEnum],
140
180
  message_enum: msgTypeEnum,
141
181
  message: msg.toObject(),
182
+ proto: msg,
142
183
  from_wallet: true,
143
184
  });
144
- this.emit(core.Events.FAILURE, failureEvent);
145
- return failureEvent;
146
- }
147
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_BUTTONREQUEST) {
148
- this.emit(core.Events.BUTTON_REQUEST, core.makeEvent({
149
- message_type: core.Events.BUTTON_REQUEST,
150
- from_wallet: true,
185
+ this.emit(String(msgTypeEnum), event);
186
+ if (debugLink)
187
+ return event;
188
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_FAILURE) {
189
+ const failureEvent = core.makeEvent({
190
+ message_type: core.Events.FAILURE,
191
+ message_enum: msgTypeEnum,
192
+ message: msg.toObject(),
193
+ from_wallet: true,
194
+ });
195
+ this.emit(core.Events.FAILURE, failureEvent);
196
+ return failureEvent;
197
+ }
198
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_BUTTONREQUEST) {
199
+ this.emit(core.Events.BUTTON_REQUEST, core.makeEvent({
200
+ message_type: core.Events.BUTTON_REQUEST,
201
+ from_wallet: true,
202
+ }));
203
+ this.userActionRequired = true;
204
+ return this.call(Messages.MessageType.MESSAGETYPE_BUTTONACK, new Messages.ButtonAck(), {
205
+ msgTimeout: core.LONG_TIMEOUT,
206
+ omitLock: true,
207
+ });
208
+ }
209
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_ENTROPYREQUEST) {
210
+ const ack = new Messages.EntropyAck();
211
+ ack.setEntropy(this.getEntropy(32));
212
+ return this.call(Messages.MessageType.MESSAGETYPE_ENTROPYACK, ack, {
213
+ msgTimeout: core.LONG_TIMEOUT,
214
+ omitLock: true,
215
+ });
216
+ }
217
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_PINMATRIXREQUEST) {
218
+ this.emit(core.Events.PIN_REQUEST, core.makeEvent({
219
+ message_type: core.Events.PIN_REQUEST,
220
+ from_wallet: true,
221
+ }));
222
+ this.userActionRequired = true;
223
+ return this.handleCancellableResponse();
224
+ }
225
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_PASSPHRASEREQUEST) {
226
+ this.emit(core.Events.PASSPHRASE_REQUEST, core.makeEvent({
227
+ message_type: core.Events.PASSPHRASE_REQUEST,
228
+ from_wallet: true,
229
+ }));
230
+ this.userActionRequired = true;
231
+ return this.handleCancellableResponse();
232
+ }
233
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_CHARACTERREQUEST) {
234
+ this.emit(core.Events.CHARACTER_REQUEST, core.makeEvent({
235
+ message_type: core.Events.CHARACTER_REQUEST,
236
+ from_wallet: true,
237
+ }));
238
+ this.userActionRequired = true;
239
+ return this.handleCancellableResponse();
240
+ }
241
+ if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_WORDREQUEST) {
242
+ this.emit(core.Events.WORD_REQUEST, core.makeEvent({
243
+ message_type: core.Events.WORD_REQUEST,
244
+ from_wallet: true,
245
+ }));
246
+ this.userActionRequired = true;
247
+ return this.handleCancellableResponse();
248
+ }
249
+ return event;
250
+ });
251
+ }
252
+ call(msgTypeEnum, msg, options) {
253
+ return __awaiter(this, void 0, void 0, function* () {
254
+ var _a;
255
+ options !== null && options !== void 0 ? options : (options = {});
256
+ (_a = options.msgTimeout) !== null && _a !== void 0 ? _a : (options.msgTimeout = core.DEFAULT_TIMEOUT);
257
+ this.emit(String(msgTypeEnum), core.makeEvent({
258
+ message_type: typeRegistry_1.messageNameRegistry[msgTypeEnum],
259
+ message_enum: msgTypeEnum,
260
+ message: msg.toObject(),
261
+ proto: msg,
262
+ from_wallet: false,
151
263
  }));
152
- this.userActionRequired = true;
153
- return this.call(Messages.MessageType.MESSAGETYPE_BUTTONACK, new Messages.ButtonAck(), {
154
- msgTimeout: core.LONG_TIMEOUT,
155
- omitLock: true,
156
- });
157
- }
158
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_ENTROPYREQUEST) {
159
- const ack = new Messages.EntropyAck();
160
- ack.setEntropy(this.getEntropy(32));
161
- return this.call(Messages.MessageType.MESSAGETYPE_ENTROPYACK, ack, {
162
- msgTimeout: core.LONG_TIMEOUT,
163
- omitLock: true,
264
+ const makePromise = () => __awaiter(this, void 0, void 0, function* () {
265
+ if ([
266
+ Messages.MessageType.MESSAGETYPE_BUTTONACK,
267
+ Messages.MessageType.MESSAGETYPE_PASSPHRASEACK,
268
+ Messages.MessageType.MESSAGETYPE_CHARACTERACK,
269
+ Messages.MessageType.MESSAGETYPE_PINMATRIXACK,
270
+ Messages.MessageType.MESSAGETYPE_WORDACK,
271
+ ].includes(msgTypeEnum)) {
272
+ this.userActionRequired = true;
273
+ }
274
+ yield this.write(this.toMessageBuffer(msgTypeEnum, msg), !!(options === null || options === void 0 ? void 0 : options.debugLink));
275
+ if (options === null || options === void 0 ? void 0 : options.noWait)
276
+ return undefined;
277
+ const response = yield this.readResponse(!!(options === null || options === void 0 ? void 0 : options.debugLink));
278
+ this.userActionRequired = false;
279
+ if (response.message_enum === Messages.MessageType.MESSAGETYPE_FAILURE &&
280
+ response.message.code === Types.FailureType.FAILURE_ACTIONCANCELLED) {
281
+ this.callInProgress = { main: undefined, debug: undefined };
282
+ throw new core.ActionCancelled();
283
+ }
284
+ if (response.message_type === core.Events.FAILURE)
285
+ throw response;
286
+ return response;
164
287
  });
165
- }
166
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_PINMATRIXREQUEST) {
167
- this.emit(core.Events.PIN_REQUEST, core.makeEvent({
168
- message_type: core.Events.PIN_REQUEST,
169
- from_wallet: true,
170
- }));
171
- this.userActionRequired = true;
172
- return this.handleCancellableResponse();
173
- }
174
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_PASSPHRASEREQUEST) {
175
- this.emit(core.Events.PASSPHRASE_REQUEST, core.makeEvent({
176
- message_type: core.Events.PASSPHRASE_REQUEST,
177
- from_wallet: true,
178
- }));
179
- this.userActionRequired = true;
180
- return this.handleCancellableResponse();
181
- }
182
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_CHARACTERREQUEST) {
183
- this.emit(core.Events.CHARACTER_REQUEST, core.makeEvent({
184
- message_type: core.Events.CHARACTER_REQUEST,
185
- from_wallet: true,
186
- }));
187
- this.userActionRequired = true;
188
- return this.handleCancellableResponse();
189
- }
190
- if (msgTypeEnum === Messages.MessageType.MESSAGETYPE_WORDREQUEST) {
191
- this.emit(core.Events.WORD_REQUEST, core.makeEvent({
192
- message_type: core.Events.WORD_REQUEST,
193
- from_wallet: true,
194
- }));
195
- this.userActionRequired = true;
196
- return this.handleCancellableResponse();
197
- }
198
- return event;
288
+ if (options === null || options === void 0 ? void 0 : options.omitLock)
289
+ return makePromise();
290
+ // See the comments in hdwallet-trezor-connect's call for why this weird
291
+ // sequence. We've got a very similar issue here that needs pretty much
292
+ // the same solution.
293
+ const lockKey = (options === null || options === void 0 ? void 0 : options.debugLink) ? "debug" : "main";
294
+ this.callInProgress[lockKey] = (() => __awaiter(this, void 0, void 0, function* () {
295
+ yield this.cancellable(this.callInProgress[lockKey]);
296
+ try {
297
+ return makePromise();
298
+ }
299
+ finally {
300
+ this.userActionRequired = false;
301
+ }
302
+ }))();
303
+ return yield this.callInProgress[lockKey];
304
+ });
199
305
  }
200
- async call(msgTypeEnum, msg, options) {
201
- options ??= {};
202
- options.msgTimeout ??= core.DEFAULT_TIMEOUT;
203
- this.emit(String(msgTypeEnum), core.makeEvent({
204
- message_type: messageNameRegistry[msgTypeEnum],
205
- message_enum: msgTypeEnum,
206
- message: msg.toObject(),
207
- proto: msg,
208
- from_wallet: false,
209
- }));
210
- const makePromise = async () => {
211
- if ([
212
- Messages.MessageType.MESSAGETYPE_BUTTONACK,
213
- Messages.MessageType.MESSAGETYPE_PASSPHRASEACK,
214
- Messages.MessageType.MESSAGETYPE_CHARACTERACK,
215
- Messages.MessageType.MESSAGETYPE_PINMATRIXACK,
216
- Messages.MessageType.MESSAGETYPE_WORDACK,
217
- ].includes(msgTypeEnum)) {
218
- this.userActionRequired = true;
219
- }
220
- await this.write(this.toMessageBuffer(msgTypeEnum, msg), !!options?.debugLink);
221
- if (options?.noWait)
222
- return undefined;
223
- const response = await this.readResponse(!!options?.debugLink);
224
- this.userActionRequired = false;
225
- if (response.message_enum === Messages.MessageType.MESSAGETYPE_FAILURE &&
226
- response.message.code === Types.FailureType.FAILURE_ACTIONCANCELLED) {
306
+ cancel() {
307
+ return __awaiter(this, void 0, void 0, function* () {
308
+ if (!this.userActionRequired)
309
+ return;
310
+ try {
227
311
  this.callInProgress = { main: undefined, debug: undefined };
228
- throw new core.ActionCancelled();
312
+ const cancelMsg = new Messages.Cancel();
313
+ yield this.call(Messages.MessageType.MESSAGETYPE_CANCEL, cancelMsg, {
314
+ omitLock: this.userActionRequired,
315
+ noWait: this.userActionRequired,
316
+ });
229
317
  }
230
- if (response.message_type === core.Events.FAILURE)
231
- throw response;
232
- return response;
233
- };
234
- if (options?.omitLock)
235
- return makePromise();
236
- // See the comments in hdwallet-trezor-connect's call for why this weird
237
- // sequence. We've got a very similar issue here that needs pretty much
238
- // the same solution.
239
- const lockKey = options?.debugLink ? "debug" : "main";
240
- this.callInProgress[lockKey] = (async () => {
241
- await this.cancellable(this.callInProgress[lockKey]);
242
- try {
243
- return makePromise();
318
+ catch (e) {
319
+ console.error("Cancel Pending Error", e);
244
320
  }
245
321
  finally {
246
- this.userActionRequired = false;
322
+ this.callInProgress = { main: undefined, debug: undefined };
247
323
  }
248
- })();
249
- return await this.callInProgress[lockKey];
250
- }
251
- async cancel() {
252
- if (!this.userActionRequired)
253
- return;
254
- try {
255
- this.callInProgress = { main: undefined, debug: undefined };
256
- const cancelMsg = new Messages.Cancel();
257
- await this.call(Messages.MessageType.MESSAGETYPE_CANCEL, cancelMsg, {
258
- omitLock: this.userActionRequired,
259
- noWait: this.userActionRequired,
260
- });
261
- }
262
- catch (e) {
263
- console.error("Cancel Pending Error", e);
264
- }
265
- finally {
266
- this.callInProgress = { main: undefined, debug: undefined };
267
- }
324
+ });
268
325
  }
269
326
  toMessageBuffer(msgTypeEnum, msg) {
270
327
  const messageBuffer = msg.serializeBinary();
@@ -281,7 +338,7 @@ export class Transport extends core.Transport {
281
338
  }
282
339
  fromMessageBuffer(buf) {
283
340
  const typeID = new DataView(buf.buffer).getUint16(3);
284
- const MType = messageTypeRegistry[typeID];
341
+ const MType = typeRegistry_1.messageTypeRegistry[typeID];
285
342
  if (!MType) {
286
343
  const msg = new Messages.Failure();
287
344
  msg.setCode(Types.FailureType.FAILURE_UNEXPECTEDMESSAGE);
@@ -304,4 +361,5 @@ export class Transport extends core.Transport {
304
361
  return msg.serializeBinary();
305
362
  }
306
363
  }
364
+ exports.Transport = Transport;
307
365
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}