-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(aggregator): simplify dependency builder #2288
Conversation
f6f0e06
to
f6ee221
Compare
mithril-aggregator/src/dependency_injection/builder/support/observability.rs
Fixed
Show fixed
Hide fixed
f6ee221
to
2b13644
Compare
Test Results 4 files ±0 56 suites ±0 20m 30s ⏱️ ±0s Results for commit b379808. ± Comparison against base commit 2627f17. This pull request removes 3 and adds 3 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
mithril-aggregator/src/dependency_injection/builder/protocol/mod.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
…o a directory In order to split it afterward.
…uilders Without moving the existing methods yet.
- move `get_epoch_settings_configuration` to the Configuration struct as it have no other dependencies - use directly `Configuration::compute_allowed_signed_entity_types_discriminants` instead of `get_allowed_signed_entity_types_discriminants` as the only thing that the latter do is calling the former.
* mithril-aggregator from `0.7.1` to `0.7.2`
2b13644
to
b379808
Compare
Content
This PR includes a extensive splitting of the aggregator dependency builder, a 2200 lines file, in order to make it more manageable.
Main changes:
dependency/builder.rs
is now a module with several submodules:protocol
: contains the core services that run the Mithril protocol (generation of signables artefacts => aggregations of signatures into a certificates => building of artefacts and generation of proofs).enablers
: contains the services related to sub domain cases that enables the protocol, such as communicating with the node.support
: contains low level services such as stores or cross-cutting concerns such as observability.Additional change:
Pre-submit checklist
Comments
This methods only re-dispatch existing code without reducing the existing
get_
/build_
boilerplate, an attempt to do that will be done in another pull request.Issue(s)
Relates to #2254