Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Add Builder API #209
Add Builder API #209
Changes from all commits
c374995
e28576a
075a2bb
8d869f4
305d33e
dc69e00
e6732a1
40d5b44
7a27240
069b2c4
79ea26e
49c742d
4c44494
b402f04
b006213
4338877
25764b8
c814872
d0ae0d1
f666d35
bd65467
6e73da2
989c3bf
dfc10b6
3614eec
a90e003
e249cb3
66afd7f
4ae07f3
280bff1
40547ba
1cbd4e7
4bba25c
572f150
3777486
190b7f3
42e1fbe
fcddc0d
14963f3
d891d16
e7dfb37
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
There's a typo in
De**s**positV1
, right ?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.
nice catch, here is a button light client can click to fix
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.
Sidenote: Depending on ethereum/beacon-APIs#206,
pubkey
might be replaced withvalidatorIndex
. This can be changed in a follow-up PR when needed.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.
the thing w/
validatorIndex
is that we would like the option to re-use indices in the future (we aren't anywhere near that yet but where possible designing new feature to be forwards compatible w/ this possibility)pubkey
s will always uniquely identify a validator, there could be a world whereindex
does notfor this use case, it would always be clear who the index refers to but it is something to keep in mind in the event there are knock-on effects down the road to software in this stack
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.
I think we can expect builders look up the
pubkey
by index shortly before block construction. If we want to havepubkey
be part of this call, we might need to it to ethereum/beacon-APIs#206 as well.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.
Good point. As long as registration request validity is restricted to
10s
or any other small amount of time this shouldn't be an issue. I admit that relying on timeout as a replay protection in this case may lead to unpredictable consequences if timeout for some reason will be removed in the future. If it isn't difficult for implementations to addpubkey
to BN api request then we better havepubkey
, furthermore, beacon API supports querying validators bypubkey
which can be utilised by builders to verify that such validator exists in a validator set.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.
Sidenote: this might actually be the pubkey of the relay, or we might want signatures by both builder and relay. Definitely need the relay signature if the validator wants to whitelist a specific relay and require it to sign this.
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.
Should there be a restriction to disallow requests where input
slot
is in the future?I'm not 100% sure if that's necessary, but I wonder what would be the intended behavior if anyone calls
builder_getHeaderV1
earlier than the assigned slot. Curious to hear ppl's thoughtsThere 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.
The relay/builder should perhaps just return an error, or nothing at all. Seems similar to the situation where a relay does not (yet) have a block for the requested parentHash.
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.