-
Notifications
You must be signed in to change notification settings - Fork 250
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: metadata-v3 for custody subnet count #6486
Conversation
@@ -175,10 +175,14 @@ p2pProtocol PeerSync(version = 1, | |||
{.libp2pProtocol("metadata", 1).} = | |||
raise newException(InvalidInputsError, "GetMetaData v1 unsupported") | |||
|
|||
proc getMetadata_v2(peer: Peer): altair.MetaData | |||
proc getMetadata_v2(peer: Peer): eip7594.MetaData |
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 v2 endpoint is still defined to return an altair.MetaData
. One way to do this is construct an altair.MetaData
from the internal eip7594.MetaData
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 that should be ideal. ok
@@ -9,7 +9,7 @@ | |||
|
|||
import | |||
std/[sequtils], | |||
"."/[base, deneb], | |||
"."/[base, deneb, altair], |
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.
Usually the codebase uses either the fork order (base, altair, deneb
) or alphabetical (altair, base, deneb
), but here fork order seems to be usual
@@ -2082,7 +2082,7 @@ proc updatePeerMetadata(node: Eth2Node, peerId: PeerId) {.async: (raises: [Cance | |||
|
|||
let | |||
peer = node.getPeer(peerId) | |||
newMetadataRes = await peer.getMetadata_v2() | |||
newMetadataRes = await peer.getMetadata_v3() |
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.
This unconditional replacement of the v2 endpoint with the v3 endpoint only works if all the other peers also support it. This might be true for the PeerDAS devnets, in which case, ok. But it's not something ultimately mergeable into Nimbus unstable
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.
Agree on this, I can probably write it in a way to support v2 as well.
This PR adds metadata V3 for custody_subnet_count, keeping metadata V2 compatible.