@lidofinance/lsv-cli 1.0.0-alpha.13 → 1.0.0-alpha.14

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 (141) hide show
  1. package/README.md +243 -120
  2. package/dist/abi/CLProofVerifier.js +279 -0
  3. package/dist/abi/CLProofVerifier.js.map +1 -0
  4. package/dist/abi/Dashboard.js +1060 -942
  5. package/dist/abi/Dashboard.js.map +1 -1
  6. package/dist/abi/Delegation.js +1260 -1129
  7. package/dist/abi/Delegation.js.map +1 -1
  8. package/dist/abi/LidoLocator.js +311 -270
  9. package/dist/abi/LidoLocator.js.map +1 -1
  10. package/dist/abi/PredepositGuarantee.js +1733 -0
  11. package/dist/abi/PredepositGuarantee.js.map +1 -0
  12. package/dist/abi/StakingVault.js +723 -528
  13. package/dist/abi/StakingVault.js.map +1 -1
  14. package/dist/abi/VaultFactory.js +164 -144
  15. package/dist/abi/VaultFactory.js.map +1 -1
  16. package/dist/abi/VaultHubViewer.js +297 -0
  17. package/dist/abi/VaultHubViewer.js.map +1 -0
  18. package/dist/abi/index.js +12 -9
  19. package/dist/abi/index.js.map +1 -1
  20. package/dist/contracts/clProofVerifier.js +29 -0
  21. package/dist/contracts/clProofVerifier.js.map +1 -0
  22. package/dist/contracts/dashboard.js.map +1 -1
  23. package/dist/contracts/index.js +12 -9
  24. package/dist/contracts/index.js.map +1 -1
  25. package/dist/contracts/locator.js +2 -2
  26. package/dist/contracts/locator.js.map +1 -1
  27. package/dist/contracts/pdg.js +17 -0
  28. package/dist/contracts/pdg.js.map +1 -0
  29. package/dist/contracts/vault-factory.js +5 -9
  30. package/dist/contracts/vault-factory.js.map +1 -1
  31. package/dist/contracts/vault-hub-viewer.js +14 -0
  32. package/dist/contracts/vault-hub-viewer.js.map +1 -0
  33. package/dist/features/dashboard-delegation.js +4 -1
  34. package/dist/features/dashboard-delegation.js.map +1 -1
  35. package/dist/features/vault-factory.js +6 -10
  36. package/dist/features/vault-factory.js.map +1 -1
  37. package/dist/features/voting.js +6 -14
  38. package/dist/features/voting.js.map +1 -1
  39. package/dist/index.js +6 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/programs/account.js +3 -1
  42. package/dist/programs/account.js.map +1 -1
  43. package/dist/programs/dashboard/config.js +65 -0
  44. package/dist/programs/dashboard/config.js.map +1 -0
  45. package/dist/programs/dashboard/index.js +4 -0
  46. package/dist/programs/dashboard/index.js.map +1 -0
  47. package/dist/programs/dashboard/main.js +12 -0
  48. package/dist/programs/dashboard/main.js.map +1 -0
  49. package/dist/programs/dashboard/read.js +25 -0
  50. package/dist/programs/dashboard/read.js.map +1 -0
  51. package/dist/programs/{dashboard.js → dashboard/write.js} +78 -136
  52. package/dist/programs/dashboard/write.js.map +1 -0
  53. package/dist/programs/delegation/config.js +33 -0
  54. package/dist/programs/delegation/config.js.map +1 -0
  55. package/dist/programs/delegation/index.js +4 -0
  56. package/dist/programs/delegation/index.js.map +1 -0
  57. package/dist/programs/delegation/main.js +12 -0
  58. package/dist/programs/delegation/main.js.map +1 -0
  59. package/dist/programs/delegation/read.js +98 -0
  60. package/dist/programs/delegation/read.js.map +1 -0
  61. package/dist/programs/delegation/write.js +327 -0
  62. package/dist/programs/delegation/write.js.map +1 -0
  63. package/dist/programs/index.js +7 -4
  64. package/dist/programs/index.js.map +1 -1
  65. package/dist/programs/pdg/config.js +2 -0
  66. package/dist/programs/pdg/config.js.map +1 -0
  67. package/dist/programs/pdg/index.js +4 -0
  68. package/dist/programs/pdg/index.js.map +1 -0
  69. package/dist/programs/pdg/main.js +12 -0
  70. package/dist/programs/pdg/main.js.map +1 -0
  71. package/dist/programs/pdg/read.js +7 -0
  72. package/dist/programs/pdg/read.js.map +1 -0
  73. package/dist/programs/pdg/write.js +64 -0
  74. package/dist/programs/pdg/write.js.map +1 -0
  75. package/dist/programs/predeposit-guarantee.js +73 -0
  76. package/dist/programs/predeposit-guarantee.js.map +1 -0
  77. package/dist/programs/vault/config.js +66 -0
  78. package/dist/programs/vault/config.js.map +1 -0
  79. package/dist/programs/vault/index.js +4 -0
  80. package/dist/programs/vault/index.js.map +1 -0
  81. package/dist/programs/vault/main.js +10 -0
  82. package/dist/programs/vault/main.js.map +1 -0
  83. package/dist/programs/vault/read.js +53 -0
  84. package/dist/programs/vault/read.js.map +1 -0
  85. package/dist/programs/vault/write.js +123 -0
  86. package/dist/programs/vault/write.js.map +1 -0
  87. package/dist/programs/vault-factory/config.js +2 -0
  88. package/dist/programs/vault-factory/config.js.map +1 -0
  89. package/dist/programs/vault-factory/index.js +4 -0
  90. package/dist/programs/vault-factory/index.js.map +1 -0
  91. package/dist/programs/vault-factory/main.js +12 -0
  92. package/dist/programs/vault-factory/main.js.map +1 -0
  93. package/dist/programs/vault-factory/read.js +26 -0
  94. package/dist/programs/vault-factory/read.js.map +1 -0
  95. package/dist/programs/{vault-factory.js → vault-factory/write.js} +22 -37
  96. package/dist/programs/vault-factory/write.js.map +1 -0
  97. package/dist/programs/vault-hub-viewer.js +52 -0
  98. package/dist/programs/vault-hub-viewer.js.map +1 -0
  99. package/dist/programs/vault-hub.js +20 -52
  100. package/dist/programs/vault-hub.js.map +1 -1
  101. package/dist/programs/voting.js +11 -33
  102. package/dist/programs/voting.js.map +1 -1
  103. package/dist/utils/contract.js +63 -2
  104. package/dist/utils/contract.js.map +1 -1
  105. package/dist/utils/get-commands.js +11 -0
  106. package/dist/utils/get-commands.js.map +1 -0
  107. package/dist/utils/index.js +5 -0
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/prompts/default.js +17 -0
  110. package/dist/utils/prompts/default.js.map +1 -0
  111. package/dist/utils/prompts/delegation-dashboard.js +29 -0
  112. package/dist/utils/prompts/delegation-dashboard.js.map +1 -0
  113. package/dist/utils/prompts/index.js +4 -0
  114. package/dist/utils/prompts/index.js.map +1 -0
  115. package/dist/utils/prompts/predeposit-guarantee.js +25 -0
  116. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  117. package/dist/utils/proof/create-proof.js +62 -0
  118. package/dist/utils/proof/create-proof.js.map +1 -0
  119. package/dist/utils/proof/first-validator-gindex.js +26 -0
  120. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  121. package/dist/utils/proof/index.js +4 -0
  122. package/dist/utils/proof/index.js.map +1 -0
  123. package/dist/utils/proof/merkle-utils.js +131 -0
  124. package/dist/utils/proof/merkle-utils.js.map +1 -0
  125. package/dist/utils/proof/proofs.js +52 -0
  126. package/dist/utils/proof/proofs.js.map +1 -0
  127. package/dist/utils/read-programs-by-abi.js +83 -0
  128. package/dist/utils/read-programs-by-abi.js.map +1 -0
  129. package/dist/utils/spinner/index.js +2 -0
  130. package/dist/utils/spinner/index.js.map +1 -0
  131. package/dist/utils/spinner/spinners.js +16 -0
  132. package/dist/utils/spinner/spinners.js.map +1 -0
  133. package/dist/utils/spinner/spinners.json +119 -0
  134. package/dist/version/index.js +1 -1
  135. package/package.json +11 -4
  136. package/dist/programs/dashboard.js.map +0 -1
  137. package/dist/programs/delegation.js +0 -581
  138. package/dist/programs/delegation.js.map +0 -1
  139. package/dist/programs/vault-factory.js.map +0 -1
  140. package/dist/programs/vault.js +0 -375
  141. package/dist/programs/vault.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { formatEther } from 'viem';
2
2
  import { program } from '../command/index.js';
3
3
  import { getWalletWithAccount, getPublicClient } from '../providers/index.js';
4
- import { printError } from '../utils/index.js';
4
+ import { printError, showSpinner } from '../utils/index.js';
5
5
  const account = program
6
6
  .command('account')
7
7
  .description('connected account info');
@@ -13,7 +13,9 @@ account
13
13
  const publicClient = getPublicClient();
14
14
  const { address } = walletClient.account;
15
15
  try {
16
+ const hideSpinner = showSpinner();
16
17
  const balance = await publicClient.getBalance({ address });
18
+ hideSpinner();
17
19
  console.table({
18
20
  address,
19
21
  balanceWEI: balance,
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../programs/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3D,OAAO,CAAC,KAAK,CAAC;YACZ,OAAO;YACP,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../programs/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,WAAW,EAAE,CAAC;QAEd,OAAO,CAAC,KAAK,CAAC;YACZ,OAAO;YACP,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,65 @@
1
+ export const readCommandConfig = {
2
+ withdrawableEther: {
3
+ name: 'w-ether',
4
+ description: 'get amount of ether that can be withdrawn from the staking vault',
5
+ },
6
+ vaultSocket: {
7
+ name: 'socket',
8
+ description: 'get vault socket',
9
+ },
10
+ vaultHub: {
11
+ name: 'hub',
12
+ description: 'get vaultHub address',
13
+ },
14
+ valuation: {
15
+ name: 'valuation',
16
+ description: 'get vault valuation',
17
+ },
18
+ treasuryFeeBP: {
19
+ name: 't-fee',
20
+ description: 'get treasury fee in basis points',
21
+ },
22
+ totalMintableShares: {
23
+ name: 'total-mintable-shares',
24
+ description: 'get total of shares that can be minted on the vault',
25
+ },
26
+ supportsInterface: {
27
+ name: 'supports-interface',
28
+ description: 'get supports interface by id',
29
+ },
30
+ stakingVault: {
31
+ name: 'vault',
32
+ description: 'get staking vault address',
33
+ },
34
+ sharesMinted: {
35
+ name: 's-minted',
36
+ description: 'get shares minted',
37
+ },
38
+ shareLimit: {
39
+ name: 's-limit',
40
+ description: 'get share limit',
41
+ },
42
+ reserveRatioBP: {
43
+ name: 'reserve-ratio',
44
+ description: 'get reserve ratio in basis points',
45
+ },
46
+ rebalanceThresholdBP: {
47
+ name: 'r-threshold',
48
+ description: 'get rebalance threshold in basis points',
49
+ },
50
+ projectedNewMintableShares: {
51
+ name: 'projected-new-mintable-shares',
52
+ description: 'get projected new mintable shares',
53
+ arguments: {
54
+ _etherToFund: {
55
+ name: 'etherToFund',
56
+ description: 'ether to fund',
57
+ },
58
+ },
59
+ },
60
+ hasRole: {
61
+ name: 'has-role',
62
+ description: 'get has role by role and account',
63
+ },
64
+ };
65
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/dashboard/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,iBAAiB,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kEAAkE;KACrE;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;KAChC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sBAAsB;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qBAAqB;KACnC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAChD;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qDAAqD;KACnE;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8BAA8B;KAC5C;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;KACzC;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mBAAmB;KACjC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;KACjD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,yCAAyC;KACvD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,mCAAmC;QAChD,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/dashboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { program } from '../../command/index.js';
2
+ import { Option } from 'commander';
3
+ import { getCommandsJson } from '../../utils/index.js';
4
+ export const dashboard = program
5
+ .command('dashboard')
6
+ .description('dashboard contract');
7
+ dashboard.addOption(new Option('-cmd2json'));
8
+ dashboard.on('option:-cmd2json', function () {
9
+ console.info(getCommandsJson(dashboard));
10
+ process.exit();
11
+ });
12
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/dashboard/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,SAAS,GAAG,OAAO;KAC7B,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAErC,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAC/B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { getDashboardContract } from '../../contracts/index.js';
2
+ import { DashboardAbi } from '../../abi/index.js';
3
+ import { generateReadCommands, textPrompt } from '../../utils/index.js';
4
+ import { getBaseInfo } from '../../features/index.js';
5
+ import { dashboard } from './main.js';
6
+ import { readCommandConfig } from './config.js';
7
+ dashboard
8
+ .command('info')
9
+ .description('get dashboard base info')
10
+ .option('-a, --address <address>', 'dashboard address')
11
+ .action(async ({ address }) => {
12
+ let dashboardAddress = address;
13
+ if (!dashboardAddress) {
14
+ const answer = await textPrompt('Enter dashboard address', 'address');
15
+ dashboardAddress = answer.address;
16
+ if (!dashboardAddress) {
17
+ console.info('Command cancelled');
18
+ return;
19
+ }
20
+ }
21
+ const contract = getDashboardContract(dashboardAddress);
22
+ await getBaseInfo(contract);
23
+ });
24
+ generateReadCommands(DashboardAbi, getDashboardContract, dashboard, readCommandConfig);
25
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/dashboard/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,yBAAyB,EAAE,mBAAmB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAwB,EAAE,EAAE;IAClD,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACtE,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;QAElC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAExD,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,CAClB,CAAC"}
@@ -1,109 +1,6 @@
1
- import { program } from '../command/index.js';
2
- import { getDashboardContract } from '../contracts/index.js';
3
- import { callWriteMethod, callReadMethod } from '../utils/index.js';
4
- import { getBaseInfo } from '../features/index.js';
5
- const dashboard = program
6
- .command('dashboard')
7
- .description('dashboard contract');
8
- dashboard
9
- .command('info')
10
- .description('get dashboard base info')
11
- .argument('<address>', 'dashboard address')
12
- .action(async (address) => {
13
- const contract = getDashboardContract(address);
14
- await getBaseInfo(contract);
15
- });
16
- dashboard
17
- .command('committee')
18
- .description('voting committee info')
19
- .argument('<address>', 'dashboard address')
20
- .action(async (address) => {
21
- const contract = getDashboardContract(address);
22
- await callReadMethod(contract, 'votingCommittee');
23
- });
24
- dashboard
25
- .command('vault')
26
- .description('vault info')
27
- .argument('<address>', 'dashboard address')
28
- .action(async (address) => {
29
- const contract = getDashboardContract(address);
30
- await callReadMethod(contract, 'vaultSocket');
31
- });
32
- dashboard
33
- .command('s-limit')
34
- .description('shares limit')
35
- .argument('<address>', 'dashboard address')
36
- .action(async (address) => {
37
- const contract = getDashboardContract(address);
38
- await callReadMethod(contract, 'shareLimit');
39
- });
40
- dashboard
41
- .command('s-minted')
42
- .description('shares minted')
43
- .argument('<address>', 'dashboard address')
44
- .action(async (address) => {
45
- const contract = getDashboardContract(address);
46
- await callReadMethod(contract, 'sharesMinted');
47
- });
48
- dashboard
49
- .command('reserve-ratio')
50
- .description('vault reserve ratio of the vault')
51
- .argument('<address>', 'dashboard address')
52
- .action(async (address) => {
53
- const contract = getDashboardContract(address);
54
- await callReadMethod(contract, 'reserveRatioBP');
55
- });
56
- dashboard
57
- .command('t-reserve-ratio')
58
- .description('threshold reserve ratio of the vault')
59
- .argument('<address>', 'dashboard address')
60
- .action(async (address) => {
61
- const contract = getDashboardContract(address);
62
- await callReadMethod(contract, 'thresholdReserveRatioBP');
63
- });
64
- dashboard
65
- .command('t-fee')
66
- .description('treasury fee basis points')
67
- .argument('<address>', 'dashboard address')
68
- .action(async (address) => {
69
- const contract = getDashboardContract(address);
70
- await callReadMethod(contract, 'treasuryFee');
71
- });
72
- dashboard
73
- .command('valuation')
74
- .description('valuation of the vault in ether')
75
- .argument('<address>', 'dashboard address')
76
- .action(async (address) => {
77
- const contract = getDashboardContract(address);
78
- await callReadMethod(contract, 'valuation');
79
- });
80
- dashboard
81
- .command('t-shares')
82
- .description('total of shares that can be minted on the vault')
83
- .argument('<address>', 'dashboard address')
84
- .action(async (address) => {
85
- const contract = getDashboardContract(address);
86
- await callReadMethod(contract, 'totalMintableShares');
87
- });
88
- dashboard
89
- .command('get-shares')
90
- .description('maximum number of shares that can be minted with deposited ether')
91
- .argument('<address>', 'dashboard address')
92
- .argument('<ether>', 'amount of ether to be funded')
93
- .action(async (address, ether) => {
94
- const contract = getDashboardContract(address);
95
- await callReadMethod(contract, 'projectedNewMintableShares', [
96
- BigInt(ether),
97
- ]);
98
- });
99
- dashboard
100
- .command('withdrawable-eth')
101
- .description('amount of ether that can be withdrawn from the staking vault')
102
- .argument('<address>', 'dashboard address')
103
- .action(async (address) => {
104
- const contract = getDashboardContract(address);
105
- await callReadMethod(contract, 'withdrawableEther');
106
- });
1
+ import { getDashboardContract } from '../../contracts/index.js';
2
+ import { callWriteMethodWithReceipt, confirmFund } from '../../utils/index.js';
3
+ import { dashboard } from './main.js';
107
4
  // TODO: test without voting
108
5
  dashboard
109
6
  .command('ownership')
@@ -112,9 +9,7 @@ dashboard
112
9
  .argument('<newOwner>', 'address of the new owner')
113
10
  .action(async (address, newOwner) => {
114
11
  const contract = getDashboardContract(address);
115
- await callWriteMethod(contract, 'transferStakingVaultOwnership', [
116
- newOwner,
117
- ]);
12
+ await callWriteMethodWithReceipt(contract, 'transferStakingVaultOwnership', [newOwner]);
118
13
  });
119
14
  dashboard
120
15
  .command('disconnect')
@@ -122,16 +17,19 @@ dashboard
122
17
  .argument('<address>', 'dashboard address')
123
18
  .action(async (address) => {
124
19
  const contract = getDashboardContract(address);
125
- await callWriteMethod(contract, 'voluntaryDisconnect', []);
20
+ await callWriteMethodWithReceipt(contract, 'voluntaryDisconnect', []);
126
21
  });
127
22
  dashboard
128
23
  .command('fund')
129
24
  .description('funds the staking vault with ether')
130
- .argument('<address>', 'dashboard address')
131
- .argument('<wei>', 'amount of ether to be funded (in WEI)')
132
- .action(async (address, ether) => {
133
- const contract = getDashboardContract(address);
134
- await callWriteMethod(contract, 'fund', [], BigInt(ether));
25
+ .option('-a, --address <address>', 'dashboard address')
26
+ .option('-e, --ether <ether>', 'amount of ether to be funded (in WEI)')
27
+ .action(async ({ address, ether }) => {
28
+ const { address: dashboard, amount } = await confirmFund(address, ether);
29
+ if (!dashboard || !amount)
30
+ return;
31
+ const contract = getDashboardContract(dashboard);
32
+ await callWriteMethodWithReceipt(contract, 'fund', [], BigInt(amount));
135
33
  });
136
34
  dashboard
137
35
  .command('fund-weth')
@@ -140,7 +38,9 @@ dashboard
140
38
  .argument('<wethAmount>', 'amount of weth to be funded')
141
39
  .action(async (address, wethAmount) => {
142
40
  const contract = getDashboardContract(address);
143
- await callWriteMethod(contract, 'fundWeth', [BigInt(wethAmount)]);
41
+ await callWriteMethodWithReceipt(contract, 'fundWeth', [
42
+ BigInt(wethAmount),
43
+ ]);
144
44
  });
145
45
  dashboard
146
46
  .command('withdraw')
@@ -150,7 +50,10 @@ dashboard
150
50
  .argument('<wei>', 'amount of ether to withdraw (in WEI)')
151
51
  .action(async (address, recipient, ether) => {
152
52
  const contract = getDashboardContract(address);
153
- await callWriteMethod(contract, 'withdraw', [recipient, BigInt(ether)]);
53
+ await callWriteMethodWithReceipt(contract, 'withdraw', [
54
+ recipient,
55
+ BigInt(ether),
56
+ ]);
154
57
  });
155
58
  dashboard
156
59
  .command('withdraw-weth')
@@ -160,7 +63,10 @@ dashboard
160
63
  .argument('<ether>', 'amount of ether to withdraw')
161
64
  .action(async (address, recipient, ether) => {
162
65
  const contract = getDashboardContract(address);
163
- await callWriteMethod(contract, 'withdrawWETH', [recipient, BigInt(ether)]);
66
+ await callWriteMethodWithReceipt(contract, 'withdrawWETH', [
67
+ recipient,
68
+ BigInt(ether),
69
+ ]);
164
70
  });
165
71
  dashboard
166
72
  .command('exit')
@@ -169,7 +75,24 @@ dashboard
169
75
  .argument('<validatorPubKey>', 'public key of the validator to exit')
170
76
  .action(async (address, validatorPubKey) => {
171
77
  const contract = getDashboardContract(address);
172
- await callWriteMethod(contract, 'requestValidatorExit', [validatorPubKey]);
78
+ await callWriteMethodWithReceipt(contract, 'requestValidatorExit', [
79
+ validatorPubKey,
80
+ ]);
81
+ });
82
+ dashboard
83
+ .command('trigger-validator-withdrawal')
84
+ .description('triggers the withdrawal of a validator from the staking vault')
85
+ .argument('<address>', 'dashboard address')
86
+ .argument('<pubkeys>', 'pubkeys of the validators to withdraw')
87
+ .argument('<amounts>', 'amounts of ether to withdraw')
88
+ .argument('<recipient>', 'address of the recipient')
89
+ .action(async (address, pubkeys, amounts, recipient) => {
90
+ const contract = getDashboardContract(address);
91
+ await callWriteMethodWithReceipt(contract, 'triggerValidatorWithdrawal', [
92
+ pubkeys,
93
+ amounts.map(BigInt),
94
+ recipient,
95
+ ]);
173
96
  });
174
97
  dashboard
175
98
  .command('mint-shares')
@@ -179,7 +102,7 @@ dashboard
179
102
  .argument('<amountOfShares>', 'amount of shares to mint')
180
103
  .action(async (address, recipient, amountOfShares) => {
181
104
  const contract = getDashboardContract(address);
182
- await callWriteMethod(contract, 'mintShares', [
105
+ await callWriteMethodWithReceipt(contract, 'mintShares', [
183
106
  recipient,
184
107
  BigInt(amountOfShares),
185
108
  ]);
@@ -192,7 +115,7 @@ dashboard
192
115
  .argument('<amountOfShares>', 'amount of shares to mint')
193
116
  .action(async (address, recipient, amountOfShares) => {
194
117
  const contract = getDashboardContract(address);
195
- await callWriteMethod(contract, 'mintStETH', [
118
+ await callWriteMethodWithReceipt(contract, 'mintStETH', [
196
119
  recipient,
197
120
  BigInt(amountOfShares),
198
121
  ]);
@@ -205,7 +128,10 @@ dashboard
205
128
  .argument('<tokens>', 'amount of tokens to mint')
206
129
  .action(async (address, recipient, tokens) => {
207
130
  const contract = getDashboardContract(address);
208
- await callWriteMethod(contract, 'mintWstETH', [recipient, BigInt(tokens)]);
131
+ await callWriteMethodWithReceipt(contract, 'mintWstETH', [
132
+ recipient,
133
+ BigInt(tokens),
134
+ ]);
209
135
  });
210
136
  dashboard
211
137
  .command('burn-shares')
@@ -214,7 +140,9 @@ dashboard
214
140
  .argument('<amountOfShares>', 'amount of shares to burn')
215
141
  .action(async (address, amountOfShares) => {
216
142
  const contract = getDashboardContract(address);
217
- await callWriteMethod(contract, 'burnShares', [BigInt(amountOfShares)]);
143
+ await callWriteMethodWithReceipt(contract, 'burnShares', [
144
+ BigInt(amountOfShares),
145
+ ]);
218
146
  });
219
147
  dashboard
220
148
  .command('burn-steth')
@@ -223,7 +151,9 @@ dashboard
223
151
  .argument('<amountOfShares>', 'amount of shares to burn')
224
152
  .action(async (address, amountOfShares) => {
225
153
  const contract = getDashboardContract(address);
226
- await callWriteMethod(contract, 'burnStETH', [BigInt(amountOfShares)]);
154
+ await callWriteMethodWithReceipt(contract, 'burnStETH', [
155
+ BigInt(amountOfShares),
156
+ ]);
227
157
  });
228
158
  dashboard
229
159
  .command('burn-wsteth')
@@ -232,7 +162,7 @@ dashboard
232
162
  .argument('<tokens>', 'amount of wstETH tokens to burn')
233
163
  .action(async (address, tokens) => {
234
164
  const contract = getDashboardContract(address);
235
- await callWriteMethod(contract, 'burnWstETH', [BigInt(tokens)]);
165
+ await callWriteMethodWithReceipt(contract, 'burnWstETH', [BigInt(tokens)]);
236
166
  });
237
167
  dashboard
238
168
  .command('burn-shares-permit')
@@ -243,7 +173,7 @@ dashboard
243
173
  .action(async (address, tokens, permitJSON) => {
244
174
  const permit = JSON.parse(permitJSON);
245
175
  const contract = getDashboardContract(address);
246
- await callWriteMethod(contract, 'burnSharesWithPermit', [
176
+ await callWriteMethodWithReceipt(contract, 'burnSharesWithPermit', [
247
177
  BigInt(tokens),
248
178
  permit,
249
179
  ]);
@@ -257,7 +187,7 @@ dashboard
257
187
  .action(async (address, tokens, permitJSON) => {
258
188
  const permit = JSON.parse(permitJSON);
259
189
  const contract = getDashboardContract(address);
260
- await callWriteMethod(contract, 'burnStETHWithPermit', [
190
+ await callWriteMethodWithReceipt(contract, 'burnStETHWithPermit', [
261
191
  BigInt(tokens),
262
192
  permit,
263
193
  ]);
@@ -271,7 +201,7 @@ dashboard
271
201
  .action(async (address, tokens, permitJSON) => {
272
202
  const permit = JSON.parse(permitJSON);
273
203
  const contract = getDashboardContract(address);
274
- await callWriteMethod(contract, 'burnWstETHWithPermit', [
204
+ await callWriteMethodWithReceipt(contract, 'burnWstETHWithPermit', [
275
205
  BigInt(tokens),
276
206
  permit,
277
207
  ]);
@@ -283,7 +213,9 @@ dashboard
283
213
  .argument('<ether>', 'amount of ether to rebalance')
284
214
  .action(async (address, ether) => {
285
215
  const contract = getDashboardContract(address);
286
- await callWriteMethod(contract, 'rebalanceVault', [BigInt(ether)]);
216
+ await callWriteMethodWithReceipt(contract, 'rebalanceVault', [
217
+ BigInt(ether),
218
+ ]);
287
219
  });
288
220
  dashboard
289
221
  .command('recover-erc20')
@@ -294,7 +226,7 @@ dashboard
294
226
  .argument('<amount>', 'amount of ether to recover')
295
227
  .action(async (address, token, recipient, amount) => {
296
228
  const contract = getDashboardContract(address);
297
- await callWriteMethod(contract, 'recoverERC20', [
229
+ await callWriteMethodWithReceipt(contract, 'recoverERC20', [
298
230
  token,
299
231
  recipient,
300
232
  BigInt(amount),
@@ -309,7 +241,7 @@ dashboard
309
241
  .argument('<recipient>', 'Address of the recovery recipient')
310
242
  .action(async (address, token, tokenId, recipient) => {
311
243
  const contract = getDashboardContract(address);
312
- await callWriteMethod(contract, 'recoverERC721', [
244
+ await callWriteMethodWithReceipt(contract, 'recoverERC721', [
313
245
  token,
314
246
  BigInt(tokenId),
315
247
  recipient,
@@ -321,7 +253,7 @@ dashboard
321
253
  .argument('<address>', 'dashboard address')
322
254
  .action(async (address) => {
323
255
  const contract = getDashboardContract(address);
324
- await callWriteMethod(contract, 'pauseBeaconChainDeposits', []);
256
+ await callWriteMethodWithReceipt(contract, 'pauseBeaconChainDeposits', []);
325
257
  });
326
258
  dashboard
327
259
  .command('deposit-resume')
@@ -329,7 +261,7 @@ dashboard
329
261
  .argument('<address>', 'dashboard address')
330
262
  .action(async (address) => {
331
263
  const contract = getDashboardContract(address);
332
- await callWriteMethod(contract, 'resumeBeaconChainDeposits', []);
264
+ await callWriteMethodWithReceipt(contract, 'resumeBeaconChainDeposits', []);
333
265
  });
334
266
  dashboard
335
267
  .command('role-grant')
@@ -342,7 +274,7 @@ dashboard
342
274
  if (!Array.isArray(payload)) {
343
275
  throw new Error('the 2nd argument should be an array of role assignments');
344
276
  }
345
- await callWriteMethod(contract, 'grantRoles', [payload]);
277
+ await callWriteMethodWithReceipt(contract, 'grantRoles', [payload]);
346
278
  });
347
279
  dashboard
348
280
  .command('role-revoke')
@@ -355,6 +287,16 @@ dashboard
355
287
  if (!Array.isArray(payload)) {
356
288
  throw new Error('the 2nd argument should be an array of role assignments');
357
289
  }
358
- await callWriteMethod(contract, 'revokeRoles', [payload]);
290
+ await callWriteMethodWithReceipt(contract, 'revokeRoles', [payload]);
291
+ });
292
+ dashboard
293
+ .command('compensate-disproven-predeposit')
294
+ .description('Compensates a disproven predeposit from the Predeposit Guarantee contract.')
295
+ .argument('<address>', 'dashboard address')
296
+ .argument('<pubkey>', 'validator public key')
297
+ .argument('<recipient>', 'address of the recipient')
298
+ .action(async (address, pubkey, recipient) => {
299
+ const contract = getDashboardContract(address);
300
+ await callWriteMethodWithReceipt(contract, 'compensateDisprovenPredepositFromPDG', [pubkey, recipient]);
359
301
  });
360
- //# sourceMappingURL=dashboard.js.map
302
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/dashboard/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { readCommandConfig as dashboardReadCommandConfig } from '../../programs/dashboard/config.js';
2
+ export const readCommandConfig = {
3
+ ...dashboardReadCommandConfig,
4
+ nodeOperatorFeeBP: {
5
+ name: 'no-fee',
6
+ description: 'get node operator fee in basis points',
7
+ },
8
+ nodeOperatorFeeClaimedReport: {
9
+ name: 'no-fee-report',
10
+ description: 'get node operator fee claimed report',
11
+ },
12
+ nodeOperatorUnclaimedFee: {
13
+ name: 'no-unclaimed-fee',
14
+ description: `Returns the accumulated unclaimed node operator fee in ether,
15
+ calculated as: U = (R * F) / T
16
+ where:
17
+ - U is the node operator unclaimed fee;
18
+ - R is the StakingVault rewards accrued since the last node operator fee claim;
19
+ - F is nodeOperatorFeeBP
20
+ - T is the total basis points, 10,000.`,
21
+ },
22
+ curatorUnclaimedFee: {
23
+ name: 'cf-unclaimed',
24
+ description: `Returns the accumulated unclaimed curator fee in ether,
25
+ calculated as: U = (R * F) / T
26
+ where:
27
+ - U is the curator unclaimed fee;
28
+ - R is the StakingVault rewards accrued since the last curator fee claim;
29
+ - F is curatorFeeBP
30
+ - T is the total basis points, 10,000.`,
31
+ },
32
+ };
33
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/delegation/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/F,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,GAAG,0BAA0B;IAC7B,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uCAAuC;KACrD;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;KACpD;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE;;;;;;uDAMsC;KACpD;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;;;;;;uDAMsC;KACpD;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/delegation/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { program } from '../../command/index.js';
2
+ import { Option } from 'commander';
3
+ import { getCommandsJson } from '../../utils/index.js';
4
+ export const delegation = program
5
+ .command('delegation')
6
+ .description('delegation contract');
7
+ delegation.addOption(new Option('-cmd2json'));
8
+ delegation.on('option:-cmd2json', function () {
9
+ console.info(getCommandsJson(delegation));
10
+ process.exit();
11
+ });
12
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/delegation/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,UAAU,GAAG,OAAO;KAC9B,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEtC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9C,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAChC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}