mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 16:33:27 +00:00
Moves public key parsing, serialization, liftX, and hasEvenY into a dedicated KeyCodec object. These functions operate on field math only (FieldP, U256) and don't use EC point operations or scratch buffers, making them a natural separate concern. Point.kt retains thin delegation methods (liftX, hasEvenY, parsePublicKey, serializeCompressed, serializeUncompressed) so all existing callers (ECPoint.liftX, etc.) continue to work without changes. Point.kt: 803 → 710 lines KeyCodec.kt: 133 lines (new) No functional changes — pure reorganization. https://claude.ai/code/session_01BhU63WUe9AhikZxRdw3Lpg