@ledgerhq/devices 8.0.1 → 8.0.2-next.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @ledgerhq/devices
2
2
 
3
+ ## 8.0.2-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`87d2349fd8`](https://github.com/LedgerHQ/ledger-live/commit/87d2349fd835e5deb39d1ee8dfcf3539f4195472)]:
8
+ - @ledgerhq/errors@6.12.5-next.0
9
+
3
10
  ## 8.0.1
4
11
 
5
12
  ### Patch Changes
@@ -1,65 +1,63 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.receiveAPDU = void 0;
4
- var errors_1 = require("@ledgerhq/errors");
5
- var rxjs_1 = require("rxjs");
6
- var logs_1 = require("@ledgerhq/logs");
7
- var TagId = 0x05;
4
+ const errors_1 = require("@ledgerhq/errors");
5
+ const rxjs_1 = require("rxjs");
6
+ const logs_1 = require("@ledgerhq/logs");
7
+ const TagId = 0x05;
8
8
  // operator that transform the input raw stream into one apdu response and finishes
9
- var receiveAPDU = function (rawStream) {
10
- return rxjs_1.Observable.create(function (o) {
11
- var notifiedIndex = 0;
12
- var notifiedDataLength = 0;
13
- var notifiedData = Buffer.alloc(0);
14
- var sub = rawStream.subscribe({
15
- complete: function () {
16
- o.error(new errors_1.DisconnectedDevice());
17
- sub.unsubscribe();
18
- },
19
- error: function (e) {
20
- (0, logs_1.log)("ble-error", "in receiveAPDU " + String(e));
21
- o.error(e);
9
+ const receiveAPDU = (rawStream) => rxjs_1.Observable.create((o) => {
10
+ let notifiedIndex = 0;
11
+ let notifiedDataLength = 0;
12
+ let notifiedData = Buffer.alloc(0);
13
+ const sub = rawStream.subscribe({
14
+ complete: () => {
15
+ o.error(new errors_1.DisconnectedDevice());
16
+ sub.unsubscribe();
17
+ },
18
+ error: (e) => {
19
+ (0, logs_1.log)("ble-error", "in receiveAPDU " + String(e));
20
+ o.error(e);
21
+ sub.unsubscribe();
22
+ },
23
+ next: (value) => {
24
+ const tag = value.readUInt8(0);
25
+ const index = value.readUInt16BE(1);
26
+ let data = value.slice(3);
27
+ if (tag !== TagId) {
28
+ o.error(new errors_1.TransportError("Invalid tag " + tag.toString(16), "InvalidTag"));
29
+ return;
30
+ }
31
+ if (notifiedIndex !== index) {
32
+ o.error(new errors_1.TransportError("BLE: Invalid sequence number. discontinued chunk. Received " +
33
+ index +
34
+ " but expected " +
35
+ notifiedIndex, "InvalidSequence"));
36
+ return;
37
+ }
38
+ if (index === 0) {
39
+ notifiedDataLength = data.readUInt16BE(0);
40
+ data = data.slice(2);
41
+ }
42
+ notifiedIndex++;
43
+ notifiedData = Buffer.concat([notifiedData, data]);
44
+ if (notifiedData.length > notifiedDataLength) {
45
+ o.error(new errors_1.TransportError("BLE: received too much data. discontinued chunk. Received " +
46
+ notifiedData.length +
47
+ " but expected " +
48
+ notifiedDataLength, "BLETooMuchData"));
49
+ return;
50
+ }
51
+ if (notifiedData.length === notifiedDataLength) {
52
+ o.next(notifiedData);
53
+ o.complete();
22
54
  sub.unsubscribe();
23
- },
24
- next: function (value) {
25
- var tag = value.readUInt8(0);
26
- var index = value.readUInt16BE(1);
27
- var data = value.slice(3);
28
- if (tag !== TagId) {
29
- o.error(new errors_1.TransportError("Invalid tag " + tag.toString(16), "InvalidTag"));
30
- return;
31
- }
32
- if (notifiedIndex !== index) {
33
- o.error(new errors_1.TransportError("BLE: Invalid sequence number. discontinued chunk. Received " +
34
- index +
35
- " but expected " +
36
- notifiedIndex, "InvalidSequence"));
37
- return;
38
- }
39
- if (index === 0) {
40
- notifiedDataLength = data.readUInt16BE(0);
41
- data = data.slice(2);
42
- }
43
- notifiedIndex++;
44
- notifiedData = Buffer.concat([notifiedData, data]);
45
- if (notifiedData.length > notifiedDataLength) {
46
- o.error(new errors_1.TransportError("BLE: received too much data. discontinued chunk. Received " +
47
- notifiedData.length +
48
- " but expected " +
49
- notifiedDataLength, "BLETooMuchData"));
50
- return;
51
- }
52
- if (notifiedData.length === notifiedDataLength) {
53
- o.next(notifiedData);
54
- o.complete();
55
- sub.unsubscribe();
56
- }
57
55
  }
58
- });
59
- return function () {
60
- sub.unsubscribe();
61
- };
56
+ },
62
57
  });
63
- };
58
+ return () => {
59
+ sub.unsubscribe();
60
+ };
61
+ });
64
62
  exports.receiveAPDU = receiveAPDU;
65
63
  //# sourceMappingURL=receiveAPDU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"receiveAPDU.js","sourceRoot":"","sources":["../../src/ble/receiveAPDU.ts"],"names":[],"mappings":";;;AAAA,2CAAsE;AACtE,6BAAkC;AAClC,uCAAqC;AACrC,IAAM,KAAK,GAAG,IAAI,CAAC;AACnB,mFAAmF;AAC5E,IAAM,WAAW,GAAG,UACzB,SAA6B;IAE7B,OAAA,iBAAU,CAAC,MAAM,CAAC,UAAC,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;YAC9B,QAAQ,EAAE;gBACR,CAAC,CAAC,KAAK,CAAC,IAAI,2BAAkB,EAAE,CAAC,CAAC;gBAClC,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,KAAK,EAAE,UAAC,CAAC;gBACP,IAAA,UAAG,EAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACX,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,EAAE,UAAC,KAAK;gBACV,IAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE1B,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAAC,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CACpE,CAAC;oBACF,OAAO;iBACR;gBAED,IAAI,aAAa,KAAK,KAAK,EAAE;oBAC3B,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAChB,6DAA6D;wBAC3D,KAAK;wBACL,gBAAgB;wBAChB,aAAa,EACf,iBAAiB,CAClB,CACF,CAAC;oBACF,OAAO;iBACR;gBAED,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtB;gBAED,aAAa,EAAE,CAAC;gBAChB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;gBAEnD,IAAI,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE;oBAC5C,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAChB,4DAA4D;wBAC1D,YAAY,CAAC,MAAM;wBACnB,gBAAgB;wBAChB,kBAAkB,EACpB,gBAAgB,CACjB,CACF,CAAC;oBACF,OAAO;iBACR;gBAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,EAAE;oBAC9C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACrB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,WAAW,EAAE,CAAC;iBACnB;YACH,CAAC;SACF,CAAC,CAAC;QACH,OAAO;YACL,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC,CAAC;AAtEF,CAsEE,CAAC;AAzEQ,QAAA,WAAW,eAyEnB"}
1
+ {"version":3,"file":"receiveAPDU.js","sourceRoot":"","sources":["../../src/ble/receiveAPDU.ts"],"names":[],"mappings":";;;AAAA,6CAAsE;AACtE,+BAAkC;AAClC,yCAAqC;AACrC,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,mFAAmF;AAC5E,MAAM,WAAW,GAAG,CACzB,SAA6B,EACT,EAAE,CACtB,iBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IACtB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;QAC9B,QAAQ,EAAE,GAAG,EAAE;YACb,CAAC,CAAC,KAAK,CAAC,IAAI,2BAAkB,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,IAAA,UAAG,EAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACX,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,GAAG,KAAK,KAAK,EAAE;gBACjB,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAAC,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CACpE,CAAC;gBACF,OAAO;aACR;YAED,IAAI,aAAa,KAAK,KAAK,EAAE;gBAC3B,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAChB,6DAA6D;oBAC3D,KAAK;oBACL,gBAAgB;oBAChB,aAAa,EACf,iBAAiB,CAClB,CACF,CAAC;gBACF,OAAO;aACR;YAED,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,aAAa,EAAE,CAAC;YAChB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnD,IAAI,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE;gBAC5C,CAAC,CAAC,KAAK,CACL,IAAI,uBAAc,CAChB,4DAA4D;oBAC1D,YAAY,CAAC,MAAM;oBACnB,gBAAgB;oBAChB,kBAAkB,EACpB,gBAAgB,CACjB,CACF,CAAC;gBACF,OAAO;aACR;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,EAAE;gBAC9C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACb,GAAG,CAAC,WAAW,EAAE,CAAC;aACnB;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAzEQ,QAAA,WAAW,eAyEnB"}
@@ -8,59 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __values = (this && this.__values) || function(o) {
39
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
- if (m) return m.call(o);
41
- if (o && typeof o.length === "number") return {
42
- next: function () {
43
- if (o && i >= o.length) o = void 0;
44
- return { value: o && o[i++], done: !o };
45
- }
46
- };
47
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
- };
49
- exports.__esModule = true;
11
+ Object.defineProperty(exports, "__esModule", { value: true });
50
12
  exports.sendAPDU = void 0;
51
- var rxjs_1 = require("rxjs");
52
- var logs_1 = require("@ledgerhq/logs");
53
- var TagId = 0x05;
13
+ const rxjs_1 = require("rxjs");
14
+ const logs_1 = require("@ledgerhq/logs");
15
+ const TagId = 0x05;
54
16
  function chunkBuffer(buffer, sizeForIndex) {
55
- var chunks = [];
56
- for (var i = 0, size = sizeForIndex(0); i < buffer.length; i += size, size = sizeForIndex(i)) {
17
+ const chunks = [];
18
+ for (let i = 0, size = sizeForIndex(0); i < buffer.length; i += size, size = sizeForIndex(i)) {
57
19
  chunks.push(buffer.slice(i, i + size));
58
20
  }
59
21
  return chunks;
60
22
  }
61
- var sendAPDU = function (write, apdu, mtuSize) {
62
- var chunks = chunkBuffer(apdu, function (i) { return mtuSize - (i === 0 ? 5 : 3); }).map(function (buffer, i) {
63
- var head = Buffer.alloc(i === 0 ? 5 : 3);
23
+ const sendAPDU = (write, apdu, mtuSize) => {
24
+ const chunks = chunkBuffer(apdu, (i) => mtuSize - (i === 0 ? 5 : 3)).map((buffer, i) => {
25
+ const head = Buffer.alloc(i === 0 ? 5 : 3);
64
26
  head.writeUInt8(TagId, 0);
65
27
  head.writeUInt16BE(i, 1);
66
28
  if (i === 0) {
@@ -68,55 +30,26 @@ var sendAPDU = function (write, apdu, mtuSize) {
68
30
  }
69
31
  return Buffer.concat([head, buffer]);
70
32
  });
71
- return new rxjs_1.Observable(function (o) {
72
- var terminated = false;
33
+ return new rxjs_1.Observable((o) => {
34
+ let terminated = false;
73
35
  function main() {
74
- return __awaiter(this, void 0, void 0, function () {
75
- var chunks_1, chunks_1_1, chunk, e_1_1;
76
- var e_1, _a;
77
- return __generator(this, function (_b) {
78
- switch (_b.label) {
79
- case 0:
80
- _b.trys.push([0, 5, 6, 7]);
81
- chunks_1 = __values(chunks), chunks_1_1 = chunks_1.next();
82
- _b.label = 1;
83
- case 1:
84
- if (!!chunks_1_1.done) return [3 /*break*/, 4];
85
- chunk = chunks_1_1.value;
86
- if (terminated)
87
- return [2 /*return*/];
88
- return [4 /*yield*/, write(chunk)];
89
- case 2:
90
- _b.sent();
91
- _b.label = 3;
92
- case 3:
93
- chunks_1_1 = chunks_1.next();
94
- return [3 /*break*/, 1];
95
- case 4: return [3 /*break*/, 7];
96
- case 5:
97
- e_1_1 = _b.sent();
98
- e_1 = { error: e_1_1 };
99
- return [3 /*break*/, 7];
100
- case 6:
101
- try {
102
- if (chunks_1_1 && !chunks_1_1.done && (_a = chunks_1["return"])) _a.call(chunks_1);
103
- }
104
- finally { if (e_1) throw e_1.error; }
105
- return [7 /*endfinally*/];
106
- case 7: return [2 /*return*/];
107
- }
108
- });
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ for (const chunk of chunks) {
38
+ if (terminated)
39
+ return;
40
+ yield write(chunk);
41
+ }
109
42
  });
110
43
  }
111
- main().then(function () {
44
+ main().then(() => {
112
45
  terminated = true;
113
46
  o.complete();
114
- }, function (e) {
47
+ }, (e) => {
115
48
  terminated = true;
116
49
  (0, logs_1.log)("ble-error", "sendAPDU failure " + String(e));
117
50
  o.error(e);
118
51
  });
119
- var unsubscribe = function () {
52
+ const unsubscribe = () => {
120
53
  if (!terminated) {
121
54
  (0, logs_1.log)("ble-verbose", "sendAPDU interruption");
122
55
  terminated = true;
@@ -1 +1 @@
1
- {"version":3,"file":"sendAPDU.js","sourceRoot":"","sources":["../../src/ble/sendAPDU.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAkC;AAClC,uCAAqC;AACrC,IAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,SAAS,WAAW,CAClB,MAAc,EACd,YAAsC;IAEtC,IAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KACE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EACjC,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,CAAC,IAAI,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EACjC;QACA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,IAAM,QAAQ,GAAG,UACtB,KAAsC,EACtC,IAAY,EACZ,OAAe;IAEf,IAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,UAAC,CAAC,IAAK,OAAA,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC,GAAG,CACtE,UAAC,MAAM,EAAE,CAAC;QACR,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACpC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IACF,OAAO,IAAI,iBAAU,CAAC,UAAC,CAAC;QACtB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,SAAe,IAAI;;;;;;;;4BACG,WAAA,SAAA,MAAM,CAAA;;;;4BAAf,KAAK;4BACd,IAAI,UAAU;gCAAE,sBAAO;4BACvB,qBAAM,KAAK,CAAC,KAAK,CAAC,EAAA;;4BAAlB,SAAkB,CAAC;;;;;;;;;;;;;;;;;;;;SAEtB;QAED,IAAI,EAAE,CAAC,IAAI,CACT;YACE,UAAU,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,EACD,UAAC,CAAC;YACA,UAAU,GAAG,IAAI,CAAC;YAClB,IAAA,UAAG,EAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CACF,CAAC;QAEF,IAAM,WAAW,GAAG;YAClB,IAAI,CAAC,UAAU,EAAE;gBACf,IAAA,UAAG,EAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;gBAC5C,UAAU,GAAG,IAAI,CAAC;aACnB;QACH,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjDW,QAAA,QAAQ,YAiDnB"}
1
+ {"version":3,"file":"sendAPDU.js","sourceRoot":"","sources":["../../src/ble/sendAPDU.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAkC;AAClC,yCAAqC;AACrC,MAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,SAAS,WAAW,CAClB,MAAc,EACd,YAAsC;IAEtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KACE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EACjC,CAAC,GAAG,MAAM,CAAC,MAAM,EACjB,CAAC,IAAI,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EACjC;QACA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,MAAM,QAAQ,GAAG,CACtB,KAAsC,EACtC,IAAY,EACZ,OAAe,EACK,EAAE;IACtB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACtE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACpC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IACF,OAAO,IAAI,iBAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,SAAe,IAAI;;gBACjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,IAAI,UAAU;wBAAE,OAAO;oBACvB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;iBACpB;YACH,CAAC;SAAA;QAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE;YACH,UAAU,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;YACJ,UAAU,GAAG,IAAI,CAAC;YAClB,IAAA,UAAG,EAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,UAAU,EAAE;gBACf,IAAA,UAAG,EAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;gBAC5C,UAAU,GAAG,IAAI,CAAC;aACnB;QACH,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjDW,QAAA,QAAQ,YAiDnB"}
package/lib/helpers.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stringToDeviceModelId = void 0;
4
- var _1 = require(".");
5
- var stringToDeviceModelId = function (strDeviceModelId, defaultDeviceModelId) {
4
+ const _1 = require(".");
5
+ const stringToDeviceModelId = (strDeviceModelId, defaultDeviceModelId) => {
6
6
  var _a;
7
7
  if ((_a = Object.values(_1.DeviceModelId)) === null || _a === void 0 ? void 0 : _a.includes(strDeviceModelId)) {
8
8
  return _1.DeviceModelId[strDeviceModelId];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA,sBAAkC;AAE3B,IAAM,qBAAqB,GAAG,UACnC,gBAAwB,EACxB,oBAAmC;;IAEnC,IACE,MAAA,MAAM,CAAC,MAAM,CAAC,gBAAa,CAAC,0CAAE,QAAQ,CAAC,gBAAiC,CAAC,EACzE;QACA,OAAO,gBAAa,CAAC,gBAAiC,CAAC,CAAC;KACzD;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAE3B,MAAM,qBAAqB,GAAG,CACnC,gBAAwB,EACxB,oBAAmC,EACpB,EAAE;;IACjB,IACE,MAAA,MAAM,CAAC,MAAM,CAAC,gBAAa,CAAC,0CAAE,QAAQ,CAAC,gBAAiC,CAAC,EACzE;QACA,OAAO,gBAAa,CAAC,gBAAiC,CAAC,CAAC;KACzD;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
@@ -1,47 +1,21 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- exports.__esModule = true;
28
- var _1 = require(".");
29
- var helpers_1 = require("./helpers");
30
- describe("stringToDeviceModelId", function () {
31
- var tests = [
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const helpers_1 = require("./helpers");
5
+ describe("stringToDeviceModelId", () => {
6
+ const tests = [
32
7
  {
33
8
  input: ["stax", _1.DeviceModelId.nanoSP],
34
- expectedOutput: _1.DeviceModelId.stax
9
+ expectedOutput: _1.DeviceModelId.stax,
35
10
  },
36
11
  {
37
12
  input: ["does-not-exist", _1.DeviceModelId.nanoSP],
38
- expectedOutput: _1.DeviceModelId.nanoSP
13
+ expectedOutput: _1.DeviceModelId.nanoSP,
39
14
  },
40
15
  ];
41
- tests.forEach(function (_a) {
42
- var input = _a.input, expectedOutput = _a.expectedOutput;
43
- test("Input: ".concat(JSON.stringify(input), " -> Expected output: ").concat(expectedOutput), function () {
44
- var result = helpers_1.stringToDeviceModelId.apply(void 0, __spreadArray([], __read(input), false));
16
+ tests.forEach(({ input, expectedOutput }) => {
17
+ test(`Input: ${JSON.stringify(input)} -> Expected output: ${expectedOutput}`, () => {
18
+ const result = (0, helpers_1.stringToDeviceModelId)(...input);
45
19
  expect(result).toEqual(expectedOutput);
46
20
  });
47
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../src/helpers.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAAkC;AAClC,qCAAkD;AAOlD,QAAQ,CAAC,uBAAuB,EAAE;IAChC,IAAM,KAAK,GAAW;QACpB;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAa,CAAC,MAAM,CAAC;YACrC,cAAc,EAAE,gBAAa,CAAC,IAAI;SACnC;QACD;YACE,KAAK,EAAE,CAAC,gBAAgB,EAAE,gBAAa,CAAC,MAAM,CAAC;YAC/C,cAAc,EAAE,gBAAa,CAAC,MAAM;SACrC;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,UAAC,EAAyB;YAAvB,KAAK,WAAA,EAAE,cAAc,oBAAA;QACpC,IAAI,CAAC,iBAAU,IAAI,CAAC,SAAS,CAC3B,KAAK,CACN,kCAAwB,cAAc,CAAE,EAAE;YACzC,IAAM,MAAM,GAAG,+BAAqB,wCAAI,KAAK,UAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../src/helpers.test.ts"],"names":[],"mappings":";;AAAA,wBAAkC;AAClC,uCAAkD;AAOlD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,KAAK,GAAW;QACpB;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAa,CAAC,MAAM,CAAC;YACrC,cAAc,EAAE,gBAAa,CAAC,IAAI;SACnC;QACD;YACE,KAAK,EAAE,CAAC,gBAAgB,EAAE,gBAAa,CAAC,MAAM,CAAC;YAC/C,cAAc,EAAE,gBAAa,CAAC,MAAM;SACrC;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAC3B,KAAK,CACN,wBAAwB,cAAc,EAAE,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAA,+BAAqB,EAAC,GAAG,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- export declare type ResponseAcc = {
2
+ export type ResponseAcc = {
3
3
  data: Buffer;
4
4
  dataLength: number;
5
5
  sequence: number;
@@ -1 +1 @@
1
- {"version":3,"file":"hid-framing.d.ts","sourceRoot":"","sources":["../src/hid-framing.ts"],"names":[],"mappings":";AACA,oBAAY,WAAW,GACnB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD,IAAI,GACJ,SAAS,CAAC;AAed;;GAEG;AACH,QAAA,MAAM,gBAAgB,YAAa,MAAM,cAAc,MAAM;qBAExC,MAAM,GAAG,MAAM,EAAE;wBAsBd,WAAW,SAAS,MAAM,GAAG,WAAW;0BAkCtC,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;CAMhE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"hid-framing.d.ts","sourceRoot":"","sources":["../src/hid-framing.ts"],"names":[],"mappings":";AACA,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD,IAAI,GACJ,SAAS,CAAC;AAed;;GAEG;AACH,QAAA,MAAM,gBAAgB,YAAa,MAAM,cAAc,MAAM;qBAExC,MAAM,GAAG,MAAM,EAAE;wBAsBd,WAAW,SAAS,MAAM,GAAG,WAAW;0BAkCtC,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;CAMhE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,43 +1,43 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var errors_1 = require("@ledgerhq/errors");
4
- var Tag = 0x05;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const errors_1 = require("@ledgerhq/errors");
4
+ const Tag = 0x05;
5
5
  function asUInt16BE(value) {
6
- var b = Buffer.alloc(2);
6
+ const b = Buffer.alloc(2);
7
7
  b.writeUInt16BE(value, 0);
8
8
  return b;
9
9
  }
10
- var initialAcc = {
10
+ const initialAcc = {
11
11
  data: Buffer.alloc(0),
12
12
  dataLength: 0,
13
- sequence: 0
13
+ sequence: 0,
14
14
  };
15
15
  /**
16
16
  *
17
17
  */
18
- var createHIDframing = function (channel, packetSize) {
18
+ const createHIDframing = (channel, packetSize) => {
19
19
  return {
20
- makeBlocks: function (apdu) {
21
- var data = Buffer.concat([asUInt16BE(apdu.length), apdu]);
22
- var blockSize = packetSize - 5;
23
- var nbBlocks = Math.ceil(data.length / blockSize);
20
+ makeBlocks(apdu) {
21
+ let data = Buffer.concat([asUInt16BE(apdu.length), apdu]);
22
+ const blockSize = packetSize - 5;
23
+ const nbBlocks = Math.ceil(data.length / blockSize);
24
24
  data = Buffer.concat([
25
25
  data,
26
26
  Buffer.alloc(nbBlocks * blockSize - data.length + 1).fill(0),
27
27
  ]);
28
- var blocks = [];
29
- for (var i = 0; i < nbBlocks; i++) {
30
- var head = Buffer.alloc(5);
28
+ const blocks = [];
29
+ for (let i = 0; i < nbBlocks; i++) {
30
+ const head = Buffer.alloc(5);
31
31
  head.writeUInt16BE(channel, 0);
32
32
  head.writeUInt8(Tag, 2);
33
33
  head.writeUInt16BE(i, 3);
34
- var chunk = data.slice(i * blockSize, (i + 1) * blockSize);
34
+ const chunk = data.slice(i * blockSize, (i + 1) * blockSize);
35
35
  blocks.push(Buffer.concat([head, chunk]));
36
36
  }
37
37
  return blocks;
38
38
  },
39
- reduceResponse: function (acc, chunk) {
40
- var _a = acc || initialAcc, data = _a.data, dataLength = _a.dataLength, sequence = _a.sequence;
39
+ reduceResponse(acc, chunk) {
40
+ let { data, dataLength, sequence } = acc || initialAcc;
41
41
  if (chunk.readUInt16BE(0) !== channel) {
42
42
  throw new errors_1.TransportError("Invalid channel", "InvalidChannel");
43
43
  }
@@ -51,23 +51,23 @@ var createHIDframing = function (channel, packetSize) {
51
51
  dataLength = chunk.readUInt16BE(5);
52
52
  }
53
53
  sequence++;
54
- var chunkData = chunk.slice(acc ? 5 : 7);
54
+ const chunkData = chunk.slice(acc ? 5 : 7);
55
55
  data = Buffer.concat([data, chunkData]);
56
56
  if (data.length > dataLength) {
57
57
  data = data.slice(0, dataLength);
58
58
  }
59
59
  return {
60
- data: data,
61
- dataLength: dataLength,
62
- sequence: sequence
60
+ data,
61
+ dataLength,
62
+ sequence,
63
63
  };
64
64
  },
65
- getReducedResult: function (acc) {
65
+ getReducedResult(acc) {
66
66
  if (acc && acc.dataLength === acc.data.length) {
67
67
  return acc.data;
68
68
  }
69
- }
69
+ },
70
70
  };
71
71
  };
72
- exports["default"] = createHIDframing;
72
+ exports.default = createHIDframing;
73
73
  //# sourceMappingURL=hid-framing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hid-framing.js","sourceRoot":"","sources":["../src/hid-framing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hid-framing.js","sourceRoot":"","sources":["../src/hid-framing.ts"],"names":[],"mappings":"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"}