Lux Proposals
← All proposals
LP-0179Proposedpqcontract-authprecompilez-chainmirror

LP-179: Contract Auth via Z-Chain Proof

Abstract

LP-179 mirrors HIP-0104 into Lux. Four precompiles expose the

strict-PQ contract-auth surface to EVM-compatible contracts on Lux:

Each precompile returns (bool ok, bytes payload). Contracts call

these via standard EVM staticcall. ecrecover is refused under

LUX_STRICT_PQ.

Mirrored profile


ProfileID:           0x01  (ProfileLuxStrictPQ)
ProfileName:         LUX_STRICT_PQ
HashSuiteID:         SHA3_NIST                (0x01)
IdentitySchemeID:    ML_DSA_65                (0x42)
ProofPolicyID:       STARK_FRI_SHA3_PQ        (0x10)
MinSoundnessBits:    128
MinHashOutputBits:   384
RequireTransparent:  true
ForbidPairings:      true
ForbidKZG:           true
ForbidTrustedSetup:  true
ForbidClassicalSNARKs: true
ForbidDevProofs:     true
ForbidFallbacks:     true

Lux-specific bindings

Compliance

A Lux EVM contract calling ecrecover under LUX_STRICT_PQ reverts

with ErrEcrecoverRefused. Contracts MUST migrate to one of

staticcall(0x0301) (ML-DSA-65 verify), staticcall(0x0302)

(ML-DSA-87), staticcall(0x0303) (SLH-DSA), or staticcall(0x0304)

(Z-Chain proof) before profile activation.

References