-
Notifications
You must be signed in to change notification settings - Fork 9
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
Reduce unnecessary dependencies #32
Comments
We should be able to remove the kitchensink dep I think by creating a bare runtime only exposing the runtime apis we want to use. |
Yeah, we need to substitute This ain't trivial. The most viable path I could see is to identify and flag the optional dependencies upstream, and feature gate them all the way up. |
And kitchensink-runtime may not even be the culprit.
|
I think there is a path to just removing the need for these deps entirely, rather than messing with their deps to make them lighter weight. |
You mean to pull the necessary source code into this repo right? I'm worried that this might get out of hand in some way, but maybe not as bad as I think. Let me test it out. |
Not pull it out 1:1, but see what it is being used for, e.g. getting HostFunctions, and write our own minimal HostFunctions exposing only what we need instead of pulling in an entire runtime filled with crates just for the HostFunctions. |
Tried substituting And test code may be alright. It feels like it would become a maintenance burden (need to keep up with the sdk) or even backfire in the long run, going this route for production code. |
A pre-requisite to producing empty blocks for MBMs is fixing inherents for relay and parachains, and moving block production logic from being tied to `fast_forward` to common logic. It will also be very beneficial to allow producing blocks based on a snapshot, without any live node (`--block-ws-uri`). Based on the changes in this PR, I'll add MBM support to the `on-runtime-upgrade` subcommand. - Fixes inherent providers for relay and parachains - Introduces a SMART inherent provider designed to work across different chains, removing the requirement for a cli arg to specify which inherents to use - Moves inherent and block production to a common utils dir - Removes requirement for a remote node to produce empty blocks - Closes #32 (no longer compiles kitchensink runtime) --------- Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
A significant amount of compilation time is spent on stuff like the kitchensink runtime, which clearly is unnecessary for try-runtime-cli.
Would be great if someone could
The text was updated successfully, but these errors were encountered: