Skip to content

feat: add stream rate changes and decentralized pair pricing - #734

Merged
Jaydbrown merged 10 commits into
conduit-protocol:mainfrom
Ay-obami:wave9-ay-stream-oracle
Sep 29, 2026
Merged

Jaydbrown merged 10 commits into
conduit-protocol:mainfrom
Ay-obami:wave9-ay-stream-oracle

Conversation

@Ay-obami

Copy link
Copy Markdown
Contributor

Summary

This PR consolidates Ay-obami's three assigned StreamFi contracts issues into one reviewable change set.

#619 — Prospective stream rate changes

  • adds sender/operator-authorized change_rate
  • rejects non-positive, unauthorized, ended, cancelled, and overflowing changes
  • checkpoints already-accrued value so a new rate never retroactively reprices prior streaming
  • preserves pause/resume accounting by shifting active rate checkpoints with paused time
  • emits a dedicated sequenced rate_chg event

#620 — Atomic top-up + extension event

  • replaces the generic top-up event for top_up_and_extend with one dedicated top_ext event
  • includes old/new balance and old/new end time in one payload
  • preserves one event-sequence increment for the single logical state transition
  • adds event-shape regression coverage

#695 — Decentralized pair-price aggregation

  • changes Address and Symbol pair feeds from last-writer-wins to timestamped per-reporter reports
  • caps each pair at five active authorized reporters
  • returns the median of reports no older than 15 minutes
  • excludes revoked reporters and stale observations
  • keeps legacy scalar pair-price keys as migration fallback for pre-upgrade deployments
  • preserves direct and reciprocal pair-price APIs
  • adds median, staleness, reporter-cap, and symbol-pair tests

Verification

  • cargo +stable test -p drip-stream --lib — 130/130 passed
  • cargo +stable test -p drip-oracle --lib — 81/81 passed
  • cargo +stable clippy -p drip-stream -p drip-oracle --all-targets -- -D warnings — passed
  • git diff --check — passed

A full-workspace local run was interrupted only because the workstation filled its build volume; generated build artifacts were then cleaned. Upstream CI remains the complete workspace gate.

Closes #619
Closes #620
Closes #695

@Ay-obami
Ay-obami requested a review from Jaydbrown as a code owner September 29, 2026 11:08
@drips-wave

drips-wave Bot commented Sep 29, 2026

Copy link
Copy Markdown

@Ay-obami 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

@Ay-obami
Ay-obami force-pushed the wave9-ay-stream-oracle branch from 001e42d to 84f024a Compare September 29, 2026 22:54
@Jaydbrown
Jaydbrown merged commit 65a9869 into conduit-protocol:main Sep 29, 2026
4 of 9 checks passed
@Ay-obami
Ay-obami deleted the wave9-ay-stream-oracle branch October 2, 2026 07:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants