Skip to content

Oracle's per-batch "price submitted" event carries no price data (and set_prices_simple emits none at all) #439

Description

@abayomicornelius

Problem

The oracle's signed price-submission entrypoint validates and stores each submitted price, then after the loop publishes only the caller's address and a count of how many prices were submitted — none of the actual token/min/max values that were just verified and stored are included. The unsigned convenience entrypoint (set_prices_simple) performs the same validation/storage loop but publishes no event at all on success.

Why it matters

An indexer or price-feed dashboard that wants to show "token X was priced at $Y as of ledger Z" has no way to get that from events; it would have to separately poll the price getters per token per ledger and race the price's temporary-storage TTL. The circuit-breaker event elsewhere in the same contract already demonstrates the codebase knows how to emit rich per-token price data — the routine price-submission path just doesn't do the same for the common case.

Suggested fix

Emit a structured event per submitted price (or a batch payload) from the signed submission path, e.g. PriceSubmitted{keeper, token, min, max, ledger_seq}, and add an equivalent event to the unsigned convenience entrypoint for parity.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions