gm!
We’re encountering a curious issue with the Pyth oracle on NEAR:
In this transaction Near Transaction AMznXHJPHsKiZhegzieMm6aAA9goXPWJKtgE1D6GqzvZ | NearBlocks, we send an update_price_feeds call 8:14:42 UTC, with the following payload (parsed):
PriceFeedMessage(
PriceFeedMessage {
feed_id: eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a,
price: 99988178,
conf: 68657,
exponent: -8,
publish_time: 1761293675,
prev_publish_time: 1761293675,
ema_price: 99987801,
ema_conf: 56791,
},
)
PriceFeedMessage(
PriceFeedMessage {
feed_id: b7a8eba68a997cd0210c2e1e4ee811ad2d174b3611c22d9ebf16f4cb7e9ba850,
price: 31533148,
conf: 27285,
exponent: -8,
publish_time: 1761293675,
prev_publish_time: 1761293675,
ema_price: 31561041,
ema_conf: 30976,
},
)
Both of those price feed updates have the same publish_time of 2025-10-24T08:14:35.000Z, which is 7 seconds before the transaction lands on chain.
Despite this, when we call list_ema_prices_no_older_than a little later in the transaction (Near Transaction AMznXHJPHsKiZhegzieMm6aAA9goXPWJKtgE1D6GqzvZ | NearBlocks), only one of the price feeds returns a price; b7a8eba68a997cd0210c2e1e4ee811ad2d174b3611c22d9ebf16f4cb7e9ba850 resolves to null. This is despite the fact that we set age to be 60 (seconds).
I would appreciate any pointers if you have the chance to take a look!