Add order caching and fix trades-by-address timeout#82
Open
findolor wants to merge 1 commit into
Open
Conversation
- Wire DirectTradesFetcher into get_trades_by_address handler so it uses batch SQLite queries instead of N individual subgraph queries (which caused 400s+ timeouts) - Add 15s TTL caches for orders-by-token and orders-by-owner endpoints (OrdersByTokenCache, OrdersByOwnerCache) for ~100ms cache-hit responses - Add Hash/Eq/Copy derives to OrderSide for use as cache key - Extract build_trades_from_library helper for the slow-path fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Apr 20, 2026
Open
findolor
added a commit
that referenced
this pull request
Apr 20, 2026
graphite-app Bot
pushed a commit
that referenced
this pull request
Apr 27, 2026
## Motivation Three commits were pushed directly to `main` without the normal PR review flow: - `543a103` - Add order caching and fix trades-by-address timeout - `50e7fd9` - Add metaboard neutralization, order caching, direct trades, quote chunking, and nginx hardening - `b1ebea3` - Skip RPC quotes for zero-balance orders and add stage timing Branch protection currently prevents rewriting `main`, so this PR restores the reviewed tree state with a normal revert commit instead. The original changes are preserved for review in #82, #83, and #84. ## Solution - Revert the three direct-pushed commits in newest-to-oldest order. - Fold the revert into a single commit for review clarity. - Leave the original changes available in the stacked review PRs. ## Checks - `nix develop -c cargo fmt` - `nix develop -c rainix-rs-static` Note: `rainix-rs-static` passed, with existing warnings reported in the nested `rain.orderbook` crate. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Removed Features** * Disabled trade-related API endpoints (`GET /trades/by-tx`, `GET /trades/by-address`, batch trade queries). * Removed in-memory caching layer for order listings. * **Improvements** * Simplified application architecture by removing unnecessary caching mechanisms and dependencies. * Streamlined order retrieval logic. * **Infrastructure** * Updated server configuration and system settings. * Removed local database storage layer integration. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
graphite-app Bot
pushed a commit
that referenced
this pull request
May 6, 2026
## Motivation This PR preserves direct-pushed commit `b1ebea3` for review after removing it from the intended `main` history. It is stacked on #83 and contains the third original direct-pushed commit. The zero-balance quote skip now belongs in Raindex so order pagination and totals are filtered before the REST API fetches quotes. This REST PR now delegates that predicate to the SDK instead of parsing/filtering balances locally. ## Depends On - rainlanguage/raindex#2562 (`feat: add positive output vault balance order filter`) - This PR bumps `lib/rain.orderbook` to `014016c699a2da4aa27d335bbf565e7347c2f762`, which is from that Raindex work and exposes `has_positive_output_vault_balance`. ## Solution - Pass `has_positive_output_vault_balance: Some(true)` when listing orders by owner or token. - Remove REST-side output balance parsing/filtering and quote the SDK-filtered orders directly. - Keep stage timing instrumentation from the original commit. - Update REST compatibility for the newer SDK bindings, take-order candidate signature, signed context field, and spec version 5 test fixtures. ## Checks - `nix develop -c cargo fmt` - `nix develop -c cargo check` - `nix develop -c cargo test routes::orders` - `nix develop -c cargo test` - `nix develop -c rainix-rs-static` fails on existing clippy `too_many_arguments` errors in `src/routes/trades.rs` route handlers. Stack note: merge/review after #82 and #83. This PR is based on `review/alastair-metaboard-direct-trades`. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Orders now filtered to include only those with a positive output vault balance * Added support for version-5 Raindex registry configuration * **Tests** * Expanded token listing tests and remote-token scenario coverage * Added/updated tests for version-5 Raindex registry compatibility * **Chores** * Updated submodule reference and adjusted build/prep configuration paths <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This PR preserves direct-pushed commit
543a103for review after removing it from the intendedmainhistory. It is the first PR in the temporary review stack for the three Alastair direct pushes.Solution
Checks
Not run in this worktree while reconstructing the review stack.
Stack note: this PR is temporarily based on
review/main-before-alastair-direct-pushesbecausemainstill needs to be force-reset tod924310once repository rules allow it.