-
Notifications
You must be signed in to change notification settings - Fork 804
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
[tracking] Migrate pallets to FRAME umbrella crate #6504
Comments
Can I pick this up @re-gius Thinking this should be a tracking issue as it involves more than one crate but happy to do it! |
Yes, it's going to be a tracking issue. You are more than welcome to start working at some pallets/crates, ideally one or two per PR. |
Are there still some pallets to work on or are you doing all of them? |
please review all open PRs @re-gius, experimental flag removed. |
Part of #6504 ### Added modules - `utility`: Traits not tied to any direct operation in the runtime. polkadot address: 14SRqZTC1d8rfxL8W1tBTnfUBPU23ACFVPzp61FyGf4ftUFg --------- Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 - `utility`: Traits not tied to any direct operation in the runtime. polkadot address: 14SRqZTC1d8rfxL8W1tBTnfUBPU23ACFVPzp61FyGf4ftUFg --------- Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 - `utility`: Traits not tied to any direct operation in the runtime. polkadot address: 14SRqZTC1d8rfxL8W1tBTnfUBPU23ACFVPzp61FyGf4ftUFg --------- Co-authored-by: Giuseppe Re <[email protected]>
Part of #6504 --------- Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 ### Added modules - `utility`: Traits not tied to any direct operation in the runtime. polkadot address: 14SRqZTC1d8rfxL8W1tBTnfUBPU23ACFVPzp61FyGf4ftUFg --------- Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 --------- Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 ### Added modules - `utility`: Traits not tied to any direct operation in the runtime. polkadot address: 14SRqZTC1d8rfxL8W1tBTnfUBPU23ACFVPzp61FyGf4ftUFg --------- Co-authored-by: Giuseppe Re <[email protected]>
Part of paritytech#6504 --------- Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Giuseppe Re <[email protected]>
#6738) Part of #6504 --------- Co-authored-by: command-bot <> Co-authored-by: Bastian Köcher <[email protected]>
@kianenigma @bkchr what is the reasoning for "internal" pallets to have to depend on the "external"-facing umbrella crate, instead of only the subset of internal primitives they actually need? Umbrella crate brings UX/DX value to external projects/crates that themselves depend on many crates within polkadot-sdk, I agree, but I don't see a strong reason for polkadot-sdk internal crates to also depend on it. It is kinda annoying that if I need to compile or test just one pallet, I would need to compile everything under the umbrella. In practice, this only happens once, so it's not a big deal, but I still don't see the benefit to outweigh this annoyance. |
And even a larger issue is that a major bump in any crate under the umbrella, major bumps the umbrella, which leads to major bumping ALL pallets depending on the umbrella. E.g. making some See also #6987 (comment) I now strongly disagree with this issue/initiative. We want to decouple our SDK as much as possible to be able to do better DevX, this issue works against that. |
This issue is specifically about the FRAME umbrella crate, so some of the issues you have raised should not apply.
This is a good point, that is why we don't add everything to the FRAME umbrella crate, but just items that appear in three or more pallets, so that the crate is not affected by niche changes to one or two pallets.
The main goal of the initiative was to migrate some pallets to the FRAME umbrella crate, so that it would become stable and ready to be used for an average pallet. To achieve this goal, we could also restrict ourselves to only migrate a smaller pre-defined list of most important pallets before we can consider the umbrella crate stable and then leave it as it is. |
Migrate all pallets to
polkadot-sdk-frame
by adding types and preludes to it when necessary. As a reference, you can look into #5995.The guidelines of the umbrella crate are as follows:
polkadot-sdk/substrate/frame/src/lib.rs
Lines 134 to 150 in 06a68be
✅ Checklist:
polkadot-sdk-frame
to theCargo.toml
frame_support
,sp_runtime
and similar, and replace with the appropriateprelude::*
deps
Cargo.toml
to remove all unneeded dependencies.👉 If you want to work on this: Please check that there is not already a merge request for the pallet that you want to work on (here or in the comments below). Please pick only one or a small set of pallets - not all at once. This keeps review times low. Add a comment below to announce the pallets you're working on.
Pallet list
pallet-alliance
to umbrella crate #6541pallet-assets-freezer
to umbrella crate #6599pallet-atomic-swap
to umbrella crate #6601pallet-aura
to umbrella crate #6622pallet-authority-discovery
to umbrella crate #6619pallet-authorship
to umbrella crate #6620pallet-babe
&pallet-staking-reward-curve
#6412pallet-im-online
to umbrella crate #6736pallet-indices
to umbrella crate #6737pallet-insecure-randomness-collective-flip
to umbrella crate #6738pallet-lottery
to umbrella crate #6740pallet-proxy
andpallet-multisig
#5995pallet-proxy
andpallet-multisig
#5995pallet-babe
&pallet-staking-reward-curve
#6412pallet-timestamp
to umbrella crate #6523pallet-tips
to umbrella crate #6532pallet-tx-pause
to umbrella crate #6630pallet-verify-signature
to umbrella crate #6515pallet-whitelist
to umbrella crate #6514The text was updated successfully, but these errors were encountered: