You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I looked into this, all errors in import_block should be internal errors. The only two contentious cases:
fork_choice.on_block: Has some fallible cases:
UnknownParent: It's already checked when validating the block, the check is redundant an any error can be considered an internal inconsistency
FutureSlot: Same as above ^ (already checked, if error = inconsistency)
FinalizedSlot, NotFinalizedDescendant: Already checked when validating the block, but it may happen if finality advances between block validation and import. In that case this block is not useful to use anymore and we can discard it. I think it's okay to label this as an internal error, as it's not the fault of the serving peer but just an internal timing coincidence.
check_block_is_finalized_checkpoint_or_descendant: This check is redundant to fork_choice.on_block which checks the same condition
This branch explores having dedicated error types for:
ProcessBlockError: returned by process_block (verifies block and calls import_block)
ProcessBlobError: returned by process_blob (verifies blob and calls import_block)
Description
@pawanjay176 has started some work here
The text was updated successfully, but these errors were encountered: