This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
Factor out checks for staking's bond
& nominate
#10751
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a back port from #10694.
The new functions factored out here will be used to implement a new
PoolsInterface
:substrate/frame/staking/src/pallet/impls.rs
Lines 1440 to 1477 in 732c30b
The idea is these checks can be exposed by
trait PoolsInterface
. Additionally, since the nominate checks map & collect the targets, we avoid redundant memory usage and computation by piping the targets from the check into a write function. The plan is for this nominate write function to also be exposed by thePoolsInterface
so the pool can call the check, do some other checks, and then input the targets into the write function.I still not sure this is the right approach as it makes the
PoolsInterface
a bit more leaky, so this needs some discussion.