Split the VC into crates making it more modular#6453
Split the VC into crates making it more modular#6453mergify[bot] merged 30 commits intosigp:unstablefrom
Conversation
|
I modified the general config, to include some sub-configs (It was required in order to split up dependencies and avoid circular ones). The only thing I can really foresee potentially breaking is serializing and de-serializing the validator config. I'm flattening the new inner configs, so I think it should behave the same, but I've not tested it. |
|
I reverted the |
michaelsproul
left a comment
There was a problem hiding this comment.
Reviewed half, will come back for the rest tomorrow
michaelsproul
left a comment
There was a problem hiding this comment.
Looks good on the whole. This was less daunting than I expected.
I'll push some small tweaks and then we can merge.
|
@mergify queue |
✅ The pull request has been merged automaticallyDetailsThe pull request has been merged automatically at 8e95024 |
* Starting to modularize the VC * Revert changes to eth2 * More progress * More progress * Compiles * Merge latest unstable and make it compile * Fix some lints * Tests compile * Merge latest unstable * Remove unnecessary deps * Merge latest unstable * Correct release tests * Merge latest unstable * Merge remote-tracking branch 'origin/unstable' into modularize-vc * Merge branch 'unstable' into modularize-vc * Revert unnecessary cargo lock changes * Update validator_client/beacon_node_fallback/Cargo.toml * Update validator_client/http_metrics/Cargo.toml * Update validator_client/http_metrics/src/lib.rs * Update validator_client/initialized_validators/Cargo.toml * Update validator_client/signing_method/Cargo.toml * Update validator_client/validator_metrics/Cargo.toml * Update validator_client/validator_services/Cargo.toml * Update validator_client/validator_store/Cargo.toml * Update validator_client/validator_store/src/lib.rs * Merge remote-tracking branch 'origin/unstable' into modularize-vc * Fix format string * Rename doppelganger trait * Don't drop the tempdir * Cargo fmt
Modularize the VC
The VC currently is built mostly as a single module. It self-references itself making it hard to modularize its components.
This PR splits the VC into multiple sub-crates that can be imported independently making it useful to external projects, but also making the type dependencies cleaner and the code more logically grouped.