diff --git a/prdoc/pr_9186.prdoc b/prdoc/pr_9186.prdoc new file mode 100644 index 0000000000000..80ddae3e6491a --- /dev/null +++ b/prdoc/pr_9186.prdoc @@ -0,0 +1,9 @@ +title: 'pallet-staking-async: Use saturating addition for era reward points' +doc: +- audience: Runtime Dev + description: |- + This PR replaces regular addition with saturating addition when accumulating era reward points in + pallet-staking-async to prevent potential overflow. +crates: +- name: pallet-staking-async + bump: patch \ No newline at end of file diff --git a/substrate/frame/staking-async/src/session_rotation.rs b/substrate/frame/staking-async/src/session_rotation.rs index de7a47a8675fd..21e38f26ffc69 100644 --- a/substrate/frame/staking-async/src/session_rotation.rs +++ b/substrate/frame/staking-async/src/session_rotation.rs @@ -364,7 +364,7 @@ impl Eras { era_rewards.individual.try_insert(validator, points).defensive(); }, } - era_rewards.total += points; + era_rewards.total.saturating_accrue(points); } }); }