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
Currently the committee object sits in protocol/v2/ssv/validator and all of its following methods
StartConsumeQueue
StartDuty
PushToQueue
ProcessMessage
are called from protocol/v2/ssv/validator.
However the methods that change its state
AddShare
RemoveShare
are called exclusively from operator/validator, where the committee object sits in the validators map under the committee ID key.
This raises a few concerns:
add/remove share methods are public, so they can be called from any other place where we have a reference to the committee, while semantically it only makes sense to call them from the validators map. This is further stressed by the fact that the action of removing the last share of the committee automatically triggers its termination.
Once a committee is "terminated" there's no reason to allow calls to any its methods, a guarding mechanism should be in place to prevent that.
This PR #1760 takes care of interlocking the committee removal from the validators map, but doesn't account for overarching concerns mentioned above.
The text was updated successfully, but these errors were encountered:
Currently the
committee
object sits inprotocol/v2/ssv/validator
and all of its following methodsStartConsumeQueue
StartDuty
PushToQueue
ProcessMessage
are called from
protocol/v2/ssv/validator
.However the methods that change its state
AddShare
RemoveShare
are called exclusively from
operator/validator
, where thecommittee
object sits in the validators map under the committee ID key.This raises a few concerns:
validators map
. This is further stressed by the fact that the action of removing the last share of the committee automatically triggers its termination.This PR #1760 takes care of interlocking the committee removal from the validators map, but doesn't account for overarching concerns mentioned above.
The text was updated successfully, but these errors were encountered: