1. Mar 13, 2023
    • Vivek Pandya's avatar
      Remove use of trait Store from all pallets and deprecate it. (#13535) · 2009821c
      Vivek Pandya authored
      * Remove use of trait Store from staking pallet
      
      * Remove use of trait Store from bounties pallet
      
      * Remove use of trait Store from collective pallet
      
      * Remove use of trait Store from babe pallet
      
      * Remove use of trait Store from assets pallet
      
      * Remove use of trait Store from grandpa pallet
      
      * Remove use of trait Store from balances pallet
      
      * Remove use of trait Store from authorship pallet
      
      * Remove use of trait Store from authority-discovery pallet
      
      * Remove use of trait Store from atomic-swap pallet
      
      * Remove use of trait Store from sudo pallet
      
      * Remove use of trait Store from scheduler pallet
      
      * Remove use of trait Store from scored-pool pallet
      
      * Remove use of trait Store from society pallet
      
      * Remove use of trait Store from lottery pallet
      
      * Remove use of trait Store from executive pallet
      
      * Remove use of trait Store from democracy pallet
      
      * Remove use of trait Store from elections-phragmen pallet
      
      * Remove use of trait Store from indices pallet
      
      * Remove use of trait Store from identity pallet
      
      * Remove use of trait Store from multisig pallet
      
      * Remove use of trait Store from merkle-mountain-range pallet
      
      * Remove use of trait Store from im-online pallet
      
      * Remove use of trait Store from membership pallet
      
      * Remove use of trait Store from nicks pallet
      
      * Remove use of trait Store from session pallet
      
      * Remove use of trait Store from transaction-payment pallet
      
      * Remove use of trait Store from utility pallet
      
      * Remove use of trait Store from child-bounties pallet
      
      * Remove use of trait Store from nis pallet
      
      * Remove use of trait Store from nfts pallet
      
      * Remove use of trait Store from conviction-voting pallet
      
      * Remove use of trait Store from treasury pallet
      
      * Remove use of trait Store from vesting pallet
      
      * Remove use of trait Store from preimage pallet
      
      * Remove use of trait Store from uniques pallet
      
      * Remove use of trait Store from ranked-collective pallet
      
      * Remove use of trait Store from beefy-mmr pallet
      
      * Remove use of trait Store from referenda pallet
      
      * Remove use of trait Store from whitelist pallet
      
      * Remove use of trait Store from alliance pallet
      
      * Remove use of trait Store from nomination-pools pallet
      
      * Remove use of trait Store from state-trie-migration pallet
      
      * Remove use of trait Store from message-queue pallet
      
      * Remove use of trait Store from root-offences pallet
      
      * Remove use of trait Store from root-testing pallet
      
      * Remove use of trait Store from timestamps pallet
      
      * Remove use of trait Store from system pallet
      
      * Remove use of trait Store from offences pallet
      
      * Remove use of trait Store from recovery pallet
      
      * Remove use of trait Store from node-authorization pallet
      
      * Remove use of trait Store from proxy pallet
      
      * Remove use of trait Store from benchmarking pallet
      
      * Remove use of trait Store from bags-list pallet
      
      * Add deprecated warning in store_trait
      
      * Change warning message
      
      * Run cargo fmt
      
      * Fix warning and update tests
      
      * Remove unnecessary allow deprecated
      
      * Remove use of trait Store
      
      * Fix mismatch in expected output
      
      * Minor update to warning message for deprecation of generate_store with Store trait attribute
      
      * Fixes as per review comments
      
      * Fixes as per review suggestions
      
      * Remove use of Store trait from core-fellowship pallet
      
      * Fix type in store_trait.rs
      
      * Fixes as pre review comment
      2009821c
  2. Mar 02, 2023
  3. Feb 21, 2023
  4. Feb 09, 2023
    • Roman Useinov's avatar
      [Fix] Try-state feature-gated for BagsList (#13296) · 03e9f43f
      Roman Useinov authored
      
      
      * [Fix] Try-state feature-gated for BagsList
      
      * fix comment
      
      * fix try_state remote-tests
      
      * feature-gate try-state remote test for bags-list
      
      * remove try-state from a migration
      
      * more SortedListProvider fixes
      
      * more fixes
      
      * more fixes to allow do_try_state usage in other crates
      
      * do-try-state for fuzz
      
      * more fixes
      
      * more fixes
      
      * remove feature-flag
      
      * do-try-state
      
      * fix review comments
      
      * Update frame/bags-list/src/mock.rs
      
      Co-authored-by: default avatarAnton <[email protected]>
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarAnton <[email protected]>
      03e9f43f
  5. Jan 29, 2023
  6. Jan 09, 2023
    • Gonçalo Pestana's avatar
      EPM and staking events improvement (#13035) · fcdd8a88
      Gonçalo Pestana authored
      * EPM and staking events improvement
      
      * Uses RawOrigin in ElectionCompute event
      
      * Refactors new phase events to PhaseTransition event
      
      * PhaseTransitioned and remove RawOrigin from event
      
      * Adds helpers for epm phase transition and staking force new
      
      * addresses review comments
      
      * nit: removes unecessary clone
      
      * fixes benchmarks
      
      Co-authored-by: parity-processbot <>
      fcdd8a88
  7. Dec 23, 2022
    • Kian Paimani's avatar
      Fix fast-unstake for accounts with slashing (#12963) · 70e9f8e9
      Kian Paimani authored
      
      
      * Fix fast-unstake for accounts with slashing
      
      * ".git/.scripts/fmt.sh" 1
      
      * fmt
      
      * fix
      
      * fix weight tracking
      
      * Adds tests for withdraw_unbonded with slashing
      
      * Removes tests for withdraw_unbonded with slashing
      
      * ".git/.scripts/fmt.sh"
      
      * Adds slash spans calculation test for withdraw_unbonded
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatargpestana <[email protected]>
      70e9f8e9
  8. Dec 15, 2022
    • Gonçalo Pestana's avatar
      Automatic `withdraw_unbonded` upon `unbond` (#12582) · 8e120489
      Gonçalo Pestana authored
      
      
      * Prevents max unbonding chunk slots from being filled when unbonding in the staking pallet
      
      * hardcode num_slashing to unlock chunks automatically
      
      * refactor withdraw logic to do_withdraw; idiomatic rust improvements
      
      * a
      
      * callable unbond() to return a DispatchWithPostInfo to dynamically update the consumed weight
      
      * refunds overpaid fees when unbond with withdraw
      
      * fetches real slashing spans before withdrawal call
      
      * nits
      
      * addresses PR comments
      
      * Adds more testing
      
      * fixes doc comments
      
      * Fixes weight refunding logic for fn unbond
      
      * generalizes  to return used weight or dispatch error
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Addresses PR comments
      
      * Add comment to speculative num spans
      
      * adds missing add_slashing_spans in withdraw_unbonded_kill benchmarks
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_staking
      
      * fix publish
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      8e120489
  9. Dec 14, 2022
  10. Dec 13, 2022
    • Bastian Köcher's avatar
      Fixup some wrong dependencies (#12899) · c0c8d630
      Bastian Köcher authored
      * Fixup some wrong dependencies
      
      Dev dependencies should not appear in the feature list. If features are required, they should be
      directly enabled for the `dev-dependency`.
      
      * More fixups
      
      * Fix fix
      
      * Remove deprecated feature
      
      * Make all work properly and nice!!
      
      * FMT
      
      * Fix formatting
      c0c8d630
  11. Dec 12, 2022
  12. Dec 09, 2022
  13. Dec 08, 2022
    • Anthony Alaribe's avatar
      Move LockableCurrency trait to fungibles::Lockable and deprecate LockableCurrency (#12798) · 9a014d1e
      Anthony Alaribe authored
      
      
      * WIP move LockableCurrency to fungibles
      
      * rename Lockable and LockIdentifier to funginbles::*
      
      * fix imports further
      
      * change Lockable from fungible to fungibles
      
      * reintroduce LockableCurrency but marked as deprecated
      
      * fix imports
      
      * fix imports
      
      * cargo fmt
      
      * add allow deprecated warnings
      
      * remove unused benchmark import
      
      * fix some of the docs
      
      * fix failing doctest check
      
      * reexport LockIdentifier and LockableCurrency from support/traits
      
      * reexport LockIdentifier and LockableCurrency from support/traits
      
      * allow using deprecated re-export
      
      * replace LockableCurrency and LockIdentifier with a module alias
      
      * Update frame/support/src/traits/tokens/fungibles/lockable.rs
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/support/src/traits.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * REVERT removing fungibles::Lockable import
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarSquirrel <[email protected]>
      9a014d1e
  14. Nov 21, 2022
  15. Nov 09, 2022
    • Ankan's avatar
      Bound Election and Staking by MaxActiveValidators (#12436) · 657d9920
      Ankan authored
      
      
      * 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: default avatarKian Paimani <[email protected]>
      
      * 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: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      657d9920
  16. Oct 29, 2022
  17. Oct 17, 2022
    • Ankan's avatar
      Execute try-state at end of each test to ensure pallet data integrity (#12453) · ca15fe7e
      Ankan authored
      * 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 <>
      ca15fe7e
  18. Sep 27, 2022
  19. Sep 23, 2022
    • Kian Paimani's avatar
      Fast Unstake Pallet (#12129) · b56c0e4c
      Kian Paimani authored
      * add failing test for itamar
      
      * an ugly example of fast unstake
      
      * Revert "add failing test for itamar"
      
      This reverts commit 16c4d8015698a0684c090c54fce8b470a2d2feb2.
      
      * fast unstake wip
      
      * clean it up a bit
      
      * some comments
      
      * on_idle logic
      
      * fix
      
      * comment
      
      * new working version, checks all pass, looking good
      
      * some notes
      
      * add mock boilerplate
      
      * more boilerplate
      
      * simplify the weight stuff
      
      * ExtBuilder for pools
      
      * fmt
      
      * rm bags-list, simplify setup_works
      
      * mock + tests boilerplate
      
      * make some benchmarks work
      
      * mock boilerplate
      
      * tests boilerplate
      
      * run_to_block works
      
      * add Error enums
      
      * add test
      
      * note
      
      * make UnstakeRequest fields pub
      
      * some tests
      
      * fix origin
      
      * fmt
      
      * add fast_unstake_events_since_last_call
      
      * text
      
      * rewrite some benchmes and fix them -- the outcome is still strange
      
      * Fix weights
      
      * cleanup
      
      * Update frame/election-provider-support/solution-type/src/single_page.rs
      
      * fix build
      
      * Fix pools tests
      
      * iterate teset + mock
      
      * test unfinished
      
      * cleanup and add some tests
      
      * add test successful_multi_queue
      
      * comment
      
      * rm Head check
      
      * add TODO
      
      * complete successful_multi_queue
      
      * + test early_exit
      
      * fix a lot of things above the beautiful atlantic ocean 🌊
      
      
      
      * seemingly it is finished now
      
      * Fix build
      
      * ".git/.scripts/fmt.sh" 1
      
      * Fix slashing amount as well
      
      * better docs
      
      * abstract types
      
      * rm use
      
      * import
      
      * Update frame/nomination-pools/benchmarking/src/lib.rs
      
      Co-authored-by: default avatarNitwit <[email protected]>
      
      * Update frame/fast-unstake/src/types.rs
      
      Co-authored-by: default avatarNitwit <[email protected]>
      
      * Fix build
      
      * fmt
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * make bounded
      
      * feedback from code review with Ankan
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/lib.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/fast-unstake/src/mock.rs
      
      * update to master
      
      * some final review comments
      
      * fmt
      
      * fix clippy
      
      * remove unused
      
      * ".git/.scripts/fmt.sh" 1
      
      * make it all build again
      
      * fmt
      
      * undo fishy change
      
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarNitwit <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      b56c0e4c
  20. Sep 21, 2022
    • Ankan's avatar
      Bound staking storage items (#12230) · c6a9abcc
      Ankan authored
      
      
      * replace pallet level unboundedness to individual storage items
      
      * bound structs
      
      * bounding history depth
      
      * defensive error
      
      * use the era history depth from config
      
      * clean up history depth from storage in v11
      
      * keep the name HistoryDepth for the new configuration value
      
      * use u32 for history depth in node runtime
      
      * improve doc comments
      
      * add HistoryDepth to mock runtimes with pallet-staking
      
      * rustfmt
      
      * refactor and doc improve
      
      * apply re-benchmarked weight for staking
      
      * pr feedback improvements
      
      * test for claimed rewards following the expected bounds
      
      * refactor test to calculate first and last reward era programmatically
      
      * verify previous eras cannot be claimed
      
      * add migration v12
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_staking
      
      * fix compiler error
      
      * corrupting history depth does not lead to catastrophic issue
      
      * fix new line
      
      * remove unused import
      
      * fmt
      
      * add test to document scenario where history depth is reduced without migration
      
      * fmt
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/migrations.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * doc for all storage items bounded by HistoryDepth
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * pr feedback fixes
      
      * Update frame/staking/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * remove extra checks
      
      * fix merge
      
      * fmt
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      c6a9abcc
  21. Sep 18, 2022
    • Roman Useinov's avatar
      [Fix] Benchmark issue in staking (#12290) · 63c2e288
      Roman Useinov authored
      63c2e288
    • Roman Useinov's avatar
      [Feature] Part 1: add TargetList for validator ranking (#12034) · 1b24f562
      Roman Useinov authored
      
      
      * [Feature] Part 1: add TargetList for validator ranking
      
      * remove redundant todo
      
      * remove typo
      
      * cleanup
      
      * implement score
      
      * more fixes
      
      * fix thresholds
      
      * fmt
      
      * Remove the stuff that has to come in the next PR, some fixes
      
      * extended balance import
      
      * Change all the references from VoteWeight to Self::Score
      
      * Add a migration for VoterBagsList
      
      * fix score
      
      * add targetList to nomination-pools tests
      
      * fix bench
      
      * address review comments
      
      * change get_npos_targets
      
      * address more comments
      
      * remove thresholds for the time being
      
      * fix instance reference
      
      * VoterBagsListInstance
      
      * reus
      
      * remove params that are not used yet
      
      * Introduced pre/post upgrade try-runtime checks
      
      * fix
      
      * fixes
      
      * fix migration
      
      * fix migration
      
      * fix post_upgrade
      
      * change
      
      * Fix
      
      * eloquent PhantomData
      
      * fix PD
      
      * more fixes
      
      * Update frame/staking/src/pallet/impls.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * is_nominator now works
      
      * fix test-staking
      
      * build fixes
      
      * fix remote-tests
      
      * Apply suggestions from code review
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      1b24f562
  22. Sep 14, 2022
  23. Sep 13, 2022
  24. Sep 01, 2022
  25. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Weight v1.5: Opaque Struct (#12138) · 30951822
      Shawn Tabrizi authored
      * initial idea
      
      * update frame_support
      
      * update a bunch more
      
      * add ord
      
      * adjust RuntimeDbWeight
      
      * frame_system builds
      
      * re-export
      
      * frame_support tests pass
      
      * frame_executive compile
      
      * frame_executive builds
      
      * frame_system tests passing
      
      * pallet-utility tests pass
      
      * fix a bunch of pallets
      
      * more
      
      * phragmen
      
      * state-trie-migration
      
      * scheduler and referenda
      
      * pallet-election-provider-multi-phase
      
      * aura
      
      * staking
      
      * more
      
      * babe
      
      * balances
      
      * bunch more
      
      * sudo
      
      * transaction-payment
      
      * asset-tx-payment
      
      * last pallets
      
      * fix alliance merge
      
      * fix node template runtime
      
      * fix pallet-contracts cc @athei
      
      * fix node runtime
      
      * fix compile on runtime-benchmarks feature
      
      * comment
      
      * fix frame-support-test
      
      * fix more tests
      
      * weight regex
      
      * frame system works
      
      * fix a bunch
      
      * more
      
      * more
      
      * more
      
      * more
      
      * more
      
      * more fixes
      
      * update templates
      
      * fix contracts benchmarks
      
      * Update lib.rs
      
      * Update lib.rs
      
      * fix ui
      
      * make scalar saturating mul const
      
      * more const functions
      
      * scalar div
      
      * refactor using constant functions
      
      * move impl
      
      * fix overhead template
      
      * use compactas
      
      * Update lib.rs
      30951822
  26. Jul 26, 2022
  27. Jun 13, 2022
    • Kian Paimani's avatar
      Allow nomination pools to chill + fix dismantle scenario (#11426) · ad1d1716
      Kian Paimani authored
      
      
      * make pool roles optional
      
      * undo lock file changes?
      
      * add migration
      
      * add the ability for pools to chill themselves
      
      * boilerplate of tests
      
      * somewhat stable, but I think I found another bug as well
      
      * Fix it all
      
      * Add more more sophisticated test + capture one more bug.
      
      * Update frame/staking/src/lib.rs
      
      * reduce the diff a little bit
      
      * add some test for the slashing bug
      
      * cleanup
      
      * fix lock file?
      
      * Fix
      
      * fmt
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/mock.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix build
      
      * fix some fishy tests..
      
      * add one last integrity check for MinCreateBond
      
      * remove bad assertion -- needs to be dealt with later
      
      * nits
      
      * fix tests and add benchmarks for chill
      
      * remove stuff
      
      * fix benchmarks
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove defensive
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      ad1d1716
  28. May 29, 2022
    • Gavin Wood's avatar
      Safe and sane multi-item storage removal (#11490) · ecbd65fb
      Gavin Wood authored
      * Fix overlay prefix removal result
      
      * Second part of the overlay prefix removal fix.
      
      * Report only items deleted from storage in clear_prefix
      
      * Fix kill_prefix
      
      * Formatting
      
      * Remove unused code
      
      * Fixes
      
      * Fixes
      
      * Introduce clear_prefix host function v3
      
      * Formatting
      
      * Use v2 for now
      
      * Fixes
      
      * Formatting
      
      * Docs
      
      * Child prefix removal should also hide v3 for now
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * apply_to_keys_whle takes start_at
      
      * Cursor API; force limits
      
      * Use unsafe deprecated functions
      
      * Formatting
      
      * Fixes
      
      * Grumbles
      
      * Fixes
      
      * Docs
      
      * Some nitpicks 🙈
      
      
      
      * Update primitives/externalities/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Formatting
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Update primitives/io/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      ecbd65fb
  29. May 19, 2022
  30. May 03, 2022
  31. Apr 30, 2022
  32. Apr 27, 2022
    • Zeke Mostov's avatar
      Nomination Pools (#10694) · 247f33dc
      Zeke Mostov authored
      
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add admin roles and make some calls permissionless
      
      * Destroy pool in withdraw unbonded
      
      * Add docs on pool admin
      
      * Fixup tests
      
      * Test unbond_other permissionless scenarios
      
      * Test withdraw unbonded permissionless
      
      * Test only can join open pools
      
      * Move unsafe set state to mock
      
      * Test: nominate_works
      
      * Add bounds: MinJoinBond, MinCreateBond, MaxPools
      
      * Test MinCreateBond, MinJoinBond, MaxPools
      
      * Add post checks to tests
      
      * Remove some TODOs
      
      * Setup weight infrastructure
      
      * Benchmark claim_payout
      
      * Benchmark create
      
      * Benchmark nominate
      
      * Benchmark join
      
      * Benchmark unbond_other
      
      * Refactor join benchmark to use scenario setup
      
      * Clean up and address warnings
      
      * Basic withdraw unbonded benchmarks
      
      * Refactor nominate benchmark
      
      * Refactor claim payout
      
      * Add feature sp-staking/runtime-benchmarks
      
      * Get node runtime to compile
      
      * Get node to run
      
      * Make claim_payout bench work with node
      
      * Make pool_withdraw_unbonded bench work with node
      
      * Make withdraw_unbonded_other work with node runtime'
      
      * Make create benchmark work with node
      
      * Make nominate benchmark work with node runtime
      
      * WiP new benchmark crate
      
      * Implement initial mock for benchmarks
      
      * Establish benchmark setup logic
      
      * Get claim payout and nominate benchmarks working
      
      * Remove pool bench utils; make struct fields pub insteaad
      
      * Get more benchmarks to work; trim interface trait
      
      * Some more top level docs
      
      * Finish tranistion benchmarks to crate
      
      * Hook up benchmark pallet to node runtime
      
      * Get benches to work with node runtime
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Benchmark withdraw_unbonded_other_kill
      
      * Delete old benchmarking files
      
      * Refunds for withdraw_unbonded
      
      * Remove some TODOs
      
      * 'Don't return an option for the current_era'
      
      * Streamline extrinsic docs
      
      * small docs tweaks
      
      * Refactor ledger::slash
      
      * Add on_slash impl for nomination pools
      
      * slash refactor wip
      
      * WIP slash working
      
      * DRY Ledger::stash
      
      * Fix slash saturation
      
      * Remove unused param from slash
      
      * Docs and warnings
      
      * Test ledger::slash
      
      * save progress
      
      * Introduce counter for delegators
      
      * Add tests for max delegator errors
      
      * Reproducible account ids
      
      * Adapt tests to new account id format
      
      * Simplify create_accounts api
      
      * Fix staking tests
      
      * Save PerBill slash impl before removing
      
      * Rever ledger slash test
      
      * Get node runtime to work
      
      * Organize sub pools by unbond era, not curren era
      
      * staking: Proportional ledger slashing
      
      * Some comment cleanup
      
      * Add more test post checks
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Tests: account for storing unbond era
      
      * Improve docs for staking interface
      
      * Add events Created, Destroyed
      
      * withdraw_unbonded: Remove useless withdraw dust check
      
      * Test: withdraw_unbonded_other_handles_faulty_sub_pool_accounting
      
      * Add extrinsics: set_state_other, set_metadata
      
      * Test: set_state_other_works
      
      * Test: set_metadata_works
      
      * Add benchmarks for set_state_other, set_metadata
      
      * Fix benchmarks
      
      * Add weight info for new extrinsics
      
      * Some feedback
      
      * duo feedback
      
      * Incorporate some more feedback
      
      * integrate more kian feedback
      
      * integrate more kian feedback
      
      * More improvements
      
      * Add destroying_mul
      
      * Make do_reward_payout take refs
      
      * Remove some TODOs
      
      * Add test for saturating
      
      * feedback
      
      * Fix join test
      
      * use `inner` for nested types in nomination pools (#11030)
      
      * Use nested inner type for pool
      
      * make tests and benchmarks work
      
      * remove feat
      
      * all tests work now
      
      * fix node-runtime
      
      * nomination-pools: update benches for new account format (#11033)
      
      * Update benches to new account format
      
      * More sensible seeds
      
      * bring back rward account sanity check
      
      * Comment
      
      * Add extrinsic set_configs (#11038)
      
      * Better sanity checks for nomination pools  (#11042)
      
      * new sanity checks, few other changes
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * nomination-pools: Fix state event regression + benches (#11045)
      
      * new sanity checks, few other changes
      
      * Fix benches, improve sanity check
      
      * Remove useless clear storage in benchmarking
      
      * Set state
      
      * Save
      
      * Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      
      * FMT
      
      * Try fill in all staking configs
      
      * Fix build
      
      * More changes to nomination pools (#11050)
      
      * new sanity checks, few other changes
      
      * some last touches as a whole
      
      * Apply suggestions from code review
      
      * Remove redundant event
      
      * Improve unbond_other error handling
      
      * Remove comment
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      
      * Remove sanity module and some TODOs
      
      * round of feedback and imp from kian
      
      * Add TODO for ED QoL at reward pool creation
      
      * Make sure reward pool never gets dusted
      
      * Improve error type
      
      * demonstrate per_thing usage
      
      * Update sanity check & fix create_works
      
      * Improve test ext pool creation & fix some more tests
      
      * Try revert
      
      * Revert "Try revert"
      
      This reverts commit c044c94730e1a370eecd8f5b2c4f632835913063.
      
      * Revert "Improve test ext pool creation & fix some more tests"
      
      This reverts commit 1e862a64a7423479260c6e5ad1bd4c8c95651f3a.
      
      * Revert "Update sanity check & fix create_works"
      
      This reverts commit 568a7b727687e4d585e2796afc638df97b83c632.
      
      Roll back reward account funding
      
      * Revert "Improve error type"
      
      This reverts commit 4b993ee601a037e7a44e4a49bbfd60cf45b38b78.
      
      * Revert "Make sure reward pool never gets dusted"
      
      This reverts commit e7a3eb45bdfd156d3f6d94d194e988032ebbc593.
      
      revert
      
      * Update some tests
      
      * FMT
      
      * Test that era offset works correctly
      
      * Update mocks
      
      * Remove unnescary docs
      
      * Doc updates
      
      * Update calculate_delegator_payout_works_with_a_pool_of_1
      
      * Fix test: claim_payout_works
      
      * do_reward_payout_correctly_sets_pool_state_to_destroying
      
      * Remove test do_reward_payout_errors_correctly
      
      * Fix test: do_reward_payout_works
      
      * Fix test: create_errors_correctly
      
      * Fix test: create works
      
      * Fix test: unbond_other_of_3_works
      
      * Ensure that ED is transferred into reward pool upon creation
      
      * WIP pool lifecycle test
      
      * Fix benchmarks
      
      * Add sanity check for ED + reward pools
      
      * `bond_extra` for nomination pools (#11100)
      
      * bond_extra for nomination pools
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * add benchmarks
      
      * remove the min logic of bond_extra
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * FMT
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * make it compile end to end
      
      * Update some type viz
      
      * Update kick terminology
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Cache bonded account when creating pool
      
      * Add bond extra weight stuff
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update docs for pool withdraw unbonded
      
      * Update docs for unbond
      
      * Improve Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/Cargo.toml
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Improve Docs
      
      * Some docs improvements
      
      * fmt
      
      * Remove unlock_era
      
      * Fix accidental frame-support regression
      
      * Fix issue with transactions in tests
      
      * Fix doc links
      
      * Make sure result in test is used
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix can toggle state
      
      * Account for new_funds in ok to be open
      
      * Update docs: ok_to_withdraw_unbonded_other_with
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove some staking comments
      
      * Rename SubPoolsWithEra to UnbondingPoolsWithEra
      
      * Use validators length for benchmarks
      
      * Use metadata length for benchmarks
      
      * Remove debug assert eq
      
      * docs
      
      * Fix test: withdraw_unbonded_other_errors_correctly
      
      * Fix check for having enough balance to create the pool
      
      * Bond event for pool creation
      
      * Ok to be open
      
      * FMT
      
      * Remove _other postfix
      
      * Update frame/staking/src/lib.rs
      
      * Adjust tests to account for only remove when < ED
      
      * Remove stale TODOs
      
      * Remove dupe test
      
      * Fix build
      
      * Make sure to convert to u256 so we don't saturate
      
      * Refund depositor with reward pool fee
      
      * FMT
      
      * Remove reachable defensive
      
      * Use compact encoding for relevant extrinsics
      
      * Remove unnescary make_free_be for cleaning reward account
      
      * Add not to maintainers for reward account accounting
      
      * Remove note to maintainers from public doc
      
      * Make sure all configs have currency balance
      
      * Avoid saturation in balance_to_unbond
      
      * Partial Unbonding for Nomination Pools (#11212)
      
      * first draft of partial unbonding for pools
      
      * remove option
      
      * Add some more tests and fix issues
      
      * Fix all tests
      
      * simplify some tests
      
      * Update frame/nomination-pools/src/mock.rs
      
      * remove clone
      
      * rename to delegator_unbonding_eras
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * remove pub
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * undo
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * leftovers
      
      * fix invariant
      
      * Fix the depositor assumption
      
      * round of self-review
      
      * little bit more cleanup
      
      * Update frame/nomination-pools/src/mock.rs
      
      * Apply suggestions from code review
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Fix interpretation of MinCreateBond
      
      * controvesial refactor
      
      * rename
      
      * make everything build
      
      * add TODO about killing the reward account
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * last self-review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update Cargo.lock
      
      * Rename Delegator to PoolMember
      
      * fmt
      
      * Get runtime to build with runtime-benchmarks feature
      
      * Update Cargo.lock
      
      * Fix asserts to work in more scenarios
      
      * gte not gt
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/staking/src/mock.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/staking/src/slashing.rs
      
      * Apply suggestions from code review
      
      * fmt
      
      * Fix some tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      247f33dc
  33. Apr 21, 2022
    • Zeke Mostov's avatar
      staking: Proportional ledger slashing (#10982) · e0bf4f36
      Zeke Mostov authored
      
      
      * staking: Proportional ledger slashing
      
      * Some comment cleanup
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix benchmarks
      
      * FMT
      
      * Try fill in all staking configs
      
      * round of feedback and imp from kian
      
      * demonstrate per_thing usage
      
      * Update some tests
      
      * FMT
      
      * Test that era offset works correctly
      
      * Update mocks
      
      * Remove unnescary docs
      
      * Remove unlock_era
      
      * Update frame/staking/src/lib.rs
      
      * Adjust tests to account for only remove when < ED
      
      * Remove stale TODOs
      
      * Remove dupe test
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      e0bf4f36
    • Zeke Mostov's avatar
      staking: Fix `Reward` usage (#10887) · 97f51931
      Zeke Mostov authored
      * staking: Fix `Reward` usage
      
      * Some small fixes
      
      * Check on_unbalanced was called
      
      * Improve tests
      
      * Add not for Reward; FMT
      
      * 🤦
      
      Co-authored-by: parity-processbot <>
      97f51931
  34. Mar 31, 2022
  35. Mar 23, 2022
  36. Mar 19, 2022