@keplr-wallet/background 0.10.3 → 0.10.4

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 (91) hide show
  1. package/build/chains/handler.js +2 -1
  2. package/build/chains/handler.js.map +1 -1
  3. package/build/chains/messages.js +2 -2
  4. package/build/chains/messages.js.map +1 -1
  5. package/build/chains/service.js +6 -5
  6. package/build/chains/service.js.map +1 -1
  7. package/build/chains/types.js +2 -1
  8. package/build/chains/types.js.map +1 -1
  9. package/build/interaction/foreground/handler.js +2 -1
  10. package/build/interaction/foreground/handler.js.map +1 -1
  11. package/build/interaction/foreground/messages.js +2 -2
  12. package/build/interaction/foreground/messages.js.map +1 -1
  13. package/build/interaction/handler.js +2 -1
  14. package/build/interaction/handler.js.map +1 -1
  15. package/build/interaction/service.js +5 -4
  16. package/build/interaction/service.js.map +1 -1
  17. package/build/keyring/crypto.js +4 -3
  18. package/build/keyring/crypto.js.map +1 -1
  19. package/build/keyring/handler.js +2 -1
  20. package/build/keyring/handler.js.map +1 -1
  21. package/build/keyring/keyring.js +48 -47
  22. package/build/keyring/keyring.js.map +1 -1
  23. package/build/keyring/messages.js +44 -44
  24. package/build/keyring/messages.js.map +1 -1
  25. package/build/keyring/service.js +10 -10
  26. package/build/keyring/service.js.map +1 -1
  27. package/build/ledger/handler.js +2 -1
  28. package/build/ledger/handler.js.map +1 -1
  29. package/build/ledger/ledger.js +5 -4
  30. package/build/ledger/ledger.js.map +1 -1
  31. package/build/ledger/messages.js +1 -1
  32. package/build/ledger/messages.js.map +1 -1
  33. package/build/ledger/service.js +5 -5
  34. package/build/ledger/service.js.map +1 -1
  35. package/build/permission/handler.js +2 -1
  36. package/build/permission/handler.js.map +1 -1
  37. package/build/permission/messages.js +11 -11
  38. package/build/permission/messages.js.map +1 -1
  39. package/build/permission/service.js +2 -1
  40. package/build/permission/service.js.map +1 -1
  41. package/build/secret-wasm/handler.js +2 -1
  42. package/build/secret-wasm/handler.js.map +1 -1
  43. package/build/secret-wasm/messages.js +9 -9
  44. package/build/secret-wasm/messages.js.map +1 -1
  45. package/build/secret-wasm/service.js +5 -4
  46. package/build/secret-wasm/service.js.map +1 -1
  47. package/build/tokens/handler.js +2 -1
  48. package/build/tokens/handler.js.map +1 -1
  49. package/build/tokens/messages.js +7 -7
  50. package/build/tokens/messages.js.map +1 -1
  51. package/build/tokens/service.js +3 -2
  52. package/build/tokens/service.js.map +1 -1
  53. package/build/tx/handler.js +2 -1
  54. package/build/tx/handler.js.map +1 -1
  55. package/build/tx/messages.js +3 -3
  56. package/build/tx/messages.js.map +1 -1
  57. package/build/updater/handler.js +2 -1
  58. package/build/updater/handler.js.map +1 -1
  59. package/build/updater/messages.js +1 -1
  60. package/build/updater/messages.js.map +1 -1
  61. package/package.json +10 -10
  62. package/src/chains/handler.ts +8 -2
  63. package/src/chains/messages.ts +3 -3
  64. package/src/chains/service.ts +14 -6
  65. package/src/chains/types.ts +6 -1
  66. package/src/interaction/foreground/handler.ts +8 -2
  67. package/src/interaction/foreground/messages.ts +3 -3
  68. package/src/interaction/handler.ts +8 -2
  69. package/src/interaction/service.ts +5 -4
  70. package/src/keyring/crypto.ts +4 -3
  71. package/src/keyring/handler.ts +8 -2
  72. package/src/keyring/keyring.ts +92 -48
  73. package/src/keyring/messages.ts +49 -45
  74. package/src/keyring/service.ts +23 -11
  75. package/src/ledger/handler.ts +8 -2
  76. package/src/ledger/ledger.ts +5 -4
  77. package/src/ledger/messages.ts +2 -2
  78. package/src/ledger/service.ts +6 -6
  79. package/src/permission/handler.ts +8 -2
  80. package/src/permission/messages.ts +12 -12
  81. package/src/permission/service.ts +2 -2
  82. package/src/secret-wasm/handler.ts +8 -2
  83. package/src/secret-wasm/messages.ts +10 -10
  84. package/src/secret-wasm/service.ts +5 -5
  85. package/src/tokens/handler.ts +8 -2
  86. package/src/tokens/messages.ts +8 -8
  87. package/src/tokens/service.ts +3 -3
  88. package/src/tx/handler.ts +8 -2
  89. package/src/tx/messages.ts +4 -4
  90. package/src/updater/handler.ts +8 -2
  91. package/src/updater/messages.ts +2 -2
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.KeyRing = exports.KeyRingStatus = void 0;
32
32
  const crypto_1 = require("./crypto");
33
33
  const crypto_2 = require("@keplr-wallet/crypto");
34
+ const router_1 = require("@keplr-wallet/router");
34
35
  const buffer_1 = require("buffer/");
35
36
  const cosmos_1 = require("@keplr-wallet/cosmos");
36
37
  const wallet_1 = require("@ethersproject/wallet");
@@ -69,7 +70,7 @@ class KeyRing {
69
70
  return "mnemonic";
70
71
  }
71
72
  if (type !== "mnemonic" && type !== "privateKey" && type !== "ledger") {
72
- throw new Error("Invalid type of key store");
73
+ throw new router_1.KeplrError("keyring", 132, "Invalid type of key store");
73
74
  }
74
75
  return type;
75
76
  }
@@ -149,7 +150,7 @@ class KeyRing {
149
150
  computeKeyStoreCoinType(chainId, defaultCoinType) {
150
151
  var _a;
151
152
  if (!this.keyStore) {
152
- throw new Error("Key Store is empty");
153
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
153
154
  }
154
155
  return this.keyStore.coinTypeForChain
155
156
  ? (_a = this.keyStore.coinTypeForChain[cosmos_1.ChainIdHelper.parse(chainId).identifier]) !== null && _a !== void 0 ? _a : defaultCoinType : defaultCoinType;
@@ -160,7 +161,7 @@ class KeyRing {
160
161
  createMnemonicKey(kdf, mnemonic, password, meta, bip44HDPath) {
161
162
  return __awaiter(this, void 0, void 0, function* () {
162
163
  if (this.status !== KeyRingStatus.EMPTY) {
163
- throw new Error("Key ring is not loaded or not empty");
164
+ throw new router_1.KeplrError("keyring", 142, "Key ring is not loaded or not empty");
164
165
  }
165
166
  this.mnemonicMasterSeed = crypto_2.Mnemonic.generateMasterSeedFromMnemonic(mnemonic);
166
167
  this.keyStore = yield KeyRing.CreateMnemonicKeyStore(this.rng, this.crypto, kdf, mnemonic, password, yield this.assignKeyStoreIdMeta(meta), bip44HDPath);
@@ -176,7 +177,7 @@ class KeyRing {
176
177
  createPrivateKey(kdf, privateKey, password, meta) {
177
178
  return __awaiter(this, void 0, void 0, function* () {
178
179
  if (this.status !== KeyRingStatus.EMPTY) {
179
- throw new Error("Key ring is not loaded or not empty");
180
+ throw new router_1.KeplrError("keyring", 142, "Key ring is not loaded or not empty");
180
181
  }
181
182
  this.privateKey = privateKey;
182
183
  this.keyStore = yield KeyRing.CreatePrivateKeyStore(this.rng, this.crypto, kdf, privateKey, password, yield this.assignKeyStoreIdMeta(meta));
@@ -192,7 +193,7 @@ class KeyRing {
192
193
  createLedgerKey(env, kdf, password, meta, bip44HDPath) {
193
194
  return __awaiter(this, void 0, void 0, function* () {
194
195
  if (this.status !== KeyRingStatus.EMPTY) {
195
- throw new Error("Key ring is not loaded or not empty");
196
+ throw new router_1.KeplrError("keyring", 142, "Key ring is not loaded or not empty");
196
197
  }
197
198
  // Get public key first
198
199
  this.ledgerPublicKey = yield this.ledgerKeeper.getPublicKey(env, bip44HDPath);
@@ -209,7 +210,7 @@ class KeyRing {
209
210
  }
210
211
  lock() {
211
212
  if (this.status !== KeyRingStatus.UNLOCKED) {
212
- throw new Error("Key ring is not unlocked");
213
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
213
214
  }
214
215
  this.mnemonicMasterSeed = undefined;
215
216
  this.privateKey = undefined;
@@ -219,7 +220,7 @@ class KeyRing {
219
220
  unlock(password) {
220
221
  return __awaiter(this, void 0, void 0, function* () {
221
222
  if (!this.keyStore || this.type === "none") {
222
- throw new Error("Key ring not initialized");
223
+ throw new router_1.KeplrError("keyring", 144, "Key ring not initialized");
223
224
  }
224
225
  if (this.type === "mnemonic") {
225
226
  // If password is invalid, error will be thrown.
@@ -233,7 +234,7 @@ class KeyRing {
233
234
  this.ledgerPublicKey = buffer_1.Buffer.from(buffer_1.Buffer.from(yield crypto_1.Crypto.decrypt(this.crypto, this.keyStore, password)).toString(), "hex");
234
235
  }
235
236
  else {
236
- throw new Error("Unexpected type of keyring");
237
+ throw new router_1.KeplrError("keyring", 145, "Unexpected type of keyring");
237
238
  }
238
239
  this.password = password;
239
240
  });
@@ -255,7 +256,7 @@ class KeyRing {
255
256
  }
256
257
  const multiKeyStore = yield this.kvStore.get(KeyMultiStoreKey);
257
258
  if (!multiKeyStore) {
258
- // Restore the multi keystore if key store exist but multi key store is empty.
259
+ // Restore the multi keystore if key store exist 13t multi Key store is empty.
259
260
  // This case will occur if extension is updated from the prior version that doesn't support the multi key store.
260
261
  // This line ensures the backward compatibility.
261
262
  if (keyStore) {
@@ -315,7 +316,7 @@ class KeyRing {
315
316
  }
316
317
  isKeyStoreCoinTypeSet(chainId) {
317
318
  if (!this.keyStore) {
318
- throw new Error("Empty key store");
319
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
319
320
  }
320
321
  return (this.keyStore.coinTypeForChain &&
321
322
  this.keyStore.coinTypeForChain[cosmos_1.ChainIdHelper.parse(chainId).identifier] !== undefined);
@@ -323,11 +324,11 @@ class KeyRing {
323
324
  setKeyStoreCoinType(chainId, coinType) {
324
325
  return __awaiter(this, void 0, void 0, function* () {
325
326
  if (!this.keyStore) {
326
- throw new Error("Empty key store");
327
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
327
328
  }
328
329
  if (this.keyStore.coinTypeForChain &&
329
330
  this.keyStore.coinTypeForChain[cosmos_1.ChainIdHelper.parse(chainId).identifier] !== undefined) {
330
- throw new Error("Coin type already set");
331
+ throw new router_1.KeplrError("keyring", 110, "Coin type already set");
331
332
  }
332
333
  this.keyStore.coinTypeForChain = Object.assign(Object.assign({}, this.keyStore.coinTypeForChain), { [cosmos_1.ChainIdHelper.parse(chainId).identifier]: coinType });
333
334
  const keyStoreInMulti = this.multiKeyStore.find((keyStore) => {
@@ -344,14 +345,14 @@ class KeyRing {
344
345
  deleteKeyRing(index, password) {
345
346
  return __awaiter(this, void 0, void 0, function* () {
346
347
  if (this.status !== KeyRingStatus.UNLOCKED) {
347
- throw new Error("Key ring is not unlocked");
348
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
348
349
  }
349
350
  if (this.password !== password) {
350
- throw new Error("Invalid password");
351
+ throw new router_1.KeplrError("keyring", 121, "Invalid password");
351
352
  }
352
353
  const keyStore = this.multiKeyStore[index];
353
354
  if (!keyStore) {
354
- throw new Error("Empty key store");
355
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
355
356
  }
356
357
  const multiKeyStore = this.multiKeyStore
357
358
  .slice(0, index)
@@ -392,11 +393,11 @@ class KeyRing {
392
393
  updateNameKeyRing(index, name) {
393
394
  return __awaiter(this, void 0, void 0, function* () {
394
395
  if (this.status !== KeyRingStatus.UNLOCKED) {
395
- throw new Error("Key ring is not unlocked");
396
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
396
397
  }
397
398
  const keyStore = this.multiKeyStore[index];
398
399
  if (!keyStore) {
399
- throw new Error("Empty key store");
400
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
400
401
  }
401
402
  keyStore.meta = Object.assign(Object.assign({}, keyStore.meta), { name: name });
402
403
  // If select key store and changed store are same, sync keystore
@@ -410,17 +411,17 @@ class KeyRing {
410
411
  }
411
412
  loadKey(coinType) {
412
413
  if (this.status !== KeyRingStatus.UNLOCKED) {
413
- throw new Error("Key ring is not unlocked");
414
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
414
415
  }
415
416
  if (!this.keyStore) {
416
- throw new Error("Key Store is empty");
417
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
417
418
  }
418
419
  if (this.keyStore.type === "ledger") {
419
420
  if (!this.ledgerPublicKey) {
420
- throw new Error("Ledger public key not set");
421
+ throw new router_1.KeplrError("keyring", 150, "Ledger public key not set");
421
422
  }
422
423
  if (coinType === 60) {
423
- throw new Error("Ledger is not compatible with this coinType right now");
424
+ throw new router_1.KeplrError("keyring", 152, "Ledger is not compatible with this coinType right now");
424
425
  }
425
426
  const pubKey = new crypto_2.PubKeySecp256k1(this.ledgerPublicKey);
426
427
  return {
@@ -457,7 +458,7 @@ class KeyRing {
457
458
  if (this.status !== KeyRingStatus.UNLOCKED ||
458
459
  this.type === "none" ||
459
460
  !this.keyStore) {
460
- throw new Error("Key ring is not unlocked");
461
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
461
462
  }
462
463
  const bip44HDPath = KeyRing.getKeyStoreBIP44Path(this.keyStore);
463
464
  if (this.type === "mnemonic") {
@@ -467,7 +468,7 @@ class KeyRing {
467
468
  return new crypto_2.PrivKeySecp256k1(cachedKey);
468
469
  }
469
470
  if (!this.mnemonicMasterSeed) {
470
- throw new Error("Key store type is mnemonic and it is unlocked. But, mnemonic is not loaded unexpectedly");
471
+ throw new router_1.KeplrError("keyring", 133, "Key store type is mnemonic and it is unlocked. But, mnemonic is not loaded unexpectedly");
471
472
  }
472
473
  const privKey = crypto_2.Mnemonic.generatePrivateKeyFromMasterSeed(this.mnemonicMasterSeed, path);
473
474
  this.cached.set(path, privKey);
@@ -476,21 +477,21 @@ class KeyRing {
476
477
  else if (this.type === "privateKey") {
477
478
  // If key store type is private key, path will be ignored.
478
479
  if (!this.privateKey) {
479
- throw new Error("Key store type is private key and it is unlocked. But, private key is not loaded unexpectedly");
480
+ throw new router_1.KeplrError("keyring", 134, "Key store type is private key and it is unlocked. But, private key is not loaded unexpectedly");
480
481
  }
481
482
  return new crypto_2.PrivKeySecp256k1(this.privateKey);
482
483
  }
483
484
  else {
484
- throw new Error("Unexpected type of keyring");
485
+ throw new router_1.KeplrError("keyring", 145, "Unexpected type of keyring");
485
486
  }
486
487
  }
487
488
  sign(env, chainId, defaultCoinType, message) {
488
489
  return __awaiter(this, void 0, void 0, function* () {
489
490
  if (this.status !== KeyRingStatus.UNLOCKED) {
490
- throw new Error("Key ring is not unlocked");
491
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
491
492
  }
492
493
  if (!this.keyStore) {
493
- throw new Error("Key Store is empty");
494
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
494
495
  }
495
496
  // Sign with Evmos/Ethereum
496
497
  const coinType = this.computeKeyStoreCoinType(chainId, defaultCoinType);
@@ -500,7 +501,7 @@ class KeyRing {
500
501
  if (this.keyStore.type === "ledger") {
501
502
  const pubKey = this.ledgerPublicKey;
502
503
  if (!pubKey) {
503
- throw new Error("Ledger public key is not initialized");
504
+ throw new router_1.KeplrError("keyring", 151, "Ledger public key is not initialized");
504
505
  }
505
506
  return yield this.ledgerKeeper.sign(env, KeyRing.getKeyStoreBIP44Path(this.keyStore), pubKey, message);
506
507
  }
@@ -514,19 +515,19 @@ class KeyRing {
514
515
  signEthereum(chainId, defaultCoinType, message) {
515
516
  return __awaiter(this, void 0, void 0, function* () {
516
517
  if (this.status !== KeyRingStatus.UNLOCKED) {
517
- throw new Error("Key ring is not unlocked");
518
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
518
519
  }
519
520
  if (!this.keyStore) {
520
- throw new Error("Key Store is empty");
521
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
521
522
  }
522
523
  if (this.keyStore.type === "ledger") {
523
524
  // TODO: Ethereum Ledger Integration
524
- throw new Error("Ethereum signing with Ledger is not yet supported");
525
+ throw new router_1.KeplrError("keyring", 112, "Ethereum signing with Ledger is not yet supported");
525
526
  }
526
527
  else {
527
528
  const coinType = this.computeKeyStoreCoinType(chainId, defaultCoinType);
528
529
  if (coinType !== 60) {
529
- throw new Error("Invalid coin type passed in to Ethereum signing (expected 60)");
530
+ throw new router_1.KeplrError("keyring", 111, "Invalid coin type passed in to Ethereum signing (expected 60)");
530
531
  }
531
532
  const privKey = this.loadPrivKey(coinType);
532
533
  // Use ether js to sign Ethereum tx
@@ -543,14 +544,14 @@ class KeyRing {
543
544
  showKeyRing(index, password) {
544
545
  return __awaiter(this, void 0, void 0, function* () {
545
546
  if (this.status !== KeyRingStatus.UNLOCKED) {
546
- throw new Error("Key ring is not unlocked");
547
+ throw new router_1.KeplrError("keyring", 143, "Key ring is not unlocked");
547
548
  }
548
549
  if (this.password !== password) {
549
- throw new Error("Invalid password");
550
+ throw new router_1.KeplrError("keyring", 121, "Invalid password");
550
551
  }
551
552
  const keyStore = this.multiKeyStore[index];
552
553
  if (!keyStore) {
553
- throw new Error("Empty key store");
554
+ throw new router_1.KeplrError("keyring", 130, "Key store is empty");
554
555
  }
555
556
  if (keyStore.type === "mnemonic") {
556
557
  // If password is invalid, error will be thrown.
@@ -568,7 +569,7 @@ class KeyRing {
568
569
  addMnemonicKey(kdf, mnemonic, meta, bip44HDPath) {
569
570
  return __awaiter(this, void 0, void 0, function* () {
570
571
  if (this.status !== KeyRingStatus.UNLOCKED || this.password == "") {
571
- throw new Error("Key ring is locked or not initialized");
572
+ throw new router_1.KeplrError("keyring", 141, "Key ring is locked or not initialized");
572
573
  }
573
574
  const keyStore = yield KeyRing.CreateMnemonicKeyStore(this.rng, this.crypto, kdf, mnemonic, this.password, yield this.assignKeyStoreIdMeta(meta), bip44HDPath);
574
575
  this.multiKeyStore.push(keyStore);
@@ -581,7 +582,7 @@ class KeyRing {
581
582
  addPrivateKey(kdf, privateKey, meta) {
582
583
  return __awaiter(this, void 0, void 0, function* () {
583
584
  if (this.status !== KeyRingStatus.UNLOCKED || this.password == "") {
584
- throw new Error("Key ring is locked or not initialized");
585
+ throw new router_1.KeplrError("keyring", 141, "Key ring is locked or not initialized");
585
586
  }
586
587
  const keyStore = yield KeyRing.CreatePrivateKeyStore(this.rng, this.crypto, kdf, privateKey, this.password, yield this.assignKeyStoreIdMeta(meta));
587
588
  this.multiKeyStore.push(keyStore);
@@ -594,7 +595,7 @@ class KeyRing {
594
595
  addLedgerKey(env, kdf, meta, bip44HDPath) {
595
596
  return __awaiter(this, void 0, void 0, function* () {
596
597
  if (this.status !== KeyRingStatus.UNLOCKED || this.password == "") {
597
- throw new Error("Key ring is locked or not initialized");
598
+ throw new router_1.KeplrError("keyring", 141, "Key ring is locked or not initialized");
598
599
  }
599
600
  // Get public key first
600
601
  const publicKey = yield this.ledgerKeeper.getPublicKey(env, bip44HDPath);
@@ -609,11 +610,11 @@ class KeyRing {
609
610
  changeKeyStoreFromMultiKeyStore(index) {
610
611
  return __awaiter(this, void 0, void 0, function* () {
611
612
  if (this.status !== KeyRingStatus.UNLOCKED || this.password == "") {
612
- throw new Error("Key ring is locked or not initialized");
613
+ throw new router_1.KeplrError("keyring", 141, "Key ring is locked or not initialized");
613
614
  }
614
615
  const keyStore = this.multiKeyStore[index];
615
616
  if (!keyStore) {
616
- throw new Error("Invalid keystore");
617
+ throw new router_1.KeplrError("keyring", 120, "Invalid keystore");
617
618
  }
618
619
  this.keyStore = keyStore;
619
620
  yield this.unlock(this.password);
@@ -642,7 +643,7 @@ class KeyRing {
642
643
  }
643
644
  checkPassword(password) {
644
645
  if (!this.password) {
645
- throw new Error("Keyring is locked");
646
+ throw new router_1.KeplrError("keyring", 100, "Keyring is locked");
646
647
  }
647
648
  return this.password === password;
648
649
  }
@@ -650,10 +651,10 @@ class KeyRing {
650
651
  var _a, _b, _c, _d, _e;
651
652
  return __awaiter(this, void 0, void 0, function* () {
652
653
  if (!this.password) {
653
- throw new Error("Keyring is locked");
654
+ throw new router_1.KeplrError("keyring", 100, "Keyring is locked");
654
655
  }
655
656
  if (this.password !== password) {
656
- throw new Error("Invalid password");
657
+ throw new router_1.KeplrError("keyring", 121, "Invalid password");
657
658
  }
658
659
  const result = [];
659
660
  for (const keyStore of this.multiKeyStore) {
@@ -721,7 +722,7 @@ class KeyRing {
721
722
  var _a;
722
723
  const id = (_a = keyStore.meta) === null || _a === void 0 ? void 0 : _a.__id__;
723
724
  if (!id) {
724
- throw new Error("Key store's id is empty");
725
+ throw new router_1.KeplrError("keyring", 131, "Key store's id is empty");
725
726
  }
726
727
  return id;
727
728
  }
@@ -738,15 +739,15 @@ class KeyRing {
738
739
  }
739
740
  static validateBIP44Path(bip44Path) {
740
741
  if (!Number.isInteger(bip44Path.account) || bip44Path.account < 0) {
741
- throw new Error("Invalid account in hd path");
742
+ throw new router_1.KeplrError("keyring", 100, "Invalid account in hd path");
742
743
  }
743
744
  if (!Number.isInteger(bip44Path.change) ||
744
745
  !(bip44Path.change === 0 || bip44Path.change === 1)) {
745
- throw new Error("Invalid change in hd path");
746
+ throw new router_1.KeplrError("keyring", 102, "Invalid change in hd path");
746
747
  }
747
748
  if (!Number.isInteger(bip44Path.addressIndex) ||
748
749
  bip44Path.addressIndex < 0) {
749
- throw new Error("Invalid address index in hd path");
750
+ throw new router_1.KeplrError("keyring", 101, "Invalid address index in hd path");
750
751
  }
751
752
  }
752
753
  getIncrementalNumber() {
@@ -1 +1 @@
1
- {"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../src/keyring/keyring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../src/keyring/keyring.ts"],"names":[],"mappings":"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"}