Skip to content

Implements observer gateway with transaction query#23

Merged
jairajdev merged 9 commits into
mainfrom
observer-txn=mapping
Apr 7, 2026
Merged

Implements observer gateway with transaction query#23
jairajdev merged 9 commits into
mainfrom
observer-txn=mapping

Conversation

@abdulazeem-tk4vr

Copy link
Copy Markdown
Member

Replaces the single coordinator_url with a list of observer_urls to enhance robustness and decentralization of bridgeout notifications and transaction queries.

This change:

  • Migrates to multiple observers: Forwards POST /notify-bridgeout requests to all configured observer URLs in the background.
  • Introduces observer transaction queries: Adds new GET /observer/transaction and GET /observer/transactions routes.
    • Includes robust validation for various query parameters such as txId, sender, page, and sinceTxTimestamp.
    • Forwards validated transaction queries to observers.
    • Implements client-side filtering for sinceTxTimestamp to ensure that only transactions after the specified timestamp are returned to the client.
  • Removes the legacy coordinator_gateway module and its configuration.
  • Updates configuration, HTTP routing, and tests to align with the new observer-based architecture.

@abdulazeem-tk4vr abdulazeem-tk4vr self-assigned this Mar 27, 2026
Issue: browsers sent OPTIONS preflight requests to /observer/notify-bridgeout and the proxy returned 405 Method Not Allowed, blocking cross-origin POST requests before they reached the observer forwarding logic.

Fix: add explicit OPTIONS handling for the observer notify-bridgeout route, return the required CORS headers, keep POST responses immediate with accepted semantics, and add coverage for the preflight path.
@jairajdev jairajdev merged commit c39698e into main Apr 7, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants