Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add storage bounds for pallet staking and clean up deprecated non paged exposure storages #6445

Closed
wants to merge 148 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
6c808b6
add MaxInvulnerables
re-gius Nov 11, 2024
1b18bb1
add `MaxActiveValidators`
re-gius Nov 13, 2024
0ac60af
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 13, 2024
4edb8e1
fix + start working on migrations
re-gius Nov 13, 2024
65c7de6
nit (typo)
re-gius Nov 13, 2024
35069c9
fix migrations for `BoundedVec`
re-gius Nov 14, 2024
d4b15af
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 14, 2024
eb93a70
Migrate `ErasRewardPoints`
re-gius Nov 14, 2024
58cf45d
small fixes - `BoundedBTreeMap`
re-gius Nov 15, 2024
292c5d0
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 15, 2024
74f2055
fix
re-gius Nov 15, 2024
63f2c5e
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 18, 2024
b249a67
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 22, 2024
362f505
Adapt to new recent `DisabledValidators` change
re-gius Nov 22, 2024
4f21d53
Change `MaxActiveValidators` to `MaxWinners`
re-gius Nov 25, 2024
e258baf
undo change from another PR
re-gius Nov 25, 2024
4b7d896
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 25, 2024
01e2233
small fix for `MaxWinners`
re-gius Nov 25, 2024
243bec8
small fixes
re-gius Nov 25, 2024
a599afc
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 25, 2024
9a25fbc
Remove deprecated `ErasStakers` and `ErasStakersClipped`
re-gius Nov 25, 2024
98daabc
Fixes from #5986
re-gius Nov 25, 2024
aec5087
nit
re-gius Nov 25, 2024
36204da
remove unused import
re-gius Nov 25, 2024
18e9bee
fix `Invulnerables` migration
re-gius Nov 25, 2024
cbfd4a5
Undo migrations change
re-gius Nov 26, 2024
b5cbfec
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 26, 2024
9ca25a1
debug
re-gius Nov 26, 2024
10e7295
Increase `MaxInvulnerables` to 20 + fix migrations msg
re-gius Nov 26, 2024
b3186b1
fix - `MaxInvulnerables` = 20
re-gius Nov 26, 2024
336137a
Fix tests
re-gius Nov 26, 2024
c1911e1
Fix impl
re-gius Nov 26, 2024
2ac794e
Fix `Invulnerables` limit in benchmarking
re-gius Nov 26, 2024
583e46d
Bound `ExposurePage.others` with `MaxExposurePageSize`
re-gius Nov 26, 2024
6347a8c
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 26, 2024
9e82b85
fix `TypeInfo` error
re-gius Nov 27, 2024
1db7f39
fix benchmarking limit
re-gius Nov 27, 2024
f996a97
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 27, 2024
e030506
bound `BondedEras` Vec
re-gius Nov 27, 2024
3ab45d9
Add migration for `BondedEras`
re-gius Nov 27, 2024
a980daa
fix tests attempt
re-gius Nov 27, 2024
827e898
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 28, 2024
c4d5142
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 29, 2024
df8e567
bound `ClaimedRewards`
re-gius Nov 29, 2024
c066632
Use `WeakBoundedVec` for `EraStakersPaged` paged exposures
re-gius Nov 29, 2024
686b6b3
Turn more `BoundedVec` into `WeakBoundedVec`
re-gius Nov 29, 2024
9cf2263
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Nov 29, 2024
21ad9ea
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 2, 2024
ca881ac
add import
re-gius Dec 2, 2024
e986264
Migrate `MaxValidatorsCount` from storage to dynamic param + fixes
re-gius Dec 2, 2024
ea59383
Use `MaxValidatorsCount` to bound `ErasRewardPoints` `BoundedVec`
re-gius Dec 2, 2024
9a21b8f
remove unused imports
re-gius Dec 3, 2024
47863bb
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 3, 2024
50ce1a1
Use `MaxDisabledValidators` to bound disabled validators
re-gius Dec 3, 2024
40ccdec
fix `Vec`/`BoundedVec`
re-gius Dec 3, 2024
c3365a6
Fix `WeakBoundedVec` and `MaxValidatorsCount`
re-gius Dec 3, 2024
584fe53
fix
re-gius Dec 3, 2024
5333a7d
fix
re-gius Dec 3, 2024
31a9300
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 3, 2024
898d469
`BoundedVec` fix in tests
re-gius Dec 3, 2024
32df05d
fix
re-gius Dec 4, 2024
7bc9b98
Use `MaxValidatorsCount` for limit checks
re-gius Dec 4, 2024
9c4d874
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 4, 2024
536d5c5
undo wrong changes
re-gius Dec 9, 2024
608ec88
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 9, 2024
76469ea
Increase benchmarking `MaxValidators` limit
re-gius Dec 9, 2024
fb1a4fa
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 9, 2024
181fe4d
Remove `MaxValidators` from benchmarking config and use `MaxValidator…
re-gius Dec 9, 2024
b1f5f97
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 9, 2024
9c002c1
fix
re-gius Dec 9, 2024
503a7d9
Use `MaxValidatorsCount` for slashing pallet
re-gius Dec 9, 2024
63a18b1
Fix migration comments
re-gius Dec 9, 2024
49059c0
Restore benchmarking for slashing
re-gius Dec 10, 2024
efde7a7
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 10, 2024
8186680
fix
re-gius Dec 10, 2024
3fb6ca7
fix
re-gius Dec 10, 2024
66923a4
fix benchmarking config
re-gius Dec 10, 2024
bec0544
fix
re-gius Dec 10, 2024
3708085
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 10, 2024
73af22a
Remove `unbounded` for `ClaimedRewards`
re-gius Dec 10, 2024
1139689
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 11, 2024
2bda8eb
Update from re-gius running command 'prdoc --bump major --audience ru…
Dec 11, 2024
fe3147b
fix prdoc
re-gius Dec 11, 2024
cd8a0c3
fix prdoc
re-gius Dec 11, 2024
5b15e24
debug failing benchmark
re-gius Dec 11, 2024
9d055a8
benchmarking error debug
re-gius Dec 11, 2024
07b021b
undo debug changes
re-gius Dec 11, 2024
87e0e46
debug 1
re-gius Dec 11, 2024
473e0ff
debug 1
re-gius Dec 11, 2024
eb64ffc
debug 1
re-gius Dec 11, 2024
74d6c7a
debug dynamic param
re-gius Dec 11, 2024
94f5b31
restore after debugging
re-gius Dec 11, 2024
7b1fc5e
Fix bound comparison to `MaxValidatorsCount`
re-gius Dec 12, 2024
cf9d8c3
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 12, 2024
c265974
Use `MaxValidatorsCount` limit to check validators
re-gius Dec 16, 2024
bb5229c
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 16, 2024
6588714
fix staking tests
re-gius Dec 16, 2024
4754629
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 16, 2024
76a2d4b
Fix staking tests
re-gius Dec 17, 2024
67c41fa
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 17, 2024
bd28db5
fix benchmark
re-gius Dec 17, 2024
043b7d6
comment nit
re-gius Dec 17, 2024
68481f4
Always link `BondingDuration` to `MaxBondedEras` in tests
re-gius Dec 17, 2024
312904e
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 17, 2024
d508f8d
Remove old `MaxValidatorCount` from expected default genesis config
re-gius Dec 18, 2024
529fa0f
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 18, 2024
17eeef7
Update cumulus/parachains/integration-tests/emulated/chains/relays/we…
re-gius Dec 18, 2024
21a12d1
Fix PR title in prdoc and migrations for old deprecated storage items
re-gius Dec 18, 2024
e2fa0ca
Update substrate/frame/staking/src/lib.rs
re-gius Dec 18, 2024
4bf3cd6
add debug msg
re-gius Dec 18, 2024
f7c1fe4
fix migrations
re-gius Dec 18, 2024
c881bb0
fix comments + CR
re-gius Dec 18, 2024
306cd41
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 18, 2024
2da736a
Add more debugging `expect(...)` in tests
re-gius Dec 18, 2024
831f1b0
fix migrations
re-gius Dec 18, 2024
3702ce5
prefix with `_` unused variables
re-gius Dec 19, 2024
489fc9d
remove unused `page_size` fn arg + fix tests
re-gius Dec 19, 2024
65fc95b
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 19, 2024
9c88d39
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 19, 2024
a5e98e6
fix merge
re-gius Dec 19, 2024
7b82520
fix merge
re-gius Dec 19, 2024
30520af
fix merge
re-gius Dec 19, 2024
0d47dc5
expand errors msg for invulnerables
re-gius Dec 19, 2024
4b58f0a
using `default()` to create empty `WeakBoundedVec`
re-gius Dec 19, 2024
33e59b2
migration fix attempt
re-gius Dec 19, 2024
c889905
nit
re-gius Dec 19, 2024
300b7f9
migration fix
re-gius Dec 19, 2024
fc63dc7
fix migrations
re-gius Dec 20, 2024
720c9eb
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 20, 2024
a065a91
Set `MaxValidatorsCount` equal to `MaxAuthorities`
re-gius Dec 20, 2024
483eb03
Update polkadot/runtime/test-runtime/src/lib.rs
re-gius Dec 20, 2024
7aeb8a5
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Dec 20, 2024
c51d09b
fix comment
re-gius Dec 20, 2024
1a9be6b
fix
re-gius Dec 20, 2024
235a260
Update pr_6445.prdoc from semver CI
re-gius Dec 20, 2024
83a888b
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Jan 2, 2025
b2efa18
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Jan 6, 2025
78539f0
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Jan 21, 2025
1a39de4
add more info on deleted storage items to prdoc
re-gius Jan 21, 2025
3b7bc95
add error when processing non-paged exposures
re-gius Jan 21, 2025
dc93f0f
Update substrate/frame/staking/src/pallet/mod.rs
re-gius Jan 21, 2025
e6c9942
Update substrate/primitives/staking/src/lib.rs
re-gius Jan 21, 2025
d91414b
Update substrate/frame/staking/src/lib.rs
re-gius Jan 21, 2025
9d2e835
Update substrate/frame/staking/src/lib.rs
re-gius Jan 21, 2025
88d20a3
Update substrate/frame/staking/src/lib.rs
re-gius Jan 21, 2025
649b0f9
fmt
re-gius Jan 21, 2025
6c9806c
Change `MaxValidatorsCount` in test runtime
re-gius Jan 21, 2025
6ca4347
Merge branch 'master' into re-gius/staking/add-storage-bounds
re-gius Jan 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion polkadot/runtime/test-runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ parameter_types! {
pub const RewardCurve: &'static PiecewiseLinear<'static> = &REWARD_CURVE;
pub const MaxExposurePageSize: u32 = 64;
pub const MaxNominators: u32 = 256;
// This corresponds to the maximum number of validators
pub const MaxAuthorities: u32 = 100_000;
pub const OnChainMaxWinners: u32 = u32::MAX;
// Unbounded number of election targets and voters.
Expand Down Expand Up @@ -400,7 +401,7 @@ impl pallet_staking::Config for Runtime {
type DisablingStrategy = pallet_staking::UpToLimitWithReEnablingDisablingStrategy;
type MaxInvulnerables = ConstU32<20>;
type MaxRewardPagesPerValidator = ConstU32<20>;
type MaxValidatorsCount = ConstU32<300>;
type MaxValidatorsCount = MaxAuthorities;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a huge jump, is there a reason why the MaxAuthorities is so big in the test runtime?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, right! Then it's probably better to revert the change in that case, adding also a comment: 6c9806c

type MaxDisabledValidators = ConstU32<100>;
}

Expand Down
4 changes: 2 additions & 2 deletions substrate/bin/node/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ impl pallet_staking::Config for Runtime {
type DisablingStrategy = pallet_staking::UpToLimitWithReEnablingDisablingStrategy;
type MaxInvulnerables = ConstU32<20>;
type MaxRewardPagesPerValidator = ConstU32<20>;
type MaxValidatorsCount = ConstU32<300>;
type MaxValidatorsCount = MaxAuthorities;
type MaxDisabledValidators = ConstU32<100>;
}

Expand Down Expand Up @@ -1485,7 +1485,7 @@ parameter_types! {
pub const ImOnlineUnsignedPriority: TransactionPriority = TransactionPriority::max_value();
/// We prioritize im-online heartbeats over election solution submission.
pub const StakingUnsignedPriority: TransactionPriority = TransactionPriority::max_value() / 2;
pub const MaxAuthorities: u32 = 100;
pub const MaxAuthorities: u32 = 300;
pub const MaxKeys: u32 = 10_000;
pub const MaxPeerInHeartbeats: u32 = 10_000;
}
Expand Down
Loading