@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.
Files changed (166) hide show
  1. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js +1 -0
  2. package/lib/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.js.map +1 -1
  3. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts +2 -0
  4. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.d.ts.map +1 -0
  5. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js +126 -0
  6. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.js.map +1 -0
  7. package/lib/apps/hw.d.ts.map +1 -1
  8. package/lib/apps/hw.js +4 -3
  9. package/lib/apps/hw.js.map +1 -1
  10. package/lib/apps/logic.d.ts.map +1 -1
  11. package/lib/apps/logic.js +7 -5
  12. package/lib/apps/logic.js.map +1 -1
  13. package/lib/bot/engine.d.ts.map +1 -1
  14. package/lib/bot/engine.js +3 -0
  15. package/lib/bot/engine.js.map +1 -1
  16. package/lib/env.d.ts +10 -5
  17. package/lib/env.d.ts.map +1 -1
  18. package/lib/env.js +5 -0
  19. package/lib/env.js.map +1 -1
  20. package/lib/env.react.d.ts +1 -1
  21. package/lib/env.react.d.ts.map +1 -1
  22. package/lib/errors.d.ts +3 -0
  23. package/lib/errors.d.ts.map +1 -1
  24. package/lib/errors.js +3 -2
  25. package/lib/errors.js.map +1 -1
  26. package/lib/exchange/platform/transfer/index.d.ts.map +1 -1
  27. package/lib/exchange/platform/transfer/index.js +15 -1
  28. package/lib/exchange/platform/transfer/index.js.map +1 -1
  29. package/lib/families/algorand/buildTransaction.d.ts +2 -2
  30. package/lib/families/algorand/buildTransaction.d.ts.map +1 -1
  31. package/lib/families/algorand/buildTransaction.js +13 -19
  32. package/lib/families/algorand/buildTransaction.js.map +1 -1
  33. package/lib/families/algorand/js-getFeesForTransaction.js +4 -6
  34. package/lib/families/algorand/js-getFeesForTransaction.js.map +1 -1
  35. package/lib/families/algorand/js-signOperation.js +3 -7
  36. package/lib/families/algorand/js-signOperation.js.map +1 -1
  37. package/lib/families/algorand/js-synchronization.d.ts.map +1 -1
  38. package/lib/families/algorand/js-synchronization.js +1 -0
  39. package/lib/families/algorand/js-synchronization.js.map +1 -1
  40. package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
  41. package/lib/families/bitcoin/js-signOperation.js +3 -5
  42. package/lib/families/bitcoin/js-signOperation.js.map +1 -1
  43. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +4 -3
  44. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
  45. package/lib/families/bitcoin/wallet-btc/crypto/base.js +8 -7
  46. package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
  47. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +2 -2
  48. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -1
  49. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts +1 -1
  50. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.d.ts.map +1 -1
  51. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js +3 -7
  52. package/lib/families/bitcoin/wallet-btc/crypto/bitcoin.js.map +1 -1
  53. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +3 -4
  54. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
  55. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +27 -53
  56. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
  57. package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts +1 -1
  58. package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts.map +1 -1
  59. package/lib/families/bitcoin/wallet-btc/crypto/decred.js +2 -7
  60. package/lib/families/bitcoin/wallet-btc/crypto/decred.js.map +1 -1
  61. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +1 -6
  62. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
  63. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +0 -51
  64. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
  65. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +1 -0
  66. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
  67. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +5 -6
  68. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
  69. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +63 -33
  70. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
  71. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +3 -5
  72. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
  73. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +77 -46
  74. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
  75. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  76. package/lib/families/celo/speculos-deviceActions.js +1 -2
  77. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  78. package/lib/families/ethereum/signOperation.d.ts.map +1 -1
  79. package/lib/families/ethereum/signOperation.js +26 -15
  80. package/lib/families/ethereum/signOperation.js.map +1 -1
  81. package/lib/families/ethereum/specs.d.ts.map +1 -1
  82. package/lib/families/ethereum/specs.js +2 -4
  83. package/lib/families/ethereum/specs.js.map +1 -1
  84. package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
  85. package/lib/families/ethereum/speculos-deviceActions.js +4 -0
  86. package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
  87. package/lib/families/ethereum/transaction.d.ts +4 -1
  88. package/lib/families/ethereum/transaction.d.ts.map +1 -1
  89. package/lib/families/ethereum/transaction.js +15 -27
  90. package/lib/families/ethereum/transaction.js.map +1 -1
  91. package/lib/families/solana/api/chain/instruction/token/types.d.ts +1 -1
  92. package/lib/families/solana/test-dataset.d.ts.map +1 -1
  93. package/lib/families/solana/test-dataset.js +1 -2
  94. package/lib/families/solana/test-dataset.js.map +1 -1
  95. package/lib/families/tezos/bridge/js.d.ts.map +1 -1
  96. package/lib/families/tezos/bridge/js.js +2 -1
  97. package/lib/families/tezos/bridge/js.js.map +1 -1
  98. package/lib/families/tezos/synchronisation.d.ts.map +1 -1
  99. package/lib/families/tezos/synchronisation.js +2 -0
  100. package/lib/families/tezos/synchronisation.js.map +1 -1
  101. package/lib/families/tron/synchronisation.test.js +1 -0
  102. package/lib/families/tron/synchronisation.test.js.map +1 -1
  103. package/lib/featureFlags/FeatureToggle.js +2 -2
  104. package/lib/featureFlags/FeatureToggle.js.map +1 -1
  105. package/lib/featureFlags/defaultFeatures.js +1 -1
  106. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  107. package/lib/featureFlags/types.d.ts +1 -1
  108. package/lib/featureFlags/types.d.ts.map +1 -1
  109. package/lib/load/speculos.d.ts +7 -0
  110. package/lib/load/speculos.d.ts.map +1 -1
  111. package/lib/load/speculos.js +27 -11
  112. package/lib/load/speculos.js.map +1 -1
  113. package/lib/platform/PlatformAppProvider/helpers.d.ts +1 -0
  114. package/lib/platform/PlatformAppProvider/helpers.d.ts.map +1 -1
  115. package/lib/platform/PlatformAppProvider/helpers.js +23 -1
  116. package/lib/platform/PlatformAppProvider/helpers.js.map +1 -1
  117. package/lib/platform/PlatformAppProvider/index.d.ts.map +1 -1
  118. package/lib/platform/PlatformAppProvider/index.js +2 -1
  119. package/lib/platform/PlatformAppProvider/index.js.map +1 -1
  120. package/lib/types/manager.d.ts +4 -3
  121. package/lib/types/manager.d.ts.map +1 -1
  122. package/lib/types/manager.js +4 -3
  123. package/lib/types/manager.js.map +1 -1
  124. package/package.json +21 -21
  125. package/src/.DS_Store +0 -0
  126. package/src/__tests__/__snapshots__/all.libcore.ts.snap +109 -23
  127. package/src/__tests__/families/bitcoin/wallet-btc/wallet.integration.test.ts +2 -0
  128. package/src/__tests__/families/bitcoin/wallet-btc/xpub.getAddress.ts +78 -0
  129. package/src/apps/hw.ts +4 -3
  130. package/src/apps/logic.ts +6 -3
  131. package/src/bot/engine.ts +3 -0
  132. package/src/{__tests__ → data/flags}/.DS_Store +0 -0
  133. package/src/env.ts +5 -0
  134. package/src/errors.ts +3 -0
  135. package/src/exchange/platform/transfer/index.ts +21 -1
  136. package/src/families/algorand/buildTransaction.ts +4 -8
  137. package/src/families/algorand/js-getFeesForTransaction.ts +1 -1
  138. package/src/families/algorand/js-signOperation.ts +2 -2
  139. package/src/families/algorand/js-synchronization.ts +1 -0
  140. package/src/families/bitcoin/js-signOperation.ts +3 -5
  141. package/src/families/bitcoin/wallet-btc/crypto/base.ts +31 -18
  142. package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +2 -2
  143. package/src/families/bitcoin/wallet-btc/crypto/bitcoin.ts +3 -17
  144. package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +5 -39
  145. package/src/families/bitcoin/wallet-btc/crypto/decred.ts +2 -15
  146. package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +1 -71
  147. package/src/families/bitcoin/wallet-btc/crypto/types.ts +7 -0
  148. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +23 -41
  149. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +30 -49
  150. package/src/families/celo/speculos-deviceActions.ts +0 -1
  151. package/src/families/ethereum/signOperation.ts +21 -20
  152. package/src/families/ethereum/specs.ts +0 -2
  153. package/src/families/ethereum/speculos-deviceActions.ts +4 -0
  154. package/src/families/ethereum/transaction.ts +10 -24
  155. package/src/families/solana/test-dataset.ts +3 -4
  156. package/src/families/tezos/bridge/js.ts +6 -1
  157. package/src/families/tezos/synchronisation.ts +2 -0
  158. package/src/families/tron/synchronisation.test.ts +2 -0
  159. package/src/featureFlags/FeatureToggle.tsx +2 -2
  160. package/src/featureFlags/defaultFeatures.ts +1 -1
  161. package/src/featureFlags/types.ts +1 -1
  162. package/src/load/speculos.ts +23 -10
  163. package/src/platform/PlatformAppProvider/helpers.ts +29 -0
  164. package/src/platform/PlatformAppProvider/index.tsx +3 -2
  165. package/src/types/manager.ts +4 -3
  166. 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 coininfo_1 = __importDefault(require("coininfo"));
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
14
45
  var errors_1 = require("@ledgerhq/errors");
15
46
  var types_1 = require("../types");
16
47
  var base_1 = __importDefault(require("./base"));
17
- var ZCash = /** @class */ (function () {
48
+ var ZCash = /** @class */ (function (_super) {
49
+ __extends(ZCash, _super);
18
50
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
51
  function ZCash(_a) {
20
52
  var network = _a.network;
21
- this.network = network;
22
- this.network.dustThreshold = 10000;
23
- this.network.dustPolicy = "FIXED";
24
- this.network.usesTimestampedTransaction = false;
53
+ var _this = _super.call(this, { network: network }) || this;
54
+ _this.network = network;
55
+ _this.network.dustThreshold = 10000;
56
+ _this.network.dustPolicy = "FIXED";
57
+ _this.network.usesTimestampedTransaction = false;
58
+ return _this;
25
59
  }
26
60
  // eslint-disable-next-line
27
61
  ZCash.prototype.baddrToTaddr = function (baddrStr) {
@@ -31,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 pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
43
- var child = pubkey.derive(account).derive(index);
44
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
45
- return address.toString();
70
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
71
+ var payload = Buffer.allocUnsafe(22);
72
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
73
+ pk.copy(payload, 2);
74
+ return bs58check_1["default"].encode(payload);
46
75
  };
47
- ZCash.prototype.getAddress = function (derivationMode, xpub, account, index) {
48
- if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
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
- // TODO find a better way to calculate the script from zec address instead of converting to bitcoin address
64
- return (0, address_1.toOutputScript)(ZCash.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
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":"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"}
1
+ {"version":3,"file":"zec.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zec.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,17 @@
1
1
  /// <reference types="node" />
2
2
  import { DerivationModes } from "../types";
3
- import { ICrypto } from "./types";
4
- declare class Zen implements ICrypto {
3
+ import Base from "./base";
4
+ declare class Zen extends Base {
5
5
  network: any;
6
6
  constructor({ network }: {
7
7
  network: any;
8
8
  });
9
9
  baddrToTaddr(baddrStr: string): string;
10
- private static toBitcoinAddr;
11
10
  getLegacyAddress(xpub: string, account: number, index: number): string;
12
- getAddress(derivationMode: string, xpub: string, account: number, index: number): string;
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":";AASA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,cAAM,GAAI,YAAW,OAAO;IAE1B,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IAyBzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAStE,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,MAAM;IAkBT,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM;IAiB9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAazC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"zen.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAG1B,cAAM,GAAI,SAAQ,IAAI;IAEpB,OAAO,EAAE,GAAG,CAAC;gBAGD,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;IA0BzC,YAAY,CAAC,QAAQ,EAAE,MAAM;IAU7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQtE,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 Zen = /** @class */ (function () {
44
+ var bjs = __importStar(require("bitcoinjs-lib"));
45
+ var Zen = /** @class */ (function (_super) {
46
+ __extends(Zen, _super);
18
47
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
48
  function Zen(_a) {
20
49
  var network = _a.network;
50
+ var _this = _super.call(this, { network: network }) || this;
21
51
  // refer to https://github.com/HorizenOfficial/zen/blob/master/src/chainparams.cpp for the blockchain params
22
- this.network = network;
23
- this.network.versions = {
52
+ _this.network = network;
53
+ _this.network.versions = {
24
54
  bip32: {
25
55
  public: 0x043587cf,
26
56
  private: 0x04358394
27
57
  },
28
58
  bip44: 121,
29
59
  private: 0x80,
30
- public: 0x2096,
31
- scripthash: 0x2089
60
+ public: 0x2089,
61
+ scripthash: 0x2096
32
62
  };
33
- this.network.name = "Zencash";
34
- this.network.unit = "ZEN";
35
- this.network.messagePrefix = "Zencash Signed Message:\n";
36
- this.network.wif = 0x80;
37
- this.network.pubKeyHash = 0x2096;
38
- this.network.scriptHash = 0x2089;
39
- this.network.dustThreshold = 10000;
40
- this.network.dustPolicy = "FIXED";
41
- this.network.usesTimestampedTransaction = false;
63
+ _this.network.name = "Zencash";
64
+ _this.network.unit = "ZEN";
65
+ _this.network.messagePrefix = "Zencash Signed Message:\n";
66
+ _this.network.wif = 0x80;
67
+ _this.network.pubKeyHash = 0x2089;
68
+ _this.network.scriptHash = 0x2096;
69
+ _this.network.dustThreshold = 10000;
70
+ _this.network.dustPolicy = "FIXED";
71
+ _this.network.usesTimestampedTransaction = false;
72
+ return _this;
42
73
  }
43
74
  // eslint-disable-next-line
44
75
  Zen.prototype.baddrToTaddr = function (baddrStr) {
@@ -49,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 pubkey = new zcash_bitcore_lib_1["default"].HDPublicKey(xpub);
61
- var child = pubkey.derive(account).derive(index);
62
- var address = new zcash_bitcore_lib_1["default"].Address(child.publicKey, zcash_bitcore_lib_1["default"].Networks.livenet);
63
- var baddr = new Uint8Array(21);
64
- baddr.set(bs58check_1["default"].decode(address.toString()).slice(2), 1);
65
- return this.baddrToTaddr(bs58check_1["default"].encode(Buffer.from(baddr)));
85
+ var pk = bjs.crypto.hash160(this.getPubkeyAt(xpub, account, index));
86
+ var payload = Buffer.allocUnsafe(22);
87
+ payload.writeUInt16BE(this.network.pubKeyHash, 0);
88
+ pk.copy(payload, 2);
89
+ return bs58check_1["default"].encode(payload);
66
90
  };
67
- Zen.prototype.getAddress = function (derivationMode, xpub, account, index) {
68
- if (base_1["default"].addressCache["".concat(this.network.name, "-").concat(derivationMode, "-").concat(xpub, "-").concat(account, "-").concat(index)]) {
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 = (0, address_1.toOutputScript)(Zen.toBitcoinAddr(address), coininfo_1["default"].bitcoin.main.toBitcoinJS());
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":"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"}
1
+ {"version":3,"file":"zen.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/crypto/zen.ts"],"names":[],"mappings":"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"}
@@ -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;;;;AA+C3C,wBAEE"}
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"}
@@ -34,8 +34,7 @@ var acceptTransaction = (0, specs_1.deviceActionFlow)({
34
34
  },
35
35
  {
36
36
  title: "Max Fees",
37
- button: "Rr",
38
- expectedValue: function () { return "CELO"; }
37
+ button: "Rr"
39
38
  },
40
39
  {
41
40
  title: "No Gateway Fee",
@@ -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;YACZ,aAAa,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM;SAC5B;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
+ {"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;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAa,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQ1E,eAAO,MAAM,aAAa;aAKf,OAAO;cACN,GAAG;iBACA,WAAW;MACtB,WAAW,kBAAkB,CAoJ9B,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("0x" + tx.to.toString("hex"));
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
- txHex = tx.serialize().toString("hex");
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
- type: "device-signature-granted"
159
- });
160
- v = result.v;
161
- tx.v = Buffer.from(v, "hex");
162
- tx.r = Buffer.from(result.r, "hex");
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":"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"}
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../../src/families/ethereum/signOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAkC;AAClC,6BAA4C;AAC5C,4CAA0C;AAC1C,gDAA0B;AAC1B,2BAA6B;AAC7B,6CAAyC;AACzC,uCAAqC;AACrC,2CAAgD;AAChD,oEAAuC;AACvC,oDAAyE;AACzE,oFAAyE;AAGzE,6CAA6D;AAC7D,+CAAoD;AACpD,sDAAmD;AACnD,qCAAkC;AAClC,iCAAwC;AACxC,iCAAmC;AAEnC,qCAA2D;AACpD,IAAM,aAAa,GAAG,UAAC,EAQ7B;QAPC,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,WAAW,iBAAA;IAMX,OAAA,IAAA,WAAI,EACF,WAAW,CAAC,KAAK,KAAK,SAAS;QAC7B,CAAC,CAAC,IAAA,SAAE,EAAC,WAAW,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,IAAA,yBAAc,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAC3E,CAAC,IAAI,CACJ,IAAA,oBAAQ,EAAC,UAAC,KAAK;QACb,OAAA,IAAA,yBAAU,EAAC,QAAQ,CAAC,CAClB,UAAC,SAAS;YACR,OAAA,IAAI,iBAAU,CAAqB,UAAC,CAAC;gBACnC,IAAI,SAAS,CAAC;gBAEd,SAAe,IAAI;;;;;;;;oCAET,gBAAgB,GAAmB,OAAO,iBAA1B,EAAE,YAAY,GAAK,OAAO,aAAZ,CAAa;oCAC3C,QAAQ,GAAK,WAAW,SAAhB,CAAiB;oCAC3B,QAAQ,GAAG,IAAA,yBAAW,EAAC,WAAW,CAAC,CAAC;oCAE1C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,wBAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;wCAC/C,IAAA,UAAG,EACD,gBAAgB,EAChB,yCAAyC;4CACvC,MAAM,CAAC,QAAQ,CAAC;4CAChB,YAAY;4CACZ,MAAM,CAAC,QAAQ,CAAC,CACnB,CAAC;wCACF,MAAM,IAAI,qBAAY,EAAE,CAAC;qCAC1B;oCAEK,KACJ,IAAA,6BAAe,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,EADtC,WAAW,iBAAA,EAAE,EAAE,QAAA,EAAE,MAAM,YAAA,EAAE,yBAAyB,+BAAA,CACX;oCACzC,EAAE,GAAG,kBAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oCAC5C,KAAK,GAAG,IAAI,wBAAS,CACzB,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CACzC,CAAC;oCAEI,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oCACzB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oCACpD,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,YAAM,EAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oCACrD,UAAU,GAAe,EAAE,CAAC;oCAClC,IAAI,IAAA,iBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wCACjC,UAAU,CAAC,kBAAkB;4CAC3B,IAAA,YAAM,EAAC,0BAA0B,CAAC,GAAG,cAAc,CAAC;qCACvD;oCAEK,CAAC,GAAG,eAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oCAClC,IAAA,sBAAS,EAAC,CAAC,EAAE,0BAA0B,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;oCAEtD,gBAAgB,GAAG,CAAC,CAAC,mBAAmB;wCAC5C,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;wCAC7C,CAAC,CAAC,EAAE,CAAC;oCAEY,qBAAM,mBAAiB,CAAC,kBAAkB,CAC3D,KAAK,EACL,UAAU,EACV,gBAAgB,CACjB,EAAA;;oCAJK,UAAU,GAAG,SAIlB;oCAEK,GAAG,GAAG,IAAI,uBAAG,CAAC,SAAS,CAAC,CAAC;oCAC/B,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oCAGxB,KAAK,GACT,CAAC,yBAAyB;wCACxB,yBAAyB,CAAC,cAAc,CAAC;wCAC3C,EAAE,CAAC;;;;oCAEc,UAAA,SAAA,KAAK,CAAA;;;;oCAAb,IAAI;oCACP,SAAS,GAAG,IAAA,mCAA2B,EAC3C,IAAI,EACJ,CAAA,MAAA,OAAO,CAAC,QAAQ,CAAC,gBAAgB,0CAAE,OAAO,KAAI,CAAC,CAChD,CAAC;yCAEE,SAAS,EAAT,wBAAS;oCACX,qBAAM,GAAG,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAA;;oCAAjD,SAAiD,CAAC;oCAClD,IAAI,SAAS;wCAAE,sBAAO;;;;;;;;;;;;;;;;;oCAI1B,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;oCAChC,qBAAM,GAAG,CAAC,eAAe,CACtC,gBAAgB,EAChB,KAAK,EACL,UAAU,CACX,EAAA;;oCAJK,MAAM,GAAG,SAId;oCACD,IAAI,SAAS;wCAAE,sBAAO;oCACtB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;oCAEvC,CAAC,GAAG,YAAK,MAAM,CAAC,CAAC,CAAE,CAAC;oCACpB,CAAC,GAAG,YAAK,MAAM,CAAC,CAAC,CAAE,CAAC;oCACpB,CAAC,GAAG,YAAK,MAAM,CAAC,CAAC,CAAE,CAAC;oCAEpB,QAAQ,GAAG,IAAI,gBAAU,uBACxB,WAAW,KAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,KACzB,EAAE,MAAM,QAAA,EAAE,CACX,CAAC;oCAGI,SAAS,GAAG,YAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;oCAGxD,MAAM,GAAG,EAAE,CAAC;oCAEZ,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;oCACzB,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;oCAClB,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oCAC/B,yBAAyB,GAAG,KAAK,CAAC;oCAClC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;oCAEvB,SAAS,GAAc;wCAC3B,EAAE,EAAE,UAAG,SAAS,cAAI,MAAM,SAAM;wCAChC,IAAI,EAAE,MAAM;wCACZ,yBAAyB,EAAE,yBAEd;wCACb,IAAI,EAAE,KAAK;wCACX,KAAK,EAAE,IAAI,wBAAS,CAAC,KAAK,CAAC;wCAC3B,GAAG,KAAA;wCACH,SAAS,EAAE,IAAI;wCACf,WAAW,EAAE,IAAI;wCACjB,OAAO,SAAA;wCACP,UAAU,YAAA;wCACV,SAAS,WAAA;wCACT,IAAI,EAAE,IAAI,IAAI,EAAE;wCAChB,KAAK,EAAE,EAAE;qCACV,CAAC;oCACF,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oCAC3D,CAAC,CAAC,IAAI,CAAC;wCACL,IAAI,EAAE,QAAQ;wCACd,eAAe,EAAE;4CACf,SAAS,WAAA;4CACT,SAAS,WAAA;4CACT,cAAc,EAAE,IAAI;yCACrB;qCACF,CAAC,CAAC;;;;;iBACJ;gBAED,IAAI,EAAE,CAAC,IAAI,CACT,cAAM,OAAA,CAAC,CAAC,QAAQ,EAAE,EAAZ,CAAY,EAClB,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAV,CAAU,CAClB,CAAC;gBACF,OAAO;oBACL,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC;YACJ,CAAC,CAAC;QAvIF,CAuIE,CACL;IA1ID,CA0IC,CACF,CACF;AAlJD,CAkJC,CAAC;AA3JS,QAAA,aAAa,iBA2JtB"}
@@ -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;;;;;;;;AA+d/C,wBAME"}
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) {