1. May 14, 2021
    • Keith Yeung's avatar
      Implement StorageNMap (#8635) · 033d8289
      Keith Yeung authored
      
      
      * Implement StorageNMap
      
      * Change copyright date to 2021
      
      * Rewrite keys to use impl_for_tuples instead of recursion
      
      * Implement prefix iteration on StorageNMap
      
      * Implement EncodeLike for key arguments
      
      * Rename KeyGenerator::Arg to KeyGenerator::KArg
      
      * Support StorageNMap in decl_storage and #[pallet::storage] macros
      
      * Use StorageNMap in assets pallet
      
      * Support migrate_keys in StorageNMap
      
      * Reduce line characters on select files
      
      * Refactor crate imports in decl_storage macros
      
      * Some more line char reductions and doc comment update
      
      * Update UI test expectations
      
      * Revert whitespace changes to untouched files
      
      * Generate Key struct instead of a 1-tuple when only 1 pair of key and hasher is provided
      
      * Revert formatting changes to unrelated files
      
      * Introduce KeyGeneratorInner
      
      * Add tests for StorageNMap in FRAMEv2 pallet macro
      
      * Small fixes to unit tests for StorageNMap
      
      * Bump runtime metadata version
      
      * Remove unused import
      
      * Update tests to use runtime metadata v13
      
      * Introduce and use EncodeLikeTuple as a trait bound for KArg
      
      * Add some rustdocs
      
      * Revert usage of StorageNMap in assets pallet
      
      * Make use of ext::PunctuatedTrailing
      
      * Add rustdoc for final_hash
      
      * Fix StorageNMap proc macro expansions for single key cases
      
      * Create associated const in KeyGenerator for hasher metadata
      
      * Refactor code according to comments from Basti
      
      * Add module docs for generator/nmap.rs
      
      * Re-export storage::Key as NMapKey in pallet prelude
      
      * Seal the EncodeLikeTuple trait
      
      * Extract sealing code out of key.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      033d8289
  2. May 07, 2021
    • Peter Goodspeed-Niklaus's avatar
      Relax `BoundedVec` trait restrictions (#8749) · b6897901
      Peter Goodspeed-Niklaus authored
      * requiring users to maintain an unchecked invariant is unsafe
      
      * relax trait restrictions on BoundedVec<T, S>
      
      A normal `Vec<T>` can do many things without any particular trait
      bounds on `T`. This commit relaxes the bounds on `BoundedVec<T, S>`
      to give it similar capabilities.
      b6897901
  3. May 03, 2021
    • Bastian Köcher's avatar
      Rework inherent data client side (#8526) · 2675741a
      Bastian Köcher authored
      
      
      * Lol
      
      * Yeah
      
      * Moare
      
      * adaasda
      
      * Convert AURA to new pallet macro
      
      * AURA: Switch to `CurrentSlot` instead of `LastTimestamp`
      
      This switches AURA to use `CurrentSlot` instead of `LastTimestamp`.
      
      * Add missing file
      
      * Update frame/aura/src/migrations.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Remove the runtime side provide inherent code
      
      * Use correct weight
      
      * Add TODO
      
      * Remove the Inherent from AURA
      
      * 🤦
      
      
      
      * Remove unused stuff
      
      * Update primitives authorship
      
      * Fix babe inherent data provider
      
      * Fix consensus-uncles
      
      * Fix BABE
      
      * Do some further changes to authorship primitives... :D
      
      * More work
      
      * Make it compile the happy path
      
      * Make it async!
      
      * Take hash
      
      * More stuff
      
      * Hacks
      
      * Revert "Hacks"
      
      This reverts commit cfffad88668cfdebf632a59c4fbfada001ef8251.
      
      * Fix
      
      * Make `execute_block` return the final block header
      
      * Move Aura digest stuff
      
      * Make it possible to disable equivocation checking
      
      * Fix fix fix
      
      * Some refactorings
      
      * Comment
      
      * Fixes fixes fixes
      
      * More cleanups
      
      * Some love
      
      * Better love
      
      * Make slot duration being exposed as `Duration` to the outside
      
      * Some slot info love
      
      * Add `build_aura_worker` utility function
      
      * Copy copy copy
      
      * Some stuff
      
      * Start fixing pow
      
      * Fix pow
      
      * Remove some bounds
      
      * More work
      
      * Make grandpa work
      
      * Make slots use `async_trait`
      
      * Introduce `SharedData`
      
      * Add test and fix bugs
      
      * Switch to `SharedData`
      
      * Make grandpa tests working
      
      * More Babe work
      
      * Make grandpa work
      
      * Introduce `SharedData`
      
      * Add test and fix bugs
      
      * Switch to `SharedData`
      
      * Make grandpa tests working
      
      * More Babe work
      
      * Make it async
      
      * Fix fix
      
      * Use `async_trait` in sc-consensus-slots
      
      This makes the code a little bit easier to read and also expresses that
      there can always only be one call at a time to `on_slot`.
      
      * Make grandpa tests compile
      
      * More Babe tests work
      
      * Fix network test
      
      * Start fixing service test
      
      * Finish service-test
      
      * Fix sc-consensus-aura
      
      * Fix fix fix
      
      * More fixes
      
      * Make everything compile *yeah*
      
      * Make manual-seal compile
      
      * More fixes
      
      * Start fixing Aura
      
      * Fix Aura tests
      
      * Fix Babe tests
      
      * Make everything compile
      
      * Move code around and switch to async_trait
      
      * Fix Babe
      
      * Docs docs docs
      
      * Move to FRAME
      
      * Fix fix fix
      
      * Make everything compile
      
      * Last cleanups
      
      * Fix integration test
      
      * Change slot usage of the timestamp
      
      * We really need to switch to `impl-trait-for-tuples`
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Some extra logging
      
      * Remove dbg!
      
      * Update primitives/consensus/common/src/import_queue/basic_queue.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      2675741a
  4. May 02, 2021
  5. Apr 19, 2021
  6. Apr 17, 2021
  7. Apr 16, 2021
  8. Apr 13, 2021
    • thiolliere's avatar
      Ensure inherent are first (#8173) · a4ed9bb9
      thiolliere authored
      
      
      * impl
      
      * fix tests
      
      * impl in execute_block
      
      * fix tests
      
      * add a test in frame-executive
      
      * fix some panic warning
      
      * use trait to get call from extrinsic
      
      * remove unused
      
      * fix test
      
      * fix testing
      
      * fix tests
      
      * return index of extrinsic on error
      
      * fix test
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * address comments
      
      rename trait, and refactor
      
      * refactor + doc improvment
      
      * fix tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      a4ed9bb9
  9. Apr 12, 2021
  10. Apr 10, 2021
  11. Apr 09, 2021
  12. Apr 08, 2021
  13. Mar 30, 2021
  14. Mar 23, 2021
  15. Mar 16, 2021
  16. Mar 11, 2021
  17. Mar 03, 2021
  18. Mar 01, 2021
    • Bastian Köcher's avatar
      Init `RuntimeLogger` automatically for each runtime api call (#8128) · 68390d40
      Bastian Köcher authored
      
      
      * Init `RuntimeLogger` automatically for each runtime api call
      
      This pr change the runtime api in such a way to always and automatically
      enable the `RuntimeLogger`. This enables the user to use `log` or
      `tracing` from inside the runtime to create log messages. As logging
      introduces some extra code and especially increases the size of the wasm
      blob. It is advised to disable all logging completely with
      `sp-api/disable-logging` when doing the wasm builds for the on-chain
      wasm runtime.
      
      Besides these changes, the pr also brings most of the logging found in
      frame to the same format "runtime::*".
      
      * Update frame/im-online/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update test-utils/runtime/Cargo.toml
      
      * Fix test
      
      * Don't use tracing in the runtime, as we don't support it :D
      
      * Fixes
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      68390d40
  19. Feb 26, 2021
  20. Feb 22, 2021
  21. Feb 10, 2021
  22. Feb 09, 2021
  23. Feb 04, 2021
  24. Jan 25, 2021
  25. Jan 07, 2021
    • Shawn Tabrizi's avatar
      Better Handle Dead Accounts in Balances (#7843) · 93ecff9b
      Shawn Tabrizi authored
      
      
      * Don't mutate storage when account is dead and should stay dead
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * more concrete storage noop
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      93ecff9b
  26. Jan 06, 2021
  27. Jan 05, 2021
    • thiolliere's avatar
      Improve error message on where clause on pallet error (#7821) · ccce3405
      thiolliere authored
      * improve error message on where clause on pallet error
      
      * Revert "improve error message on where clause on pallet error"
      
      This reverts commit 5a3cc38976813fccef3357833553ce30f5b988ea.
      
      * Revert "Revert "improve error message on where clause on pallet error""
      
      This reverts commit e3b3fca6bc4fa89816f80dbcb82dc4536a9b2549.
      ccce3405
  28. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  29. Dec 24, 2020
    • thiolliere's avatar
      Add `pallet` attribute macro to declare pallets (#6877) · 6dfad092
      thiolliere authored
      
      
      * rename system Config to system Trait.
      
      command used:
      ```
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/system::Trait>::/system::Config>::/g' {} \;
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl frame_system::Trait for /impl frame_system::Config for /g' {} \;
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl system::Trait for /impl system::Config for /g' {} \;
      ```
      plus some manual ones especially for frame-support tests and frame-system
      
      * make construct_runtime handle Pallet and Module
      
      pallets can now be implemented on struct named Pallet or Module, both
      definition are valid.
      This is because next macro will generate only Pallet placeholder.
      
      * introduce pallet attribute macro
      
      currently just with tests, frame_system and other example hasn't been
      upgraded
      
      * allow to print some upgrade helper from decl_storage
      
      * Improved error msg, typo.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Improved error msg, typo.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Improved error message on unexpected attributes + ui test
      
      * add test for transactional
      
      * various typo
      
      * some tips when spans are lost
      
      * allow pallet to depend on other pallet instances
      
      * make event type metadata consistent with call and constant
      
      * error messages
      
      * ignore doc example
      
      * fix pallet upgrade template
      
      * fixup
      
      * fix doc
      
      * fix indentation
      
      * Apply suggestions code formatting
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * some renames + fix compilation
      
      * remove unsupported genesis config type alias
      
      * merge fixup
      
      * fix ui tests
      
      * additional doc
      
      * implement StorageInstance with new syntax
      
      * fix line width
      
      * fix doc: because pallet doc goes below reexport doc
      
      * Update frame/support/procedural/src/pallet/parse/event.rs
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/support/test/tests/pallet_ui.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * improve doc as suggested
      
      * revert construct_runtime Pallet part.
      
      This revert the changes on construct_runtime. Now construct_runtime is
      unchanged and instead pallet macro create a type alias
      `type Module<..> = Pallet<..>` to be used by construct_runtime
      
      * refactor with less intricated code
      
      * fix ui test with new image
      
      * fix ui tests
      
      * add minor tests
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      6dfad092
  30. Nov 30, 2020
  31. Nov 25, 2020
  32. Nov 20, 2020
  33. Oct 29, 2020
    • Bastian Köcher's avatar
      Make sure pallet versions are set at genesis (#7451) · e1b56f8d
      Bastian Köcher authored
      
      
      * Make sure pallet versions are set at genesis
      
      This pr ensures that pallet versions are also set at genesis. It does
      this by hooking into the runtime `GenesisConfig` which means that it
      will only work when the storage is setup using this genesis config. So,
      the version will not be set in pallet local tests. However, I think this
      isn't such a problem. The genesis config will call `on_genesis` on all
      pallets. This function comes from the new trait `OnGenesis`. Currently
      the user is not able to provide any custom implementation of this trait.
      
      Besides that it also implements `Clone` and `Copy` for the pallet
      version struct.
      
      This pr also moves the macro for generating the runtime genesis config
      to `frame-support` as most of the other FRAME related macros.
      
      * Reduce line width
      
      * Update frame/support/src/traits.rs
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      e1b56f8d
    • Qinxuan Chen's avatar
      Replace bitmask with bitflags (#7159) · bd450c24
      Qinxuan Chen authored
      
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      bd450c24
  34. Oct 21, 2020
  35. Oct 19, 2020