Epoch 158 reward underpayment after v0.2.9: preserved inference-slot weight was reset #764
After upgrade v0.2.9, part of epoch 158 rewards appears to be distributed incorrectly. Validators that had ML nodes in preserved inference slot (POC_SLOT, TimeslotAllocation[1]) were not paid.
Suspected root cause: - upgrade migration reset TimeslotAllocation[1] for effective-epoch data; - reward settlement uses preserved weight from this slot (effectiveWeight = preservedWeight + confirmationWeight); - as a result, preserved weight was reduced to zero for affected participants during settlement.
Impact: - epoch 158 reward shares are skewed; - validators with significant preserved/inference-slot weight are affected most.
Requested actions:
- Reconstruct historical slot allocation for epoch 158 at effective block height.
- Recalculate expected rewards with the same chain formula and filters.
- Prepare and execute compensation distribution via upgrade/governance proposal.
💬 Comments (1)
🔄 Auto-synced from Issue #764 every hour.
PR with fix: #771 — removes resetPocSlotsInEpochGroupData from v0.2.9 upgrade handler. This function reset TimeslotAllocation[1] in EpochGroupData which is read during reward settlement, zeroing preservedWeight for all validators in epoch 158.
Note: this is a forward-fix for chain replay correctness. Compensation for epoch 158 affected validators requires a separate governance proposal.