-
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
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 commentThe reason will be displayed to describe this comment to others. Learn more. The v2 endpoint is still defined to return an There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that should be ideal. ok |
||
{.libp2pProtocol("metadata", 2).} = | ||
peer.network.metadata | ||
|
||
proc getMetadata_v3(peer: Peer): eip7594.MetaData | ||
{.libp2pProtocol("metadata", 3).} = | ||
peer.network.metadata | ||
|
||
proc goodbye(peer: Peer, reason: uint64) | ||
{.async, libp2pProtocol("goodbye", 1).} = | ||
debug "Received Goodbye message", reason = disconnectReasonName(reason), peer | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 commentThe reason will be displayed to describe this comment to others. Learn more. Usually the codebase uses either the fork order ( |
||
kzg4844, | ||
stew/[byteutils] | ||
|
||
|
@@ -79,6 +79,13 @@ type | |
|
||
CscBits* = BitArray[DATA_COLUMN_SIDECAR_SUBNET_COUNT] | ||
|
||
# https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.4/specs/_features/eip7594/p2p-interface.md#metadata | ||
MetaData* = object | ||
seq_number*: uint64 | ||
attnets*: AttnetBits | ||
syncnets*: SyncnetBits | ||
custody_subnet_count*: uint64 | ||
|
||
# func serializeDataColumn(data_column: DataColumn): auto = | ||
# var counter = 0 | ||
# var serd : array[MAX_BLOB_COMMITMENTS_PER_BLOCK * BYTES_PER_CELL, byte] | ||
|
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.