# M02-L02 — Exercises

1. **Core:** Implement `Key pairs and addresses` without copying reference code. Demonstrate: Address derives consistently from public key.
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 key pairs and addresses on correctness, gas/performance, and operational complexity.

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