fix(ledger): guard custom currency charge payments - #4853
Merged
Merged
Conversation
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughFlat-fee and usage-based charge adapters now reject custom currencies in payment authorization and settlement handlers. Each handler returns a wrapped ChangesCustom currency validation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 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 |
chrisgacsal
approved these changes
Aug 5, 2026
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.
Summary
Behavioral change
Custom-currency overage accrual is not yet supported by the ledger adapters, but the payment handlers did not enforce the same boundary. If reached independently, they could attempt to resolve a custom-currency receivable using a fiat payment amount.
The payment handlers now return
ErrCustomCurrencyNotSupportedbefore resolving or committing a ledger transaction. Fiat charge payment behavior is unchanged. These guards are intentionally temporary and should be removed when OM-435 implements fiat settlement for custom-currency overage.Validation
Ticket: OM-435
Summary by CodeRabbit
Greptile Summary
This PR prevents unsupported custom-currency payment transactions from reaching ledger resolution or commit.
Confidence Score: 5/5
The PR appears safe to merge, with unsupported custom-currency payments rejected before ledger mutations while fiat behavior remains unchanged.
The four new checks return the shared unsupported-currency error before transaction resolution or commit, and current workflow ordering does not expose a conflicting reachable no-op path.
Important Files Changed
Reviews (1): Last reviewed commit: "feat: guard custom currency payments" | Re-trigger Greptile
Context used: