1. Aug 07, 2021
  2. Aug 03, 2021
  3. Aug 02, 2021
  4. Aug 01, 2021
    • Shawn Tabrizi's avatar
      Refactor Benchmarks for Less Wasm Memory Usage (#9373) · fa8c6274
      Shawn Tabrizi authored
      
      
      * extract repeat out of benchmark
      
      * remove r
      
      * unused
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * use linked map to keep order
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Delete pallet_balances.rs
      
      * Delete out
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * steps and repeat to tuple (current_*, total_*)
      
      * idea for list command
      
      * fmt
      
      * use benchmark list in cli
      
      * handle steps in cli
      
      * move log update to cli
      
      * fmt
      
      * remove old todo
      
      * line width
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * benchmark metadata function
      
      * don't need this warm up
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix warnings
      
      * fix node-template
      
      * fix
      
      * fmt
      
      * line width
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * improve docs
      
      * improve cli
      
      * fix format
      
      * fix bug?
      
      * Revert "fix bug?"
      
      This reverts commit 8051bf1bf9bae862ff28dfff386e7045cd3f045e.
      
      * skip frame-metadata
      
      * extract repeat out of benchmark
      
      * remove r
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * use linked map to keep order
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Delete pallet_balances.rs
      
      * Delete out
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * steps and repeat to tuple (current_*, total_*)
      
      * idea for list command
      
      * fmt
      
      * use benchmark list in cli
      
      * handle steps in cli
      
      * move log update to cli
      
      * remove old todo
      
      * line width
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * benchmark metadata function
      
      * don't need this warm up
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix warnings
      
      * fix node-template
      
      * fix
      
      * fmt
      
      * line width
      
      * cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * improve docs
      
      * improve cli
      
      * fix format
      
      * fix bug?
      
      * Revert "fix bug?"
      
      This reverts commit 8051bf1bf9bae862ff28dfff386e7045cd3f045e.
      
      * skip frame-metadata
      
      * Update .gitlab-ci.yml
      
      * fix import
      
      * Update .gitlab-ci.yml
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      fa8c6274
  5. Jul 26, 2021
  6. Jul 23, 2021
  7. 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
  8. Jul 12, 2021
  9. Jul 09, 2021
    • Kian Paimani's avatar
      Make election benchmarks more *memory-aware* (#9286) · 3850a433
      Kian Paimani authored
      
      
      * Make benchmarks a bit better with mem
      
      * Make election benchmarks more *memory-aware*
      
      * Fix a few errors
      
      * cargo run --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
      
      * Manually fix the weights
      
      * Update lock file
      
      * remove dupe
      
      * Fix tests
      
      * cargo update pwasm
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      3850a433
  10. Jul 07, 2021
    • Shawn Tabrizi's avatar
      Include `StorageInfo` in Benchmarking Pipeline (#9090) · b42b8fc5
      Shawn Tabrizi authored
      
      
      * extend storageinfo
      
      * extend_storage_info
      
      * use vec
      
      * add storage info to pipeline
      
      * get read and written keys
      
      * undo storageinfo move
      
      * refactor keytracker
      
      * return read / write count
      
      * playing with key matching
      
      * add basic `StorageInfo` constructor
      
      * add whitelisted to returned info
      
      * fix some test stuff
      
      * pipe comments into benchmark data
      
      * add_storage_comments
      
      * add comments to template
      
      * track only storage prefix
      
      * Update frame/benchmarking/src/lib.rs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix test
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove test logs
      
      * add temp benchmark script
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * remove keytracker and use trackedstoragekey
      
      * add comment for unknown keys
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove duplicate comments with unknown keys
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/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_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * refactor bench tracker, and fix results
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix child tries in new tracker
      
      * extra newline
      
      * fix unused warning
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix master merge
      
      * storage info usage refactor
      
      * remove now unused
      
      * fix refactor
      
      * use a vec for prefix
      
      * fix tests
      
      * also update writer to use vec
      
      * disable read and written keys for now
      
      * cargo run --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
      
      * Update frame/system/src/weights.rs
      
      * fix test
      
      * Delete weights.rs
      
      * reset weights
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      b42b8fc5
  11. Jul 05, 2021
    • Igor Matuszewski's avatar
      Remove in-tree `max-encoded-len` and use the new SCALE codec crate instead (#9163) · eb6d651f
      Igor Matuszewski authored
      
      
      * Update impl-codec to use new upstream MaxEncodedLen trait
      
      * Adapt crates to use the updated codec crate for `MaxEncodedLen`
      
      * Remove max-encoded-len crate altogether
      
      * Fix test compilation in `pallet-proxy`
      
      * reorganize import (#9186)
      
      * Fix remaining `MaxEncodedLen` imports
      
      * Fix remaining old usages of max-encoded-len crate
      
      * Fix UI test
      
      * Manually depend on new impl-codec to fix Polkadot companion build
      
      * Use newly released primitive-types v0.9.1 that has new codec impls
      
      * Make sure codec deps are up-to-date in crates that use them
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      eb6d651f
  12. Jul 01, 2021
    • Bastian Köcher's avatar
      Do not call `initialize_block` before any runtime api (#8953) · d489bd70
      Bastian Köcher authored
      * Do not call `initialize_block` before any runtime api
      
      Before this change we always called `initialize_block` before calling
      into the runtime. There was already support with `skip_initialize` to skip
      the initialization. Almost no runtime_api requires that
      `initialize_block` is called before. Actually this only leads to higher
      execution times most of the time, because all runtime modules are
      initialized and this is especially expensive when the block contained a
      runtime upgrade.
      
      TLDR: Do not call `initialize_block` before calling a runtime api.
      
      * Change `validate_transaction` interface
      
      * Fix rpc test
      
      * Fixes and comments
      
      * Some docs
      d489bd70
  13. Jun 28, 2021
    • Kian Paimani's avatar
      Decouple Staking and Election - Part 3: Signed Phase (#7910) · e6c83710
      Kian Paimani authored
      
      
      * Base features and traits.
      
      * pallet and unsigned phase
      
      * add signed phase.
      
      * remove comments
      
      * Undo bad formattings.
      
      * some formatting cleanup.
      
      * Small self-cleanup.
      
      * Add todo
      
      * Make it all build
      
      * self-review
      
      * Some doc tests.
      
      * Some changes from other PR
      
      * Fix session test
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Fix name.
      
      * cargo run --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
      
      * typos and verbiage
      
      * no glob imports in signed.rs
      
      * meaningful generic type parameters for SignedSubmission
      
      * dedup feasibility check weight calculation
      
      * simplify/optimize fn insert_submission
      
      * tests: remove glob, cause to build without error
      
      * use sp_std::vec::Vec
      
      * maintain invariant within fn insert_submission
      
      * fix accidentally ordering the list backward
      
      * intentionally order the list in reverse
      
      * get rid of unused import
      
      * ensure signed submissions are cleared in early elect
      
      * finalize the signed phase when appropriate
      
      - ensure we don't leave storage lying around, even if elect called prematurely
      - test that proposition
      - disable the unsigned phase if a viable solution from the signed phase exists
      - ensure signed phase finalization weight is accounted for
      
      * resolve dispatch error todo
      
      * update assumptions in submit benchmark
      
      * cargo run --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
      
      * line length
      
      * make a few more things pub
      
      * restore missing import
      
      * update ui test output
      
      * update tests from master branch
      
      * cargo run --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
      
      * remove duplicate definitions
      
      * remove signed reward factor due to its attack potential
      
      * Update frame/election-provider-multi-phase/src/signed.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * remove SignedRewardMax; no longer necessary
      
      * compute the encoded size without actually encoding
      
      * remove unused PostInfo
      
      * pub use some stuff
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * ensure `pub use` things are in fact `pub`
      
      * add event information: was another solution ejected to make room
      
      * unconditionally run the unsigned phase even if signed was successful
      
      * remove dead test code
      
      * meaningful witness data name
      
      * use errors instead of defensive `unwrap_or_default`
      
      * get rid of a log message redundant with an event
      
      * saturating math
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * import Saturating
      
      * mv `fn submit` to end of call
      
      * add log line
      
      * Use a better data structure for SignedSubmissions instead of Vec (#8933)
      
      * Remove: (#8748)
      
      * `NetworkStatusSinks`
      * `sc_service::SpawnTasksParams::network_status_sinks`
      
      Also:
      * `sc_service::build_network()` does not return `network_status_sinks`
      
      * CI: fix simnet trigger (#8927)
      
      * CI: chore
      
      * CI: pin simnet version
      
      * More sc-service config reexports (#8887)
      
      * Reexport ExecutionStrategies and ExecutionStrategy
      
      * Reexport more of the network
      
      * Reexport the ExecutionStrategy as it's used within ExecutionStrategies
      
      * Fix check runtime CI (#8930)
      
      * Fix check_runtime.sh script
      
      * contracts: Remove confusing "Related Modules" doc
      
      * Bump parity-wasm and pwasm-utils to the newest versions everywhere (#8928)
      
      * BROKEN: convert SignedSubmissions to BoundedBTreeSet
      
      Eventually, once it works, this change should improve overall performance.
      However, in the meantime, the trait bounds aren't playing nicely, and
      this is turning into too much of a pain to handle right now as part of
      /#7910. We can take care of it later.
      
      * Simple `MaxBoundedLen` Implementations (#8793)
      
      * implement max_values + storages info
      
      * some formatting + doc
      
      * sudo sanity check
      
      * timestamp
      
      * assets (not working)
      
      * fix assets
      
      * impl for proxy
      
      * update balances
      
      * rename StoragesInfo -> PalletStorageInfo
      
      * merge both StorageInfoTrait and PalletStorageInfo
      
      I think it is more future proof. In the future some storage could make
      use of multiple prefix. Like one to store how much value has been
      inserted, etc...
      
      * Update frame/support/procedural/src/storage/parse.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Update frame/support/procedural/src/storage/storage_struct.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Fix max_size using hasher information
      
      hasher now expose `max_len` which allows to computes their maximum len.
      For hasher without concatenation, it is the size of the hash part,
      for hasher with concatenation, it is the size of the hash part + max
      encoded len of the key.
      
      * fix tests
      
      * fix ui tests
      
      * Move `MaxBoundedLen` into its own crate (#8814)
      
      * move MaxEncodedLen into its own crate
      
      * remove MaxEncodedLen impl from frame-support
      
      * add to assets and balances
      
      * try more fixes
      
      * fix compile
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * nits
      
      * fix compile
      
      * line width
      
      * fix max-values-macro merge
      
      * Add some derive, needed for test and other purpose
      
      * use weak bounded vec in some cases
      
      * Update lib.rs
      
      * move max-encoded-len crate
      
      * fix
      
      * remove app crypto for now
      
      * width
      
      * Revert "remove app crypto for now"
      
      This reverts commit 73623e9933d50648e0e7fe90b6171a8e45d7f5a2.
      
      * unused variable
      
      * more unused variables
      
      * more fixes
      
      * Add #[max_encoded_len_crate(...)] helper attribute
      
      The purpose of this attribute is to reduce the surface area of
      max_encoded_len changes. Crates deriving `MaxEncodedLen` do not
      need to add it to `Cargo.toml`; they can instead just do
      
      ```rust
      \#[derive(Encode, MaxEncodedLen)]
      \#[max_encoded_len_crate(frame_support::max_encoded_len)]
      struct Example;
      ```
      
      * fix a ui test
      
      * use #[max_encoded_len_crate(...)] helper in app_crypto
      
      * remove max_encoded_len import where not necessary
      
      * update lockfile
      
      * fix ui test
      
      * ui
      
      * newline
      
      * fix merge
      
      * try fix ui again
      
      * Update max-encoded-len/derive/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * extract generate_crate_access_2018
      
      * Update lib.rs
      
      * compiler isnt smart enough
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * remove duplicate Issued/Burned events (#8935)
      
      * weather -> whether (#8938)
      
      * make remote ext use batch ws-client (#8916)
      
      * make remote ext use batch ws-client
      
      * Add debug log for key length
      
      * better assertions
      
      * new sanity_checl
      
      * try and make it work with batch
      
      * update test
      
      * remove exctra uri
      
      * add missing at
      
      * remove unused rpc stuff
      
      * improve
      
      Co-authored-by: default avataremostov <[email protected]>
      
      * Make `Schedule` fields public to allow for customization (#8924)
      
      * Make `Schedule` fields public for customization
      
      * Fix doc typo
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      * Session key should be settable at genesis even for non-endowed accounts (#8942)
      
      * Session key should be settable at genesis even for non-endowed accounts
      
      * Docs
      
      * Migrate pallet-scored-pool to pallet attribute macro (#8825)
      
      * Migrate pallet-scored-pool to pallet attribute macro.
      
      * Remove dummy event.
      
      * Apply review suggestions.
      
      * Bump retain_mut from 0.1.2 to 0.1.3 (#8951)
      
      Bumps [retain_mut](https://github.com/upsuper/retain_mut) from 0.1.2 to 0.1.3.
      - [Release notes](https://github.com/upsuper/retain_mut/releases)
      - [Commits](https://github.com/upsuper/retain_mut/compare/v0.1.2...v0.1.3
      
      )
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Use correct CreateInherentDataProviders impl for manual seal (#8852)
      
      * use correct CreateInherentDataProviders impl for manual seal
      
      * add babe inherent provider
      
      * move client into factory fn
      
      * Refactor code a little bit (#8932)
      
      * Optimize `next_storage_key` (#8956)
      
      * Optimize `next_storage_key`
      
      - Do not rely on recursion
      - Use an iterator over the overlay to not always call the same method
      
      * Fix bug
      
      * Add deserialize for TransactionValidityError in std. (#8961)
      
      * Add deserialize for TransactionValidityError in std.
      
      * Fix derives
      
      * Bump getrandom from 0.2.2 to 0.2.3 (#8952)
      
      Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.2 to 0.2.3.
      - [Release notes](https://github.com/rust-random/getrandom/releases)
      - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-random/getrandom/compare/v0.2.2...v0.2.3
      
      )
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Allow usage of path in construct_runtime! (#8801)
      
      * Allow usage of path in construct_runtime!
      
      * Fix whitespace
      
      * Fix whitespace
      
      * Make expand_runtime_metadata accept slice instead of Iterator
      
      * Include Call and Event in construct_runtime for testing
      
      * Migrate impl_outer_event to proc macro
      
      * Fix integrity_test_works
      
      * Update UI test expectations
      
      * Factor in module path while generating enum variant or fn names
      
      * Use ParseStream::lookahead for more helpful error messages
      
      * Remove generating outer_event_metadata
      
      * Ensure pallets with different paths but same last path segment can coexist
      
      * Remove unnecessary generated function
      
      * Migrate decl_outer_config to proc macro
      
      * Add default_filter test for expand_outer_origin
      
      * Allow crate, self and super keywords to appear in pallet path
      
      * Add UI test for specifying empty pallet paths in construct_runtime
      
      * Reduce cargo doc warnings (#8947)
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update wasmtime to 0.27 (#8913)
      
      * Update wasmtime to 0.27
      
      A couple of notes:
      
      - Now we are fair about unsafeness of runtime creation via an compiled artifact.
        This change was prompted by the change in wasmtime which made
        `deserialize` rightfully unsafe. Now `CodeSupplyMode` was hidden and
        the `create_runtime` now takes the blob again and there is now a new
        fn for creating a runtime with a compiled artifact.
      - This is a big change for wasmtime. They switched to the modern backend
        for code generation. While this can bring performance improvements, it
        can also introduce some problems. In fact, 0.27 fixed a serious issue
        that could lead to sandbox escape. Hence we need a proper burn in.
      
      This would require a change to PVF validation host as well.
      
      * Filter regalloc logging
      
      * Spellling corrections (no code changes) (#8971)
      
      * Spelling corrections
      
      * As this might break let's do as a separate PR
      
      * Dependabot use correct label (#8973)
      
      * Inject hashed prefix for remote-ext (#8960)
      
      * Inject for remote-ext
      
      * Update utils/frame/remote-externalities/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update utils/frame/remote-externalities/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Use `SpawnTaskHandle`s for spawning tasks in the tx pool  (#8958)
      
      * Remove futures-diagnose
      
      * Use `SpawnTaskHandle`s for spawning tasks in the tx pool
      
      * Box the spawner
      
      * Fix tests
      
      * Use the testing task executor
      
      * Do not spend time on verifying the signatures before calling Runtime (#8980)
      
      * Revert "Use `SpawnTaskHandle`s for spawning tasks in the tx pool  (#8958)" (#8983)
      
      This reverts commit 84e40238
      
      .
      
      * Uniques: An economically-secure basic-featured NFT pallet (#8813)
      
      * Uniques: An economically-secure basic-featured NFT pallet
      
      * force_transfer
      
      * freeze/thaw
      
      * team management
      
      * approvals
      
      * Fixes
      
      * force_asset_status
      
      * class_metadata
      
      * instance metadata
      
      * Fixes
      
      * use nmap
      
      * Fixes
      
      * class metadata has information field
      
      * Intiial mock/tests and a fix
      
      * Remove impl_non_fungibles
      
      * Docs
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Reserve, don't transfer.
      
      * Fixes
      
      * Tests
      
      * Tests
      
      * refresh_deposit
      
      * Tests and proper handling of metdata destruction
      
      * test burn
      
      * Tests
      
      * Update impl_fungibles.rs
      
      * Initial benchmarking
      
      * benchmark
      
      * Fixes
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Attributes
      
      * Attribute metadata
      
      * Fixes
      
      * Update frame/uniques/README.md
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Simple metadata
      
      * Use BoundedVec
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      
      * Update frame/uniques/src/lib.rs
      
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      
      * Fixes
      
      * Update frame/uniques/README.md
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Update frame/uniques/README.md
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Update frame/uniques/README.md
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Docs
      
      * Bump
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Update WeakBoundedVec's remove and swap_remove (#8985)
      
      Co-authored-by: default avatarBoiethios <[email protected]>
      
      * Convert another instance of Into impl to From in the macros (#8986)
      
      * Convert another instance of Into impl to From in the macros
      
      * Convert another location
      
      * also fix bounded vec (#8987)
      
      * fix most compiler errors
      
      Mostly the work so far has been in tracking down where precisely
      to insert appropriate trait bounds, and updating `fn insert_submission`.
      However, there's still a compiler error remaining:
      
      ```
      error[E0275]: overflow evaluating the requirement `Compact<_>: Decode`
        |
        = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`pallet_election_provider_multi_phase`)
        = note: required because of the requirements on the impl of `Decode` for `Compact<_>`
        = note: 126 redundant requirements hidden
        = note: required because of the requirements on the impl of `Decode` for `Compact<_>`
      ```
      
      Next up: figure out how we ended up with that recursive bound, and fix it.
      
      * extract type SignedSubmissionsOf<T>
      
      Weirdly, we still encounter the recursive trait definition error here,
      despite removing the trait bounds. Something weird is happening.
      
      * impl Decode bounds on BoundedBTreeMap/Set on T, not predecessor
      
      Otherwise, Rust gets confused and decides that the trait bound is
      infinitely recursive.
      
      For that matter, it _still_ gets confused somehow and decides
      that the trait bound is infinitely recursive, but at least
      this should somewhat simplify the matter.
      
      * fix recursive trait bound problem
      
      * minor fixes
      
      * more little fixes
      
      * correct semantics for try_insert
      
      * more fixes
      
      * derive Ord for SolutionType
      
      * tests compile
      
      * fix most tests, rm unnecessary one
      
      * Transactionpool: Make `ready_at` return earlier (#8995)
      
      `ready_at` returns when we have processed the requested block. However,
      on startup we already have processed the best block and there
      are no transactions in the pool on startup anyway. So, we can set `updated_at`
      to the best block on startup.
      
      Besides that `ready_at` now returns early when there are no ready nor
      any future transactions in the pool.
      
      * Discard notifications if we have failed to parse handshake (#8806)
      
      * Migrate pallet-democracy to pallet attribute macro (#8824)
      
      * Migrate pallet-democracy to pallet attribute macro.
      
      * Metadata fix.
      
      * Trigger CI.
      
      * Add ecdsa::Pair::verify_prehashed() (#8996)
      
      * Add ecdsa::Pair::verify_prehashed()
      
      * turn verify_prehashed() into an associated function
      
      * add Signature::recover_prehashed()
      
      * Non-fungible token traits (#8993)
      
      * Non-fungible token traits
      
      * Docs
      
      * Fixes
      
      * Implement non-fungible trait for Uniques
      
      * Update frame/uniques/src/impl_nonfungibles.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/uniques/src/impl_nonfungibles.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Removes unused import (#9007)
      
      * Add Call Filter That Prevents Nested `batch_all` (#9009)
      
      * add filter preventing nested `batch_all`
      
      * more tests
      
      * fix test
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      
      * Transaction pool: Ensure that we prune transactions properly (#8963)
      
      * Transaction pool: Ensure that we prune transactions properly
      
      There was a bug in the transaction pool that we didn't pruned
      transactions properly because we called `prune_known`, instead of `prune`.
      
      This bug was introduced by:
      https://github.com/paritytech/substrate/pull/4629
      
      
      
      This is required to have stale extrinsics being removed properly, so
      that they don't fill up the tx pool.
      
      * Fix compilation
      
      * Fix benches
      
      * ...
      
      * Storage chain: Runtime module (#8624)
      
      * Transaction storage runtime module
      
      * WIP: Tests
      
      * Tests, benchmarks  and docs
      
      * Made check_proof mandatory
      
      * Typo
      
      * Renamed a crate
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Added weight for on_finalize
      
      * Fixed counter mutations
      
      * Reorganized tests
      
      * Fixed build
      
      * Update for the new inherent API
      
      * Reworked for the new inherents API
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Store transactions in a Vec
      
      * Added FeeDestination
      
      * Get rid of constants
      
      * Fixed node runtime build
      
      * Fixed benches
      
      * Update frame/transaction-storage/src/lib.rs
      
      Co-authored-by: default avatarcheme <[email protected]>
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * more useful error message (#9014)
      
      * Named reserve (#7778)
      
      * add NamedReservableCurrency
      
      * move currency related trait and types into a new file
      
      * implement NamedReservableCurrency
      
      * remove empty reserves
      
      * Update frame/support/src/traits.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * fix build
      
      * bump year
      
      * add MaxReserves
      
      * repatriate_reserved_named should put reserved fund into named reserved
      
      * add tests
      
      * add some docs
      
      * fix warning
      
      * Update lib.rs
      
      * fix test
      
      * fix test
      
      * fix
      
      * fix
      
      * triggier CI
      
      * Move NamedReservableCurrency.
      
      * Use strongly bounded vec for reserves.
      
      * Fix test.
      
      * remove duplicated file
      
      * trigger CI
      
      * Make `ReserveIdentifier` assosicated type
      
      * add helpers
      
      * make ReserveIdentifier assosicated type
      
      * fix
      
      * update
      
      * trigger CI
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * trigger CI
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarShaun Wang <[email protected]>
      
      * update ss58 type to u16 (#8955)
      
      * Fixed build (#9021)
      
      * Bump parity-db (#9024)
      
      * consensus: handle justification sync for blocks authored locally (#8698)
      
      * consensus: add trait to control justification sync process
      
      * network: implement JustificationSyncLink for NetworkService
      
      * slots: handle justification sync in slot worker
      
      * babe: fix slot worker instantiation
      
      * aura: fix slot worker instantiation
      
      * pow: handle justification sync in miner
      
      * babe: fix tests
      
      * aura: fix tests
      
      * node: fix compilation
      
      * node-template: fix compilation
      
      * consensus: rename justification sync link parameter
      
      * aura: fix test compilation
      
      * consensus: slots: move JustificationSyncLink out of on_slot
      
      * arithmetic: fix PerThing pow (#9030)
      
      * arithmetic: add failing test for pow
      
      * arithmetic: fix PerThing::pow
      
      * Revert back to previous optimisations
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      
      * Compact proof utilities in sp_trie. (#8574)
      
      * validation extension in sp_io
      
      * need paths
      
      * arc impl
      
      * missing host function in executor
      
      * io to pkdot
      
      * decode function.
      
      * encode primitive.
      
      * trailing tab
      
      * multiple patch
      
      * fix child trie logic
      
      * restore master versionning
      
      * bench compact proof size
      
      * trie-db 22.3 is needed
      
      * line width
      
      * split line
      
      * fixes for bench (additional root may not be needed as original issue was
      with empty proof).
      
      * revert compact from block size calculation.
      
      * New error type for compression.
      
      * Adding test (incomplete (failing)).
      Also lacking real proof checking (no good primitives in sp-trie crate).
      
      * There is currently no proof recording utility in sp_trie, removing
      test.
      
      * small test of child root in proof without a child proof.
      
      * remove empty test.
      
      * remove non compact proof size
      
      * Missing revert.
      
      * proof method to encode decode.
      
      * Don't inlucde nominaotrs that back no one in the snapshot. (#9017)
      
      * fix all_in_one test which had a logic error
      
      * use sp_std, not std
      
      * Periodically call `Peerset::alloc_slots` on all sets (#9025)
      
      * Periodically call alloc_slots on all slots
      
      * Add test
      
      * contracts: Add new `seal_call` that offers new features (#8909)
      
      * Add new `seal_call` that offers new features
      
      * Fix doc typo
      
      Co-authored-by: default avatarMichael Müller <[email protected]>
      
      * Fix doc typos
      
      Co-authored-by: default avatarMichael Müller <[email protected]>
      
      * Fix comment on assert
      
      * Update CHANGELOG.md
      
      Co-authored-by: default avatarMichael Müller <[email protected]>
      
      * fix unreserve_all_named (#9042)
      
      * Delete legacy runtime metadata macros (#9043)
      
      * `rpc-http-threads` cli arg (#8890)
      
      * Add optional `rpc-http-threads` cli arg
      
      * Update `http::ServerBuilder`threads
      
      * allow inserting equal items into bounded map/set
      
      * refactor: only load one solution at a time
      
      This increases the database read load, because we read one solution
      at a time. On the other hand, it substantially decreases the overall
      memory load, because we _only_ read one solution at a time instead
      of reading all of them.
      
      * Emit `Bonded` event when rebonding (#9040)
      
      * Emit `Bonded` event when rebonding
      
      * fix borrow checker
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      
      * fix tests
      
      * Revert "Merge remote-tracking branch 'origin/master' into prgn-election-provider-multi-phase-bounded-btree-set-signed-submissions"
      
      This reverts commit de92b1e8e0e44a74c24e270d02b6e8e6a2c37032, reversing
      changes made to dae31f2018593b60dbf1d96ec96cdc35c374bb9e.
      
      * only derive debug when std
      
      * write after check
      
      * SignedSubmissions doesn't ever modify storage until .put()
      
      This makes a true check-before-write pattern possible.
      
      * REVERT ME: demo that Drop impl doesn't work
      
      * Revert "REVERT ME: demo that Drop impl doesn't work"
      
      This reverts commit 3317a4bb4de2e77d5a7fff2154552a81ec081763.
      
      * doc note about decode_len
      
      * rename get_submission, take_submission for clarity
      
      * add test which fails for current incorrect behavior
      
      * inline fn insert_submission
      
      This fixes a tricky check-before-write error, ensuring that we
      really only ever modify anything if we have in fact succeeded.
      
      Co-authored-by: default avatarRoman Proskuryakov <[email protected]>
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      Co-authored-by: default avatarMOZGIII <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarSebastian Müller <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarShaun Wang <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarBoiethios <[email protected]>
      Co-authored-by: default avatarBoiethios <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarAndreas Doerr <[email protected]>
      Co-authored-by: default avatarDmitry Kashitsyn <[email protected]>
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarXiliang Chen <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarJakub Pánik <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarMichael Müller <[email protected]>
      Co-authored-by: default avatartgmichel <[email protected]>
      
      * cargo run --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
      
      * remove duplicate weight definitions injected by benchmark bot
      
      * check deletion overlay before getting
      
      * clarify non-conflict between delete, insert overlays
      
      * drain can be used wrong so is private
      
      * update take_submission docs
      
      * more drain improvements
      
      * more take_submission docs
      
      * debug assertion helps prove expectation is valid
      
      * doc on changing SignedMaxSubmissions
      
      * take_submission inner doc on system properties
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * get SolutionOrSnapshotSize out of the loop
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * doc which items comprise `SignedSubmissions`
      
      * add doc about index as unique identifier
      
      * Add debug assertions to prove drain worked properly
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * replace take_submission with swap_out_submission
      
      * use a match to demonstrate all cases from signed_submissions.insert
      
      * refactor signed_submissions.insert return type
      
      * prettify test assertion
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * improve docs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * add tests that finalize_signed_phase is idempotent
      
      * add some debug assertions to guard against misuse of storage
      
      * log internal logic errors instead of panicing
      
      * don't store the reward with each signed submission
      
      The signed reward base can be treated as a constant. It can in principle
      change, but even if it's updated in the middle of an election, it's
      appropriate to use the current value for the winner.
      
      * emit Rewarded, Slashed events as appropriate
      
      Makes it easier to see who won/lost with signed submissions.
      
      * update docs
      
      * use a custom enum to be explicit about the outcome of insertion
      
      * remove outdated docs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarRoman Proskuryakov <[email protected]>
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      Co-authored-by: default avatarMOZGIII <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarSebastian Müller <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarShaun Wang <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarSeun Lanlege <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarLohann Paterno Coutinho Ferreira <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarBoiethios <[email protected]>
      Co-authored-by: default avatarBoiethios <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarAndreas Doerr <[email protected]>
      Co-authored-by: default avatarDmitry Kashitsyn <[email protected]>
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarXiliang Chen <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarJakub Pánik <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarMichael Müller <[email protected]>
      Co-authored-by: default avatartgmichel <[email protected]>
      e6c83710
  14. Jun 25, 2021
  15. Jun 16, 2021
    • Keith Yeung's avatar
      Emit error when construct_runtime imports a non-existent pallet part (#8949) · 58e837fc
      Keith Yeung authored
      
      
      * Emit error when construct_runtime imports a non-existent Call part
      
      * Reword and display pallet name when emitting part not found error
      
      * Migrate decl_outer_dispatch to a proc macro
      
      * Rename calls.rs to call.rs
      
      * Create new construct_runtime_v2 macro
      
      * Add UI test for importing non-existent call part in construct_runtime
      
      * Emit error when construct_runtime imports a non-existent Config part
      
      * Emit error when construct_runtime imports a non-existent Event part
      
      * Migrate decl_outer_inherent to a proc macro
      
      * Emit error when construct_runtime imports a non-existent Inherent part
      
      * Migrate decl_outer_validate_unsigned to a proc macro
      
      * Emit error when construct_runtime imports a non-existent ValidateUnsigned part
      
      * impl for old macro
      
      * fix line width
      
      * add doc
      
      * hide macroes and use unique counter everywhere
      
      * Remove construct_runtime_v2
      
      * Encapsulate pallet part check macros in a module
      
      * Fix macro definitions in dummy part checker
      
      * Tag ProvideInherent impl with #[pallet::inherent] properly for authorship pallet
      
      * Remove Call part from pallets that do not define it
      
      * Add Call part unit tests
      
      * Remove undefined Call part import from offences pallet
      
      * Add tests for expand_outer_inherent
      
      * Remove Call part from pallets that do not define them
      
      * Remove Call part imports from pallets that do not have it defined
      
      * Remove Call part import of the offences pallet from grandpa pallet mocks
      
      * Update frame/support/test/tests/pallet.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Remove Call part imports for pallets that do not define them
      
      * Move inherent tests to inherent_expand
      
      * Add unit tests for expand_outer_validate_unsigned
      
      * Add newline at the end of file
      
      * fix ui test
      
      * Small prayer to RNGsus for fixing CI
      
      * Remove Call part from construct_runtime for randomness collective flip pallet
      
      * Remove Call part import for randomness collective flip pallet
      
      * Summon Laplace's demon instead of praying to RNGsus
      
      * Update test expectations
      
      * fix ui test and make sure it's flaky
      
      * Revert "fix ui test and make sure it's flaky"
      
      This reverts commit 362b6881389c911ef8d9ef85d71c9463f5694b20.
      
      * Comment out test instead of putting it in conditional compilation
      
      * Update UI test expectations
      
      * Update UI test expectations
      
      * Emit error when construct_runtime imports a non-existent Origin part
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarDenis P <[email protected]>
      58e837fc
  16. Jun 14, 2021
  17. Jun 12, 2021
    • Shawn Tabrizi's avatar
      Fixes in Assets Pallet (#9059) · 517fd614
      Shawn Tabrizi authored
      
      
      * upper bound witness with refund
      
      * simple test
      
      * track approvals
      
      * dont allow approvals when asset is frozen
      
      * destroy returns approval deposit
      
      * update `NonTransfer` proxies
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      517fd614
  18. Jun 04, 2021
  19. Jun 03, 2021
  20. Jun 01, 2021
  21. May 28, 2021
    • Shawn Tabrizi's avatar
      Simple `MaxBoundedLen` Implementations (#8793) · 444d4e20
      Shawn Tabrizi authored
      
      
      * implement max_values + storages info
      
      * some formatting + doc
      
      * sudo sanity check
      
      * timestamp
      
      * assets (not working)
      
      * fix assets
      
      * impl for proxy
      
      * update balances
      
      * rename StoragesInfo -> PalletStorageInfo
      
      * merge both StorageInfoTrait and PalletStorageInfo
      
      I think it is more future proof. In the future some storage could make
      use of multiple prefix. Like one to store how much value has been
      inserted, etc...
      
      * Update frame/support/procedural/src/storage/parse.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Update frame/support/procedural/src/storage/storage_struct.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Fix max_size using hasher information
      
      hasher now expose `max_len` which allows to computes their maximum len.
      For hasher without concatenation, it is the size of the hash part,
      for hasher with concatenation, it is the size of the hash part + max
      encoded len of the key.
      
      * fix tests
      
      * fix ui tests
      
      * Move `MaxBoundedLen` into its own crate (#8814)
      
      * move MaxEncodedLen into its own crate
      
      * remove MaxEncodedLen impl from frame-support
      
      * add to assets and balances
      
      * try more fixes
      
      * fix compile
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * nits
      
      * fix compile
      
      * line width
      
      * fix max-values-macro merge
      
      * Add some derive, needed for test and other purpose
      
      * use weak bounded vec in some cases
      
      * Update lib.rs
      
      * move max-encoded-len crate
      
      * fix
      
      * remove app crypto for now
      
      * width
      
      * Revert "remove app crypto for now"
      
      This reverts commit 73623e9933d50648e0e7fe90b6171a8e45d7f5a2.
      
      * unused variable
      
      * more unused variables
      
      * more fixes
      
      * Add #[max_encoded_len_crate(...)] helper attribute
      
      The purpose of this attribute is to reduce the surface area of
      max_encoded_len changes. Crates deriving `MaxEncodedLen` do not
      need to add it to `Cargo.toml`; they can instead just do
      
      ```rust
      \#[derive(Encode, MaxEncodedLen)]
      \#[max_encoded_len_crate(frame_support::max_encoded_len)]
      struct Example;
      ```
      
      * fix a ui test
      
      * use #[max_encoded_len_crate(...)] helper in app_crypto
      
      * remove max_encoded_len import where not necessary
      
      * update lockfile
      
      * fix ui test
      
      * ui
      
      * newline
      
      * fix merge
      
      * try fix ui again
      
      * Update max-encoded-len/derive/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * extract generate_crate_access_2018
      
      * Update lib.rs
      
      * compiler isnt smart enough
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      444d4e20
  22. May 26, 2021
  23. May 13, 2021
    • Alexander Theißen's avatar
      contracts: Move `Schedule` from Storage to `Config` (#8773) · 1ac95b6b
      Alexander Theißen authored
      * Move `Schedule` from Storage to Config
      
      * Updated CHANGELOG
      
      * Fix nits from review
      
      * Fix migration
      
      * Print the debug buffer as tracing message
      
      * Use `debug` instead of `trace` and update README
      
      * Add additional assert to test
      
      * Rename `schedule_version` to `instruction_weights_version`
      
      * Fixed typo
      
      * Added more comments to wat fixtures
      
      * Add clarification for the `debug_message` field
      1ac95b6b
  24. May 12, 2021
    • Sergey Pepyakin's avatar
      Embed runtime version as a custom section (#8688) · 0849bcce
      Sergey Pepyakin authored
      
      
      * emit a custom section from impl_runtime_apis!
      
      This change emits a custom section from the impl_runtime_apis! proc macro.
      
      Each implemented API will result to emitting a link section `runtime_apis`.
      During linking all sections with this name will be concatenated and
      placed into the final wasm binary under the same name.
      
      * Introduce `runtime_version` proc macro
      
      This macro takes an existing `RuntimeVersion` const declaration, parses
      it and emits the version information in form of a linking section.
      Ultimately such a linking section will result into a custom wasm
      section.
      
      * Parse custom wasm section for runtime version
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * Fix sc-executor integration tests
      
      * Nits
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Refactor apis section deserialization
      
      * Fix version decoding
      
      * Reuse uncompressed value for CallInWasm
      
      * Log on decompression error
      
      * Simplify if
      
      * Reexport proc-macro from sp_version
      
      * Merge ReadRuntimeVersionExt
      
      * Export `read_embedded_version`
      
      * Fix test
      
      * Simplify searching for custom section
      
      Co-authored-by: default avatarDavid <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0849bcce
    • Shaun Wang's avatar
      Migrate pallet-lottery to pallet attribute macro (#8762) · 6e11dd18
      Shaun Wang authored
      * Migrate pallet-lottery to pallet attribute macro.
      
      * Fix metadata inconsistency.
      
      * fix
      
      * Use DispatchResult in call returns.
      6e11dd18
  25. May 07, 2021
    • Alexander Theißen's avatar
      contracts: Refactor the exec module (#8604) · 9e894ce1
      Alexander Theißen authored
      
      
      * contracts: Add default implementation for Executable::occupied_storage()
      
      * contracts: Refactor the exec module
      
      * Let runtime specify the backing type of the call stack
      
      This removes the need for a runtime check of the specified
      `MaxDepth`. We can now garantuee that we don't need to
      allocate when a new call frame is pushed.
      
      * Fix doc typo
      
      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_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Review nits
      
      * Fix defect in contract info caching behaviour
      
      * Add more docs
      
      * Fix wording and typos
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      9e894ce1
  26. May 04, 2021
  27. May 03, 2021
    • Peter Goodspeed-Niklaus's avatar
      Multi-phase elections solution resubmission (#8290) · de5d0b23
      Peter Goodspeed-Niklaus authored
      
      
      * not climate
      
      * explain the intent of the bool in the unsigned phase
      
      * remove glob imports from unsigned.rs
      
      * add OffchainRepeat parameter to ElectionProviderMultiPhase
      
      * migrate core logic from #7976
      
      This is a much smaller diff than that PR contained, but I think
      it contains all the essentials.
      
      * improve formatting
      
      * fix test build failures
      
      * cause test to pass
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * collapse imports
      
      * threshold acquired directly within try_acquire_offchain_lock
      
      * add test of resubmission after interval
      
      * add test that ocw can regenerate a failed cache when resubmitting
      
      * ensure that OCW solutions are of the correct round
      
      This should help prevent stale cached solutions from persisting
      past the election for which they are intended.
      
      * add test of pre-dispatch round check
      
      * use `RawSolution.round` instead of redundantly externally
      
      * unpack imports
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * rename `OFFCHAIN_HEAD_DB` -> `OFFCHAIN_LOCK`
      
      * rename `mine_call` -> `mine_checked_call`
      
      * eliminate extraneous comma
      
      * check cached call is current before submitting
      
      * remove unused consts introduced by bad merge.
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * resubmit when our solution beats queued solution
      
      * clear call cache if solution fails to submit
      
      * use local storage; clear on ElectionFinalized
      
      * Revert "use local storage; clear on ElectionFinalized"
      
      This reverts commit 4b46a9388532d0c09b337dc7c7edf76044a6cee8.
      
      * BROKEN: try to filter local events in OCW
      
      * use local storage; simplify score fetching
      
      * fix event filter
      
      * mutate storage instead of setting it
      
      * StorageValueRef::local isn't actually implemented yet
      
      * add logging for some events of interest in OCW miner
      
      * rename kill_solution -> kill_ocw_solution to avoid ambiguity
      
      * defensive err instead of unreachable given unreachable code
      
      * doc punctuation
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * distinguish miner errors between "out of date" and "call invalid"
      
      * downgrade info logs -> debug
      
      * ensure encoded call decodes as a call
      
      * fix semantics of validation of pre-dispatch failure for wrong round
      
      * move score check within `and_then`
      
      * add test that offchain workers clear their cache after election
      
      * ensure that bad ocw submissions are not retained for resubmission
      
      * simplify fn ocw_solution_exists
      
      * add feasibility check when restoring cached solution
      
      should address https://github.com/paritytech/substrate/pull/8290/files#r617533358
      
      
      
      restructures how the checks are sequenced, which simplifies legibility.
      
      * simplify checks again
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      de5d0b23
    • Lohann Paterno Coutinho Ferreira's avatar
      Remove Offence delay (#8414) · ffca28ba
      Lohann Paterno Coutinho Ferreira authored
      
      
      * Removed can_report api from OnOffenceHandler
      
      * Removed DeferredOffences and create a storage migration
      
      * Removed missing comments
      
      * Mock set_deferred_offences and deferred_offences methods
      
      * OnOffenceHandler::on_offence always succeed
      
      * Fix benchmark tests
      
      * Fix runtime-benchmark cfg methods
      
      * Removed 'applied' attribute from Offence event
      
      * refactor deprecated deferred offences getter
      
      * Validate if offences are submited after on_runtime_upgrade
      
      * update changelog
      
      * Remove empty lines
      
      * Fix remove_deferred_storage weights
      
      * Remove Offence::on_runtime_upgrade benchmark
      
      * Revert CHANGELOG.md update
      
      * Deprecate DeferredOffenceOf type
      
      * Update copyright
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add migration logs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix migration log
      
      * Remove unused import
      
      * Add migration tests
      
      * rustfmt
      
      * use generate_storage_alias! macro
      
      * Refactor should_resubmit_deferred_offences test
      
      * Replace spaces by tabs
      
      * Refactor should_resubmit_deferred_offences test
      
      * Removed WeightSoftLimit
      
      * Removed WeightSoftLimit from tests and mocks
      
      * Remove unused imports
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      ffca28ba
  28. Apr 26, 2021
    • Shawn Tabrizi's avatar
      Add BoundedVec to Treasury Pallet (#8665) · 4225d508
      Shawn Tabrizi authored
      
      
      * bounded treasury approvals
      
      * update benchmarks
      
      * update configs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix weight param
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      4225d508
  29. 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
  30. Apr 13, 2021
  31. Apr 09, 2021
  32. Apr 06, 2021
  33. Apr 05, 2021