@injectivelabs/wallet-ledger 0.0.2

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 (92) hide show
  1. package/README.md +111 -0
  2. package/dist/cjs/index.d.ts +5 -0
  3. package/dist/cjs/index.d.ts.map +1 -0
  4. package/dist/cjs/index.js +25 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/package.json +3 -0
  7. package/dist/cjs/strategy/Ledger/Base.d.ts +43 -0
  8. package/dist/cjs/strategy/Ledger/Base.d.ts.map +1 -0
  9. package/dist/cjs/strategy/Ledger/Base.js +302 -0
  10. package/dist/cjs/strategy/Ledger/Base.js.map +1 -0
  11. package/dist/cjs/strategy/Ledger/LedgerLegacy.d.ts +6 -0
  12. package/dist/cjs/strategy/Ledger/LedgerLegacy.d.ts.map +1 -0
  13. package/dist/cjs/strategy/Ledger/LedgerLegacy.js +15 -0
  14. package/dist/cjs/strategy/Ledger/LedgerLegacy.js.map +1 -0
  15. package/dist/cjs/strategy/Ledger/LedgerLive.d.ts +6 -0
  16. package/dist/cjs/strategy/Ledger/LedgerLive.d.ts.map +1 -0
  17. package/dist/cjs/strategy/Ledger/LedgerLive.js +15 -0
  18. package/dist/cjs/strategy/Ledger/LedgerLive.js.map +1 -0
  19. package/dist/cjs/strategy/Ledger/hw/AccountManager.d.ts +22 -0
  20. package/dist/cjs/strategy/Ledger/hw/AccountManager.d.ts.map +1 -0
  21. package/dist/cjs/strategy/Ledger/hw/AccountManager.js +106 -0
  22. package/dist/cjs/strategy/Ledger/hw/AccountManager.js.map +1 -0
  23. package/dist/cjs/strategy/Ledger/hw/index.d.ts +12 -0
  24. package/dist/cjs/strategy/Ledger/hw/index.d.ts.map +1 -0
  25. package/dist/cjs/strategy/Ledger/hw/index.js +108 -0
  26. package/dist/cjs/strategy/Ledger/hw/index.js.map +1 -0
  27. package/dist/cjs/strategy/Ledger/utils.d.ts +4 -0
  28. package/dist/cjs/strategy/Ledger/utils.d.ts.map +1 -0
  29. package/dist/cjs/strategy/Ledger/utils.js +9 -0
  30. package/dist/cjs/strategy/Ledger/utils.js.map +1 -0
  31. package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.d.ts +21 -0
  32. package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.d.ts.map +1 -0
  33. package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.js +84 -0
  34. package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.js.map +1 -0
  35. package/dist/cjs/strategy/LedgerCosmos/hw/index.d.ts +12 -0
  36. package/dist/cjs/strategy/LedgerCosmos/hw/index.d.ts.map +1 -0
  37. package/dist/cjs/strategy/LedgerCosmos/hw/index.js +68 -0
  38. package/dist/cjs/strategy/LedgerCosmos/hw/index.js.map +1 -0
  39. package/dist/cjs/strategy/LedgerCosmos/index.d.ts +37 -0
  40. package/dist/cjs/strategy/LedgerCosmos/index.d.ts.map +1 -0
  41. package/dist/cjs/strategy/LedgerCosmos/index.js +197 -0
  42. package/dist/cjs/strategy/LedgerCosmos/index.js.map +1 -0
  43. package/dist/cjs/types.d.ts +18 -0
  44. package/dist/cjs/types.d.ts.map +1 -0
  45. package/dist/cjs/types.js +15 -0
  46. package/dist/cjs/types.js.map +1 -0
  47. package/dist/esm/index.d.ts +5 -0
  48. package/dist/esm/index.d.ts.map +1 -0
  49. package/dist/esm/index.js +5 -0
  50. package/dist/esm/index.js.map +1 -0
  51. package/dist/esm/package.json +3 -0
  52. package/dist/esm/strategy/Ledger/Base.d.ts +43 -0
  53. package/dist/esm/strategy/Ledger/Base.d.ts.map +1 -0
  54. package/dist/esm/strategy/Ledger/Base.js +240 -0
  55. package/dist/esm/strategy/Ledger/Base.js.map +1 -0
  56. package/dist/esm/strategy/Ledger/LedgerLegacy.d.ts +6 -0
  57. package/dist/esm/strategy/Ledger/LedgerLegacy.d.ts.map +1 -0
  58. package/dist/esm/strategy/Ledger/LedgerLegacy.js +11 -0
  59. package/dist/esm/strategy/Ledger/LedgerLegacy.js.map +1 -0
  60. package/dist/esm/strategy/Ledger/LedgerLive.d.ts +6 -0
  61. package/dist/esm/strategy/Ledger/LedgerLive.d.ts.map +1 -0
  62. package/dist/esm/strategy/Ledger/LedgerLive.js +11 -0
  63. package/dist/esm/strategy/Ledger/LedgerLive.js.map +1 -0
  64. package/dist/esm/strategy/Ledger/hw/AccountManager.d.ts +22 -0
  65. package/dist/esm/strategy/Ledger/hw/AccountManager.d.ts.map +1 -0
  66. package/dist/esm/strategy/Ledger/hw/AccountManager.js +86 -0
  67. package/dist/esm/strategy/Ledger/hw/AccountManager.js.map +1 -0
  68. package/dist/esm/strategy/Ledger/hw/index.d.ts +12 -0
  69. package/dist/esm/strategy/Ledger/hw/index.d.ts.map +1 -0
  70. package/dist/esm/strategy/Ledger/hw/index.js +60 -0
  71. package/dist/esm/strategy/Ledger/hw/index.js.map +1 -0
  72. package/dist/esm/strategy/Ledger/utils.d.ts +4 -0
  73. package/dist/esm/strategy/Ledger/utils.d.ts.map +1 -0
  74. package/dist/esm/strategy/Ledger/utils.js +4 -0
  75. package/dist/esm/strategy/Ledger/utils.js.map +1 -0
  76. package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.d.ts +21 -0
  77. package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.d.ts.map +1 -0
  78. package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.js +67 -0
  79. package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.js.map +1 -0
  80. package/dist/esm/strategy/LedgerCosmos/hw/index.d.ts +12 -0
  81. package/dist/esm/strategy/LedgerCosmos/hw/index.d.ts.map +1 -0
  82. package/dist/esm/strategy/LedgerCosmos/hw/index.js +43 -0
  83. package/dist/esm/strategy/LedgerCosmos/hw/index.js.map +1 -0
  84. package/dist/esm/strategy/LedgerCosmos/index.d.ts +37 -0
  85. package/dist/esm/strategy/LedgerCosmos/index.d.ts.map +1 -0
  86. package/dist/esm/strategy/LedgerCosmos/index.js +153 -0
  87. package/dist/esm/strategy/LedgerCosmos/index.js.map +1 -0
  88. package/dist/esm/types.d.ts +18 -0
  89. package/dist/esm/types.d.ts.map +1 -0
  90. package/dist/esm/types.js +12 -0
  91. package/dist/esm/types.js.map +1 -0
  92. package/package.json +67 -0
@@ -0,0 +1,197 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LedgerCosmos = void 0;
16
+ const exceptions_1 = require("@injectivelabs/exceptions");
17
+ const sdk_ts_1 = require("@injectivelabs/sdk-ts");
18
+ const wallet_base_1 = require("@injectivelabs/wallet-base");
19
+ const hw_1 = __importDefault(require("./hw"));
20
+ const exceptions_2 = require("@injectivelabs/exceptions");
21
+ class LedgerCosmos extends wallet_base_1.BaseConcreteStrategy {
22
+ constructor(args) {
23
+ super(args);
24
+ this.baseDerivationPath = wallet_base_1.DEFAULT_BASE_DERIVATION_PATH;
25
+ this.ledger = new hw_1.default();
26
+ }
27
+ getWalletDeviceType() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return Promise.resolve(wallet_base_1.WalletDeviceType.Hardware);
30
+ });
31
+ }
32
+ enable() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ return Promise.resolve(true);
35
+ });
36
+ }
37
+ disconnect() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ this.ledger = yield this.ledger.refresh();
40
+ });
41
+ }
42
+ getAddresses() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const { baseDerivationPath } = this;
45
+ try {
46
+ const accountManager = yield this.ledger.getAccountManager();
47
+ const wallets = yield accountManager.getWallets(baseDerivationPath);
48
+ return wallets.map((k) => k.address);
49
+ }
50
+ catch (e) {
51
+ throw new exceptions_1.LedgerCosmosException(new Error(e.message), {
52
+ code: exceptions_1.UnspecifiedErrorCode,
53
+ type: exceptions_1.ErrorType.WalletError,
54
+ contextModule: wallet_base_1.WalletAction.GetAccounts,
55
+ });
56
+ }
57
+ });
58
+ }
59
+ getSessionOrConfirm(address) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return Promise.resolve(`0x${Buffer.from(`Confirmation for ${address} at time: ${Date.now()}`).toString('hex')}`);
62
+ });
63
+ }
64
+ sendEthereumTransaction(_txData, _options) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ throw new exceptions_2.CosmosWalletException(new Error('sendEthereumTransaction is not supported. LedgerCosmos only supports sending cosmos transactions'), {
67
+ code: exceptions_1.UnspecifiedErrorCode,
68
+ context: wallet_base_1.WalletAction.SendEthereumTransaction,
69
+ });
70
+ });
71
+ }
72
+ sendTransaction(transaction, options) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const { endpoints, txTimeout } = options;
75
+ if (!endpoints) {
76
+ throw new exceptions_1.WalletException(new Error('You have to pass endpoints.grpc within the options for using LedgerCosmos wallet'));
77
+ }
78
+ const txApi = new sdk_ts_1.TxGrpcApi(endpoints.grpc);
79
+ const response = yield txApi.broadcast(transaction, { txTimeout });
80
+ if (response.code !== 0) {
81
+ throw new exceptions_1.TransactionException(new Error(response.rawLog), {
82
+ code: exceptions_1.UnspecifiedErrorCode,
83
+ contextCode: response.code,
84
+ contextModule: response.codespace,
85
+ });
86
+ }
87
+ return response;
88
+ });
89
+ }
90
+ signAminoCosmosTransaction(transaction) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ try {
93
+ const { derivationPath } = yield this.getWalletForAddress(transaction.address);
94
+ const ledger = yield this.ledger.getInstance();
95
+ const result = yield ledger.sign(derivationPath, JSON.stringify((0, sdk_ts_1.sortObjectByKeys)(transaction.signDoc)));
96
+ return {
97
+ signed: undefined,
98
+ signature: {
99
+ signature: Buffer.from(result.signature).toString('base64'),
100
+ pub_key: undefined,
101
+ },
102
+ };
103
+ }
104
+ catch (e) {
105
+ throw new exceptions_1.LedgerCosmosException(new Error(e.message), {
106
+ code: exceptions_1.UnspecifiedErrorCode,
107
+ type: exceptions_1.ErrorType.WalletError,
108
+ contextModule: wallet_base_1.WalletAction.SignTransaction,
109
+ });
110
+ }
111
+ });
112
+ }
113
+ signCosmosTransaction(_transaction) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ throw new exceptions_2.CosmosWalletException(new Error('This wallet does not support signing using direct sign'), {
116
+ code: exceptions_1.UnspecifiedErrorCode,
117
+ context: wallet_base_1.WalletAction.SendTransaction,
118
+ });
119
+ });
120
+ }
121
+ signEip712TypedData(_eip712Json, _address) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ throw new exceptions_2.CosmosWalletException(new Error('This wallet does not support signing Ethereum transactions'), {
124
+ code: exceptions_1.UnspecifiedErrorCode,
125
+ context: wallet_base_1.WalletAction.SendTransaction,
126
+ });
127
+ });
128
+ }
129
+ signArbitrary(signer, data) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ try {
132
+ const { derivationPath } = yield this.getWalletForAddress(signer);
133
+ const ledger = yield this.ledger.getInstance();
134
+ const result = yield ledger.sign(derivationPath, (0, sdk_ts_1.toUtf8)(data));
135
+ return Buffer.from(result.signature).toString('base64');
136
+ }
137
+ catch (e) {
138
+ throw new exceptions_1.LedgerCosmosException(new Error(e.message), {
139
+ code: exceptions_1.UnspecifiedErrorCode,
140
+ type: exceptions_1.ErrorType.WalletError,
141
+ contextModule: wallet_base_1.WalletAction.SignTransaction,
142
+ });
143
+ }
144
+ });
145
+ }
146
+ getEthereumChainId() {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ throw new exceptions_2.CosmosWalletException(new Error('getEthereumChainId is not supported on Keplr'), {
149
+ code: exceptions_1.UnspecifiedErrorCode,
150
+ context: wallet_base_1.WalletAction.GetChainId,
151
+ });
152
+ });
153
+ }
154
+ getEthereumTransactionReceipt(_txHash) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ throw new exceptions_2.CosmosWalletException(new Error('getEthereumTransactionReceipt is not supported on Keplr'), {
157
+ code: exceptions_1.UnspecifiedErrorCode,
158
+ context: wallet_base_1.WalletAction.GetEthereumTransactionReceipt,
159
+ });
160
+ });
161
+ }
162
+ getPubKey(address) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ if (!address) {
165
+ throw new exceptions_1.WalletException(new Error('You can only fetch PubKey corresponding to an address'));
166
+ }
167
+ const ledgerWalletInfo = yield this.getWalletForAddress(address);
168
+ return Buffer.from(ledgerWalletInfo.publicKey || '', 'hex').toString('base64');
169
+ });
170
+ }
171
+ getWalletForAddress(address) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ try {
174
+ const { baseDerivationPath } = this;
175
+ const accountManager = yield this.ledger.getAccountManager();
176
+ if (!accountManager.hasWalletForAddress(address)) {
177
+ for (let i = 0; i < wallet_base_1.DEFAULT_ADDRESS_SEARCH_LIMIT / wallet_base_1.DEFAULT_NUM_ADDRESSES_TO_FETCH; i += 1) {
178
+ yield accountManager.getWallets(baseDerivationPath);
179
+ if (accountManager.hasWalletForAddress(address)) {
180
+ return (yield accountManager.getWalletForAddress(address));
181
+ }
182
+ }
183
+ }
184
+ return (yield accountManager.getWalletForAddress(address));
185
+ }
186
+ catch (e) {
187
+ throw new exceptions_1.LedgerCosmosException(new Error(e.message), {
188
+ code: exceptions_1.UnspecifiedErrorCode,
189
+ type: exceptions_1.ErrorType.WalletError,
190
+ contextModule: wallet_base_1.WalletAction.GetAccounts,
191
+ });
192
+ }
193
+ });
194
+ }
195
+ }
196
+ exports.LedgerCosmos = LedgerCosmos;
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/strategy/LedgerCosmos/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type HDNode from 'hdkey';
2
+ export declare enum LedgerDerivationPathType {
3
+ LedgerLive = "ledger-live",
4
+ LedgerMew = "ledger-mew"
5
+ }
6
+ export interface LedgerWalletInfo {
7
+ address: string;
8
+ baseDerivationPath: string;
9
+ derivationPath: string;
10
+ hdKey?: HDNode;
11
+ publicKey?: string;
12
+ }
13
+ export declare enum WalletLedger {
14
+ Ledger = "ledger",
15
+ LedgerCosmos = "ledger-cosmos",
16
+ LedgerLegacy = "ledger-legacy"
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAA;AAE/B,oBAAY,wBAAwB;IAClC,UAAU,gBAAgB;IAC1B,SAAS,eAAe;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;CAC/B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletLedger = exports.LedgerDerivationPathType = void 0;
4
+ var LedgerDerivationPathType;
5
+ (function (LedgerDerivationPathType) {
6
+ LedgerDerivationPathType["LedgerLive"] = "ledger-live";
7
+ LedgerDerivationPathType["LedgerMew"] = "ledger-mew";
8
+ })(LedgerDerivationPathType || (exports.LedgerDerivationPathType = LedgerDerivationPathType = {}));
9
+ var WalletLedger;
10
+ (function (WalletLedger) {
11
+ WalletLedger["Ledger"] = "ledger";
12
+ WalletLedger["LedgerCosmos"] = "ledger-cosmos";
13
+ WalletLedger["LedgerLegacy"] = "ledger-legacy";
14
+ })(WalletLedger || (exports.WalletLedger = WalletLedger = {}));
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,sDAA0B,CAAA;IAC1B,oDAAwB,CAAA;AAC1B,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAUD,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,8CAA8B,CAAA;IAC9B,8CAA8B,CAAA;AAChC,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
@@ -0,0 +1,5 @@
1
+ export { LedgerLive as LedgerLiveStrategy } from './strategy/Ledger/LedgerLive';
2
+ export { LedgerLegacy as LedgerLegacyStrategy } from './strategy/Ledger/LedgerLegacy';
3
+ export { LedgerCosmos as LedgerCosmosStrategy } from './strategy/LedgerCosmos';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAG,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAG,MAAM,gCAAgC,CAAA;AACtF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAG,MAAM,yBAAyB,CAAA;AAC/E,cAAc,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { LedgerLive as LedgerLiveStrategy } from './strategy/Ledger/LedgerLive';
2
+ export { LedgerLegacy as LedgerLegacyStrategy } from './strategy/Ledger/LedgerLegacy';
3
+ export { LedgerCosmos as LedgerCosmosStrategy } from './strategy/LedgerCosmos';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAG,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAG,MAAM,gCAAgC,CAAA;AACtF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAG,MAAM,yBAAyB,CAAA;AAC/E,cAAc,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,43 @@
1
+ import { AccountAddress, EthereumChainId } from '@injectivelabs/ts-types';
2
+ import { TxRaw, TxResponse, DirectSignResponse, AminoSignResponse } from '@injectivelabs/sdk-ts';
3
+ import { StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, ConcreteWalletStrategy, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
4
+ import { LedgerDerivationPathType } from '../../types';
5
+ export default class LedgerBase extends BaseConcreteStrategy implements ConcreteWalletStrategy {
6
+ private baseDerivationPath;
7
+ private derivationPathType;
8
+ private ledger;
9
+ private ethereumOptions;
10
+ private alchemy;
11
+ constructor(args: ConcreteEthereumWalletStrategyArgs & {
12
+ derivationPathType: LedgerDerivationPathType;
13
+ });
14
+ getWalletDeviceType(): Promise<WalletDeviceType>;
15
+ enable(): Promise<boolean>;
16
+ disconnect(): Promise<void>;
17
+ getAddresses(): Promise<string[]>;
18
+ getSessionOrConfirm(address: AccountAddress): Promise<string>;
19
+ sendEthereumTransaction(txData: any, options: {
20
+ address: string;
21
+ ethereumChainId: EthereumChainId;
22
+ }): Promise<string>;
23
+ sendTransaction(transaction: TxRaw, options: SendTransactionOptions): Promise<TxResponse>;
24
+ signEip712TypedData(eip712json: string, address: AccountAddress): Promise<string>;
25
+ signAminoCosmosTransaction(_transaction: {
26
+ address: string;
27
+ signDoc: StdSignDoc;
28
+ }): Promise<AminoSignResponse>;
29
+ signCosmosTransaction(_transaction: {
30
+ txRaw: TxRaw;
31
+ accountNumber: number;
32
+ chainId: string;
33
+ address: string;
34
+ }): Promise<DirectSignResponse>;
35
+ signArbitrary(signer: AccountAddress, data: string | Uint8Array): Promise<string>;
36
+ getEthereumChainId(): Promise<string>;
37
+ getEthereumTransactionReceipt(txHash: string): Promise<string>;
38
+ getPubKey(): Promise<string>;
39
+ private signEthereumTransaction;
40
+ private getWalletForAddress;
41
+ private getAlchemy;
42
+ }
43
+ //# sourceMappingURL=Base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../../../src/strategy/Ledger/Base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAYzE,OAAO,EAEL,KAAK,EAEL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,UAAU,EAGV,gBAAgB,EAEhB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAKnC,MAAM,4BAA4B,CAAA;AAInC,OAAO,EAAE,wBAAwB,EAAoB,MAAM,aAAa,CAAA;AAkBxE,MAAM,CAAC,OAAO,OAAO,UACnB,SAAQ,oBACR,YAAW,sBAAsB;IAEjC,OAAO,CAAC,kBAAkB,CAAQ;IAElC,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,eAAe,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAAqB;gBAGlC,IAAI,EAAE,kCAAkC,GAAG;QACzC,kBAAkB,EAAE,wBAAwB,CAAA;KAC7C;IAUG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIhD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAInB,UAAU;IAIV,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBxC,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ7D,uBAAuB,CAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,eAAe,CAAA;KACjC,GACA,OAAO,CAAC,MAAM,CAAC;IAsBZ,eAAe,CACnB,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAyBhB,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC;IAwBZ,0BAA0B,CAAC,YAAY,EAAE;QAC7C,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,UAAU,CAAA;KACpB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAYxB,qBAAqB,CAAC,YAAY,EAAE;QACxC,KAAK,EAAE,KAAK,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWzB,aAAa,CACjB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,OAAO,CAAC,MAAM,CAAC;IAsBZ,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOrC,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAMpB,uBAAuB;YAkEvB,mBAAmB;YAsCnB,UAAU;CAuBzB"}
@@ -0,0 +1,240 @@
1
+ /* eslint-disable class-methods-use-this */
2
+ import { EthereumChainId } from '@injectivelabs/ts-types';
3
+ import { bufferToHex, addHexPrefix } from 'ethereumjs-util';
4
+ import { Common, Chain, Hardfork } from '@ethereumjs/common';
5
+ import { FeeMarketEIP1559Transaction } from '@ethereumjs/tx';
6
+ import { ErrorType, GeneralException, LedgerException, TransactionException, UnspecifiedErrorCode, WalletException, } from '@injectivelabs/exceptions';
7
+ import { toUtf8, TxGrpcApi, } from '@injectivelabs/sdk-ts';
8
+ import { TIP_IN_GWEI, WalletAction, WalletDeviceType, getKeyFromRpcUrl, BaseConcreteStrategy, DEFAULT_BASE_DERIVATION_PATH, DEFAULT_ADDRESS_SEARCH_LIMIT, DEFAULT_NUM_ADDRESSES_TO_FETCH, } from '@injectivelabs/wallet-base';
9
+ import LedgerHW from './hw';
10
+ import { domainHash, messageHash } from './utils';
11
+ import { Alchemy, Network as AlchemyNetwork } from 'alchemy-sdk';
12
+ const getNetworkFromChainId = (chainId) => {
13
+ if (chainId === EthereumChainId.Goerli) {
14
+ return Chain.Goerli;
15
+ }
16
+ if (chainId === EthereumChainId.Sepolia) {
17
+ return Chain.Sepolia;
18
+ }
19
+ if (chainId === EthereumChainId.Kovan) {
20
+ return Chain.Goerli;
21
+ }
22
+ return Chain.Mainnet;
23
+ };
24
+ export default class LedgerBase extends BaseConcreteStrategy {
25
+ baseDerivationPath;
26
+ derivationPathType;
27
+ ledger;
28
+ ethereumOptions;
29
+ alchemy;
30
+ constructor(args) {
31
+ super(args);
32
+ this.baseDerivationPath = DEFAULT_BASE_DERIVATION_PATH;
33
+ this.derivationPathType = args.derivationPathType;
34
+ this.ledger = new LedgerHW();
35
+ this.ethereumOptions = args.ethereumOptions;
36
+ }
37
+ async getWalletDeviceType() {
38
+ return Promise.resolve(WalletDeviceType.Hardware);
39
+ }
40
+ async enable() {
41
+ return Promise.resolve(true);
42
+ }
43
+ async disconnect() {
44
+ this.ledger = await this.ledger.refresh();
45
+ }
46
+ async getAddresses() {
47
+ const { baseDerivationPath, derivationPathType } = this;
48
+ try {
49
+ const accountManager = await this.ledger.getAccountManager();
50
+ const wallets = await accountManager.getWallets(baseDerivationPath, derivationPathType);
51
+ return wallets.map((k) => k.address);
52
+ }
53
+ catch (e) {
54
+ throw new LedgerException(new Error(e.message), {
55
+ code: UnspecifiedErrorCode,
56
+ type: ErrorType.WalletError,
57
+ contextModule: WalletAction.GetAccounts,
58
+ });
59
+ }
60
+ }
61
+ async getSessionOrConfirm(address) {
62
+ return Promise.resolve(`0x${Buffer.from(`Confirmation for ${address} at time: ${Date.now()}`).toString('hex')}`);
63
+ }
64
+ async sendEthereumTransaction(txData, options) {
65
+ const signedTransaction = await this.signEthereumTransaction(txData, options);
66
+ try {
67
+ const alchemy = await this.getAlchemy();
68
+ const txReceipt = await alchemy.core.sendTransaction(addHexPrefix(signedTransaction.serialize().toString('hex')));
69
+ return txReceipt.hash;
70
+ }
71
+ catch (e) {
72
+ throw new LedgerException(new Error(e.message), {
73
+ code: UnspecifiedErrorCode,
74
+ type: ErrorType.WalletError,
75
+ contextModule: WalletAction.SendEthereumTransaction,
76
+ });
77
+ }
78
+ }
79
+ async sendTransaction(transaction, options) {
80
+ const { endpoints, txTimeout } = options;
81
+ if (!endpoints) {
82
+ throw new WalletException(new Error('You have to pass endpoints.grpc within the options for using Ethereum native wallets'));
83
+ }
84
+ const txApi = new TxGrpcApi(endpoints.grpc);
85
+ const response = await txApi.broadcast(transaction, { txTimeout });
86
+ if (response.code !== 0) {
87
+ throw new TransactionException(new Error(response.rawLog), {
88
+ code: UnspecifiedErrorCode,
89
+ contextCode: response.code,
90
+ contextModule: response.codespace,
91
+ });
92
+ }
93
+ return response;
94
+ }
95
+ async signEip712TypedData(eip712json, address) {
96
+ const { derivationPath } = await this.getWalletForAddress(address);
97
+ const object = JSON.parse(eip712json);
98
+ try {
99
+ const ledger = await this.ledger.getInstance();
100
+ const result = await ledger.signEIP712HashedMessage(derivationPath, bufferToHex(domainHash(object)), bufferToHex(messageHash(object)));
101
+ const combined = `${result.r}${result.s}${result.v.toString(16)}`;
102
+ return combined.startsWith('0x') ? combined : `0x${combined}`;
103
+ }
104
+ catch (e) {
105
+ throw new LedgerException(new Error(e.message), {
106
+ code: UnspecifiedErrorCode,
107
+ type: ErrorType.WalletError,
108
+ contextModule: WalletAction.SignTransaction,
109
+ });
110
+ }
111
+ }
112
+ async signAminoCosmosTransaction(_transaction) {
113
+ throw new WalletException(new Error('This wallet does not support signing Cosmos transactions'), {
114
+ code: UnspecifiedErrorCode,
115
+ type: ErrorType.WalletError,
116
+ contextModule: WalletAction.SendTransaction,
117
+ });
118
+ }
119
+ // eslint-disable-next-line class-methods-use-this
120
+ async signCosmosTransaction(_transaction) {
121
+ throw new WalletException(new Error('This wallet does not support signing Cosmos transactions'), {
122
+ code: UnspecifiedErrorCode,
123
+ type: ErrorType.WalletError,
124
+ contextModule: WalletAction.SendTransaction,
125
+ });
126
+ }
127
+ async signArbitrary(signer, data) {
128
+ try {
129
+ const { derivationPath } = await this.getWalletForAddress(signer);
130
+ const ledger = await this.ledger.getInstance();
131
+ const result = await ledger.signPersonalMessage(derivationPath, Buffer.from(toUtf8(data), 'utf8').toString('hex'));
132
+ const combined = `${result.r}${result.s}${result.v.toString(16)}`;
133
+ return combined.startsWith('0x') ? combined : `0x${combined}`;
134
+ }
135
+ catch (e) {
136
+ throw new LedgerException(new Error(e.message), {
137
+ code: UnspecifiedErrorCode,
138
+ type: ErrorType.WalletError,
139
+ contextModule: WalletAction.SignTransaction,
140
+ });
141
+ }
142
+ }
143
+ async getEthereumChainId() {
144
+ const alchemy = await this.getAlchemy();
145
+ const alchemyProvider = await alchemy.config.getProvider();
146
+ return alchemyProvider.network.chainId.toString();
147
+ }
148
+ async getEthereumTransactionReceipt(txHash) {
149
+ return Promise.resolve(txHash);
150
+ }
151
+ // eslint-disable-next-line class-methods-use-this
152
+ async getPubKey() {
153
+ throw new WalletException(new Error('You can only fetch PubKey from Cosmos native wallets'));
154
+ }
155
+ async signEthereumTransaction(txData, options) {
156
+ const alchemy = await this.getAlchemy();
157
+ const chainId = parseInt(options.ethereumChainId.toString(), 10);
158
+ const nonce = await alchemy.core.getTransactionCount(options.address);
159
+ const common = new Common({
160
+ chain: getNetworkFromChainId(chainId),
161
+ hardfork: Hardfork.London,
162
+ });
163
+ const eip1559TxData = {
164
+ from: txData.from,
165
+ data: txData.data,
166
+ to: txData.to,
167
+ nonce: addHexPrefix(nonce.toString(16)),
168
+ gas: addHexPrefix(txData.gas),
169
+ gasLimit: addHexPrefix(txData.gas),
170
+ maxFeePerGas: addHexPrefix(txData.gasPrice || txData.maxFeePerGas),
171
+ maxPriorityFeePerGas: addHexPrefix(txData.maxPriorityFeePerGas || TIP_IN_GWEI.toString(16)),
172
+ };
173
+ const tx = FeeMarketEIP1559Transaction.fromTxData(eip1559TxData, { common });
174
+ const msg = tx.getMessageToSign(false);
175
+ // const encodedMessage = msg
176
+ const encodedMessageHex = msg.toString('hex');
177
+ try {
178
+ const ledger = await this.ledger.getInstance();
179
+ const { derivationPath } = await this.getWalletForAddress(options.address);
180
+ const ledgerService = await import('@ledgerhq/hw-app-eth/lib/services/ledger');
181
+ const resolution = await ledgerService.default.resolveTransaction(encodedMessageHex, {}, {});
182
+ const txSig = await ledger.signTransaction(derivationPath, encodedMessageHex, resolution);
183
+ const signedTxData = {
184
+ ...eip1559TxData,
185
+ v: `0x${txSig.v}`,
186
+ r: `0x${txSig.r}`,
187
+ s: `0x${txSig.s}`,
188
+ };
189
+ return FeeMarketEIP1559Transaction.fromTxData(signedTxData, {
190
+ common,
191
+ });
192
+ }
193
+ catch (e) {
194
+ throw new LedgerException(new Error(e.message), {
195
+ code: UnspecifiedErrorCode,
196
+ type: ErrorType.WalletError,
197
+ contextModule: WalletAction.SignEthereumTransaction,
198
+ });
199
+ }
200
+ }
201
+ async getWalletForAddress(address) {
202
+ try {
203
+ const { baseDerivationPath, derivationPathType } = this;
204
+ const accountManager = await this.ledger.getAccountManager();
205
+ if (!accountManager.hasWalletForAddress(address)) {
206
+ for (let i = 0; i < DEFAULT_ADDRESS_SEARCH_LIMIT / DEFAULT_NUM_ADDRESSES_TO_FETCH; i += 1) {
207
+ await accountManager.getWallets(baseDerivationPath, derivationPathType);
208
+ if (accountManager.hasWalletForAddress(address)) {
209
+ return (await accountManager.getWalletForAddress(address));
210
+ }
211
+ }
212
+ }
213
+ return (await accountManager.getWalletForAddress(address));
214
+ }
215
+ catch (e) {
216
+ throw new LedgerException(new Error(e.message), {
217
+ code: UnspecifiedErrorCode,
218
+ type: ErrorType.WalletError,
219
+ contextModule: WalletAction.GetAccounts,
220
+ });
221
+ }
222
+ }
223
+ async getAlchemy() {
224
+ if (this.alchemy) {
225
+ return this.alchemy;
226
+ }
227
+ const { rpcUrl, ethereumChainId } = this.ethereumOptions;
228
+ if (!rpcUrl) {
229
+ throw new GeneralException(new Error('Please pass rpcUrl within the ethereumOptions'));
230
+ }
231
+ this.alchemy = new Alchemy({
232
+ apiKey: getKeyFromRpcUrl(rpcUrl),
233
+ network: ethereumChainId === EthereumChainId.Mainnet
234
+ ? AlchemyNetwork.ETH_MAINNET
235
+ : AlchemyNetwork.ETH_SEPOLIA,
236
+ });
237
+ return this.alchemy;
238
+ }
239
+ }
240
+ //# sourceMappingURL=Base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../../src/strategy/Ledger/Base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
2
+ import LedgerBase from './Base';
3
+ export declare class LedgerLegacy extends LedgerBase {
4
+ constructor(args: ConcreteEthereumWalletStrategyArgs);
5
+ }
6
+ //# sourceMappingURL=LedgerLegacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedgerLegacy.d.ts","sourceRoot":"","sources":["../../../../src/strategy/Ledger/LedgerLegacy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAA;AAE/E,OAAO,UAAU,MAAM,QAAQ,CAAA;AAE/B,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,IAAI,EAAE,kCAAkC;CAMrD"}
@@ -0,0 +1,11 @@
1
+ import { LedgerDerivationPathType } from '../../types';
2
+ import LedgerBase from './Base';
3
+ export class LedgerLegacy extends LedgerBase {
4
+ constructor(args) {
5
+ super({
6
+ ...args,
7
+ derivationPathType: LedgerDerivationPathType.LedgerMew,
8
+ });
9
+ }
10
+ }
11
+ //# sourceMappingURL=LedgerLegacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedgerLegacy.js","sourceRoot":"","sources":["../../../../src/strategy/Ledger/LedgerLegacy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,UAAU,MAAM,QAAQ,CAAA;AAE/B,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,YAAY,IAAwC;QAClD,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,kBAAkB,EAAE,wBAAwB,CAAC,SAAS;SACvD,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
2
+ import LedgerBase from './Base';
3
+ export declare class LedgerLive extends LedgerBase {
4
+ constructor(args: ConcreteEthereumWalletStrategyArgs);
5
+ }
6
+ //# sourceMappingURL=LedgerLive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedgerLive.d.ts","sourceRoot":"","sources":["../../../../src/strategy/Ledger/LedgerLive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAA;AAE/E,OAAO,UAAU,MAAM,QAAQ,CAAA;AAE/B,qBAAa,UAAW,SAAQ,UAAU;gBAC5B,IAAI,EAAE,kCAAkC;CAMrD"}
@@ -0,0 +1,11 @@
1
+ import { LedgerDerivationPathType } from '../../types';
2
+ import LedgerBase from './Base';
3
+ export class LedgerLive extends LedgerBase {
4
+ constructor(args) {
5
+ super({
6
+ ...args,
7
+ derivationPathType: LedgerDerivationPathType.LedgerLive,
8
+ });
9
+ }
10
+ }
11
+ //# sourceMappingURL=LedgerLive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedgerLive.js","sourceRoot":"","sources":["../../../../src/strategy/Ledger/LedgerLive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,UAAU,MAAM,QAAQ,CAAA;AAE/B,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,YAAY,IAAwC;QAClD,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,kBAAkB,EAAE,wBAAwB,CAAC,UAAU;SACxD,CAAC,CAAA;IACJ,CAAC;CACF"}