@ledgerhq/live-common 21.32.1 → 21.32.5
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/wallet.integration.test.js +1 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +1 -1
- 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/apps/hw.d.ts.map +1 -1
- package/lib/apps/hw.js +4 -3
- package/lib/apps/hw.js.map +1 -1
- package/lib/apps/logic.d.ts.map +1 -1
- package/lib/apps/logic.js +7 -5
- package/lib/apps/logic.js.map +1 -1
- package/lib/bot/engine.d.ts.map +1 -1
- package/lib/bot/engine.js +3 -0
- package/lib/bot/engine.js.map +1 -1
- package/lib/env.d.ts +10 -5
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +5 -0
- package/lib/env.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +3 -2
- package/lib/errors.js.map +1 -1
- package/lib/exchange/platform/transfer/index.d.ts.map +1 -1
- package/lib/exchange/platform/transfer/index.js +15 -1
- package/lib/exchange/platform/transfer/index.js.map +1 -1
- package/lib/families/algorand/buildTransaction.d.ts +2 -2
- package/lib/families/algorand/buildTransaction.d.ts.map +1 -1
- package/lib/families/algorand/buildTransaction.js +13 -19
- package/lib/families/algorand/buildTransaction.js.map +1 -1
- package/lib/families/algorand/js-getFeesForTransaction.js +4 -6
- package/lib/families/algorand/js-getFeesForTransaction.js.map +1 -1
- package/lib/families/algorand/js-signOperation.js +3 -7
- package/lib/families/algorand/js-signOperation.js.map +1 -1
- package/lib/families/algorand/js-synchronization.d.ts.map +1 -1
- package/lib/families/algorand/js-synchronization.js +1 -0
- package/lib/families/algorand/js-synchronization.js.map +1 -1
- package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-signOperation.js +3 -5
- package/lib/families/bitcoin/js-signOperation.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +4 -3
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.js +8 -7
- package/lib/families/bitcoin/wallet-btc/crypto/base.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/bitcoin.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js +3 -7
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +3 -4
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +27 -53
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/decred.js +2 -7
- package/lib/families/bitcoin/wallet-btc/crypto/decred.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +1 -6
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +0 -51
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +1 -0
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +5 -6
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js +63 -33
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +3 -5
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js +77 -46
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
- package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/celo/speculos-deviceActions.js +1 -2
- package/lib/families/celo/speculos-deviceActions.js.map +1 -1
- package/lib/families/ethereum/signOperation.d.ts.map +1 -1
- package/lib/families/ethereum/signOperation.js +26 -15
- package/lib/families/ethereum/signOperation.js.map +1 -1
- package/lib/families/ethereum/specs.d.ts.map +1 -1
- package/lib/families/ethereum/specs.js +2 -4
- package/lib/families/ethereum/specs.js.map +1 -1
- package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
- package/lib/families/ethereum/speculos-deviceActions.js +4 -0
- package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
- package/lib/families/ethereum/transaction.d.ts +4 -1
- package/lib/families/ethereum/transaction.d.ts.map +1 -1
- package/lib/families/ethereum/transaction.js +15 -27
- package/lib/families/ethereum/transaction.js.map +1 -1
- package/lib/families/solana/api/chain/instruction/token/types.d.ts +1 -1
- package/lib/families/solana/test-dataset.d.ts.map +1 -1
- package/lib/families/solana/test-dataset.js +1 -2
- package/lib/families/solana/test-dataset.js.map +1 -1
- package/lib/families/tezos/bridge/js.d.ts.map +1 -1
- package/lib/families/tezos/bridge/js.js +2 -1
- package/lib/families/tezos/bridge/js.js.map +1 -1
- package/lib/families/tezos/synchronisation.d.ts.map +1 -1
- package/lib/families/tezos/synchronisation.js +2 -0
- package/lib/families/tezos/synchronisation.js.map +1 -1
- package/lib/families/tron/synchronisation.test.js +1 -0
- package/lib/families/tron/synchronisation.test.js.map +1 -1
- package/lib/featureFlags/FeatureToggle.js +2 -2
- package/lib/featureFlags/FeatureToggle.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +1 -1
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/types.d.ts +1 -1
- package/lib/featureFlags/types.d.ts.map +1 -1
- package/lib/load/speculos.d.ts +7 -0
- package/lib/load/speculos.d.ts.map +1 -1
- package/lib/load/speculos.js +27 -11
- package/lib/load/speculos.js.map +1 -1
- package/lib/platform/PlatformAppProvider/helpers.d.ts +1 -0
- package/lib/platform/PlatformAppProvider/helpers.d.ts.map +1 -1
- package/lib/platform/PlatformAppProvider/helpers.js +23 -1
- package/lib/platform/PlatformAppProvider/helpers.js.map +1 -1
- package/lib/platform/PlatformAppProvider/index.d.ts.map +1 -1
- package/lib/platform/PlatformAppProvider/index.js +2 -1
- package/lib/platform/PlatformAppProvider/index.js.map +1 -1
- package/lib/types/manager.d.ts +4 -3
- package/lib/types/manager.d.ts.map +1 -1
- package/lib/types/manager.js +4 -3
- package/lib/types/manager.js.map +1 -1
- package/package.json +21 -21
- package/src/.DS_Store +0 -0
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +109 -23
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +2 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts +78 -0
- package/src/apps/hw.ts +4 -3
- package/src/apps/logic.ts +6 -3
- package/src/bot/engine.ts +3 -0
- package/src/{__tests__ → data/flags}/.DS_Store +0 -0
- package/src/env.ts +5 -0
- package/src/errors.ts +3 -0
- package/src/exchange/platform/transfer/index.ts +21 -1
- package/src/families/algorand/buildTransaction.ts +4 -8
- package/src/families/algorand/js-getFeesForTransaction.ts +1 -1
- package/src/families/algorand/js-signOperation.ts +2 -2
- package/src/families/algorand/js-synchronization.ts +1 -0
- package/src/families/bitcoin/js-signOperation.ts +3 -5
- package/src/families/bitcoin/wallet-btc/crypto/base.ts +31 -18
- package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +2 -2
- package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +3 -17
- package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +5 -39
- package/src/families/bitcoin/wallet-btc/crypto/decred.ts +2 -15
- package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +1 -71
- package/src/families/bitcoin/wallet-btc/crypto/types.ts +7 -0
- package/src/families/bitcoin/wallet-btc/crypto/zec.ts +23 -41
- package/src/families/bitcoin/wallet-btc/crypto/zen.ts +30 -49
- package/src/families/celo/speculos-deviceActions.ts +0 -1
- package/src/families/ethereum/signOperation.ts +21 -20
- package/src/families/ethereum/specs.ts +0 -2
- package/src/families/ethereum/speculos-deviceActions.ts +4 -0
- package/src/families/ethereum/transaction.ts +10 -24
- package/src/families/solana/test-dataset.ts +3 -4
- package/src/families/tezos/bridge/js.ts +6 -1
- package/src/families/tezos/synchronisation.ts +2 -0
- package/src/families/tron/synchronisation.test.ts +2 -0
- package/src/featureFlags/FeatureToggle.tsx +2 -2
- package/src/featureFlags/defaultFeatures.ts +1 -1
- package/src/featureFlags/types.ts +1 -1
- package/src/load/speculos.ts +23 -10
- package/src/platform/PlatformAppProvider/helpers.ts +29 -0
- package/src/platform/PlatformAppProvider/index.tsx +3 -2
- package/src/types/manager.ts +4 -3
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +0 -6195
|
@@ -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,26 +65,16 @@ 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
|
-
ZCash.prototype.
|
|
48
|
-
|
|
49
|
-
return base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)];
|
|
50
|
-
}
|
|
51
|
-
var address = this.getLegacyAddress(xpub, account, index);
|
|
52
|
-
base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)] = address;
|
|
53
|
-
return address;
|
|
76
|
+
ZCash.prototype.customGetAddress = function (derivationMode, xpub, account, index) {
|
|
77
|
+
return this.getLegacyAddress(xpub, account, index);
|
|
54
78
|
};
|
|
55
79
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
56
80
|
ZCash.prototype.getDerivationMode = function (address) {
|
|
@@ -60,18 +84,24 @@ var ZCash = /** @class */ (function () {
|
|
|
60
84
|
if (!this.validateAddress(address)) {
|
|
61
85
|
throw new errors_1.InvalidAddress();
|
|
62
86
|
}
|
|
63
|
-
|
|
64
|
-
|
|
87
|
+
var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
|
|
88
|
+
if (version === this.network.pubKeyHash) {
|
|
89
|
+
//Pay-to-PubkeyHash
|
|
90
|
+
return bjs.payments.p2pkh({ hash: bs58check_1["default"].decode(address).slice(2) })
|
|
91
|
+
.output;
|
|
92
|
+
}
|
|
93
|
+
if (version === this.network.scriptHash) {
|
|
94
|
+
//Pay-to-Script-Hash
|
|
95
|
+
return bjs.payments.p2sh({ hash: bs58check_1["default"].decode(address).slice(2) })
|
|
96
|
+
.output;
|
|
97
|
+
}
|
|
98
|
+
throw new errors_1.InvalidAddress();
|
|
65
99
|
};
|
|
66
100
|
// eslint-disable-next-line class-methods-use-this
|
|
67
101
|
ZCash.prototype.validateAddress = function (address) {
|
|
68
102
|
return zcash_bitcore_lib_1["default"].Address.isValid(address, "livenet");
|
|
69
103
|
};
|
|
70
|
-
// eslint-disable-next-line
|
|
71
|
-
ZCash.prototype.isTaprootAddress = function (address) {
|
|
72
|
-
return false;
|
|
73
|
-
};
|
|
74
104
|
return ZCash;
|
|
75
|
-
}());
|
|
105
|
+
}(base_1["default"]));
|
|
76
106
|
exports["default"] = ZCash;
|
|
77
107
|
//# 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,19 +1,17 @@
|
|
|
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
|
+
customGetAddress(derivationMode: string, xpub: string, account: number, index: number): string;
|
|
13
12
|
getDerivationMode(address: string): DerivationModes;
|
|
14
13
|
toOutputScript(address: string): Buffer;
|
|
15
14
|
validateAddress(address: string): boolean;
|
|
16
|
-
isTaprootAddress(address: string): boolean;
|
|
17
15
|
}
|
|
18
16
|
export default Zen;
|
|
19
17
|
//# sourceMappingURL=zen.d.ts.map
|
|
@@ -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,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAKT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IA8B9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAW1C;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,28 +80,16 @@ 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
|
-
Zen.prototype.
|
|
68
|
-
|
|
69
|
-
return base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)];
|
|
70
|
-
}
|
|
71
|
-
var address = this.getLegacyAddress(xpub, account, index);
|
|
72
|
-
base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)] = address;
|
|
73
|
-
return address;
|
|
91
|
+
Zen.prototype.customGetAddress = function (derivationMode, xpub, account, index) {
|
|
92
|
+
return this.getLegacyAddress(xpub, account, index);
|
|
74
93
|
};
|
|
75
94
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
76
95
|
Zen.prototype.getDerivationMode = function (address) {
|
|
@@ -80,7 +99,23 @@ var Zen = /** @class */ (function () {
|
|
|
80
99
|
if (!this.validateAddress(address)) {
|
|
81
100
|
throw new errors_1.InvalidAddress();
|
|
82
101
|
}
|
|
83
|
-
var outputScript
|
|
102
|
+
var outputScript;
|
|
103
|
+
var version = Number("0x" + bs58check_1["default"].decode(address).slice(0, 2).toString("hex"));
|
|
104
|
+
if (version === this.network.pubKeyHash) {
|
|
105
|
+
//Pay-to-PubkeyHash
|
|
106
|
+
outputScript = bjs.payments.p2pkh({
|
|
107
|
+
hash: bs58check_1["default"].decode(address).slice(2)
|
|
108
|
+
}).output;
|
|
109
|
+
}
|
|
110
|
+
else if (version === this.network.scriptHash) {
|
|
111
|
+
//Pay-to-Script-Hash
|
|
112
|
+
outputScript = bjs.payments.p2sh({
|
|
113
|
+
hash: bs58check_1["default"].decode(address).slice(2)
|
|
114
|
+
}).output;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
throw new errors_1.InvalidAddress();
|
|
118
|
+
}
|
|
84
119
|
// 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
120
|
var bip115Script = Buffer.from("209ec9845acb02fab24e1c0368b3b517c1a4488fba97f0e3459ac053ea0100000003c01f02b4", "hex");
|
|
86
121
|
return Buffer.concat([outputScript, bip115Script]);
|
|
@@ -96,11 +131,7 @@ var Zen = /** @class */ (function () {
|
|
|
96
131
|
res[0] === 0x20 &&
|
|
97
132
|
(res[1] === 0x89 || res[1] === 0x96));
|
|
98
133
|
};
|
|
99
|
-
// eslint-disable-next-line
|
|
100
|
-
Zen.prototype.isTaprootAddress = function (address) {
|
|
101
|
-
return false;
|
|
102
|
-
};
|
|
103
134
|
return Zen;
|
|
104
|
-
}());
|
|
135
|
+
}(base_1["default"]));
|
|
105
136
|
exports["default"] = Zen;
|
|
106
137
|
//# 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;AA8C3C,wBAEE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":";;AAEA,yCAAmD;AACnD,+CAAsD;AACtD,IAAM,iBAAiB,GAAmC,IAAA,wBAAgB,EAAC;IACzE,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,IAAM,cAAc,GAClB,OAAO;oBACP,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;wBAC9C,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;gBAEL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,2EAA2E;oBAC3E,OAAO,cAAc,GAAG,IAAI,CAAC;iBAC9B;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":";;AAEA,yCAAmD;AACnD,+CAAsD;AACtD,IAAM,iBAAiB,GAAmC,IAAA,wBAAgB,EAAC;IACzE,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,IAAM,cAAc,GAClB,OAAO;oBACP,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;wBAC9C,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;gBAEL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,2EAA2E;oBAC3E,OAAO,cAAc,GAAG,IAAI,CAAC;iBAC9B;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC;AACH,qBAAe;IACb,iBAAiB,mBAAA;CAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAU5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAa,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAS1E,eAAO,MAAM,aAAa;aAKf,OAAO;cACN,GAAG;iBACA,WAAW;MACtB,WAAW,kBAAkB,CAmJ9B,CAAC"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -55,6 +66,7 @@ var invariant_1 = __importDefault(require("invariant"));
|
|
|
55
66
|
var rxjs_1 = require("rxjs");
|
|
56
67
|
var operators_1 = require("rxjs/operators");
|
|
57
68
|
var eip55_1 = __importDefault(require("eip55"));
|
|
69
|
+
var rlp_1 = require("rlp");
|
|
58
70
|
var bignumber_js_1 = require("bignumber.js");
|
|
59
71
|
var logs_1 = require("@ledgerhq/logs");
|
|
60
72
|
var errors_1 = require("@ledgerhq/errors");
|
|
@@ -67,6 +79,7 @@ var deviceAccess_1 = require("../../hw/deviceAccess");
|
|
|
67
79
|
var modules_1 = require("./modules");
|
|
68
80
|
var nft_1 = require("../../nft");
|
|
69
81
|
var env_1 = require("../../env");
|
|
82
|
+
var tx_1 = require("@ethereumjs/tx");
|
|
70
83
|
var signOperation = function (_a) {
|
|
71
84
|
var account = _a.account, deviceId = _a.deviceId, transaction = _a.transaction;
|
|
72
85
|
return (0, rxjs_1.from)(transaction.nonce !== undefined
|
|
@@ -78,7 +91,7 @@ var signOperation = function (_a) {
|
|
|
78
91
|
function main() {
|
|
79
92
|
var _a;
|
|
80
93
|
return __awaiter(this, void 0, void 0, function () {
|
|
81
|
-
var freshAddressPath, freshAddress, gasPrice, gasLimit, _b, tx, fillTransactionDataResult, to, value, txHex, loadConfig, m, resolutionConfig, resolution, eth, addrs, addrs_1, addrs_1_1, addr, tokenInfo, e_1_1, result, v, signature, txHash, senders, recipients, fee, transactionSequenceNumber, accountId, operation;
|
|
94
|
+
var freshAddressPath, freshAddress, gasPrice, gasLimit, _b, ethTxObject, tx, common, fillTransactionDataResult, to, value, rawData, txHex, loadConfig, m, resolutionConfig, resolution, eth, addrs, addrs_1, addrs_1_1, addr, tokenInfo, e_1_1, result, v, r, s, signedTx, signature, txHash, senders, recipients, fee, transactionSequenceNumber, accountId, operation;
|
|
82
95
|
var e_1, _c;
|
|
83
96
|
return __generator(this, function (_d) {
|
|
84
97
|
switch (_d.label) {
|
|
@@ -93,10 +106,12 @@ var signOperation = function (_a) {
|
|
|
93
106
|
String(gasLimit));
|
|
94
107
|
throw new errors_1.FeeNotLoaded();
|
|
95
108
|
}
|
|
96
|
-
_b = (0, transaction_1.buildEthereumTx)(account, transaction, nonce), tx = _b.tx, fillTransactionDataResult = _b.fillTransactionDataResult;
|
|
97
|
-
to = eip55_1["default"].encode(
|
|
109
|
+
_b = (0, transaction_1.buildEthereumTx)(account, transaction, nonce), ethTxObject = _b.ethTxObject, tx = _b.tx, common = _b.common, fillTransactionDataResult = _b.fillTransactionDataResult;
|
|
110
|
+
to = eip55_1["default"].encode((tx.to || "").toString());
|
|
98
111
|
value = new bignumber_js_1.BigNumber("0x" + (tx.value.toString("hex") || "0"));
|
|
99
|
-
|
|
112
|
+
rawData = tx.raw();
|
|
113
|
+
rawData[6] = Buffer.from([common.chainIdBN().toNumber()]);
|
|
114
|
+
txHex = Buffer.from((0, rlp_1.encode)(rawData)).toString("hex");
|
|
100
115
|
loadConfig = {};
|
|
101
116
|
if ((0, nft_1.isNFTActive)(account.currency)) {
|
|
102
117
|
loadConfig.nftExplorerBaseURL =
|
|
@@ -146,22 +161,18 @@ var signOperation = function (_a) {
|
|
|
146
161
|
finally { if (e_1) throw e_1.error; }
|
|
147
162
|
return [7 /*endfinally*/];
|
|
148
163
|
case 9:
|
|
149
|
-
o.next({
|
|
150
|
-
type: "device-signature-requested"
|
|
151
|
-
});
|
|
164
|
+
o.next({ type: "device-signature-requested" });
|
|
152
165
|
return [4 /*yield*/, eth.signTransaction(freshAddressPath, txHex, resolution)];
|
|
153
166
|
case 10:
|
|
154
167
|
result = _d.sent();
|
|
155
168
|
if (cancelled)
|
|
156
169
|
return [2 /*return*/];
|
|
157
|
-
o.next({
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
tx.s = Buffer.from(result.s, "hex");
|
|
164
|
-
signature = "0x".concat(tx.serialize().toString("hex"));
|
|
170
|
+
o.next({ type: "device-signature-granted" });
|
|
171
|
+
v = "0x".concat(result.v);
|
|
172
|
+
r = "0x".concat(result.r);
|
|
173
|
+
s = "0x".concat(result.s);
|
|
174
|
+
signedTx = new tx_1.Transaction(__assign(__assign({}, ethTxObject), { v: v, r: r, s: s }), { common: common });
|
|
175
|
+
signature = "0x".concat(signedTx.serialize().toString("hex"));
|
|
165
176
|
txHash = "";
|
|
166
177
|
senders = [freshAddress];
|
|
167
178
|
recipients = [to];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../../src/families/ethereum/signOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../../src/families/ethereum/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/specs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAY3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/ethereum/specs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAY3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;AA6d/C,wBAME"}
|
|
@@ -83,8 +83,7 @@ var ethereum = {
|
|
|
83
83
|
currency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
|
|
84
84
|
appQuery: {
|
|
85
85
|
model: devices_1.DeviceModelId.nanoS,
|
|
86
|
-
appName: "Ethereum"
|
|
87
|
-
appVersion: "1.5.0-rc3"
|
|
86
|
+
appName: "Ethereum"
|
|
88
87
|
},
|
|
89
88
|
testTimeout: 4 * 60 * 1000,
|
|
90
89
|
transactionCheck: function (_a) {
|
|
@@ -303,8 +302,7 @@ var ethereumRopsten = {
|
|
|
303
302
|
currency: (0, currencies_1.getCryptoCurrencyById)("ethereum_ropsten"),
|
|
304
303
|
appQuery: {
|
|
305
304
|
model: devices_1.DeviceModelId.nanoS,
|
|
306
|
-
appName: "Ethereum"
|
|
307
|
-
appVersion: "1.5.0-rc3"
|
|
305
|
+
appName: "Ethereum"
|
|
308
306
|
},
|
|
309
307
|
testTimeout: 2 * 60 * 1000,
|
|
310
308
|
transactionCheck: function (_a) {
|