Skip to content

Fix: Harden Oracle Reading Timestamps Against Clock Skew, Future-Dating, and Replay - #457

Merged
OxDev-max merged 3 commits into
Refract-Protocol:mainfrom
dreamgene-netizen:autosolve/issue-197
Oct 23, 2026
Merged

OxDev-max merged 3 commits into
Refract-Protocol:mainfrom
dreamgene-netizen:autosolve/issue-197

Conversation

@dreamgene-netizen

Copy link
Copy Markdown
Contributor

Resolves #197.

Opened automatically by autosolve-cli.

Closes #197

- Add ReadingAdmissionGate: rejects missing, date-only, invalid, future-dated,
  and stale observation times with structured reason codes; receipt time comes
  from a monotonic clock so local clock jumps do not mass-reject readings.
- Track per-source clock offset (receipt - observation) and expose it via
  OracleEventRepository.getClockOffsets() with a skew flag.
- Persist observed_at and payload_digest; drop replays atomically via the
  oracle_reading_receipts primary key (source, observed_at, payload_digest).
- Migration 004 adds the columns and receipts table.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@drips-wave

drips-wave Bot commented Oct 19, 2026

Copy link
Copy Markdown

@dreamgene-netizen Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

# Conflicts:
#	src/oracle/oracle-event.repository.ts
#	src/oracle/oracle-reading.ts
# Conflicts:
#	src/oracle/oracle-event.repository.ts
#	src/oracle/oracle-reading.ts
@OxDev-max
OxDev-max merged commit d9a8c1f into Refract-Protocol:main Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Harden Oracle Reading Timestamps Against Clock Skew, Future-Dating, and Replay

2 participants