1. Jul 13, 2021
  2. Jul 12, 2021
  3. Jul 06, 2021
  4. Jul 05, 2021
  5. Jun 28, 2021
    • Keith Yeung's avatar
      Support NMap in generate_storage_alias (#9147) · fb1bd573
      Keith Yeung authored
      * Support NMap in generate_storage_alias
      
      * Verify that 2-key NMap is identical to DoubleMap
      
      * Also compare key hashes and make sure they're identical
      
      * Fix and add tests for 1-tuple NMap generated by generate_storage_alias
      fb1bd573
  6. Jun 16, 2021
    • Keith Yeung's avatar
      Emit error when construct_runtime imports a non-existent pallet part (#8949) · 58e837fc
      Keith Yeung authored
      
      
      * Emit error when construct_runtime imports a non-existent Call part
      
      * Reword and display pallet name when emitting part not found error
      
      * Migrate decl_outer_dispatch to a proc macro
      
      * Rename calls.rs to call.rs
      
      * Create new construct_runtime_v2 macro
      
      * Add UI test for importing non-existent call part in construct_runtime
      
      * Emit error when construct_runtime imports a non-existent Config part
      
      * Emit error when construct_runtime imports a non-existent Event part
      
      * Migrate decl_outer_inherent to a proc macro
      
      * Emit error when construct_runtime imports a non-existent Inherent part
      
      * Migrate decl_outer_validate_unsigned to a proc macro
      
      * Emit error when construct_runtime imports a non-existent ValidateUnsigned part
      
      * impl for old macro
      
      * fix line width
      
      * add doc
      
      * hide macroes and use unique counter everywhere
      
      * Remove construct_runtime_v2
      
      * Encapsulate pallet part check macros in a module
      
      * Fix macro definitions in dummy part checker
      
      * Tag ProvideInherent impl with #[pallet::inherent] properly for authorship pallet
      
      * Remove Call part from pallets that do not define it
      
      * Add Call part unit tests
      
      * Remove undefined Call part import from offences pallet
      
      * Add tests for expand_outer_inherent
      
      * Remove Call part from pallets that do not define them
      
      * Remove Call part imports from pallets that do not have it defined
      
      * Remove Call part import of the offences pallet from grandpa pallet mocks
      
      * Update frame/support/test/tests/pallet.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Remove Call part imports for pallets that do not define them
      
      * Move inherent tests to inherent_expand
      
      * Add unit tests for expand_outer_validate_unsigned
      
      * Add newline at the end of file
      
      * fix ui test
      
      * Small prayer to RNGsus for fixing CI
      
      * Remove Call part from construct_runtime for randomness collective flip pallet
      
      * Remove Call part import for randomness collective flip pallet
      
      * Summon Laplace's demon instead of praying to RNGsus
      
      * Update test expectations
      
      * fix ui test and make sure it's flaky
      
      * Revert "fix ui test and make sure it's flaky"
      
      This reverts commit 362b6881389c911ef8d9ef85d71c9463f5694b20.
      
      * Comment out test instead of putting it in conditional compilation
      
      * Update UI test expectations
      
      * Update UI test expectations
      
      * Emit error when construct_runtime imports a non-existent Origin part
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarDenis P <[email protected]>
      58e837fc
  7. Jun 15, 2021
  8. Jun 12, 2021
  9. Jun 08, 2021
  10. Jun 03, 2021
  11. May 28, 2021
    • Shawn Tabrizi's avatar
      Simple `MaxBoundedLen` Implementations (#8793) · 444d4e20
      Shawn Tabrizi authored
      
      
      * implement max_values + storages info
      
      * some formatting + doc
      
      * sudo sanity check
      
      * timestamp
      
      * assets (not working)
      
      * fix assets
      
      * impl for proxy
      
      * update balances
      
      * rename StoragesInfo -> PalletStorageInfo
      
      * merge both StorageInfoTrait and PalletStorageInfo
      
      I think it is more future proof. In the future some storage could make
      use of multiple prefix. Like one to store how much value has been
      inserted, etc...
      
      * Update frame/support/procedural/src/storage/parse.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Update frame/support/procedural/src/storage/storage_struct.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Fix max_size using hasher information
      
      hasher now expose `max_len` which allows to computes their maximum len.
      For hasher without concatenation, it is the size of the hash part,
      for hasher with concatenation, it is the size of the hash part + max
      encoded len of the key.
      
      * fix tests
      
      * fix ui tests
      
      * Move `MaxBoundedLen` into its own crate (#8814)
      
      * move MaxEncodedLen into its own crate
      
      * remove MaxEncodedLen impl from frame-support
      
      * add to assets and balances
      
      * try more fixes
      
      * fix compile
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * nits
      
      * fix compile
      
      * line width
      
      * fix max-values-macro merge
      
      * Add some derive, needed for test and other purpose
      
      * use weak bounded vec in some cases
      
      * Update lib.rs
      
      * move max-encoded-len crate
      
      * fix
      
      * remove app crypto for now
      
      * width
      
      * Revert "remove app crypto for now"
      
      This reverts commit 73623e9933d50648e0e7fe90b6171a8e45d7f5a2.
      
      * unused variable
      
      * more unused variables
      
      * more fixes
      
      * Add #[max_encoded_len_crate(...)] helper attribute
      
      The purpose of this attribute is to reduce the surface area of
      max_encoded_len changes. Crates deriving `MaxEncodedLen` do not
      need to add it to `Cargo.toml`; they can instead just do
      
      ```rust
      \#[derive(Encode, MaxEncodedLen)]
      \#[max_encoded_len_crate(frame_support::max_encoded_len)]
      struct Example;
      ```
      
      * fix a ui test
      
      * use #[max_encoded_len_crate(...)] helper in app_crypto
      
      * remove max_encoded_len import where not necessary
      
      * update lockfile
      
      * fix ui test
      
      * ui
      
      * newline
      
      * fix merge
      
      * try fix ui again
      
      * Update max-encoded-len/derive/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * extract generate_crate_access_2018
      
      * Update lib.rs
      
      * compiler isnt smart enough
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      444d4e20
  12. May 27, 2021
  13. May 21, 2021
  14. May 20, 2021
    • Keith Yeung's avatar
      Make hooks and call attributes optional in pallet macro (#8853) · e5954cf8
      Keith Yeung authored
      * Make #[pallet::hooks] optional
      
      * Make #[pallet::call] optional
      
      * Remove unused imports
      
      * Update UI test expectations
      
      * Update UI test expectations
      
      * Remove unnecessary HooksDef::empty method
      
      * Remove unnecessary CallDef::empty method
      
      * Clarify what would happen when no call or hooks are specified in a pallet
      e5954cf8
  15. May 19, 2021
  16. May 17, 2021
  17. 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
  18. 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
  19. 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
  20. May 02, 2021
  21. Apr 19, 2021
  22. Apr 17, 2021
  23. Apr 16, 2021
  24. 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
  25. Apr 12, 2021
  26. Apr 10, 2021
  27. Apr 09, 2021
  28. Apr 08, 2021
  29. Mar 30, 2021
  30. Mar 23, 2021
  31. Mar 16, 2021
  32. Mar 11, 2021
  33. Mar 03, 2021
  34. 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
  35. Feb 26, 2021
  36. Feb 22, 2021
  37. Feb 10, 2021