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
## Motivation
When the client verifies incoming messages to its own chains, it doesn't
need the sender chain's execution state, so computing the block
execution there is unnecessary work.
Eventually we want to go even further and avoid even downloading some of
the sender chain's blocks (see
#3969).
## Proposal
As a preparation for #3969, we introduce an `unexecuted_blocks` map to
the chain state: It maps block heights that are higher than
`next_block_height`, i.e. haven't been executed yet, to block hashes.
We don't purge empty outboxes anymore. When updating the outboxes, we
make sure that we haven't skipped any messages and compare to the next
height to schedule: That allows us to update some outboxes even for
loose blocks, ahead of execution.
For now we still download all blocks of the sender chain. Skipping any
will be done in a future PR.
However, we now add them as loose blocks and don't execute them.
## Test Plan
CI
## Release Plan
- Nothing to do / These changes follow the usual release cycle.
## Links
- Closes#3270.
- [reviewer
checklist](https://github.com/linera-io/linera-protocol/blob/main/CONTRIBUTING.md#reviewer-checklist)
0 commit comments