You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contracts/0.8.25/vaults/interfaces/IPredepositGuarantee.sol
+29-1Lines changed: 29 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,33 @@ import {IStakingVault} from "./IStakingVault.sol";
13
13
* @notice Interface for the `PredepositGuarantee` contract
14
14
*/
15
15
interfaceIPredepositGuarantee {
16
+
/**
17
+
* @notice represents validator stages in PDG flow
18
+
* @param NONE - initial stage
19
+
* @param PREDEPOSITED - PREDEPOSIT_AMOUNT is deposited to this validator by the vault
20
+
* @param PROVEN - validator is proven to be valid and can be used to deposit to beacon chain
21
+
* @param ACTIVATED - validator is proven and the ACTIVATION_DEPOSIT_AMOUNT is deposited to this validator
22
+
* @param COMPENSATED - disproven validator has its PREDEPOSIT_AMOUNT ether compensated to staking vault owner and validator cannot be used in PDG anymore
23
+
*/
24
+
enum ValidatorStage {
25
+
NONE,
26
+
PREDEPOSITED,
27
+
PROVEN,
28
+
ACTIVATED,
29
+
COMPENSATED
30
+
}
31
+
/**
32
+
* @notice represents status of the validator in PDG
33
+
* @param stage represents validator stage in PDG flow
34
+
* @param stakingVault pins validator to specific StakingVault
35
+
* @param nodeOperator pins validator to specific NO
36
+
*/
37
+
struct ValidatorStatus {
38
+
ValidatorStage stage;
39
+
IStakingVault stakingVault;
40
+
address nodeOperator;
41
+
}
42
+
16
43
/**
17
44
* @notice user input for validator proof verification
18
45
* @custom:proof array of merkle proofs from parent(pubkey,wc) node to Beacon block root
* @param PREDEPOSITED - PREDEPOSIT_AMOUNT is deposited to this validator by the vault
70
-
* @param PROVEN - validator is proven to be valid and can be used to deposit to beacon chain
71
-
* @param ACTIVATED - validator is proven and the ACTIVATION_DEPOSIT_AMOUNT is deposited to this validator
72
-
* @param COMPENSATED - disproven validator has its PREDEPOSIT_AMOUNT ether compensated to staking vault owner and validator cannot be used in PDG anymore
0 commit comments