mirror of
https://github.com/luxfi/oracle.git
synced 2026-10-30 15:23:21 +00:00
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.