Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688

This commit is contained in:
Etan Kissling 2024-07-26 01:39:50 +02:00
commit 4c9da5f1af
No known key found for this signature in database
GPG Key ID: B21DA824C5A3D03D
5 changed files with 10 additions and 12 deletions

View File

@ -173,7 +173,7 @@ from ../consensus_object_pools/block_clearance import
proc storeBackfillBlock( proc storeBackfillBlock(
self: var BlockProcessor, self: var BlockProcessor,
signedBlock: ForkySignedBeaconBlock, signedBlock: ForkySignedBeaconBlock,
blobsOpt: OptForkyBlobSidecars blobsOpt: Opt[ForkyBlobSidecars]
): Result[void, VerifierError] = ): Result[void, VerifierError] =
const const
consensusFork = typeof(signedBlock).kind consensusFork = typeof(signedBlock).kind
@ -441,7 +441,7 @@ proc enqueueBlock*(
proc storeBlock( proc storeBlock(
self: ref BlockProcessor, src: MsgSource, wallTime: BeaconTime, self: ref BlockProcessor, src: MsgSource, wallTime: BeaconTime,
signedBlock: ForkySignedBeaconBlock, signedBlock: ForkySignedBeaconBlock,
blobsOpt: OptForkyBlobSidecars, blobsOpt: Opt[ForkyBlobSidecars],
maybeFinalized = false, maybeFinalized = false,
queueTick: Moment = Moment.now(), queueTick: Moment = Moment.now(),
validationDur = Duration() validationDur = Duration()

View File

@ -275,7 +275,7 @@ proc processSignedBeaconBlock*(
proc processBlobSidecar*( proc processBlobSidecar*(
self: var Eth2Processor, src: MsgSource, self: var Eth2Processor, src: MsgSource,
blobSidecar: deneb.BlobSidecar, subnet_id: BlobId): ValidationRes = blobSidecar: ForkyBlobSidecar, subnet_id: BlobId): ValidationRes =
template block_header: untyped = blobSidecar.signed_block_header.message template block_header: untyped = blobSidecar.signed_block_header.message
let let

View File

@ -1093,9 +1093,11 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
return RestApiResponse.jsonError(Http400, InvalidBlockObjectError) return RestApiResponse.jsonError(Http400, InvalidBlockObjectError)
let res = withBlck(forked): let res = withBlck(forked):
const blobFork =
blobForkAtConsensusFork(consensusFork).get(BlobFork.Deneb)
forkyBlck.root = hash_tree_root(forkyBlck.message) forkyBlck.root = hash_tree_root(forkyBlck.message)
await node.router.routeSignedBeaconBlock( await node.router.routeSignedBeaconBlock(
forkyBlck, Opt.none(seq[deneb.BlobSidecar]), forkyBlck, Opt.none(seq[blobFork.BlobSidecar]),
checkValidator = true) checkValidator = true)
if res.isErr(): if res.isErr():
@ -1176,9 +1178,11 @@ proc installBeaconApiHandlers*(router: var RestRouter, node: BeaconNode) =
return RestApiResponse.jsonError(Http400, InvalidBlockObjectError) return RestApiResponse.jsonError(Http400, InvalidBlockObjectError)
let res = withBlck(forked): let res = withBlck(forked):
const blobFork =
blobForkAtConsensusFork(consensusFork).get(BlobFork.Deneb)
forkyBlck.root = hash_tree_root(forkyBlck.message) forkyBlck.root = hash_tree_root(forkyBlck.message)
await node.router.routeSignedBeaconBlock( await node.router.routeSignedBeaconBlock(
forkyBlck, Opt.none(seq[deneb.BlobSidecar]), forkyBlck, Opt.none(seq[blobFork.BlobSidecar]),
checkValidator = true) checkValidator = true)
if res.isErr(): if res.isErr():

View File

@ -280,15 +280,9 @@ type
ForkyBlobSidecar* = ForkyBlobSidecar* =
deneb.BlobSidecar deneb.BlobSidecar
OptSeqForkyBlobSidecar* =
Opt[seq[deneb.BlobSidecar]]
ForkyBlobSidecars* = ForkyBlobSidecars* =
deneb.BlobSidecars deneb.BlobSidecars
OptForkyBlobSidecars* =
Opt[deneb.BlobSidecars]
ForkedBlobSidecar* = object ForkedBlobSidecar* = object
case kind*: BlobFork case kind*: BlobFork
of BlobFork.Deneb: of BlobFork.Deneb:

View File

@ -84,7 +84,7 @@ template getCurrentBeaconTime(router: MessageRouter): BeaconTime =
type RouteBlockResult = Result[Opt[BlockRef], string] type RouteBlockResult = Result[Opt[BlockRef], string]
proc routeSignedBeaconBlock*( proc routeSignedBeaconBlock*(
router: ref MessageRouter, blck: ForkySignedBeaconBlock, router: ref MessageRouter, blck: ForkySignedBeaconBlock,
blobsOpt: OptSeqForkyBlobSidecar, checkValidator: bool): blobsOpt: Opt[seq[ForkyBlobSidecar]], checkValidator: bool):
Future[RouteBlockResult] {.async: (raises: [CancelledError]).} = Future[RouteBlockResult] {.async: (raises: [CancelledError]).} =
## Validate and broadcast beacon block, then add it to the block database ## Validate and broadcast beacon block, then add it to the block database
## Returns the new Head when block is added successfully to dag, none when ## Returns the new Head when block is added successfully to dag, none when