Skip to content
  1. Apr 04, 2023
    • Keith Yeung's avatar
      Implement #[pallet::composite_enum] (#13722) · 1a55f961
      Keith Yeung authored
      * Implement #[pallet::hold_reason]
      
      * Appease clippy
      
      * cargo fmt
      
      * Update test expectations
      
      * Update test expectations
      
      * Support composite_enum attribute instead
      
      * Update test expectations
      
      * Change hold_reason to composite_enum
      
      * Add UI test for unsupported identifier when using composite_enum
      
      * Fix comment
      
      * Add documentation for pallet::composable_enum
      
      * More docs
      
      * cargo fmt
      1a55f961
  2. Mar 15, 2023
  3. Feb 27, 2023
    • Bastian Köcher's avatar
      `pallet-treasury`: Ensure we respect `max_amount` for spend across batch calls (#13468) · 6aa4127a
      Bastian Köcher authored
      * `pallet-treasury`: Ensure we respect `max_amount` for spend across batch calls
      
      When calling `spend` the origin defines the `max_amount` of tokens it is allowed to spend. The
      problem is that someone can send a `batch(spend, spend)` to circumvent this restriction as we don't
      check across different calls that the `max_amount` is respected. This pull request fixes this
      behavior by introducing a so-called dispatch context. This dispatch context is created once per
      outer most `dispatch` call. For more information see the docs in this pr. The treasury then uses
      this dispatch context to attach information about already spent funds per `max_amount` (we assume
      that each origin has a different `max_amount` configured). So, a `batch(spend, spend)` is now
      checked to stay inside the allowed spending bounds.
      
      Fixes: https://github.com/paritytech/substrate/issues/13167
      
      * Import `Box` for wasm
      
      * FMT
      6aa4127a
  4. Feb 21, 2023
    • Vivek Pandya's avatar
      Remove years from copyright notes. (#13415) · bc53b9a0
      Vivek Pandya authored
      * Change copyright year to 2023 from 2022
      
      * Fix incorrect update of copyright year
      
      * Remove years from copy right header
      
      * Fix remaining files
      
      * Fix typo in a header and remove update-copyright.sh
      bc53b9a0
  5. Jan 27, 2023
  6. Jan 23, 2023
    • Sam Johnson's avatar
      new proc-macro-based benchmarking syntax (#12924) · 42e5c27c
      Sam Johnson authored
      * add stub for new benchmark macro
      
      * benchmark syntax
      
      * add #[extrinsic call] separator
      
      * parse #[benchmark] item as a function
      
      * proper emission of error when #[extrinsic_call] annotation is missing
      
      * clean up
      
      * enclosing module via benchmarks! { } working
      
      * use an attribute macro on the module instead of benchmarks! { }
      
      * cargo fmt
      
      * working component implementation
      
      * WIP
      
      * working
      
      * add syntax for Linear<A, B>
      
      * parsing of param ranges (still need to build tuple though)
      
      * params parsing WIP
      
      * clean up (don't need extrinsic call name)
      
      * use proper Result syntax for BenchmarkDef parsing
      
      * proper parsing of Linear<0, 1> style args
      
      * successfully parse and make use of linear component ranges 💥
      
      * rename support variable => home because eventually will be moved
      
      * compile-time check that param range types implement ParamRange
      
      * switch to using balances as example, failing on instance pallet
      
      * successfully set up __origin and __call with balances 💥
      
      * clean up
      
      * use a module
      
      * don't need a variable for transfer
      
      * rename benchmark_transfer -> transfer because no longer conflicts
      
      * clean up
      
      * working with transfer_increasing_users as well 💥
      
      * re-add BareBlock
      
      * add comments for undocumented structs+functions+traits
      
      * refactor in preparation for removing module requirements
      
      * switch to a block instead of a module
      
      * use the outer macro pattern to to enable #[benchmarks] aggregation
      
      * successfully generate SelectedBenchmark 💥
      
      * implement components for SelectedBenchmark
      
      * implement instance for SelectedBenchmark
      
      * properly track #[extra]
      
      * working impl for fn benchmarks()
      
      * run_benchmarks WIP
      
      * finish run_benchmark! impl 💥
      
      * import balances transfer_best_case benchmark
      
      * import transfer_keep_alive balances pallet benchmark
      
      * import set_balance_creating balances pallet benchmark
      
      * import set_balance_killing balances pallet benchmark
      
      * import force_transfer balances pallet benchmark
      
      * add #[extra] annotation and docs to transfer_increasing_users
      
      * import transfer_all balances pallet benchmark
      
      * import force_unreserve balances pallet benchmark
      
      * prepare to implement impl_benchmark_test_suite!
      
      * ensure tests cover #[extra] before and after #[benchmark] tag
      
      * refactor
      
      * clean up
      
      * fix
      
      * move to outer
      
      * switch to benchmarks/instance_benchmarks
      
      * test impl almost done, strange compiler error
      
      * benchmark test suites working 💥
      
      * clean up
      
      * add stub and basic parsing for where_clause
      
      * working except where clause and extrinsic calls containing method chains
      
      * assume option (2) for now wrt https://github.com/paritytech/substrate/pull/12924#issuecomment-1372938718
      
      * clean up
      
      * switch to attribute-style
      
      * properly handle where clauses
      
      * fix subtle missing where clause, now just MessageQueue issues
      
      * fix block formatting in message-queue pallet
      
      * switch to block vs non-block parsing of extrinsic call
      
      * working now but some benchmark tests failing
      
      * message-queue tests working (run order issue fixed) 🎉
      
      
      
      * add comments and internal docs for fame_support_procedural::benchmark
      
      * fix license years
      
      * docs for lib.rs
      
      * add docs to new support procedural macros
      
      * don't allow #[benchmark] outside of benchmarking module
      
      * add docs
      
      * use benchmark(extra, skip_meta) style args
      
      * update docs accordingly
      
      * appease clippy
      
      * bump ci
      
      * add notes about `extra` and `skip_meta`
      
      * fix doc tests
      
      * re-run CI
      
      * use `ignore` instead of `no_run` on doc examples
      
      * bump CI
      
      * replace some if-lets with if-elses
      
      * more refactoring of if-let statements
      
      * fix remaining if-lets in BenchmarkDef::from()
      
      * fix if-lets in benchmarks()
      
      * fix remaining if-lets, use nested find_map for extrinsic call
      
      * switch to use #[extrinsic_call] or #[block] situationally
      
      * refactor ExtrinsicCallDef => BenchmarkCallDef
      
      * update docs with info about #[block]
      
      * add macro stub for #[extrinsic_call]
      
      * fix docs and add stub for #[block] as well
      
      * remove unused extern crate line
      
      * fix clippy nits
      
      * Use V2 bench syntax in pallet-example-basic
      
      Just testing the dev-ex...
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * carry over comment
      
      * use curly-brace style for impl_benchmark_test_suite!
      
      * remove unneeded parenthesis
      
      * proper handling of _() extrinsic call style
      
      * add docs for _() syntax
      
      * fix crate access
      
      * simplify keyword access
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * simplify module content destructuring
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix crate access "frame_benchmarking" => "frame-benchmarking", compiles
      
      * use _() extrinsic call syntax where possible in balances
      
      * simplify attr.path.segments.last()
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix compile error being suppressed
      
      * simplify extrinsic call keyword parsing
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * use ? operator instead of return None
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * rename generics => type_use_generics
      rename full_generics => type_impl_generics
      
      * simplify extrinsic call extraction with transpose
      
      * bump CI
      
      * nit
      
      * proper handling of too many + too few block/extrinsic call annotations
      
      * change to B >= A
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * remove unneeded ignore
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * remove another ignore
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * add ui tests
      
      * use _() style extrinsic call on accumulate_dummy
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * add range check to ParamRange
      
      * ui test for bad param ranges
      
      * fix failing example
      
      * add ignore back to other failing example
      
      * tweak expr_call span
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix typo
      
      * eliminate a match
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * change pub fn benchmarks to return Result<TokenStream>
      
      * fix origin error span
      
      * more informative error for invalid benchmark parameter name
      
      * fix spans on a few benchmark errors
      
      * remove unneeded clone
      
      * refactor inner loop of benchmark function parsing
      
      * preserve mod attributes
      
      * refactor outer loop of benchmark def parsing code, greatly simplified
      
      * simplify to use a ? operator when parsing benchmark attr path
      
      * fix another ? operator
      
      * further simplify benchmark function attr parsing with more ? ops
      
      * refactor extrinsic call handling to use if let rather than match
      
      * replace is_ok => is_err
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * re-use name during expansion of benchmark def
      
      * remove unneeded clone
      
      * fix span for origin missing error
      
      * fix missing semi
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: parity-processbot <>
      42e5c27c
  7. Jan 11, 2023
    • Bastian Köcher's avatar
      `IntegrityTest` implementation should be feature gated (#13094) · 1b01bf8d
      Bastian Köcher authored
      * `IntegrityTest` implementation should be feature gated
      
      The initial implementation for the old declarative macros is still feature gating the
      implementation. As we only call this in a test, there is no need to have this compiled for wasm.
      
      * Don't assume that all "consumers" have a `std` feature
      1b01bf8d
  8. Nov 25, 2022
  9. Nov 07, 2022
    • Sam Johnson's avatar
      Add pallet dev mode (#12536) · 7c4bfc97
      Sam Johnson authored
      
      
      * stub for construct_dev_runtime!
      
      * revert
      
      * stub for dev_mode proc macro
      
      * preliminary docs for pallet::dev_mode (attribute) proc macro
      
      * add dev_mode to pallet_macros module
      
      * add docs item for dev_mode to frame_support
      
      * parsing of #[pallet(dev_mode)]
      
      * strip out dev_mode stub since it will be an arg for pallet instead
      
      * make pallet Def struct aware of dev mode
      
      * WIP
      
      * revert changes to call.rs
      
      * pass dev_mode to pallet parsing code
      
      * auto-specify default weights when in dev mode if not specified
      
      * add proof / expect for syn::parse in dev mode weight processing
      
      * set all storages to unbounded when in dev mode
      
      * just use 0
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * add invalid pallet arg test
      
      * add passing dev mode pallet test
      
      * add test confirming that dev mode features only work in dev mode
      
      * cargo fmt + clean up
      
      * bump CI
      
      * fix pallet ui test
      
      * add docs for dev mode
      
      * add warning about using dev mode in production circumstances
      
      * remove comment about no other attributes being supported
      
      * fix unneeded assignment
      
      * make warning more explicit
      
      * more explicit warning about using dev mode in production
      
      * simpler assignment for dev_mode boolean
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * add note about MEL requirement
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * add comment specifying why weights can be omitted in example
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * tweak wording of comments
      
      * bump ci
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      7c4bfc97
  10. Oct 06, 2022
    • Sam Johnson's avatar
      macro stubs for all pallet:: macros to improve documentation visibility and... · af58e8e8
      Sam Johnson authored
      
      macro stubs for all pallet:: macros to improve documentation visibility and discovery + revamp of pallet macro documentation (#12334)
      
      * proof of concept working for pallet::whitelist_storage
      
      * fix comments
      
      * pallet macros docs rewrite WIP
      
      * fix issue with cargo fmt cobbling links
      
      * tweak capitalization
      
      * fix docs for storage_version
      
      * fix docs for pallet::hooks
      
      * fix several comments
      
      * fix invalid link
      
      * fix wrapping and add missing links for pallet::hooks docs
      
      * run rewrap on all text blocks in frame_support::pallet docs
      
      * cargo fmt
      
      * fix up pallet::call_index docs
      
      * fix docs for pallet::extra_constants
      
      * fix docs for pallet::error
      
      * fix docs for pallet::event
      
      * fix docs for pallet::event
      
      * * fix docs for pallet::storage
      * fix docs for pallet::getter
      * fix docs for pallet::storage_prefix
      * fix docs for pallet::unbounded
      * fix docs for pallet::whitelist_storage
      * fix docs for #[cfg(..)] (for storage items and attributes)
      * fix docs for pallet::storage macro expansion
      
      * fix docs for pallet::type_value
      
      * fix docs for pallet::genesis_config
      
      * fix docs for pallet::genesis_build
      
      * fix docs for pallet::inherent
      
      * fix docs for pallet::validate_unsigned
      
      * fix docs for pallet::origin
      
      * fix docs for general notes on instantiable pallets
      
      * fix docs for example of a non-instantiable pallet
      
      * fix docs for example of an instantiable pallet
      
      * fix docs for upgrade guidelines
      
      * fix docs for upgrade guidelines
      
      * fix docs for upgrade checking and final notes
      
      * fix some examples near the beginning
      
      * extract docs for `pallet::whitelist_storage`
      
      * add docs for pallet_macro_stub
      
      * fix order of pallet::config and pallet::constant
      
      * set up stub for pallet::config
      
      * set up stub for pallet::constant
      
      * fix
      
      * set up stub for pallet::disable_frame_system_supertrait_check
      
      * set up stub for pallet::generate_storage_info
      
      * set up stub for pallet::storage_version
      
      * set up stub for pallet::hooks
      
      * set up stub for pallet::weight
      
      * set up stub for pallet::compact
      
      * set up stub for pallet::call_index
      
      * set up stub for pallet::extra_constants
      
      * set up stub for pallet::error
      
      * set up stub for pallet::event
      
      * set up stub for pallet::generate_deposit
      
      * set up stub for pallet::storage
      
      * set up stub for pallet::getter
      
      * set up stub for pallet::storage_prefix
      
      * set up stub for pallet::unbounded
      
      * set up stub for pallet::type_value
      
      * set up stub for pallet::genesis_config
      
      * set up stub for pallet::genesis_build
      
      * set up stub for pallet::inherent
      
      * set up stub for pallet::validate_unsigned
      
      * set up stub for pallet::origin
      
      * fix comment
      
      * cargo fmt
      
      * tweak error message
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * switch order of derives
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * tweak wording
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * add more context info about `MAX_MODULE_ERROR_ENCODED_SIZE`
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * tweak wording about where clause
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * clarify wording about system/events key
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * use "The Event enum" instead of "item"
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * fix bad wording
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * use enum instead of type
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * expect => expects
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * add additional note about storage prefix
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * clearer note about GenesisConfig
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Use "The impl" instead of "The item"
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * add note and link to tight-coupling docs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * cargo fmt
      
      * remove spaces around parenthesis
      
      * fix missing text for pallet::config
      
      * fix issue with pallet::constant intro
      
      * fix wording about codec index
      
      * fix pallet::error wording
      
      * fix comment about 1 byte => 256 errors
      
      * fix where clause comment
      
      * fix comment about where pallet events are stored
      
      * rewrap some text
      
      * fix pallet::storage docs
      
      * fix pallet::storage_prefix docs
      
      * tweak docs for pallet::genesis_build
      
      * tweak docs for pallet::config
      
      * specify that pallet::event must be present if pallet::config is present
      
      * add note about why we would want to bypass the supertrait check
      
      * mention that pallet::generate_store attribute is only valid on pallet struct
      
      * add note about adding new calls to the end to maintain existing order
      
      * add note about pallet::type_value and pallet::storage
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * add note about using pallet::type_value alongside pallet::storage
      
      * include warning about modifying disaptchables on other pallet::call_index docs page
      
      * fix incorrect comment
      
      * add much more information for pallet::inherent
      
      * move pallet::pallet macro expansion notes back to their rightful place
      
      * re-run CI
      
      * fix macro expansion appearing in wrong place for pallet::pallet
      
      * replicate pallet::pallet docs on the pallet::pallet macro stub
      
      * force CI re-run
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: parity-processbot <>
      af58e8e8
  11. Sep 23, 2022
  12. Sep 20, 2022
    • Sergej Sakac's avatar
      BREAKING: Rename Origin (#12258) · e4b6f4a6
      Sergej Sakac authored
      * BREAKING: Rename Origin
      
      * more renaming
      
      * a bit more renaming
      
      * fix
      
      * more fixing
      
      * fix in frame_support
      
      * even more fixes
      
      * fix
      
      * small fix
      
      * ...
      
      * update .stderr
      
      * docs
      
      * update docs
      
      * update docs
      
      * docs
      e4b6f4a6
  13. Sep 19, 2022
  14. Sep 16, 2022
    • Sam Johnson's avatar
      Add special tag to exclude runtime storage items from benchmarking (#12205) · c0e007b5
      Sam Johnson authored
      * initial setup
      
      * add WhitelistedStorageKeys trait
      
      * add (A, B) tuple implementation for whitelisted_storage_keys()
      
      * fix formatting
      
      * implement WhitelistedStorageKeys for all tuple combinations
      
      * impl_for_tuples up to 128 for WhitelistedStorageKeys
      
      * refactor to #[benchmarking(cached)]
      
      * tweak error message and mark BlockNumber as cached
      
      * add benchmarking(cached) to the other default types
      
      * add docs for benchmarking(cached)
      
      * properly parse storage type declaration
      
      * make storage_alias structs public so we can use them in this macro
      
      * use BTreeMap since TrackedStorageKey missing Ord outside of std
      
      * make WhitelistedStorageKeys accessible
      
      * basic detection of benchmarking(cached) 💥
      
      * proper parsing of #[benchmarking(cached)] from pallet parse macro
      
      * store presence of #[benchmarking(cached)] macro on StorageDef
      
      * will be used for later expansion
      
      * compiling blank impl for WhitelistedStorageKeys
      
      * move impl to expand_pallet_struct
      
      * use frame_support::sp_std::vec::Vec properly
      
      * successfully compiling with storage info loaded into a variable 💥
      
      * plausible implementation for whitelisted_storage_keys()
      
      * depends on the assumption that storage_info.encode() can be loaded
        into TrackedStorageKey::new(..)
      
      * use Pallet::whitelisted_storage_keys() instead of hard-coded list
      
      * AllPallets::whitelisted_storage_keys() properly working 💥
      
      * collect storage names
      
      * whitelisted_storage_keys() impl working 💥
      
      
      
      * clean up
      
      * fix compiler error
      
      * just one compiler error
      
      * fix doc compiler error
      
      * use better import path
      
      * fix comment
      
      * whoops
      
      * whoops again
      
      * fix macro import issue
      
      * cargo fmt
      
      * mark example as ignore
      
      * use keyword tokens instead of string parsing
      
      * fix keyword-based parsing of benchmarking(cached)
      
      * preliminary spec for check_whitelist()
      
      * add additional test for benchmarking whitelist
      
      * add TODO note
      
      * remove irrelevant line from example
      
      * use filter_map instead of filter and map
      
      * simplify syntax
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * clean up
      
      * fix test
      
      * fix tests
      
      * use keyword parsing instead of string parsing
      
      * use collect() instead of a for loop
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * fix compiler error
      
      * clean up benchmarking(cached) marking code
      
      * use cloned()
      
      * refactor to not use panic! and remove need for pub types in storage_alias
      
      * remove unneeded use
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded visibility changes
      
      * don't manually hard code hash for treasury account as hex
      
      * proper Ord, PartialOrd, and Hash impls for TrackedStorageKey
      
      * now based just on key, and available in no-std
      
      * use BTreeSet instead of BTreeMap
      
      * fix comments
      
      * cargo fmt
      
      * switch to pallet::whitelist and re-do it basti's way :D
      
      * make PartialOrd for TrackedStorageKey consistent with Ord
      
      * more correct implementation of hash-related traits for TrackedStorageKey
      
      * fix integration test
      
      * update TODO
      
      * remove unused keyword
      
      * remove more unused keywords
      
      * use into_iter()
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update frame/support/procedural/src/pallet/parse/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * add docs for whitelisted
      
      * fix comment
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c0e007b5
  15. Sep 13, 2022
  16. Sep 12, 2022
    • Sergej Sakac's avatar
      BREAKING: Rename Call & Event (#11981) · 6e8795af
      Sergej Sakac authored
      
      
      * rename Event to RuntimeEvent
      
      * rename Call
      
      * rename in runtimes
      
      * small fix
      
      * rename Event
      
      * small fix & rename RuntimeCall back to Call for now
      
      * small fixes
      
      * more renaming
      
      * a bit more renaming
      
      * fmt
      
      * small fix
      
      * commit
      
      * prep for renaming associated types
      
      * fix
      
      * rename associated Event type
      
      * rename to RuntimeEvent
      
      * commit
      
      * merge conflict fixes & fmt
      
      * additional renaming
      
      * fix.
      
      * fix decl_event
      
      * rename in tests
      
      * remove warnings
      
      * remove accidental rename
      
      * .
      
      * commit
      
      * update .stderr
      
      * fix in test
      
      * update .stderr
      
      * TRYBUILD=overwrite
      
      * docs
      
      * fmt
      
      * small change in docs
      
      * rename PalletEvent to Event
      
      * rename Call to RuntimeCall
      
      * renamed at wrong places :P
      
      * rename Call
      
      * rename
      
      * rename associated type
      
      * fix
      
      * fix & fmt
      
      * commit
      
      * frame-support-test
      
      * passing tests
      
      * update docs
      
      * rustdoc fix
      
      * update .stderr
      
      * wrong code in docs
      
      * merge fix
      
      * fix in error message
      
      * update .stderr
      
      * docs & error message
      
      * .
      
      * merge fix
      
      * merge fix
      
      * fmt
      
      * fmt
      
      * merge fix
      
      * more fixing
      
      * fmt
      
      * remove unused
      
      * fmt
      
      * fix
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      6e8795af
  17. Sep 08, 2022
    • Boluwatife Bakre's avatar
      Use parameter_types instead of thread_local for test-setup (#12036) · 3ec4d13e
      Boluwatife Bakre authored
      
      
      * Edit to Assets. parameter_types
      
      * fixes
      
      * Test Fixes. WIP
      
      * Edits to pallet-aura
      
      * Camel Case
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Implementation of mutate fn
      
      * update to pallet-aura
      
      * Update to frame-system. Fixes
      
      * Update to frame-support-test. CamelCases
      
      * Updates to frame- contracts, offences, staking, bounties, child bounties
      
      * Edit to mutate fn. Changes to frame-contracts. CamelCase pallet-aura
      
      * Edits to frame-contracts & executive
      
      * cargo +nightly fmt
      
      * unused import removed
      
      * unused import removed
      
      * cargo +nightly fmt
      
      * minor adjustment
      
      * updates
      
      * updates
      
      * cargo +nightly fmt
      
      * cargo +nightly fmt
      
      * take fn implemented
      
      * update
      
      * update
      
      * Fixes to CallFilter
      
      * cargo +nightly fmt
      
      * final fixes
      
      * Default changed to $value
      
      * Update frame/support/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      3ec4d13e
  18. Sep 02, 2022
  19. Sep 01, 2022
  20. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Weight v1.5: Opaque Struct (#12138) · 30951822
      Shawn Tabrizi authored
      * initial idea
      
      * update frame_support
      
      * update a bunch more
      
      * add ord
      
      * adjust RuntimeDbWeight
      
      * frame_system builds
      
      * re-export
      
      * frame_support tests pass
      
      * frame_executive compile
      
      * frame_executive builds
      
      * frame_system tests passing
      
      * pallet-utility tests pass
      
      * fix a bunch of pallets
      
      * more
      
      * phragmen
      
      * state-trie-migration
      
      * scheduler and referenda
      
      * pallet-election-provider-multi-phase
      
      * aura
      
      * staking
      
      * more
      
      * babe
      
      * balances
      
      * bunch more
      
      * sudo
      
      * transaction-payment
      
      * asset-tx-payment
      
      * last pallets
      
      * fix alliance merge
      
      * fix node template runtime
      
      * fix pallet-contracts cc @athei
      
      * fix node runtime
      
      * fix compile on runtime-benchmarks feature
      
      * comment
      
      * fix frame-support-test
      
      * fix more tests
      
      * weight regex
      
      * frame system works
      
      * fix a bunch
      
      * more
      
      * more
      
      * more
      
      * more
      
      * more
      
      * more fixes
      
      * update templates
      
      * fix contracts benchmarks
      
      * Update lib.rs
      
      * Update lib.rs
      
      * fix ui
      
      * make scalar saturating mul const
      
      * more const functions
      
      * scalar div
      
      * refactor using constant functions
      
      * move impl
      
      * fix overhead template
      
      * use compactas
      
      * Update lib.rs
      30951822
  21. Aug 24, 2022
    • Keith Yeung's avatar
      Implement ResultQuery (#11257) · edc8f7b4
      Keith Yeung authored
      * Implement ResultQuery
      
      * Fix test expectations
      
      * Add more tests
      
      * Fix test expectations
      
      * Clean up some names
      
      * Silence warnings
      
      * Specify error type when supplying error type to ResultQuery
      
      * cargo fmt
      
      * Add support for type parameters in parameter_types macro
      
      * Reduce deeply indented code
      
      * Fixes
      
      * Update test expectation
      
      * Rewrite and document formula for calculating max storage size
      
      * More docs
      
      * cargo fmt
      
      * formatting
      
      Co-authored-by: parity-processbot <>
      edc8f7b4
  22. Aug 14, 2022
  23. Jul 17, 2022
  24. Jun 13, 2022
  25. May 31, 2022
    • Gavin Wood's avatar
      Several tweaks needed for Governance 2.0 (#11124) · 7808b0c3
      Gavin Wood authored
      
      
      * Add stepped curve for referenda
      
      * Treasury SpendOrigin
      
      * Add tests
      
      * Better Origin Or-gating
      
      * Reciprocal curve
      
      * Tests for reciprical and rounding in PerThings
      
      * Tweaks and new quad curve
      
      * Const derivation of reciprocal curve parameters
      
      * Remove some unneeded code
      
      * Actually useful linear curve
      
      * Fixes
      
      * Provisional curves
      
      * Rejig 'turnout' as 'support'
      
      * Use TypedGet
      
      * Fixes
      
      * Enable curve's ceil to be configured
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove EnsureOneOf
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Update frame/support/src/traits/dispatch.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Grumbles
      
      * Formatting
      
      * Fixes
      
      * APIs of VoteTally should include class
      
      * Fixes
      
      * Fix overlay prefix removal result
      
      * Second part of the overlay prefix removal fix.
      
      * Formatting
      
      * Fixes
      
      * Add some tests and make clear rounding algo
      
      * Fixes
      
      * Formatting
      
      * Revert questionable fix
      
      * Introduce test for kill_prefix
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fix possible overflow
      
      * Docs
      
      * Add benchmark test
      
      * Formatting
      
      * Update frame/referenda/src/types.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Use latest API in tests
      
      * Formatting
      
      * Whitespace
      
      * Use latest API in tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      7808b0c3
  26. May 29, 2022
    • Gavin Wood's avatar
      Safe and sane multi-item storage removal (#11490) · ecbd65fb
      Gavin Wood authored
      * Fix overlay prefix removal result
      
      * Second part of the overlay prefix removal fix.
      
      * Report only items deleted from storage in clear_prefix
      
      * Fix kill_prefix
      
      * Formatting
      
      * Remove unused code
      
      * Fixes
      
      * Fixes
      
      * Introduce clear_prefix host function v3
      
      * Formatting
      
      * Use v2 for now
      
      * Fixes
      
      * Formatting
      
      * Docs
      
      * Child prefix removal should also hide v3 for now
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * Cursor API; force limits
      
      * Use unsafe deprecated functions
      
      * Formatting
      
      * Fixes
      
      * Grumbles
      
      * Fixes
      
      * Docs
      
      * Some nitpicks 🙈
      
      
      
      * Update primitives/externalities/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Formatting
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Update primitives/io/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      ecbd65fb
  27. May 23, 2022
  28. May 17, 2022
  29. Apr 30, 2022
  30. Apr 27, 2022
    • Zeke Mostov's avatar
      Nomination Pools (#10694) · 247f33dc
      Zeke Mostov authored
      
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add admin roles and make some calls permissionless
      
      * Destroy pool in withdraw unbonded
      
      * Add docs on pool admin
      
      * Fixup tests
      
      * Test unbond_other permissionless scenarios
      
      * Test withdraw unbonded permissionless
      
      * Test only can join open pools
      
      * Move unsafe set state to mock
      
      * Test: nominate_works
      
      * Add bounds: MinJoinBond, MinCreateBond, MaxPools
      
      * Test MinCreateBond, MinJoinBond, MaxPools
      
      * Add post checks to tests
      
      * Remove some TODOs
      
      * Setup weight infrastructure
      
      * Benchmark claim_payout
      
      * Benchmark create
      
      * Benchmark nominate
      
      * Benchmark join
      
      * Benchmark unbond_other
      
      * Refactor join benchmark to use scenario setup
      
      * Clean up and address warnings
      
      * Basic withdraw unbonded benchmarks
      
      * Refactor nominate benchmark
      
      * Refactor claim payout
      
      * Add feature sp-staking/runtime-benchmarks
      
      * Get node runtime to compile
      
      * Get node to run
      
      * Make claim_payout bench work with node
      
      * Make pool_withdraw_unbonded bench work with node
      
      * Make withdraw_unbonded_other work with node runtime'
      
      * Make create benchmark work with node
      
      * Make nominate benchmark work with node runtime
      
      * WiP new benchmark crate
      
      * Implement initial mock for benchmarks
      
      * Establish benchmark setup logic
      
      * Get claim payout and nominate benchmarks working
      
      * Remove pool bench utils; make struct fields pub insteaad
      
      * Get more benchmarks to work; trim interface trait
      
      * Some more top level docs
      
      * Finish tranistion benchmarks to crate
      
      * Hook up benchmark pallet to node runtime
      
      * Get benches to work with node runtime
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Benchmark withdraw_unbonded_other_kill
      
      * Delete old benchmarking files
      
      * Refunds for withdraw_unbonded
      
      * Remove some TODOs
      
      * 'Don't return an option for the current_era'
      
      * Streamline extrinsic docs
      
      * small docs tweaks
      
      * Refactor ledger::slash
      
      * Add on_slash impl for nomination pools
      
      * slash refactor wip
      
      * WIP slash working
      
      * DRY Ledger::stash
      
      * Fix slash saturation
      
      * Remove unused param from slash
      
      * Docs and warnings
      
      * Test ledger::slash
      
      * save progress
      
      * Introduce counter for delegators
      
      * Add tests for max delegator errors
      
      * Reproducible account ids
      
      * Adapt tests to new account id format
      
      * Simplify create_accounts api
      
      * Fix staking tests
      
      * Save PerBill slash impl before removing
      
      * Rever ledger slash test
      
      * Get node runtime to work
      
      * Organize sub pools by unbond era, not curren era
      
      * staking: Proportional ledger slashing
      
      * Some comment cleanup
      
      * Add more test post checks
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Tests: account for storing unbond era
      
      * Improve docs for staking interface
      
      * Add events Created, Destroyed
      
      * withdraw_unbonded: Remove useless withdraw dust check
      
      * Test: withdraw_unbonded_other_handles_faulty_sub_pool_accounting
      
      * Add extrinsics: set_state_other, set_metadata
      
      * Test: set_state_other_works
      
      * Test: set_metadata_works
      
      * Add benchmarks for set_state_other, set_metadata
      
      * Fix benchmarks
      
      * Add weight info for new extrinsics
      
      * Some feedback
      
      * duo feedback
      
      * Incorporate some more feedback
      
      * integrate more kian feedback
      
      * integrate more kian feedback
      
      * More improvements
      
      * Add destroying_mul
      
      * Make do_reward_payout take refs
      
      * Remove some TODOs
      
      * Add test for saturating
      
      * feedback
      
      * Fix join test
      
      * use `inner` for nested types in nomination pools (#11030)
      
      * Use nested inner type for pool
      
      * make tests and benchmarks work
      
      * remove feat
      
      * all tests work now
      
      * fix node-runtime
      
      * nomination-pools: update benches for new account format (#11033)
      
      * Update benches to new account format
      
      * More sensible seeds
      
      * bring back rward account sanity check
      
      * Comment
      
      * Add extrinsic set_configs (#11038)
      
      * Better sanity checks for nomination pools  (#11042)
      
      * new sanity checks, few other changes
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * nomination-pools: Fix state event regression + benches (#11045)
      
      * new sanity checks, few other changes
      
      * Fix benches, improve sanity check
      
      * Remove useless clear storage in benchmarking
      
      * Set state
      
      * Save
      
      * Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      
      * FMT
      
      * Try fill in all staking configs
      
      * Fix build
      
      * More changes to nomination pools (#11050)
      
      * new sanity checks, few other changes
      
      * some last touches as a whole
      
      * Apply suggestions from code review
      
      * Remove redundant event
      
      * Improve unbond_other error handling
      
      * Remove comment
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      
      * Remove sanity module and some TODOs
      
      * round of feedback and imp from kian
      
      * Add TODO for ED QoL at reward pool creation
      
      * Make sure reward pool never gets dusted
      
      * Improve error type
      
      * demonstrate per_thing usage
      
      * Update sanity check & fix create_works
      
      * Improve test ext pool creation & fix some more tests
      
      * Try revert
      
      * Revert "Try revert"
      
      This reverts commit c044c94730e1a370eecd8f5b2c4f632835913063.
      
      * Revert "Improve test ext pool creation & fix some more tests"
      
      This reverts commit 1e862a64a7423479260c6e5ad1bd4c8c95651f3a.
      
      * Revert "Update sanity check & fix create_works"
      
      This reverts commit 568a7b727687e4d585e2796afc638df97b83c632.
      
      Roll back reward account funding
      
      * Revert "Improve error type"
      
      This reverts commit 4b993ee601a037e7a44e4a49bbfd60cf45b38b78.
      
      * Revert "Make sure reward pool never gets dusted"
      
      This reverts commit e7a3eb45bdfd156d3f6d94d194e988032ebbc593.
      
      revert
      
      * Update some tests
      
      * FMT
      
      * Test that era offset works correctly
      
      * Update mocks
      
      * Remove unnescary docs
      
      * Doc updates
      
      * Update calculate_delegator_payout_works_with_a_pool_of_1
      
      * Fix test: claim_payout_works
      
      * do_reward_payout_correctly_sets_pool_state_to_destroying
      
      * Remove test do_reward_payout_errors_correctly
      
      * Fix test: do_reward_payout_works
      
      * Fix test: create_errors_correctly
      
      * Fix test: create works
      
      * Fix test: unbond_other_of_3_works
      
      * Ensure that ED is transferred into reward pool upon creation
      
      * WIP pool lifecycle test
      
      * Fix benchmarks
      
      * Add sanity check for ED + reward pools
      
      * `bond_extra` for nomination pools (#11100)
      
      * bond_extra for nomination pools
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * add benchmarks
      
      * remove the min logic of bond_extra
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * FMT
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * make it compile end to end
      
      * Update some type viz
      
      * Update kick terminology
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Cache bonded account when creating pool
      
      * Add bond extra weight stuff
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update docs for pool withdraw unbonded
      
      * Update docs for unbond
      
      * Improve Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/Cargo.toml
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Improve Docs
      
      * Some docs improvements
      
      * fmt
      
      * Remove unlock_era
      
      * Fix accidental frame-support regression
      
      * Fix issue with transactions in tests
      
      * Fix doc links
      
      * Make sure result in test is used
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix can toggle state
      
      * Account for new_funds in ok to be open
      
      * Update docs: ok_to_withdraw_unbonded_other_with
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove some staking comments
      
      * Rename SubPoolsWithEra to UnbondingPoolsWithEra
      
      * Use validators length for benchmarks
      
      * Use metadata length for benchmarks
      
      * Remove debug assert eq
      
      * docs
      
      * Fix test: withdraw_unbonded_other_errors_correctly
      
      * Fix check for having enough balance to create the pool
      
      * Bond event for pool creation
      
      * Ok to be open
      
      * FMT
      
      * Remove _other postfix
      
      * Update frame/staking/src/lib.rs
      
      * Adjust tests to account for only remove when < ED
      
      * Remove stale TODOs
      
      * Remove dupe test
      
      * Fix build
      
      * Make sure to convert to u256 so we don't saturate
      
      * Refund depositor with reward pool fee
      
      * FMT
      
      * Remove reachable defensive
      
      * Use compact encoding for relevant extrinsics
      
      * Remove unnescary make_free_be for cleaning reward account
      
      * Add not to maintainers for reward account accounting
      
      * Remove note to maintainers from public doc
      
      * Make sure all configs have currency balance
      
      * Avoid saturation in balance_to_unbond
      
      * Partial Unbonding for Nomination Pools (#11212)
      
      * first draft of partial unbonding for pools
      
      * remove option
      
      * Add some more tests and fix issues
      
      * Fix all tests
      
      * simplify some tests
      
      * Update frame/nomination-pools/src/mock.rs
      
      * remove clone
      
      * rename to delegator_unbonding_eras
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * remove pub
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * undo
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * leftovers
      
      * fix invariant
      
      * Fix the depositor assumption
      
      * round of self-review
      
      * little bit more cleanup
      
      * Update frame/nomination-pools/src/mock.rs
      
      * Apply suggestions from code review
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Fix interpretation of MinCreateBond
      
      * controvesial refactor
      
      * rename
      
      * make everything build
      
      * add TODO about killing the reward account
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * last self-review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update Cargo.lock
      
      * Rename Delegator to PoolMember
      
      * fmt
      
      * Get runtime to build with runtime-benchmarks feature
      
      * Update Cargo.lock
      
      * Fix asserts to work in more scenarios
      
      * gte not gt
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/staking/src/mock.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/staking/src/slashing.rs
      
      * Apply suggestions from code review
      
      * fmt
      
      * Fix some tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      247f33dc
  31. Apr 16, 2022
  32. Apr 03, 2022
  33. Mar 24, 2022
    • Keith Yeung's avatar
      Allow pallet error enum variants to contain fields (#10242) · 208be869
      Keith Yeung authored
      
      
      * Allow pallet errors to contain at most one field
      
      * Update docs on pallet::error
      
      * Reword documentation
      
      * cargo fmt
      
      * Introduce CompactPalletError trait and require #[pallet::error] fields to implement them
      
      * cargo fmt
      
      * Do not assume tuple variants
      
      * Add CompactPalletError derive macro
      
      * Check for error type compactness in construct_runtime
      
      * cargo fmt
      
      * Derive CompactPalletError instead of implementing it directly during macro expansion
      
      * Implement CompactPalletError on OptionBool instead of Option<bool>
      
      * Check for type idents instead of variant ident
      
      * Add doc comments for ErrorCompactnessTest
      
      * Add an trait implementation of ErrorCompactnessTest for ()
      
      * Convert the error field of DispatchError to a 4-element byte array
      
      * Add static check for pallet error size
      
      * Rename to MAX_PALLET_ERROR_ENCODED_SIZE
      
      * Remove ErrorCompactnessTest trait
      
      * Remove check_compactness
      
      * Return only the most significant byte when constructing a custom InvalidTransaction
      
      * Rename CompactPalletError to PalletError
      
      * Use counter to generate unique idents for assert macros
      
      * Make declarative pallet macros compile with pallet error size checks
      
      * Remove unused doc comment
      
      * Try and fix build errors
      
      * Fix build errors
      
      * Add macro_use for some test modules
      
      * Test fix
      
      * Fix compilation errors
      
      * Remove unneeded #[macro_use]
      
      * Resolve import ambiguity
      
      * Make path to pallet Error enum more specific
      
      * Fix test expectation
      
      * Disambiguate imports
      
      * Fix test expectations
      
      * Revert appending pallet module name to path
      
      * Rename bags_list::list::Error to BagError
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fix test expectations
      
      * Fix test expectation
      
      * Add more implementations for PalletError
      
      * Lift the 1-field requirement for nested pallet errors
      
      * Fix UI test expectation
      
      * Remove PalletError impl for OptionBool
      
      * Use saturating operations
      
      * cargo fmt
      
      * Delete obsolete test
      
      * Fix test expectation
      
      * Try and use assert macro in const context
      
      * Pull out the pallet error size check macro
      
      * Fix UI test for const assertion
      
      * cargo fmt
      
      * Apply clippy suggestion
      
      * Fix doc comment
      
      * Docs for create_tt_return_macro
      
      * Ensure TryInto is imported in earlier Rust editions
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Fix up comments and names
      
      * Implement PalletError for Never
      
      * cargo fmt
      
      * Don't compile example code
      
      * Bump API version for block builder
      
      * Factor in codec attributes while derving PalletError
      
      * Rename module and fix unit test
      
      * Add missing attribute
      
      * Check API version and convert ApplyExtrinsicResult accordingly
      
      * Rename BagError to ListError
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Use codec crate re-exported from frame support
      
      * Add links to types mentioned in doc comments
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * cargo fmt
      
      * cargo fmt
      
      * Re-add attribute for hidden docs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      208be869
  34. Mar 23, 2022
  35. Mar 02, 2022
  36. Jan 25, 2022
  37. Jan 20, 2022