-
Notifications
You must be signed in to change notification settings - Fork 741
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
Use frame umbrella crate in pallet-babe
& pallet-staking-reward-curve
#6412
base: master
Are you sure you want to change the base?
Use frame umbrella crate in pallet-babe
& pallet-staking-reward-curve
#6412
Conversation
pallet-babe
pallet-babe
& staking/reward-curve
pallet-babe
& staking/reward-curve
pallet-babe
& pallet-staking-reward-curve
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.
Some small changes needed, but looks good so far.
@re-gius can you also review this please?
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.
Fix CI errors for approval (e.g., https://github.com/paritytech/polkadot-sdk/actions/runs/12035270577/job/33553951397?pr=6412 )
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.
Good!
substrate/frame/src/lib.rs
Outdated
#[doc(no_inline)] | ||
pub use sp_runtime::{DispatchErrorWithPostInfo, DispatchResultWithInfo, TokenError}; | ||
pub use sp_runtime::{ | ||
curve::PiecewiseLinear, BoundToRuntimeAppPublic, ConsensusEngineId, |
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.
To be a bit picky on the decision of what goes into the prelude and what doesn't, I suggest we ack that types that are used in pallet-babe
only should not be in prelude. So I would remove ConsensusEngineId
and DigestItem
.
Rule of thumb: Whatever is used in at least 2+ pallets can be in prelude. Whatever not should use deps
.
cc @re-gius
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 after resolving existing open comemnts.
Description
Modifying pallet-babe and pallet-staking-reward-curve to use umbrella crate whilst adding a few types and preludes I deemed necessary for other pallets to potentially use as well.
These modifications are inspired by #5995
Review Notes
Some notable changes to umbrella crate preludes:
Exporting arithmetic prelude since this is used a lot throughout various pallets.
Exporting a few crypto primitives in the
hashing
prelude.Maybe we should rename
hashing
tocryptography
, something more general to encompass hashing and cryptographic methods such as VRFs.Updated pallet-staking-reward-curve proc-macro to use umbrella crate since it was being used in pallet-babe. The change is reverse compatible as to not force all other pallets using this to update to the frame umbrella crate.
Removed std feature enabled dev-dependency pallets from pallet-babe
Polkadot address: 15Ug5Xtwf8wpD5PCKZcetXMh8NadVm3hHWBn8NQan3cqD