Skip to content

Conversation

ahshum
Copy link
Contributor

@ahshum ahshum commented Oct 17, 2025

  • processExecutionPayloadGloas is a synced func to enable processing of full beacon block. I think it would be refactored to the block processor (or something similar) to be processed in a queue and save into the db if that's necessary.
  • Will be adding block to seen and enable the processor for the execution_payload topic.

@github-actions
Copy link

github-actions bot commented Oct 17, 2025

Unit Test Results

       15 files  ±0    3 030 suites  ±0   1h 32m 24s ⏱️ - 9m 14s
12 067 tests ±0  11 497 ✔️ ±0  570 💤 ±0  0 ±0 
76 511 runs  ±0  75 659 ✔️ ±0  852 💤 ±0  0 ±0 

Results for commit 5d5b8c5. ± Comparison against base commit 0ae66b3.

♻️ This comment has been updated with latest results.

# check the DAG chain
pool.dag.getBlockRef(blockRoot).isSome()

func isBlockSeen*(
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this overload used anywhere except the tests, or would it be?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You're right. It can be removed.

# any side effects until the message is fully validated, or invalid messages
# could be used to push out valid messages.

proc processExecutionPayloadGloas(
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe processExecutionPayloadEnvelope instead of processExecutionPayloadGloas; it more usefully/accurately describes what it's doing. There will be other forks after Gloas, for which this function will still apply.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yup sure that works for me. I was thinking it would be a temporary function for processing the execution payload from either beacon_block or execution_payload.

pool.checkEnvelopeProgress(envelope.toExecPayloadUniqKey(),
ExecPayloadEnvelopeProgress.Processed)

func isBlockExecutionEnabled*(
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this used anywhere, or would it be?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, as execution payload is being removed from block, it would be used in the beacon_block to determine the route of validation.


blocks: Table[Eth2Digest, BeaconBlockDetail]
## Blocks that received from the network.
envelopes: OrderedTable[ExecPayloadUniqKey, ExecPayloadEnvelopeDetail]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this an OrderedTable?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It would be used for pruning old data. Or should I use Table for now and modify it when implementing date pruning?

@ahshum ahshum changed the title Create execution payload gossip processor Create execution payload gossip validation Oct 22, 2025
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.

2 participants