Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
b19b070
fix snapshot weights
kianenigma Feb 18, 2025
ad98423
brand new weights, and the basis of locking is in place
kianenigma Feb 18, 2025
35d1ed7
64 page weights
kianenigma Feb 18, 2025
0da20cd
silently fail during election on voterlist update, but allow it to be…
kianenigma Feb 19, 2025
2d0a3d7
Target snapshot in a different page, to reduce PoV even more
kianenigma Feb 19, 2025
272cfda
more benchmarks and weights
kianenigma Feb 19, 2025
6c0e8fc
add export weights and fix build
kianenigma Feb 19, 2025
b212b11
Merge branch 'master' of github.com:paritytech/polkadot-sdk into kiz-…
kianenigma Feb 21, 2025
eb11aa8
Merge branch 'master' of github.com:paritytech/polkadot-sdk into kiz-…
kianenigma Feb 24, 2025
83b2687
rename election duration name
kianenigma Feb 24, 2025
82e297d
all epmb tests pass
kianenigma Feb 25, 2025
67af414
benchmarking tests also pass
kianenigma Feb 25, 2025
9778411
new ongoing interface in EP-MB
kianenigma Feb 25, 2025
cb1ae62
all tests pass, next on benchmarking e2e
kianenigma Feb 25, 2025
0a34d40
node builds, goodbye original epm pallet
kianenigma Feb 25, 2025
86e069b
all related epmb benchmarks work again too
kianenigma Feb 25, 2025
468fb79
kusama level weights
kianenigma Feb 25, 2025
2cdcb5b
move benchmarks to pov mode measured
kianenigma Feb 26, 2025
04b6fc2
Master.into()
kianenigma Feb 26, 2025
ae06753
add polkadot weights
kianenigma Feb 26, 2025
44146ed
more info for niklas
kianenigma Feb 26, 2025
b2f604a
ability to declare exponential deposit
kianenigma Feb 26, 2025
b6e34cc
fix some todos
kianenigma Feb 27, 2025
3063a05
configurable eject refund ratio for a safer signed phase
kianenigma Feb 28, 2025
9a82332
remove ahm-test that we moved to other branch
kianenigma Feb 28, 2025
0876417
more assertions
kianenigma Mar 3, 2025
94d1024
Master.into()
kianenigma Mar 4, 2025
43fa0c1
Update from kianenigma running command 'prdoc'
github-actions[bot] Mar 4, 2025
85ecb61
fix compilation in a few places
kianenigma Mar 4, 2025
e86c487
Merge branch 'kiz-mbm-election-2' of github.com:paritytech/polkadot-s…
kianenigma Mar 4, 2025
2d4ee7e
fmt
kianenigma Mar 4, 2025
a0f40b9
better errors
kianenigma Mar 5, 2025
ab9be64
Merge branch 'master' of github.com:paritytech/polkadot-sdk into kiz-…
kianenigma Mar 7, 2025
8d716c2
Master.into()
kianenigma Mar 7, 2025
e0cc4ba
Master.into()
kianenigma Mar 8, 2025
afd7008
Upstream.into()
kianenigma Mar 8, 2025
d2cf84b
Merge branch 'master' of github.com:paritytech/polkadot-sdk into kiz-…
kianenigma Mar 10, 2025
fb1c7bd
Merge branch 'kiz-mbm-election-2' of github.com:paritytech/polkadot-s…
kianenigma Mar 10, 2025
437196e
fmt
kianenigma Mar 10, 2025
3f21d36
Offchain miner can now do multiple pages
kianenigma Mar 12, 2025
85efdc4
Merge branch 'master' into kiz-mbm-election-2
kianenigma Mar 12, 2025
3cddb80
Add `pallet-staking-ah-client` to Westend and use it instead of `pall…
tdimitrov Mar 12, 2025
eb81b15
revert staking to master
kianenigma Mar 12, 2025
336ae70
staking-next and ahm-tests work
kianenigma Mar 12, 2025
96af445
make election able to continue if nothing is queued
kianenigma Mar 13, 2025
26ceaf0
bring in staking-next parachain and rc runtime for testing
kianenigma Mar 13, 2025
8619582
create the types for existence as identification
Ank4n Mar 15, 2025
5c8b2bc
add test
Ank4n Mar 15, 2025
0be27ce
fmt
Ank4n Mar 15, 2025
e043ded
full identification backward compatible
Ank4n Mar 15, 2025
a9eb1d2
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 15, 2025
74220bd
Update from github-actions[bot] running command 'prdoc --force'
github-actions[bot] Mar 15, 2025
6f0f00a
fix session manager impl for ExistenceOf
Ank4n Mar 15, 2025
a73ce62
if validator, return exists
Ank4n Mar 15, 2025
97ec539
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 16, 2025
c6a65dd
one big round of refactors and tests, a lot left to do.
kianenigma Mar 16, 2025
e51a632
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 17, 2025
8680d3a
add all pending code
kianenigma Mar 18, 2025
0134933
all last updates
kianenigma Mar 19, 2025
38c31ef
add missing file
kianenigma Mar 25, 2025
feff227
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 26, 2025
84c2209
undo semicolons from diff
Ank4n Mar 26, 2025
c10ed03
undo semicolons from diff 2
Ank4n Mar 26, 2025
726524c
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 26, 2025
cef6f3d
Encodes to exposure
Ank4n Mar 26, 2025
18a749f
all tests pass
Ank4n Mar 26, 2025
4681040
fmt
Ank4n Mar 26, 2025
b9208c2
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 26, 2025
513ab58
Update from github-actions[bot] running command 'prdoc --force'
github-actions[bot] Mar 26, 2025
f15195b
update prdoc
Ank4n Mar 26, 2025
4a9ddd7
fix bump type
Ank4n Mar 26, 2025
91f9249
remove matches
Ank4n Mar 27, 2025
8a1db8f
trigger ci
Ank4n Mar 27, 2025
ec81933
trigger ci
Ank4n Mar 28, 2025
9460f51
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 28, 2025
08b04d0
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 30, 2025
bf26a9d
count author as frame coder
Ank4n Mar 30, 2025
0d0e3e8
undo review bot change
Ank4n Mar 30, 2025
e924cb7
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Mar 30, 2025
ed349f2
merge master (broken)
Ank4n Apr 1, 2025
7a12ba2
Revert "[AHM] Revert multi-block election, slashing and staking clien…
Ank4n Apr 1, 2025
32df9ac
revert the revert
Ank4n Apr 1, 2025
494e007
get rid of snowbridge primitives
Ank4n Apr 1, 2025
7aa5f5b
bring back staking from last known good version
Ank4n Apr 1, 2025
2377f9b
remove client pallets from staking-classic
Ank4n Apr 2, 2025
5110df3
rename pallet-staking-next to pallet-staking-async
Ank4n Apr 2, 2025
b948931
remove paged election tests
Ank4n Apr 2, 2025
d39021a
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 2, 2025
762f338
fix mock runtimes
Ank4n Apr 2, 2025
f17b0c4
one round of self-review
kianenigma Apr 2, 2025
faa1016
staking benchmarks in tests mode pass
kianenigma Apr 4, 2025
994d3a2
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 4, 2025
304f945
more tests fixed
kianenigma Apr 7, 2025
7e9a784
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 7, 2025
7474761
EPMB cleanup
kianenigma Apr 7, 2025
a92c3b2
fix a few CI issues
kianenigma Apr 7, 2025
bd570fa
add operating mode
Ank4n Apr 3, 2025
4a2afbd
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Apr 7, 2025
ebb4782
fix staking
Ank4n Apr 7, 2025
ca313b7
preserve old conversion logic based on existence of exposure
Ank4n Apr 7, 2025
c369ac2
preserve old logic + test
Ank4n Apr 7, 2025
8688baf
fmt
Ank4n Apr 7, 2025
822285e
Merge branch 'master' into ankn/rc-no-exposure
Ank4n Apr 7, 2025
fa39b92
Merge branch 'ankn/rc-no-exposure' into ankn/staking-async-3
Ank4n Apr 7, 2025
3f529ad
fix compile
Ank4n Apr 8, 2025
4bfaef2
remove staking async ah client from staking classic
Ank4n Apr 8, 2025
207fbe3
fmt
Ank4n Apr 8, 2025
8967986
fix compile 2
Ank4n Apr 8, 2025
6b34179
scene 2: during migration assertions
Ank4n Apr 8, 2025
c178358
benchmarks run again but hard to debug..
kianenigma Apr 8, 2025
ea77e9a
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 8, 2025
82ea719
migration end to end works
Ank4n Apr 9, 2025
4aa9862
fmt
Ank4n Apr 9, 2025
678d54b
no migration in ah test runtime
Ank4n Apr 9, 2025
b9560b6
read active validators from pallet-session
Ank4n Apr 9, 2025
16d3399
fix clippy errors
Ank4n Apr 9, 2025
fb3babb
fmt
Ank4n Apr 9, 2025
b7a9a0e
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 9, 2025
9ca478a
remove dependencies slipped while merging
Ank4n Apr 9, 2025
1ee5f3e
fix few things from latest master
kianenigma Apr 9, 2025
87dc938
some clippy errors
Ank4n Apr 9, 2025
666c96f
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 9, 2025
809ab9d
fix root offences
Ank4n Apr 9, 2025
986a3ec
fix session bench
Ank4n Apr 9, 2025
a7c4e83
clippy
Ank4n Apr 9, 2025
2e9f307
fmt
Ank4n Apr 9, 2025
e359263
fix westend runtime
Ank4n Apr 9, 2025
0ba1359
rustdoc
Ank4n Apr 10, 2025
97587c9
Master.into()
kianenigma Apr 10, 2025
d27afef
Master.into()
kianenigma Apr 10, 2025
99cf88c
cleanup TODOs in ahm-tests and client pallets
kianenigma Apr 10, 2025
d4fbcdf
fix a few staking tests
kianenigma Apr 10, 2025
a493a03
fmt
kianenigma Apr 10, 2025
32d2501
comment out failing assertions
Ank4n Apr 10, 2025
96c01bb
remove Existence of, and fix rustdocs
Ank4n Apr 10, 2025
3367bdb
remove stashof
Ank4n Apr 10, 2025
a0c3e14
remove stashof
Ank4n Apr 10, 2025
923b794
fmt
Ank4n Apr 10, 2025
ca7c0a3
small CI things
kianenigma Apr 10, 2025
2bb475a
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 10, 2025
8152870
minor refactor
Ank4n Apr 10, 2025
c2dab06
fix test
Ank4n Apr 10, 2025
a270cfe
fmt
Ank4n Apr 10, 2025
4fd16fb
fix test, fmt
Ank4n Apr 10, 2025
5efe19d
mocks
Ank4n Apr 10, 2025
b6ada16
Replace offence id
Ank4n Apr 10, 2025
a3d93c5
basic decoder for offence detail, does not work yet
Ank4n Apr 11, 2025
e198307
move Existence Legacy exposure to staking primitives
Ank4n Apr 11, 2025
810a849
fix era pruning check test and try-state
kianenigma Apr 11, 2025
6f563e2
minr
Ank4n Apr 11, 2025
e128ad1
fmt
Ank4n Apr 11, 2025
ecbd59b
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 11, 2025
332ec1b
temp ignore grandpa failing tests
Ank4n Apr 11, 2025
a4fbff3
create alias for Balance
Ank4n Apr 11, 2025
da3d1d7
unignore tests
Ank4n Apr 11, 2025
1d8008f
remove more unused tests
kianenigma Apr 11, 2025
e3efadf
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 11, 2025
29b4e3a
add sp-staking dependency to session bench
Ank4n Apr 11, 2025
ac3d606
taplo
Ank4n Apr 11, 2025
c4a73b8
zepter
Ank4n Apr 11, 2025
a06104a
hacky fix for CI
Ank4n Apr 11, 2025
915cf75
retaplo
Ank4n Apr 11, 2025
27d7330
fix rust doc epmb
Ank4n Apr 11, 2025
0971555
rustdoc
Ank4n Apr 11, 2025
092d4b7
licenses
Ank4n Apr 11, 2025
2e04906
eps rustdoc
Ank4n Apr 11, 2025
9a564a2
baseline fix benchmarks
kianenigma Apr 11, 2025
dc0786c
Upstream.into()
kianenigma Apr 11, 2025
76faf6e
benchmark slashing code + cleanup the manual weights + move benchmark…
kianenigma Apr 12, 2025
df5d95f
Merge branch 'master' of github.com:paritytech/polkadot-sdk into ankn…
kianenigma Apr 12, 2025
0916668
possibly fix the FullIdentification shitshow -- need to double check …
kianenigma Apr 14, 2025
817cfa3
Update from github-actions[bot] running command 'fmt'
github-actions[bot] Apr 14, 2025
130238d
fix clippy and more tests for DefaultExposure
kianenigma Apr 14, 2025
71d7ffc
fmt
kianenigma Apr 14, 2025
2e7fb70
Upstream.into()
kianenigma Apr 14, 2025
759141e
remove dbg
kianenigma Apr 14, 2025
c09dffd
fix beefy-mmr test
kianenigma Apr 14, 2025
ddd4a3c
taplo, mdcheck, umbrella
kianenigma Apr 14, 2025
ffcf7a7
did I fix the umbrella?
kianenigma Apr 14, 2025
6b8ce10
some CI things
kianenigma Apr 15, 2025
0140571
Master.into()
kianenigma Apr 15, 2025
afe8260
fix duplicate in umbrella
kianenigma Apr 15, 2025
a41dbe2
Update from github-actions[bot] running command 'fmt'
github-actions[bot] Apr 15, 2025
b6d537f
fmt
kianenigma Apr 15, 2025
4f2984b
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 15, 2025
bc7a406
fix workspace
kianenigma Apr 15, 2025
110bea9
Update from github-actions[bot] running command 'prdoc'
github-actions[bot] Apr 15, 2025
2375999
mdcheck
kianenigma Apr 15, 2025
94ef562
fix license headers
kianenigma Apr 15, 2025
3f3f51b
fix offence bench
kianenigma Apr 15, 2025
17d1183
fix more license headers
kianenigma Apr 15, 2025
9765f60
fix some wnd benchmarks
kianenigma Apr 15, 2025
408bcb8
fix toml
kianenigma Apr 15, 2025
25fc16e
more benchmark fixes
kianenigma Apr 15, 2025
25980de
small UI test update
kianenigma Apr 15, 2025
101ba2c
fix version
kianenigma Apr 15, 2025
75b63e0
fix offence bench again
kianenigma Apr 16, 2025
0f501e8
fmt
kianenigma Apr 16, 2025
e684ad6
Merge branch 'master' into ankn/staking-async-3
kianenigma Apr 16, 2025
d05e4a9
Merge branch 'master' of github.com:paritytech/polkadot-sdk into ankn…
kianenigma Apr 16, 2025
889a0e9
round of self-review -- part 0
kianenigma Apr 16, 2025
1932342
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 16, 2025
68e23d9
self-review and document multiblock
kianenigma Apr 16, 2025
03e8644
more self review and cleanup
kianenigma Apr 16, 2025
d375d7c
fix rustdoc
kianenigma Apr 16, 2025
e57f40c
more tests for frame-election-provider-support
kianenigma Apr 16, 2025
61255cb
remove unused reward-fn crate
kianenigma Apr 16, 2025
01520ba
small fix for benchmarks
kianenigma Apr 17, 2025
debed85
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 17, 2025
494d5b9
allow deprecated RuntimeEvent for historical
Ank4n Apr 17, 2025
39f082e
add to staking async as well
Ank4n Apr 17, 2025
f1e55e2
small few fixes to benchamarks
kianenigma Apr 17, 2025
5a239e3
whitelist more keys
kianenigma Apr 17, 2025
183373f
fmt
kianenigma Apr 17, 2025
1939708
fix a few types + preset confusion
kianenigma Apr 17, 2025
3a4f107
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 17, 2025
8aa136d
Merge branch 'master' of github.com:paritytech/polkadot-sdk into ankn…
kianenigma Apr 17, 2025
52ec016
fix few warnings
kianenigma Apr 17, 2025
dfd6084
remove runtime event from staking-async pallets
Ank4n Apr 17, 2025
b34ea98
remove Runtime Event from multiblocks
Ank4n Apr 17, 2025
fc8102e
fix a few tests + docs
kianenigma Apr 17, 2025
29598c2
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 17, 2025
8627e30
fix reading events in benchmarking
kianenigma Apr 17, 2025
ac310a0
update weights
kianenigma Apr 17, 2025
b52fb9f
Master.into()
kianenigma Apr 17, 2025
1426139
fix slashing weights to not be manual
kianenigma Apr 18, 2025
c84a807
cleanup ledger.rs and session_rotation.rs
kianenigma Apr 18, 2025
97df7e2
Merge branch 'master' of github.com:paritytech/polkadot-sdk into ankn…
kianenigma Apr 18, 2025
199843f
more staking-async-cleanup
kianenigma Apr 18, 2025
4424ede
fix compile
Ank4n Apr 18, 2025
ed5466b
fmt
Ank4n Apr 18, 2025
989c74e
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 18, 2025
747c317
minor
Ank4n Apr 18, 2025
01e2bf4
fix staging-node-cli
Ank4n Apr 18, 2025
308e77d
Merge branch 'master' into ankn/staking-async-3
Ank4n Apr 21, 2025
a2e30f1
add more offence related tests
kianenigma Apr 21, 2025
2b38533
Master.into()
kianenigma Apr 21, 2025
e8f5a20
fix rustdcs
kianenigma Apr 21, 2025
6bbfcbd
update PRdoc to be more patch-y
kianenigma Apr 21, 2025
2ff03de
trigger ci
Ank4n Apr 22, 2025
859bc42
trigger CI
kianenigma Apr 22, 2025
ac1572e
Merge branch 'ankn/staking-async-3' of github.com:paritytech/polkadot…
kianenigma Apr 22, 2025
6597393
3m signed phase
kianenigma Apr 22, 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
380 changes: 380 additions & 0 deletions Cargo.lock

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ members = [
"substrate/frame/core-fellowship",
"substrate/frame/delegated-staking",
"substrate/frame/democracy",
"substrate/frame/election-provider-multi-block",
"substrate/frame/election-provider-multi-phase",
"substrate/frame/election-provider-multi-phase/test-staking-e2e",
"substrate/frame/election-provider-support",
Expand Down Expand Up @@ -427,6 +428,15 @@ members = [
"substrate/frame/session/benchmarking",
"substrate/frame/society",
"substrate/frame/staking",
"substrate/frame/staking-async",
"substrate/frame/staking-async/ah-client",
"substrate/frame/staking-async/ahm-test",
"substrate/frame/staking-async/rc-client",
"substrate/frame/staking-async/reward-fn",
"substrate/frame/staking-async/runtime-api",
"substrate/frame/staking-async/runtimes/parachain",
"substrate/frame/staking-async/runtimes/rc",
"substrate/frame/staking-async/runtimes/rc/constants",
"substrate/frame/staking/reward-curve",
"substrate/frame/staking/reward-fn",
"substrate/frame/staking/runtime-api",
Expand Down Expand Up @@ -945,6 +955,7 @@ pallet-default-config-example = { path = "substrate/frame/examples/default-confi
pallet-delegated-staking = { path = "substrate/frame/delegated-staking", default-features = false }
pallet-democracy = { path = "substrate/frame/democracy", default-features = false }
pallet-dev-mode = { path = "substrate/frame/examples/dev-mode", default-features = false }
pallet-election-provider-multi-block = { path = "substrate/frame/election-provider-multi-block", default-features = false }
pallet-election-provider-multi-phase = { path = "substrate/frame/election-provider-multi-phase", default-features = false }
pallet-election-provider-support-benchmarking = { path = "substrate/frame/election-provider-support/benchmarking", default-features = false }
pallet-elections-phragmen = { path = "substrate/frame/elections-phragmen", default-features = false }
Expand Down Expand Up @@ -1014,6 +1025,16 @@ pallet-staking = { path = "substrate/frame/staking", default-features = false }
pallet-staking-reward-curve = { path = "substrate/frame/staking/reward-curve", default-features = false }
pallet-staking-reward-fn = { path = "substrate/frame/staking/reward-fn", default-features = false }
pallet-staking-runtime-api = { path = "substrate/frame/staking/runtime-api", default-features = false }
# TODO: remove the reward stuff as they are not needed here
pallet-staking-async = { path = "substrate/frame/staking-async", default-features = false }
pallet-staking-async-ah-client = { path = "substrate/frame/staking-async/ah-client", default-features = false }
pallet-staking-async-parachain-runtime = { path = "substrate/frame/staking-async/runtimes/parachain" }
pallet-staking-async-rc-client = { path = "substrate/frame/staking-async/rc-client", default-features = false }
pallet-staking-async-rc-runtime = { path = "substrate/frame/staking-async/runtimes/rc" }
pallet-staking-async-rc-runtime-constants = { path = "substrate/frame/staking-async/runtimes/rc/constants", default-features = false }
pallet-staking-async-reward-curve = { path = "substrate/frame/staking-async/reward-curve", default-features = false }
pallet-staking-async-reward-fn = { path = "substrate/frame/staking-async/reward-fn", default-features = false }
pallet-staking-async-runtime-api = { path = "substrate/frame/staking-async/runtime-api", default-features = false }
pallet-state-trie-migration = { path = "substrate/frame/state-trie-migration", default-features = false }
pallet-statement = { default-features = false, path = "substrate/frame/statement" }
pallet-sudo = { path = "substrate/frame/sudo", default-features = false }
Expand Down
1 change: 0 additions & 1 deletion cumulus/pallets/collator-selection/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ impl pallet_session::SessionHandler<u64> for TestSessionHandler {
}
fn on_new_session<Ks: OpaqueKeys>(_: bool, keys: &[(u64, Ks)], _: &[(u64, Ks)]) {
SessionChangeBlock::set(System::block_number());
dbg!(keys.len());
SessionHandlerCollators::set(keys.iter().map(|(a, _)| *a).collect::<Vec<_>>())
}
fn on_before_session_ending() {}
Expand Down
2 changes: 1 addition & 1 deletion docs/sdk/src/guides/your_first_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ mod tests {
.output()
.unwrap();

// atleast blocks should be imported
// at least blocks should be imported
assert!(String::from_utf8(output.stderr)
.unwrap()
.contains(format!("Imported #{}", 7).to_string().as_str()));
Expand Down
2 changes: 1 addition & 1 deletion polkadot/node/primitives/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ const MERKLE_PROOF_MAX_DEPTH: usize = 8;

/// The bomb limit for decompressing code blobs.
#[deprecated(
note = "`VALIDATION_CODE_BOMB_LIMIT` will be removed. Use `validation_code_bomb_limit`
note = "`VALIDATION_CODE_BOMB_LIMIT` will be removed. Use `validation_code_bomb_limit`
runtime API to retrieve the value from the runtime"
)]
pub const VALIDATION_CODE_BOMB_LIMIT: usize = (MAX_CODE_SIZE * 4u32) as usize;
Expand Down
2 changes: 1 addition & 1 deletion polkadot/parachain/src/primitives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ pub struct BlockData(#[cfg_attr(feature = "std", serde(with = "bytes"))] pub Vec
Ord,
PartialEq,
PartialOrd,
RuntimeDebug,
Debug,
serde::Serialize,
serde::Deserialize,
TypeInfo,
Expand Down
6 changes: 6 additions & 0 deletions polkadot/runtime/parachains/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ pallet-session = { workspace = true }
pallet-staking = { workspace = true }
pallet-timestamp = { workspace = true }

# only used in benchmarking
frame-election-provider-support = { workspace = true, optional = true }

polkadot-primitives = { workspace = true }
xcm = { workspace = true }
xcm-executor = { workspace = true }
Expand Down Expand Up @@ -80,6 +83,7 @@ std = [
"bitvec/std",
"codec/std",
"frame-benchmarking?/std",
"frame-election-provider-support?/std",
"frame-support/std",
"frame-system/std",
"log/std",
Expand Down Expand Up @@ -118,6 +122,7 @@ std = [
]
runtime-benchmarks = [
"frame-benchmarking/runtime-benchmarks",
"frame-election-provider-support/runtime-benchmarks",
"frame-support-test/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
Expand All @@ -139,6 +144,7 @@ runtime-benchmarks = [
"xcm/runtime-benchmarks",
]
try-runtime = [
"frame-election-provider-support?/try-runtime",
"frame-support-test/try-runtime",
"frame-support/try-runtime",
"frame-system/try-runtime",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ where

pallet_session::Pallet::<T>::on_initialize(BlockNumberFor::<T>::one());
initializer::Pallet::<T>::on_initialize(BlockNumberFor::<T>::one());

// signal to `pallet-staking`'s `ElectionProvider` to be ready asap.
use frame_election_provider_support::ElectionProvider;
<<T as pallet_staking::Config>::ElectionProvider as ElectionProvider>::asap();

// skip sessions until the new validator set is enacted
while pallet_session::Pallet::<T>::validators().len() < n as usize {
pallet_session::Pallet::<T>::rotate_session();
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/parachains/src/origin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ pub mod pallet {
Encode,
Decode,
DecodeWithMemTracking,
sp_core::RuntimeDebug,
Debug,
scale_info::TypeInfo,
MaxEncodedLen,
)]
Expand Down
21 changes: 12 additions & 9 deletions polkadot/runtime/parachains/src/reward_points.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

use crate::{session_info, shared};
use alloc::collections::btree_set::BTreeSet;
use frame_support::traits::{Defensive, ValidatorSet};
use frame_support::traits::{Defensive, RewardsReporter, ValidatorSet};
use polkadot_primitives::{SessionIndex, ValidatorIndex};

/// The amount of era points given by backing a candidate that is included.
Expand All @@ -32,12 +32,13 @@ pub const BACKING_POINTS: u32 = 20;
pub const DISPUTE_STATEMENT_POINTS: u32 = 20;

/// Rewards validators for participating in parachains with era points in pallet-staking.
pub struct RewardValidatorsWithEraPoints<C>(core::marker::PhantomData<C>);
pub struct RewardValidatorsWithEraPoints<C, R>(core::marker::PhantomData<(C, R)>);

impl<C> RewardValidatorsWithEraPoints<C>
impl<C, R> RewardValidatorsWithEraPoints<C, R>
where
C: pallet_staking::Config + session_info::Config,
C: session_info::Config,
C::ValidatorSet: ValidatorSet<C::AccountId, ValidatorId = C::AccountId>,
R: RewardsReporter<C::AccountId>,
{
/// Reward validators in session with points, but only if they are in the active set.
fn reward_only_active(
Expand All @@ -61,14 +62,15 @@ where
.filter(|v| active_set.contains(v))
.map(|v| (v, points));

<pallet_staking::Pallet<C>>::reward_by_ids(rewards);
R::reward_by_ids(rewards);
}
}

impl<C> crate::inclusion::RewardValidators for RewardValidatorsWithEraPoints<C>
impl<C, R> crate::inclusion::RewardValidators for RewardValidatorsWithEraPoints<C, R>
where
C: pallet_staking::Config + shared::Config + session_info::Config,
C: shared::Config + session_info::Config,
C::ValidatorSet: ValidatorSet<C::AccountId, ValidatorId = C::AccountId>,
R: RewardsReporter<C::AccountId>,
{
fn reward_backing(indices: impl IntoIterator<Item = ValidatorIndex>) {
let session_index = shared::CurrentSessionIndex::<C>::get();
Expand All @@ -78,10 +80,11 @@ where
fn reward_bitfields(_validators: impl IntoIterator<Item = ValidatorIndex>) {}
}

impl<C> crate::disputes::RewardValidators for RewardValidatorsWithEraPoints<C>
impl<C, R> crate::disputes::RewardValidators for RewardValidatorsWithEraPoints<C, R>
where
C: pallet_staking::Config + session_info::Config,
C: session_info::Config,
C::ValidatorSet: ValidatorSet<C::AccountId, ValidatorId = C::AccountId>,
R: RewardsReporter<C::AccountId>,
{
fn reward_dispute_statement(
session: SessionIndex,
Expand Down
1 change: 1 addition & 0 deletions polkadot/runtime/rococo/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,7 @@ impl sp_runtime::traits::Convert<AccountId, Option<()>> for FullIdentificationOf
}

impl pallet_session::historical::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type FullIdentification = ();
type FullIdentificationOf = FullIdentificationOf;
}
Expand Down
18 changes: 11 additions & 7 deletions polkadot/runtime/test-runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ use polkadot_runtime_common::{
use polkadot_runtime_parachains::reward_points::RewardValidatorsWithEraPoints;
use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
use sp_consensus_beefy::ecdsa_crypto::{AuthorityId as BeefyId, Signature as BeefySignature};
use sp_core::{ConstU32, OpaqueMetadata};
use sp_core::{ConstBool, ConstU32, OpaqueMetadata};
use sp_mmr_primitives as mmr;
use sp_runtime::{
curve::PiecewiseLinear,
Expand Down Expand Up @@ -312,7 +312,7 @@ impl_opaque_keys! {
impl pallet_session::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type ValidatorId = AccountId;
type ValidatorIdOf = pallet_staking::StashOf<Self>;
type ValidatorIdOf = sp_runtime::traits::ConvertInto;
type ShouldEndSession = Babe;
type NextSessionRotation = Babe;
type SessionManager = Staking;
Expand All @@ -323,8 +323,9 @@ impl pallet_session::Config for Runtime {
}

impl pallet_session::historical::Config for Runtime {
type FullIdentification = pallet_staking::Existence;
type FullIdentificationOf = pallet_staking::ExistenceOf<Runtime>;
type RuntimeEvent = RuntimeEvent;
type FullIdentification = ();
type FullIdentificationOf = pallet_staking::UnitIdentificationOf<Self>;
}

pallet_staking_reward_curve::build! {
Expand All @@ -349,7 +350,7 @@ parameter_types! {
pub const MaxExposurePageSize: u32 = 64;
pub const MaxNominators: u32 = 256;
pub const MaxAuthorities: u32 = 100_000;
pub const OnChainMaxWinners: u32 = u32::MAX;
pub const OnChainMaxWinners: u32 = MaxAuthorities::get();
// Unbounded number of election targets and voters.
pub ElectionBoundsOnChain: ElectionBounds = ElectionBoundsBuilder::default().build();
}
Expand All @@ -362,7 +363,9 @@ impl onchain::Config for OnChainSeqPhragmen {
type DataProvider = Staking;
type WeightInfo = ();
type Bounds = ElectionBoundsOnChain;
type MaxWinners = OnChainMaxWinners;
type MaxWinnersPerPage = OnChainMaxWinners;
type MaxBackersPerWinner = ConstU32<{ u32::MAX }>;
type Sort = ConstBool<true>;
}

/// Upper limit on the number of NPOS nominations.
Expand Down Expand Up @@ -400,6 +403,7 @@ impl pallet_staking::Config for Runtime {
type BenchmarkingConfig = polkadot_runtime_common::StakingBenchmarkingConfig;
type EventListeners = ();
type WeightInfo = ();
type MaxValidatorSet = MaxAuthorities;
type Filter = frame_support::traits::Nothing;
}

Expand Down Expand Up @@ -530,7 +534,7 @@ impl parachains_shared::Config for Runtime {
impl parachains_inclusion::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type DisputesHandler = ParasDisputes;
type RewardValidators = RewardValidatorsWithEraPoints<Runtime>;
type RewardValidators = RewardValidatorsWithEraPoints<Runtime, Staking>;
type MessageQueue = ();
type WeightInfo = ();
}
Expand Down
8 changes: 8 additions & 0 deletions polkadot/runtime/westend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ pallet-root-testing = { workspace = true }
pallet-scheduler = { workspace = true }
pallet-session = { workspace = true }
pallet-staking = { workspace = true }
pallet-staking-async-ah-client = { workspace = true }
pallet-staking-async-rc-client = { workspace = true }
pallet-staking-runtime-api = { workspace = true }
pallet-sudo = { workspace = true }
pallet-timestamp = { workspace = true }
Expand Down Expand Up @@ -180,6 +182,8 @@ std = [
"pallet-scheduler/std",
"pallet-session-benchmarking?/std",
"pallet-session/std",
"pallet-staking-async-ah-client/std",
"pallet-staking-async-rc-client/std",
"pallet-staking-runtime-api/std",
"pallet-staking/std",
"pallet-sudo/std",
Expand Down Expand Up @@ -264,6 +268,8 @@ runtime-benchmarks = [
"pallet-referenda/runtime-benchmarks",
"pallet-scheduler/runtime-benchmarks",
"pallet-session-benchmarking/runtime-benchmarks",
"pallet-staking-async-ah-client/runtime-benchmarks",
"pallet-staking-async-rc-client/runtime-benchmarks",
"pallet-staking/runtime-benchmarks",
"pallet-sudo/runtime-benchmarks",
"pallet-timestamp/runtime-benchmarks",
Expand Down Expand Up @@ -323,6 +329,8 @@ try-runtime = [
"pallet-root-testing/try-runtime",
"pallet-scheduler/try-runtime",
"pallet-session/try-runtime",
"pallet-staking-async-ah-client/try-runtime",
"pallet-staking-async-rc-client/try-runtime",
"pallet-staking/try-runtime",
"pallet-sudo/try-runtime",
"pallet-timestamp/try-runtime",
Expand Down
Loading
Loading