* Remove `sp_tasks::spawn` API and related code
* Remove `RuntimeTasks::{spawn, join}` host functions
* remove unused
* Remove a few more tests that I forgot to remove
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* histor. batch proof: make best block arg optional
* correct testing range
* make generate_batch_proof stub for historical
* merge generate_{historical_}batch_proof functions
* merge generate_{batch_}proof functions
* merge verify_{batch_}proof functions
* merge verify_{batch_}proof_stateless functions
* remove {Leaf}Proof
Not utilized by API anymore, so superfluous.
Removal consistent with prior changes to just use "batch" proof API.
* rename BatchProof->Proof
no need to qualify if only one universal proof type.
* cleanup
* expose verify_proof rpc api
* document verify_proof
* expose verify_proof_stateless rpc api
* add optional BlockHash to mmr_root rpc api
* fixup! expose verify_proof rpc api
* fix documentation phrasing
Co-authored-by: Adrian Catangiu <adrian@parity.io>
* documentation grammar
Co-authored-by: Adrian Catangiu <adrian@parity.io>
* define mmr error msgs together with error enum
Co-authored-by: Serban Iorga <serban@parity.io>
* fixup! define mmr error msgs together with error enum
* map decoding errors to CallError::InvalidParams
Co-authored-by: Serban Iorga <serban@parity.io>
* fixup! map decoding errors to CallError::InvalidParams
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: parity-processbot <>
Co-authored-by: Serban Iorga <serban@parity.io>
* bounding election provider with kian
* multi phase implement bounded election provider
* election provider blanket implementation
* staking compiles
* fix test for election provider support
* fmt
* fixing epmp tests, does not compile yet
* fix epmp tests
* fix staking tests
* fmt
* fix runtime tests
* fmt
* remove outdated wip tags
* add enum error
* sort and truncate supports
* comment
* error when unsupported number of election winners
* compiling wip after kian's suggestions
* fix TODOs
* remove,fix tags
* ensure validator count does not exceed maxwinners
* clean up
* some more clean up and todos
* handle too many winners
* rename parameter for mock
* todo
* add sort and truncate rule if there are too many winners
* fmt
* fail, not swallow emergency result bound not met
* remove too many winners resolution as it can be guaranteed to be bounded
* fix benchmark
* give MaxWinners more contextual name
* make ready solution generic over T
* kian feedback
* fix stuff
* Kian's way of solvign this
* comment fix
* fix compile
* remove use of BoundedExecution
* fmt
* comment out failing integrity test
* cap validator count increment to max winners
* dont panic
* add test for bad data provider
* Update frame/staking/src/pallet/impls.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* fix namespace conflict and add test for onchain max winners less than desired targets
* defensive unwrap
* early convert to bounded vec
* fix syntax
* fmt
* fix doc
* fix rustdoc
* fmt
* fix maxwinner count for benchmarking
* add instant election for noelection
* fmt
* fix compile
* pr feedbacks
* always error at validator count exceeding max winners
* add useful error message
* pr comments
* import fix
* add checked_desired_targets
* fmt
* fmt
* fix rust doc
Co-authored-by: parity-processbot <>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* implement a brand new batch with all tests passing.
* fix benchmarks as well
* make benchmarks more or less work
* fix migration
* add some testing
* Update frame/fast-unstake/src/benchmarking.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* review comments
* some fixes
* fix review comments
* fix build
* fmt
* fix benchmarks
* fmt
* update
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* `payment_queryInfo`: Make it work with `WeighV2`
The runtime api for querying the payment info depends on the `Weight` type and broke for old
runtimes that still use the `WeighV1`. This pull requests fixes this by:
1. Bumping the version of the runtime api.
2. Making the node side code use the correct runtime api function depending on the version of the
runtime api.
3. Make the RPC always return `WeighV1`.
Users of the api should switch to `state_call` and decide based on the version of the runtime api
which `Weight` type is being returned.
* Fix tests
* Review comment
* stub for construct_dev_runtime!
* revert
* stub for dev_mode proc macro
* preliminary docs for pallet::dev_mode (attribute) proc macro
* add dev_mode to pallet_macros module
* add docs item for dev_mode to frame_support
* parsing of #[pallet(dev_mode)]
* strip out dev_mode stub since it will be an arg for pallet instead
* make pallet Def struct aware of dev mode
* WIP
* revert changes to call.rs
* pass dev_mode to pallet parsing code
* auto-specify default weights when in dev mode if not specified
* add proof / expect for syn::parse in dev mode weight processing
* set all storages to unbounded when in dev mode
* just use 0
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* add invalid pallet arg test
* add passing dev mode pallet test
* add test confirming that dev mode features only work in dev mode
* cargo fmt + clean up
* bump CI
* fix pallet ui test
* add docs for dev mode
* add warning about using dev mode in production circumstances
* remove comment about no other attributes being supported
* fix unneeded assignment
* make warning more explicit
* more explicit warning about using dev mode in production
* simpler assignment for dev_mode boolean
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add note about MEL requirement
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add comment specifying why weights can be omitted in example
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* tweak wording of comments
* bump ci
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* traits for defensive min and defensive max
* defensive min and strict min with tests
* defensive max and strict max with tests
* include docs
* implement partial ord on defensive min and max
* Update frame/support/src/traits/misc.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* wrap lines
* Fix traits
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/support/src/traits/misc.rs
* Update frame/support/src/traits/misc.rs
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
* Force base weights to be the minimum only when the intercept is negative; emit minimum execution times
* Add an `assert` making sure the intercept is zero when it's supposed to be zero
* Fix template
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* ".git/.scripts/bench-bot.sh" pallet dev pallet_assets
* ".git/.scripts/bench-bot.sh" pallet dev pallet_uniques
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
* Bump clap to 3.2.22
* Replace `from_os_str` with `value_parser`
* Replace `from_str` and `try_from_str` with `value_parser`
* Move possible_values to the new format
* Remove unwanted print
* Add missing match branch
* Update clap to 4.0.9 and make it compile
* Replace deprecated `clap` macro with `command` and `value`
* Move remaining `clap` attributes to `arg`
* Remove no-op value_parsers
* Adjust value_parser for state_version
* Remove "deprecated" feature flag and bump to 4.0.11
* Improve range
Co-authored-by: Bastian Köcher <git@kchr.de>
* Apply suggestions
* Trigger CI
* Fix unused error warning
* Fix doc errors
* Fix ArgGroup naming conflict
* Change default_value to default_value_t
* Use 1.. instead of 0..
Co-authored-by: Bastian Köcher <git@kchr.de>
* execute try-state at end of tests
* run post condition only with try runtime
* Revert "run post condition only with try runtime"
This reverts commit 7db0ecf7eaa2ee5afa5a995487b73d023ba3bcd9.
* voterlist contains validators as well
* fmt
* simplify
* fmt
Co-authored-by: parity-processbot <>
* pallet-mmr: cosmetic improvements
* pallet-mmr: fix offchain storage for initial sync
* address review comments
* pallet-mmr: change offchain fork-resistant key to `(prefix, pos, parent_hash)`
Do this so that both canon and fork-resitant keys have the same
`(prefix, pos).encode()` prefix. Might be useful in the future if we'd
be able to to "get" offchain db entries using key prefixes as well.
Signed-off-by: acatangiu <adrian@parity.io>
Signed-off-by: acatangiu <adrian@parity.io>
* dont use benchmark range on constant function
* update weights
* fix
* new weights
* Update frame/examples/basic/src/benchmarking.rs
Co-authored-by: parity-processbot <>