# M08-L03 — Exercises

1. **Core:** Implement `Staking rewards` without copying reference code. Demonstrate: Two users receive correct proportional rewards.
2. **Edge case:** Find a boundary condition and add a regression test that fails before the fix and passes after.
3. **Reliability:** Inject a duplicate, timeout, revert, or restart and explain the invariant maintained.
4. **Advanced:** Compare two designs for staking rewards on correctness, gas/performance, and operational complexity.

**Done when:** tests and outputs are reproducible, no secrets are present, and trade-offs are documented.
