@ledgerhq/hw-app-near 6.28.7 → 6.28.8-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 +6 -0
- package/lib/Near.d.ts.map +1 -1
- package/lib/Near.js +9 -6
- package/lib/Near.js.map +1 -1
- package/lib-es/Near.d.ts.map +1 -1
- package/lib-es/Near.js +9 -6
- package/lib-es/Near.js.map +1 -1
- package/package.json +1 -1
- package/src/Near.ts +11 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ledgerhq/hw-app-near
|
|
2
2
|
|
|
3
|
+
## 6.28.8-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#6712](https://github.com/LedgerHQ/ledger-live/pull/6712) [`e7ed028`](https://github.com/LedgerHQ/ledger-live/commit/e7ed028716bccb9dc29aa2fc672ecc7a3e78276a) Thanks [@lambertkevin](https://github.com/lambertkevin)! - Increase chunk size in order to prevent a nano app bug from happening too quickly (should be fixed after nano app v1.3.0)
|
|
8
|
+
|
|
3
9
|
## 6.28.7
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/lib/Near.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Near.d.ts","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;kFAekF;AAClF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Near.d.ts","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;kFAekF;AAClF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAepD;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAKhC;;;;;;OAMG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAoBF;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAM1F"}
|
package/lib/Near.js
CHANGED
|
@@ -12,8 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const utils_1 = require("near-api-js/lib/utils");
|
|
13
13
|
const key_pair_1 = require("near-api-js/lib/utils/key_pair");
|
|
14
14
|
const utils_2 = require("./utils");
|
|
15
|
-
//
|
|
16
|
-
|
|
15
|
+
// Based on https://github.com/LedgerHQ/ledger-secure-sdk/blob/master/include/os_io.h#L16
|
|
16
|
+
// 255B + CLA + INS + P1 + P2 + Lc
|
|
17
|
+
const CHUNK_SIZE = 255;
|
|
17
18
|
const CLA = 0x80;
|
|
18
19
|
const INS_GET_PUBLIC_KEY = 4;
|
|
19
20
|
const INS_GET_ADDRESS = 5;
|
|
@@ -89,10 +90,12 @@ function createClient(transport) {
|
|
|
89
90
|
sign(transactionData, path) {
|
|
90
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
92
|
transactionData = Buffer.from(transactionData);
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
const concatenatedData = Buffer.concat([(0, utils_2.bip32PathToBytes)(path), transactionData]);
|
|
94
|
+
const chunks = new Array(Math.ceil(concatenatedData.length / CHUNK_SIZE))
|
|
95
|
+
.fill("")
|
|
96
|
+
.map((_, i) => concatenatedData.subarray(i * CHUNK_SIZE, (i + 1) * CHUNK_SIZE));
|
|
97
|
+
for (const chunk of chunks) {
|
|
98
|
+
const isLastChunk = chunks.indexOf(chunk) === chunks.length - 1;
|
|
96
99
|
const response = yield this.transport.send(CLA, INS_SIGN, isLastChunk ? P1_LAST_CHUNK : 0, NETWORK_ID, chunk);
|
|
97
100
|
if (isLastChunk) {
|
|
98
101
|
return Buffer.from(response.subarray(0, -2));
|
package/lib/Near.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Near.js","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";;;;;;;;;;;AAiBA,iDAAkD;AAClD,6DAAyD;AACzD,mCAA2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"Near.js","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":"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"}
|
package/lib-es/Near.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Near.d.ts","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;kFAekF;AAClF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Near.d.ts","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;kFAekF;AAClF,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAepD;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAKhC;;;;;;OAMG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAoBF;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAM1F"}
|
package/lib-es/Near.js
CHANGED
|
@@ -10,8 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { PublicKey } from "near-api-js/lib/utils";
|
|
11
11
|
import { KeyType } from "near-api-js/lib/utils/key_pair";
|
|
12
12
|
import { bip32PathToBytes } from "./utils";
|
|
13
|
-
//
|
|
14
|
-
|
|
13
|
+
// Based on https://github.com/LedgerHQ/ledger-secure-sdk/blob/master/include/os_io.h#L16
|
|
14
|
+
// 255B + CLA + INS + P1 + P2 + Lc
|
|
15
|
+
const CHUNK_SIZE = 255;
|
|
15
16
|
const CLA = 0x80;
|
|
16
17
|
const INS_GET_PUBLIC_KEY = 4;
|
|
17
18
|
const INS_GET_ADDRESS = 5;
|
|
@@ -86,10 +87,12 @@ function createClient(transport) {
|
|
|
86
87
|
sign(transactionData, path) {
|
|
87
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
89
|
transactionData = Buffer.from(transactionData);
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
const concatenatedData = Buffer.concat([bip32PathToBytes(path), transactionData]);
|
|
91
|
+
const chunks = new Array(Math.ceil(concatenatedData.length / CHUNK_SIZE))
|
|
92
|
+
.fill("")
|
|
93
|
+
.map((_, i) => concatenatedData.subarray(i * CHUNK_SIZE, (i + 1) * CHUNK_SIZE));
|
|
94
|
+
for (const chunk of chunks) {
|
|
95
|
+
const isLastChunk = chunks.indexOf(chunk) === chunks.length - 1;
|
|
93
96
|
const response = yield this.transport.send(CLA, INS_SIGN, isLastChunk ? P1_LAST_CHUNK : 0, NETWORK_ID, chunk);
|
|
94
97
|
if (isLastChunk) {
|
|
95
98
|
return Buffer.from(response.subarray(0, -2));
|
package/lib-es/Near.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Near.js","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":";;;;;;;;;AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"Near.js","sourceRoot":"","sources":["../src/Near.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Near.ts
CHANGED
|
@@ -19,8 +19,9 @@ import { PublicKey } from "near-api-js/lib/utils";
|
|
|
19
19
|
import { KeyType } from "near-api-js/lib/utils/key_pair";
|
|
20
20
|
import { bip32PathToBytes } from "./utils";
|
|
21
21
|
|
|
22
|
-
//
|
|
23
|
-
|
|
22
|
+
// Based on https://github.com/LedgerHQ/ledger-secure-sdk/blob/master/include/os_io.h#L16
|
|
23
|
+
// 255B + CLA + INS + P1 + P2 + Lc
|
|
24
|
+
const CHUNK_SIZE = 255;
|
|
24
25
|
const CLA = 0x80;
|
|
25
26
|
const INS_GET_PUBLIC_KEY = 4;
|
|
26
27
|
const INS_GET_ADDRESS = 5;
|
|
@@ -115,10 +116,13 @@ async function createClient(transport) {
|
|
|
115
116
|
},
|
|
116
117
|
async sign(transactionData, path) {
|
|
117
118
|
transactionData = Buffer.from(transactionData);
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
const concatenatedData = Buffer.concat([bip32PathToBytes(path), transactionData]);
|
|
120
|
+
const chunks = new Array(Math.ceil(concatenatedData.length / CHUNK_SIZE))
|
|
121
|
+
.fill("")
|
|
122
|
+
.map((_, i) => concatenatedData.subarray(i * CHUNK_SIZE, (i + 1) * CHUNK_SIZE));
|
|
123
|
+
|
|
124
|
+
for (const chunk of chunks) {
|
|
125
|
+
const isLastChunk = chunks.indexOf(chunk) === chunks.length - 1;
|
|
122
126
|
const response = await this.transport.send(
|
|
123
127
|
CLA,
|
|
124
128
|
INS_SIGN,
|
|
@@ -126,6 +130,7 @@ async function createClient(transport) {
|
|
|
126
130
|
NETWORK_ID,
|
|
127
131
|
chunk,
|
|
128
132
|
);
|
|
133
|
+
|
|
129
134
|
if (isLastChunk) {
|
|
130
135
|
return Buffer.from(response.subarray(0, -2));
|
|
131
136
|
}
|