Files
precompile/pulsar
zeekay d3f1886f05 CRIT: register Pulsar (0x012204) + P3Q (0x012205) precompile modules
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).
2026-05-13 15:05:45 -07:00
..