Skip to content

Consider: when stakeMore is called on a deposit with no validator, _changeValidatorWeight(address(0)) will be called. #31

@wildmolasses

Description

@wildmolasses

zkstaker/src/ZkStaker.sol

Lines 414 to 427 in 3228dfa

function _stakeMore(Deposit storage deposit, DepositIdentifier _depositId, uint256 _amount)
internal
virtual
override(Staker, StakerCapDeposits)
{
address _depositValidator = validatorForDeposit[_depositId];
validatorForAtomicEarningPowerCalculation = _depositValidator;
validatorStakeWeight[_depositValidator] += _amount;
_changeValidatorWeight(_depositValidator);
StakerCapDeposits._stakeMore(deposit, _depositId, _amount);
validatorForAtomicEarningPowerCalculation = address(0);
}

what are the consequences? we should probably no-op rather than increase address(0)'s stake weight...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions