fix: use compressed key bytes in CompressedECKeyData + add spec test vector
PrismDIDPublicKey.toProto() was using keyData.raw which may be uncompressed (65 bytes) for secp256k1. Now correctly uses getEncodedCompressed() to get the 33-byte compressed form. Added spec test vector that verifies: - Compressed pubkey: 023f7c75c9e5fba08fea1640d6faa3f8dc0151261d2b56026d46ddcbe1fc5a5bbb - Canonical DID: did:prism:35fbaf7f8a68e927feb89dc897f4edc24ca8d7510261829e4834d931e947e6ca Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>