This repository was archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Lazy payouts #4474
Merged
Merged
Lazy payouts #4474
Changes from 1 commit
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
4def98e
TODOs
gavofyork 338362a
Remove superfluous:
gavofyork 0c22a21
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 f92f0e8
partial implementation
gui1117 bb71353
full implementation
gui1117 3a4a9be
fix preferences
gui1117 7a80d10
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 5345095
update comments
gui1117 dbe3a64
upgrade test WIP
gui1117 f41ee81
fix more tests
gui1117 fd48681
fix cutoff
gui1117 fa38f84
fix saturation
gui1117 c4b0f2f
comment
gui1117 4315218
upgrade mock
gui1117 a26e9da
upgrade test
gui1117 cc6dd63
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 245ec98
WIP migration
gui1117 4206435
WIP migration
gui1117 f1586b2
Merge commit '857f7338b2066a03dc956acf004b101b4bdcf593' into gav-lazy…
gui1117 8e0bfa4
Merge commit 'd63ff7b9ac8d766b87a7a2cd99d5d73a521f97a9' into gav-lazy…
gui1117 70b9ff8
remove slot stake stuff
gui1117 61881d6
Merge commit '6688c3be1ff71803d5963935df7a0d646b2d50d2' into gav-lazy…
gui1117 fd5bafc
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 f392d4a
fix merge
gui1117 2b9f806
migration of ledger
gui1117 d0431f4
remove equalize from test
gui1117 10232de
add test
gui1117 6367fda
fix
gui1117 30eb57c
update doc
gui1117 8eb8a58
fix compilation
gui1117 eb0d4e5
improve test readibility
gui1117 54b670f
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 16a6fd0
improve doc
gui1117 ceffbfd
Merge commit 'c3af86cee45d98dd5f97fb2de419ba4e25ac14b7' into gav-lazy…
gui1117 c2cda09
Merge commit '561bd727489501cfb24d29020062b3a5d4fdcca9' into gav-lazy…
gui1117 a241d95
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 3d426bb
fix most todo
gui1117 5d4c2e5
fix migration and test
gui1117 3590769
remove println
gui1117 df3a4de
WIP
gui1117 70979ac
add test and spec
gui1117 3c56ab3
weight
gui1117 c088756
update doc
gui1117 72ff737
safer end_era
gui1117 58a2c90
fix exposure of conversion
gui1117 02c05b2
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 dd7590f
Revert "safer end_era"
gui1117 c99772b
fix useless put
gui1117 eb1a6ef
exposure clipped
gui1117 4e1d12d
doc
gui1117 33afe32
fix payout with clipped
gui1117 35f76ab
fix node runtime
gui1117 d35dafc
add doc
gui1117 381d5ef
pluggable and generalized staking module
gui1117 2519aef
remove print
gui1117 e881add
update doc
gui1117 1f7b353
refactor
gui1117 086eb8d
improve documentation and implementation
gui1117 5162c0b
fix test
gui1117 1d9f460
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 9cd88e2
Fix test
gui1117 68105c8
fix test
gui1117 827847b
fix test
gui1117 e2af768
fix remove lowest stake from exposure, not biggest.
gui1117 ea4ef67
nomination index arguments in nominator_payout
gui1117 74a4cbe
add test
gui1117 0116e20
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 faaddec
try to fix offence
gui1117 20b28b3
apply slashed and bond eras until active era
gui1117 7dd7975
doc
gui1117 a89202e
update spec version
gui1117 3f860bd
Merge branch 'master' into gav-lazy-rewards
gavofyork 8e652b1
Merge branch 'master' into gav-lazy-rewards
gavofyork 89974f8
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 c87a3d6
add test upgrade from previous test environment
gui1117 961618d
Apply suggestions from code review
gui1117 751b993
nominators upgrade has been cleaned
gui1117 e56e70a
dynamic history depth implementation
gui1117 975a6eb
make current_era - history_depth included
gui1117 3d78f79
Change equality check to start era to less than or equal
shawntabrizi b834b4e
Use era specific validator prefs
shawntabrizi 23a4b2b
Add print statement and comment about start era if <
shawntabrizi 45bf05b
fix next_reward overflow
gui1117 3dce1b0
make more check for bad era claim for zero cost
gui1117 22c46b5
small refactor
gui1117 2f70fbe
Merge branch 'master' into gav-lazy-rewards
shawntabrizi 24d334f
code refactor + fix use of deprecated storage
gui1117 7edfdae
fix wasm build
gui1117 5627b2b
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 4caa747
add comment
gui1117 015c39a
Fix tests
shawntabrizi f7ba093
Merge remote-tracking branch 'origin/master' into gav-lazy-rewards
gui1117 c4d27b2
remove outdated comment
gui1117 129a6d9
Apply suggestions from code review
gui1117 d5b3080
gather active era information into one storage
gui1117 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
update doc
- Loading branch information
commit c088756ee3293b2fe05b9cbe684145fb5fc4005f
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we also limit this in the current PR ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also if decoding the structure Exposure which contains all nominations for the validator is to costy during this reward we could try to store on chain the nominations of a nominator so it only query one structure for himself and not one structure for each validator it has nominated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can introduce per-validator indices to denote which exposure index our nominator is for each validator: switch the parameter here to
fn payout_nominator(origin, era: EraIndex, validators: Vec<(T::AccountId, u32)>)where theu32is the index in to the validator's exposure list.we should still limit the number of nominators allowed for each validator to something sensible (e.g. 64) just to avoid a quadratic attack on decoding (e.g. a validator with 10,000 tiny nominators, thenn calling this function for each one would result in
O(10,000**2)with only 10,000 dispatches paid.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
number of nominators is fixed for nominator reward using exposureclipped principle.
payout_nominator using nominator index in validator exposure is done.