-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
feature 🚀New implemented featureNew implemented feature
Description
Why
We need to decentralize the configuration parameters of the Mithril network (protocol parameters and certification parameters - signed entity types and their specific configuration parameters e.g. cardano_transactions_signing_config). In a first phase , we want to implement a full synchronization of the network based on the leader aggregator, and in a second phase have the configuration stored on the Cardano chain.
What
Implement the Phase 1 of the decentralization plan of the configuration parameters for Mithril networks.
How
- Create a new internal
internal/mithril-protocol-configcrate for the Mithril network configuration - Check if we need to publish the crate: not needed
- Add the new trait
MithrilNetworkConfigurationProvider - Implement the Local parameters for the
MithrilNetworkConfigurationProvidertrait - Implement the REST client for the
MithrilNetworkConfigurationProvidertrait - Adapt the signer (including dependency injection)
- Adapt the aggregator (including dependency injection):
- Leader
- Follower
- Integration tests
- Signer
- Leader aggregator
- Follower aggregator
- End to end tests
- Update documentation
Fix for aggregator implementation
To gracefully support the new design, some modifications need to be done:
Refactoring work
- Rename
available_signed_entity_typeswithenabled_signed_entity_types - Add
/protocol-configurationroute in aggregator to expose protocol configurations with epochs - Handle the new route in mithril-relay
- Deprecate the protocol parameters and cardano transaction signing config in
EpochSettingsMessage? - Update OpenAPI specifications
- Make sure that information advertised by this route are synchronized with the
/epoch-settingsroute - Update
get_network_configurationto take an epoch as input - Update the HTTP client implementation to use the new route
- Move handling discrepancies at the end of the dependency builder for the serve command
Metadata
Metadata
Assignees
Labels
feature 🚀New implemented featureNew implemented feature