diff --git a/contracts/contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol b/contracts/contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol index c15629be71..76737fc398 100644 --- a/contracts/contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol +++ b/contracts/contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol @@ -261,4 +261,8 @@ contract NativeStakingSSVStrategy is "eth not from allowed contracts" ); } + + function wethWithdrawnToVault(uint256 _amount) internal override { + emit Withdrawal(WETH_TOKEN_ADDRESS, address(0), _amount); + } } diff --git a/contracts/contracts/strategies/NativeStaking/ValidatorAccountant.sol b/contracts/contracts/strategies/NativeStaking/ValidatorAccountant.sol index d99982cc24..996a28bfa7 100644 --- a/contracts/contracts/strategies/NativeStaking/ValidatorAccountant.sol +++ b/contracts/contracts/strategies/NativeStaking/ValidatorAccountant.sol @@ -132,7 +132,8 @@ abstract contract ValidatorAccountant is ValidatorRegistrator { IWETH9(WETH_TOKEN_ADDRESS).deposit{ value: wethToVault }(); // slither-disable-next-line unchecked-transfer IWETH9(WETH_TOKEN_ADDRESS).transfer(VAULT_ADDRESS, wethToVault); - + wethWithdrawnToVault(wethToVault); + emit AccountingFullyWithdrawnValidator( fullyWithdrawnValidators, activeDepositedValidators, @@ -162,6 +163,8 @@ abstract contract ValidatorAccountant is ValidatorRegistrator { IWETH9(WETH_TOKEN_ADDRESS).transfer(VAULT_ADDRESS, ethRemaining); activeDepositedValidators -= 1; + wethWithdrawnToVault(ethRemaining); + emit AccountingValidatorSlashed( activeDepositedValidators, ethRemaining @@ -233,4 +236,11 @@ abstract contract ValidatorAccountant is ValidatorRegistrator { // unpause since doAccounting was successful _unpause(); } + + /*************************************** + Abstract + ****************************************/ + + /// @dev allows for NativeStakingSSVStrategy contract to emit Withdrawal event + function wethWithdrawnToVault(uint256 _amount) internal virtual; }