mirror of
https://github.com/logos-blockchain/lez-programs.git
synced 2026-06-28 19:19:25 +00:00
Add the first zkVM-path coverage of the oracle's price-account output, which previously existed only as native unit tests: - amm_twap_create_oracle_price_account: creates the OraclePriceAccount via a signing price source and checks the initialized state (price, timestamp, source/base/quote, confidence). - amm_twap_publish_price_publishes_window_average: full pipeline — real swaps + RecordTick build the observations, then PublishPrice consumes them. With the clock at the newest observation (empty tail) the published price is the stored-window average tick converted to a Q64.64 price, stamped with now. - amm_twap_publish_price_extrapolates_tail_to_now: advances the clock past the last record with no new observation; asserts the published timestamp is now (a fresh price, not a stale window) and the value reflects the extrapolated tail. - amm_twap_publish_price_noop_with_fewer_than_two_observations: PublishPrice leaves the price account untouched when there is nothing to average.