mirror of
https://github.com/luxfi/precompile.git
synced 2026-09-24 00:26:21 +00:00
Neither pulsar/ nor p3q/ had a module.go. ML-DSA / ML-KEM / SLH-DSA / Corona each had an init() that calls modules.RegisterModule(...) at import time — that's how the registry binds the precompile's Configurator + Contract to its Address. Without a module.go for pulsar + p3q, neither was reachable from chain transactions; calling the address fell through to 'no code' (silently returned empty, caller saw 'verification = 0'). The Pulsar slot is the canonical Module-LWE threshold signature verifier in the LP-4200 block — the StrictPQ profile's primary threshold-signing path. P3Q is the strict-PQ STARK proof verifier for the family canonical Plonky3-fork backend. Add module.go for both, mirroring the mldsa/corona pattern: configurator + Config + init() registering against the canonical address. Tests pass for both packages. Also update modules/registerer.go to document the full 0x012200 block (was only listing through Corona-Threshold=0x12204; now explicit through 0x12206 Corona).