@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.
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts +2 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts.map +1 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js +126 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js.map +1 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +9 -7
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +2 -2
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +4 -4
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js +61 -22
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +2 -3
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js +75 -35
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.js +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/__tests__/.DS_Store +0 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts +78 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -0
- package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +2 -2
- package/src/families/bitcoin/wallet-btc/crypto/zec.ts +21 -21
- package/src/families/bitcoin/wallet-btc/crypto/zen.ts +28 -29
- package/src/families/bitcoin/wallet-btc/xpub.ts +1 -1
|
@@ -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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,6DAA6D;AAC7D,aAAa;AACb,sDAAgC;AAChC,yDAAiD;AACjD,uEAAgF;AAChF,4FAAiF;AACjF,8FAAmF;AACnF,sFAAgE;AAChE,uFAA2E;AAE3E,IAAM,YAAY,GAAG,UAAC,QAAa;IACjC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAY;QAC5B,OAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAC,IAAS;YAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;gBAC9B,6CAA6C;gBAC7C,4DAA4D;aAC7D;QACH,CAAC,CAAC;IALF,CAKE,CACH,CAAC;AACJ,CAAC,CAAC;AACF,IAAM,WAAW,GAAG,UAAC,QAAa;IAChC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,kBAAkB,EAAE,EAA5B,CAA4B,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,kCAAA,EAAE,CAAC,CAAC;AAC/B,QAAQ,CAAC,uBAAuB,EAAE;IAChC,IAAM,cAAc,GAAG;QACrB;YACE,IAAI,EAAE,iHAAiH;YACvH,cAAc,EAAE,uBAAe,CAAC,MAAM;YACtC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,qBAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;YACpD,IAAI,EAAE,KAAK;YACX,eAAe,EAAE,IAAI;SACtB;QACD;YACE,IAAI,EAAE,iHAAiH;YACvH,cAAc,EAAE,uBAAe,CAAC,MAAM;YACtC,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,qBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;YAC5C,IAAI,EAAE,aAAa;YACnB,eAAe,EAAE,IAAI;SACtB;QACD;YACE,IAAI,EAAE,iHAAiH;YACvH,cAAc,EAAE,uBAAe,CAAC,MAAM;YACtC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,qBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,IAAI,EAAE,KAAK;YACX,eAAe,EAAE,IAAI;SACtB;QACD;YACE,IAAI,EAAE,iHAAiH;YACvH,cAAc,EAAE,uBAAe,CAAC,aAAa;YAC7C,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,qBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,IAAI,EAAE,KAAK;YACX,eAAe,EAAE,IAAI;SACtB;QACD;
|
|
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
|
|
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 =
|
|
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,
|
|
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
|
|
3
|
-
declare class ZCash
|
|
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):
|
|
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":"
|
|
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
|
|
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
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
64
|
-
|
|
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":"
|
|
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
|
|
4
|
-
declare class Zen
|
|
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":";
|
|
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
|
|
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
|
-
|
|
23
|
-
|
|
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:
|
|
31
|
-
scripthash:
|
|
60
|
+
public: 0x2089,
|
|
61
|
+
scripthash: 0x2096
|
|
32
62
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
|
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":"
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4C;AAC5C,8DAAqC;AAErC,sEAAgD;AAIhD,6CAAiC;AAGjC,qEAAqE;AACrE;IAAmB,wBAAY;IA0B7B,cAAY,EAYX;YAXC,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,cAAc,oBAAA;QALhB,YAaE,iBAAO,SAQR;QAhCD,kHAAkH;QAClH,uEAAuE;QACvE,sBAAgB,GAAW,MAAM,CAAC,gBAAgB,CAAC;QAEnD,SAAG,GAAG,EAAE,CAAC;QAET,aAAO,GAA+B,EAAE,CAAC;QAEzC,8FAA8F;QAC9F,sBAAgB,GAAG,IAAI,CAAC;QAgBtB,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;;IAC7B,CAAC;IAEK,0BAAW,GAAjB,UAAkB,OAAe,EAAE,KAAa;;;;;;wBACxC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,UAAG,IAAI,CAAC,cAAc,cAAI,IAAI,CAAC,IAAI,cAAI,OAAO,cAAI,KAAK,CAAE,EACzD,OAAO,CACR,CAAC;wBACF,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;wBAEpC,IAAI,GAAG;4BACX,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,OAAO,SAAA;yBACR,CAAC;wBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAInB,KAAK,GAAG,CAAC,CAAC;;;;wBAEZ,2CAA2C;wBAC3C,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAD5C,2CAA2C;wBAC3C,SAA4C,CAAC;wBAIvC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC3C,SAAS,EAAE,KAAK;4BAChB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;yBACnD;wBACO,qBAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAAtE,KAAK,GAAG,SAA8D,CAAC;;;;wBAEvE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,uBAAM,IAAI,KAAE,KAAK,OAAA,IAAG,CAAC;wBAE9B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,EAAE;4BAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;yBACtE;wBACD,sBAAO,CAAC,CAAC,MAAM,EAAC;;;;KACjB;IAEK,kCAAmB,GAAzB,UAA0B,OAAe,EAAE,KAAa;;;;;;4BAC7B,qBAAM,OAAO,CAAC,GAAG,CACxC,IAAA,cAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,EAAtC,CAAsC,CAAC,CACxE,EAAA;;wBAFK,gBAAgB,GAAG,SAExB;wBACD,sBAAO,IAAA,aAAI,EAAC,gBAAgB,EAAE,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,EAAC;;;;KACrD;IAEK,0BAAW,GAAjB,UAAkB,OAAe;;;;;4BAC/B,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAErD,IAAI,CAAC,WAAW,CAAC;4BACf,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBAEC,KAAK,GAAG,CAAC,CAAC;;;;;4BAIL,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;6BAA9C,SAA8C;wBACnD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;;;;;wBAGpB,IAAI,CAAC,gBAAgB,CAAC;4BACpB,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBACH,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,sBAAO,KAAK,EAAC;;;;KACd;IAED,sCAAsC;IAChC,mBAAI,GAAV;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;wBACvB,OAAO,GAAG,CAAC,CAAC;;;;;;wBAGP,KAAA,OAAO,GAAG,CAAC,CAAA;iCAAX,wBAAW;wBAAK,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAA;;wBAAhC,KAAA,CAAC,SAA+B,CAAC,CAAA;;;;wBACrD,2FAA2F;wBAC3F,OAAO,IAAI,CAAC,CAAC;;;;;wBAGf,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvC,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACxC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,CAAC,EACD,IAAI,CAAC,iBAAiB,CACvB,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,6BAAc,GAApB;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEX,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAAzC,SAAS,GAAG,SAA6B;wBAE/C,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAe;;;;;4BACrC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAEnC,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAAnD,SAAS,GAAG,SAAuC;wBAEzD,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAgB;;;;;4BACtC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAjD,SAAiD,CAAC;wBAE5C,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;wBAElE,sBAAO,YAAY,CAAC,MAAM,CACxB,UAAC,KAAK,EAAE,EAAS;oCAAP,KAAK,WAAA;gCAAO,OAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;4BAAjB,CAAiB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAEK,+BAAgB,GAAtB;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAC;;;;KAC7C;IAEK,kCAAmB,GAAzB,UAA0B,OAAe;;;;4BACvC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBACrD,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,EAAC;;;;KACtD;IAEK,4BAAa,GAAnB,UAAoB,OAAe,EAAE,GAAW;;;;;4BAC9C,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAE5B,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAA1D,gBAAgB,GAAG,SAAuC;wBAC1D,SAAS,GAAG,CAAC,IAAA,cAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;wBAE5E,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;4BACpB,KAAK,GAAG,CAAC,CAAC;yBACX;6BAAM;4BACL,KAAK,GAAG,SAAS,GAAG,GAAG,CAAC;yBACzB;wBACK,OAAO,GAAY;4BACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAC7B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN;4BACD,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,sBAAO,GAAb,UAAc,MAOb;;;;;;4BACC,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEvB,OAAO,GAAiB,EAAE,CAAC;wBAM3B,sBAAsB,GAAG;4BAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;4BACtD,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,OAAO,EAAE,MAAM,CAAC,WAAW;4BAC3B,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBACF,OAAO,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;4BAC7D,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,sBAAsB,CAAC,MAAM;gCACrC,KAAK,EAAE,IAAI,yBAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;gCAC3C,OAAO,EAAE,MAAM,CAAC,WAAW;gCAC3B,QAAQ,EAAE,KAAK;6BAChB,CAAC,CAAC;4BACH,sBAAsB,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAC/D,IAAI,CAAC,gBAAgB,CACtB,CAAC;yBACH;wBAED,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;yBACtC;wBAQG,qBAAM,MAAM,CAAC,mBAAmB,CAAC,uBAAuB,CAC1D,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,UAAU,CAClB,EAAA;;wBATK,KAKF,SAIH,EARa,KAAK,gBAAA,EACH,mBAAmB,kBAAA,EACjC,GAAG,SAAA,EACH,gBAAgB,sBAAA;wBAOH,qBAAM,OAAO,CAAC,GAAG,CAC9B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;4BAA/C,CAA+C,CAChD,CACF,EAAA;;wBAJK,MAAM,GAAG,SAId;wBACW,qBAAM,OAAO,CAAC,GAAG,CAC3B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;4BAAhE,CAAgE,CACjE,CACF,EAAA;;wBAJK,GAAG,GAAG,SAIX;wBAEK,MAAM,GAAgB,mBAAmB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC9D,OAAO;gCACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gCACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC1B,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACG,qBAAqB,GAAuB,mBAAmB,CAAC,GAAG;wBACvE,6DAA6D;wBAC7D,aAAa;wBACb,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAtC,CAAsC,CACxD,CAAC;wBAEI,MAAM,GAAG,KAAK,CAAC,aAAa,CAChC,mBAAmB,CAAC,MAAM,EAC1B,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,EAC7B,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,CACpB,CAAC;wBACI,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBAChE,6EAA6E;wBAC7E,IACE,gBAAgB;4BAChB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,EAClD;4BACA,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gCAChE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gCAC5C,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;gCACrC,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;yBACJ;wBAEK,YAAY,GAAc,OAAO,CAAC,MAAM,CAC5C,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAC7B,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;wBAEF,sBAAO;gCACL,MAAM,QAAA;gCACN,qBAAqB,uBAAA;gCACrB,OAAO,SAAA;gCACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;gCACzC,aAAa,EAAE,MAAM,CAAC,aAAa;6BACpC,EAAC;;;;KACH;IAEK,0BAAW,GAAjB,UAAkB,QAAgB;;;gBAChC,sBAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC;;;KAC1C;IAED,WAAW;IACL,kCAAmB,GAAzB,UAA0B,SAAoB;;;;;;4BAC3B,qBAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC,CAC5D,EAAA;;wBAFK,QAAQ,GAAG,SAEhB;wBAED,sBAAO,QAAQ,CAAC,MAAM,CACpB,UAAC,KAAK,EAAE,OAAO,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnB,CAAmB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAED,qDAAqD;IACrD,8DAA8D;IAC9D,0BAAW,GAAX,UAAY,IAAS;QACnB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,8DAA8D;IAC9D,yBAAU,GAAV,UAAW,IAAS;QAClB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,8DAA8D;IAC9D,+BAAgB,GAAhB,UAAiB,IAAS;QACxB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,yBAAU,GAAV,UAAW,IAAY,EAAE,GAAY;QAArC,iBAmBC;QAlBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,UAAG,IAAI,cAAI,GAAG,CAAE,CAAC,EAAE;gBACnC,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,8DAA8D;gBAC9D,IAAM,SAAO,GAAG,UAAC,GAAQ;oBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;wBACxC,6DAA6D;wBAC7D,aAAa;wBACb,KAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;wBAC5B,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC;gBACF,6DAA6D;gBAC7D,aAAa;gBACb,KAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,yCAA0B,GAAhC,UACE,OAAe,EACf,OAAe,EACf,KAAa;;;;;;wBAET,UAAU,GAAS,EAAE,CAAC;wBACtB,GAAG,GAAS,EAAE,CAAC;wBACf,QAAQ,GAAG,CAAC,CAAC;;;wBAET,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEG,qBAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CACrD,IAAI,CAAC,gBAAgB,EACrB,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,EAC3B,MAAM,CACP,EAAA;;wBAJD,GAAG,GAAG,SAIL,CAAC;wBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC3B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,CAAC,KAAK,EAAT,CAAS,CAAC,CAAC;yBAC5C;wBACD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAR,CAAQ,CAAC,CAAC,CAAC,CAAC,6BAA6B;;;4BACxF,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB;;;wBAChE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAC/C,sBAAO,QAAQ,EAAC;;;;KACjB;IAEK,gCAAiB,GAAvB,UAAwB,OAAe,EAAE,KAAa;;;;;;wBAC9C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,EAAE;4BACX,sBAAO;yBACR;wBAEa,qBAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBAEvE,8BAA8B;wBAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;4BAC7C,sBAAO;yBACR;wBAED,8DAA8D;wBAC9D,mBAAmB;wBACnB,yDAAyD;wBACzD,gEAAgE;wBAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACrB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;;;;;KACJ;IACH,WAAC;AAAD,CAAC,AA9cD,CAAmB,yBAAY,GA8c9B;AAED,qBAAe,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"xpub.js","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4C;AAC5C,8DAAqC;AAErC,sEAAgD;AAIhD,6CAAiC;AAGjC,qEAAqE;AACrE;IAAmB,wBAAY;IA0B7B,cAAY,EAYX;YAXC,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,cAAc,oBAAA;QALhB,YAaE,iBAAO,SAQR;QAhCD,kHAAkH;QAClH,uEAAuE;QACvE,sBAAgB,GAAW,MAAM,CAAC,gBAAgB,CAAC;QAEnD,SAAG,GAAG,EAAE,CAAC;QAET,aAAO,GAA+B,EAAE,CAAC;QAEzC,8FAA8F;QAC9F,sBAAgB,GAAG,IAAI,CAAC;QAgBtB,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;;IAC7B,CAAC;IAEK,0BAAW,GAAjB,UAAkB,OAAe,EAAE,KAAa;;;;;;wBACxC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,UAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,cAAI,IAAI,CAAC,cAAc,cAAI,IAAI,CAAC,IAAI,cAAI,OAAO,cAAI,KAAK,CAAE,EACrF,OAAO,CACR,CAAC;wBACF,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;wBAEpC,IAAI,GAAG;4BACX,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,OAAO,SAAA;yBACR,CAAC;wBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAInB,KAAK,GAAG,CAAC,CAAC;;;;wBAEZ,2CAA2C;wBAC3C,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAD5C,2CAA2C;wBAC3C,SAA4C,CAAC;wBAIvC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC3C,SAAS,EAAE,KAAK;4BAChB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;yBACnD;wBACO,qBAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAAtE,KAAK,GAAG,SAA8D,CAAC;;;;wBAEvE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,uBAAM,IAAI,KAAE,KAAK,OAAA,IAAG,CAAC;wBAE9B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,EAAE;4BAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;yBACtE;wBACD,sBAAO,CAAC,CAAC,MAAM,EAAC;;;;KACjB;IAEK,kCAAmB,GAAzB,UAA0B,OAAe,EAAE,KAAa;;;;;;4BAC7B,qBAAM,OAAO,CAAC,GAAG,CACxC,IAAA,cAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,EAAtC,CAAsC,CAAC,CACxE,EAAA;;wBAFK,gBAAgB,GAAG,SAExB;wBACD,sBAAO,IAAA,aAAI,EAAC,gBAAgB,EAAE,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,EAAC;;;;KACrD;IAEK,0BAAW,GAAjB,UAAkB,OAAe;;;;;4BAC/B,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAErD,IAAI,CAAC,WAAW,CAAC;4BACf,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBAEC,KAAK,GAAG,CAAC,CAAC;;;;;4BAIL,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;6BAA9C,SAA8C;wBACnD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;;;;;wBAGpB,IAAI,CAAC,gBAAgB,CAAC;4BACpB,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBACH,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,sBAAO,KAAK,EAAC;;;;KACd;IAED,sCAAsC;IAChC,mBAAI,GAAV;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;wBACvB,OAAO,GAAG,CAAC,CAAC;;;;;;wBAGP,KAAA,OAAO,GAAG,CAAC,CAAA;iCAAX,wBAAW;wBAAK,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAA;;wBAAhC,KAAA,CAAC,SAA+B,CAAC,CAAA;;;;wBACrD,2FAA2F;wBAC3F,OAAO,IAAI,CAAC,CAAC;;;;;wBAGf,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvC,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACxC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,CAAC,EACD,IAAI,CAAC,iBAAiB,CACvB,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,6BAAc,GAApB;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEX,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAAzC,SAAS,GAAG,SAA6B;wBAE/C,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAe;;;;;4BACrC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAEnC,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAAnD,SAAS,GAAG,SAAuC;wBAEzD,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAgB;;;;;4BACtC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAjD,SAAiD,CAAC;wBAE5C,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;wBAElE,sBAAO,YAAY,CAAC,MAAM,CACxB,UAAC,KAAK,EAAE,EAAS;oCAAP,KAAK,WAAA;gCAAO,OAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;4BAAjB,CAAiB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAEK,+BAAgB,GAAtB;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAC;;;;KAC7C;IAEK,kCAAmB,GAAzB,UAA0B,OAAe;;;;4BACvC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBACrD,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,EAAC;;;;KACtD;IAEK,4BAAa,GAAnB,UAAoB,OAAe,EAAE,GAAW;;;;;4BAC9C,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAE5B,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAA1D,gBAAgB,GAAG,SAAuC;wBAC1D,SAAS,GAAG,CAAC,IAAA,cAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;wBAE5E,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;4BACpB,KAAK,GAAG,CAAC,CAAC;yBACX;6BAAM;4BACL,KAAK,GAAG,SAAS,GAAG,GAAG,CAAC;yBACzB;wBACK,OAAO,GAAY;4BACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAC7B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN;4BACD,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,sBAAO,GAAb,UAAc,MAOb;;;;;;4BACC,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEvB,OAAO,GAAiB,EAAE,CAAC;wBAM3B,sBAAsB,GAAG;4BAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;4BACtD,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,OAAO,EAAE,MAAM,CAAC,WAAW;4BAC3B,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBACF,OAAO,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;4BAC7D,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,sBAAsB,CAAC,MAAM;gCACrC,KAAK,EAAE,IAAI,yBAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;gCAC3C,OAAO,EAAE,MAAM,CAAC,WAAW;gCAC3B,QAAQ,EAAE,KAAK;6BAChB,CAAC,CAAC;4BACH,sBAAsB,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAC/D,IAAI,CAAC,gBAAgB,CACtB,CAAC;yBACH;wBAED,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;yBACtC;wBAQG,qBAAM,MAAM,CAAC,mBAAmB,CAAC,uBAAuB,CAC1D,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,UAAU,CAClB,EAAA;;wBATK,KAKF,SAIH,EARa,KAAK,gBAAA,EACH,mBAAmB,kBAAA,EACjC,GAAG,SAAA,EACH,gBAAgB,sBAAA;wBAOH,qBAAM,OAAO,CAAC,GAAG,CAC9B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;4BAA/C,CAA+C,CAChD,CACF,EAAA;;wBAJK,MAAM,GAAG,SAId;wBACW,qBAAM,OAAO,CAAC,GAAG,CAC3B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;4BAAhE,CAAgE,CACjE,CACF,EAAA;;wBAJK,GAAG,GAAG,SAIX;wBAEK,MAAM,GAAgB,mBAAmB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC9D,OAAO;gCACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gCACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC1B,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACG,qBAAqB,GAAuB,mBAAmB,CAAC,GAAG;wBACvE,6DAA6D;wBAC7D,aAAa;wBACb,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAtC,CAAsC,CACxD,CAAC;wBAEI,MAAM,GAAG,KAAK,CAAC,aAAa,CAChC,mBAAmB,CAAC,MAAM,EAC1B,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,EAC7B,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,CACpB,CAAC;wBACI,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBAChE,6EAA6E;wBAC7E,IACE,gBAAgB;4BAChB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,EAClD;4BACA,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gCAChE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gCAC5C,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;gCACrC,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;yBACJ;wBAEK,YAAY,GAAc,OAAO,CAAC,MAAM,CAC5C,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAC7B,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;wBAEF,sBAAO;gCACL,MAAM,QAAA;gCACN,qBAAqB,uBAAA;gCACrB,OAAO,SAAA;gCACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;gCACzC,aAAa,EAAE,MAAM,CAAC,aAAa;6BACpC,EAAC;;;;KACH;IAEK,0BAAW,GAAjB,UAAkB,QAAgB;;;gBAChC,sBAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC;;;KAC1C;IAED,WAAW;IACL,kCAAmB,GAAzB,UAA0B,SAAoB;;;;;;4BAC3B,qBAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC,CAC5D,EAAA;;wBAFK,QAAQ,GAAG,SAEhB;wBAED,sBAAO,QAAQ,CAAC,MAAM,CACpB,UAAC,KAAK,EAAE,OAAO,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnB,CAAmB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAED,qDAAqD;IACrD,8DAA8D;IAC9D,0BAAW,GAAX,UAAY,IAAS;QACnB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,8DAA8D;IAC9D,yBAAU,GAAV,UAAW,IAAS;QAClB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,8DAA8D;IAC9D,+BAAgB,GAAhB,UAAiB,IAAS;QACxB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,yBAAU,GAAV,UAAW,IAAY,EAAE,GAAY;QAArC,iBAmBC;QAlBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,UAAG,IAAI,cAAI,GAAG,CAAE,CAAC,EAAE;gBACnC,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,8DAA8D;gBAC9D,IAAM,SAAO,GAAG,UAAC,GAAQ;oBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;wBACxC,6DAA6D;wBAC7D,aAAa;wBACb,KAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;wBAC5B,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC;gBACF,6DAA6D;gBAC7D,aAAa;gBACb,KAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,yCAA0B,GAAhC,UACE,OAAe,EACf,OAAe,EACf,KAAa;;;;;;wBAET,UAAU,GAAS,EAAE,CAAC;wBACtB,GAAG,GAAS,EAAE,CAAC;wBACf,QAAQ,GAAG,CAAC,CAAC;;;wBAET,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEG,qBAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CACrD,IAAI,CAAC,gBAAgB,EACrB,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,EAC3B,MAAM,CACP,EAAA;;wBAJD,GAAG,GAAG,SAIL,CAAC;wBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC3B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,CAAC,KAAK,EAAT,CAAS,CAAC,CAAC;yBAC5C;wBACD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAR,CAAQ,CAAC,CAAC,CAAC,CAAC,6BAA6B;;;4BACxF,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB;;;wBAChE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAC/C,sBAAO,QAAQ,EAAC;;;;KACjB;IAEK,gCAAiB,GAAvB,UAAwB,OAAe,EAAE,KAAa;;;;;;wBAC9C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,EAAE;4BACX,sBAAO;yBACR;wBAEa,qBAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBAEvE,8BAA8B;wBAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;4BAC7C,sBAAO;yBACR;wBAED,8DAA8D;wBAC9D,mBAAmB;wBACnB,yDAAyD;wBACzD,gEAAgE;wBAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACrB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;;;;;KACJ;IACH,WAAC;AAAD,CAAC,AA9cD,CAAmB,yBAAY,GA8c9B;AAED,qBAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
82
|
-
|
|
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
|
|
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:
|
|
30
|
-
scripthash:
|
|
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 =
|
|
37
|
-
this.network.scriptHash =
|
|
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
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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);
|