-
Notifications
You must be signed in to change notification settings - Fork 961
Description
Description
We should move to provide a minimal set of core types available in consensus/types. These types should be available without needing to compile the rest of the modules in consensus/types. The core module is already set up to provide this, we just need to remove any incompatible dependencies and implement the appropriate features/feature gates.
Currently there are a few minor blockers to this:
core/chain_spec.rscontains dependencies onfork,data,stateandexecution.core/eth_spec.rsdepends onstate.core/signing_data.rsdepends onfork.test_utils
I think these are all able to be simply resolved by either moving required types into core (such as ExecutionBlockHash which will eliminate the dependency on execution, or moving certain state related functions to beacon_state instead, which might even be a more natural place for them to exist.
I think fork can be reasonably added as a dep onto core as it is minimal (does not contain any other crate deps) and is very intertwined with the spec types which we would want to provide anyway.
test_utils we could conceivably gate behind a testing feature but I haven't given a lot of thought to what the implications for that would be.