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
[x] Upgrade the ProtocolInitializerStore in the signer:
[x] Update structure of the existing table in a migration (keep epoch and protocol initializer in the same format)
[x] Implement a repository instead the store adapter
[x] Upgrade the StakeStore in the signer:
[x] Update structure of the existing table in a migration (do the same migration as already done in the aggregator)
[x] Use this implementation for the stake store in the signer
[x] Implement an deletion of all the records for the epoch before saving a new stake distribution
[x] Upgrade the Pending Certificate in the aggregator:
[x] Update structure of the existing table in a migration
[x] Implement a repository instead the store adapter
[x] Upgrade the VerificationKeyStore in the aggregator (used only for tests):
[x] Migrate pruning of signer registrations in the upkeep service
[x] Move tests to the implementation and remove test_verification_key_storer macro
[x] Remove the store adapter from the persistence crate
[ ] Migrate the existing StakeStore repository to the persistence crate?
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
ProtocolInitializerStore
in the signer:StakeStore
in the signer:Pending Certificate
in the aggregator:VerificationKeyStore
in the aggregator (used only for tests):test_verification_key_storer
macroStakeStore
repository to the persistence crate?