@lidofinance/lsv-cli 1.0.0-alpha.22 → 1.0.0-alpha.24

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 (224) hide show
  1. package/README.md +15 -44
  2. package/dist/abi/BlsHarness.js +232 -0
  3. package/dist/abi/BlsHarness.js.map +1 -0
  4. package/dist/abi/CLProofVerifier.js +47 -79
  5. package/dist/abi/CLProofVerifier.js.map +1 -1
  6. package/dist/abi/Dashboard.js +618 -196
  7. package/dist/abi/Dashboard.js.map +1 -1
  8. package/dist/abi/LidoLocator.js +7 -7
  9. package/dist/abi/LidoLocator.js.map +1 -1
  10. package/dist/abi/{Delegation.js → OperatorGrid.js} +466 -1067
  11. package/dist/abi/OperatorGrid.js.map +1 -0
  12. package/dist/abi/PredepositGuarantee.js +69 -13
  13. package/dist/abi/PredepositGuarantee.js.map +1 -1
  14. package/dist/abi/ReportChecker.js +109 -0
  15. package/dist/abi/ReportChecker.js.map +1 -0
  16. package/dist/abi/StEth.js +341 -341
  17. package/dist/abi/StEth.js.map +1 -1
  18. package/dist/abi/StakingVault.js +207 -73
  19. package/dist/abi/StakingVault.js.map +1 -1
  20. package/dist/abi/VaultFactory.js +67 -104
  21. package/dist/abi/VaultFactory.js.map +1 -1
  22. package/dist/abi/VaultHub.js +347 -237
  23. package/dist/abi/VaultHub.js.map +1 -1
  24. package/dist/abi/WstEth.js +478 -0
  25. package/dist/abi/WstEth.js.map +1 -0
  26. package/dist/abi/index.js +6 -2
  27. package/dist/abi/index.js.map +1 -1
  28. package/dist/configs/constants.js +2 -2
  29. package/dist/configs/constants.js.map +1 -1
  30. package/dist/configs/deployed.js +21 -47
  31. package/dist/configs/deployed.js.map +1 -1
  32. package/dist/configs/envs.js +5 -6
  33. package/dist/configs/envs.js.map +1 -1
  34. package/dist/configs/utils.js +4 -8
  35. package/dist/configs/utils.js.map +1 -1
  36. package/dist/contracts/blsHarness.js +24 -0
  37. package/dist/contracts/blsHarness.js.map +1 -0
  38. package/dist/contracts/clProofVerifier.js +4 -10
  39. package/dist/contracts/clProofVerifier.js.map +1 -1
  40. package/dist/contracts/index.js +4 -1
  41. package/dist/contracts/index.js.map +1 -1
  42. package/dist/contracts/locator.js +3 -3
  43. package/dist/contracts/locator.js.map +1 -1
  44. package/dist/contracts/operator-grid.js +17 -0
  45. package/dist/contracts/operator-grid.js.map +1 -0
  46. package/dist/contracts/pdg.js +2 -2
  47. package/dist/contracts/pdg.js.map +1 -1
  48. package/dist/contracts/reportChecker.js +23 -0
  49. package/dist/contracts/reportChecker.js.map +1 -0
  50. package/dist/contracts/steth.js +8 -5
  51. package/dist/contracts/steth.js.map +1 -1
  52. package/dist/contracts/token-manager.js +3 -3
  53. package/dist/contracts/token-manager.js.map +1 -1
  54. package/dist/contracts/vault-factory.js +2 -2
  55. package/dist/contracts/vault-factory.js.map +1 -1
  56. package/dist/contracts/vault-hub.js +3 -3
  57. package/dist/contracts/vault-hub.js.map +1 -1
  58. package/dist/contracts/vault-viewer.js +4 -6
  59. package/dist/contracts/vault-viewer.js.map +1 -1
  60. package/dist/contracts/vault.js +2 -2
  61. package/dist/contracts/vault.js.map +1 -1
  62. package/dist/contracts/voting.js +3 -3
  63. package/dist/contracts/voting.js.map +1 -1
  64. package/dist/contracts/wsteth.js +18 -0
  65. package/dist/contracts/wsteth.js.map +1 -0
  66. package/dist/features/advanced-config.js +3 -2
  67. package/dist/features/advanced-config.js.map +1 -1
  68. package/dist/features/dashboard.js +131 -0
  69. package/dist/features/dashboard.js.map +1 -0
  70. package/dist/features/index.js +8 -4
  71. package/dist/features/index.js.map +1 -1
  72. package/dist/features/operator-grid.js +57 -0
  73. package/dist/features/operator-grid.js.map +1 -0
  74. package/dist/features/pdg.js +79 -0
  75. package/dist/features/pdg.js.map +1 -0
  76. package/dist/features/vault-factory.js +33 -6
  77. package/dist/features/vault-factory.js.map +1 -1
  78. package/dist/features/vault-hub.js +81 -0
  79. package/dist/features/vault-hub.js.map +1 -0
  80. package/dist/features/vault.js +54 -0
  81. package/dist/features/vault.js.map +1 -0
  82. package/dist/features/voting.js +5 -5
  83. package/dist/features/voting.js.map +1 -1
  84. package/dist/index.js +2 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/programs/account.js +107 -5
  87. package/dist/programs/account.js.map +1 -1
  88. package/dist/programs/config.js +2 -2
  89. package/dist/programs/config.js.map +1 -1
  90. package/dist/programs/dashboard/config.js +63 -17
  91. package/dist/programs/dashboard/config.js.map +1 -1
  92. package/dist/programs/dashboard/main.js +0 -7
  93. package/dist/programs/dashboard/main.js.map +1 -1
  94. package/dist/programs/dashboard/read.js +76 -16
  95. package/dist/programs/dashboard/read.js.map +1 -1
  96. package/dist/programs/dashboard/write.js +274 -168
  97. package/dist/programs/dashboard/write.js.map +1 -1
  98. package/dist/programs/hub/config.js +28 -32
  99. package/dist/programs/hub/config.js.map +1 -1
  100. package/dist/programs/hub/main.js +0 -7
  101. package/dist/programs/hub/main.js.map +1 -1
  102. package/dist/programs/hub/read.js +30 -35
  103. package/dist/programs/hub/read.js.map +1 -1
  104. package/dist/programs/hub/write.js +150 -42
  105. package/dist/programs/hub/write.js.map +1 -1
  106. package/dist/programs/index.js +2 -1
  107. package/dist/programs/index.js.map +1 -1
  108. package/dist/programs/operator-grid/config.js +81 -0
  109. package/dist/programs/operator-grid/config.js.map +1 -0
  110. package/dist/programs/operator-grid/index.js.map +1 -0
  111. package/dist/programs/operator-grid/main.js +5 -0
  112. package/dist/programs/operator-grid/main.js.map +1 -0
  113. package/dist/programs/operator-grid/read.js +24 -0
  114. package/dist/programs/operator-grid/read.js.map +1 -0
  115. package/dist/programs/operator-grid/write.js +109 -0
  116. package/dist/programs/operator-grid/write.js.map +1 -0
  117. package/dist/programs/pdg/config.js +49 -13
  118. package/dist/programs/pdg/config.js.map +1 -1
  119. package/dist/programs/pdg/main.js +0 -7
  120. package/dist/programs/pdg/main.js.map +1 -1
  121. package/dist/programs/pdg/read.js +20 -3
  122. package/dist/programs/pdg/read.js.map +1 -1
  123. package/dist/programs/pdg/write.js +155 -92
  124. package/dist/programs/pdg/write.js.map +1 -1
  125. package/dist/programs/pdg-helpers.js +155 -38
  126. package/dist/programs/pdg-helpers.js.map +1 -1
  127. package/dist/programs/report.js +89 -0
  128. package/dist/programs/report.js.map +1 -0
  129. package/dist/programs/vault/config.js +6 -2
  130. package/dist/programs/vault/config.js.map +1 -1
  131. package/dist/programs/vault/main.js +0 -7
  132. package/dist/programs/vault/main.js.map +1 -1
  133. package/dist/programs/vault/read.js +16 -44
  134. package/dist/programs/vault/read.js.map +1 -1
  135. package/dist/programs/vault/write.js +125 -45
  136. package/dist/programs/vault/write.js.map +1 -1
  137. package/dist/programs/vault-factory/main.js +0 -7
  138. package/dist/programs/vault-factory/main.js.map +1 -1
  139. package/dist/programs/vault-factory/read.js +17 -19
  140. package/dist/programs/vault-factory/read.js.map +1 -1
  141. package/dist/programs/vault-factory/write.js +31 -69
  142. package/dist/programs/vault-factory/write.js.map +1 -1
  143. package/dist/programs/vault-viewer/main.js +2 -2
  144. package/dist/programs/vault-viewer/main.js.map +1 -1
  145. package/dist/programs/voting.js +8 -23
  146. package/dist/programs/voting.js.map +1 -1
  147. package/dist/providers/wallet.js +4 -4
  148. package/dist/providers/wallet.js.map +1 -1
  149. package/dist/utils/arguments.js +67 -0
  150. package/dist/utils/arguments.js.map +1 -0
  151. package/dist/utils/bls.js +101 -0
  152. package/dist/utils/bls.js.map +1 -0
  153. package/dist/utils/commands/dashboard.js +103 -0
  154. package/dist/utils/commands/dashboard.js.map +1 -0
  155. package/dist/utils/commands/index.js +2 -0
  156. package/dist/utils/commands/index.js.map +1 -0
  157. package/dist/utils/contract.js +54 -14
  158. package/dist/utils/contract.js.map +1 -1
  159. package/dist/utils/data-validators.js +7 -22
  160. package/dist/utils/data-validators.js.map +1 -1
  161. package/dist/utils/error-handler.js +7 -1
  162. package/dist/utils/error-handler.js.map +1 -1
  163. package/dist/utils/fetchCL.js +57 -0
  164. package/dist/utils/fetchCL.js.map +1 -0
  165. package/dist/utils/get-deposit-data-root.js +3 -3
  166. package/dist/utils/health.js +80 -0
  167. package/dist/utils/health.js.map +1 -0
  168. package/dist/utils/index.js +9 -1
  169. package/dist/utils/index.js.map +1 -1
  170. package/dist/utils/ipfs.js +54 -0
  171. package/dist/utils/ipfs.js.map +1 -0
  172. package/dist/utils/logging/console.js +23 -0
  173. package/dist/utils/logging/console.js.map +1 -0
  174. package/dist/utils/logging/constants.js +12 -0
  175. package/dist/utils/logging/constants.js.map +1 -0
  176. package/dist/utils/logging/index.js +2 -0
  177. package/dist/utils/logging/index.js.map +1 -0
  178. package/dist/utils/prompts/dashboard.js +63 -0
  179. package/dist/utils/prompts/dashboard.js.map +1 -0
  180. package/dist/utils/prompts/index.js +2 -1
  181. package/dist/utils/prompts/index.js.map +1 -1
  182. package/dist/utils/prompts/operations.js +41 -0
  183. package/dist/utils/prompts/operations.js.map +1 -0
  184. package/dist/utils/prompts/predeposit-guarantee.js +10 -13
  185. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -1
  186. package/dist/utils/prompts/vault.js +4 -1
  187. package/dist/utils/prompts/vault.js.map +1 -1
  188. package/dist/utils/proof/create-proof.js +5 -29
  189. package/dist/utils/proof/create-proof.js.map +1 -1
  190. package/dist/utils/proof/first-validator-gindex.js +2 -1
  191. package/dist/utils/proof/first-validator-gindex.js.map +1 -1
  192. package/dist/utils/proof/index.js +1 -0
  193. package/dist/utils/proof/index.js.map +1 -1
  194. package/dist/utils/proof/merkle-utils.js +15 -3
  195. package/dist/utils/proof/merkle-utils.js.map +1 -1
  196. package/dist/utils/proof/report-proof.js +26 -0
  197. package/dist/utils/proof/report-proof.js.map +1 -0
  198. package/dist/utils/read-programs-by-abi.js +2 -2
  199. package/dist/utils/read-programs-by-abi.js.map +1 -1
  200. package/dist/utils/report.js +68 -0
  201. package/dist/utils/report.js.map +1 -0
  202. package/dist/utils/required-lock.js +21 -0
  203. package/dist/utils/required-lock.js.map +1 -0
  204. package/dist/version/index.js +1 -1
  205. package/package.json +11 -7
  206. package/dist/abi/Delegation.js.map +0 -1
  207. package/dist/contracts/delegation.js +0 -11
  208. package/dist/contracts/delegation.js.map +0 -1
  209. package/dist/features/dashboard-delegation.js +0 -25
  210. package/dist/features/dashboard-delegation.js.map +0 -1
  211. package/dist/programs/delegation/config.js +0 -33
  212. package/dist/programs/delegation/config.js.map +0 -1
  213. package/dist/programs/delegation/index.js.map +0 -1
  214. package/dist/programs/delegation/main.js +0 -12
  215. package/dist/programs/delegation/main.js.map +0 -1
  216. package/dist/programs/delegation/read.js +0 -98
  217. package/dist/programs/delegation/read.js.map +0 -1
  218. package/dist/programs/delegation/write.js +0 -327
  219. package/dist/programs/delegation/write.js.map +0 -1
  220. package/dist/utils/parse-string.js +0 -20
  221. package/dist/utils/parse-string.js.map +0 -1
  222. package/dist/utils/prompts/delegation-dashboard.js +0 -29
  223. package/dist/utils/prompts/delegation-dashboard.js.map +0 -1
  224. /package/dist/programs/{delegation → operator-grid}/index.js +0 -0
@@ -1,123 +1,203 @@
1
+ import { parseEther } from 'viem';
2
+ import { Option } from 'commander';
1
3
  import { getStakingVaultContract } from '../../contracts/index.js';
2
- import { callWriteMethodWithReceipt, confirmFund } from '../../utils/index.js';
4
+ import { callWriteMethodWithReceipt, confirmFund, confirmOperation, etherToWei, getCommandsJson, logInfo, stringToAddress, stringToBigInt, stringToBigIntArrayWei, } from '../../utils/index.js';
3
5
  import { vault } from './main.js';
4
- vault
6
+ const vaultWrite = vault
7
+ .command('write')
8
+ .aliases(['w'])
9
+ .description('vault write commands');
10
+ vaultWrite.addOption(new Option('-cmd2json'));
11
+ vaultWrite.on('option:-cmd2json', function () {
12
+ logInfo(getCommandsJson(vaultWrite));
13
+ process.exit();
14
+ });
15
+ vaultWrite
5
16
  .command('fund')
6
17
  .description('fund vault')
7
18
  .option('-a, --address <address>', 'vault address')
8
- .option('-e, --ether <ether>', 'amount of ether to be funded (in WEI)')
19
+ .option('-e, --ether <ether>', 'amount of ether to be funded (in ETH)')
9
20
  .action(async ({ address, ether }) => {
10
- const { address: vault, amount } = await confirmFund(address, ether);
21
+ const { address: vault, amount } = await confirmFund(address, ether, 'vault');
11
22
  if (!vault || !amount)
12
23
  return;
13
24
  const contract = getStakingVaultContract(address);
14
- await callWriteMethodWithReceipt(contract, 'fund', [], BigInt(amount));
25
+ await callWriteMethodWithReceipt(contract, 'fund', [], parseEther(amount));
15
26
  });
16
- // TODO: investigate why only owner can fund vault
17
- vault
27
+ vaultWrite
18
28
  .command('withdraw')
19
29
  .description('withdraw from vault')
20
- .argument('<address>', 'vault address')
21
- .argument('<recipient>', 'recipient address')
22
- .argument('<wei>', 'amount to withdraw (in WEI)')
30
+ .argument('<address>', 'vault address', stringToAddress)
31
+ .argument('<recipient>', 'recipient address', stringToAddress)
32
+ .argument('<eth>', 'amount to withdraw (in ETH)', etherToWei)
23
33
  .action(async (address, recipient, amount) => {
24
34
  const contract = getStakingVaultContract(address);
25
- await callWriteMethodWithReceipt(contract, 'withdraw', [
26
- recipient,
27
- BigInt(amount),
28
- ]);
35
+ await callWriteMethodWithReceipt(contract, 'withdraw', [recipient, amount]);
29
36
  });
30
- // NOs
31
37
  // TODO: get more details
32
- vault
38
+ vaultWrite
33
39
  .command('no-deposit-beacon')
34
40
  .description('deposit to beacon chain')
35
- .argument('<address>', 'vault address')
36
- .argument('<amountOfDeposit>', 'amount of deposits')
41
+ .argument('<address>', 'vault address', stringToAddress)
42
+ .argument('<amountOfDeposit>', 'amount of deposits', stringToBigInt)
37
43
  .argument('<pubkey>', 'pubkey')
38
44
  .argument('<signature>', 'signature')
39
45
  .argument('<depositDataRoot>', 'depositDataRoot')
40
46
  .action(async (vault, amountOfDeposit, pubkey, signature, depositDataRoot) => {
41
- const amount = BigInt(amountOfDeposit);
42
47
  const contract = getStakingVaultContract(vault);
43
48
  const payload = [
44
49
  {
45
50
  pubkey,
46
51
  signature,
47
- amount,
52
+ amount: amountOfDeposit,
48
53
  depositDataRoot,
49
54
  },
50
55
  ];
56
+ const confirm = await confirmOperation(`Are you sure you want to deposit ${amountOfDeposit} to beacon chain for the staking vault ${vault}?`);
57
+ if (!confirm)
58
+ return;
51
59
  await callWriteMethodWithReceipt(contract, 'depositToBeaconChain', [
52
60
  payload,
53
61
  ]);
54
62
  });
55
63
  // TODO: get more details
56
- vault
64
+ vaultWrite
57
65
  .command('no-val-exit')
58
66
  .description('request to exit validator')
59
- .argument('<address>', 'vault address')
67
+ .argument('<address>', 'vault address', stringToAddress)
60
68
  .argument('<validatorPublicKey>', 'validator public key')
61
69
  .action(async (address, validatorPublicKey) => {
62
70
  const contract = getStakingVaultContract(address);
71
+ const confirm = await confirmOperation(`Are you sure you want to request to exit validator ${validatorPublicKey} for the staking vault ${vault}?`);
72
+ if (!confirm)
73
+ return;
63
74
  await callWriteMethodWithReceipt(contract, 'requestValidatorExit', [
64
75
  validatorPublicKey,
65
76
  ]);
66
77
  });
67
- vault
78
+ vaultWrite
68
79
  .command('bc-resume')
69
80
  .description('Resumes deposits to beacon chain')
70
- .argument('<address>', 'vault address')
81
+ .argument('<address>', 'vault address', stringToAddress)
71
82
  .action(async (address) => {
72
83
  const contract = getStakingVaultContract(address);
84
+ const confirm = await confirmOperation(`Are you sure you want to resume deposits to beacon chain for the staking vault ${vault}?`);
85
+ if (!confirm)
86
+ return;
73
87
  await callWriteMethodWithReceipt(contract, 'resumeBeaconChainDeposits', []);
74
88
  });
75
- vault
89
+ vaultWrite
76
90
  .command('bc-pause')
77
91
  .description('Pauses deposits to beacon chain')
78
- .argument('<address>', 'vault address')
92
+ .argument('<address>', 'vault address', stringToAddress)
79
93
  .action(async (address) => {
80
94
  const contract = getStakingVaultContract(address);
95
+ const confirm = await confirmOperation(`Are you sure you want to pause deposits to beacon chain for the staking vault ${vault}?`);
96
+ if (!confirm)
97
+ return;
81
98
  await callWriteMethodWithReceipt(contract, 'pauseBeaconChainDeposits', []);
82
99
  });
83
- vault
100
+ vaultWrite
84
101
  .command('report')
85
102
  .description('Submits a report containing valuation, inOutDelta, and locked amount')
86
- .argument('<address>', 'vault address')
87
- .argument('<valuation>', 'New total valuation: validator balances + StakingVault balance')
88
- .argument('<inOutDelta>', 'New net difference between funded and withdrawn ether')
89
- .argument('<locked>', 'New amount of locked ether')
90
- .action(async (address, valuation, inOutDelta, locked) => {
103
+ .argument('<address>', 'vault address', stringToAddress)
104
+ .argument('<timestamp>', 'timestamp of the report', stringToBigInt)
105
+ .argument('<totalValue>', 'new total value: validator balances + StakingVault balance', stringToBigInt)
106
+ .argument('<inOutDelta>', 'new net difference between funded and withdrawn ether', stringToBigInt)
107
+ .argument('<locked>', 'new amount of locked ether', stringToBigInt)
108
+ .action(async (address, timestamp, totalValue, inOutDelta, locked) => {
91
109
  const contract = getStakingVaultContract(address);
92
110
  await callWriteMethodWithReceipt(contract, 'report', [
93
- BigInt(valuation),
94
- BigInt(inOutDelta),
95
- BigInt(locked),
111
+ timestamp,
112
+ totalValue,
113
+ inOutDelta,
114
+ locked,
96
115
  ]);
97
116
  });
98
- vault
117
+ vaultWrite
99
118
  .command('rebalance')
100
119
  .description('Rebalances the vault')
101
- .argument('<address>', 'vault address')
102
- .argument('<amount>', 'amount to rebalance (in WEI)')
120
+ .argument('<address>', 'vault address', stringToAddress)
121
+ .argument('<amount>', 'amount to rebalance (in ETH)', etherToWei)
103
122
  .action(async (address, amount) => {
104
123
  const contract = getStakingVaultContract(address);
105
- await callWriteMethodWithReceipt(contract, 'rebalance', [BigInt(amount)]);
124
+ const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault}?`);
125
+ if (!confirm)
126
+ return;
127
+ await callWriteMethodWithReceipt(contract, 'rebalance', [amount]);
106
128
  });
107
- vault
129
+ vaultWrite
108
130
  .command('trigger-v-w')
109
131
  .description('Trigger validator withdrawal')
110
- .argument('<address>', 'vault address')
132
+ .argument('<address>', 'vault address', stringToAddress)
111
133
  .argument('<pubkeys>', 'validator public keys')
112
- .argument('<amounts>', 'amounts to withdraw (in WEI)')
113
- .argument('<refundRecipient>', 'refund recipient address')
114
- .action(async (address, pubkeys, amount, refundRecipient) => {
134
+ .argument('<amounts>', 'amounts to withdraw (in ETH)', stringToBigIntArrayWei)
135
+ .argument('<refundRecipient>', 'refund recipient address', stringToAddress)
136
+ .action(async (address, pubkeys, amounts, refundRecipient) => {
115
137
  const contract = getStakingVaultContract(address);
116
138
  const concatenatedPubkeys = pubkeys.join('');
117
139
  await callWriteMethodWithReceipt(contract, 'triggerValidatorWithdrawal', [
118
140
  concatenatedPubkeys,
119
- amount.map((a) => BigInt(a)),
141
+ amounts,
120
142
  refundRecipient,
121
143
  ]);
122
144
  });
145
+ vaultWrite
146
+ .command('authorize-lido-vault-hub')
147
+ .alias('authorize-hub')
148
+ .description('Authorizes the Lido Vault Hub to manage the staking vault.')
149
+ .argument('<address>', 'vault address', stringToAddress)
150
+ .action(async (address) => {
151
+ const contract = getStakingVaultContract(address);
152
+ const confirm = await confirmOperation(`Are you sure you want to authorize the Lido Vault Hub to manage the staking vault ${vault}?`);
153
+ if (!confirm)
154
+ return;
155
+ await callWriteMethodWithReceipt(contract, 'authorizeLidoVaultHub', []);
156
+ });
157
+ vaultWrite
158
+ .command('deauthorize-lido-vault-hub')
159
+ .alias('deauthorize-hub')
160
+ .description('Deauthorizes the Lido Vault Hub from managing the staking vault.')
161
+ .argument('<address>', 'dashboard address', stringToAddress)
162
+ .action(async (address) => {
163
+ const contract = getStakingVaultContract(address);
164
+ const confirm = await confirmOperation(`Are you sure you want to deauthorize the Lido Vault Hub from managing the staking vault ${vault}?`);
165
+ if (!confirm)
166
+ return;
167
+ await callWriteMethodWithReceipt(contract, 'deauthorizeLidoVaultHub', []);
168
+ });
169
+ vaultWrite
170
+ .command('ossify')
171
+ .description('Ossifies the staking vault.')
172
+ .argument('<address>', 'vault address', stringToAddress)
173
+ .action(async (address) => {
174
+ const contract = getStakingVaultContract(address);
175
+ const confirm = await confirmOperation(`Are you sure you want to ossify the staking vault ${vault}?`);
176
+ if (!confirm)
177
+ return;
178
+ await callWriteMethodWithReceipt(contract, 'ossifyStakingVault', []);
179
+ });
180
+ vaultWrite
181
+ .command('reset-l ocked')
182
+ .description('Resets the locked amount')
183
+ .argument('<address>', 'vault address', stringToAddress)
184
+ .action(async (address) => {
185
+ const contract = getStakingVaultContract(address);
186
+ const confirm = await confirmOperation(`Are you sure you want to reset the locked amount for the staking vault ${vault}?`);
187
+ if (!confirm)
188
+ return;
189
+ await callWriteMethodWithReceipt(contract, 'resetLocked', []);
190
+ });
191
+ vaultWrite
192
+ .command('set-depositor')
193
+ .description('Sets the depositor')
194
+ .argument('<address>', 'vault address', stringToAddress)
195
+ .argument('<depositor>', 'depositor address', stringToAddress)
196
+ .action(async (address, depositor) => {
197
+ const contract = getStakingVaultContract(address);
198
+ const confirm = await confirmOperation(`Are you sure you want to set the depositor for the staking vault ${vault} to ${depositor}?`);
199
+ if (!confirm)
200
+ return;
201
+ await callWriteMethodWithReceipt(contract, 'setDepositor', [depositor]);
202
+ });
123
203
  //# sourceMappingURL=write.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,OAAO,EACP,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,GAAG,KAAK;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAEvC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9C,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAChC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,YAAY,CAAC;KACzB,MAAM,CAAC,yBAAyB,EAAE,eAAe,CAAC;KAClD,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAuC,EAAE,EAAE;IACxE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAClD,OAAO,EACP,KAAK,EACL,OAAO,CACR,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO;IAE9B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,CAAC;KAC7D,QAAQ,CAAC,OAAO,EAAE,6BAA6B,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,SAAkB,EAAE,MAAc,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,yBAAyB;AACzB,UAAU;KACP,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,yBAAyB,CAAC;KACtC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,CAAC;KACnE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;KAC9B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KAChD,MAAM,CACL,KAAK,EACH,KAAc,EACd,eAAuB,EACvB,MAAqB,EACrB,SAAwB,EACxB,eAA8B,EAC9B,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG;QACd;YACE,MAAM;YACN,SAAS;YACT,MAAM,EAAE,eAAe;YACvB,eAAe;SAChB;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,oCAAoC,eAAe,0CAA0C,KAAK,GAAG,CACtG,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB,EAAE;QACjE,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,yBAAyB;AACzB,UAAU;KACP,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,kBAA2B,EAAE,EAAE;IAC9D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,sDAAsD,kBAAkB,0BAA0B,KAAK,GAAG,CAC3G,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB,EAAE;QACjE,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,kFAAkF,KAAK,GAAG,CAC3F,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,iFAAiF,KAAK,GAAG,CAC1F,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,sEAAsE,CACvE;KACA,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,aAAa,EAAE,yBAAyB,EAAE,cAAc,CAAC;KAClE,QAAQ,CACP,cAAc,EACd,4DAA4D,EAC5D,cAAc,CACf;KACA,QAAQ,CACP,cAAc,EACd,uDAAuD,EACvD,cAAc,CACf;KACA,QAAQ,CAAC,UAAU,EAAE,4BAA4B,EAAE,cAAc,CAAC;KAClE,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,SAAiB,EACjB,UAAkB,EAClB,UAAkB,EAClB,MAAc,EACd,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE;QACnD,SAAS;QACT,UAAU;QACV,UAAU;QACV,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,UAAU;KACP,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,sBAAsB,CAAC;KACnC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,UAAU,EAAE,8BAA8B,EAAE,UAAU,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,MAAc,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,gDAAgD,KAAK,GAAG,CACzD,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC9C,QAAQ,CAAC,WAAW,EAAE,8BAA8B,EAAE,sBAAsB,CAAC;KAC7E,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,eAAe,CAAC;KAC1E,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,OAAc,EACd,OAAiB,EACjB,eAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAkB,CAAC;IAE9D,MAAM,0BAA0B,CAAC,QAAQ,EAAE,4BAA4B,EAAE;QACvE,mBAAmB;QACnB,OAAO;QACP,eAAe;KAChB,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,UAAU;KACP,OAAO,CAAC,0BAA0B,CAAC;KACnC,KAAK,CAAC,eAAe,CAAC;KACtB,WAAW,CAAC,4DAA4D,CAAC;KACzE,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,qFAAqF,KAAK,GAAG,CAC9F,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,4BAA4B,CAAC;KACrC,KAAK,CAAC,iBAAiB,CAAC;KACxB,WAAW,CACV,kEAAkE,CACnE;KACA,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,2FAA2F,KAAK,GAAG,CACpG,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,qDAAqD,KAAK,GAAG,CAC9D,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,0EAA0E,KAAK,GAAG,CACnF,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACvD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,SAAkB,EAAE,EAAE;IACrD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,oEAAoE,KAAK,OAAO,SAAS,GAAG,CAC7F,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
@@ -1,12 +1,5 @@
1
1
  import { program } from '../../command/index.js';
2
- import { Option } from 'commander';
3
- import { getCommandsJson } from '../../utils/index.js';
4
2
  export const vaultFactory = program
5
3
  .command('factory')
6
4
  .description('vault factory contract');
7
- vaultFactory.addOption(new Option('-cmd2json'));
8
- vaultFactory.on('option:-cmd2json', function () {
9
- console.info(getCommandsJson(vaultFactory));
10
- process.exit();
11
- });
12
5
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-factory/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO;KAChC,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,YAAY,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChD,YAAY,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAClC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-factory/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO;KAChC,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1,26 +1,24 @@
1
+ import { Option } from 'commander';
1
2
  import { getVaultFactoryContract } from '../../contracts/index.js';
2
3
  import { VaultFactoryAbi } from '../../abi/index.js';
3
- import { generateReadCommands } from '../../utils/index.js';
4
+ import { generateReadCommands, getCommandsJson, logInfo } from '../../utils/index.js';
5
+ import { getVaultFactoryInfo } from '../../features/index.js';
4
6
  import { vaultFactory } from './main.js';
5
7
  import { readCommandConfig } from './config.js';
6
- vaultFactory
7
- .command('constants')
8
- .description('get vault factory constants info')
8
+ const vaultFactoryRead = vaultFactory
9
+ .command('read')
10
+ .aliases(['r'])
11
+ .description('vault factory read commands');
12
+ vaultFactoryRead.addOption(new Option('-cmd2json'));
13
+ vaultFactoryRead.on('option:-cmd2json', function () {
14
+ logInfo(getCommandsJson(vaultFactoryRead));
15
+ process.exit();
16
+ });
17
+ vaultFactoryRead
18
+ .command('info')
19
+ .description('get vault factory info')
9
20
  .action(async () => {
10
- const contract = getVaultFactoryContract();
11
- try {
12
- const beaconAddress = await contract.read.BEACON();
13
- const delegationImplAddress = await contract.read.DELEGATION_IMPL();
14
- console.table({
15
- beaconAddress,
16
- delegationImplAddress,
17
- });
18
- }
19
- catch (err) {
20
- if (err instanceof Error) {
21
- console.info('Error when getting constants:\n', err.message);
22
- }
23
- }
21
+ await getVaultFactoryInfo();
24
22
  });
25
- generateReadCommands(VaultFactoryAbi, getVaultFactoryContract, vaultFactory, readCommandConfig);
23
+ generateReadCommands(VaultFactoryAbi, getVaultFactoryContract, vaultFactoryRead, readCommandConfig);
26
24
  //# sourceMappingURL=read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault-factory/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,YAAY;KACT,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpE,OAAO,CAAC,KAAK,CAAC;YACZ,aAAa;YACb,qBAAqB;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,CAClB,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault-factory/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,gBAAgB,GAAG,YAAY;KAClC,OAAO,CAAC,MAAM,CAAC;KACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,6BAA6B,CAAC,CAAC;AAE9C,gBAAgB,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACpD,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACtC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,gBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,mBAAmB,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC"}
@@ -1,75 +1,40 @@
1
1
  import { program } from '../../command/index.js';
2
+ import { Option } from 'commander';
2
3
  import { createVault } from '../../features/index.js';
3
- import { validateAddressesMap, validateAddressMap, transformAddressesToArray, confirmCreateVaultParams, } from '../../utils/index.js';
4
+ import { validateAddressesMap, validateAddressMap, transformAddressesToArray, confirmCreateVaultParams, logResult, logInfo, logError, stringToBigInt, jsonToRoleAssignment, logCancel, getCommandsJson, } from '../../utils/index.js';
4
5
  import { vaultFactory } from './main.js';
5
- vaultFactory
6
+ const vaultFactoryWrite = vaultFactory
7
+ .command('write')
8
+ .aliases(['w'])
9
+ .description('vault factory write commands');
10
+ vaultFactoryWrite.addOption(new Option('-cmd2json'));
11
+ vaultFactoryWrite.on('option:-cmd2json', function () {
12
+ logInfo(getCommandsJson(vaultFactoryWrite));
13
+ process.exit();
14
+ });
15
+ vaultFactoryWrite
6
16
  .command('create-vault')
7
- .description('create vault contract')
8
- .option('-f, --funders <funders>', 'funders role address')
9
- .option('-w, --withdrawers <withdrawers>', 'withdrawers role address')
10
- .option('-m, --minters <minters>', 'minters role address')
11
- .option('-b, --burners <burners>', 'burners role address')
12
- .option('-r, --rebalancers <rebalancers>', 'rebalancers role address')
13
- .option('-p, --depositPausers <depositPausers>', 'depositPausers role address')
14
- .option('-d, --depositResumers <depositResumers>', 'depositResumers role address')
15
- .option('-e, --exitRequesters <exitRequesters>', 'exitRequesters role address')
16
- .option('-u, --disconnecters <disconnecters>', 'disconnecters role address')
17
- .option('-c, --curators <curators>', 'curators role address')
18
- .option('-ve, --validatorExitRequesters <validatorExitRequesters>', 'validator exit requesters role addresses')
19
- .option('-vt, --validatorWithdrawalTriggerers <validatorWithdrawalTriggerers>', 'validator withdrawal triggerers role address')
20
- .option('-o, --nodeOperatorFeeClaimer <nodeOperatorFeeClaimer>', 'node operator fee claimer address')
21
- .option('-cfs, --curatorFeeSetters <curatorFeeSetters>', 'curator fee setters role addresses')
22
- .option('-cfc, --curatorFeeClaimers <curatorFeeClaimers>', 'curator fee claimers role addresses')
23
- .option('-nofc, --nodeOperatorFeeClaimers <nodeOperatorFeeClaimers>', 'node operator fee claimers role addresses')
17
+ .description('create vault contract with deposit 1 ETH')
24
18
  .argument('<defaultAdmin>', 'default admin address')
19
+ .argument('<nodeOperator>', 'node operator address')
25
20
  .argument('<nodeOperatorManager>', 'node operator manager address')
26
- .argument('<assetRecoverer>', 'asset recoverer address')
27
- .argument('<confirmExpiry>', 'confirm expiry')
28
- .argument('<curatorFeeBP>', 'Vault curator fee, for e.g. 100 == 1%')
29
- .argument('<nodeOperatorFeeBP>', 'Node operator fee, for e.g. 100 == 1%')
21
+ .argument('<confirmExpiry>', 'confirm expiry', stringToBigInt)
22
+ .argument('<nodeOperatorFeeBP>', 'Node operator fee, for e.g. 100 == 1%', stringToBigInt)
30
23
  .argument('[quantity]', 'quantity of vaults to create, default 1', '1')
31
- .action(async (defaultAdmin, nodeOperatorManager, assetRecoverer, confirmExpiry, curatorFeeBP, nodeOperatorFeeBP, quantity, options) => {
32
- const curatorFee = parseInt(curatorFeeBP);
33
- const nodeOperatorFee = parseInt(nodeOperatorFeeBP);
34
- const confirmExpiryNumber = Number(confirmExpiry);
24
+ .option('-r, --roles <roles>', 'other roles to assign to the vault', jsonToRoleAssignment)
25
+ .action(async (defaultAdmin, nodeOperator, nodeOperatorManager, confirmExpiry, nodeOperatorFeeBP, quantity, options) => {
35
26
  const qnt = parseInt(quantity);
36
- if (isNaN(curatorFee) || curatorFee < 0) {
37
- program.error('curator fee must be a positive number', { exitCode: 1 });
38
- }
39
- if (isNaN(nodeOperatorFee) || nodeOperatorFee < 0) {
40
- program.error('operator fee must be a positive number', {
41
- exitCode: 1,
42
- });
43
- }
44
- if (isNaN(confirmExpiryNumber) || confirmExpiryNumber < 0) {
45
- program.error('confirm expiry must be a positive number', {
46
- exitCode: 1,
47
- });
48
- }
27
+ const otherRoles = options.roles || [];
49
28
  if (isNaN(qnt)) {
50
- program.error('quantity must be a number', { exitCode: 1 });
29
+ logError('quantity must be a number');
30
+ return;
51
31
  }
52
- const extraKeys = [
53
- 'funders',
54
- 'withdrawers',
55
- 'minters',
56
- 'burners',
57
- 'rebalancers',
58
- 'depositPausers',
59
- 'depositResumers',
60
- 'validatorExitRequesters',
61
- 'validatorWithdrawalTriggerers',
62
- 'disconnecters',
63
- 'curatorFeeSetters',
64
- 'curatorFeeClaimers',
65
- 'nodeOperatorFeeClaimers',
66
- ];
67
- const addresses = transformAddressesToArray(options, extraKeys);
32
+ const addresses = transformAddressesToArray(otherRoles);
68
33
  const errorsAddressesList = validateAddressesMap(addresses);
69
34
  const errorsList = [
70
35
  ...errorsAddressesList,
71
36
  ...validateAddressMap([
72
- assetRecoverer,
37
+ nodeOperator,
73
38
  defaultAdmin,
74
39
  nodeOperatorManager,
75
40
  ]),
@@ -81,29 +46,26 @@ vaultFactory
81
46
  // eslint-disable-next-line unicorn/new-for-builtins
82
47
  const list = Array.from(Array(qnt));
83
48
  const payload = {
84
- ...options,
85
- ...addresses,
86
49
  defaultAdmin,
50
+ nodeOperator,
87
51
  nodeOperatorManager,
88
- assetRecoverer,
89
- confirmExpiry: BigInt(confirmExpiry),
90
- curatorFeeBP: curatorFee,
91
- nodeOperatorFeeBP: nodeOperatorFee,
52
+ confirmExpiry,
53
+ nodeOperatorFeeBP,
92
54
  };
93
55
  const transactions = [];
94
- const { confirm } = await confirmCreateVaultParams(payload);
56
+ const { confirm } = await confirmCreateVaultParams(payload, otherRoles);
95
57
  if (!confirm)
96
- program.error('Vault creation cancelled', { exitCode: 1 });
58
+ return logCancel('Vault creation cancelled');
97
59
  try {
98
60
  for (const _ of list) {
99
- const tx = await createVault(payload);
61
+ const tx = await createVault(payload, otherRoles);
100
62
  transactions.push(tx);
101
63
  }
102
- console.table(transactions);
64
+ logResult(transactions);
103
65
  }
104
66
  catch (err) {
105
67
  if (err instanceof Error) {
106
- console.info('Error occurred while creating vaults', err.message);
68
+ logInfo('Error occurred while creating vaults', err.message);
107
69
  }
108
70
  }
109
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault-factory/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,YAAY;KACT,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC;KACzD,MAAM,CAAC,iCAAiC,EAAE,0BAA0B,CAAC;KACrE,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC;KACzD,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC;KACzD,MAAM,CAAC,iCAAiC,EAAE,0BAA0B,CAAC;KACrE,MAAM,CACL,uCAAuC,EACvC,6BAA6B,CAC9B;KACA,MAAM,CACL,yCAAyC,EACzC,8BAA8B,CAC/B;KACA,MAAM,CACL,uCAAuC,EACvC,6BAA6B,CAC9B;KACA,MAAM,CAAC,qCAAqC,EAAE,4BAA4B,CAAC;KAC3E,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;KAC5D,MAAM,CACL,0DAA0D,EAC1D,0CAA0C,CAC3C;KACA,MAAM,CACL,sEAAsE,EACtE,8CAA8C,CAC/C;KACA,MAAM,CACL,uDAAuD,EACvD,mCAAmC,CACpC;KACA,MAAM,CACL,+CAA+C,EAC/C,oCAAoC,CACrC;KACA,MAAM,CACL,iDAAiD,EACjD,qCAAqC,CACtC;KACA,MAAM,CACL,4DAA4D,EAC5D,2CAA2C,CAC5C;KACA,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACnD,QAAQ,CAAC,uBAAuB,EAAE,+BAA+B,CAAC;KAClE,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;KACvD,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;KAC7C,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACnE,QAAQ,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACxE,QAAQ,CAAC,YAAY,EAAE,yCAAyC,EAAE,GAAG,CAAC;KACtE,MAAM,CACL,KAAK,EACH,YAAoB,EACpB,mBAA2B,EAC3B,cAAsB,EACtB,aAAqB,EACrB,YAAoB,EACpB,iBAAyB,EACzB,QAAgB,EAChB,OAA2B,EAC3B,EAAE;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACtD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE;YACxD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAiC;QAC9C,SAAS;QACT,aAAa;QACb,SAAS;QACT,SAAS;QACT,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,yBAAyB;QACzB,+BAA+B;QAC/B,eAAe;QACf,mBAAmB;QACnB,oBAAoB;QACpB,yBAAyB;KAC1B,CAAC;IAEF,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG;QACjB,GAAG,mBAAmB;QACtB,GAAG,kBAAkB,CAAC;YACpB,cAAc;YACd,YAAY;YACZ,mBAAmB;SACpB,CAAC;KACH,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,MAAM,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG;QACd,GAAG,OAAO;QACV,GAAG,SAAS;QACZ,YAAY;QACZ,mBAAmB;QACnB,cAAc;QACd,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,YAAY,EAAE,UAAU;QACxB,iBAAiB,EAAE,eAAe;KACZ,CAAC;IAEzB,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzE,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault-factory/write.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { program } from '../../command/index.js';
2
2
  import { Option } from 'commander';
3
- import { getCommandsJson } from '../../utils/index.js';
3
+ import { getCommandsJson, logInfo } from '../../utils/index.js';
4
4
  export const vaultViewer = program.command('v-v').description('vault viewer');
5
5
  vaultViewer.addOption(new Option('-cmd2json'));
6
6
  vaultViewer.on('option:-cmd2json', function () {
7
- console.info(getCommandsJson(vaultViewer));
7
+ logInfo(getCommandsJson(vaultViewer));
8
8
  process.exit();
9
9
  });
10
10
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-viewer/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9E,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/C,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACjC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-viewer/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9E,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/C,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACjC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -1,33 +1,18 @@
1
+ import { Option } from 'commander';
1
2
  import { program } from '../command/index.js';
2
- import {
3
- // getTokenManagerContract,
4
- getVaultHubContract, getVotingContract, } from '../contracts/index.js';
3
+ import { getVotingContract } from '../contracts/index.js';
5
4
  import { voteLastVoting } from '../features/index.js';
6
- import { callWriteMethodWithReceipt, callReadMethod } from '../utils/index.js';
5
+ import { callReadMethod, logInfo, getCommandsJson } from '../utils/index.js';
7
6
  const voting = program.command('vote').description('voting contract');
8
- voting
9
- .command('connect-vault')
10
- .description('vote and connect vault to the hub')
11
- .description('connects a vault to the hub (vault master role needed)')
12
- .argument('<address>', 'vault address')
13
- .argument('<shareLimit>', 'maximum number of stETH shares that can be minted by the vault')
14
- .argument('<reserveRatio>', 'minimum Reserve ratio in basis points')
15
- .argument('<reserveRatioThreshold>', 'reserve ratio that makes possible to force rebalance on the vault (in basis points)')
16
- .argument('<treasuryFeeBP>', 'treasury fee in basis points')
17
- .action(async (address, shareLimit, reserveRatio, reserveRatioThreshold, treasuryFeeBP) => {
18
- const contract = await getVaultHubContract();
19
- await callWriteMethodWithReceipt(contract, 'connectVault', [
20
- address,
21
- shareLimit,
22
- reserveRatio,
23
- reserveRatioThreshold,
24
- treasuryFeeBP,
25
- ]);
7
+ voting.addOption(new Option('-cmd2json'));
8
+ voting.on('option:-cmd2json', function () {
9
+ logInfo(getCommandsJson(voting));
10
+ process.exit();
26
11
  });
27
12
  voting.command('get-lv').action(async () => {
28
13
  const { contract } = getVotingContract();
29
14
  const tx = await callReadMethod(contract, 'votesLength');
30
- console.info({ 'Votes length': tx });
15
+ logInfo({ 'Votes length': tx });
31
16
  });
32
17
  voting.command('connect-and-vote').action(async () => await voteLastVoting());
33
18
  //# sourceMappingURL=voting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voting.js","sourceRoot":"","sources":["../../programs/voting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO;AACL,2BAA2B;AAC3B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mCAAmC,CAAC;KAChD,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CACP,cAAc,EACd,gEAAgE,CACjE;KACA,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACnE,QAAQ,CACP,yBAAyB,EACzB,qFAAqF,CACtF;KACA,QAAQ,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,EAC7B,aAAqB,EACrB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,MAAM,0BAA0B,CAAC,QAAQ,EAAE,cAAc,EAAE;QACzD,OAAO;QACP,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"voting.js","sourceRoot":"","sources":["../../programs/voting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACtE,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAC5B,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEzD,OAAO,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { createPublicClient, createWalletClient, http } from 'viem';
2
2
  import { privateKeyToAccount } from 'viem/accounts';
3
- import { envs, getConfig, getChainId, getRpcUrl, getChain } from '../configs/index.js';
3
+ import { envs, getConfig, getChainId, getElUrl, getChain } from '../configs/index.js';
4
4
  export const getAccount = () => {
5
5
  const config = getConfig();
6
6
  const id = getChainId();
7
- const privateKey = config?.privateKey ?? envs?.[`PRIVATE_KEY_${id}`];
7
+ const privateKey = config?.PRIVATE_KEY ?? envs?.[`PRIVATE_KEY_${id}`];
8
8
  if (!privateKey) {
9
9
  throw new Error(`Private key for ${id} chain is not set`);
10
10
  }
@@ -13,7 +13,7 @@ export const getAccount = () => {
13
13
  export const getPublicClient = () => {
14
14
  return createPublicClient({
15
15
  chain: getChain(),
16
- transport: http(getRpcUrl()),
16
+ transport: http(getElUrl()),
17
17
  });
18
18
  };
19
19
  export const getWalletWithAccount = () => {
@@ -21,7 +21,7 @@ export const getWalletWithAccount = () => {
21
21
  return createWalletClient({
22
22
  account,
23
23
  chain: getChain(),
24
- transport: http(getRpcUrl()),
24
+ transport: http(getElUrl()),
25
25
  });
26
26
  };
27
27
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../providers/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAqB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,kBAAkB,CAAC;QACxB,KAAK,EAAE,QAAQ,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,kBAAkB,CAAC;QACxB,OAAO;QACP,KAAK,EAAE,QAAQ,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../providers/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,MAAM,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAqB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,kBAAkB,CAAC;QACxB,KAAK,EAAE,QAAQ,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,kBAAkB,CAAC;QACxB,OAAO;QACP,KAAK,EAAE,QAAQ,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}