mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 15:11:03 +00:00
Tvl pool staking (#1322)
What does this PR do? - Introduced the TotalValueLocked storage for nomination-pools. - introduced a slashing api in mock.rs - additional test for tracking a slashing event towards a pool without sub-pools - migration for the nomination-pools (V6 to V7) with `VersionedMigration` Why are these changes needed? this is the continuation of the work by @kianenigma in this [PR](https://github.com/paritytech/substrate/pull/13319) How were these changes implemented and what do they affect? - It's an extra StorageValue that's modified whenever funds flow in or out of staking for any of the `bonded_account` of `BondedPools` - The `PoolSlashed`event is now emitted even when no `SubPools` are found Closes https://github.com/paritytech/polkadot-sdk/issues/155 KSM: HHEEgVzcqL3kCXgsxSfJMbsTy8dxoTctuXtpY94n4s8F4pS --------- Co-authored-by: Liam Aharon <liam.aharon@hotmail.com> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com> Co-authored-by: Ankan <ankan.anurag@gmail.com> Co-authored-by: command-bot <>
This commit is contained in:
@@ -671,8 +671,14 @@ impl<T: Config> StakingLedger<T> {
|
||||
// clean unlocking chunks that are set to zero.
|
||||
self.unlocking.retain(|c| !c.value.is_zero());
|
||||
|
||||
T::EventListeners::on_slash(&self.stash, self.active, &slashed_unlocking);
|
||||
pre_slash_total.saturating_sub(self.total)
|
||||
let final_slashed_amount = pre_slash_total.saturating_sub(self.total);
|
||||
T::EventListeners::on_slash(
|
||||
&self.stash,
|
||||
self.active,
|
||||
&slashed_unlocking,
|
||||
final_slashed_amount,
|
||||
);
|
||||
final_slashed_amount
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -278,6 +278,7 @@ impl OnStakingUpdate<AccountId, Balance> for EventListenerMock {
|
||||
_pool_account: &AccountId,
|
||||
slashed_bonded: Balance,
|
||||
slashed_chunks: &BTreeMap<EraIndex, Balance>,
|
||||
_total_slashed: Balance,
|
||||
) {
|
||||
LedgerSlashPerEra::set((slashed_bonded, slashed_chunks.clone()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user