@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
package/README.md CHANGED
@@ -30,16 +30,10 @@ For changes between versions see [Changelog](./CHANGELOG.md)
30
30
 
31
31
  ## Installation
32
32
 
33
- Install the Lido Staking Vault CLI globally using npm:
33
+ ### NPM
34
34
 
35
35
  ```bash
36
- npm install -g @lidofinance/lsv-cli
37
- ```
38
-
39
- Alternatively, you can install it locally in your project:
40
-
41
- ```bash
42
- npm install @lidofinance/lsv-cli
36
+ git clone git@github.com:lidofinance/lido-staking-vault-cli.git
43
37
  ```
44
38
 
45
39
  ## Configuration
@@ -47,54 +41,30 @@ npm install @lidofinance/lsv-cli
47
41
  Before using the CLI, configure your environment variables. You can set them in a `.env` file in your project root.
48
42
 
49
43
  ```.env
50
- RPC_URL_17000=
51
- RPC_URL_1=
44
+ CHAIN_ID=560048 // required
45
+ CL_URL=url
46
+ EL_URL=url
52
47
 
53
48
  # Contract addresses
54
- DEPLOYED=deployed-holesky-vaults-devnet-0.json
55
- CONFIG=./config.json
49
+ DEPLOYED=deployed-hoodi-vaults-testnet.json // required
56
50
 
57
51
  # Wallet
58
- PRIVATE_KEY_1=0x...
59
- PRIVATE_KEY_17000=0x...
60
-
52
+ PRIVATE_KEY=0x
61
53
  ```
62
54
 
63
- Application supported a few ways to adding or combine different settings
64
-
65
- - #### 1st step
66
- You can pass link to json file with address of deployed contacts into **DEPLOYED** variable. If you want use
67
- devnet the all needed addresses of the contracts like VaultHub, VaultFactory etc already passed as example in configs/deployed-holesky-vaults-devnet-1.json.
68
- Also at near future this feature will be changed to resolving contracts addresses by LIDO locator and link to json
69
- file will no longer be necessary
70
- - #### 2nd step
71
- You need to pass link to json config file into **CONFIG** variable. The structure of a config file has to be like
72
- ```javascript
73
- {
74
- "rpcLink": "https://link_to_rpc",
75
- "privateKey": "some_key",
76
- "chainId": 1, // or another number of chain id
77
- "lidoLocator": "LIDO locator address", // take LIDO locator address in paticular chainId
78
- "accounting": "LIDO accountind address" // take LIDO accounting address in paticular chainId
79
- "clLink": "url" // CL url
80
- }
81
- ```
82
- If you plan to manage contracts the **privateKey** is required property for this type of operations.
83
- For using rpcLink in a right way be attentive to match rpc resolver link and its chain ID.
84
- Also, You can pass rpc link as env variable into RPC*URL*(chainID)
85
- where chainID is current chain ID, chainId basically takes from config file, but also you can
86
- pass it to deployed file and process env CHAIN_ID variable.
55
+ If you plan to manage contracts the **privateKey** is required property for this type of operations.
56
+ For using elLink in a right way be attentive to match rpc resolver link and its chain ID.
87
57
 
88
58
  ## Usage
89
59
 
90
60
  After installation and configuration, you can start using the CLI to manage your staking vaults.
91
61
 
92
62
  ```bash
93
- lsv-cli [command] [options]
63
+ yarn start [command] [options]
94
64
  ```
95
65
 
96
66
  ```bash
97
- lsv-cli -h
67
+ yarn start -h
98
68
  ```
99
69
 
100
70
  ### Examples
@@ -102,13 +72,13 @@ lsv-cli -h
102
72
  **VaultHub constants**
103
73
 
104
74
  ```bash
105
- lsv-cli hub constants
75
+ yarn start hub r info
106
76
  ```
107
77
 
108
78
  **Count of all vaults**
109
79
 
110
80
  ```bash
111
- lsv-cli hub v-count
81
+ yarn start hub r v-count
112
82
  ```
113
83
 
114
84
  ## Programs
@@ -118,9 +88,10 @@ lsv-cli hub v-count
118
88
  - [VaultFactory](https://lidofinance.github.io/lido-staking-vault-cli/commands/vault-factory)
119
89
  - [Vault](https://lidofinance.github.io/lido-staking-vault-cli/commands/vault)
120
90
  - [Dashboard](https://lidofinance.github.io/lido-staking-vault-cli/commands/dashboard)
121
- - [Delegation](https://lidofinance.github.io/lido-staking-vault-cli/commands/delgatio)
122
91
  - [PredepositGuarantee](https://lidofinance.github.io/lido-staking-vault-cli/commands/predeposit-guarantee)
92
+ - [OperatorGrid](https://lidofinance.github.io/lido-staking-vault-cli/commands/operator-grid)
123
93
  - [VaultViewer](https://lidofinance.github.io/lido-staking-vault-cli/commands/vault-viewer)
94
+ - [Report](https://lidofinance.github.io/lido-staking-vault-cli/commands/report)
124
95
 
125
96
  ## Documentation
126
97
 
@@ -0,0 +1,232 @@
1
+ export const BLSHarnessAbi = [
2
+ {
3
+ inputs: [],
4
+ stateMutability: 'nonpayable',
5
+ type: 'constructor',
6
+ },
7
+ {
8
+ inputs: [],
9
+ name: 'InputHasInfinityPoints',
10
+ type: 'error',
11
+ },
12
+ {
13
+ inputs: [],
14
+ name: 'InvalidPubkeyLength',
15
+ type: 'error',
16
+ },
17
+ {
18
+ inputs: [],
19
+ name: 'InvalidSignature',
20
+ type: 'error',
21
+ },
22
+ {
23
+ inputs: [],
24
+ name: 'LOCAL_MESSAGE_1',
25
+ outputs: [
26
+ {
27
+ components: [
28
+ {
29
+ components: [
30
+ {
31
+ internalType: 'bytes',
32
+ name: 'pubkey',
33
+ type: 'bytes',
34
+ },
35
+ {
36
+ internalType: 'bytes',
37
+ name: 'signature',
38
+ type: 'bytes',
39
+ },
40
+ {
41
+ internalType: 'uint256',
42
+ name: 'amount',
43
+ type: 'uint256',
44
+ },
45
+ {
46
+ internalType: 'bytes32',
47
+ name: 'depositDataRoot',
48
+ type: 'bytes32',
49
+ },
50
+ ],
51
+ internalType: 'struct StakingVaultDeposit',
52
+ name: 'deposit',
53
+ type: 'tuple',
54
+ },
55
+ {
56
+ components: [
57
+ {
58
+ components: [
59
+ {
60
+ internalType: 'bytes32',
61
+ name: 'a',
62
+ type: 'bytes32',
63
+ },
64
+ {
65
+ internalType: 'bytes32',
66
+ name: 'b',
67
+ type: 'bytes32',
68
+ },
69
+ ],
70
+ internalType: 'struct BLS12_381.Fp',
71
+ name: 'pubkeyY',
72
+ type: 'tuple',
73
+ },
74
+ {
75
+ components: [
76
+ {
77
+ internalType: 'bytes32',
78
+ name: 'c0_a',
79
+ type: 'bytes32',
80
+ },
81
+ {
82
+ internalType: 'bytes32',
83
+ name: 'c0_b',
84
+ type: 'bytes32',
85
+ },
86
+ {
87
+ internalType: 'bytes32',
88
+ name: 'c1_a',
89
+ type: 'bytes32',
90
+ },
91
+ {
92
+ internalType: 'bytes32',
93
+ name: 'c1_b',
94
+ type: 'bytes32',
95
+ },
96
+ ],
97
+ internalType: 'struct BLS12_381.Fp2',
98
+ name: 'signatureY',
99
+ type: 'tuple',
100
+ },
101
+ ],
102
+ internalType: 'struct BLS12_381.DepositY',
103
+ name: 'depositYComponents',
104
+ type: 'tuple',
105
+ },
106
+ {
107
+ internalType: 'bytes32',
108
+ name: 'withdrawalCredentials',
109
+ type: 'bytes32',
110
+ },
111
+ ],
112
+ internalType: 'struct PrecomputedDepositMessage',
113
+ name: '',
114
+ type: 'tuple',
115
+ },
116
+ ],
117
+ stateMutability: 'pure',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'verifier',
123
+ outputs: [
124
+ {
125
+ internalType: 'contract BLS__HarnessVerifier',
126
+ name: '',
127
+ type: 'address',
128
+ },
129
+ ],
130
+ stateMutability: 'view',
131
+ type: 'function',
132
+ },
133
+ {
134
+ inputs: [],
135
+ name: 'verifyBLSSupport',
136
+ outputs: [],
137
+ stateMutability: 'view',
138
+ type: 'function',
139
+ },
140
+ {
141
+ inputs: [
142
+ {
143
+ components: [
144
+ {
145
+ internalType: 'bytes',
146
+ name: 'pubkey',
147
+ type: 'bytes',
148
+ },
149
+ {
150
+ internalType: 'bytes',
151
+ name: 'signature',
152
+ type: 'bytes',
153
+ },
154
+ {
155
+ internalType: 'uint256',
156
+ name: 'amount',
157
+ type: 'uint256',
158
+ },
159
+ {
160
+ internalType: 'bytes32',
161
+ name: 'depositDataRoot',
162
+ type: 'bytes32',
163
+ },
164
+ ],
165
+ internalType: 'struct StakingVaultDeposit',
166
+ name: 'deposit',
167
+ type: 'tuple',
168
+ },
169
+ {
170
+ components: [
171
+ {
172
+ components: [
173
+ {
174
+ internalType: 'bytes32',
175
+ name: 'a',
176
+ type: 'bytes32',
177
+ },
178
+ {
179
+ internalType: 'bytes32',
180
+ name: 'b',
181
+ type: 'bytes32',
182
+ },
183
+ ],
184
+ internalType: 'struct BLS12_381.Fp',
185
+ name: 'pubkeyY',
186
+ type: 'tuple',
187
+ },
188
+ {
189
+ components: [
190
+ {
191
+ internalType: 'bytes32',
192
+ name: 'c0_a',
193
+ type: 'bytes32',
194
+ },
195
+ {
196
+ internalType: 'bytes32',
197
+ name: 'c0_b',
198
+ type: 'bytes32',
199
+ },
200
+ {
201
+ internalType: 'bytes32',
202
+ name: 'c1_a',
203
+ type: 'bytes32',
204
+ },
205
+ {
206
+ internalType: 'bytes32',
207
+ name: 'c1_b',
208
+ type: 'bytes32',
209
+ },
210
+ ],
211
+ internalType: 'struct BLS12_381.Fp2',
212
+ name: 'signatureY',
213
+ type: 'tuple',
214
+ },
215
+ ],
216
+ internalType: 'struct BLS12_381.DepositY',
217
+ name: 'depositY',
218
+ type: 'tuple',
219
+ },
220
+ {
221
+ internalType: 'bytes32',
222
+ name: 'withdrawalCredentials',
223
+ type: 'bytes32',
224
+ },
225
+ ],
226
+ name: 'verifyDepositMessage',
227
+ outputs: [],
228
+ stateMutability: 'view',
229
+ type: 'function',
230
+ },
231
+ ];
232
+ //# sourceMappingURL=BlsHarness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlsHarness.js","sourceRoot":"","sources":["../../abi/BlsHarness.ts"],"names":[],"mappings":"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"}
@@ -25,55 +25,16 @@ export const CLProofVerifierAbi = [
25
25
  name: 'IndexOutOfRange',
26
26
  type: 'error',
27
27
  },
28
- {
29
- inputs: [],
30
- name: 'InvalidProof',
31
- type: 'error',
32
- },
33
28
  {
34
29
  inputs: [],
35
30
  name: 'InvalidPubkeyLength',
36
31
  type: 'error',
37
32
  },
38
- {
39
- inputs: [],
40
- name: 'InvalidTimestamp',
41
- type: 'error',
42
- },
43
33
  {
44
34
  inputs: [],
45
35
  name: 'RootNotFound',
46
36
  type: 'error',
47
37
  },
48
- {
49
- inputs: [],
50
- name: 'SlotAlreadyProven',
51
- type: 'error',
52
- },
53
- {
54
- inputs: [],
55
- name: 'SlotUpdateHasNoEffect',
56
- type: 'error',
57
- },
58
- {
59
- anonymous: false,
60
- inputs: [
61
- {
62
- indexed: false,
63
- internalType: 'uint64',
64
- name: 'provenSlot',
65
- type: 'uint64',
66
- },
67
- {
68
- indexed: false,
69
- internalType: 'uint64',
70
- name: 'provenSlotTimestamp',
71
- type: 'uint64',
72
- },
73
- ],
74
- name: 'SlotProven',
75
- type: 'event',
76
- },
77
38
  {
78
39
  inputs: [],
79
40
  name: 'BEACON_ROOTS',
@@ -128,7 +89,7 @@ export const CLProofVerifierAbi = [
128
89
  },
129
90
  {
130
91
  inputs: [],
131
- name: 'GI_STATE_VIEW',
92
+ name: 'GI_STATE_ROOT',
132
93
  outputs: [
133
94
  {
134
95
  internalType: 'GIndex',
@@ -141,7 +102,7 @@ export const CLProofVerifierAbi = [
141
102
  },
142
103
  {
143
104
  inputs: [],
144
- name: 'SLOT_CHANGE_GI',
105
+ name: 'SLOT_CHANGE_GI_FIRST_VALIDATOR',
145
106
  outputs: [
146
107
  {
147
108
  internalType: 'uint64',
@@ -152,6 +113,32 @@ export const CLProofVerifierAbi = [
152
113
  stateMutability: 'view',
153
114
  type: 'function',
154
115
  },
116
+ {
117
+ inputs: [],
118
+ name: 'STATE_ROOT_DEPTH',
119
+ outputs: [
120
+ {
121
+ internalType: 'uint8',
122
+ name: '',
123
+ type: 'uint8',
124
+ },
125
+ ],
126
+ stateMutability: 'view',
127
+ type: 'function',
128
+ },
129
+ {
130
+ inputs: [],
131
+ name: 'STATE_ROOT_POSITION',
132
+ outputs: [
133
+ {
134
+ internalType: 'uint256',
135
+ name: '',
136
+ type: 'uint256',
137
+ },
138
+ ],
139
+ stateMutability: 'view',
140
+ type: 'function',
141
+ },
155
142
  {
156
143
  inputs: [
157
144
  {
@@ -215,7 +202,7 @@ export const CLProofVerifierAbi = [
215
202
  type: 'uint64',
216
203
  },
217
204
  ],
218
- internalType: 'struct CLProofVerifier.ValidatorWitness',
205
+ internalType: 'struct IPredepositGuarantee.ValidatorWitness',
219
206
  name: '_witness',
220
207
  type: 'tuple',
221
208
  },
@@ -231,48 +218,29 @@ export const CLProofVerifierAbi = [
231
218
  type: 'function',
232
219
  },
233
220
  {
234
- inputs: [
221
+ inputs: [],
222
+ name: 'WC_PUBKEY_PARENT_DEPTH',
223
+ outputs: [
235
224
  {
236
- components: [
237
- {
238
- internalType: 'uint64',
239
- name: 'slot',
240
- type: 'uint64',
241
- },
242
- {
243
- internalType: 'uint64',
244
- name: 'proposerIndex',
245
- type: 'uint64',
246
- },
247
- {
248
- internalType: 'bytes32',
249
- name: 'parentRoot',
250
- type: 'bytes32',
251
- },
252
- {
253
- internalType: 'bytes32',
254
- name: 'stateRoot',
255
- type: 'bytes32',
256
- },
257
- {
258
- internalType: 'bytes32',
259
- name: 'bodyRoot',
260
- type: 'bytes32',
261
- },
262
- ],
263
- internalType: 'struct BeaconBlockHeader',
264
- name: '_beaconBlockHeader',
265
- type: 'tuple',
225
+ internalType: 'uint8',
226
+ name: '',
227
+ type: 'uint8',
266
228
  },
229
+ ],
230
+ stateMutability: 'view',
231
+ type: 'function',
232
+ },
233
+ {
234
+ inputs: [],
235
+ name: 'WC_PUBKEY_PARENT_POSITION',
236
+ outputs: [
267
237
  {
268
- internalType: 'uint64',
269
- name: '_childBlockTimestamp',
270
- type: 'uint64',
238
+ internalType: 'uint256',
239
+ name: '',
240
+ type: 'uint256',
271
241
  },
272
242
  ],
273
- name: 'proveSlotChange',
274
- outputs: [],
275
- stateMutability: 'nonpayable',
243
+ stateMutability: 'view',
276
244
  type: 'function',
277
245
  },
278
246
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"CLProofVerifier.js","sourceRoot":"","sources":["../../abi/CLProofVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLProofVerifier.js","sourceRoot":"","sources":["../../abi/CLProofVerifier.ts"],"names":[],"mappings":"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"}