mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-08 04:33:42 +00:00
Merge branch 'unstable' into fulu
This commit is contained in:
commit
e063d8505a
@ -2055,9 +2055,7 @@ proc p2pProtocolBackendImpl*(p: P2PProtocol): Backend =
|
|||||||
##
|
##
|
||||||
## Implement Senders and Handshake
|
## Implement Senders and Handshake
|
||||||
##
|
##
|
||||||
if msg.kind == msgHandshake:
|
|
||||||
macros.error "Handshake messages are not supported in LibP2P protocols"
|
|
||||||
else:
|
|
||||||
var sendProc = msg.createSendProc()
|
var sendProc = msg.createSendProc()
|
||||||
implementSendProcBody sendProc
|
implementSendProcBody sendProc
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ export chronos, results
|
|||||||
|
|
||||||
type
|
type
|
||||||
MessageKind* = enum
|
MessageKind* = enum
|
||||||
msgHandshake
|
|
||||||
msgNotification
|
msgNotification
|
||||||
msgRequest
|
msgRequest
|
||||||
msgResponse
|
msgResponse
|
||||||
@ -89,7 +88,6 @@ type
|
|||||||
messages*: seq[Message]
|
messages*: seq[Message]
|
||||||
|
|
||||||
# Messages by type:
|
# Messages by type:
|
||||||
handshake*: Message
|
|
||||||
notifications*: seq[Message]
|
notifications*: seq[Message]
|
||||||
requests*: seq[Request]
|
requests*: seq[Request]
|
||||||
|
|
||||||
@ -529,7 +527,7 @@ proc createSendProc*(msg: Message,
|
|||||||
result.msgParams.add param
|
result.msgParams.add param
|
||||||
|
|
||||||
case msg.kind
|
case msg.kind
|
||||||
of msgHandshake, msgRequest:
|
of msgRequest:
|
||||||
# Add a timeout parameter for all request procs
|
# Add a timeout parameter for all request procs
|
||||||
def.addTimeoutParam(msg.protocol.timeouts)
|
def.addTimeoutParam(msg.protocol.timeouts)
|
||||||
|
|
||||||
@ -558,8 +556,6 @@ proc createSendProc*(msg: Message,
|
|||||||
ident "untyped"
|
ident "untyped"
|
||||||
elif msg.kind == msgRequest and not isRawSender:
|
elif msg.kind == msgRequest and not isRawSender:
|
||||||
ident "auto"
|
ident "auto"
|
||||||
elif msg.kind == msgHandshake and not isRawSender:
|
|
||||||
Fut(msg.recName)
|
|
||||||
else:
|
else:
|
||||||
Fut(Void)
|
Fut(Void)
|
||||||
|
|
||||||
@ -665,27 +661,6 @@ proc useStandardBody*(sendProc: SendProc,
|
|||||||
|
|
||||||
`sendCall`
|
`sendCall`
|
||||||
|
|
||||||
proc correctSerializerProcParams(params: NimNode) =
|
|
||||||
# A serializer proc is just like a send proc, but:
|
|
||||||
# 1. it has a void return type
|
|
||||||
params[0] = ident "void"
|
|
||||||
# 2. The peer params is replaced with OutputStream
|
|
||||||
params[1] = newIdentDefs(streamVar, bindSym "OutputStream")
|
|
||||||
# 3. The timeout param is removed
|
|
||||||
params.del(params.len - 1)
|
|
||||||
|
|
||||||
proc createSerializer*(msg: Message, procType = nnkProcDef): NimNode =
|
|
||||||
var serializer = msg.createSendProc(procType, nameSuffix = "Serializer")
|
|
||||||
correctSerializerProcParams serializer.def.params
|
|
||||||
|
|
||||||
serializer.setBody writeParamsAsRecord(
|
|
||||||
serializer.msgParams,
|
|
||||||
streamVar,
|
|
||||||
msg.protocol.backend.SerializationFormat,
|
|
||||||
msg.recName)
|
|
||||||
|
|
||||||
return serializer.def
|
|
||||||
|
|
||||||
proc defineThunk*(msg: Message, thunk: NimNode) =
|
proc defineThunk*(msg: Message, thunk: NimNode) =
|
||||||
let protocol = msg.protocol
|
let protocol = msg.protocol
|
||||||
|
|
||||||
@ -739,29 +714,6 @@ proc netInit*(p: P2PProtocol): NimNode =
|
|||||||
# p.backend.NetworkType,
|
# p.backend.NetworkType,
|
||||||
# p.NetworkStateType)
|
# p.NetworkStateType)
|
||||||
|
|
||||||
proc createHandshakeTemplate*(msg: Message,
|
|
||||||
rawSendProc, handshakeImpl,
|
|
||||||
nextMsg: NimNode): SendProc =
|
|
||||||
let
|
|
||||||
handshakeExchanger = msg.createSendProc(procType = nnkTemplateDef)
|
|
||||||
forwardCall = newCall(rawSendProc).appendAllInputParams(handshakeExchanger.def)
|
|
||||||
peerValue = forwardCall[1]
|
|
||||||
msgRecName = msg.recName
|
|
||||||
|
|
||||||
forwardCall[1] = peerVar
|
|
||||||
forwardCall.del(forwardCall.len - 1)
|
|
||||||
|
|
||||||
let peerVar = genSym(nskLet ,"peer")
|
|
||||||
handshakeExchanger.setBody quote do:
|
|
||||||
let `peerVar` = `peerValue`
|
|
||||||
let sendingFuture = `forwardCall`
|
|
||||||
`handshakeImpl`(`peerVar`,
|
|
||||||
sendingFuture,
|
|
||||||
`nextMsg`(`peerVar`, `msgRecName`),
|
|
||||||
`timeoutVar`)
|
|
||||||
|
|
||||||
return handshakeExchanger
|
|
||||||
|
|
||||||
proc peerInit*(p: P2PProtocol): NimNode =
|
proc peerInit*(p: P2PProtocol): NimNode =
|
||||||
if p.PeerStateType == nil:
|
if p.PeerStateType == nil:
|
||||||
newNilLit()
|
newNilLit()
|
||||||
@ -774,7 +726,6 @@ proc processProtocolBody*(p: P2PProtocol, protocolBody: NimNode) =
|
|||||||
## This procs handles all DSL statements valid inside a p2pProtocol.
|
## This procs handles all DSL statements valid inside a p2pProtocol.
|
||||||
##
|
##
|
||||||
## It will populate the protocol's fields such as:
|
## It will populate the protocol's fields such as:
|
||||||
## * handshake
|
|
||||||
## * requests
|
## * requests
|
||||||
## * notifications
|
## * notifications
|
||||||
## * onPeerConnected
|
## * onPeerConnected
|
||||||
@ -803,16 +754,6 @@ proc processProtocolBody*(p: P2PProtocol, protocolBody: NimNode) =
|
|||||||
|
|
||||||
p.requests.add Request(queries: queries, response: responseMsg)
|
p.requests.add Request(queries: queries, response: responseMsg)
|
||||||
|
|
||||||
elif eqIdent(n[0], "handshake"):
|
|
||||||
let procs = expectBlockWithProcs(n)
|
|
||||||
if procs.len != 1:
|
|
||||||
error "handshake expects a block with a single proc definition", n
|
|
||||||
|
|
||||||
if p.handshake != nil:
|
|
||||||
error "The handshake for the protocol is already defined", n
|
|
||||||
|
|
||||||
p.handshake = p.newMsg(msgHandshake, procs[0])
|
|
||||||
|
|
||||||
elif eqIdent(n[0], "onPeerConnected"):
|
elif eqIdent(n[0], "onPeerConnected"):
|
||||||
p.onPeerConnected = p.eventHandlerToProc(n[1], "PeerConnected")
|
p.onPeerConnected = p.eventHandlerToProc(n[1], "PeerConnected")
|
||||||
|
|
||||||
|
@ -424,8 +424,6 @@ type
|
|||||||
GetGraffitiResponse |
|
GetGraffitiResponse |
|
||||||
GetAggregatedAttestationV2Response
|
GetAggregatedAttestationV2Response
|
||||||
|
|
||||||
DecodeConsensysTypes* = ProduceBlindedBlockResponse
|
|
||||||
|
|
||||||
RestVersioned*[T] = object
|
RestVersioned*[T] = object
|
||||||
data*: T
|
data*: T
|
||||||
jsonVersion*: ConsensusFork
|
jsonVersion*: ConsensusFork
|
||||||
|
@ -545,7 +545,6 @@ type
|
|||||||
GetVersionResponse* = DataEnclosedObject[RestNodeVersion]
|
GetVersionResponse* = DataEnclosedObject[RestNodeVersion]
|
||||||
GetEpochSyncCommitteesResponse* = DataEnclosedObject[RestEpochSyncCommittee]
|
GetEpochSyncCommitteesResponse* = DataEnclosedObject[RestEpochSyncCommittee]
|
||||||
ProduceAttestationDataResponse* = DataEnclosedObject[AttestationData]
|
ProduceAttestationDataResponse* = DataEnclosedObject[AttestationData]
|
||||||
ProduceBlindedBlockResponse* = ForkedBlindedBeaconBlock
|
|
||||||
ProduceSyncCommitteeContributionResponse* = DataEnclosedObject[SyncCommitteeContribution]
|
ProduceSyncCommitteeContributionResponse* = DataEnclosedObject[SyncCommitteeContribution]
|
||||||
SubmitBlindedBlockResponseDeneb* = DataEnclosedObject[deneb_mev.ExecutionPayloadAndBlobsBundle]
|
SubmitBlindedBlockResponseDeneb* = DataEnclosedObject[deneb_mev.ExecutionPayloadAndBlobsBundle]
|
||||||
SubmitBlindedBlockResponseElectra* = DataEnclosedObject[electra_mev.ExecutionPayloadAndBlobsBundle]
|
SubmitBlindedBlockResponseElectra* = DataEnclosedObject[electra_mev.ExecutionPayloadAndBlobsBundle]
|
||||||
|
@ -43,7 +43,7 @@ In addition to the era files themselves, you will need at least 200GB of free sp
|
|||||||
|
|
||||||
=== "Mainnet"
|
=== "Mainnet"
|
||||||
* https://mainnet.era.nimbus.team/
|
* https://mainnet.era.nimbus.team/
|
||||||
* https://era1.ethportal.net/
|
* https://mainnet.era1.nimbus.team/
|
||||||
|
|
||||||
=== "Holesky"
|
=== "Holesky"
|
||||||
* https://holesky.era.nimbus.team/
|
* https://holesky.era.nimbus.team/
|
||||||
|
2
vendor/nim-faststreams
vendored
2
vendor/nim-faststreams
vendored
@ -1 +1 @@
|
|||||||
Subproject commit c246d00eaa7d6f52019464b37da510a8be23e939
|
Subproject commit cf8d4d22636b8e514caf17e49f9c786ac56b0e85
|
2
vendor/nim-snappy
vendored
2
vendor/nim-snappy
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 590edb152071bca4901bcbe689fc0856efd8c4e7
|
Subproject commit 0c308d34241c9f0764f6d111a0288428ded173bc
|
2
vendor/nimbus-build-system
vendored
2
vendor/nimbus-build-system
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 4afb0526629f51aef4c124368365ebe90a782d37
|
Subproject commit 8fafcd0bac9f409091b7bcaee62ab6330f57441e
|
Loading…
x
Reference in New Issue
Block a user