1. Feb 01, 2023
    • Kian Paimani's avatar
      hooks default impl missing where clause (#13264) · 320a9ce3
      Kian Paimani authored
      * hooks default impl missing where clause
      
      * add tests
      
      * Update frame/support/test/tests/pallet_ui/pass/where_clause_missing_hooks.rs
      
      ---------
      
      Co-authored-by: parity-processbot <>
      320a9ce3
    • Muharem Ismailov's avatar
      Benchmark's successful origin api update (#13146) · 3079a17c
      Muharem Ismailov authored
      * try successful origin unimplemented by default
      
      * error as a default impl for try_successful_origin
      
      * remove successful_origin func of EnsureOrigin trait
      
      * default impl -> unimplemented!()
      
      * update EnsureOriginWithArg
      
      * fix EnsureOriginWithArg
      
      * prefix unused arg with underscore
      
      * use try_successful_origin instead successful_origin, map err to Weightless
      
      * fix tests
      
      * remove default impl
      
      * unwrap for indirect origin dep
      
      * replace unwrap by expect with a message
      
      ---------
      
      Co-authored-by: parity-processbot <>
      3079a17c
  2. Jan 30, 2023
  3. Jan 29, 2023
  4. Jan 28, 2023
  5. Jan 27, 2023
  6. Jan 26, 2023
  7. Jan 25, 2023
    • Kian Paimani's avatar
      reduce exec time of fast-unstake benchmarks (#13120) · 451a13c6
      Kian Paimani authored
      * reduce exec time of fast-unstake benchmarks
      
      * fix test
      
      * fmt
      
      * fix patch the tests
      
      * fix patch the tests
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * add batch size as well
      
      * update some benches to be better
      
      * fix one last test
      
      * fix
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * reduce time even more
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * fix tests
      
      * nit
      
      * remove
      
      * improve the weight calc further
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * fix benchmarks
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * update
      
      * fix
      
      * fix
      
      * fmt
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * lots of changes again...
      
      * smaller input
      
      * update
      
      * fmt
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * cleanup
      
      * small simplification
      
      * fmt
      
      * reduce exec time a bit
      
      * fix
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * test
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * increase again
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      * review comments
      
      * fmt
      
      * fix
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_fast_unstake
      
      Co-authored-by: command-bot <>
      451a13c6
    • zjb0807's avatar
      Fix try-runtime with create-snapshot (#13223) · 73a97762
      zjb0807 authored
      * Fix try-runtime with create-snapshot
      
      * Apply review suggestions
      73a97762
    • Bastian Köcher's avatar
      CI: Rewrite `check-each-crate` in python (#13238) · 1da71f02
      Bastian Köcher authored
      * CI: Rewrite `check-each-crate` in python
      
      This is a much better readable version of the script and it should also work on Macos and not
      siltently fail ;)
      
      * Fix dumb bugs and print everything to stderr
      
      * Don't buffer Python output
      
      * 🤦
      
      * 🤦 🤦
      
      
      
      * Use check all until we have more macos runners
      
      * Update scripts/ci/gitlab/check-each-crate.py
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update scripts/ci/gitlab/pipeline/test.yml
      
      Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      1da71f02
    • Sasha Gryaznov's avatar
      [contracts] Add upfront weight of merkle trie proofs for storage reading functions (#13236) · 2a38f412
      Sasha Gryaznov authored
      * Add upfront weight of merkle trie proofs for storage reading functions
      
      * drive-by fixes
      2a38f412
    • Alexander Theißen's avatar
      contracts: Deprecate random interface (#13204) · 3b03862c
      Alexander Theißen authored
      
      
      * Deprecate random interface
      
      * Revert change to runtime file
      
      * Fix docs
      
      * Fix tests
      
      * Rename to not_deprecated
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarSasha Gryaznov <[email protected]>
      
      * Deprecate `set_rent_allowance`
      
      Co-authored-by: default avatarSasha Gryaznov <[email protected]>
      3b03862c
    • Davide Galassi's avatar
      Babe: bad epoch index with skipped epochs and warp sync (#13135) · e66c5308
      Davide Galassi authored
      * Detect and correct epoch-index for skipped epochs
      
      * Code refactory
      
      * Epoch index should be also be fixed for secondary claims with VRF
      
      * Fix typo
      
      * Make clippy happy
      
      * Fix typo
      
      * Trigger pipeline
      e66c5308
    • Bastian Köcher's avatar
      pallet-assets: Rename `total_supply` to `amount` (#13229) · fcc19949
      Bastian Köcher authored
      * pallet-assets: Rename `total_supply` to `amount`
      
      We are actually passing the `amount` on assets being minted and not the total supply.
      
      Closes: https://github.com/paritytech/substrate/issues/13210
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Fix compilation
      
      * FMT
      
      Co-authored-by: command-bot <>
      fcc19949
  8. Jan 24, 2023
  9. Jan 23, 2023
    • Muharem Ismailov's avatar
      debug assert events at genesis (#13217) · d2fcebef
      Muharem Ismailov authored
      d2fcebef
    • Roman Useinov's avatar
      [Fix] CountedMap::set now takes Counter into account (#13214) · 58149a70
      Roman Useinov authored
      * [Fix] CountedMap::set now takes Counter into account
      
      * introduce tests for StorageMap
      58149a70
    • Koute's avatar
      Remove dead code (#13213) · 9e9b79ec
      Koute authored
      9e9b79ec
    • Bastian Köcher's avatar
      Rename `*-private-ipv4` to `*-private-ip` CLI args (#13208) · d20a9bdc
      Bastian Köcher authored
      * Rename `*-private-ipv4` to `*-private-ip` CLI args
      
      Renames the `*-private-ipv4` to `*-private-ip` in the CLI interface. The old names are staying as
      alias, thus it will not break for anyone. Besides that it also fixes the naming in the rest of the code.
      
      * FMT
      d20a9bdc
    • 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
  10. Jan 22, 2023
  11. Jan 21, 2023
    • Bastian Köcher's avatar
      Fix flaky BABE test (#13199) · a8d7cda7
      Bastian Köcher authored
      The `authoring_blocks` test of BABE was calculating the slot based on the timestamp it sometimes
      failed in CI. The problem is that we combine all the notifications and authoring futures in one big
      future. This one big future may first polls one authoring future to build a block. Then it polls all
      notification futures again to import the block. Then some other authoring future is polled and
      builds on the imported block using the same slot and making the import fail. The solution is that we
      just artificially increase the slot to make the test work.
      a8d7cda7