@ledgerhq/live-common 21.26.2 → 21.26.3-hotfix.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.
Files changed (27) hide show
  1. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts +2 -0
  2. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts.map +1 -0
  3. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js +126 -0
  4. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js.map +1 -0
  5. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
  6. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
  7. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +2 -2
  8. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -1
  9. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +4 -4
  10. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
  11. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +61 -22
  12. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
  13. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +2 -3
  14. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
  15. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +75 -35
  16. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
  17. package/lib/families/bitcoin/wallet-btc/xpub.js +1 -1
  18. package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
  19. package/package.json +1 -1
  20. package/src/.DS_Store +0 -0
  21. package/src/__tests__/.DS_Store +0 -0
  22. package/src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts +78 -0
  23. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
  24. package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +2 -2
  25. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +21 -21
  26. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +28 -29
  27. package/src/families/bitcoin/wallet-btc/xpub.ts +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xpub.getAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpub.getAddress.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
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 __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 __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ var wallet_btc_1 = require("../../../../families/bitcoin/wallet-btc");
43
+ var storage_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/storage"));
44
+ var explorer_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/explorer"));
45
+ var xpub_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/xpub"));
46
+ var coininfo_1 = __importDefault(require("coininfo"));
47
+ var bitcoincash_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/crypto/bitcoincash"));
48
+ var bitcoin_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/crypto/bitcoin"));
49
+ var zec_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/crypto/zec"));
50
+ var zen_1 = __importDefault(require("../../../../families/bitcoin/wallet-btc/crypto/zen"));
51
+ describe("Unit tests for getAddress", function () {
52
+ it("Test getAddress for bch and btc", function () { return __awaiter(void 0, void 0, void 0, function () {
53
+ var bchCrypto, btcCrypto, bchxpub, addresses, btcxpub;
54
+ return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0:
57
+ bchCrypto = new bitcoincash_1["default"]({
58
+ network: coininfo_1["default"].bitcoincash.main.toBitcoinJS()
59
+ });
60
+ btcCrypto = new bitcoin_1["default"]({
61
+ network: coininfo_1["default"].bitcoin.main.toBitcoinJS()
62
+ });
63
+ bchxpub = new xpub_1["default"]({
64
+ storage: new storage_1["default"](),
65
+ explorer: new explorer_1["default"]({
66
+ explorerURI: "https://explorers.api.vault.ledger.com/blockchain/v3/bch",
67
+ explorerVersion: "v3"
68
+ }),
69
+ crypto: bchCrypto,
70
+ xpub: "xpub6BtWBf3Pu6hYwJBKvEwG7JtrTxxDrSGy39HaTgZz6GTSaFWFdoCtuEXSQtoKGaYdz1emg8xTXKYwjhu3xXRPzFnYS1z4yjKj7hLDQyNeDZr",
71
+ derivationMode: wallet_btc_1.DerivationModes.LEGACY
72
+ });
73
+ return [4 /*yield*/, bchxpub.syncAddress(0, 0)];
74
+ case 1:
75
+ _a.sent();
76
+ return [4 /*yield*/, bchxpub.getXpubAddresses()];
77
+ case 2:
78
+ addresses = _a.sent();
79
+ expect(addresses[0].address).toEqual("bitcoincash:qrgwhfg7tn4xs9pg2vu5rhkud490j9yfnqd63uk64m");
80
+ btcxpub = new xpub_1["default"]({
81
+ storage: new storage_1["default"](),
82
+ explorer: new explorer_1["default"]({
83
+ explorerURI: "https://explorers.api.vault.ledger.com/blockchain/v3/btc",
84
+ explorerVersion: "v3"
85
+ }),
86
+ crypto: btcCrypto,
87
+ xpub: "xpub6BtWBf3Pu6hYwJBKvEwG7JtrTxxDrSGy39HaTgZz6GTSaFWFdoCtuEXSQtoKGaYdz1emg8xTXKYwjhu3xXRPzFnYS1z4yjKj7hLDQyNeDZr",
88
+ derivationMode: wallet_btc_1.DerivationModes.LEGACY
89
+ });
90
+ return [4 /*yield*/, btcxpub.syncAddress(0, 0)];
91
+ case 3:
92
+ _a.sent();
93
+ return [4 /*yield*/, btcxpub.getXpubAddresses()];
94
+ case 4:
95
+ addresses = _a.sent();
96
+ expect(addresses[0].address).toEqual("1L3fqoWstvLqEA6TgXkuLoXX8xG1xhirG3");
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ }); }, 60000);
101
+ it("Test getoutputScriptFromAddress for btc, zcash and zen", function () { return __awaiter(void 0, void 0, void 0, function () {
102
+ var btcCrypto, zecCrypto, zenCrypto;
103
+ return __generator(this, function (_a) {
104
+ btcCrypto = new bitcoin_1["default"]({
105
+ network: coininfo_1["default"].bitcoin.main.toBitcoinJS()
106
+ });
107
+ zecCrypto = new zec_1["default"]({
108
+ network: coininfo_1["default"].zcash.main.toBitcoinJS()
109
+ });
110
+ zenCrypto = new zen_1["default"]({
111
+ network: coininfo_1["default"].zcash.main.toBitcoinJS()
112
+ });
113
+ expect(btcCrypto
114
+ .toOutputScript("1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX")
115
+ .toString("hex")).toEqual("76a91499bc78ba577a95a11f1a344d4d2ae55f2f857b9888ac");
116
+ expect(zecCrypto
117
+ .toOutputScript("t1T5XJvzQhh2gTsi3c5Vn9x5SMhpSWLSnVy")
118
+ .toString("hex")).toEqual("76a91464fa33fb6f8d72455af2a4e73ae30412af2c97ba88ac");
119
+ expect(zenCrypto
120
+ .toOutputScript("znjbHth4PxBJM8FmHgvXYHkuq99nKFkWvMg")
121
+ .toString("hex")).toEqual("76a914cb009bf12fc17d28e61527951101fdabfeaa187288ac209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4");
122
+ return [2 /*return*/];
123
+ });
124
+ }); }, 30000);
125
+ });
126
+ //# sourceMappingURL=xpub.getAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpub.getAddress.js","sourceRoot":"","sources":["../../../../../src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts"],"names":[],"mappings":"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"}
@@ -120,15 +120,17 @@ describe("xpub integration sync", function () {
120
120
  coin: "dgb",
121
121
  explorerVersion: "v3"
122
122
  },
123
+ /*
123
124
  {
124
- xpub: "xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz",
125
- derivationMode: types_1.DerivationModes.LEGACY,
126
- addresses: 15,
127
- balance: 12688908,
128
- network: coininfo_1["default"].bitcoin.main.toBitcoinJS(),
129
- coin: "btc",
130
- explorerVersion: "v3"
125
+ xpub: "xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz", // 3000ms
126
+ derivationMode: DerivationModes.LEGACY,
127
+ addresses: 15,
128
+ balance: 12688908,
129
+ network: coininfo.bitcoin.main.toBitcoinJS(),
130
+ coin: "btc",
131
+ explorerVersion: "v3",
131
132
  },
133
+ */
132
134
  {
133
135
  xpub: "xpub6D4waFVPfPCpRvPkQd9A6n65z3hTp6TvkjnBHG5j2MCKytMuadKgfTUHqwRH77GQqCKTTsUXSZzGYxMGpWpJBdYAYVH75x7yMnwJvra1BUJ",
134
136
  derivationMode: types_1.DerivationModes.LEGACY,
@@ -1 +1 @@
1
- {"version":3,"file":"xpub.syncing.integration.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xpub.syncing.integration.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  exports.__esModule = true;
6
- var tiny_secp256k1_1 = __importDefault(require("tiny-secp256k1"));
6
+ var secp256k1_1 = require("secp256k1");
7
7
  var create_hmac_1 = __importDefault(require("create-hmac"));
8
8
  // the BIP32 class is inspired from https://github.com/bitcoinjs/bip32/blob/master/src/bip32.js
9
9
  var BIP32 = /** @class */ (function () {
@@ -23,7 +23,7 @@ var BIP32 = /** @class */ (function () {
23
23
  var I = (0, create_hmac_1["default"])("sha512", this.chainCode).update(data).digest();
24
24
  var IL = I.slice(0, 32);
25
25
  var IR = I.slice(32);
26
- var Ki = tiny_secp256k1_1["default"].pointAddScalar(this.publicKey, IL, true);
26
+ var Ki = Buffer.from((0, secp256k1_1.publicKeyTweakAdd)(this.publicKey, IL));
27
27
  return new BIP32(Ki, IR, this.network, this.depth + 1, index);
28
28
  };
29
29
  return BIP32;
@@ -1 +1 @@
1
- {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/bip32.ts"],"names":[],"mappings":";;;;;AAAA,kEAAiC;AACjC,4DAAqC;AAErC,+FAA+F;AAC/F;IAME,eACE,SAAc,EACd,SAAc,EACd,OAAY,EACZ,KAAS,EACT,KAAS;QADT,sBAAA,EAAA,SAAS;QACT,sBAAA,EAAA,SAAS;QAET,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,sBAAM,GAAN,UAAO,KAAa;QAClB,IAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAM,CAAC,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACrE,IAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvB,IAAM,EAAE,GAAG,2BAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACH,YAAC;AAAD,CAAC,AA7BD,IA6BC;AAED,qBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/bip32.ts"],"names":[],"mappings":";;;;;AAAA,uCAA8C;AAC9C,4DAAqC;AAErC,+FAA+F;AAC/F;IAME,eACE,SAAc,EACd,SAAc,EACd,OAAY,EACZ,KAAS,EACT,KAAS;QADT,sBAAA,EAAA,SAAS;QACT,sBAAA,EAAA,SAAS;QAET,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,sBAAM,GAAN,UAAO,KAAa;QAClB,IAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAM,CAAC,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACrE,IAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvB,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACH,YAAC;AAAD,CAAC,AA7BD,IA6BC;AAED,qBAAe,KAAK,CAAC"}
@@ -1,16 +1,16 @@
1
+ /// <reference types="node" />
1
2
  import { DerivationModes } from "../types";
2
- import { ICrypto } from "./types";
3
- declare class ZCash implements ICrypto {
3
+ import Base from "./base";
4
+ declare class ZCash extends Base {
4
5
  network: any;
5
6
  constructor({ network }: {
6
7
  network: any;
7
8
  });
8
9
  baddrToTaddr(baddrStr: string): string;
9
- private static toBitcoinAddr;
10
10
  getLegacyAddress(xpub: string, account: number, index: number): string;
11
11
  getAddress(derivationMode: string, xpub: string, account: number, index: number): string;
12
12
  getDerivationMode(address: string): DerivationModes;
13
- toOutputScript(address: string): any;
13
+ toOutputScript(address: string): Buffer;
14
14
  validateAddress(address: string): boolean;
15
15
  isTaprootAddress(address: string): boolean;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,cAAM,KAAM,YAAW,OAAO;IAE5B,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IAQzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAQ7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOtE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IAY9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKzC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,cAAM,KAAM,SAAQ,IAAI;IAEtB,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IASzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAS7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQtE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IAqB9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKzC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,KAAK,CAAC"}
@@ -1,27 +1,61 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
2
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
38
  };
5
39
  exports.__esModule = true;
6
40
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
41
  // @ts-ignore
8
- var address_1 = require("bitcoinjs-lib/src/address");
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
42
  var zcash_bitcore_lib_1 = __importDefault(require("zcash-bitcore-lib"));
12
43
  var bs58check_1 = __importDefault(require("bs58check"));
13
- var coininfo_1 = __importDefault(require("coininfo"));
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
14
45
  var errors_1 = require("@ledgerhq/errors");
15
46
  var types_1 = require("../types");
16
47
  var base_1 = __importDefault(require("./base"));
17
- var ZCash = /** @class */ (function () {
48
+ var ZCash = /** @class */ (function (_super) {
49
+ __extends(ZCash, _super);
18
50
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
51
  function ZCash(_a) {
20
52
  var network = _a.network;
21
- this.network = network;
22
- this.network.dustThreshold = 10000;
23
- this.network.dustPolicy = "FIXED";
24
- this.network.usesTimestampedTransaction = false;
53
+ var _this = _super.call(this, { network: network }) || this;
54
+ _this.network = network;
55
+ _this.network.dustThreshold = 10000;
56
+ _this.network.dustPolicy = "FIXED";
57
+ _this.network.usesTimestampedTransaction = false;
58
+ return _this;
25
59
  }
26
60
  // eslint-disable-next-line
27
61
  ZCash.prototype.baddrToTaddr = function (baddrStr) {
@@ -31,18 +65,13 @@ var ZCash = /** @class */ (function () {
31
65
  taddr.set([0x1c, 0xb8], 0);
32
66
  return bs58check_1["default"].encode(Buffer.from(taddr));
33
67
  };
34
- ZCash.toBitcoinAddr = function (taddr) {
35
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
36
- var baddr = new Uint8Array(21);
37
- baddr.set(bs58check_1["default"].decode(taddr).slice(2), 1);
38
- return bs58check_1["default"].encode(Buffer.from(baddr));
39
- };
40
68
  // eslint-disable-next-line
41
69
  ZCash.prototype.getLegacyAddress = function (xpub, account, index) {
42
- var pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
43
- var child = pubkey.derive(account).derive(index);
44
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
45
- return address.toString();
70
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
71
+ var payload = Buffer.allocUnsafe(22);
72
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
73
+ pk.copy(payload, 2);
74
+ return bs58check_1["default"].encode(payload);
46
75
  };
47
76
  ZCash.prototype.getAddress = function (derivationMode, xpub, account, index) {
48
77
  if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
@@ -60,8 +89,18 @@ var ZCash = /** @class */ (function () {
60
89
  if (!this.validateAddress(address)) {
61
90
  throw new errors_1.InvalidAddress();
62
91
  }
63
- // TODO find a better way to calculate the script from zec address instead of converting to bitcoin address
64
- return (0, address_1.toOutputScript)(ZCash.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
92
+ var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
93
+ if (version === this.network.pubKeyHash) {
94
+ //Pay-to-PubkeyHash
95
+ return bjs.payments.p2pkh({ hash: bs58check_1["default"].decode(address).slice(2) })
96
+ .output;
97
+ }
98
+ if (version === this.network.scriptHash) {
99
+ //Pay-to-Script-Hash
100
+ return bjs.payments.p2sh({ hash: bs58check_1["default"].decode(address).slice(2) })
101
+ .output;
102
+ }
103
+ throw new errors_1.InvalidAddress();
65
104
  };
66
105
  // eslint-disable-next-line class-methods-use-this
67
106
  ZCash.prototype.validateAddress = function (address) {
@@ -72,6 +111,6 @@ var ZCash = /** @class */ (function () {
72
111
  return false;
73
112
  };
74
113
  return ZCash;
75
- }());
114
+ }(base_1["default"]));
76
115
  exports["default"] = ZCash;
77
116
  //# sourceMappingURL=zec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zec.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zec.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import { DerivationModes } from "../types";
3
- import { ICrypto } from "./types";
4
- declare class Zen implements ICrypto {
3
+ import Base from "./base";
4
+ declare class Zen extends Base {
5
5
  network: any;
6
6
  constructor({ network }: {
7
7
  network: any;
8
8
  });
9
9
  baddrToTaddr(baddrStr: string): string;
10
- private static toBitcoinAddr;
11
10
  getLegacyAddress(xpub: string, account: number, index: number): string;
12
11
  getAddress(derivationMode: string, xpub: string, account: number, index: number): string;
13
12
  getDerivationMode(address: string): DerivationModes;
@@ -1 +1 @@
1
- {"version":3,"file":"zen.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":";AASA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,cAAM,GAAI,YAAW,OAAO;IAE1B,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IAyBzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAStE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IAiB9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAazC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"zen.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,cAAM,GAAI,SAAQ,IAAI;IAEpB,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IA0BzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAU7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQtE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IA8B9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAazC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,GAAG,CAAC"}
@@ -1,44 +1,75 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
2
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
38
  };
5
39
  exports.__esModule = true;
6
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
- // @ts-ignore
8
- var address_1 = require("bitcoinjs-lib/src/address");
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
- var zcash_bitcore_lib_1 = __importDefault(require("zcash-bitcore-lib"));
12
40
  var bs58check_1 = __importDefault(require("bs58check"));
13
- var coininfo_1 = __importDefault(require("coininfo"));
14
41
  var errors_1 = require("@ledgerhq/errors");
15
42
  var types_1 = require("../types");
16
43
  var base_1 = __importDefault(require("./base"));
17
- var Zen = /** @class */ (function () {
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
45
+ var Zen = /** @class */ (function (_super) {
46
+ __extends(Zen, _super);
18
47
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
48
  function Zen(_a) {
20
49
  var network = _a.network;
50
+ var _this = _super.call(this, { network: network }) || this;
21
51
  // refer to https://github.com/HorizenOfficial/zen/blob/master/src/chainparams.cpp for the blockchain params
22
- this.network = network;
23
- this.network.versions = {
52
+ _this.network = network;
53
+ _this.network.versions = {
24
54
  bip32: {
25
55
  public: 0x043587cf,
26
56
  private: 0x04358394
27
57
  },
28
58
  bip44: 121,
29
59
  private: 0x80,
30
- public: 0x2096,
31
- scripthash: 0x2089
60
+ public: 0x2089,
61
+ scripthash: 0x2096
32
62
  };
33
- this.network.name = "Zencash";
34
- this.network.unit = "ZEN";
35
- this.network.messagePrefix = "Zencash Signed Message:\n";
36
- this.network.wif = 0x80;
37
- this.network.pubKeyHash = 0x2096;
38
- this.network.scriptHash = 0x2089;
39
- this.network.dustThreshold = 10000;
40
- this.network.dustPolicy = "FIXED";
41
- this.network.usesTimestampedTransaction = false;
63
+ _this.network.name = "Zencash";
64
+ _this.network.unit = "ZEN";
65
+ _this.network.messagePrefix = "Zencash Signed Message:\n";
66
+ _this.network.wif = 0x80;
67
+ _this.network.pubKeyHash = 0x2089;
68
+ _this.network.scriptHash = 0x2096;
69
+ _this.network.dustThreshold = 10000;
70
+ _this.network.dustPolicy = "FIXED";
71
+ _this.network.usesTimestampedTransaction = false;
72
+ return _this;
42
73
  }
43
74
  // eslint-disable-next-line
44
75
  Zen.prototype.baddrToTaddr = function (baddrStr) {
@@ -49,20 +80,13 @@ var Zen = /** @class */ (function () {
49
80
  taddr.set([0x20, 0x89], 0);
50
81
  return bs58check_1["default"].encode(Buffer.from(taddr));
51
82
  };
52
- Zen.toBitcoinAddr = function (taddr) {
53
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
54
- var baddr = new Uint8Array(21);
55
- baddr.set(bs58check_1["default"].decode(taddr).slice(2), 1);
56
- return bs58check_1["default"].encode(Buffer.from(baddr));
57
- };
58
83
  // eslint-disable-next-line
59
84
  Zen.prototype.getLegacyAddress = function (xpub, account, index) {
60
- var pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
61
- var child = pubkey.derive(account).derive(index);
62
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
63
- var baddr = new Uint8Array(21);
64
- baddr.set(bs58check_1["default"].decode(address.toString()).slice(2), 1);
65
- return this.baddrToTaddr(bs58check_1["default"].encode(Buffer.from(baddr)));
85
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
86
+ var payload = Buffer.allocUnsafe(22);
87
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
88
+ pk.copy(payload, 2);
89
+ return bs58check_1["default"].encode(payload);
66
90
  };
67
91
  Zen.prototype.getAddress = function (derivationMode, xpub, account, index) {
68
92
  if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
@@ -80,7 +104,23 @@ var Zen = /** @class */ (function () {
80
104
  if (!this.validateAddress(address)) {
81
105
  throw new errors_1.InvalidAddress();
82
106
  }
83
- var outputScript = (0, address_1.toOutputScript)(Zen.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
107
+ var outputScript;
108
+ var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
109
+ if (version === this.network.pubKeyHash) {
110
+ //Pay-to-PubkeyHash
111
+ outputScript = bjs.payments.p2pkh({
112
+ hash: bs58check_1["default"].decode(address).slice(2)
113
+ }).output;
114
+ }
115
+ else if (version === this.network.scriptHash) {
116
+ //Pay-to-Script-Hash
117
+ outputScript = bjs.payments.p2sh({
118
+ hash: bs58check_1["default"].decode(address).slice(2)
119
+ }).output;
120
+ }
121
+ else {
122
+ throw new errors_1.InvalidAddress();
123
+ }
84
124
  // refer to https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/scripts/BitcoinLikeScript.cpp#L139 and https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/networks.cpp#L39 for bip115 Script and its network parameters
85
125
  var bip115Script = Buffer.from("209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4", "hex");
86
126
  return Buffer.concat([outputScript, bip115Script]);
@@ -101,6 +141,6 @@ var Zen = /** @class */ (function () {
101
141
  return false;
102
142
  };
103
143
  return Zen;
104
- }());
144
+ }(base_1["default"]));
105
145
  exports["default"] = Zen;
106
146
  //# sourceMappingURL=zen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zen.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zen.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":"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"}
@@ -117,7 +117,7 @@ var Xpub = /** @class */ (function (_super) {
117
117
  switch (_a.label) {
118
118
  case 0:
119
119
  address = this.crypto.getAddress(this.derivationMode, this.xpub, account, index);
120
- this.storage.addAddress("".concat(this.derivationMode, "-").concat(this.xpub, "-").concat(account, "-").concat(index), address);
120
+ this.storage.addAddress("".concat(this.crypto.network.name, "-").concat(this.derivationMode, "-").concat(this.xpub, "-").concat(account, "-").concat(index), address);
121
121
  return [4 /*yield*/, this.whenSynced("address", address)];
122
122
  case 1:
123
123
  _a.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"xpub.js","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xpub.js","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/LedgerHQ/ledger-live-common"
10
10
  },
11
- "version": "21.26.2",
11
+ "version": "21.26.3-hotfix.0",
12
12
  "main": "lib/index.js",
13
13
  "types": "lib/index.d.ts",
14
14
  "license": "Apache-2.0",
package/src/.DS_Store ADDED
Binary file
Binary file
@@ -0,0 +1,78 @@
1
+ import { DerivationModes } from "../../../../families/bitcoin/wallet-btc";
2
+ import BitcoinLikeStorage from "../../../../families/bitcoin/wallet-btc/storage";
3
+ import BitcoinLikeExplorer from "../../../../families/bitcoin/wallet-btc/explorer";
4
+ import Xpub from "../../../../families/bitcoin/wallet-btc/xpub";
5
+ import coininfo from "coininfo";
6
+ import BCHCrypto from "../../../../families/bitcoin/wallet-btc/crypto/bitcoincash";
7
+ import BTCCrypto from "../../../../families/bitcoin/wallet-btc/crypto/bitcoin";
8
+ import ZECCrypto from "../../../../families/bitcoin/wallet-btc/crypto/zec";
9
+ import ZENCrypto from "../../../../families/bitcoin/wallet-btc/crypto/zen";
10
+
11
+ describe("Unit tests for getAddress", () => {
12
+ it("Test getAddress for bch and btc", async () => {
13
+ const bchCrypto = new BCHCrypto({
14
+ network: coininfo.bitcoincash.main.toBitcoinJS(),
15
+ });
16
+ const btcCrypto = new BTCCrypto({
17
+ network: coininfo.bitcoin.main.toBitcoinJS(),
18
+ });
19
+ const bchxpub = new Xpub({
20
+ storage: new BitcoinLikeStorage(),
21
+ explorer: new BitcoinLikeExplorer({
22
+ explorerURI: "https://explorers.api.vault.ledger.com/blockchain/v3/bch",
23
+ explorerVersion: "v3",
24
+ }),
25
+ crypto: bchCrypto,
26
+ xpub: "xpub6BtWBf3Pu6hYwJBKvEwG7JtrTxxDrSGy39HaTgZz6GTSaFWFdoCtuEXSQtoKGaYdz1emg8xTXKYwjhu3xXRPzFnYS1z4yjKj7hLDQyNeDZr",
27
+ derivationMode: DerivationModes.LEGACY,
28
+ });
29
+ await bchxpub.syncAddress(0, 0);
30
+ let addresses = await bchxpub.getXpubAddresses();
31
+ expect(addresses[0].address).toEqual(
32
+ "bitcoincash:qrgwhfg7tn4xs9pg2vu5rhkud490j9yfnqd63uk64m"
33
+ );
34
+
35
+ const btcxpub = new Xpub({
36
+ storage: new BitcoinLikeStorage(),
37
+ explorer: new BitcoinLikeExplorer({
38
+ explorerURI: "https://explorers.api.vault.ledger.com/blockchain/v3/btc",
39
+ explorerVersion: "v3",
40
+ }),
41
+ crypto: btcCrypto,
42
+ xpub: "xpub6BtWBf3Pu6hYwJBKvEwG7JtrTxxDrSGy39HaTgZz6GTSaFWFdoCtuEXSQtoKGaYdz1emg8xTXKYwjhu3xXRPzFnYS1z4yjKj7hLDQyNeDZr",
43
+ derivationMode: DerivationModes.LEGACY,
44
+ });
45
+ await btcxpub.syncAddress(0, 0);
46
+ addresses = await btcxpub.getXpubAddresses();
47
+ expect(addresses[0].address).toEqual("1L3fqoWstvLqEA6TgXkuLoXX8xG1xhirG3");
48
+ }, 60000);
49
+
50
+ it("Test getoutputScriptFromAddress for btc, zcash and zen", async () => {
51
+ const btcCrypto = new BTCCrypto({
52
+ network: coininfo.bitcoin.main.toBitcoinJS(),
53
+ });
54
+ const zecCrypto = new ZECCrypto({
55
+ network: coininfo.zcash.main.toBitcoinJS(),
56
+ });
57
+ const zenCrypto = new ZENCrypto({
58
+ network: coininfo.zcash.main.toBitcoinJS(),
59
+ });
60
+ expect(
61
+ btcCrypto
62
+ .toOutputScript("1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX")
63
+ .toString("hex")
64
+ ).toEqual("76a91499bc78ba577a95a11f1a344d4d2ae55f2f857b9888ac");
65
+ expect(
66
+ zecCrypto
67
+ .toOutputScript("t1T5XJvzQhh2gTsi3c5Vn9x5SMhpSWLSnVy")
68
+ .toString("hex")
69
+ ).toEqual("76a91464fa33fb6f8d72455af2a4e73ae30412af2c97ba88ac");
70
+ expect(
71
+ zenCrypto
72
+ .toOutputScript("znjbHth4PxBJM8FmHgvXYHkuq99nKFkWvMg")
73
+ .toString("hex")
74
+ ).toEqual(
75
+ "76a914cb009bf12fc17d28e61527951101fdabfeaa187288ac209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4"
76
+ );
77
+ }, 30000);
78
+ });
@@ -62,6 +62,7 @@ describe("xpub integration sync", () => {
62
62
  coin: "dgb",
63
63
  explorerVersion: "v3",
64
64
  },
65
+ /*
65
66
  {
66
67
  xpub: "xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz", // 3000ms
67
68
  derivationMode: DerivationModes.LEGACY,
@@ -71,6 +72,7 @@ describe("xpub integration sync", () => {
71
72
  coin: "btc",
72
73
  explorerVersion: "v3",
73
74
  },
75
+ */
74
76
  {
75
77
  xpub: "xpub6D4waFVPfPCpRvPkQd9A6n65z3hTp6TvkjnBHG5j2MCKytMuadKgfTUHqwRH77GQqCKTTsUXSZzGYxMGpWpJBdYAYVH75x7yMnwJvra1BUJ", // 5400ms
76
78
  derivationMode: DerivationModes.LEGACY,
@@ -1,4 +1,4 @@
1
- import ecc from "tiny-secp256k1";
1
+ import { publicKeyTweakAdd } from "secp256k1";
2
2
  import createHmac from "create-hmac";
3
3
 
4
4
  // the BIP32 class is inspired from https://github.com/bitcoinjs/bip32/blob/master/src/bip32.js
@@ -28,7 +28,7 @@ class BIP32 {
28
28
  const I = createHmac("sha512", this.chainCode).update(data).digest();
29
29
  const IL = I.slice(0, 32);
30
30
  const IR = I.slice(32);
31
- const Ki = ecc.pointAddScalar(this.publicKey, IL, true);
31
+ const Ki = Buffer.from(publicKeyTweakAdd(this.publicKey, IL));
32
32
  return new BIP32(Ki, IR, this.network, this.depth + 1, index);
33
33
  }
34
34
  }
@@ -1,22 +1,19 @@
1
1
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
2
  // @ts-ignore
3
- import { toOutputScript } from "bitcoinjs-lib/src/address";
4
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
- // @ts-ignore
6
3
  import zec from "zcash-bitcore-lib";
7
4
  import bs58check from "bs58check";
8
- import coininfo from "coininfo";
5
+ import * as bjs from "bitcoinjs-lib";
9
6
  import { InvalidAddress } from "@ledgerhq/errors";
10
7
  import { DerivationModes } from "../types";
11
- import { ICrypto } from "./types";
12
8
  import Base from "./base";
13
9
 
14
- class ZCash implements ICrypto {
10
+ class ZCash extends Base {
15
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
12
  network: any;
17
13
 
18
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
15
  constructor({ network }: { network: any }) {
16
+ super({ network });
20
17
  this.network = network;
21
18
  this.network.dustThreshold = 10000;
22
19
  this.network.dustPolicy = "FIXED";
@@ -32,19 +29,13 @@ class ZCash implements ICrypto {
32
29
  return bs58check.encode(Buffer.from(taddr));
33
30
  }
34
31
 
35
- private static toBitcoinAddr(taddr: string) {
36
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
37
- const baddr = new Uint8Array(21);
38
- baddr.set(bs58check.decode(taddr).slice(2), 1);
39
- return bs58check.encode(Buffer.from(baddr));
40
- }
41
-
42
32
  // eslint-disable-next-line
43
33
  getLegacyAddress(xpub: string, account: number, index: number): string {
44
- const pubkey = new zec.HDPublicKey(xpub);
45
- const child = pubkey.derive(account).derive(index);
46
- const address = new zec.Address(child.publicKey, zec.Networks.livenet);
47
- return address.toString();
34
+ const pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
35
+ const payload = Buffer.allocUnsafe(22);
36
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
37
+ pk.copy(payload, 2);
38
+ return bs58check.encode(payload);
48
39
  }
49
40
 
50
41
  getAddress(
@@ -78,11 +69,20 @@ class ZCash implements ICrypto {
78
69
  if (!this.validateAddress(address)) {
79
70
  throw new InvalidAddress();
80
71
  }
81
- // TODO find a better way to calculate the script from zec address instead of converting to bitcoin address
82
- return toOutputScript(
83
- ZCash.toBitcoinAddr(address),
84
- coininfo.bitcoin.main.toBitcoinJS()
72
+ const version = Number(
73
+ "0x" + bs58check.decode(address).slice(0, 2).toString("hex")
85
74
  );
75
+ if (version === this.network.pubKeyHash) {
76
+ //Pay-to-PubkeyHash
77
+ return bjs.payments.p2pkh({ hash: bs58check.decode(address).slice(2) })
78
+ .output as Buffer;
79
+ }
80
+ if (version === this.network.scriptHash) {
81
+ //Pay-to-Script-Hash
82
+ return bjs.payments.p2sh({ hash: bs58check.decode(address).slice(2) })
83
+ .output as Buffer;
84
+ }
85
+ throw new InvalidAddress();
86
86
  }
87
87
 
88
88
  // eslint-disable-next-line class-methods-use-this
@@ -1,22 +1,16 @@
1
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
- // @ts-ignore
3
- import { toOutputScript } from "bitcoinjs-lib/src/address";
4
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
- // @ts-ignore
6
- import zec from "zcash-bitcore-lib";
7
1
  import bs58check from "bs58check";
8
- import coininfo from "coininfo";
9
2
  import { InvalidAddress } from "@ledgerhq/errors";
10
3
  import { DerivationModes } from "../types";
11
- import { ICrypto } from "./types";
12
4
  import Base from "./base";
5
+ import * as bjs from "bitcoinjs-lib";
13
6
 
14
- class Zen implements ICrypto {
7
+ class Zen extends Base {
15
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
9
  network: any;
17
10
 
18
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
12
  constructor({ network }: { network: any }) {
13
+ super({ network });
20
14
  // refer to https://github.com/HorizenOfficial/zen/blob/master/src/chainparams.cpp for the blockchain params
21
15
  this.network = network;
22
16
  this.network.versions = {
@@ -26,15 +20,15 @@ class Zen implements ICrypto {
26
20
  },
27
21
  bip44: 121,
28
22
  private: 0x80,
29
- public: 0x2096,
30
- scripthash: 0x2089,
23
+ public: 0x2089,
24
+ scripthash: 0x2096,
31
25
  };
32
26
  this.network.name = "Zencash";
33
27
  this.network.unit = "ZEN";
34
28
  this.network.messagePrefix = "Zencash Signed Message:\n";
35
29
  this.network.wif = 0x80;
36
- this.network.pubKeyHash = 0x2096;
37
- this.network.scriptHash = 0x2089;
30
+ this.network.pubKeyHash = 0x2089;
31
+ this.network.scriptHash = 0x2096;
38
32
  this.network.dustThreshold = 10000;
39
33
  this.network.dustPolicy = "FIXED";
40
34
  this.network.usesTimestampedTransaction = false;
@@ -50,21 +44,13 @@ class Zen implements ICrypto {
50
44
  return bs58check.encode(Buffer.from(taddr));
51
45
  }
52
46
 
53
- private static toBitcoinAddr(taddr: string) {
54
- // refer to https://runkitcdn.com/gojomo/baddr2taddr/1.0.2
55
- const baddr = new Uint8Array(21);
56
- baddr.set(bs58check.decode(taddr).slice(2), 1);
57
- return bs58check.encode(Buffer.from(baddr));
58
- }
59
-
60
47
  // eslint-disable-next-line
61
48
  getLegacyAddress(xpub: string, account: number, index: number): string {
62
- const pubkey = new zec.HDPublicKey(xpub);
63
- const child = pubkey.derive(account).derive(index);
64
- const address = new zec.Address(child.publicKey, zec.Networks.livenet);
65
- const baddr = new Uint8Array(21);
66
- baddr.set(bs58check.decode(address.toString()).slice(2), 1);
67
- return this.baddrToTaddr(bs58check.encode(Buffer.from(baddr)));
49
+ const pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
50
+ const payload = Buffer.allocUnsafe(22);
51
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
52
+ pk.copy(payload, 2);
53
+ return bs58check.encode(payload);
68
54
  }
69
55
 
70
56
  getAddress(
@@ -98,10 +84,23 @@ class Zen implements ICrypto {
98
84
  if (!this.validateAddress(address)) {
99
85
  throw new InvalidAddress();
100
86
  }
101
- const outputScript = toOutputScript(
102
- Zen.toBitcoinAddr(address),
103
- coininfo.bitcoin.main.toBitcoinJS()
87
+ let outputScript: Buffer;
88
+ const version = Number(
89
+ "0x" + bs58check.decode(address).slice(0, 2).toString("hex")
104
90
  );
91
+ if (version === this.network.pubKeyHash) {
92
+ //Pay-to-PubkeyHash
93
+ outputScript = bjs.payments.p2pkh({
94
+ hash: bs58check.decode(address).slice(2),
95
+ }).output as Buffer;
96
+ } else if (version === this.network.scriptHash) {
97
+ //Pay-to-Script-Hash
98
+ outputScript = bjs.payments.p2sh({
99
+ hash: bs58check.decode(address).slice(2),
100
+ }).output as Buffer;
101
+ } else {
102
+ throw new InvalidAddress();
103
+ }
105
104
  // refer to https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/scripts/BitcoinLikeScript.cpp#L139 and https://github.com/LedgerHQ/lib-ledger-core/blob/fc9d762b83fc2b269d072b662065747a64ab2816/core/src/wallet/bitcoin/networks.cpp#L39 for bip115 Script and its network parameters
106
105
  const bip115Script = Buffer.from(
107
106
  "209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4",
@@ -67,7 +67,7 @@ class Xpub extends EventEmitter {
67
67
  );
68
68
 
69
69
  this.storage.addAddress(
70
- `${this.derivationMode}-${this.xpub}-${account}-${index}`,
70
+ `${this.crypto.network.name}-${this.derivationMode}-${this.xpub}-${account}-${index}`,
71
71
  address
72
72
  );
73
73
  await this.whenSynced("address", address);