Skip to content

Price oracle precompile and off-chain oracle source integration - #189

Merged
theodorebugnet merged 12 commits into
Sovereign-Labs:relay-chain-upgradefrom
unevenlabs:dcompoze/price-oracle-integration
Jun 30, 2026
Merged

theodorebugnet merged 12 commits into
Sovereign-Labs:relay-chain-upgradefrom
unevenlabs:dcompoze/price-oracle-integration

Conversation

@dcompoze

@dcompoze dcompoze commented Jun 19, 2026 •

Copy link
Copy Markdown

Changes in this PR:

  • Price oracle precompile implementation in ./crates/precompiles/price-oracle
  • In-memory data structure to store price data in the sequencer
  • Provider-agnostic IPC interface defined in ./crates/shared/price-oracle-ipc
  • Multi-provider oracle configuration defined in ./configs/celestia/oracle.toml
  • New command line flag to specify the --oracle-config-path modeled after --rollup-config-path
  • Changes in ./crates/stf to support seeding the sequencing_data with price data from the in-memory store.

Update:

  • Added an eviction policy based around registered feeds - only advertised feeds are registered, unused feeds are evicted
  • Added support for multiple oracle provider replicas - feeds for the same provider are reconciled based on the source_time (i.e. oracle report timestamp).
  • Removed unix socket support from the IPC library.
  • Implemented checks mentioned in the code review comments.
  • Removed the shared precompile registry (currently unnecessary).

@github-actions

github-actions Bot commented Jun 19, 2026 •

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@dcompoze
dcompoze force-pushed the dcompoze/price-oracle-integration branch from e2308a1 to a7541d2 Compare June 22, 2026 12:04
@dcompoze

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

github-actions Bot added a commit that referenced this pull request Jun 22, 2026
@dcompoze
dcompoze marked this pull request as ready for review June 23, 2026 13:51

@theodorebugnet theodorebugnet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. As discussed (briefly) on slack, Relay Chain doesn't need HDTimestamp, so the SequencingRegistry layer isn't strictly necessary. If you'd like to simplify it away, it would skip an extra layer of borsh serialization when querying the precompile as well as cut down on the LOC a bit.

Obviously not a blocker though.

Comment thread crates/rollup/src/oracle.rs
@dcompoze
dcompoze force-pushed the dcompoze/price-oracle-integration branch from f972254 to bcbe176 Compare June 25, 2026 01:53
@dcompoze

Copy link
Copy Markdown
Author

💯 - I'm ready to merge this - if there's no other comments.

@theodorebugnet
theodorebugnet merged commit 90c889a into Sovereign-Labs:relay-chain-upgrade Jun 30, 2026
1 check passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants