This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Factor out checks for staking's bond & nominate#10751
Closed
Factor out checks for staking's bond & nominate#10751
bond & nominate#10751Conversation
kianenigma
reviewed
Jan 29, 2022
Contributor
kianenigma
left a comment
There was a problem hiding this comment.
should we prefer ensure prefix to be more aligned with the rest of the codebase?
kianenigma
reviewed
Jan 31, 2022
| ) { | ||
| let nominations = Nominations { | ||
| targets, | ||
| // Initial nominations are considered submitted at era 0. See `Nominations` doc. |
Contributor
There was a problem hiding this comment.
Suggested change
| // Initial nominations are considered submitted at era 0. See `Nominations` doc. | |
| // Initial nominations are considered submitted at era 0. See [`Nomination`]'s doc. |
Contributor
|
looking at your other branch, I am not sure either if this is the right approach, so perhaps not backporting this yet is a good idea. Fundamentally, why do you need these |
Contributor
Author
|
As per discussed offline, I am going to look into using transactional TXs instead of added can_/ensure_ type functions, so closing for now |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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 thePoolsInterfaceso 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
PoolsInterfacea bit more leaky, so this needs some discussion.