Open
Description
Why
We want to get rid of the remaining store adapters implementation in the signer and aggregator, and replace them with some repository implementation as for the rest of the storage in the Mithril nodes.
What
Replace the store using the legacy store adapter and replace them with a repository implementation.
How
- Upgrade the
ProtocolInitializerStore
in the signer:- Update structure of the existing table in a migration (keep epoch and protocol initializer in the same format)
- Implement a repository instead the store adapter
- Upgrade the
StakeStore
in the signer:- Update structure of the existing table in a migration (do the same migration as already done in the aggregator)
- Use this implementation for the stake store in the signer
- Implement an deletion of all the records for the epoch before saving a new stake distribution
- Upgrade the
Pending Certificate
in the aggregator:- Update structure of the existing table in a migration
- Implement a repository instead the store adapter
- Upgrade the
VerificationKeyStore
in the aggregator (used only for tests):- Migrate pruning of signer registrations in the upkeep service
- Move tests to the implementation and remove
test_verification_key_storer
macro
- Remove the store adapter from the persistence crate
- Make a backward compatibility test to make sure that pending certificate still works for legacy signers