-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
per payload-builder payload builder validator registration #5431
Conversation
if not node.config.payloadBuilderEnable: return | ||
|
||
var builderKeys: Table[string, seq[ValidatorPubKey]] | ||
for pubkey in node.attachedValidators[].validators.keys: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where do vc-based validators get registered?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the VC, which has to do this signing anyway for validators it controls (and the vast majority of what's happening here is signing some messages):
nimbus-eth2/beacon_chain/validator_client/duties_service.nim
Lines 508 to 546 in 568e1fb
proc registerValidators*(service: DutiesServiceRef) {.async.} = | |
let vc = service.client | |
let | |
currentSlot = vc.getCurrentSlot().get(Slot(0)) | |
genesisFork = vc.forks[0] | |
registrations = | |
try: | |
await vc.prepareRegistrationList(getTime(), genesisFork) | |
except CancelledError as exc: | |
debug "Validator registration preparation was interrupted", | |
slot = currentSlot, fork = genesisFork | |
raise exc | |
except CatchableError as exc: | |
var default: seq[SignedValidatorRegistrationV1] | |
error "Unexpected error occured while preparing validators " & | |
"registration data", slot = currentSlot, fork = genesisFork, | |
err_name = exc.name, err_msg = exc.msg | |
default | |
count = | |
if len(registrations) > 0: | |
try: | |
await registerValidator(vc, registrations) | |
except ValidatorApiError as exc: | |
warn "Unable to register validators", slot = currentSlot, | |
fork = genesisFork, err_name = exc.name, | |
err_msg = exc.msg, reason = exc.getFailureReason() | |
0 | |
except CancelledError as exc: | |
debug "Validator registration was interrupted", slot = currentSlot, | |
fork = genesisFork | |
raise exc | |
except CatchableError as exc: | |
error "Unexpected error occured while registering validators", | |
slot = currentSlot, fork = genesisFork, err_name = exc.name, | |
err_msg = exc.msg | |
0 | |
else: | |
0 |
No description provided.