flow-go
flow-go copied to clipboard
[Dynamic Protocol State] KV store service events processing pipeline
Context
Currently state mutator works only with epoch information. This behavior was desired when Dynamic Protocol State was built only from epoch-aware identity table, by adding KV store we extend the scope of Dynamic Protocol State which leads to changes in the current model. Specifically we need redefine what is protocol state ID. Previously it was equivalent to the state ID of the epoch-aware identity table. By adding KV store protocol state ID is built as hash(identityTableStateID, KVStoreStateID)
.
Additionally, stateMutator
currently processes only epoch related(setup, commit) and version beacon service events, we need to update it to support events for updating KV store.
Definition of Done
- Update definition of protocol state ID and how it's calculated and verified against
- Update
stateMutator
to process KV store related service events - Add new tests and update existing
- Update godoc.