* HoldReason: Improve usage
`HoldReason` was switched recently to use the `composite_enum` attribute that will merge the enums
from all pallets in the runtime to `RuntimeHoldReason`. `pallet-nis` was still requiring that the
variant was passed as constant to call `hold`. The proper implementation is to use the `HoldReason`
from inside the pallet directly when calling `hold`. This is done by adding a `RuntimeHoldReason` as
type to the `Config` trait and requiring that `Currency` is using the same reason. Besides that the
pr changes the name `HoldIdentifier` in `pallet_balances::Config` to `RuntimeHoldReason`.
* Update frame/nis/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Review comment
* Fixes
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
* staking admin can set min commission
* ".git/.scripts/bench-bot.sh" pallet dev pallet_staking
* fmt
* fix for pr comments
Co-authored-by: command-bot <>
* 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
* implement crate publishing from CI
* fix indentation
* use resource_group for job exclusivity
ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions
* correct publish = false
* Remove YAML anchors as GitLab's `extends:` doesn't need it
* Temporarily force cache upload for the new jobs
* Revert `RUSTY_CACHIER_FORCE_UPLOAD`
* pin libp2p-tcp=0.37.0 for sc-telemetry
* Revert "pin libp2p-tcp=0.37.0 for sc-telemetry"
This reverts commit 29146bfad6c31e8cf0e2f17ad92a71bb81a373af.
* always collect generated crates
* increase timeout for publish-crates-template
* Force upload the new job cache again
* Revert "Force upload the new job cache again"
This reverts commit 5a5feee1b2c51fdef768b25a76be4c3949ec1c99.
* reformat
* improve timeout explanation
* s/usual/average
Co-authored-by: Vladimir Istyufeev <vladimir@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>
* 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: Nitwit <47109040+nitwit69@users.noreply.github.com>
* Update frame/fast-unstake/src/types.rs
Co-authored-by: Nitwit <47109040+nitwit69@users.noreply.github.com>
* Fix build
* fmt
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* make bounded
* feedback from code review with Ankan
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update frame/fast-unstake/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* 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: Ross Bulat <ross@jkrbinvestments.com>
Co-authored-by: command-bot <>
Co-authored-by: Nitwit <47109040+nitwit69@users.noreply.github.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* 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: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/staking/src/migrations.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* doc for all storage items bounded by HistoryDepth
* Update frame/staking/src/pallet/mod.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/staking/src/tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* pr feedback fixes
* Update frame/staking/src/tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* remove extra checks
* fix merge
* fmt
Co-authored-by: command-bot <>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: kianenigma <kian@parity.io>
* BREAKING: Rename Origin
* more renaming
* a bit more renaming
* fix
* more fixing
* fix in frame_support
* even more fixes
* fix
* small fix
* ...
* update .stderr
* docs
* update docs
* update docs
* docs
* add missing version to dependencies
* Huh
* add features more
* more fixing
* last touches
* it all finally works
* remove some feature gates
* remove unused
* fix old macro
* make it work again
* fmt
* remove unused import
* ".git/.scripts/fmt.sh" 1
* Cleanup more
* fix and rename everything
* a few clippy fixes
* Add try-runtime feature
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* small fixes
* fmt
* Update bin/node-template/runtime/src/lib.rs
* fix build
* Update utils/frame/try-runtime/cli/src/lib.rs
Co-authored-by: David <dvdplm@gmail.com>
* Update utils/frame/try-runtime/cli/src/commands/execute_block.rs
Co-authored-by: David <dvdplm@gmail.com>
* address all review comments
* fix typos
* revert spec change
* last touches
* update docs
* fmt
* remove some debug_assertions
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: David <dvdplm@gmail.com>
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/mock.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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
* first working version
* bring back all tests
* ALL new tests work now
* cleanup
* make sure benchmarks and all work
* 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
* round of self-review, make arithmetic safe
* fix warn
* add migration code
* Fix doc
* add precision notes
* make arithmetic fallible
* fix node runtime
* a lot of precision tests and notes and stuff
* document MaxPOintsToBalance better
* :round of self-review
* fmt
* fix some comments
* Fix proportional slashing logic
* Update frame/nomination-pools/src/tests.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/tests.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* track poinst in migration
* fix
* fmt
* fix migration
* remove event read
* Apply suggestions from code review
* Update frame/staking/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
* update
* fmt
* fmt
* add one last test
* fmt
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Parity Bot <admin@parity.io>
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/mock.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Parity Bot <admin@parity.io>
* fix a few more things with nomination pools
* add bench
* use weight fn
* 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
* allow real root to also set roles
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* move out of the closure
* fix a few more things
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* 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: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* 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: Zeke Mostov <z.mostov@gmail.com>
* 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: kianenigma <kian@parity.io>
* 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: Zeke Mostov <z.mostov@gmail.com>
Co-authored-by: emostov <32168567+emostov@users.noreply.github.com>
* 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: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* add benchmarks
* remove the min logic of bond_extra
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* FMT
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* make it compile end to end
* Update some type viz
* Update kick terminology
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* 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: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* Update docs for pool withdraw unbonded
* Update docs for unbond
* Improve Doc
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/Cargo.toml
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* 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: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/tests.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/tests.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* remove pub
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* undo
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/lib.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* 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: Zeke Mostov <z.mostov@gmail.com>
* 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: Zeke Mostov <z.mostov@gmail.com>
* Update frame/nomination-pools/src/lib.rs
* last self-review
Co-authored-by: Zeke Mostov <z.mostov@gmail.com>
* 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: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>