@shapeshiftoss/hdwallet-native 1.55.4-alpha.1 → 1.55.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 (117) hide show
  1. package/dist/adapter.js +61 -22
  2. package/dist/adapter.js.map +1 -1
  3. package/dist/arkeo.js +123 -54
  4. package/dist/arkeo.js.map +1 -1
  5. package/dist/binance.js +194 -123
  6. package/dist/binance.js.map +1 -1
  7. package/dist/bitcoin.js +284 -219
  8. package/dist/bitcoin.js.map +1 -1
  9. package/dist/cosmos.js +123 -54
  10. package/dist/cosmos.js.map +1 -1
  11. package/dist/crypto/CryptoHelper.js +172 -106
  12. package/dist/crypto/CryptoHelper.js.map +1 -1
  13. package/dist/crypto/EncryptedWallet.js +123 -64
  14. package/dist/crypto/EncryptedWallet.js.map +1 -1
  15. package/dist/crypto/classes/cipherString.js +19 -18
  16. package/dist/crypto/classes/cipherString.js.map +1 -1
  17. package/dist/crypto/classes/encryptedObject.js +7 -7
  18. package/dist/crypto/classes/encryptedObject.js.map +1 -1
  19. package/dist/crypto/classes/encryptionType.js +5 -2
  20. package/dist/crypto/classes/encryptionType.js.map +1 -1
  21. package/dist/crypto/classes/index.js +11 -4
  22. package/dist/crypto/classes/index.js.map +1 -1
  23. package/dist/crypto/classes/symmetricCryptoKey.js +11 -13
  24. package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
  25. package/dist/crypto/engines/index.js +18 -2
  26. package/dist/crypto/engines/index.js.map +1 -1
  27. package/dist/crypto/engines/types.js +5 -2
  28. package/dist/crypto/engines/types.js.map +1 -1
  29. package/dist/crypto/engines/web-crypto.js +84 -39
  30. package/dist/crypto/engines/web-crypto.js.map +1 -1
  31. package/dist/crypto/index.js +32 -3
  32. package/dist/crypto/index.js.map +1 -1
  33. package/dist/crypto/isolation/adapters/binance.js +51 -12
  34. package/dist/crypto/isolation/adapters/binance.js.map +1 -1
  35. package/dist/crypto/isolation/adapters/bip32.js +108 -65
  36. package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
  37. package/dist/crypto/isolation/adapters/bitcoin.js +84 -41
  38. package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
  39. package/dist/crypto/isolation/adapters/cosmos.js +24 -9
  40. package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
  41. package/dist/crypto/isolation/adapters/cosmosDirect.js +77 -35
  42. package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
  43. package/dist/crypto/isolation/adapters/ethereum.js +90 -49
  44. package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
  45. package/dist/crypto/isolation/adapters/fio.js +67 -24
  46. package/dist/crypto/isolation/adapters/fio.js.map +1 -1
  47. package/dist/crypto/isolation/adapters/index.js +20 -7
  48. package/dist/crypto/isolation/adapters/index.js.map +1 -1
  49. package/dist/crypto/isolation/core/bip32/index.js +50 -22
  50. package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
  51. package/dist/crypto/isolation/core/bip32/interfaces.js +28 -2
  52. package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
  53. package/dist/crypto/isolation/core/bip32/types.js +8 -5
  54. package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
  55. package/dist/crypto/isolation/core/bip39/index.js +17 -1
  56. package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
  57. package/dist/crypto/isolation/core/bip39/interfaces.js +2 -1
  58. package/dist/crypto/isolation/core/digest/algorithms.js +32 -23
  59. package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
  60. package/dist/crypto/isolation/core/digest/index.js +18 -2
  61. package/dist/crypto/isolation/core/digest/index.js.map +1 -1
  62. package/dist/crypto/isolation/core/digest/types.js +26 -23
  63. package/dist/crypto/isolation/core/digest/types.js.map +1 -1
  64. package/dist/crypto/isolation/core/index.js +32 -5
  65. package/dist/crypto/isolation/core/index.js.map +1 -1
  66. package/dist/crypto/isolation/core/secp256k1/index.js +18 -2
  67. package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
  68. package/dist/crypto/isolation/core/secp256k1/interfaces.js +2 -1
  69. package/dist/crypto/isolation/core/secp256k1/types.js +157 -119
  70. package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
  71. package/dist/crypto/isolation/engines/default/bip32.js +176 -102
  72. package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
  73. package/dist/crypto/isolation/engines/default/bip39.js +68 -24
  74. package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
  75. package/dist/crypto/isolation/engines/default/index.js +32 -3
  76. package/dist/crypto/isolation/engines/default/index.js.map +1 -1
  77. package/dist/crypto/isolation/engines/default/revocable.js +51 -30
  78. package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
  79. package/dist/crypto/isolation/engines/dummy/bip32.js +121 -63
  80. package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
  81. package/dist/crypto/isolation/engines/dummy/bip39.js +97 -55
  82. package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
  83. package/dist/crypto/isolation/engines/dummy/index.js +30 -3
  84. package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
  85. package/dist/crypto/isolation/engines/dummy/types.js +5 -1
  86. package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
  87. package/dist/crypto/isolation/engines/index.js +28 -2
  88. package/dist/crypto/isolation/engines/index.js.map +1 -1
  89. package/dist/crypto/isolation/index.js +29 -3
  90. package/dist/crypto/isolation/index.js.map +1 -1
  91. package/dist/crypto/isolation/types.js +49 -43
  92. package/dist/crypto/isolation/types.js.map +1 -1
  93. package/dist/crypto/utils.js +13 -7
  94. package/dist/crypto/utils.js.map +1 -1
  95. package/dist/ethereum.js +160 -92
  96. package/dist/ethereum.js.map +1 -1
  97. package/dist/fio.js +282 -204
  98. package/dist/fio.js.map +1 -1
  99. package/dist/index.js +32 -3
  100. package/dist/index.js.map +1 -1
  101. package/dist/kava.js +119 -50
  102. package/dist/kava.js.map +1 -1
  103. package/dist/native.js +304 -176
  104. package/dist/native.js.map +1 -1
  105. package/dist/networks.js +33 -16
  106. package/dist/networks.js.map +1 -1
  107. package/dist/osmosis.js +123 -54
  108. package/dist/osmosis.js.map +1 -1
  109. package/dist/secret.js +119 -50
  110. package/dist/secret.js.map +1 -1
  111. package/dist/terra.js +119 -50
  112. package/dist/terra.js.map +1 -1
  113. package/dist/thorchain.js +123 -54
  114. package/dist/thorchain.js.map +1 -1
  115. package/dist/util.js +54 -16
  116. package/dist/util.js.map +1 -1
  117. package/package.json +3 -3
@@ -1,17 +1,52 @@
1
- import PLazy from "p-lazy";
2
- import { IsolationError, SecP256K1 } from "../core";
3
- import { assertType, ByteArray } from "../types";
4
- let networksInstance;
5
- const networksReady = PLazy.from(async () => {
6
- networksInstance = (await import("@shapeshiftoss/bitcoinjs-lib")).networks;
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;
7
17
  });
8
- export class ECPairAdapter {
9
- _isolatedKey;
10
- _publicKey;
11
- _network;
12
- compressed = false;
13
- lowR = false;
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 __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.ECPairAdapter = void 0;
39
+ const p_lazy_1 = __importDefault(require("p-lazy"));
40
+ const core_1 = require("../core");
41
+ const types_1 = require("../types");
42
+ let networksInstance;
43
+ const networksReady = p_lazy_1.default.from(() => __awaiter(void 0, void 0, void 0, function* () {
44
+ networksInstance = (yield Promise.resolve().then(() => __importStar(require("@shapeshiftoss/bitcoinjs-lib")))).networks;
45
+ }));
46
+ class ECPairAdapter {
14
47
  constructor(isolatedKey, publicKey, network) {
48
+ this.compressed = false;
49
+ this.lowR = false;
15
50
  this._isolatedKey = isolatedKey;
16
51
  this._publicKey = publicKey;
17
52
  this._network = network;
@@ -19,16 +54,21 @@ export class ECPairAdapter {
19
54
  /**
20
55
  * If you're inheriting from this class, be sure to call `await ECPairAdapter.prepare()` in your `create()` overload.
21
56
  */
22
- static async prepare() {
23
- await networksReady;
57
+ static prepare() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ yield networksReady;
60
+ });
24
61
  }
25
- static async create(isolatedKey, network) {
26
- await this.prepare();
27
- return new ECPairAdapter(isolatedKey, await isolatedKey.getPublicKey(), network);
62
+ static create(isolatedKey, network) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ yield this.prepare();
65
+ return new ECPairAdapter(isolatedKey, yield isolatedKey.getPublicKey(), network);
66
+ });
28
67
  }
29
68
  get network() {
69
+ var _a;
30
70
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
31
- return this._network ?? networksInstance.bitcoin;
71
+ return (_a = this._network) !== null && _a !== void 0 ? _a : networksInstance.bitcoin;
32
72
  }
33
73
  get ecdsaSign() {
34
74
  return this._isolatedKey.ecdsaSign.bind(this._isolatedKey);
@@ -45,23 +85,25 @@ export class ECPairAdapter {
45
85
  return undefined;
46
86
  return isolatedKey.ecdhRaw.bind(isolatedKey);
47
87
  }
48
- async sign(hash, lowR) {
49
- assertType(ByteArray(), hash);
50
- lowR = lowR ?? this.lowR;
51
- const sig = await (async () => {
52
- if (!hash.algorithm) {
53
- assertType(ByteArray(32), hash);
54
- return !lowR
55
- ? await this._isolatedKey.ecdsaSign(null, hash)
56
- : await SecP256K1.Signature.signCanonically(this._isolatedKey, null, hash);
57
- }
58
- else {
59
- return !lowR
60
- ? await this._isolatedKey.ecdsaSign(hash.algorithm, hash.preimage)
61
- : await SecP256K1.Signature.signCanonically(this._isolatedKey, hash.algorithm, hash.preimage);
62
- }
63
- })();
64
- return Buffer.from(sig);
88
+ sign(hash, lowR) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ (0, types_1.assertType)((0, types_1.ByteArray)(), hash);
91
+ lowR = lowR !== null && lowR !== void 0 ? lowR : this.lowR;
92
+ const sig = yield (() => __awaiter(this, void 0, void 0, function* () {
93
+ if (!hash.algorithm) {
94
+ (0, types_1.assertType)((0, types_1.ByteArray)(32), hash);
95
+ return !lowR
96
+ ? yield this._isolatedKey.ecdsaSign(null, hash)
97
+ : yield core_1.SecP256K1.Signature.signCanonically(this._isolatedKey, null, hash);
98
+ }
99
+ else {
100
+ return !lowR
101
+ ? yield this._isolatedKey.ecdsaSign(hash.algorithm, hash.preimage)
102
+ : yield core_1.SecP256K1.Signature.signCanonically(this._isolatedKey, hash.algorithm, hash.preimage);
103
+ }
104
+ }))();
105
+ return Buffer.from(sig);
106
+ });
65
107
  }
66
108
  get publicKey() {
67
109
  return this.getPublicKey();
@@ -69,17 +111,18 @@ export class ECPairAdapter {
69
111
  getPublicKey() {
70
112
  const publicKey = this._publicKey;
71
113
  const key = this.compressed
72
- ? SecP256K1.CompressedPoint.from(publicKey)
73
- : SecP256K1.UncompressedPoint.from(publicKey);
114
+ ? core_1.SecP256K1.CompressedPoint.from(publicKey)
115
+ : core_1.SecP256K1.UncompressedPoint.from(publicKey);
74
116
  return Buffer.from(key);
75
117
  }
76
118
  toWIF() {
77
- throw new IsolationError("WIF");
119
+ throw new core_1.IsolationError("WIF");
78
120
  }
79
121
  verify(hash, signature) {
80
- SecP256K1.Signature.assert(signature);
81
- return SecP256K1.Signature.verify(signature, null, hash, this._publicKey);
122
+ core_1.SecP256K1.Signature.assert(signature);
123
+ return core_1.SecP256K1.Signature.verify(signature, null, hash, this._publicKey);
82
124
  }
83
125
  }
84
- export default ECPairAdapter;
126
+ exports.ECPairAdapter = ECPairAdapter;
127
+ exports.default = ECPairAdapter;
85
128
  //# sourceMappingURL=bitcoin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,35 @@
1
- export class WalletAdapter {
2
- _isolatedKey;
3
- _publicKey;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WalletAdapter = void 0;
13
+ class WalletAdapter {
4
14
  constructor(isolatedKey, publicKey) {
5
15
  this._isolatedKey = isolatedKey;
6
16
  this._publicKey = publicKey;
7
17
  }
8
- static async create(isolatedKey) {
9
- return new WalletAdapter(isolatedKey, await isolatedKey.getPublicKey());
18
+ static create(isolatedKey) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ return new WalletAdapter(isolatedKey, yield isolatedKey.getPublicKey());
21
+ });
10
22
  }
11
23
  get publicKey() {
12
24
  return Buffer.from(this._publicKey).toString("hex");
13
25
  }
14
- async sign(signMessage) {
15
- const signBuf = Buffer.from(signMessage.normalize("NFKD"), "utf8");
16
- return Buffer.from(await this._isolatedKey.ecdsaSign("sha256", signBuf));
26
+ sign(signMessage) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const signBuf = Buffer.from(signMessage.normalize("NFKD"), "utf8");
29
+ return Buffer.from(yield this._isolatedKey.ecdsaSign("sha256", signBuf));
30
+ });
17
31
  }
18
32
  }
19
- export default WalletAdapter;
33
+ exports.WalletAdapter = WalletAdapter;
34
+ exports.default = WalletAdapter;
20
35
  //# sourceMappingURL=cosmos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IACL,YAAY,CAAgD;IACtE,UAAU,CAAuB;IAE1C,YAAsB,WAA0D,EAAE,SAA+B;QAC/G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAA0D;QAC5E,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmos.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,aAAa;IAIxB,YAAsB,WAA0D,EAAE,SAA+B;QAC/G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAO,MAAM,CAAC,WAA0D;;YAC5E,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1E,CAAC;KAAA;IAED,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAEK,IAAI,CAAC,WAAmB;;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;KAAA;CACF;AArBD,sCAqBC;AAED,kBAAe,aAAa,CAAC"}
@@ -1,46 +1,88 @@
1
- import * as bech32 from "bech32";
2
- import PLazy from "p-lazy";
3
- import { Digest } from "../core";
4
- const cosmJsProtoSigning = PLazy.from(() => import("@cosmjs/proto-signing"));
5
- export class OfflineDirectSignerAdapter {
6
- _isolatedKey;
7
- _pubkey;
8
- address;
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 __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.OfflineDirectSignerAdapter = void 0;
39
+ const bech32 = __importStar(require("bech32"));
40
+ const p_lazy_1 = __importDefault(require("p-lazy"));
41
+ const core_1 = require("../core");
42
+ const cosmJsProtoSigning = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@cosmjs/proto-signing"))));
43
+ class OfflineDirectSignerAdapter {
9
44
  constructor(isolatedKey, pubkey, address) {
10
45
  this._isolatedKey = isolatedKey;
11
46
  this._pubkey = pubkey;
12
47
  this.address = address;
13
48
  }
14
- static async create(isolatedKey, prefix) {
15
- const pubkey = await isolatedKey.getPublicKey();
16
- const address = bech32.encode(prefix, bech32.toWords(Digest.Algorithms.ripemd160(Digest.Algorithms.sha256(await isolatedKey.getPublicKey()))));
17
- return new OfflineDirectSignerAdapter(isolatedKey, pubkey, address);
49
+ static create(isolatedKey, prefix) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const pubkey = yield isolatedKey.getPublicKey();
52
+ const address = bech32.encode(prefix, bech32.toWords(core_1.Digest.Algorithms.ripemd160(core_1.Digest.Algorithms.sha256(yield isolatedKey.getPublicKey()))));
53
+ return new OfflineDirectSignerAdapter(isolatedKey, pubkey, address);
54
+ });
18
55
  }
19
- async getAccounts() {
20
- return [
21
- {
22
- address: this.address,
23
- algo: "secp256k1",
24
- pubkey: this._pubkey,
25
- },
26
- ];
56
+ getAccounts() {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return [
59
+ {
60
+ address: this.address,
61
+ algo: "secp256k1",
62
+ pubkey: this._pubkey,
63
+ },
64
+ ];
65
+ });
27
66
  }
28
- async signDirect(signerAddress, signDoc) {
29
- if (signerAddress !== this.address)
30
- throw new Error("signerAddress mismatch");
31
- const signBytes = (await cosmJsProtoSigning).makeSignBytes(signDoc);
32
- const signatureBytes = await this._isolatedKey.ecdsaSign("sha256", signBytes);
33
- return {
34
- signed: signDoc,
35
- signature: {
36
- pub_key: {
37
- type: "tendermint/PubKeySecp256k1",
38
- value: Buffer.from(this._pubkey).toString("base64"),
67
+ signDirect(signerAddress, signDoc) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ if (signerAddress !== this.address)
70
+ throw new Error("signerAddress mismatch");
71
+ const signBytes = (yield cosmJsProtoSigning).makeSignBytes(signDoc);
72
+ const signatureBytes = yield this._isolatedKey.ecdsaSign("sha256", signBytes);
73
+ return {
74
+ signed: signDoc,
75
+ signature: {
76
+ pub_key: {
77
+ type: "tendermint/PubKeySecp256k1",
78
+ value: Buffer.from(this._pubkey).toString("base64"),
79
+ },
80
+ signature: Buffer.from(signatureBytes).toString("base64"),
39
81
  },
40
- signature: Buffer.from(signatureBytes).toString("base64"),
41
- },
42
- };
82
+ };
83
+ });
43
84
  }
44
85
  }
45
- export default OfflineDirectSignerAdapter;
86
+ exports.OfflineDirectSignerAdapter = OfflineDirectSignerAdapter;
87
+ exports.default = OfflineDirectSignerAdapter;
46
88
  //# sourceMappingURL=cosmosDirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosDirect.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmosDirect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAa,MAAM,SAAS,CAAC;AAE5C,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAE7E,MAAM,OAAO,0BAA0B;IAClB,YAAY,CAAqB;IACjC,OAAO,CAAa;IAC9B,OAAO,CAAS;IAEzB,YAAsB,WAA+B,EAAE,MAAkB,EAAE,OAAe;QACxF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAA+B,EAAE,MAAc;QACjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CACxG,CAAC;QACF,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;YACL;gBACE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,OAAgB;QACtD,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM,EAAE,OAAO;YACf,SAAS,EAAE;gBACT,OAAO,EAAE;oBACP,IAAI,EAAE,4BAA4B;oBAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACpD;gBACD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"cosmosDirect.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/cosmosDirect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AAEjC,oDAA2B;AAE3B,kCAA4C;AAE5C,MAAM,kBAAkB,GAAG,gBAAK,CAAC,IAAI,CAAC,GAAG,EAAE,mDAAQ,uBAAuB,GAAC,CAAC,CAAC;AAE7E,MAAa,0BAA0B;IAKrC,YAAsB,WAA+B,EAAE,MAAkB,EAAE,OAAe;QACxF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAO,MAAM,CAAC,WAA+B,EAAE,MAAc;;YACjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,aAAM,CAAC,UAAU,CAAC,SAAS,CAAC,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CACxG,CAAC;YACF,OAAO,IAAI,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,WAAW;;YACf,OAAO;gBACL;oBACE,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC;KAAA;IAEK,UAAU,CAAC,aAAqB,EAAE,OAAgB;;YACtD,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAE9E,MAAM,SAAS,GAAG,CAAC,MAAM,kBAAkB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9E,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE;oBACT,OAAO,EAAE;wBACP,IAAI,EAAE,4BAA4B;wBAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBACpD;oBACD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAC1D;aACF,CAAC;QACJ,CAAC;KAAA;CACF;AA9CD,gEA8CC;AAED,kBAAe,0BAA0B,CAAC"}
@@ -1,17 +1,50 @@
1
- import * as core from "@shapeshiftoss/hdwallet-core";
2
- import { getMessage } from "eip-712";
3
- import { BigNumber } from "ethers";
4
- import { arrayify, computeAddress, getAddress, joinSignature, resolveProperties, serializeTransaction, splitSignature, } from "ethers/lib/utils.js";
5
- import { buildMessage } from "../../../util";
6
- import { SecP256K1 } from "../core";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.SignerAdapter = void 0;
36
+ const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
37
+ const eip_712_1 = require("eip-712");
38
+ const ethers_1 = require("ethers");
39
+ const utils_js_1 = require("ethers/lib/utils.js");
40
+ const util_1 = require("../../../util");
41
+ const core_1 = require("../core");
7
42
  function ethSigFromRecoverableSig(x) {
8
- const sig = SecP256K1.RecoverableSignature.sig(x);
9
- const recoveryParam = SecP256K1.RecoverableSignature.recoveryParam(x);
10
- return splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
43
+ const sig = core_1.SecP256K1.RecoverableSignature.sig(x);
44
+ const recoveryParam = core_1.SecP256K1.RecoverableSignature.recoveryParam(x);
45
+ return (0, utils_js_1.splitSignature)(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
11
46
  }
12
- export class SignerAdapter {
13
- nodeAdapter;
14
- provider;
47
+ class SignerAdapter {
15
48
  constructor(nodeAdapter, provider) {
16
49
  this.nodeAdapter = nodeAdapter;
17
50
  this.provider = provider;
@@ -24,48 +57,56 @@ export class SignerAdapter {
24
57
  connect(_provider) {
25
58
  throw new Error("changing providers on a SignerAdapter is unsupported");
26
59
  }
27
- async getAddress(addressNList) {
28
- const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
29
- return computeAddress(SecP256K1.UncompressedPoint.from(nodeAdapter.getPublicKey()));
60
+ getAddress(addressNList) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
63
+ return (0, utils_js_1.computeAddress)(core_1.SecP256K1.UncompressedPoint.from(nodeAdapter.getPublicKey()));
64
+ });
30
65
  }
31
- async signDigest(digest, addressNList) {
32
- const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
33
- const recoverableSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, null, digest instanceof Uint8Array ? digest : arrayify(digest));
34
- const sig = SecP256K1.RecoverableSignature.sig(recoverableSig);
35
- const recoveryParam = SecP256K1.RecoverableSignature.recoveryParam(recoverableSig);
36
- return splitSignature(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
66
+ signDigest(digest, addressNList) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
69
+ const recoverableSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, null, digest instanceof Uint8Array ? digest : (0, utils_js_1.arrayify)(digest));
70
+ const sig = core_1.SecP256K1.RecoverableSignature.sig(recoverableSig);
71
+ const recoveryParam = core_1.SecP256K1.RecoverableSignature.recoveryParam(recoverableSig);
72
+ return (0, utils_js_1.splitSignature)(core.compatibleBufferConcat([sig, Buffer.from([recoveryParam])]));
73
+ });
37
74
  }
38
- async signTransaction(transaction, addressNList) {
39
- const tx = await resolveProperties(transaction);
40
- if (tx.from != null) {
41
- if (getAddress(tx.from) !== (await this.getAddress(addressNList))) {
42
- throw new Error("transaction from address mismatch");
75
+ signTransaction(transaction, addressNList) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const tx = yield (0, utils_js_1.resolveProperties)(transaction);
78
+ if (tx.from != null) {
79
+ if ((0, utils_js_1.getAddress)(tx.from) !== (yield this.getAddress(addressNList))) {
80
+ throw new Error("transaction from address mismatch");
81
+ }
82
+ delete tx.from;
43
83
  }
44
- delete tx.from;
45
- }
46
- const unsignedTx = {
47
- ...tx,
48
- nonce: tx.nonce !== undefined ? BigNumber.from(tx.nonce).toNumber() : undefined,
49
- };
50
- const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
51
- const txBuf = arrayify(serializeTransaction(unsignedTx));
52
- const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", txBuf);
53
- return serializeTransaction(unsignedTx, ethSigFromRecoverableSig(rawSig));
84
+ const unsignedTx = Object.assign(Object.assign({}, tx), { nonce: tx.nonce !== undefined ? ethers_1.BigNumber.from(tx.nonce).toNumber() : undefined });
85
+ const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
86
+ const txBuf = (0, utils_js_1.arrayify)((0, utils_js_1.serializeTransaction)(unsignedTx));
87
+ const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", txBuf);
88
+ return (0, utils_js_1.serializeTransaction)(unsignedTx, ethSigFromRecoverableSig(rawSig));
89
+ });
54
90
  }
55
- async signMessage(messageData, addressNList) {
56
- const messageBuf = buildMessage(messageData);
57
- const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
58
- const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageBuf);
59
- return joinSignature(ethSigFromRecoverableSig(rawSig));
91
+ signMessage(messageData, addressNList) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const messageBuf = (0, util_1.buildMessage)(messageData);
94
+ const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
95
+ const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageBuf);
96
+ return (0, utils_js_1.joinSignature)(ethSigFromRecoverableSig(rawSig));
97
+ });
60
98
  }
61
- async signTypedData(typedData, addressNList) {
62
- const address = await this.getAddress(addressNList);
63
- const messageArray = getMessage(typedData);
64
- const nodeAdapter = await this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
65
- const rawSig = await SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageArray);
66
- const signature = joinSignature(ethSigFromRecoverableSig(rawSig));
67
- return { address, signature };
99
+ signTypedData(typedData, addressNList) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const address = yield this.getAddress(addressNList);
102
+ const messageArray = (0, eip_712_1.getMessage)(typedData);
103
+ const nodeAdapter = yield this.nodeAdapter.derivePath(core.addressNListToBIP32(addressNList));
104
+ const rawSig = yield core_1.SecP256K1.RecoverableSignature.signCanonically(nodeAdapter.node, "keccak256", messageArray);
105
+ const signature = (0, utils_js_1.joinSignature)(ethSigFromRecoverableSig(rawSig));
106
+ return { address, signature };
107
+ });
68
108
  }
69
109
  }
70
- export default SignerAdapter;
110
+ exports.SignerAdapter = SignerAdapter;
111
+ exports.default = SignerAdapter;
71
112
  //# sourceMappingURL=ethereum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/crypto/isolation/adapters/ethereum.ts"],"names":[],"mappings":"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"}