1. Nov 07, 2021
  2. Oct 06, 2021
  3. Oct 04, 2021
  4. Oct 01, 2021
    • ucover's avatar
      Test each benchmark case in own #[test] (#9860) · f8ce1864
      ucover authored
      
      
      * Generate one #[test] fn per bench case.
      
      * Update benchmark macro syntax in frame pallets.
      
      * Explain new benchmark macro syntax in example pallet.
      
      * support with and without a semicolon
      
      * update pallets to use individual tests
      
      * migrate staking too
      
      * migrate more pallets
      
      * fix up democracy and use individual tests
      
      * Fix comment
      
      * Put println message in panic
      
      * Remove `another_set_dummy` from doc
      
      `another_set_dummy` is not present in the benchmarking.rs (anymore).
      
      * Update doc for benchmarks macro
      
      * Update doc for impl_benchmark_test_suite macro
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      f8ce1864
  5. Sep 27, 2021
    • Falco Hirschenberger's avatar
      Add weight for decoding the call to benchmarks (#9781) · 6ec82c7a
      Falco Hirschenberger authored
      
      
      * First two bechmarks converted
      
      * Add decoding weight to benchmarks.
      
      * Update frame/democracy/src/benchmarking.rs
      
      * Adapt to new Call-ing convention
      
      * Resolve conflicts and change more calls
      
      * Remove error impl for codec and use plain `expect` for error handling instead
      
      * Compile fix
      
      * Spaces to tabs
      
      * Update frame/democracy/src/benchmarking.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add origin-type specifier to benchmarks macro
      
      * formatting
      
      * Update frame/benchmarking/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Change manual to automatic benchmark syntax
      
      * Formatting
      
      * Revert "Change manual to automatic benchmark syntax"
      
      This reverts commit ea5b5d906b318b6525c1e6d2bd05c5011595c21a.
      
      Because tests are lost and cleanup code in the verify function is not run on failing calls.
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      6ec82c7a
  6. Sep 20, 2021
    • Georges's avatar
      Generate storage info for pallet im_online (#9654) · cddafd52
      Georges authored
      * Integrating WrapperOpaque from PR #9738
      
      * Adding storage_info to pallet im-online
      Changing some `Vec` to `WeakBoundedVec`
      Adding the following bounds:
      * `MaxKeys
      * `MaxPeerInHeartbeats`
      * `MaxPeerDataEncodingSize`
      to limit the size of `WeakBoundedVec`
      
      * Fix syntax
      
      * Need to clone keys
      
      * Changes in formatting
      cddafd52
  7. Sep 15, 2021
    • Andrew Jones's avatar
      Enrich metadata with type information (#8615) · 49b6dfd2
      Andrew Jones authored
      
      
      * Cargo.lock after merge
      
      * Restore scale-info feature
      
      * Fully qualify TypeInfo derive
      
      * Skip PendingSwap T
      
      * Add missing skip_type_params attr
      
      * metadata docs features
      
      * Reduce pallet event attribute to struct
      
      * Cargo.lock
      
      * Update frame/balances/src/tests_composite.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Line widths check
      
      * Cargo.lock
      
      * Add scale-info/std
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Use `skip_type_params` to remove `TypeInfo` requirements on checks
      
      * Revert "Remove unused Call metadata stuff"
      
      This reverts commit 41311f85
      
      * Skip BalanceSwapAction type parameter
      
      * Remove unused event metadata macro
      
      * Update frame-metadata
      
      * Update primitives/npos-elections/compact/src/codec.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Manual TypeInfo for Header
      
      * Remove TypeInfo requirement for consts in BoundedVec etc.
      
      * Another TypeInfo bound removed
      
      * review: fix indentation
      
      * TypeInfo impls for Identity types
      
      * Add some todos to add custom TypeInfo impls
      
      * Update frame/support/procedural/src/pallet/expand/pallet_struct.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Add some todos to add custom TypeInfo impls
      
      * Add a test for manual Data TypeInfo impl
      
      * Add custom TypeInfo impl for Vote
      
      * Era custom TypeInfo crimes
      
      * Revert finality-grandpa version to 0.14.z
      
      * review: renamed module to pallet_constants_metadata
      
      * New line at end of file
      
      * Add missing scale-info/std
      
      * Update frame/support/src/storage/types/mod.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Remove StorageEntryType::Map unused flag
      
      * Add missing scale-info dependency after merge
      
      * SignedExtension::AdditionalSigned metadata
      
      * Update frame-metadata, use abbreviated docs and args fields
      
      * Update frame/example/Cargo.toml
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Add scale_info/std and remove unused scale-info dependency
      
      * Remove scale-info dependency
      
      * Remove treasury pallet::metadata
      
      * Remove redundant Event test
      
      * Add back scale-info as dev dependency
      
      * fix error metadata when no error defined in decl_module
      
      * Add Module3 to tests
      
      * Fix metadata test
      
      * Add docs feature to frame-support test
      
      * WIP fixing pallet metadata test
      
      * Remove redundant FunctionMetadata, FunctionArgumentMetadata as per https://github.com/paritytech/frame-metadata/pull/20
      
      * Use main branch of frame-metadata
      
      * Use patch of scale-info for latest changes
      
      * Use latest patched scale-info
      
      * Manual TypeInfo for DigestItem
      
      * Manual TypeInfo for DigestItem
      
      * Update scale-info
      
      * Skip __Ignore variants for Error, depends on https://github.com/paritytech/scale-info/pull/117
      
      
      
      * Named fields for FRAME v2 pallet Call variants
      
      * Named fields for FRAME v1 pallet Call variants
      
      * Add missing scale-info dependency
      
      * WIP expand benchmark call variant
      
      * fix benchmark with new function
      
      create a new function for each variant of a pallet call.
      This function is called by benchmarking macro in order not to break call
      creation with unnamed argument
      
      * fix tests
      
      * more fix
      
      * Fix staking tests
      
      * Fix offchain workers calls
      
      * Cherry pick rustfmt.toml from master
      
      * cargo +nightly-2021-06-22 fmt --all
      
      * Update to new call variant structs
      
      * More call variant struct updates
      
      * Remove unused import
      
      * More call variant structs
      
      * More call variant structs
      
      * Even more call variant structs
      
      * Mooar variant structs
      
      * Evermore variant structs
      
      * Call variant structs ad infinitum
      
      * Fmt
      
      * More call variants
      
      * Last call variant
      
      * Call variants all done?
      
      * Fix SS58Prefix type
      
      * Potential workaround for BitFlags<IdentityFields> TypeInfo
      
      * Enable docs capturing for Call, Event, and Error types
      
      * Fix IdentityFields TypeInfo
      
      * Remove metadata-docs feature
      
      * Add capture_docs = true for legacy Call, Event and Error types
      
      * Fmt
      
      * Fix metadata test type
      
      * Update benchmarks with call struct variants
      
      * Fmt
      
      * More test fixes
      
      * Fmt
      
      * Fix benches
      
      * Use latest capture_docs attr
      
      * Latest scale_info
      
      * Fmt
      
      * review: change &Vec to &[]
      
      * Remove pallet metadata attr
      
      * review: remove commented out test code
      
      * review: skip_type_params trailing comma suggestion
      
      * Update to scale-info 0.10.0
      
      * Update construct_runtime ui tests, different because of metadata TypeInfo impls
      
      * Add some TypeInfo derives for UI tests
      
      * Update storage ensure span ui stderrs
      
      * Update call argument bound ui tests
      
      Possibly changed because change from tuple to struct variants?
      
      * Add scale-info dev dependency
      
      * Update to latest finality-grandpa release
      
      * review: missing newline
      
      * review: missing scale-info/std
      
      * review: remove duplicate scale-info/std
      
      * review: remove fully qualified TypeInfo
      
      * review: add missing scale-info/std
      
      * review: remove unnecessary imports.
      
      * Fmt
      
      * Use crates.io RC version of frame-metadata
      
      * Remove scale-info/std because it is a dev dependency
      
      * Add missing scale_info dev-dependency for test
      
      * Delete empty metadata folder
      
      * Fix sp_std import
      
      * review: improve manual UncheckedExtrinsic TypeInfo impl
      
      * review: use full scale-info for dev-dependency
      
      * Remove DefaultByteGetter impl
      
      * review: derive TypeInfo for generic header
      
      * Fmt
      
      * Update primitives/runtime/src/generic/unchecked_extrinsic.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update primitives/runtime/src/generic/unchecked_extrinsic.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update bin/node/executor/Cargo.toml
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/identity/src/types.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/support/src/dispatch.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Remove redundant derive
      
      * Simplify scale-info dependency
      
      * Strip underscore prefix from call variant struct names
      
      * Another underscore field
      
      * More underscore fields
      
      * Another underscore field
      
      * Update to frame-metadata 14.0.0-rc.2 with combined StorageEntryType::Map
      
      * Fmt
      
      * Revert weights formatting
      
      * Fix up some tests
      
      * Fix up some tests for StorageEntryTypeMetadata
      
      * scale-info dev dependency
      
      * Fix test error
      
      * Add missing TypeInfo derives
      
      * Add back missing scale-info dependency
      
      * Add back missing scale-info dependency
      
      * Fix npos compact impls
      
      * Cargo.lock
      
      * Fmt
      
      * Fix errors
      
      * Fmt
      
      * Fix renamed raw_solution field
      
      * Fix error
      
      * Fmt
      
      * Fix some benchmarks
      
      * Fmt
      
      * Stray R
      
      * Fix
      
      * Add missing TypeInfos
      
      * ui test fix
      
      * Fix line widths
      
      * Revert "ui test fix"
      
      This reverts commit 2d15ec058a216e3f92d713f1174603a2bb1eac65.
      
      * Upgrade to scale-info 0.11.0
      
      * Revert "Upgrade to scale-info 0.11.0"
      
      This reverts commit 047bb179085a0059c36cd20ab405f55cf0867e28.
      
      * Add Runtime type
      
      * Update to scale-info 0.12
      
      * Update to scale-info 1.0
      
      * Update frame-metadata to version 14.0.0
      
      * Patch finality-grandpa until release available
      
      * Fix metadata tests
      
      * Fix metadata tests
      
      * Fmt
      
      * Remove patched finality-grandpa
      
      * Fix tests, use scale_info imports
      
      * Fix pallet tests
      
      * Add BlockNumber TypeInfo bound
      
      * ui test fix
      
      * Cargo.lock
      
      * Remove pallet metadata
      
      * Cargo.lock
      
      * Add missing scale-info dependency
      
      * Remove pallet event metadata
      
      * Fix error
      
      * Fix collective errors
      
      * Semicolol
      
      * Fmt
      
      * Remove another metadata attribute
      
      * Add new variant to custom digest TypeInfo
      
      * Fmt
      
      * Cargo.lock from master
      
      * Remove comma lol
      
      * Fix example call error
      
      * Fix example call error properly
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      49b6dfd2
  8. Sep 10, 2021
  9. Aug 19, 2021
  10. Aug 13, 2021
  11. Aug 11, 2021
  12. Aug 07, 2021
    • Gavin Wood's avatar
      Remove Filter and use Contains instead (#9514) · bdda3ed6
      Gavin Wood authored
      
      
      * Remove Filter and use Contains instead
      
      * Fixes
      
      * Formatting
      
      * Update docs/Upgrading-2.0-to-3.0.md
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Typo
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      bdda3ed6
    • Shawn Tabrizi's avatar
      FRAME Weights with Storage Metadata (#9471) · 0489c176
      Shawn Tabrizi authored
      
      
      * weights with metadata
      
      * fix
      
      * fix contract test
      
      * skip metadata tag
      
      * special handling for `frame_system`
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * add skip metadata to contracts
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix contract test
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * expose component information
      
      * fix test generation
      
      * refactor list benchmarks
      
      * move component selection out of runtime
      
      * add benchmark verification
      
      * missing feature
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * add internal repeats
      
      * update weights with internal repeats
      
      * fix warning
      
      * return error with pov
      
      * try without tracking
      
      * Revert "return error with pov"
      
      This reverts commit 44c36cbbd3c6818f36f377e3e291f1df156e40f7.
      
      * Revert "try without tracking"
      
      This reverts commit f401c44aebff2232389d8d307b20924891e5d77d.
      
      * Revert "Revert "try without tracking""
      
      This reverts commit 4b4e05929802ad3e8154e107359447634e5fb21b.
      
      * state without tracking
      
      * fix build
      
      * temp test
      
      * split db and timing benchmarks
      
      * extend db results?
      
      * default repeat is internal
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix warning
      
      * bump linked hash map
      
      * use linked hash map for storage tracker
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove conflicting short command
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * missed one linked hashmap
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * new weights with latest changes
      
      * Update frame/benchmarking/src/utils.rs
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      0489c176
  13. Jul 22, 2021
  14. Jul 21, 2021
    • Bastian Köcher's avatar
      Run cargo fmt on the whole code base (#9394) · 7b56ab15
      Bastian Köcher authored
      * Run cargo fmt on the whole code base
      
      * Second run
      
      * Add CI check
      
      * Fix compilation
      
      * More unnecessary braces
      
      * Handle weights
      
      * Use --all
      
      * Use correct attributes...
      
      * Fix UI tests
      
      * AHHHHHHHHH
      
      * 🤦
      
      * Docs
      
      * Fix compilation
      
      * 🤷
      
      * Please stop
      
      * 🤦
      
       x 2
      
      * More
      
      * make rustfmt.toml consistent with polkadot
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      7b56ab15
  15. Jul 18, 2021
  16. Jul 12, 2021
  17. Jun 23, 2021
  18. Jun 21, 2021
    • Shawn Tabrizi's avatar
      New Weights for All Pallets (#9148) · e5831c3d
      Shawn Tabrizi authored
      * Create run_benchmarks.sh
      
      * Update run_benchmarks.sh
      
      * new weights
      
      * Delete run_benchmarks.sh
      
      * wrong folder
      
      * remove grandpa weight
      
      * Update weights.rs
      e5831c3d
  19. Jun 15, 2021
  20. Jun 12, 2021
  21. May 10, 2021
  22. May 05, 2021
  23. Apr 18, 2021
    • Kian Paimani's avatar
      Add benchmarks for pallet-membership (#8596) · b6b10703
      Kian Paimani authored
      
      
      * Add benchmakrs for membership
      
      * Update frame/membership/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Make it all work
      
      * Add mock weights
      
      * Update frame/membership/src/lib.rs
      
      * Update frame/membership/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/membership/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/membership/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      b6b10703
  24. Apr 01, 2021
  25. Mar 23, 2021
  26. Mar 18, 2021
    • Shaun Wang's avatar
      Replace 'Module' with 'Pallet' in construct_runtime macro (#8372) · 2e552244
      Shaun Wang authored
      * Use 'Pallet' struct in construct_runtime.
      
      * Fix genesis and metadata macro.
      
      * Fix 'Pallet' type alias.
      
      * Replace 'Module' with 'Pallet' for all construct_runtime use cases.
      
      * Replace more deprecated 'Module' struct.
      
      * Bring back AllModules and AllPalletsWithSystem type, but deprecate them.
      
      * Replace deprecated 'Module' struct from merge master.
      
      * Minor fix.
      
      * Fix UI tests.
      
      * Revert UI override in derive_no_bound.
      
      * Fix more deprecated 'Module' use from master branch.
      
      * Fix more deprecated 'Module' use from master branch.
      2e552244
  27. Mar 16, 2021
  28. Mar 12, 2021
    • André Silva's avatar
      im-online: use EstimateNextSessionRotation to get better estimates of session progress (#8242) · 51822097
      André Silva authored
      * frame-support: add method to estimate current session progress
      
      * im-online: use EstimateNextSessionRotation trait to delay heartbeats
      
      * node: fix im-online pallet instantiation
      
      * frame-support: fix docs
      
      * frame: fix tests
      
      * pallet-session: last block of periodic session means 100% session progress
      
      * pallet-session: add test for periodic session progress
      
      * pallet-babe: fix epoch progress and add test
      
      * frame-support: return weight with session estimates
      
      * pallet-im-online: add test for session progress logic
      51822097
  29. Mar 10, 2021
    • Tomasz Drwięga's avatar
      Custom RPC for Merkle Mountain Range pallet (#8137) · f3d4355a
      Tomasz Drwięga authored
      * Add MMR custom RPC.
      
      * Change RuntimeApi to avoid hardcoding leaf type.
      
      * Properly implement the new RuntimeAPI and wire up RPC.
      
      * Extract Offchain DB as separate execution extension.
      
      * Enable offchain DB access for offchain calls.
      
      * Fix offchain_election tests.
      
      * Skip block initialisation for proof generation.
      
      * Fix integration test setup.
      
      * Fix offchain tests. Not sure how I missed them earlier 🤷.
      
      * Fix long line.
      
      * One more test missing.
      
      * Update mock for multi-phase.
      
      * Address review grumbbles.
      
      * Address review grumbles.
      
      * Fix line width of a comment
      f3d4355a
  30. Mar 05, 2021
  31. 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
  32. Feb 16, 2021
    • Peter Goodspeed-Niklaus's avatar
      Create a macro which automates creation of benchmark test suites. (#8104) · 44d5aba8
      Peter Goodspeed-Niklaus authored
      
      
      * Create a macro which automates creation of benchmark test suites.
      
      * bump impl_version
      
      * allow unused on test_bench_by_name
      
      * use proper doctest ignore attribute
      
      * Explicitly hand the Module to the test suite
      
      Much better practice than depending on it showing up implicitly in
      the namespace.
      
      * explicitly import what we need into `mod tests`
      
      * bench_module is `ident` not `tt`
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * allow end users to specify arguments for new_test_ext
      
      This turned out to be surprisingly easy. On reflection, it turns out
      that of course the compiler can't eagerly evaluate the function call,
      but needs to paste it in everywhere desired.
      
      * enable explicitly specifying the path to the benchmarks invocation
      
      also enable optional trailing commas
      
      * Revert "bump impl_version"
      
      This reverts commit 0209e4de33fd43873f8cfc6875815d0fd6151e63.
      
      * list failing benchmark tests and the errors which caused the failure
      
      * harden benchmark tests against internal panics
      
      * suppress warning about ignored profiles
      
      unfortunately, setting the profile here doesn't do anything; we'd
      need to set it in every leaf package anyway. However, as this was
      just making the default explicit anyway, I think it's safe enough
      to remove entirely.
      
      * impl_benchmark_test_suite for assets
      
      * impl_benchmark_test_suite for balances
      
      * impl_benchmark_test_suite for bounties
      
      * impl_benchmark_test_suite for Collective
      
      * impl_benchmark_test_suite for Contracts
      
      * impl_benchmark_test_suite for Democracy
      
      * don't impl_benchmark_test_suite for Elections-Phragmen
      
      * impl_benchmark_test_suite for Identity
      
      Note that Identity tests currently fail. They failed in an identical
      way before this change, so as far as I'm concerned, the status quo is
      good enough for now.
      
      * impl_benchmark_test_suite for ImOnline
      
      * impl_benchmark_test_suite for indices
      
      For this crate also, the test suite fails identically with and without
      this change, so we can say that this change is not the cause of the
      tests' failure to compile.
      
      * impl_benchmark_test_suite for lottery
      
      * impl_benchmark_test_suite for merkle-mountain-range
      
      * impl_benchmark_test_suite for Multisig
      
      These tests fail identically with and without the change, so the change
      seems unlikely to be the origin of the failures.
      
      * impl_benchmark_test_suite for offences
      
      * impl_benchmark_test_suite for Proxy
      
      Fails identically with and without this change.
      
      * impl_benchmark_test_suite for scheduler
      
      * impl_benchmark_test_suite for session
      
      It turns out to be important to be able to exclude items marked
      `#[extra]` sometimes. Who knew?
      
      * impl_benchmark_test_suite for staking
      
      * impl_benchmark_test_suite for system
      
      * impl_benchmark_test_suite for timestamp
      
      * impl_benchmark_test_suite for tips
      
      * impl_benchmark_test_suite for treasury
      
      * impl_benchmark_test_suite for utility
      
      Note that benchmark tests fail identically before and after this change.
      
      * impl_benchmark_test_suite for vesting
      
      * fix wrong module name in impl_benchmark_test_suite in Offences
      
      * address line length nits
      
      * enable optional keyword argument: exec_name
      
      Took a _lot_ of macro-wrangling to get the functionality that I want,
      but now you have the option to pass in
      
      ```rust
      impl_benchmark_test_suite!(
      	Elections,
      	crate::tests::ExtBuilder::default().desired_members(13).desired_runners_up(7),
      	crate::tests::Test,
      	exec_name = build_and_execute,
      );
      ```
      
      and have it expand out properly. A selected fragment of the expansion:
      
      ```rust
              fn test_benchmarks() {
                  crate::tests::ExtBuilder::default()
                      .desired_members(13)
                      .desired_runners_up(7)
                      .build_and_execute(|| {
      ```
      
      * get rid of dead code
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      44d5aba8
  33. Feb 04, 2021
  34. Feb 02, 2021
    • Liu-Cheng Xu's avatar
      Decouple the session validators from im-online (#7127) · 9904267e
      Liu-Cheng Xu authored
      * Decouple the session validators from im-online
      
      * .
      
      * Add SessionInterface trait in im-online
      
      Add ValidatorId in im-online Trait
      
      Make im-online compile
      
      Make substrate binary compile
      
      * Fix merging issue
      
      * Make all compile
      
      * Fix tests
      
      * Avoid using frame dep in primitives via pallet-session-common
      
      * Merge ValidatorSet into SessionInterface trait
      
      Wrap a few too long lines
      
      Add some docs
      
      * Move pallet-sesion-common into pallet-session
      
      * Move SessionInterface to sp-session and impl it in session pallet
      
      Ref https://github.com/paritytech/substrate/pull/7127#discussion_r494892472
      
      
      
      * Split put historical::FullValidatorIdentification trait
      
      * Fix line width
      
      * Fix staking mock
      
      * Fix session doc test
      
      * Simplify <T as ValidatorIdentification<AccountId>>::ValidatorId as ValidatorId<T>
      
      * Nits
      
      * Clean up.
      
      * Make it compile by commenting out report_offence_im_online bench
      
      * Tests
      
      * Nits
      
      * Move OneSessionHandler to sp-session
      
      * Fix tests
      
      * Add some docs
      
      * .
      
      * Fix typo
      
      * Rename to ValidatorSet::session_index()
      
      * Add some more docs
      
      * .
      
      * Remove extra empty line
      
      * Fix line width check
      
      .
      
      * Apply suggestions from code review
      
      * Cleaup Cargo.toml
      
      * Aura has migrated to Pallet now
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      9904267e
  35. Jan 06, 2021
  36. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  37. Dec 30, 2020
  38. Dec 08, 2020
    • Tomasz Drwięga's avatar
      Streamline frame_system weight parametrization (#6629) · 39a776cd
      Tomasz Drwięga authored
      
      
      * Basic weights builder.
      
      * Fixing WiP
      
      * Make the tests work.
      
      * Fix weights in node/runtime.
      
      * WiP.
      
      * Update pallets with new weights parameters.
      
      * Validate returns a Result now.
      
      * Count mandatory weight separately.
      
      * DRY
      
      * BREAKING: Updating state root, because of the left-over weight-tracking stuff
      
      * Update tests affected by Mandatory tracking.
      
      * Fixing tests.
      
      * Fix defaults for simple_max
      
      * Update frame/system/src/weights.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Rework the API a bit.
      
      * Fix compilation & tests.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add extra docs & rename few things.
      
      * Fix whitespace in ASCII art.
      
      * Update frame/system/src/limits.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix max_extrinsic calculations.
      
      * Fix conflicts.
      
      * Fix compilation.
      
      * Fix new code.
      
      * re-remove generic asset
      
      * Fix usage.
      
      * Update state root.
      
      * Update proxy.
      
      * Fix tests.
      
      * Move weights validity to integrity_test
      
      * Remove redundant BlockWeights.
      
      * Add all/non_mandatory comment
      
      * Add test.
      
      * Remove fn block_weights
      
      * Make the macro prettier.
      
      * Fix some docs.
      
      * Make max_total behave more predictabily.
      
      * Add BlockWeights to metadata.
      
      * fix balances test
      
      * Fix utility test.
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      39a776cd
  39. Nov 30, 2020