Files
zeekay 3119521839 profile: PQ-native signing-profile gate (ML-DSA-65 default)
Adds pkg/profile — the single function `profile.Verify(policy, scheme,
pub, msg, sig)` that gates every intra-Lux operator signature
(Observations, OracleRecords). ML-DSA-65 (FIPS 204) is the default;
Ed25519 is opt-in only via Policy.LegacyClassicalEnabled and refused
otherwise with ErrClassicalRefused before any classical math runs.

Domain-separation context "luxfi.oracle.v1" is bound into every
signature so an oracle Observation cannot be replayed as a relay
receipt (which uses "luxfi.relay.v1").

5 tests cover happy path, strict-PQ classical refusal, legacy opt-in,
tampered-sig rejection, and unknown-scheme rejection.

External-source interactions (Pyth, Chainlink, Bitcoin / Ethereum RPC,
market-data APIs) are NOT in this package's scope and continue using
each source's native primitive.
2026-05-19 08:37:05 -07:00
..