lido-cli 1.0.0

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 (53) hide show
  1. package/dist/api/client.d.ts +63 -0
  2. package/dist/api/client.d.ts.map +1 -0
  3. package/dist/api/client.js +146 -0
  4. package/dist/api/client.js.map +1 -0
  5. package/dist/commands/balance.d.ts +3 -0
  6. package/dist/commands/balance.d.ts.map +1 -0
  7. package/dist/commands/balance.js +62 -0
  8. package/dist/commands/balance.js.map +1 -0
  9. package/dist/commands/rewards.d.ts +3 -0
  10. package/dist/commands/rewards.d.ts.map +1 -0
  11. package/dist/commands/rewards.js +72 -0
  12. package/dist/commands/rewards.js.map +1 -0
  13. package/dist/commands/stake.d.ts +3 -0
  14. package/dist/commands/stake.d.ts.map +1 -0
  15. package/dist/commands/stake.js +45 -0
  16. package/dist/commands/stake.js.map +1 -0
  17. package/dist/commands/stats.d.ts +3 -0
  18. package/dist/commands/stats.d.ts.map +1 -0
  19. package/dist/commands/stats.js +59 -0
  20. package/dist/commands/stats.js.map +1 -0
  21. package/dist/commands/withdraw.d.ts +3 -0
  22. package/dist/commands/withdraw.d.ts.map +1 -0
  23. package/dist/commands/withdraw.js +109 -0
  24. package/dist/commands/withdraw.js.map +1 -0
  25. package/dist/commands/wrap.d.ts +4 -0
  26. package/dist/commands/wrap.d.ts.map +1 -0
  27. package/dist/commands/wrap.js +89 -0
  28. package/dist/commands/wrap.js.map +1 -0
  29. package/dist/config/abis.d.ts +212 -0
  30. package/dist/config/abis.d.ts.map +1 -0
  31. package/dist/config/abis.js +146 -0
  32. package/dist/config/abis.js.map +1 -0
  33. package/dist/config/contracts.d.ts +9 -0
  34. package/dist/config/contracts.d.ts.map +1 -0
  35. package/dist/config/contracts.js +19 -0
  36. package/dist/config/contracts.js.map +1 -0
  37. package/dist/config/store.d.ts +11 -0
  38. package/dist/config/store.d.ts.map +1 -0
  39. package/dist/config/store.js +93 -0
  40. package/dist/config/store.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +66 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/mcp.d.ts +2 -0
  46. package/dist/mcp.d.ts.map +1 -0
  47. package/dist/mcp.js +226 -0
  48. package/dist/mcp.js.map +1 -0
  49. package/dist/utils/format.d.ts +15 -0
  50. package/dist/utils/format.d.ts.map +1 -0
  51. package/dist/utils/format.js +43 -0
  52. package/dist/utils/format.js.map +1 -0
  53. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../src/commands/withdraw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function makeWrapCommand(): Command;
3
+ export declare function makeUnwrapCommand(): Command;
4
+ //# sourceMappingURL=wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,eAAe,IAAI,OAAO,CAyCzC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAyC3C"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeWrapCommand = makeWrapCommand;
4
+ exports.makeUnwrapCommand = makeUnwrapCommand;
5
+ const commander_1 = require("commander");
6
+ const client_1 = require("../api/client");
7
+ const store_1 = require("../config/store");
8
+ const format_1 = require("../utils/format");
9
+ function makeWrapCommand() {
10
+ const cmd = new commander_1.Command('wrap')
11
+ .description('Build a transaction to wrap stETH into wstETH')
12
+ .requiredOption('--amount <stETH>', 'Amount of stETH to wrap')
13
+ .option('--pretty', 'Human-readable colored output')
14
+ .action(async (opts) => {
15
+ try {
16
+ const num = parseFloat(opts.amount);
17
+ if (isNaN(num) || num <= 0) {
18
+ (0, format_1.jsonError)('Invalid amount. Must be a positive number.', 'INVALID_INPUT', 1);
19
+ return;
20
+ }
21
+ const client = new client_1.LidoClient((0, store_1.getRpcUrl)());
22
+ const [tx, rate] = await Promise.all([
23
+ Promise.resolve(client.buildWrapTransaction(opts.amount)),
24
+ client.getExchangeRate(),
25
+ ]);
26
+ const estimatedWstETH = num * parseFloat(rate.wstEthPerStEth);
27
+ const data = { ...tx, estimatedOutput: estimatedWstETH.toString(), rate: rate.wstEthPerStEth };
28
+ if (opts.pretty) {
29
+ (0, format_1.header)(`Wrap ${opts.amount} stETH -> wstETH`);
30
+ (0, format_1.row)('Input', `${opts.amount} stETH`);
31
+ (0, format_1.row)('Estimated Output', `${(0, format_1.formatEth)(estimatedWstETH.toString())} wstETH`);
32
+ (0, format_1.row)('Rate', `1 wstETH = ${(0, format_1.formatEth)(rate.stEthPerWstEth)} stETH`);
33
+ (0, format_1.row)('Contract', tx.to);
34
+ return;
35
+ }
36
+ console.log(JSON.stringify(data));
37
+ }
38
+ catch (err) {
39
+ if (err instanceof Error) {
40
+ (0, format_1.jsonError)(err.message, 'RPC_ERROR', 1);
41
+ }
42
+ else {
43
+ (0, format_1.jsonError)('Unknown error', 'UNKNOWN', 1);
44
+ }
45
+ }
46
+ });
47
+ return cmd;
48
+ }
49
+ function makeUnwrapCommand() {
50
+ const cmd = new commander_1.Command('unwrap')
51
+ .description('Build a transaction to unwrap wstETH back to stETH')
52
+ .requiredOption('--amount <wstETH>', 'Amount of wstETH to unwrap')
53
+ .option('--pretty', 'Human-readable colored output')
54
+ .action(async (opts) => {
55
+ try {
56
+ const num = parseFloat(opts.amount);
57
+ if (isNaN(num) || num <= 0) {
58
+ (0, format_1.jsonError)('Invalid amount. Must be a positive number.', 'INVALID_INPUT', 1);
59
+ return;
60
+ }
61
+ const client = new client_1.LidoClient((0, store_1.getRpcUrl)());
62
+ const [tx, rate] = await Promise.all([
63
+ Promise.resolve(client.buildUnwrapTransaction(opts.amount)),
64
+ client.getExchangeRate(),
65
+ ]);
66
+ const estimatedStETH = num * parseFloat(rate.stEthPerWstEth);
67
+ const data = { ...tx, estimatedOutput: estimatedStETH.toString(), rate: rate.stEthPerWstEth };
68
+ if (opts.pretty) {
69
+ (0, format_1.header)(`Unwrap ${opts.amount} wstETH -> stETH`);
70
+ (0, format_1.row)('Input', `${opts.amount} wstETH`);
71
+ (0, format_1.row)('Estimated Output', `${(0, format_1.formatEth)(estimatedStETH.toString())} stETH`);
72
+ (0, format_1.row)('Rate', `1 wstETH = ${(0, format_1.formatEth)(rate.stEthPerWstEth)} stETH`);
73
+ (0, format_1.row)('Contract', tx.to);
74
+ return;
75
+ }
76
+ console.log(JSON.stringify(data));
77
+ }
78
+ catch (err) {
79
+ if (err instanceof Error) {
80
+ (0, format_1.jsonError)(err.message, 'RPC_ERROR', 1);
81
+ }
82
+ else {
83
+ (0, format_1.jsonError)('Unknown error', 'UNKNOWN', 1);
84
+ }
85
+ }
86
+ });
87
+ return cmd;
88
+ }
89
+ //# sourceMappingURL=wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/commands/wrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,212 @@
1
+ export declare const stETHAbi: readonly [{
2
+ readonly inputs: readonly [];
3
+ readonly name: "getTotalPooledEther";
4
+ readonly outputs: readonly [{
5
+ readonly name: "";
6
+ readonly type: "uint256";
7
+ }];
8
+ readonly stateMutability: "view";
9
+ readonly type: "function";
10
+ }, {
11
+ readonly inputs: readonly [];
12
+ readonly name: "getTotalShares";
13
+ readonly outputs: readonly [{
14
+ readonly name: "";
15
+ readonly type: "uint256";
16
+ }];
17
+ readonly stateMutability: "view";
18
+ readonly type: "function";
19
+ }, {
20
+ readonly inputs: readonly [{
21
+ readonly name: "_account";
22
+ readonly type: "address";
23
+ }];
24
+ readonly name: "balanceOf";
25
+ readonly outputs: readonly [{
26
+ readonly name: "";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly stateMutability: "view";
30
+ readonly type: "function";
31
+ }, {
32
+ readonly inputs: readonly [{
33
+ readonly name: "_account";
34
+ readonly type: "address";
35
+ }];
36
+ readonly name: "sharesOf";
37
+ readonly outputs: readonly [{
38
+ readonly name: "";
39
+ readonly type: "uint256";
40
+ }];
41
+ readonly stateMutability: "view";
42
+ readonly type: "function";
43
+ }, {
44
+ readonly inputs: readonly [{
45
+ readonly name: "_sharesAmount";
46
+ readonly type: "uint256";
47
+ }];
48
+ readonly name: "getPooledEthByShares";
49
+ readonly outputs: readonly [{
50
+ readonly name: "";
51
+ readonly type: "uint256";
52
+ }];
53
+ readonly stateMutability: "view";
54
+ readonly type: "function";
55
+ }, {
56
+ readonly inputs: readonly [{
57
+ readonly name: "_ethAmount";
58
+ readonly type: "uint256";
59
+ }];
60
+ readonly name: "getSharesByPooledEth";
61
+ readonly outputs: readonly [{
62
+ readonly name: "";
63
+ readonly type: "uint256";
64
+ }];
65
+ readonly stateMutability: "view";
66
+ readonly type: "function";
67
+ }, {
68
+ readonly inputs: readonly [{
69
+ readonly name: "_referral";
70
+ readonly type: "address";
71
+ }];
72
+ readonly name: "submit";
73
+ readonly outputs: readonly [{
74
+ readonly name: "";
75
+ readonly type: "uint256";
76
+ }];
77
+ readonly stateMutability: "payable";
78
+ readonly type: "function";
79
+ }, {
80
+ readonly inputs: readonly [];
81
+ readonly name: "totalSupply";
82
+ readonly outputs: readonly [{
83
+ readonly name: "";
84
+ readonly type: "uint256";
85
+ }];
86
+ readonly stateMutability: "view";
87
+ readonly type: "function";
88
+ }];
89
+ export declare const wstETHAbi: readonly [{
90
+ readonly inputs: readonly [{
91
+ readonly name: "account";
92
+ readonly type: "address";
93
+ }];
94
+ readonly name: "balanceOf";
95
+ readonly outputs: readonly [{
96
+ readonly name: "";
97
+ readonly type: "uint256";
98
+ }];
99
+ readonly stateMutability: "view";
100
+ readonly type: "function";
101
+ }, {
102
+ readonly inputs: readonly [{
103
+ readonly name: "_wstETHAmount";
104
+ readonly type: "uint256";
105
+ }];
106
+ readonly name: "unwrap";
107
+ readonly outputs: readonly [{
108
+ readonly name: "";
109
+ readonly type: "uint256";
110
+ }];
111
+ readonly stateMutability: "nonpayable";
112
+ readonly type: "function";
113
+ }, {
114
+ readonly inputs: readonly [{
115
+ readonly name: "_stETHAmount";
116
+ readonly type: "uint256";
117
+ }];
118
+ readonly name: "wrap";
119
+ readonly outputs: readonly [{
120
+ readonly name: "";
121
+ readonly type: "uint256";
122
+ }];
123
+ readonly stateMutability: "nonpayable";
124
+ readonly type: "function";
125
+ }, {
126
+ readonly inputs: readonly [];
127
+ readonly name: "stEthPerToken";
128
+ readonly outputs: readonly [{
129
+ readonly name: "";
130
+ readonly type: "uint256";
131
+ }];
132
+ readonly stateMutability: "view";
133
+ readonly type: "function";
134
+ }];
135
+ export declare const withdrawalQueueAbi: readonly [{
136
+ readonly inputs: readonly [{
137
+ readonly name: "_owner";
138
+ readonly type: "address";
139
+ }];
140
+ readonly name: "getWithdrawalRequests";
141
+ readonly outputs: readonly [{
142
+ readonly name: "requestsIds";
143
+ readonly type: "uint256[]";
144
+ }];
145
+ readonly stateMutability: "view";
146
+ readonly type: "function";
147
+ }, {
148
+ readonly inputs: readonly [{
149
+ readonly name: "_requestIds";
150
+ readonly type: "uint256[]";
151
+ }];
152
+ readonly name: "getWithdrawalStatus";
153
+ readonly outputs: readonly [{
154
+ readonly components: readonly [{
155
+ readonly name: "amountOfStETH";
156
+ readonly type: "uint256";
157
+ }, {
158
+ readonly name: "amountOfShares";
159
+ readonly type: "uint256";
160
+ }, {
161
+ readonly name: "owner";
162
+ readonly type: "address";
163
+ }, {
164
+ readonly name: "timestamp";
165
+ readonly type: "uint256";
166
+ }, {
167
+ readonly name: "isFinalized";
168
+ readonly type: "bool";
169
+ }, {
170
+ readonly name: "isClaimed";
171
+ readonly type: "bool";
172
+ }];
173
+ readonly name: "statuses";
174
+ readonly type: "tuple[]";
175
+ }];
176
+ readonly stateMutability: "view";
177
+ readonly type: "function";
178
+ }, {
179
+ readonly inputs: readonly [{
180
+ readonly name: "_amounts";
181
+ readonly type: "uint256[]";
182
+ }, {
183
+ readonly name: "_owner";
184
+ readonly type: "address";
185
+ }];
186
+ readonly name: "requestWithdrawals";
187
+ readonly outputs: readonly [{
188
+ readonly name: "requestIds";
189
+ readonly type: "uint256[]";
190
+ }];
191
+ readonly stateMutability: "nonpayable";
192
+ readonly type: "function";
193
+ }, {
194
+ readonly inputs: readonly [];
195
+ readonly name: "getLastFinalizedRequestId";
196
+ readonly outputs: readonly [{
197
+ readonly name: "";
198
+ readonly type: "uint256";
199
+ }];
200
+ readonly stateMutability: "view";
201
+ readonly type: "function";
202
+ }, {
203
+ readonly inputs: readonly [];
204
+ readonly name: "unfinalizedStETH";
205
+ readonly outputs: readonly [{
206
+ readonly name: "";
207
+ readonly type: "uint256";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ readonly type: "function";
211
+ }];
212
+ //# sourceMappingURL=abis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../src/config/abis.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDX,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BZ,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDrB,CAAC"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ // Minimal ABIs for Lido contracts — only the functions we need
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.withdrawalQueueAbi = exports.wstETHAbi = exports.stETHAbi = void 0;
5
+ exports.stETHAbi = [
6
+ {
7
+ inputs: [],
8
+ name: 'getTotalPooledEther',
9
+ outputs: [{ name: '', type: 'uint256' }],
10
+ stateMutability: 'view',
11
+ type: 'function',
12
+ },
13
+ {
14
+ inputs: [],
15
+ name: 'getTotalShares',
16
+ outputs: [{ name: '', type: 'uint256' }],
17
+ stateMutability: 'view',
18
+ type: 'function',
19
+ },
20
+ {
21
+ inputs: [{ name: '_account', type: 'address' }],
22
+ name: 'balanceOf',
23
+ outputs: [{ name: '', type: 'uint256' }],
24
+ stateMutability: 'view',
25
+ type: 'function',
26
+ },
27
+ {
28
+ inputs: [{ name: '_account', type: 'address' }],
29
+ name: 'sharesOf',
30
+ outputs: [{ name: '', type: 'uint256' }],
31
+ stateMutability: 'view',
32
+ type: 'function',
33
+ },
34
+ {
35
+ inputs: [{ name: '_sharesAmount', type: 'uint256' }],
36
+ name: 'getPooledEthByShares',
37
+ outputs: [{ name: '', type: 'uint256' }],
38
+ stateMutability: 'view',
39
+ type: 'function',
40
+ },
41
+ {
42
+ inputs: [{ name: '_ethAmount', type: 'uint256' }],
43
+ name: 'getSharesByPooledEth',
44
+ outputs: [{ name: '', type: 'uint256' }],
45
+ stateMutability: 'view',
46
+ type: 'function',
47
+ },
48
+ {
49
+ inputs: [{ name: '_referral', type: 'address' }],
50
+ name: 'submit',
51
+ outputs: [{ name: '', type: 'uint256' }],
52
+ stateMutability: 'payable',
53
+ type: 'function',
54
+ },
55
+ {
56
+ inputs: [],
57
+ name: 'totalSupply',
58
+ outputs: [{ name: '', type: 'uint256' }],
59
+ stateMutability: 'view',
60
+ type: 'function',
61
+ },
62
+ ];
63
+ exports.wstETHAbi = [
64
+ {
65
+ inputs: [{ name: 'account', type: 'address' }],
66
+ name: 'balanceOf',
67
+ outputs: [{ name: '', type: 'uint256' }],
68
+ stateMutability: 'view',
69
+ type: 'function',
70
+ },
71
+ {
72
+ inputs: [{ name: '_wstETHAmount', type: 'uint256' }],
73
+ name: 'unwrap',
74
+ outputs: [{ name: '', type: 'uint256' }],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [{ name: '_stETHAmount', type: 'uint256' }],
80
+ name: 'wrap',
81
+ outputs: [{ name: '', type: 'uint256' }],
82
+ stateMutability: 'nonpayable',
83
+ type: 'function',
84
+ },
85
+ {
86
+ inputs: [],
87
+ name: 'stEthPerToken',
88
+ outputs: [{ name: '', type: 'uint256' }],
89
+ stateMutability: 'view',
90
+ type: 'function',
91
+ },
92
+ ];
93
+ exports.withdrawalQueueAbi = [
94
+ {
95
+ inputs: [{ name: '_owner', type: 'address' }],
96
+ name: 'getWithdrawalRequests',
97
+ outputs: [{ name: 'requestsIds', type: 'uint256[]' }],
98
+ stateMutability: 'view',
99
+ type: 'function',
100
+ },
101
+ {
102
+ inputs: [{ name: '_requestIds', type: 'uint256[]' }],
103
+ name: 'getWithdrawalStatus',
104
+ outputs: [
105
+ {
106
+ components: [
107
+ { name: 'amountOfStETH', type: 'uint256' },
108
+ { name: 'amountOfShares', type: 'uint256' },
109
+ { name: 'owner', type: 'address' },
110
+ { name: 'timestamp', type: 'uint256' },
111
+ { name: 'isFinalized', type: 'bool' },
112
+ { name: 'isClaimed', type: 'bool' },
113
+ ],
114
+ name: 'statuses',
115
+ type: 'tuple[]',
116
+ },
117
+ ],
118
+ stateMutability: 'view',
119
+ type: 'function',
120
+ },
121
+ {
122
+ inputs: [
123
+ { name: '_amounts', type: 'uint256[]' },
124
+ { name: '_owner', type: 'address' },
125
+ ],
126
+ name: 'requestWithdrawals',
127
+ outputs: [{ name: 'requestIds', type: 'uint256[]' }],
128
+ stateMutability: 'nonpayable',
129
+ type: 'function',
130
+ },
131
+ {
132
+ inputs: [],
133
+ name: 'getLastFinalizedRequestId',
134
+ outputs: [{ name: '', type: 'uint256' }],
135
+ stateMutability: 'view',
136
+ type: 'function',
137
+ },
138
+ {
139
+ inputs: [],
140
+ name: 'unfinalizedStETH',
141
+ outputs: [{ name: '', type: 'uint256' }],
142
+ stateMutability: 'view',
143
+ type: 'function',
144
+ },
145
+ ];
146
+ //# sourceMappingURL=abis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abis.js","sourceRoot":"","sources":["../../src/config/abis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const CONTRACTS: {
2
+ readonly stETH: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84";
3
+ readonly wstETH: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0";
4
+ readonly withdrawalQueue: "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1";
5
+ readonly accountingOracle: "0x852deD011285fe67063a08005c71a85690503Cee";
6
+ readonly stakingRouter: "0xFdDf38947aFB03C621C71b06C9C70bce73f12999";
7
+ };
8
+ export declare const CHAIN_ID = 1;
9
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS;;;;;;CAWZ,CAAC;AAGX,eAAO,MAAM,QAAQ,IAAI,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHAIN_ID = exports.CONTRACTS = void 0;
4
+ // Lido protocol contract addresses on Ethereum Mainnet
5
+ exports.CONTRACTS = {
6
+ // Lido stETH token / staking entry point
7
+ stETH: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
8
+ // Wrapped stETH (wstETH)
9
+ wstETH: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',
10
+ // Lido withdrawal queue (stETH -> ETH withdrawals)
11
+ withdrawalQueue: '0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1',
12
+ // Lido accounting oracle (for APR data)
13
+ accountingOracle: '0x852deD011285fe67063a08005c71a85690503Cee',
14
+ // Lido staking router
15
+ stakingRouter: '0xFdDf38947aFB03C621C71b06C9C70bce73f12999',
16
+ };
17
+ // Chain ID for Ethereum Mainnet
18
+ exports.CHAIN_ID = 1;
19
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAC1C,QAAA,SAAS,GAAG;IACvB,yCAAyC;IACzC,KAAK,EAAE,4CAAqD;IAC5D,yBAAyB;IACzB,MAAM,EAAE,4CAAqD;IAC7D,mDAAmD;IACnD,eAAe,EAAE,4CAAqD;IACtE,wCAAwC;IACxC,gBAAgB,EAAE,4CAAqD;IACvE,sBAAsB;IACtB,aAAa,EAAE,4CAAqD;CAC5D,CAAC;AAEX,gCAAgC;AACnB,QAAA,QAAQ,GAAG,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface Config {
2
+ rpcUrl?: string;
3
+ defaultWallet?: string;
4
+ }
5
+ export declare function getConfigDir(): string;
6
+ export declare function getConfigFile(): string;
7
+ export declare function loadConfig(configFile?: string): Config;
8
+ export declare function saveConfig(config: Partial<Config>, configFile?: string): void;
9
+ export declare function getRpcUrl(configFile?: string): string;
10
+ export declare function getWallet(configFile?: string): string | null;
11
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAW7E;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CASrD;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5D"}
@@ -0,0 +1,93 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getConfigDir = getConfigDir;
37
+ exports.getConfigFile = getConfigFile;
38
+ exports.loadConfig = loadConfig;
39
+ exports.saveConfig = saveConfig;
40
+ exports.getRpcUrl = getRpcUrl;
41
+ exports.getWallet = getWallet;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const os = __importStar(require("os"));
45
+ const CONFIG_DIR = path.join(os.homedir(), '.lido-cli');
46
+ const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
47
+ function getConfigDir() {
48
+ return CONFIG_DIR;
49
+ }
50
+ function getConfigFile() {
51
+ return CONFIG_FILE;
52
+ }
53
+ function loadConfig(configFile) {
54
+ const file = configFile || CONFIG_FILE;
55
+ try {
56
+ if (fs.existsSync(file)) {
57
+ const raw = fs.readFileSync(file, 'utf-8');
58
+ return JSON.parse(raw);
59
+ }
60
+ }
61
+ catch {
62
+ // Corrupted file, return defaults
63
+ }
64
+ return {};
65
+ }
66
+ function saveConfig(config, configFile) {
67
+ const file = configFile || CONFIG_FILE;
68
+ const dir = path.dirname(file);
69
+ if (!fs.existsSync(dir)) {
70
+ fs.mkdirSync(dir, { recursive: true });
71
+ }
72
+ const existing = loadConfig(file);
73
+ const merged = { ...existing, ...config };
74
+ fs.writeFileSync(file, JSON.stringify(merged, null, 2) + '\n', 'utf-8');
75
+ }
76
+ function getRpcUrl(configFile) {
77
+ const envUrl = process.env.LIDO_RPC_URL;
78
+ if (envUrl)
79
+ return envUrl;
80
+ const config = loadConfig(configFile);
81
+ if (config.rpcUrl)
82
+ return config.rpcUrl;
83
+ // Default to public Cloudflare Ethereum RPC
84
+ return 'https://eth.llamarpc.com';
85
+ }
86
+ function getWallet(configFile) {
87
+ const envWallet = process.env.LIDO_WALLET;
88
+ if (envWallet)
89
+ return envWallet;
90
+ const config = loadConfig(configFile);
91
+ return config.defaultWallet || null;
92
+ }
93
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,oCAEC;AAED,sCAEC;AAED,gCAWC;AAED,gCAWC;AAED,8BASC;AAED,8BAMC;AA/DD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAOzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,SAAgB,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,UAAU,CAAC,UAAmB;IAC5C,MAAM,IAAI,GAAG,UAAU,IAAI,WAAW,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;QACnC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,UAAU,CAAC,MAAuB,EAAE,UAAmB;IACrE,MAAM,IAAI,GAAG,UAAU,IAAI,WAAW,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,SAAS,CAAC,UAAmB;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAExC,4CAA4C;IAC5C,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAgB,SAAS,CAAC,UAAmB;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC1C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}