@shapeshiftoss/hdwallet-ledger 1.52.5 → 1.52.7

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.
@@ -0,0 +1,38 @@
1
+ /// <reference types="node" />
2
+ import * as core from "@shapeshiftoss/hdwallet-core";
3
+ export type GetAddressAndPubKeyResponse = {
4
+ bech32_address: string;
5
+ compressed_pk: Uint8Array;
6
+ error_message: string;
7
+ return_code: number;
8
+ };
9
+ export type SignResponse = {
10
+ signature: Uint8Array;
11
+ error_message: string;
12
+ return_code: number;
13
+ };
14
+ declare class THORChainApp {
15
+ transport: any;
16
+ versionResponse: any;
17
+ constructor(transport: any, scrambleKey?: string);
18
+ static serializeHRP(hrp: any): Buffer;
19
+ static getBech32FromPK(hrp: any, pk: any): `${Lowercase<any>}1${string}`;
20
+ serializePath(path: Array<number>): Promise<Buffer | {
21
+ return_code: number;
22
+ error_message: string;
23
+ }>;
24
+ signGetChunks(path: Array<number>, message: any): Promise<(Buffer | {
25
+ return_code: number;
26
+ error_message: string;
27
+ })[]>;
28
+ getVersion(): Promise<any>;
29
+ appInfo(): Promise<any>;
30
+ deviceInfo(): Promise<any>;
31
+ publicKey(path: Array<number>): Promise<any>;
32
+ getAddressAndPubKey(path: Array<number>, hrp: any): Promise<GetAddressAndPubKeyResponse>;
33
+ showAddressAndPubKey(path: Array<number>, hrp: any): Promise<any>;
34
+ signSendChunk(chunkIdx: number, chunkNum: number, chunk: any): Promise<any>;
35
+ sign(msg: core.ThorchainSignTx): Promise<SignResponse>;
36
+ }
37
+ export { THORChainApp };
38
+ //# sourceMappingURL=hw-app-thor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-app-thor.d.ts","sourceRoot":"","sources":["../../src/thorchain/hw-app-thor.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAmBrD,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,UAAU,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAuBF,cAAM,YAAY;IAChB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,EAAE,GAAG,CAAC;gBAET,SAAS,EAAE,GAAG,EAAE,WAAW,SAAU;IAajD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG;IAU5B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;IAclC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;;;;IAkBjC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG;;;;IAkB/C,UAAU;IASV,OAAO;IAkDP,UAAU;IA8CV,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;IAoB7B,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,2BAA2B,CAAC;IA4BxF,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG;IA4BlD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAY5D,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;CAiC7D;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,340 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.THORChainApp = void 0;
16
+ /** ******************************************************************************
17
+ * (c) 2019 ZondaX GmbH
18
+ * (c) 2016-2017 Ledger
19
+ *
20
+ * Licensed under the Apache License, Version 2.0 (the "License");
21
+ * you may not use this file except in compliance with the License.
22
+ * You may obtain a copy of the License at
23
+ *
24
+ * http://www.apache.org/licenses/LICENSE-2.0
25
+ *
26
+ * Unless required by applicable law or agreed to in writing, software
27
+ * distributed under the License is distributed on an "AS IS" BASIS,
28
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
+ * See the License for the specific language governing permissions and
30
+ * limitations under the License.
31
+ ******************************************************************************* */
32
+ const base_1 = require("@scure/base");
33
+ const crypto_1 = __importDefault(require("crypto"));
34
+ const ripemd160_1 = __importDefault(require("ripemd160"));
35
+ const common_1 = require("./common");
36
+ const helpers_1 = require("./helpers");
37
+ const THOR_CHAIN = "thorchain-mainnet-v1";
38
+ const recursivelyOrderKeys = (unordered) => {
39
+ // If it's an array - recursively order any
40
+ // dictionary items within the array
41
+ if (Array.isArray(unordered)) {
42
+ unordered.forEach((item, index) => {
43
+ unordered[index] = recursivelyOrderKeys(item);
44
+ });
45
+ return unordered;
46
+ }
47
+ // If it's an object - let's order the keys
48
+ if (typeof unordered !== "object")
49
+ return unordered;
50
+ const ordered = {};
51
+ Object.keys(unordered)
52
+ .sort()
53
+ .forEach((key) => (ordered[key] = recursivelyOrderKeys(unordered[key])));
54
+ return ordered;
55
+ };
56
+ const stringifyKeysInOrder = (data) => JSON.stringify(recursivelyOrderKeys(data));
57
+ class THORChainApp {
58
+ constructor(transport, scrambleKey = common_1.APP_KEY) {
59
+ if (!transport) {
60
+ throw new Error("Transport has not been defined");
61
+ }
62
+ this.transport = transport;
63
+ transport.decorateAppAPIMethods.bind(transport)(this, ["getVersion", "sign", "getAddressAndPubKey", "appInfo", "deviceInfo", "getBech32FromPK"], scrambleKey);
64
+ }
65
+ static serializeHRP(hrp) {
66
+ if (hrp == null || hrp.length < 3 || hrp.length > 83) {
67
+ throw new Error("Invalid HRP");
68
+ }
69
+ const buf = Buffer.alloc(1 + hrp.length);
70
+ buf.writeUInt8(hrp.length, 0);
71
+ buf.write(hrp, 1);
72
+ return buf;
73
+ }
74
+ static getBech32FromPK(hrp, pk) {
75
+ var _a, _b;
76
+ if (pk.length !== 33) {
77
+ throw new Error("expected compressed public key [31 bytes]");
78
+ }
79
+ const hashSha256 = crypto_1.default.createHash("sha256").update(pk).digest();
80
+ const hashRip = new ripemd160_1.default().update(hashSha256).digest();
81
+ // ts is drunk and doesn't like bech32.bech32 here
82
+ const encode = base_1.bech32.encode || ((_a = base_1.bech32.bech32) === null || _a === void 0 ? void 0 : _a.encode);
83
+ // ts is drunk and doesn't like bech32.bech32 here
84
+ const toWords = base_1.bech32.toWords || ((_b = base_1.bech32.bech32) === null || _b === void 0 ? void 0 : _b.toWords);
85
+ return encode(hrp, toWords(hashRip));
86
+ }
87
+ serializePath(path) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ this.versionResponse = yield (0, common_1.getVersion)(this.transport);
90
+ if (this.versionResponse.return_code !== common_1.ErrorCode.NoError) {
91
+ throw this.versionResponse;
92
+ }
93
+ switch (this.versionResponse.major) {
94
+ case 2:
95
+ return (0, helpers_1.serializePathv2)(path);
96
+ default:
97
+ return {
98
+ return_code: 0x6400,
99
+ error_message: "App Version is not supported",
100
+ };
101
+ }
102
+ });
103
+ }
104
+ signGetChunks(path, message) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const serializedPath = yield this.serializePath(path);
107
+ const chunks = [];
108
+ chunks.push(serializedPath);
109
+ const buffer = Buffer.from(message);
110
+ for (let i = 0; i < buffer.length; i += common_1.CHUNK_SIZE) {
111
+ let end = i + common_1.CHUNK_SIZE;
112
+ if (i > buffer.length) {
113
+ end = buffer.length;
114
+ }
115
+ chunks.push(buffer.slice(i, end));
116
+ }
117
+ return chunks;
118
+ });
119
+ }
120
+ getVersion() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ try {
123
+ this.versionResponse = yield (0, common_1.getVersion)(this.transport);
124
+ return this.versionResponse;
125
+ }
126
+ catch (e) {
127
+ return (0, common_1.processErrorResponse)(e);
128
+ }
129
+ });
130
+ }
131
+ appInfo() {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ return this.transport.send(0xb0, 0x01, 0, 0).then((response) => {
134
+ const errorCodeData = response.slice(-2);
135
+ const returnCode = errorCodeData[0] * 256 + errorCodeData[1];
136
+ const result = {};
137
+ let appName = "err";
138
+ let appVersion = "err";
139
+ let flagLen = 0;
140
+ let flagsValue = 0;
141
+ if (response[0] !== 1) {
142
+ // Ledger responds with format ID 1. There is no spec for any format != 1
143
+ result.error_message = "response format ID not recognized";
144
+ result.return_code = 0x9001;
145
+ }
146
+ else {
147
+ const appNameLen = response[1];
148
+ appName = response.slice(2, 2 + appNameLen).toString("ascii");
149
+ let idx = 2 + appNameLen;
150
+ const appVersionLen = response[idx];
151
+ idx += 1;
152
+ appVersion = response.slice(idx, idx + appVersionLen).toString("ascii");
153
+ idx += appVersionLen;
154
+ const appFlagsLen = response[idx];
155
+ idx += 1;
156
+ flagLen = appFlagsLen;
157
+ flagsValue = response[idx];
158
+ }
159
+ return {
160
+ return_code: returnCode,
161
+ error_message: (0, common_1.errorCodeToString)(returnCode),
162
+ // //
163
+ appName,
164
+ appVersion,
165
+ flagLen,
166
+ flagsValue,
167
+ flag_recovery: (flagsValue & 1) !== 0,
168
+ flag_signed_mcu_code: (flagsValue & 2) !== 0,
169
+ flag_onboarded: (flagsValue & 4) !== 0,
170
+ flag_pin_validated: (flagsValue & 128) !== 0,
171
+ };
172
+ }, common_1.processErrorResponse);
173
+ });
174
+ }
175
+ deviceInfo() {
176
+ return __awaiter(this, void 0, void 0, function* () {
177
+ return this.transport.send(0xe0, 0x01, 0, 0, Buffer.from([]), [common_1.ErrorCode.NoError, 0x6e00]).then((response) => {
178
+ const errorCodeData = response.slice(-2);
179
+ const returnCode = errorCodeData[0] * 256 + errorCodeData[1];
180
+ if (returnCode === 0x6e00) {
181
+ return {
182
+ return_code: returnCode,
183
+ error_message: "This command is only available in the Dashboard",
184
+ };
185
+ }
186
+ const targetId = response.slice(0, 4).toString("hex");
187
+ let pos = 4;
188
+ const secureElementVersionLen = response[pos];
189
+ pos += 1;
190
+ const seVersion = response.slice(pos, pos + secureElementVersionLen).toString();
191
+ pos += secureElementVersionLen;
192
+ const flagsLen = response[pos];
193
+ pos += 1;
194
+ const flag = response.slice(pos, pos + flagsLen).toString("hex");
195
+ pos += flagsLen;
196
+ const mcuVersionLen = response[pos];
197
+ pos += 1;
198
+ // Patch issue in mcu version
199
+ let tmp = response.slice(pos, pos + mcuVersionLen);
200
+ if (tmp[mcuVersionLen - 1] === 0) {
201
+ tmp = response.slice(pos, pos + mcuVersionLen - 1);
202
+ }
203
+ const mcuVersion = tmp.toString();
204
+ return {
205
+ return_code: returnCode,
206
+ error_message: (0, common_1.errorCodeToString)(returnCode),
207
+ // //
208
+ targetId,
209
+ seVersion,
210
+ flag,
211
+ mcuVersion,
212
+ };
213
+ }, common_1.processErrorResponse);
214
+ });
215
+ }
216
+ publicKey(path) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ try {
219
+ const serializedPath = yield this.serializePath(path);
220
+ switch (this.versionResponse.major) {
221
+ case 2: {
222
+ const data = Buffer.concat([THORChainApp.serializeHRP("thor"), serializedPath]);
223
+ return yield (0, helpers_1.publicKeyv2)(this, data);
224
+ }
225
+ default:
226
+ return {
227
+ return_code: 0x6400,
228
+ error_message: "App Version is not supported",
229
+ };
230
+ }
231
+ }
232
+ catch (e) {
233
+ return (0, common_1.processErrorResponse)(e);
234
+ }
235
+ });
236
+ }
237
+ getAddressAndPubKey(path, hrp) {
238
+ return __awaiter(this, void 0, void 0, function* () {
239
+ try {
240
+ return yield this.serializePath(path)
241
+ .then((serializedPath) => {
242
+ const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath]);
243
+ return this.transport
244
+ .send(common_1.CLA, common_1.INS.GET_ADDR_SECP256K1, common_1.P1_VALUES.ONLY_RETRIEVE, 0, data, [common_1.ErrorCode.NoError])
245
+ .then((response) => {
246
+ const errorCodeData = response.slice(-2);
247
+ const returnCode = errorCodeData[0] * 256 + errorCodeData[1];
248
+ const compressedPk = Buffer.from(response.slice(0, 33));
249
+ const bech32Address = Buffer.from(response.slice(33, -2)).toString();
250
+ return {
251
+ bech32_address: bech32Address,
252
+ compressed_pk: compressedPk,
253
+ return_code: returnCode,
254
+ error_message: (0, common_1.errorCodeToString)(returnCode),
255
+ };
256
+ }, common_1.processErrorResponse);
257
+ })
258
+ .catch((err) => (0, common_1.processErrorResponse)(err));
259
+ }
260
+ catch (e) {
261
+ return (0, common_1.processErrorResponse)(e);
262
+ }
263
+ });
264
+ }
265
+ showAddressAndPubKey(path, hrp) {
266
+ return __awaiter(this, void 0, void 0, function* () {
267
+ try {
268
+ return yield this.serializePath(path)
269
+ .then((serializedPath) => {
270
+ const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath]);
271
+ return this.transport
272
+ .send(common_1.CLA, common_1.INS.GET_ADDR_SECP256K1, common_1.P1_VALUES.SHOW_ADDRESS_IN_DEVICE, 0, data, [common_1.ErrorCode.NoError])
273
+ .then((response) => {
274
+ const errorCodeData = response.slice(-2);
275
+ const returnCode = errorCodeData[0] * 256 + errorCodeData[1];
276
+ const compressedPk = Buffer.from(response.slice(0, 33));
277
+ const bech32Address = Buffer.from(response.slice(33, -2)).toString();
278
+ return {
279
+ bech32_address: bech32Address,
280
+ compressed_pk: compressedPk,
281
+ return_code: returnCode,
282
+ error_message: (0, common_1.errorCodeToString)(returnCode),
283
+ };
284
+ }, common_1.processErrorResponse);
285
+ })
286
+ .catch((err) => (0, common_1.processErrorResponse)(err));
287
+ }
288
+ catch (e) {
289
+ return (0, common_1.processErrorResponse)(e);
290
+ }
291
+ });
292
+ }
293
+ signSendChunk(chunkIdx, chunkNum, chunk) {
294
+ return __awaiter(this, void 0, void 0, function* () {
295
+ switch (this.versionResponse.major) {
296
+ case 2:
297
+ return (0, helpers_1.signSendChunkv2)(this, chunkIdx, chunkNum, chunk);
298
+ default:
299
+ return {
300
+ return_code: 0x6400,
301
+ error_message: "App Version is not supported",
302
+ };
303
+ }
304
+ });
305
+ }
306
+ sign(msg) {
307
+ return __awaiter(this, void 0, void 0, function* () {
308
+ const rawTx = stringifyKeysInOrder({
309
+ account_number: msg.account_number,
310
+ chain_id: THOR_CHAIN,
311
+ fee: { amount: msg.tx.fee.amount, gas: msg.tx.fee.gas },
312
+ memo: msg.tx.memo,
313
+ msgs: msg.tx.msg,
314
+ sequence: msg.sequence,
315
+ });
316
+ return this.signGetChunks(msg.addressNList, rawTx).then((chunks) => {
317
+ return this.signSendChunk(1, chunks.length, chunks[0]).then((response) => __awaiter(this, void 0, void 0, function* () {
318
+ let result = {
319
+ return_code: response.return_code,
320
+ error_message: response.error_message,
321
+ signature: null,
322
+ };
323
+ for (let i = 1; i < chunks.length; i += 1) {
324
+ result = yield this.signSendChunk(1 + i, chunks.length, chunks[i]);
325
+ if (result.return_code !== common_1.ErrorCode.NoError) {
326
+ break;
327
+ }
328
+ }
329
+ return {
330
+ return_code: result.return_code,
331
+ error_message: result.error_message,
332
+ signature: result.signature,
333
+ };
334
+ }), common_1.processErrorResponse);
335
+ }, common_1.processErrorResponse);
336
+ });
337
+ }
338
+ }
339
+ exports.THORChainApp = THORChainApp;
340
+ //# sourceMappingURL=hw-app-thor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-app-thor.js","sourceRoot":"","sources":["../../src/thorchain/hw-app-thor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as core from "@shapeshiftoss/hdwallet-core";
2
+ import { LedgerTransport } from "..";
3
+ export * from "./common";
4
+ export * from "./helpers";
5
+ export * from "./hw-app-thor";
6
+ export declare const thorchainGetAddress: (transport: LedgerTransport, msg: core.ThorchainGetAddress) => Promise<string>;
7
+ export declare const thorchainSignTx: (transport: LedgerTransport, msg: core.ThorchainSignTx) => Promise<core.ThorchainSignedTx>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/thorchain/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAIrD,OAAO,EAAe,eAAe,EAAE,MAAM,IAAI,CAAC;AAElD,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAI9B,eAAO,MAAM,mBAAmB,cACnB,eAAe,OACrB,KAAK,mBAAmB,KAC5B,QAAQ,MAAM,CAMhB,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,eAAe,OACrB,KAAK,eAAe,KACxB,QAAQ,KAAK,iBAAiB,CAgDhC,CAAC"}
@@ -0,0 +1,101 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __importDefault = (this && this.__importDefault) || function (mod) {
38
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.thorchainSignTx = exports.thorchainGetAddress = void 0;
42
+ const base64_js_1 = require("base64-js");
43
+ const p_lazy_1 = __importDefault(require("p-lazy"));
44
+ const __1 = require("..");
45
+ const utils_1 = require("./utils");
46
+ __exportStar(require("./common"), exports);
47
+ __exportStar(require("./helpers"), exports);
48
+ __exportStar(require("./hw-app-thor"), exports);
49
+ const protoTxBuilder = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@shapeshiftoss/proto-tx-builder"))));
50
+ const thorchainGetAddress = (transport, msg) => __awaiter(void 0, void 0, void 0, function* () {
51
+ const addressAndPubkey = yield transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor");
52
+ (0, __1.handleError)(addressAndPubkey, transport, "Unable to obtain address and public key from device.");
53
+ return addressAndPubkey.payload.bech32_address;
54
+ });
55
+ exports.thorchainGetAddress = thorchainGetAddress;
56
+ const thorchainSignTx = (transport, msg) => __awaiter(void 0, void 0, void 0, function* () {
57
+ const addressAndPubkey = yield transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor");
58
+ (0, __1.handleError)(addressAndPubkey, transport, "Unable to obtain address and public key from device.");
59
+ const { bech32_address: address, compressed_pk } = addressAndPubkey.payload;
60
+ const pubkey = (0, base64_js_1.fromByteArray)(compressed_pk);
61
+ const signResponse = yield transport.call("Rune", "sign", msg);
62
+ (0, __1.handleError)(signResponse, transport, "Unable to obtain signature from device.");
63
+ const signature = signResponse.payload.signature;
64
+ const offlineSigner = {
65
+ getAccounts() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ return [
68
+ {
69
+ address,
70
+ algo: "secp256k1",
71
+ pubkey: compressed_pk,
72
+ },
73
+ ];
74
+ });
75
+ },
76
+ signAmino(signerAddress, signDoc) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ if (signerAddress !== address)
79
+ throw new Error("expected signerAddress to match address");
80
+ return {
81
+ signed: signDoc,
82
+ signature: {
83
+ pub_key: {
84
+ type: "tendermint/PubKeySecp256k1",
85
+ value: pubkey,
86
+ },
87
+ signature: (0, utils_1.getSignature)(signature),
88
+ },
89
+ };
90
+ });
91
+ },
92
+ };
93
+ const signerData = {
94
+ sequence: Number(msg.sequence),
95
+ accountNumber: Number(msg.account_number),
96
+ chainId: msg.chain_id,
97
+ };
98
+ return (yield protoTxBuilder).sign(address, msg.tx, offlineSigner, signerData, "thor");
99
+ });
100
+ exports.thorchainSignTx = thorchainSignTx;
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/thorchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yCAA0C;AAC1C,oDAA2B;AAE3B,0BAAkD;AAClD,mCAAuC;AACvC,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAE9B,MAAM,cAAc,GAAG,gBAAK,CAAC,IAAI,CAAC,GAAG,EAAE,mDAAQ,iCAAiC,GAAC,CAAC,CAAC;AAE5E,MAAM,mBAAmB,GAAG,CACjC,SAA0B,EAC1B,GAA6B,EACZ,EAAE;IACnB,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEvG,IAAA,eAAW,EAAC,gBAAgB,EAAE,SAAS,EAAE,sDAAsD,CAAC,CAAC;IAEjG,OAAO,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC;AACjD,CAAC,CAAA,CAAC;AATW,QAAA,mBAAmB,uBAS9B;AAEK,MAAM,eAAe,GAAG,CAC7B,SAA0B,EAC1B,GAAyB,EACQ,EAAE;IACnC,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEvG,IAAA,eAAW,EAAC,gBAAgB,EAAE,SAAS,EAAE,sDAAsD,CAAC,CAAC;IAEjG,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/D,IAAA,eAAW,EAAC,YAAY,EAAE,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;IAEjD,MAAM,aAAa,GAAuB;QAClC,WAAW;;gBACf,OAAO;oBACL;wBACE,OAAO;wBACP,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,aAAa;qBACtB;iBACF,CAAC;YACJ,CAAC;SAAA;QAEK,SAAS,CAAC,aAAqB,EAAE,OAAmB;;gBACxD,IAAI,aAAa,KAAK,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAE1F,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE;wBACT,OAAO,EAAE;4BACP,IAAI,EAAE,4BAA4B;4BAClC,KAAK,EAAE,MAAM;yBACd;wBACD,SAAS,EAAE,IAAA,oBAAY,EAAC,SAAS,CAAC;qBACnC;iBACF,CAAC;YACJ,CAAC;SAAA;KACF,CAAC;IAEF,MAAM,UAAU,GAAe;QAC7B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACzC,OAAO,EAAE,GAAG,CAAC,QAAQ;KACtB,CAAC;IAEF,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAClG,CAAC,CAAA,CAAC;AAnDW,QAAA,eAAe,mBAmD1B"}
@@ -0,0 +1,2 @@
1
+ export declare const getSignature: (signatureArray: Uint8Array) => string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/thorchain/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mBAAoB,UAAU,WAiEtD,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSignature = void 0;
4
+ const base64_js_1 = require("base64-js");
5
+ const getSignature = (signatureArray) => {
6
+ // Check Type Length Value encoding
7
+ if (signatureArray.length < 64) {
8
+ throw new Error("Invalid Signature: Too short");
9
+ }
10
+ if (signatureArray[0] !== 0x30) {
11
+ throw new Error("Invalid Ledger Signature TLV encoding: expected first byte 0x30");
12
+ }
13
+ if (signatureArray[1] + 2 !== signatureArray.length) {
14
+ throw new Error("Invalid Signature: signature length does not match TLV");
15
+ }
16
+ if (signatureArray[2] !== 0x02) {
17
+ throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02");
18
+ }
19
+ // r signature
20
+ const rLength = signatureArray[3];
21
+ let rSignature = signatureArray.slice(4, rLength + 4);
22
+ // Drop leading zero on some 'r' signatures that are 33 bytes.
23
+ if (rSignature.length === 33 && rSignature[0] === 0) {
24
+ rSignature = rSignature.slice(1, 33);
25
+ }
26
+ else if (rSignature.length === 33) {
27
+ throw new Error('Invalid signature: "r" too long');
28
+ }
29
+ // add leading zero's to pad to 32 bytes
30
+ while (rSignature.length < 32) {
31
+ const rSignaturePadded = new Uint8Array(32);
32
+ rSignaturePadded.set(rSignature, 32 - rSignature.length);
33
+ rSignature = rSignaturePadded;
34
+ }
35
+ // s signature
36
+ if (signatureArray[rLength + 4] !== 0x02) {
37
+ throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02");
38
+ }
39
+ const sLength = signatureArray[rLength + 5];
40
+ if (4 + rLength + 2 + sLength !== signatureArray.length) {
41
+ throw new Error("Invalid Ledger Signature: TLV byte lengths do not match message length");
42
+ }
43
+ let sSignature = signatureArray.slice(rLength + 6, signatureArray.length);
44
+ // Drop leading zero on 's' signatures that are 33 bytes. This shouldn't occur since ledger signs using "Small s" math. But just to be sure...
45
+ if (sSignature.length === 33 && sSignature[0] === 0) {
46
+ sSignature = sSignature.slice(1, 33);
47
+ }
48
+ else if (sSignature.length === 33) {
49
+ throw new Error('Invalid signature: "s" too long');
50
+ }
51
+ // add leading zero's to pad to 32 bytes
52
+ while (sSignature.length < 32) {
53
+ const sSignaturePadded = new Uint8Array(32);
54
+ sSignaturePadded.set(sSignature, 32 - sSignature.length);
55
+ sSignature = sSignaturePadded;
56
+ }
57
+ if (rSignature.length !== 32 || sSignature.length !== 32) {
58
+ throw new Error("Invalid signatures: must be 32 bytes each");
59
+ }
60
+ return (0, base64_js_1.fromByteArray)(Buffer.concat([rSignature, sSignature]));
61
+ };
62
+ exports.getSignature = getSignature;
63
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/thorchain/utils.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,13 @@ import type getAppAndVersion from "@ledgerhq/live-common/lib/hw/getAppAndVersion
5
5
  import type getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
6
6
  import type openApp from "@ledgerhq/live-common/lib/hw/openApp";
7
7
  import * as core from "@shapeshiftoss/hdwallet-core";
8
+ import { THORChainApp } from "./thorchain";
8
9
  type MethodsOnly<T> = {
9
10
  [k in keyof T as T[k] extends (...args: any) => any ? k : never]: T[k];
10
11
  };
11
12
  type UnwrapPromise<T> = T extends Promise<infer R> ? R : T;
12
13
  type DefinitelyCallable<T> = T extends (...args: any) => any ? T : never;
13
- export type LedgerTransportCoinType = null | "Btc" | "Eth";
14
+ export type LedgerTransportCoinType = null | "Btc" | "Eth" | "Rune";
14
15
  type CurriedWithTransport<T extends (transport: Transport, ...args: any) => any> = T extends (transport: Transport, ...args: infer R) => infer S ? (...args: R) => S : never;
15
16
  type LedgerNullTransportMethodMap = {
16
17
  decorateAppAPIMethods: Transport["decorateAppAPIMethods"];
@@ -18,7 +19,7 @@ type LedgerNullTransportMethodMap = {
18
19
  getDeviceInfo: CurriedWithTransport<typeof getDeviceInfo>;
19
20
  openApp: CurriedWithTransport<typeof openApp>;
20
21
  };
21
- type LedgerTransportMethodMap<T extends LedgerTransportCoinType> = T extends null ? LedgerNullTransportMethodMap : T extends "Btc" ? MethodsOnly<Btc> : T extends "Eth" ? MethodsOnly<Eth> : never;
22
+ type LedgerTransportMethodMap<T extends LedgerTransportCoinType> = T extends null ? LedgerNullTransportMethodMap : T extends "Btc" ? MethodsOnly<Btc> : T extends "Eth" ? MethodsOnly<Eth> : T extends "Rune" ? MethodsOnly<THORChainApp> : never;
22
23
  export type LedgerTransportMethodName<T extends LedgerTransportCoinType> = LedgerTransportMethodMap<T> extends never ? never : Extract<keyof LedgerTransportMethodMap<T>, string>;
23
24
  type LedgerTransportMethodUnion<T, U> = unknown extends T ? LedgerTransportMethodUnionInner<LedgerTransportCoinType, U> : T extends LedgerTransportCoinType ? LedgerTransportMethodUnionInner<T, U> : never;
24
25
  type LedgerTransportMethodUnionInner<T, U> = T extends LedgerTransportCoinType ? unknown extends U ? LedgerTransportMethod<T, LedgerTransportMethodName<T>> : U extends LedgerTransportMethodName<T> ? LedgerTransportMethod<T, U> : never : never;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}