Description
Staking/Distribution QA and testing
Main tracking issue: #3452
In the course of building the staking and distribution components, we frequently uncovered/created bugs in the implementation, either in the form of straight up dysfunctions (e.g. missing state transitions) or in harder to detect invariant violations (e.g. reward overspending).
In both cases, these mistakes could have been caught by leveraging our App
test harness.
This issue is a first pass at inventorizing bugs that have occured in the process of [re]developing these components. For now, its purpose is to serve as a basis to guide future assurance work. Later, it will serve as a regular tracking issue that describes roadmap and completion of a project.
Historical bug inventory:
Validator state-machine
- staking: add missing effect for
Defined <> Inactive
#3770 - staking: make multi-tombstoning a no-op and a state machine fix #3761
Staking end-epoch handling
Rate calculations
- staking: reward calculation exceeds issuance budget #3802
- staking: use validator exchange rate to compute rewards #3803
Stake bonding mechanisms
- staking: use validator exchange rate to compute rewards #3803
- staking: rework the unbonding delay mechanism #3738
- staking: handle param change and unbonding edge case #4056
Validation
- staking(undelegate_claim): fix unbonding check condition #3820
- Fix delegation token regex to check boundaries #3831
- staking: add limit on number of validator funding streams #3768
- staking: validator definitions with conflicting consensus keys #3858
Testing tracker:
Tombstoning
Enshrining action invariants
- staking(tests): check that the final definition upload is disabled #4183
- tests(app): 🙅 app rejects invalid auth signatures #4182
Rate calculations
- staking(tests): add rate calculation scenarios
Validator state-machine
- staking(tests): cover validator state machine transitions
Metadata
Metadata
Assignees
Type
Projects
Status