chore: bump lib/rain.orderbook to quote-counterparty-msg-sender#79
chore: bump lib/rain.orderbook to quote-counterparty-msg-sender#79hardyjosh wants to merge 1 commit into2026-04-14-api-gated-signingfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis pull request updates the Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
b696cc3 to
6f50c37
Compare
Picks up the quote RPC refactor in rainlanguage/raindex#2550: quotes now use orderbook-native `multicall(bytes[])` with `from=counterparty`, preserving `msg.sender` through the batch. This is what lets API-gated strategies (whose `calculate-io` asserts `signed-context<0 0>() == order-counterparty()`) actually survive the quote stage and enter the take-orders selection instead of being silently filtered. No code changes in this repo — the counterparty was already threaded through to the rain.orderbook quote layer via the injector flow in the parent PR; it just wasn't being used by the RPC layer until the submodule fix. Depends on rainlanguage/raindex#2550.
6f50c37 to
91b2d58
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
Superseded by #78 — submodule bump folded into the gating PR. |

Caution
Chained to rainlanguage/raindex#2550 (itself chained to #2547) and #78. Merge order: raindex#2547 → raindex#2550 → this → st0x.rest.api#78. Submodule pointer rebased onto
mainof each dependency before merging.Motivation
The parent PR #78 introduced the gating SignedContextInjector but gated orders still never got picked by the API — they were silently filtered at quote time. Root cause:
orderbook.quote2via Multicall3 setmsg.sender = Multicall3, so the strategy's:ensure(equal-to(signed-context<0 0>() order-counterparty()))always reverted during quoting. Fixed in rainlanguage/raindex#2550 by switching the quote RPC to orderbook-nativemulticall(bytes[])(delegatecall — preservesmsg.sender) withfrom=counterparty.Solution
Submodule bump only. The API already threaded counterparty through
get_order_quotes_batch_with_injectorvia the injector; with the upstream fix in place, it now actually arrives atquote2asmsg.sender, gated orders simulate correctly, and the API returnstakeOrders4calldata that targets our gated orders.Checks
By submitting this for review, I'm confirming I've done the following:
Summary by CodeRabbit