Skip to content

Conversation

@agnxsh
Copy link
Contributor

@agnxsh agnxsh commented Nov 23, 2025

No description provided.

@github-actions
Copy link

Unit Test Results

       12 files  ±0    2 432 suites  ±0   45m 25s ⏱️ - 1m 58s
12 657 tests ±0  12 092 ✔️ ±0  565 💤 ±0  0 ±0 
63 632 runs  ±0  62 904 ✔️ ±0  728 💤 ±0  0 ±0 

Results for commit 78b2aa9. ± Comparison against base commit 3aa47a7.

Comment on lines +271 to +273
let v = router.validateRouteBlock(blck, checkValidator)
if v.isErr():
return err(v.error)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let v = router.validateRouteBlock(blck, checkValidator)
if v.isErr():
return err(v.error)
? router.validateRouteBlock(blck, checkValidator)

sidecarOpt = Opt.some(blobs.mapIt(newClone(it)))
proc publishSidecars(
router: ref MessageRouter,
blck: ForkySignedBeaconBlock,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
blck: ForkySignedBeaconBlock,
blck: fulu.SignedBeaconBlock,

we should not be defining this function for mismatching sidecar and block forks

Comment on lines +153 to +155
if not (sidecarsOpt.isSome() and typeof(blck).kind >= ConsensusFork.Fulu):
return Opt.none(fulu.DataColumnSidecars)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if not (sidecarsOpt.isSome() and typeof(blck).kind >= ConsensusFork.Fulu):
return Opt.none(fulu.DataColumnSidecars)

const finalSidecars = noSidecars
elif someSidecarsOpt is NoSidecarsAtFork and
typeof(blck).kind in ConsensusFork.Deneb..ConsensusFork.Electra:
let finalSidecars = Opt.none(BlobSidecars)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is there no routing here?

forkyBlck, Opt.some(
forkyBlck.create_blob_sidecars(kzg_proofs, blobs)),
Opt.none(seq[fulu.DataColumnSidecar]),
checkValidator = true)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not overload routeSignedBeaconBlock too?

MsgSource.api, blck, sidecarOpt)
proc publishSidecars*(
router: ref MessageRouter,
blck: ForkySignedBeaconBlock,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same point about mismatching block types/sidecar types

if dc.index in allowed:
finalCols.add newClone(dc)

return Opt.some(finalCols)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can use implicit return (no return, just Opt.some(finalCols))

NoSidecarsAtFork |
Opt[seq[BlobSidecar]] |
Opt[seq[fulu.DataColumnSidecar]] |
Opt[seq[gloas.DataColumnSidecar]]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR doesn't seem to treat gloas.DataColumnSidecar at all?

# proposer ownership checks
let vindex = ValidatorIndex(blck.message.proposer_index)
if checkValidator and (vindex in router.processor.validatorPool[]):
warn "A validator client attempts to send a block from validator that is also manager by beacon node",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

managed

if checkValidator and (vindex in router.processor.validatorPool[]):
warn "A validator client attempts to send a block from validator that is also manager by beacon node",
validator_index = vindex
return err("Block could not be sent from validator that is also managed by the beacon node")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's no really that a block could not be sent, but that it wasn't

for blob in blobs:
finalBlobs.add newClone(blob)

return Opt.some(finalBlobs)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need return here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants