@lidofinance/lsv-cli 1.0.0-alpha.27 → 1.0.0-alpha.29

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 (168) hide show
  1. package/dist/abi/BlsHarness.d.ts +178 -0
  2. package/dist/abi/CLProofVerifier.d.ts +188 -0
  3. package/dist/abi/Dashboard.d.ts +1486 -0
  4. package/dist/abi/LidoLocator.d.ts +330 -0
  5. package/dist/abi/OperatorGrid.d.ts +914 -0
  6. package/dist/abi/PredepositGuarantee.d.ts +1382 -0
  7. package/dist/abi/ReportChecker.d.ts +83 -0
  8. package/dist/abi/StEth.d.ts +372 -0
  9. package/dist/abi/StakingVault.d.ts +864 -0
  10. package/dist/abi/TokenManager.d.ts +577 -0
  11. package/dist/abi/VaultFactory.d.ts +160 -0
  12. package/dist/abi/VaultHub.d.ts +1309 -0
  13. package/dist/abi/VaultViewer.d.ts +223 -0
  14. package/dist/abi/Voting.d.ts +676 -0
  15. package/dist/abi/WstEth.d.ts +362 -0
  16. package/dist/abi/index.d.ts +15 -0
  17. package/dist/command/index.d.ts +2 -0
  18. package/dist/configs/constants.d.ts +36 -0
  19. package/dist/configs/deployed.d.ts +17 -0
  20. package/dist/configs/deployed.js +9 -15
  21. package/dist/configs/deployed.js.map +1 -1
  22. package/dist/configs/envs.d.ts +2 -0
  23. package/dist/configs/index.d.ts +3 -0
  24. package/dist/configs/utils.d.ts +4 -0
  25. package/dist/contracts/blsHarness.d.ts +947 -0
  26. package/dist/contracts/clProofVerifier.d.ts +2647 -0
  27. package/dist/contracts/dashboard.d.ts +4 -0
  28. package/dist/contracts/dashboard.js +1 -1
  29. package/dist/contracts/dashboard.js.map +1 -1
  30. package/dist/contracts/index.d.ts +15 -0
  31. package/dist/contracts/locator.d.ts +6935 -0
  32. package/dist/contracts/operator-grid.d.ts +3 -0
  33. package/dist/contracts/operator-grid.js +1 -1
  34. package/dist/contracts/operator-grid.js.map +1 -1
  35. package/dist/contracts/pdg.d.ts +3 -0
  36. package/dist/contracts/pdg.js +1 -1
  37. package/dist/contracts/pdg.js.map +1 -1
  38. package/dist/contracts/reportChecker.d.ts +758 -0
  39. package/dist/contracts/steth.d.ts +27706 -0
  40. package/dist/contracts/token-manager.d.ts +3 -0
  41. package/dist/contracts/token-manager.js +4 -7
  42. package/dist/contracts/token-manager.js.map +1 -1
  43. package/dist/contracts/vault-factory.d.ts +2678 -0
  44. package/dist/contracts/vault-hub.d.ts +3 -0
  45. package/dist/contracts/vault-hub.js +1 -1
  46. package/dist/contracts/vault-hub.js.map +1 -1
  47. package/dist/contracts/vault-viewer.d.ts +2681 -0
  48. package/dist/contracts/vault.d.ts +3 -0
  49. package/dist/contracts/vault.js +3 -6
  50. package/dist/contracts/vault.js.map +1 -1
  51. package/dist/contracts/voting.d.ts +6 -0
  52. package/dist/contracts/voting.js +1 -1
  53. package/dist/contracts/voting.js.map +1 -1
  54. package/dist/contracts/wsteth.d.ts +24690 -0
  55. package/dist/features/advanced-config.d.ts +5 -0
  56. package/dist/features/dashboard.d.ts +5 -0
  57. package/dist/features/dashboard.js +108 -29
  58. package/dist/features/dashboard.js.map +1 -1
  59. package/dist/features/index.d.ts +8 -0
  60. package/dist/features/operator-grid.d.ts +2 -0
  61. package/dist/features/pdg.d.ts +2 -0
  62. package/dist/features/token-manager.d.ts +1 -0
  63. package/dist/features/vault-factory.d.ts +8 -0
  64. package/dist/features/vault-hub.d.ts +2 -0
  65. package/dist/features/vault.d.ts +2 -0
  66. package/dist/features/voting.d.ts +7 -0
  67. package/dist/index.d.ts +3 -0
  68. package/dist/index.js +1 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/programs/account.d.ts +1 -0
  71. package/dist/programs/account.js +5 -1
  72. package/dist/programs/account.js.map +1 -1
  73. package/dist/programs/config.d.ts +1 -0
  74. package/dist/programs/dashboard/config.d.ts +2 -0
  75. package/dist/programs/dashboard/index.d.ts +3 -0
  76. package/dist/programs/dashboard/main.d.ts +1 -0
  77. package/dist/programs/dashboard/read.d.ts +1 -0
  78. package/dist/programs/dashboard/read.js +11 -20
  79. package/dist/programs/dashboard/read.js.map +1 -1
  80. package/dist/programs/dashboard/write.d.ts +1 -0
  81. package/dist/programs/hub/config.d.ts +2 -0
  82. package/dist/programs/hub/index.d.ts +3 -0
  83. package/dist/programs/hub/main.d.ts +1 -0
  84. package/dist/programs/hub/read.d.ts +1 -0
  85. package/dist/programs/hub/write.d.ts +1 -0
  86. package/dist/programs/index.d.ts +11 -0
  87. package/dist/programs/operator-grid/config.d.ts +2 -0
  88. package/dist/programs/operator-grid/index.d.ts +3 -0
  89. package/dist/programs/operator-grid/main.d.ts +1 -0
  90. package/dist/programs/operator-grid/read.d.ts +1 -0
  91. package/dist/programs/operator-grid/write.d.ts +1 -0
  92. package/dist/programs/pdg/config.d.ts +2 -0
  93. package/dist/programs/pdg/index.d.ts +3 -0
  94. package/dist/programs/pdg/main.d.ts +1 -0
  95. package/dist/programs/pdg/read.d.ts +1 -0
  96. package/dist/programs/pdg/write.d.ts +1 -0
  97. package/dist/programs/pdg-helpers.d.ts +1 -0
  98. package/dist/programs/report.d.ts +1 -0
  99. package/dist/programs/vault/config.d.ts +2 -0
  100. package/dist/programs/vault/index.d.ts +3 -0
  101. package/dist/programs/vault/main.d.ts +1 -0
  102. package/dist/programs/vault/read.d.ts +1 -0
  103. package/dist/programs/vault/write.d.ts +1 -0
  104. package/dist/programs/vault-factory/config.d.ts +2 -0
  105. package/dist/programs/vault-factory/index.d.ts +3 -0
  106. package/dist/programs/vault-factory/main.d.ts +1 -0
  107. package/dist/programs/vault-factory/read.d.ts +1 -0
  108. package/dist/programs/vault-factory/write.d.ts +1 -0
  109. package/dist/programs/vault-viewer/config.d.ts +2 -0
  110. package/dist/programs/vault-viewer/index.d.ts +2 -0
  111. package/dist/programs/vault-viewer/main.d.ts +1 -0
  112. package/dist/programs/vault-viewer/read.d.ts +1 -0
  113. package/dist/programs/voting.d.ts +1 -0
  114. package/dist/providers/index.d.ts +1 -0
  115. package/dist/providers/wallet.d.ts +6897 -0
  116. package/dist/providers/wallet.js +1 -1
  117. package/dist/providers/wallet.js.map +1 -1
  118. package/dist/types/common.d.ts +31 -0
  119. package/dist/types/config.d.ts +23 -0
  120. package/dist/types/index.d.ts +2 -0
  121. package/dist/utils/arguments.d.ts +13 -0
  122. package/dist/utils/bls.d.ts +21 -0
  123. package/dist/utils/calculate-overview.d.ts +19 -0
  124. package/dist/utils/calculate-overview.js +55 -0
  125. package/dist/utils/calculate-overview.js.map +1 -0
  126. package/dist/utils/commands/dashboard.d.ts +6 -0
  127. package/dist/utils/commands/index.d.ts +1 -0
  128. package/dist/utils/contract.d.ts +25 -0
  129. package/dist/utils/data-validators.d.ts +6 -0
  130. package/dist/utils/data-validators.js +0 -3
  131. package/dist/utils/data-validators.js.map +1 -1
  132. package/dist/utils/error-handler.d.ts +1 -0
  133. package/dist/utils/fetchCL.d.ts +14 -0
  134. package/dist/utils/get-commands.d.ts +2 -0
  135. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  136. package/dist/utils/get-value.d.ts +1 -0
  137. package/dist/utils/health.d.ts +27748 -0
  138. package/dist/utils/health.js +2 -1
  139. package/dist/utils/health.js.map +1 -1
  140. package/dist/utils/index.d.ts +22 -0
  141. package/dist/utils/index.js +1 -0
  142. package/dist/utils/index.js.map +1 -1
  143. package/dist/utils/ipfs.d.ts +6 -0
  144. package/dist/utils/logging/console.d.ts +7 -0
  145. package/dist/utils/logging/constants.d.ts +2 -0
  146. package/dist/utils/logging/index.d.ts +1 -0
  147. package/dist/utils/prompts/dashboard.d.ts +29 -0
  148. package/dist/utils/prompts/default.d.ts +3 -0
  149. package/dist/utils/prompts/index.d.ts +5 -0
  150. package/dist/utils/prompts/operations.d.ts +9 -0
  151. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  152. package/dist/utils/prompts/vault.d.ts +2 -0
  153. package/dist/utils/proof/create-proof.d.ts +12 -0
  154. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  155. package/dist/utils/proof/index.d.ts +4 -0
  156. package/dist/utils/proof/merkle-utils.d.ts +55 -0
  157. package/dist/utils/proof/proofs.d.ts +305 -0
  158. package/dist/utils/proof/report-proof.d.ts +5 -0
  159. package/dist/utils/read-programs-by-abi.d.ts +18 -0
  160. package/dist/utils/report.d.ts +75 -0
  161. package/dist/utils/required-lock.d.ts +5 -0
  162. package/dist/utils/resolve-path.d.ts +1 -0
  163. package/dist/utils/sleep.d.ts +1 -0
  164. package/dist/utils/spinner/index.d.ts +1 -0
  165. package/dist/utils/spinner/spinners.d.ts +7 -0
  166. package/dist/version/index.d.ts +1 -0
  167. package/dist/version/index.js +1 -1
  168. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { createPublicClient, createWalletClient, http } from 'viem';
1
+ import { createPublicClient, createWalletClient, http, } from 'viem';
2
2
  import { privateKeyToAccount } from 'viem/accounts';
3
3
  import { envs, getConfig, getChainId, getElUrl, getChain } from '../configs/index.js';
4
4
  export const getAccount = () => {
@@ -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,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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../providers/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,GAEL,MAAM,MAAM,CAAC;AACd,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,GAAiB,EAAE;IACrD,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"}
@@ -0,0 +1,31 @@
1
+ import { Address, Hex } from 'viem';
2
+ export interface VaultWithDashboard {
3
+ defaultAdmin: Address;
4
+ nodeOperator: Address;
5
+ nodeOperatorManager: Address;
6
+ nodeOperatorFeeBP: bigint;
7
+ confirmExpiry: bigint;
8
+ }
9
+ export interface Permit {
10
+ value: bigint;
11
+ deadline: bigint;
12
+ v: number;
13
+ r: Address;
14
+ s: Address;
15
+ }
16
+ export interface RoleAssignment {
17
+ account: Address;
18
+ role: `0x${string}`;
19
+ }
20
+ export interface Tier {
21
+ shareLimit: bigint;
22
+ reserveRatioBP: bigint;
23
+ forcedRebalanceThresholdBP: bigint;
24
+ treasuryFeeBP: bigint;
25
+ }
26
+ export type Deposit = {
27
+ pubkey: Hex;
28
+ signature: Hex;
29
+ amount: bigint;
30
+ depositDataRoot: Hex;
31
+ };
@@ -0,0 +1,23 @@
1
+ import { Address } from 'viem';
2
+ export interface Config {
3
+ DEPLOYED: string;
4
+ EL_URL?: string;
5
+ CL_URL?: string;
6
+ PRIVATE_KEY?: string;
7
+ CHAIN_ID: number;
8
+ TOKEN_MANAGER?: Address;
9
+ VOTING?: Address;
10
+ }
11
+ export type Vote = readonly [
12
+ boolean,
13
+ boolean,
14
+ bigint,
15
+ bigint,
16
+ bigint,
17
+ bigint,
18
+ bigint,
19
+ bigint,
20
+ bigint,
21
+ `0x${string}`,
22
+ number
23
+ ];
@@ -0,0 +1,2 @@
1
+ export * from "./config.js";
2
+ export * from "./common.js";
@@ -0,0 +1,13 @@
1
+ import { Permit, RoleAssignment, Tier, Deposit } from '../types/index.js';
2
+ import { Address } from 'viem';
3
+ export declare const stringToBigIntArray: (value: string) => bigint[];
4
+ export declare const stringToBigIntArrayWei: (value: string) => bigint[];
5
+ export declare const jsonToPermit: (value: string) => Permit;
6
+ export declare const jsonToRoleAssignment: (value: string) => RoleAssignment[];
7
+ export declare const stringToBigInt: (value: string) => bigint;
8
+ export declare const etherToWei: (value: string) => bigint;
9
+ export declare const stringToNumber: (value: string) => number;
10
+ export declare const parseTiers: (value: string) => Tier[];
11
+ export declare const parseTier: (value: string) => Tier;
12
+ export declare const parseDepositArray: (str: string) => Deposit[];
13
+ export declare const stringToAddress: (value: string) => Address;
@@ -0,0 +1,21 @@
1
+ import { type Hex } from 'viem';
2
+ type DepositStruct = {
3
+ pubkey: Hex;
4
+ signature: Hex;
5
+ amount: bigint;
6
+ depositDataRoot: Hex;
7
+ };
8
+ export declare const computeDepositDomainByForkVersion: (forkVersion: string) => Uint8Array<ArrayBufferLike>;
9
+ export declare const computeDepositDomain: () => Uint8Array<ArrayBufferLike>;
10
+ export declare const isValidBLSDeposit: (deposit: DepositStruct, withdrawalCredentials: Hex) => boolean;
11
+ export declare const expandBLSSignature: (signature: Hex, pubkey: Hex) => {
12
+ pubkey: `0x${string}`;
13
+ pubkeyY_a: `0x${string}`;
14
+ pubkeyY_b: `0x${string}`;
15
+ signature: `0x${string}`;
16
+ sigY_c0_a: `0x${string}`;
17
+ sigY_c0_b: `0x${string}`;
18
+ sigY_c1_a: `0x${string}`;
19
+ sigY_c1_b: `0x${string}`;
20
+ };
21
+ export {};
@@ -0,0 +1,19 @@
1
+ export declare const BASIS_POINTS_DENOMINATOR = 10000n;
2
+ export declare const formatBP: (bp: number | bigint) => string;
3
+ export declare const formatRatio: (r: number) => string;
4
+ export declare const calculateOverview: (totalValue: bigint, reserveRatioBP: number, liabilitySharesInStethWei: bigint, forceRebalanceThresholdBP: number, withdrawableEther: bigint, balance: bigint, locked: bigint, nodeOperatorUnclaimedFee: bigint, totalMintingCapacity: bigint) => {
5
+ healthRatio: number;
6
+ isHealthy: boolean;
7
+ AvailableToWithdrawal: bigint;
8
+ idleCapital: bigint;
9
+ depositedToValidators: bigint;
10
+ totalLocked: bigint;
11
+ lockedByAccumulatedFees: bigint;
12
+ collateral: bigint;
13
+ PendingUnlock: bigint;
14
+ utilizationRatio: number;
15
+ totalReservable: bigint;
16
+ reserved: bigint;
17
+ stethMintingCapacityUsed: number;
18
+ totalMintingCapacity: bigint;
19
+ };
@@ -0,0 +1,55 @@
1
+ import { parseEther } from 'viem';
2
+ import { calculateVaultHealth } from './health.js';
3
+ export const BASIS_POINTS_DENOMINATOR = 10000n;
4
+ const DECIMALS = 18n;
5
+ const SCALING_FACTOR = 10n ** DECIMALS;
6
+ const bigIntMax = (...args) => args.reduce((a, b) => (a > b ? a : b));
7
+ const bigIntMin = (...args) => args.reduce((a, b) => (a < b ? a : b));
8
+ // Percent helper (basis points → percentage)
9
+ export const formatBP = (bp) => `${((Number(bp) / Number(BASIS_POINTS_DENOMINATOR)) * 100).toFixed(2)}%`;
10
+ export const formatRatio = (r) => isFinite(r) ? `${r.toFixed(4)}%` : '∞';
11
+ export const calculateOverview = (totalValue, reserveRatioBP, liabilitySharesInStethWei, forceRebalanceThresholdBP, withdrawableEther, balance, locked, nodeOperatorUnclaimedFee, totalMintingCapacity) => {
12
+ const { healthRatio, isHealthy } = calculateVaultHealth(totalValue, liabilitySharesInStethWei, forceRebalanceThresholdBP);
13
+ const AvailableToWithdrawal = withdrawableEther;
14
+ const idleCapital = balance;
15
+ const depositedToValidators = totalValue - balance;
16
+ const totalLocked = locked + nodeOperatorUnclaimedFee;
17
+ const lockedByAccumulatedFees = nodeOperatorUnclaimedFee;
18
+ // ---------- Computed values ---------- //
19
+ const totalReservable = (totalValue * BigInt(reserveRatioBP)) / BASIS_POINTS_DENOMINATOR;
20
+ // Prevent division by 0
21
+ const stethMintingCapacityUsed = totalMintingCapacity === 0n
22
+ ? 0n
23
+ : (liabilitySharesInStethWei * SCALING_FACTOR) / totalMintingCapacity;
24
+ const reservedRaw = totalMintingCapacity === 0n
25
+ ? 0n
26
+ : (liabilitySharesInStethWei * totalReservable * SCALING_FACTOR) /
27
+ totalMintingCapacity;
28
+ const reserved = bigIntMax(bigIntMin(reservedRaw / SCALING_FACTOR, totalValue - liabilitySharesInStethWei), 0n);
29
+ const collateral = bigIntMax(liabilitySharesInStethWei + reserved, parseEther('1'));
30
+ const PendingUnlock = totalLocked - liabilitySharesInStethWei - reserved;
31
+ // Ratio helper
32
+ const utilizationRatio = liabilitySharesInStethWei === 0n
33
+ ? Infinity
34
+ : (Number((liabilitySharesInStethWei * SCALING_FACTOR) /
35
+ (totalValue * (BASIS_POINTS_DENOMINATOR - BigInt(reserveRatioBP)))) /
36
+ Number(SCALING_FACTOR)) *
37
+ 10_000;
38
+ return {
39
+ healthRatio,
40
+ isHealthy,
41
+ AvailableToWithdrawal,
42
+ idleCapital,
43
+ depositedToValidators,
44
+ totalLocked,
45
+ lockedByAccumulatedFees,
46
+ collateral,
47
+ PendingUnlock,
48
+ utilizationRatio,
49
+ totalReservable,
50
+ reserved,
51
+ stethMintingCapacityUsed: (Number(stethMintingCapacityUsed) / Number(SCALING_FACTOR)) * 100,
52
+ totalMintingCapacity,
53
+ };
54
+ };
55
+ //# sourceMappingURL=calculate-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-overview.js","sourceRoot":"","sources":["../../utils/calculate-overview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Address } from 'viem';
2
+ import { DashboardContract } from '../../contracts/index.js';
3
+ export declare const mintSteth: (contract: DashboardContract, recipient: Address, amountOfSteth: bigint) => Promise<void>;
4
+ export declare const mintShares: (contract: DashboardContract, recipient: Address, amountOfShares: bigint, method: "mintShares" | "mintStETH" | "mintWstETH") => Promise<void>;
5
+ export declare const burnSteth: (contract: DashboardContract, amountOfSteth: bigint) => Promise<void>;
6
+ export declare const burnShares: (contract: DashboardContract, amountOfShares: bigint, method: "burnShares" | "burnStETH" | "burnWstETH") => Promise<void>;
@@ -0,0 +1 @@
1
+ export * from './dashboard.js';
@@ -0,0 +1,25 @@
1
+ import { Address, SimulateContractReturnType, TransactionReceipt } from 'viem';
2
+ export type ReadContract = {
3
+ address: Address;
4
+ read: Record<string, (...args: any[]) => Promise<any>>;
5
+ };
6
+ export type PartialContract = ReadContract & {
7
+ simulate: Record<string, (...args: any[]) => Promise<any>>;
8
+ write: Record<string, (...args: any[]) => Promise<any>>;
9
+ };
10
+ type Writeable<T> = {
11
+ -readonly [P in keyof T]: T[P];
12
+ };
13
+ type GetFirst<T extends unknown[]> = T extends [infer First, infer _Second] ? First : T extends any ? [] : T;
14
+ export declare const callSimulateWriteMethod: <T extends PartialContract, M extends keyof T["simulate"] & string>(contract: T, methodName: M, payload: Writeable<GetFirst<Parameters<T["simulate"][M]>>> | never[], value?: bigint) => Promise<SimulateContractReturnType>;
15
+ export declare const callWriteMethod: <T extends PartialContract, M extends keyof T["write"] & string>(contract: T, methodName: M, payload: Writeable<GetFirst<Parameters<T["write"][M]>>> | never[], value?: bigint) => Promise<Address>;
16
+ export declare const callReadMethod: <T extends ReadContract, M extends keyof T["read"] & string>(contract: T, methodName: M, ...payload: [...Parameters<T["read"][M]>, {
17
+ silent?: boolean;
18
+ }?]) => Promise<ReturnType<T["read"][M]>>;
19
+ export declare const callReadMethodSilent: <T extends ReadContract, M extends keyof T["read"] & string>(contract: T, methodName: M, ...payload: Parameters<T["read"][M]>) => Promise<ReturnType<T["read"][M]>>;
20
+ export declare const isContractAddress: (address: Address) => Promise<boolean>;
21
+ export declare const callWriteMethodWithReceipt: <T extends PartialContract, M extends keyof T["write"] & string>(contract: T, methodName: M, payload: Writeable<GetFirst<Parameters<T["write"][M]>>> | never[], value?: bigint) => Promise<{
22
+ receipt: TransactionReceipt;
23
+ tx: Address;
24
+ }>;
25
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Config, RoleAssignment } from '../types/index.js';
2
+ export declare const validateConfig: (config: Config) => Record<keyof Config, string>;
3
+ export declare const isValidUrl: (value: string | undefined) => boolean;
4
+ export declare const transformAddressesToArray: (payload: RoleAssignment[]) => Record<string, string[]>;
5
+ export declare const validateAddressesMap: (payload: Record<any, any>) => string[];
6
+ export declare const validateAddressMap: (payload: Record<any, any>) => string[];
@@ -1,9 +1,6 @@
1
1
  import { isAddress } from 'viem';
2
2
  export const validateConfig = (config) => {
3
3
  const errors = {};
4
- // TODO: make better in the future
5
- if (process.env.SKIP_LSV_CLI_CHECK_CONFIG)
6
- return errors;
7
4
  if (isNaN(config.CHAIN_ID)) {
8
5
  errors.CHAIN_ID = 'Invalid chainId: must be in config.';
9
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-validators.js","sourceRoot":"","sources":["../../utils/data-validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,EAAkC,CAAC;IAElD,kCAAkC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB;QAAE,OAAO,MAAM,CAAC;IAEzD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,qCAAqC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAW,EAAE;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,uCAAuC;QACvC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACrE,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA8B,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,yBAAyB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,oEAAoE;QACpE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"data-validators.js","sourceRoot":"","sources":["../../utils/data-validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,EAAkC,CAAC;IAElD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,qCAAqC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAW,EAAE;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,uCAAuC;QACvC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACrE,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA8B,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,yBAAyB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,oEAAoE;QACpE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAc,CAAC,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const printError: (err: unknown, message: string) => void;
@@ -0,0 +1,14 @@
1
+ import { RootHex, Slot } from '@lodestar/types';
2
+ export type BlockId = RootHex | Slot | 'head' | 'genesis' | 'finalized';
3
+ export type StateId = RootHex | Slot | 'head' | 'genesis' | 'finalized' | 'justified';
4
+ export declare const SupportedFork: {
5
+ capella: string;
6
+ deneb: string;
7
+ electra: string;
8
+ };
9
+ export declare const fetchBeaconHeader: (stateId: StateId, clURL?: string) => Promise<any>;
10
+ export declare const fetchBeaconState: (stateId: StateId, clURL?: string) => Promise<{
11
+ stateBodyBytes: ArrayBuffer;
12
+ forkName: keyof typeof SupportedFork;
13
+ }>;
14
+ export declare const fetchBeaconHeaderByParentRoot: (parentRoot: RootHex, clURL?: string) => Promise<any>;
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const getCommandsJson: (program: Command) => string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * - pubkey: bytes
3
+ * - withdrawalCredentials: bytes
4
+ * - signature: bytes
5
+ * - amountETH: bigint or string (in ETH)
6
+ */
7
+ export declare const computeDepositDataRoot: (pubkey: string, withdrawalCredentials: string, signature: string, amountWei: bigint | string) => string;
@@ -0,0 +1 @@
1
+ export declare const getValueByPath: <T extends Record<string, unknown>>(obj: T, path: string) => unknown;