@shapeshiftoss/hdwallet-native 1.55.2 → 1.55.4-alpha.1

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 (162) hide show
  1. package/dist/adapter.js +22 -61
  2. package/dist/adapter.js.map +1 -1
  3. package/dist/arkeo.d.ts +1 -1
  4. package/dist/arkeo.d.ts.map +1 -1
  5. package/dist/arkeo.js +54 -124
  6. package/dist/arkeo.js.map +1 -1
  7. package/dist/binance.d.ts +1 -1
  8. package/dist/binance.d.ts.map +1 -1
  9. package/dist/binance.js +123 -195
  10. package/dist/binance.js.map +1 -1
  11. package/dist/bitcoin.d.ts +1 -2
  12. package/dist/bitcoin.d.ts.map +1 -1
  13. package/dist/bitcoin.js +219 -285
  14. package/dist/bitcoin.js.map +1 -1
  15. package/dist/cosmos.d.ts +1 -1
  16. package/dist/cosmos.d.ts.map +1 -1
  17. package/dist/cosmos.js +54 -124
  18. package/dist/cosmos.js.map +1 -1
  19. package/dist/crypto/CryptoHelper.js +106 -172
  20. package/dist/crypto/CryptoHelper.js.map +1 -1
  21. package/dist/crypto/EncryptedWallet.js +64 -123
  22. package/dist/crypto/EncryptedWallet.js.map +1 -1
  23. package/dist/crypto/classes/cipherString.js +18 -19
  24. package/dist/crypto/classes/cipherString.js.map +1 -1
  25. package/dist/crypto/classes/encryptedObject.js +7 -7
  26. package/dist/crypto/classes/encryptedObject.js.map +1 -1
  27. package/dist/crypto/classes/encryptionType.js +2 -5
  28. package/dist/crypto/classes/encryptionType.js.map +1 -1
  29. package/dist/crypto/classes/index.js +4 -11
  30. package/dist/crypto/classes/index.js.map +1 -1
  31. package/dist/crypto/classes/symmetricCryptoKey.js +13 -11
  32. package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
  33. package/dist/crypto/engines/index.js +2 -18
  34. package/dist/crypto/engines/index.js.map +1 -1
  35. package/dist/crypto/engines/types.js +2 -5
  36. package/dist/crypto/engines/types.js.map +1 -1
  37. package/dist/crypto/engines/web-crypto.js +39 -84
  38. package/dist/crypto/engines/web-crypto.js.map +1 -1
  39. package/dist/crypto/index.js +3 -32
  40. package/dist/crypto/index.js.map +1 -1
  41. package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
  42. package/dist/crypto/isolation/adapters/binance.js +12 -51
  43. package/dist/crypto/isolation/adapters/binance.js.map +1 -1
  44. package/dist/crypto/isolation/adapters/bip32.d.ts +2 -9
  45. package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
  46. package/dist/crypto/isolation/adapters/bip32.js +65 -108
  47. package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
  48. package/dist/crypto/isolation/adapters/bitcoin.d.ts +4 -13
  49. package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
  50. package/dist/crypto/isolation/adapters/bitcoin.js +41 -84
  51. package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
  52. package/dist/crypto/isolation/adapters/cosmos.d.ts +0 -1
  53. package/dist/crypto/isolation/adapters/cosmos.d.ts.map +1 -1
  54. package/dist/crypto/isolation/adapters/cosmos.js +9 -24
  55. package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
  56. package/dist/crypto/isolation/adapters/cosmosDirect.js +35 -77
  57. package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
  58. package/dist/crypto/isolation/adapters/ethereum.js +49 -90
  59. package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
  60. package/dist/crypto/isolation/adapters/fio.d.ts +0 -1
  61. package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
  62. package/dist/crypto/isolation/adapters/fio.js +24 -67
  63. package/dist/crypto/isolation/adapters/fio.js.map +1 -1
  64. package/dist/crypto/isolation/adapters/index.js +7 -20
  65. package/dist/crypto/isolation/adapters/index.js.map +1 -1
  66. package/dist/crypto/isolation/core/bip32/index.js +22 -51
  67. package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
  68. package/dist/crypto/isolation/core/bip32/interfaces.js +2 -29
  69. package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
  70. package/dist/crypto/isolation/core/bip32/types.d.ts +2 -2
  71. package/dist/crypto/isolation/core/bip32/types.js +5 -8
  72. package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
  73. package/dist/crypto/isolation/core/bip39/index.js +1 -17
  74. package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
  75. package/dist/crypto/isolation/core/bip39/interfaces.js +1 -2
  76. package/dist/crypto/isolation/core/digest/algorithms.d.ts.map +1 -1
  77. package/dist/crypto/isolation/core/digest/algorithms.js +17 -26
  78. package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
  79. package/dist/crypto/isolation/core/digest/index.js +2 -18
  80. package/dist/crypto/isolation/core/digest/index.js.map +1 -1
  81. package/dist/crypto/isolation/core/digest/types.d.ts +20 -20
  82. package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
  83. package/dist/crypto/isolation/core/digest/types.js +23 -26
  84. package/dist/crypto/isolation/core/digest/types.js.map +1 -1
  85. package/dist/crypto/isolation/core/index.js +5 -32
  86. package/dist/crypto/isolation/core/index.js.map +1 -1
  87. package/dist/crypto/isolation/core/secp256k1/index.js +2 -18
  88. package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
  89. package/dist/crypto/isolation/core/secp256k1/interfaces.js +1 -2
  90. package/dist/crypto/isolation/core/secp256k1/types.d.ts +81 -81
  91. package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
  92. package/dist/crypto/isolation/core/secp256k1/types.js +119 -157
  93. package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
  94. package/dist/crypto/isolation/engines/default/bip32.d.ts +0 -1
  95. package/dist/crypto/isolation/engines/default/bip32.d.ts.map +1 -1
  96. package/dist/crypto/isolation/engines/default/bip32.js +102 -176
  97. package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
  98. package/dist/crypto/isolation/engines/default/bip39.js +24 -68
  99. package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
  100. package/dist/crypto/isolation/engines/default/index.js +3 -32
  101. package/dist/crypto/isolation/engines/default/index.js.map +1 -1
  102. package/dist/crypto/isolation/engines/default/revocable.d.ts +1 -1
  103. package/dist/crypto/isolation/engines/default/revocable.d.ts.map +1 -1
  104. package/dist/crypto/isolation/engines/default/revocable.js +30 -51
  105. package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
  106. package/dist/crypto/isolation/engines/dummy/bip32.js +63 -121
  107. package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
  108. package/dist/crypto/isolation/engines/dummy/bip39.js +55 -97
  109. package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
  110. package/dist/crypto/isolation/engines/dummy/index.js +3 -30
  111. package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
  112. package/dist/crypto/isolation/engines/dummy/types.js +1 -5
  113. package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
  114. package/dist/crypto/isolation/engines/index.js +2 -28
  115. package/dist/crypto/isolation/engines/index.js.map +1 -1
  116. package/dist/crypto/isolation/index.js +3 -29
  117. package/dist/crypto/isolation/index.js.map +1 -1
  118. package/dist/crypto/isolation/types.d.ts +1 -2
  119. package/dist/crypto/isolation/types.d.ts.map +1 -1
  120. package/dist/crypto/isolation/types.js +43 -49
  121. package/dist/crypto/isolation/types.js.map +1 -1
  122. package/dist/crypto/utils.js +7 -14
  123. package/dist/crypto/utils.js.map +1 -1
  124. package/dist/ethereum.d.ts +1 -1
  125. package/dist/ethereum.d.ts.map +1 -1
  126. package/dist/ethereum.js +92 -161
  127. package/dist/ethereum.js.map +1 -1
  128. package/dist/fio.d.ts +3 -3
  129. package/dist/fio.d.ts.map +1 -1
  130. package/dist/fio.js +204 -283
  131. package/dist/fio.js.map +1 -1
  132. package/dist/index.js +3 -32
  133. package/dist/index.js.map +1 -1
  134. package/dist/kava.d.ts +1 -1
  135. package/dist/kava.d.ts.map +1 -1
  136. package/dist/kava.js +50 -120
  137. package/dist/kava.js.map +1 -1
  138. package/dist/native.d.ts +40 -41
  139. package/dist/native.d.ts.map +1 -1
  140. package/dist/native.js +176 -304
  141. package/dist/native.js.map +1 -1
  142. package/dist/networks.js +16 -34
  143. package/dist/networks.js.map +1 -1
  144. package/dist/osmosis.d.ts +1 -1
  145. package/dist/osmosis.d.ts.map +1 -1
  146. package/dist/osmosis.js +54 -124
  147. package/dist/osmosis.js.map +1 -1
  148. package/dist/secret.d.ts +1 -1
  149. package/dist/secret.d.ts.map +1 -1
  150. package/dist/secret.js +50 -120
  151. package/dist/secret.js.map +1 -1
  152. package/dist/terra.d.ts +1 -1
  153. package/dist/terra.d.ts.map +1 -1
  154. package/dist/terra.js +50 -120
  155. package/dist/terra.js.map +1 -1
  156. package/dist/thorchain.d.ts +1 -1
  157. package/dist/thorchain.d.ts.map +1 -1
  158. package/dist/thorchain.js +54 -124
  159. package/dist/thorchain.js.map +1 -1
  160. package/dist/util.js +16 -55
  161. package/dist/util.js.map +1 -1
  162. package/package.json +3 -3
package/dist/native.js CHANGED
@@ -1,79 +1,29 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
35
- if (kind === "m") throw new TypeError("Private method is not writable");
36
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
37
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
38
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
39
- };
40
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
41
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
42
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
43
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
44
- };
45
- var __importDefault = (this && this.__importDefault) || function (mod) {
46
- return (mod && mod.__esModule) ? mod : { "default": mod };
47
- };
48
- var _NativeHDWalletBase_events, _NativeHDWallet_deviceId, _NativeHDWallet_initialized, _NativeHDWallet_masterKey;
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.create = exports.info = exports.isNative = exports.NativeHDWallet = exports.NativeHDWalletBase = exports.NativeHDWalletInfoBase = exports.NativeEvents = void 0;
51
- const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
52
- const bip39 = __importStar(require("bip39"));
53
- const eventemitter2 = __importStar(require("eventemitter2"));
54
- const isObject_1 = __importDefault(require("lodash/isObject"));
55
- const arkeo_1 = require("./arkeo");
56
- const binance_1 = require("./binance");
57
- const bitcoin_1 = require("./bitcoin");
58
- const cosmos_1 = require("./cosmos");
59
- const Isolation = __importStar(require("./crypto/isolation"));
60
- const ethereum_1 = require("./ethereum");
61
- const fio_1 = require("./fio");
62
- const kava_1 = require("./kava");
63
- const networks_1 = require("./networks");
64
- const osmosis_1 = require("./osmosis");
65
- const secret_1 = require("./secret");
66
- const terra_1 = require("./terra");
67
- const thorchain_1 = require("./thorchain");
68
- var NativeEvents;
1
+ import * as core from "@shapeshiftoss/hdwallet-core";
2
+ import * as bip39 from "bip39";
3
+ import * as eventemitter2 from "eventemitter2";
4
+ import isObject from "lodash/isObject";
5
+ import { MixinNativeArkeoWallet, MixinNativeArkeoWalletInfo } from "./arkeo";
6
+ import { MixinNativeBinanceWallet, MixinNativeBinanceWalletInfo } from "./binance";
7
+ import { MixinNativeBTCWallet, MixinNativeBTCWalletInfo } from "./bitcoin";
8
+ import { MixinNativeCosmosWallet, MixinNativeCosmosWalletInfo } from "./cosmos";
9
+ import * as Isolation from "./crypto/isolation";
10
+ import { MixinNativeETHWallet, MixinNativeETHWalletInfo } from "./ethereum";
11
+ import { MixinNativeFioWallet, MixinNativeFioWalletInfo } from "./fio";
12
+ import { MixinNativeKavaWallet, MixinNativeKavaWalletInfo } from "./kava";
13
+ import { getNetwork } from "./networks";
14
+ import { MixinNativeOsmosisWallet, MixinNativeOsmosisWalletInfo } from "./osmosis";
15
+ import { MixinNativeSecretWallet, MixinNativeSecretWalletInfo } from "./secret";
16
+ import { MixinNativeTerraWallet, MixinNativeTerraWalletInfo } from "./terra";
17
+ import { MixinNativeThorchainWallet, MixinNativeThorchainWalletInfo } from "./thorchain";
18
+ export var NativeEvents;
69
19
  (function (NativeEvents) {
70
20
  NativeEvents["MNEMONIC_REQUIRED"] = "MNEMONIC_REQUIRED";
71
21
  NativeEvents["READY"] = "READY";
72
- })(NativeEvents || (exports.NativeEvents = NativeEvents = {}));
22
+ })(NativeEvents || (NativeEvents = {}));
73
23
  function isMnemonicInterface(x) {
74
24
  return core.isIndexable(x) && typeof x.toSeed === "function";
75
25
  }
76
- class NativeHDWalletInfoBase {
26
+ export class NativeHDWalletInfoBase {
77
27
  getVendor() {
78
28
  return "Native";
79
29
  }
@@ -106,15 +56,14 @@ class NativeHDWalletInfoBase {
106
56
  throw new Error("unreachable");
107
57
  }
108
58
  }
109
- exports.NativeHDWalletInfoBase = NativeHDWalletInfoBase;
110
- class NativeHDWalletBase extends NativeHDWalletInfoBase {
59
+ export class NativeHDWalletBase extends NativeHDWalletInfoBase {
60
+ #events;
111
61
  constructor() {
112
62
  super();
113
- _NativeHDWalletBase_events.set(this, void 0);
114
- __classPrivateFieldSet(this, _NativeHDWalletBase_events, new eventemitter2.EventEmitter2(), "f");
63
+ this.#events = new eventemitter2.EventEmitter2();
115
64
  }
116
65
  get events() {
117
- return __classPrivateFieldGet(this, _NativeHDWalletBase_events, "f");
66
+ return this.#events;
118
67
  }
119
68
  /**
120
69
  * Wrap a function call that needs a mnemonic seed
@@ -124,16 +73,14 @@ class NativeHDWalletBase extends NativeHDWalletInfoBase {
124
73
  if (hasMnemonic) {
125
74
  return callback();
126
75
  }
127
- __classPrivateFieldGet(this, _NativeHDWalletBase_events, "f").emit(NativeEvents.MNEMONIC_REQUIRED, core.makeEvent({
76
+ this.#events.emit(NativeEvents.MNEMONIC_REQUIRED, core.makeEvent({
128
77
  message_type: NativeEvents.MNEMONIC_REQUIRED,
129
78
  from_wallet: true,
130
79
  }));
131
80
  return null;
132
81
  }
133
82
  }
134
- exports.NativeHDWalletBase = NativeHDWalletBase;
135
- _NativeHDWalletBase_events = new WeakMap();
136
- class NativeHDWalletInfo extends (0, bitcoin_1.MixinNativeBTCWalletInfo)((0, fio_1.MixinNativeFioWalletInfo)((0, ethereum_1.MixinNativeETHWalletInfo)((0, cosmos_1.MixinNativeCosmosWalletInfo)((0, binance_1.MixinNativeBinanceWalletInfo)((0, thorchain_1.MixinNativeThorchainWalletInfo)((0, secret_1.MixinNativeSecretWalletInfo)((0, terra_1.MixinNativeTerraWalletInfo)((0, kava_1.MixinNativeKavaWalletInfo)((0, arkeo_1.MixinNativeArkeoWalletInfo)((0, osmosis_1.MixinNativeOsmosisWalletInfo)(NativeHDWalletBase))))))))))) {
83
+ class NativeHDWalletInfo extends MixinNativeBTCWalletInfo(MixinNativeFioWalletInfo(MixinNativeETHWalletInfo(MixinNativeCosmosWalletInfo(MixinNativeBinanceWalletInfo(MixinNativeThorchainWalletInfo(MixinNativeSecretWalletInfo(MixinNativeTerraWalletInfo(MixinNativeKavaWalletInfo(MixinNativeArkeoWalletInfo(MixinNativeOsmosisWalletInfo(NativeHDWalletBase))))))))))) {
137
84
  describePath(msg) {
138
85
  switch (msg.coin.toLowerCase()) {
139
86
  case "bitcoin":
@@ -185,272 +132,197 @@ class NativeHDWalletInfo extends (0, bitcoin_1.MixinNativeBTCWalletInfo)((0, fio
185
132
  }
186
133
  }
187
134
  }
188
- class NativeHDWallet extends (0, bitcoin_1.MixinNativeBTCWallet)((0, fio_1.MixinNativeFioWallet)((0, ethereum_1.MixinNativeETHWallet)((0, cosmos_1.MixinNativeCosmosWallet)((0, binance_1.MixinNativeBinanceWallet)((0, thorchain_1.MixinNativeThorchainWallet)((0, secret_1.MixinNativeSecretWallet)((0, terra_1.MixinNativeTerraWallet)((0, kava_1.MixinNativeKavaWallet)((0, osmosis_1.MixinNativeOsmosisWallet)((0, arkeo_1.MixinNativeArkeoWallet)(NativeHDWalletInfo))))))))))) {
135
+ export class NativeHDWallet extends MixinNativeBTCWallet(MixinNativeFioWallet(MixinNativeETHWallet(MixinNativeCosmosWallet(MixinNativeBinanceWallet(MixinNativeThorchainWallet(MixinNativeSecretWallet(MixinNativeTerraWallet(MixinNativeKavaWallet(MixinNativeOsmosisWallet(MixinNativeArkeoWallet(NativeHDWalletInfo))))))))))) {
136
+ _supportsBTC = true;
137
+ _supportsETH = true;
138
+ _supportsCosmos = true;
139
+ _supportsEthSwitchChain = false;
140
+ _supportsAvalanche = true;
141
+ _supportsOptimism = true;
142
+ _supportsBSC = true;
143
+ _supportsPolygon = true;
144
+ _supportsGnosis = true;
145
+ _supportsArbitrum = true;
146
+ _supportsArbitrumNova = true;
147
+ _supportsBase = true;
148
+ _supportsOsmosis = true;
149
+ _supportsBinance = true;
150
+ _supportsFio = true;
151
+ _supportsThorchain = true;
152
+ _supportsSecret = true;
153
+ _supportsTerra = true;
154
+ _supportsKava = true;
155
+ _supportsArkeo = true;
156
+ _isNative = true;
157
+ #deviceId;
158
+ #initialized = false;
159
+ #masterKey = undefined;
189
160
  constructor({ mnemonic, deviceId, masterKey }) {
190
161
  super();
191
- this._supportsBTC = true;
192
- this._supportsETH = true;
193
- this._supportsCosmos = true;
194
- this._supportsEthSwitchChain = false;
195
- this._supportsAvalanche = true;
196
- this._supportsOptimism = true;
197
- this._supportsBSC = true;
198
- this._supportsPolygon = true;
199
- this._supportsGnosis = true;
200
- this._supportsArbitrum = true;
201
- this._supportsArbitrumNova = true;
202
- this._supportsBase = true;
203
- this._supportsOsmosis = true;
204
- this._supportsBinance = true;
205
- this._supportsFio = true;
206
- this._supportsThorchain = true;
207
- this._supportsSecret = true;
208
- this._supportsTerra = true;
209
- this._supportsKava = true;
210
- this._supportsArkeo = true;
211
- this._isNative = true;
212
- _NativeHDWallet_deviceId.set(this, void 0);
213
- _NativeHDWallet_initialized.set(this, false);
214
- _NativeHDWallet_masterKey.set(this, undefined);
215
162
  if (masterKey) {
216
- __classPrivateFieldSet(this, _NativeHDWallet_masterKey, Promise.resolve(masterKey), "f");
163
+ this.#masterKey = Promise.resolve(masterKey);
217
164
  }
218
165
  else if (mnemonic) {
219
- __classPrivateFieldSet(this, _NativeHDWallet_masterKey, (() => __awaiter(this, void 0, void 0, function* () {
220
- const isolatedMnemonic = typeof mnemonic === "string" ? yield Isolation.Engines.Default.BIP39.Mnemonic.create(mnemonic) : mnemonic;
221
- const seed = yield isolatedMnemonic.toSeed();
222
- return yield seed.toMasterKey();
223
- }))(), "f");
166
+ this.#masterKey = (async () => {
167
+ const isolatedMnemonic = typeof mnemonic === "string" ? await Isolation.Engines.Default.BIP39.Mnemonic.create(mnemonic) : mnemonic;
168
+ const seed = await isolatedMnemonic.toSeed();
169
+ return await seed.toMasterKey();
170
+ })();
224
171
  }
225
- __classPrivateFieldSet(this, _NativeHDWallet_deviceId, deviceId, "f");
172
+ this.#deviceId = deviceId;
226
173
  }
227
- getFeatures() {
228
- return __awaiter(this, void 0, void 0, function* () {
229
- return {};
230
- });
174
+ async getFeatures() {
175
+ return {};
231
176
  }
232
- getDeviceID() {
233
- return __awaiter(this, void 0, void 0, function* () {
234
- return __classPrivateFieldGet(this, _NativeHDWallet_deviceId, "f");
235
- });
177
+ async getDeviceID() {
178
+ return this.#deviceId;
236
179
  }
237
- getFirmwareVersion() {
238
- return __awaiter(this, void 0, void 0, function* () {
239
- return "Software";
240
- });
180
+ async getFirmwareVersion() {
181
+ return "Software";
241
182
  }
242
- getModel() {
243
- return __awaiter(this, void 0, void 0, function* () {
244
- return "Native";
245
- });
183
+ async getModel() {
184
+ return "Native";
246
185
  }
247
- getLabel() {
248
- return __awaiter(this, void 0, void 0, function* () {
249
- return "Native";
250
- });
186
+ async getLabel() {
187
+ return "Native";
251
188
  }
252
189
  /*
253
190
  * @see: https://github.com/satoshilabs/slips/blob/master/slip-0132.md
254
191
  * to supports different styles of xpubs as can be defined by passing in a network to `fromSeed`
255
192
  */
256
- getPublicKeys(msg) {
257
- return __awaiter(this, void 0, void 0, function* () {
258
- return this.needsMnemonic(!!__classPrivateFieldGet(this, _NativeHDWallet_masterKey, "f"), () => __awaiter(this, void 0, void 0, function* () {
259
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
260
- const masterKey = yield __classPrivateFieldGet(this, _NativeHDWallet_masterKey, "f");
261
- return yield Promise.all(msg.map((getPublicKey) => __awaiter(this, void 0, void 0, function* () {
262
- const { addressNList } = getPublicKey;
263
- const network = (0, networks_1.getNetwork)(getPublicKey.coin, getPublicKey.scriptType);
264
- // TODO: return the xpub that's actually asked for, not the key of the hardened path
265
- // It's done this way for hilarious historical reasons and will break ETH if fixed
266
- const hardenedPath = core.hardenedPath(addressNList);
267
- let node = yield Isolation.Adapters.BIP32.create(masterKey, network);
268
- if (hardenedPath.length > 0)
269
- node = yield node.derivePath(core.addressNListToBIP32(hardenedPath));
270
- const xpub = node.neutered().toBase58();
271
- return { xpub };
272
- })));
193
+ async getPublicKeys(msg) {
194
+ return this.needsMnemonic(!!this.#masterKey, async () => {
195
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
196
+ const masterKey = await this.#masterKey;
197
+ return await Promise.all(msg.map(async (getPublicKey) => {
198
+ const { addressNList } = getPublicKey;
199
+ const network = getNetwork(getPublicKey.coin, getPublicKey.scriptType);
200
+ // TODO: return the xpub that's actually asked for, not the key of the hardened path
201
+ // It's done this way for hilarious historical reasons and will break ETH if fixed
202
+ const hardenedPath = core.hardenedPath(addressNList);
203
+ let node = await Isolation.Adapters.BIP32.create(masterKey, network);
204
+ if (hardenedPath.length > 0)
205
+ node = await node.derivePath(core.addressNListToBIP32(hardenedPath));
206
+ const xpub = node.neutered().toBase58();
207
+ return { xpub };
273
208
  }));
274
209
  });
275
210
  }
276
- isInitialized() {
277
- return __awaiter(this, void 0, void 0, function* () {
278
- return !!__classPrivateFieldGet(this, _NativeHDWallet_initialized, "f");
279
- });
211
+ async isInitialized() {
212
+ return !!this.#initialized;
280
213
  }
281
- isLocked() {
282
- return __awaiter(this, void 0, void 0, function* () {
283
- return false;
284
- });
214
+ async isLocked() {
215
+ return false;
285
216
  }
286
217
  // eslint-disable-next-line @typescript-eslint/no-empty-function
287
- clearSession() {
288
- return __awaiter(this, void 0, void 0, function* () { });
289
- }
290
- initialize() {
291
- const _super = Object.create(null, {
292
- btcInitializeWallet: { get: () => super.btcInitializeWallet },
293
- ethInitializeWallet: { get: () => super.ethInitializeWallet },
294
- cosmosInitializeWallet: { get: () => super.cosmosInitializeWallet },
295
- osmosisInitializeWallet: { get: () => super.osmosisInitializeWallet },
296
- binanceInitializeWallet: { get: () => super.binanceInitializeWallet },
297
- fioInitializeWallet: { get: () => super.fioInitializeWallet },
298
- thorchainInitializeWallet: { get: () => super.thorchainInitializeWallet },
299
- secretInitializeWallet: { get: () => super.secretInitializeWallet },
300
- terraInitializeWallet: { get: () => super.terraInitializeWallet },
301
- kavaInitializeWallet: { get: () => super.kavaInitializeWallet },
302
- arkeoInitializeWallet: { get: () => super.arkeoInitializeWallet }
303
- });
304
- return __awaiter(this, void 0, void 0, function* () {
305
- return this.needsMnemonic(!!__classPrivateFieldGet(this, _NativeHDWallet_masterKey, "f"), () => __awaiter(this, void 0, void 0, function* () {
306
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
307
- const masterKey = yield __classPrivateFieldGet(this, _NativeHDWallet_masterKey, "f");
308
- try {
309
- yield Promise.all([
310
- _super.btcInitializeWallet.call(this, masterKey),
311
- _super.ethInitializeWallet.call(this, masterKey),
312
- _super.cosmosInitializeWallet.call(this, masterKey),
313
- _super.osmosisInitializeWallet.call(this, masterKey),
314
- _super.binanceInitializeWallet.call(this, masterKey),
315
- _super.fioInitializeWallet.call(this, masterKey),
316
- _super.thorchainInitializeWallet.call(this, masterKey),
317
- _super.secretInitializeWallet.call(this, masterKey),
318
- _super.terraInitializeWallet.call(this, masterKey),
319
- _super.kavaInitializeWallet.call(this, masterKey),
320
- _super.arkeoInitializeWallet.call(this, masterKey),
321
- ]);
322
- __classPrivateFieldSet(this, _NativeHDWallet_initialized, true, "f");
323
- }
324
- catch (e) {
325
- console.error("NativeHDWallet:initialize:error", e);
326
- __classPrivateFieldSet(this, _NativeHDWallet_initialized, false, "f");
327
- yield this.wipe();
328
- }
329
- return __classPrivateFieldGet(this, _NativeHDWallet_initialized, "f");
330
- }));
218
+ async clearSession() { }
219
+ async initialize() {
220
+ return this.needsMnemonic(!!this.#masterKey, async () => {
221
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
222
+ const masterKey = await this.#masterKey;
223
+ try {
224
+ await Promise.all([
225
+ super.btcInitializeWallet(masterKey),
226
+ super.ethInitializeWallet(masterKey),
227
+ super.cosmosInitializeWallet(masterKey),
228
+ super.osmosisInitializeWallet(masterKey),
229
+ super.binanceInitializeWallet(masterKey),
230
+ super.fioInitializeWallet(masterKey),
231
+ super.thorchainInitializeWallet(masterKey),
232
+ super.secretInitializeWallet(masterKey),
233
+ super.terraInitializeWallet(masterKey),
234
+ super.kavaInitializeWallet(masterKey),
235
+ super.arkeoInitializeWallet(masterKey),
236
+ ]);
237
+ this.#initialized = true;
238
+ }
239
+ catch (e) {
240
+ console.error("NativeHDWallet:initialize:error", e);
241
+ this.#initialized = false;
242
+ await this.wipe();
243
+ }
244
+ return this.#initialized;
331
245
  });
332
246
  }
333
- ping(msg) {
334
- return __awaiter(this, void 0, void 0, function* () {
335
- return { msg: msg.msg };
336
- });
247
+ async ping(msg) {
248
+ return { msg: msg.msg };
337
249
  }
338
250
  // eslint-disable-next-line @typescript-eslint/no-empty-function
339
- sendPin() {
340
- return __awaiter(this, void 0, void 0, function* () { });
341
- }
251
+ async sendPin() { }
342
252
  // eslint-disable-next-line @typescript-eslint/no-empty-function
343
- sendPassphrase() {
344
- return __awaiter(this, void 0, void 0, function* () { });
345
- }
253
+ async sendPassphrase() { }
346
254
  // eslint-disable-next-line @typescript-eslint/no-empty-function
347
- sendCharacter() {
348
- return __awaiter(this, void 0, void 0, function* () { });
349
- }
255
+ async sendCharacter() { }
350
256
  // eslint-disable-next-line @typescript-eslint/no-empty-function
351
- sendWord() {
352
- return __awaiter(this, void 0, void 0, function* () { });
353
- }
257
+ async sendWord() { }
354
258
  // eslint-disable-next-line @typescript-eslint/no-empty-function
355
- cancel() {
356
- return __awaiter(this, void 0, void 0, function* () { });
357
- }
358
- wipe() {
359
- const _super = Object.create(null, {
360
- btcWipe: { get: () => super.btcWipe },
361
- ethWipe: { get: () => super.ethWipe },
362
- cosmosWipe: { get: () => super.cosmosWipe },
363
- osmosisWipe: { get: () => super.osmosisWipe },
364
- binanceWipe: { get: () => super.binanceWipe },
365
- fioWipe: { get: () => super.fioWipe },
366
- thorchainWipe: { get: () => super.thorchainWipe },
367
- secretWipe: { get: () => super.secretWipe },
368
- terraWipe: { get: () => super.terraWipe },
369
- kavaWipe: { get: () => super.kavaWipe },
370
- arkeoWipe: { get: () => super.arkeoWipe }
371
- });
372
- var _a, _b;
373
- return __awaiter(this, void 0, void 0, function* () {
374
- const oldMasterKey = __classPrivateFieldGet(this, _NativeHDWallet_masterKey, "f");
375
- __classPrivateFieldSet(this, _NativeHDWallet_initialized, false, "f");
376
- __classPrivateFieldSet(this, _NativeHDWallet_masterKey, undefined, "f");
377
- _super.btcWipe.call(this);
378
- _super.ethWipe.call(this);
379
- _super.cosmosWipe.call(this);
380
- _super.osmosisWipe.call(this);
381
- _super.binanceWipe.call(this);
382
- _super.fioWipe.call(this);
383
- _super.thorchainWipe.call(this);
384
- _super.secretWipe.call(this);
385
- _super.terraWipe.call(this);
386
- _super.kavaWipe.call(this);
387
- _super.arkeoWipe.call(this);
388
- (_b = (_a = (yield oldMasterKey)) === null || _a === void 0 ? void 0 : _a.revoke) === null || _b === void 0 ? void 0 : _b.call(_a);
389
- });
259
+ async cancel() { }
260
+ async wipe() {
261
+ const oldMasterKey = this.#masterKey;
262
+ this.#initialized = false;
263
+ this.#masterKey = undefined;
264
+ super.btcWipe();
265
+ super.ethWipe();
266
+ super.cosmosWipe();
267
+ super.osmosisWipe();
268
+ super.binanceWipe();
269
+ super.fioWipe();
270
+ super.thorchainWipe();
271
+ super.secretWipe();
272
+ super.terraWipe();
273
+ super.kavaWipe();
274
+ super.arkeoWipe();
275
+ (await oldMasterKey)?.revoke?.();
390
276
  }
391
277
  // eslint-disable-next-line @typescript-eslint/no-empty-function
392
- reset() {
393
- return __awaiter(this, void 0, void 0, function* () { });
394
- }
278
+ async reset() { }
395
279
  // eslint-disable-next-line @typescript-eslint/no-empty-function
396
- recover() {
397
- return __awaiter(this, void 0, void 0, function* () { });
398
- }
399
- loadDevice(msg) {
400
- return __awaiter(this, void 0, void 0, function* () {
401
- __classPrivateFieldSet(this, _NativeHDWallet_masterKey, Promise.resolve(yield ((mnemonic, masterKey) => __awaiter(this, void 0, void 0, function* () {
402
- var _a, _b;
403
- if (masterKey !== undefined) {
404
- return masterKey;
405
- }
406
- else if (mnemonic !== undefined) {
407
- const isolatedMnemonic = yield (() => __awaiter(this, void 0, void 0, function* () {
408
- if (isMnemonicInterface(mnemonic))
409
- return mnemonic;
410
- if (typeof mnemonic === "string" && bip39.validateMnemonic(mnemonic)) {
411
- return yield Isolation.Engines.Default.BIP39.Mnemonic.create(mnemonic);
412
- }
413
- throw new Error("Required property [mnemonic] is invalid");
414
- }))();
415
- const seed = yield isolatedMnemonic.toSeed();
416
- (_a = seed.addRevoker) === null || _a === void 0 ? void 0 : _a.call(seed, () => { var _a; return (_a = isolatedMnemonic.revoke) === null || _a === void 0 ? void 0 : _a.call(isolatedMnemonic); });
417
- const out = yield seed.toMasterKey();
418
- (_b = out.addRevoker) === null || _b === void 0 ? void 0 : _b.call(out, () => { var _a; return (_a = seed.revoke) === null || _a === void 0 ? void 0 : _a.call(seed); });
419
- return out;
420
- }
421
- throw new Error("Either [mnemonic] or [masterKey] is required");
422
- }))(msg === null || msg === void 0 ? void 0 : msg.mnemonic, msg === null || msg === void 0 ? void 0 : msg.masterKey)), "f");
423
- if (typeof (msg === null || msg === void 0 ? void 0 : msg.deviceId) === "string")
424
- __classPrivateFieldSet(this, _NativeHDWallet_deviceId, msg === null || msg === void 0 ? void 0 : msg.deviceId, "f");
425
- __classPrivateFieldSet(this, _NativeHDWallet_initialized, false, "f");
426
- yield this.initialize();
427
- // Once we've been seeded with a mnemonic we re-emit the connected event
428
- this.events.emit(NativeEvents.READY, core.makeEvent({
429
- message_type: NativeEvents.READY,
430
- from_wallet: true,
431
- }));
432
- });
280
+ async recover() { }
281
+ async loadDevice(msg) {
282
+ this.#masterKey = Promise.resolve(await (async (mnemonic, masterKey) => {
283
+ if (masterKey !== undefined) {
284
+ return masterKey;
285
+ }
286
+ else if (mnemonic !== undefined) {
287
+ const isolatedMnemonic = await (async () => {
288
+ if (isMnemonicInterface(mnemonic))
289
+ return mnemonic;
290
+ if (typeof mnemonic === "string" && bip39.validateMnemonic(mnemonic)) {
291
+ return await Isolation.Engines.Default.BIP39.Mnemonic.create(mnemonic);
292
+ }
293
+ throw new Error("Required property [mnemonic] is invalid");
294
+ })();
295
+ const seed = await isolatedMnemonic.toSeed();
296
+ seed.addRevoker?.(() => isolatedMnemonic.revoke?.());
297
+ const out = await seed.toMasterKey();
298
+ out.addRevoker?.(() => seed.revoke?.());
299
+ return out;
300
+ }
301
+ throw new Error("Either [mnemonic] or [masterKey] is required");
302
+ })(msg?.mnemonic, msg?.masterKey));
303
+ if (typeof msg?.deviceId === "string")
304
+ this.#deviceId = msg?.deviceId;
305
+ this.#initialized = false;
306
+ await this.initialize();
307
+ // Once we've been seeded with a mnemonic we re-emit the connected event
308
+ this.events.emit(NativeEvents.READY, core.makeEvent({
309
+ message_type: NativeEvents.READY,
310
+ from_wallet: true,
311
+ }));
433
312
  }
434
- disconnect() {
435
- return __awaiter(this, void 0, void 0, function* () {
436
- yield this.wipe();
437
- });
313
+ async disconnect() {
314
+ await this.wipe();
438
315
  }
439
316
  }
440
- exports.NativeHDWallet = NativeHDWallet;
441
- _NativeHDWallet_deviceId = new WeakMap(), _NativeHDWallet_initialized = new WeakMap(), _NativeHDWallet_masterKey = new WeakMap();
442
- function isNative(wallet) {
443
- return (0, isObject_1.default)(wallet) && wallet._isNative;
317
+ export function isNative(wallet) {
318
+ return isObject(wallet) && wallet._isNative;
444
319
  }
445
- exports.isNative = isNative;
446
- function info() {
320
+ export function info() {
447
321
  return new NativeHDWalletInfo();
448
322
  }
449
- exports.info = info;
450
- function create(args) {
323
+ export function create(args) {
451
324
  return new NativeHDWallet(args);
452
325
  }
453
- exports.create = create;
454
326
  // This prevents any malicious code from overwriting the prototype
455
327
  // to potentially steal the mnemonic when calling "loadDevice"
456
328
  Object.freeze(Object.getPrototypeOf(NativeHDWallet));
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}