Skip to content

Add finalized/tentative state concepts to the state handler #1086

@murerfel

Description

@murerfel

As part of sidechain finalization, epic #685 and issue #855 and in preparation for #687, we need to introduce the concept of a finalized and a tentative state into our state handler.

The state handler will hold the last finalized state and the tentative state, upon which new sidechain blocks are proposed.
Instead of writing a state snapshot to file for every mutation, we should now change to write only finalized state snapshots. This will be used by #687. In a first step though, we just prepare the implementation and finalize each sidechain block (because we don't have any tracking or acting upon finalization yet).

  • Extend the HandleState trait to differentiate between finalized and tentative state
  • As a result of the above, the handler implementation will then have to state maps
  • Add a new trait for finalizing state. Upon finalization, state is pushed to the snapshot repository

Metadata

Metadata

Assignees

Labels

A0-coreAffects a core partA3-sidechainB1-releasenotesE3-hardmergePR introduces a lot changes in a lot of files. Requires some effort to merge or rebase to.F8-enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions