feat: dual-chain staking score with XCM data pipeline

- Rewrite pezpallet-staking-score: StorageDoubleMap (AccountId x StakingSource),
  remove StakingInfoProvider trait, all data via receive_staking_details()
- Add StakingSource enum (RelayChain / AssetHub) for multi-source aggregation
- Add OnStakingDataUpdate callback trait for trust pallet integration
- Trust pallet: on_initialize hook for periodic batch updates,
  OnStakingDataUpdate impl triggers immediate score recalculation
- People Chain runtime: remove noop StakingInfoProvider, wire OnStakingUpdate = Trust
- Update weights for both pallets (conservative estimates incl. callback cost)
- spec_version 1_020_005 -> 1_020_006
- 57 tests passing (25 staking-score + 32 trust)
This commit is contained in:
2026-02-16 07:49:13 +03:00
parent f249190090
commit d6444076c3
11 changed files with 652 additions and 792 deletions
Generated
-8
View File
@@ -17858,20 +17858,12 @@ version = "1.0.0"
dependencies = [
"parity-scale-codec",
"pezframe-benchmarking",
"pezframe-election-provider-support",
"pezframe-support",
"pezframe-system",
"pezkuwi-primitives",
"pezpallet-bags-list",
"pezpallet-balances",
"pezpallet-session",
"pezpallet-staking",
"pezpallet-timestamp",
"pezsp-core",
"pezsp-io",
"pezsp-npos-elections",
"pezsp-runtime",
"pezsp-staking",
"pezsp-std",
"scale-info",
"serde",