Skip to content
  1. Jun 04, 2023
  2. Jun 02, 2023
  3. Jun 01, 2023
  4. May 31, 2023
  5. May 30, 2023
    • Michal Kucharczyk's avatar
      app_crypto: macro improvements (#14263) · e7e13116
      Michal Kucharczyk authored
      * app_crypto: macro improvements
      
      During `app_crypto`  macro expansion the `cfg` feature gate was injected
        into the macro client crate. This resulted in compilation error if
      `serde` or `std` was not defined in client crate. This PR fixes this
      problem.
      
      For reference, the error was:
      
      ```
        error: cannot find macro `format` in this scope
          --> /home/miszka/parity/10-genesis-config/substrate-2/primitives/consensus/aura/src/lib.rs:32:3
           |
        32 |         app_crypto!(sr25519, AURA);
           |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
           |
      ...
      
        error[E0433]: failed to resolve: use of undeclared type `String`
          -->
      /home/miszka/parity/10-genesis-config/substrate-2/primitives/consensus/aura/src/lib.rs:32:3
           |
        32 |         app_crypto!(sr25519, AURA);
           |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `String`
      ```
      
      * app_crypto: cleanup
      e7e13116
    • Kian Paimani's avatar
      Default Pallet Config Trait / derive_impl (#13454) · 263a5d6c
      Kian Paimani authored
      
      
      * first draft, probably won't work
      
      * first draft, probably won't work
      
      * good progress..
      
      * good milestone, still a lot to do.
      
      * EVERYTHING WORKS
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * clean up + cargo fmt
      
      * import tokens WIP
      
      * export_tokens working with impl Trait
      
      * WIP / notes
      
      * use macro_magic 0.2.0's export_tokens to access foreign items
      
      * token importing working properly using macro_magic 0.2.5
      
      * combine_impls almost working
      
      * successfully get foreign path via macro_magic 0.2.6
      
      * combine_impls using implementing_type generics
      
      * working + clean up
      
      * more clean up
      
      * decrease rightwards drift and add docs to combine_impls
      
      * add support for macros to impl_item_ident in case we hit that
      
      * add docs for impl_item_ident method
      
      * fix no_std issues
      
      * re-export of macro_magic working in pallets 🎉
      
      * clean up + fully resolve no_std issue with macro_magic with v0.2.11
      
      * remove trait item code for different trait item types since this
      is now handled directly by combine_impls
      
      * clean up
      
      * remove dev comments
      
      * only generate default trait if #[pallet::default_trait] is attached
      
      * authorship and most other pallets now compiling
      
      * compiling 🎉
      
      * add check for more than two pallet attributes on Config trait
      
      * remove unused import in nomination-pool
      
      * clean up debug code
      
      * upgrade to macro_magic v0.2.12
      
      * add neater #[register_default_config(SomeIdent)] macro
      
      * really just a thin wrapper around #[export_tokens]
      
      * upgrade to macro_magic 0.3.1
      
      * rewrite parsing to be compatible with syn 2.x, compiling 🎉
      
      
      
      * remove unused keywords
      
      * macro stubs for the new pallet:: macros, preliminary docs
      
      * upgrade to macro_magic v0.3.2
      
      * rename register_default_config => register_default_impl
      
      * bump to macro_magic v0.3.3
      
      * custom disambiguation_path working as 2nd arg to derive_impl
      
      * overhaul docs
      
      * fixes, ident-style paths shortcut working
      
      * remove ident-style shortcut because it makes testing difficult
      
      * add passing UI tests for derive_impl
      
      * switch to `ForeignPath as DisambiguationPath` syntax + update docs
      
      * add UI test for bad foreign path
      
      * add UI test for bad disambiguation path
      
      * add UI test for missing disambiguation path
      
      * add UI test for attached to non impl
      
      * fix derive_impl_attr_args_parsing test
      
      * move tests to bottom
      
      * fix nightly issue
      
      * add doc notes on importing/re-exporting
      
      * remove explicit use of macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * use explicit macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded {}
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded collect
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * add docs for TestDefaultConfig
      
      * remove unneeded `#[export_tokens]` on `DefaultConfig`
      
      * add docs for auto-generated `DefaultConfig`
      
      * no need to clone
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * clean up combine_impls + compiling again
      
      * remove unused dependency
      
      * simplify struct definition
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fix register_default_impl docs
      
      * reduce rightward drift / refactor
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix derive_impl after keith's changes
      
      * simplify disambiguation_path calculation
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * compiling again
      
      * simplify parsing of trait item
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * rename preludes => prelude
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix other places where we used preludes instead of prelude
      
      * fix indents
      
      * simplify PalletAttr parsing
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * go back to having no_default and constant as keywords
      
      * make it more clear that disambiguation_path is optional
      
      * make default_trait_items just a Vec instead of Option<Vec>
      
      * rename foreign_path => default_impl_path within substrate
      
      * fix docs
      
      * Change {} to ;
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * highlight full end-to-end example with link
      
      * add pallet-default-config-example, start by copying dev mode code
      
      * update dev-mode specific docs
      
      * use Person and Points instead of Dummy and Bar
      
      * add docs to example pallet
      
      * revert changes to pallets other than the default config example
      
      * fix outdated references to basic example pallet
      
      * re-order docs to be a bit more clear
      
      * better errors for extra attributes
      
      * add UI tests for duplicate/extra attributes on trait items
      
      * change `#[pallet::default_config]` to option on `#[pallet::config()]`
      
      * update UI tests
      * add UI test covering missing `#[pallet::config(with_default)]` when
        `#[pallet::no_default]` is used
      
      * add note about new optional conventions
      
      * improve docs about `DefaultConfig` and link to these from a few places
      
      * fix doc comment
      
      * fix old comment referencing `pallet::default_config`
      
      * use u32 instead of u64 for block number
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use () instead of u32 for `AccountData`
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use ConstU32<10> for BlockHashCount instead of ConstU64<10>
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * people are not dummies
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      
      * fix wording
      
      Co-authored-by: default avatarJust van Stam <[email protected]>
      
      * Person => People and compiling again
      
      * add docs for `prelude` module in frame_system
      
      * update Cargo.lock
      
      * cleaner example
      
      * tweaks
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * fix ui tests
      
      * err
      
      * Update frame/support/test/tests/pallet_ui.rs
      
      * update ui tests
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJust van Stam <[email protected]>
      263a5d6c
  6. May 29, 2023