Skip to content
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 umbrella crate #6504

Open
2 of 9 tasks
re-gius opened this issue Nov 15, 2024 · 7 comments
Open
2 of 9 tasks

[tracking] Migrate pallets to umbrella crate #6504

re-gius opened this issue Nov 15, 2024 · 7 comments
Labels
C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. D0-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder. I4-refactor Code needs refactoring. R0-silent Changes should not be mentioned in any release notes T1-FRAME This PR/Issue is related to core FRAME, the framework.

Comments

@re-gius
Copy link
Contributor

re-gius commented Nov 15, 2024

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:

//! ## Maintenance Note
//!
//! > Notes for the maintainers of this crate, describing how the re-exports and preludes should
//! > work.
//!
//! * Preludes should be extensive. The goal of this pallet is to be ONLY used with the preludes.
//! The domain-specific modules are just a backup, aiming to keep things organized. Don't hesitate
//! in adding more items to the main prelude.
//! * The only non-module, non-prelude items exported from the top level crate is the `pallet`
//! macro, such that we can have the `#[frame::pallet] mod pallet { .. }` syntax working.
//! * In most cases, you might want to create a domain-specific module, but also add it to the
//! preludes, such as `hashing`.
//! * The only items that should NOT be in preludes are those that have been placed in
//! `frame-support`/`sp-runtime`, but in truth are related to just one pallet.
//! * The currency related traits are kept out of the preludes to encourage a deliberate choice of
//! one over the other.
//! * `runtime::apis` should expose all common runtime APIs that all FRAME-based runtimes need.

✅ Checklist:

  • Add polkadot-sdk-frame to the Cargo.toml
  • Remove all imports from frame_support, sp_runtime and similar, and replace with the appropriate prelude::*
  • For items that are now not in scope, use the above guideline to decide if you should add them to prelude, or reside to using deps
  • Update 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.

Completed:

In progress:

To do:

  • all the other pallets.
@re-gius re-gius added R0-silent Changes should not be mentioned in any release notes I4-refactor Code needs refactoring. T1-FRAME This PR/Issue is related to core FRAME, the framework. D0-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder. C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. labels Nov 15, 2024
@bennethxyz
Copy link

bennethxyz commented Nov 15, 2024

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!

@re-gius
Copy link
Contributor Author

re-gius commented Nov 15, 2024

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.

@Krayt78
Copy link
Contributor

Krayt78 commented Nov 27, 2024

Are there still some pallets to work on or are you doing all of them?

@sylvaincormier
Copy link

sylvaincormier commented Nov 28, 2024

I am not fast enough, will try another issue.

@kianenigma
Copy link
Contributor

bennethxyz runcomet can you please read the new checklist that I put above, and make sure it is clear? Feel to ask more questions from me and @re-gius. Once clear, please update the PRs (most of them are not 100% correct).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C2-good-first-issue A task for a first time contributor to become familiar with the Polkadot-SDK. D0-easy Can be fixed primarily by duplicating and adapting code by an intermediate coder. I4-refactor Code needs refactoring. R0-silent Changes should not be mentioned in any release notes T1-FRAME This PR/Issue is related to core FRAME, the framework.
Projects
None yet
Development

No branches or pull requests

6 participants