Added

[February 17, 2026] date field in signed price message & pre-signing validation

v0.40.0

Date Field in Signed Price Message

  • Added date field (10 bytes, "YYYY-MM-DD" ASCII) to the signed 74-byte price message, matching the updated on-chain parcl-v3 oracle format (PARCL-001 security fix).

Pre-Signing Validation Layer

  • Added defense-in-depth validation before signing price data, mirroring on-chain oracle checks:
    • Price must be > 0 (mirrors on-chain require!(price > 0))
    • Expiry must not be in the past
    • Expiry must be within 25-hour horizon (mirrors on-chain MAX_EXPIRY_HORIZON_MS)
    • Publish timestamp must be within reasonable bounds (not >48h old, not >1h future)
    • Date/expiry consistency check
    • Structural date format validation (YYYY-MM-DD with calendar validity)
  • Added ValueError handling in price feed router for validation failures