* statemine: migrate pallet assets to v1
* statemint and westmint: migrate pallet assets to v1
* remove items limit
* update dependencies and crate imports
* change substrate version to dependent PR
* revert to master
* revert changes to cargo toml
* fix weights to test compilation with companion substrate branch
* change destroy etrinsic in westmint to new extrinsics
* update lockfile for {"polkadot", "substrate"}
* rebase
Co-authored-by: parity-processbot <>
* Support repeated destroys to safely destroy large assets
* require freezing accounts before destroying
* support only deleting asset as final stage when there's no assets left
* pre: introduce the RemoveKeyLimit config parameter
* debug_ensure empty account in the right if block
* update to having separate max values for accounts and approvals
* add tests and use RemoveKeyLimit constant
* add useful comments to the extrinsics, and calculate returned weight
* add benchmarking for start_destroy and finish destroy
* push failing benchmark logic
* add benchmark tests for new functions
* update weights via local benchmarks
* remove extra weight file
* Update frame/assets/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update frame/assets/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update frame/assets/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* effect some changes from codereview
* use NotFrozen error
* remove origin checks, as anyone can complete destruction after owner has begun the process; Add live check for other extrinsics
* fix comments about Origin behaviour
* add AssetStatus docs
* modularize logic to allow calling logic in on_idle and on_initialize hooks
* introduce simple migration for assets details
* reintroduce logging in the migrations
* move deposit_Event out of the mutate block
* Update frame/assets/src/functions.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>
* Update frame/assets/src/migration.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>
* move AssetNotLive checkout out of the mutate blocks
* rename RemoveKeysLimit to RemoveItemsLimit
* update docs
* fix event name in benchmark
* fix cargo fmt.
* fix lint in benchmarking
* Empty commit to trigger CI
* Update frame/assets/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/functions.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/functions.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/functions.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/assets/src/functions.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* effect change suggested during code review
* move limit to a single location
* Update frame/assets/src/functions.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* rename events
* fix weight typo, using rocksdb instead of T::DbWeight. Pending generating weights
* switch to using dead_account.len()
* rename event in the benchmarks
* empty to retrigger CI
* trigger CI to check cumulus dependency
* trigger CI for dependent cumulus
* Update frame/assets/src/migration.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* move is-frozen to the assetStatus enum (#12547)
* add pre and post migration hooks
* update do_transfer logic to add new assert for more correct error messages
* trigger CI
* switch checking AssetStatus from checking Destroying state to checking live state
* fix error type in tests from Frozen to AssetNotLive
* trigger CI
* change ensure check for fn reducible_balance()
* change the error type to Error:<T,I>::IncorrectStatus to be clearer
* Trigger CI
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: parity-processbot <>
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* init
* clean
* remove manual getter for ReferendumStatus in favor of changing pub crate to pub for ReferendumStatus DecidingStatus Deposit types
* rm status getters because fields are pub now
* Only report concluded if there is an actual dispute.
Hence no "non"-disputes will be added to disputes anymore.
* Fix redundant check.
* Test for no onesided disputes.
Co-authored-by: eskimor <eskimor@no-such-url.com>
* Scraper processes CandidateBacked events
* Change definition of best-effort
* Fix `dispute-coordinator` tests
* Unit test for dispute filtering
* Clarification comment
* Add tests
* Fix logic
If a dispute is not backed, not included and not confirmed we
don't participate but we do import votes.
* Add metrics for refrained participations
* Revert "Add tests"
This reverts commit 7b8391a087922ced942cde9cd2b50ff3f633efc0.
* Revert "Unit test for dispute filtering"
This reverts commit 92ba5fe678214ab360306313a33c781338e600a0.
* fix dispute-coordinator tests
* Fix scraping
* new tests
* Small fixes in guide
* Apply suggestions from code review
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
* Fix some comments and remove a pointless test
* Code review feedback
* Clarification comment in tests
* Some tests
* Reference counted `CandidateHash` in scraper
* Proper handling for Backed and Included candidates in scraper
Backed candidates which are not included should be kept for a
predetermined window of finalized blocks. E.g. if a candidate is backed
but not included in block 2, and the window size is 2, the same
candidate should be cleaned after block 4 is finalized.
Add reference counting for candidates in scraper. A candidate can be
added on multiple block heights so we have to make sure we don't clean
it prematurely from the scraper.
Add tests.
* Update comments in tests
* Guide update
* Fix cleanup logic for `backed_candidates_by_block_number`
* Simplify cleanup
* Make spellcheck happy
* Update tests
* Extract candidate backing logic in separate struct
* Code review feedback
* Treat backed and included candidates in the same fashion
* Update some comments
* Small improvements in test
* spell check
* Fix some more comments
* clean -> prune
* Code review feedback
* Reword comment
* spelling
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
* add state-trie-migration (warn key need to be changed)
* rococo root
* restore master benchs (weights from substrate are used).
* use ord_parameter macro.
* do not upgrade runtime version yet
* apply review changes
* to test ci
* Revert "to test ci"
This reverts commit 5df6c5c74c5d172f254579cbb76caeb44af80ec2.
* test ci
* Revert "test ci"
This reverts commit 0747761644ba566f9756e195e5304758370dc52c.
Co-authored-by: parity-processbot <>
* 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>
The grandpa crate is deriving `Debug` only when the `std` feature is enabled. `RuntimeDebug` can be
forced to derive `Debug` also in `no_std` and that doesn't work together. So, we should feature gate
`Debug` on `no_std`.
* `sp-runtime`: make `parity-util-mem` dependency optional
* Use default-features = false for sp-runtime in sp-keyring
* Remove parity-util-mem from sp-core
* Cargo.lock
* Restore default-features for keyring dependency
* 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>
* add maximum winners to multi phase election provider
* fallback to noelection
* fmt
* missing values
* convert boundedvec to inner before sort
* dont clone
* pr feedback
* update lockfile for {"substrate"}
* run onchain election on westend benchmark
Co-authored-by: parity-processbot <>
* 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>
* Remove all not required nodes from the epoch-changes tree
Some outdated nodes were left there because of the predicate
* Test to excercise the fix
* Add a fork on genesis to the test
* Fix typo in comments