Sponsored fees reserves - #1335
Open
cybele-ripple wants to merge 7 commits into
Open
Conversation
Surfaces XLS-68 sponsorship data on the account detail page: whether another account is sponsoring this account's base reserve (AccountRoot.Sponsor) and/or its transaction fees (Sponsorship ledger object), matching the Figma spec for this feature.
Build table rows from an array instead of duplicated JSX, use the existing AccountState type instead of any, and move the show-if-sponsored guard out to the call site to match how SignersCard/nftMinter/paychannels are conditionally rendered elsewhere on the account page.
# Conflicts: # src/containers/Accounts/index.tsx
kuan121
self-requested a review
August 2, 2026 14:20
kuan121
reviewed
Aug 4, 2026
| @@ -729,6 +729,12 @@ | |||
| "account_page_payment_channels": "Payment Channels", | |||
Contributor
There was a problem hiding this comment.
@cybele-ripple I have a couple of questions about the scope of this PR:
- Do we plan to add support for the two new transaction types,
SponsorshipSetandSponsorshipTransfer? - This amendment also affects many existing ledger entries and transaction types, and adds common fields to both. Do we need to cover those changes in this PR as well?
Contributor
Author
There was a problem hiding this comment.
This PR now has Sponsor/SponsorFlags/SponsorSignature fields, so any co-sponsored transaction of any type now shows who's sponsoring its fee and/or reserve. There are now updated screenshots to reflect this
kuan121
reviewed
Aug 4, 2026
| <table className="sponsored-fees-reserves-table"> | ||
| <thead> | ||
| <tr> | ||
| <th>{t('account_page_sponsored_scope')}</th> |
Contributor
There was a problem hiding this comment.
It's not clear to me what we want to achieve here. An account can have multiple sponsors. Which ones do we show?
Contributor
Author
There was a problem hiding this comment.
I have updated the preview screenshot to show what multiple sponsors look like
An account can have more than one active Sponsorship object; getAccountSponsorship() previously used .find() and silently dropped all but the first, so the account page only ever showed one fee sponsor.
The Sponsored fees & reserves table truncated sponsor addresses via shortenAccount, but full addresses are more useful for verifying who is sponsoring an account.
…Sponsor field display Adds transaction detail rendering (Description/Simple/TableDetail) for the SponsorshipSet and SponsorshipTransfer transaction types, following the existing per-transaction-type component pattern, plus generic support for the transaction-common Sponsor/SponsorFlags/SponsorSignature fields so any co-sponsored transaction shows who is sponsoring its fee and/or reserve.
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.
High Level Overview of Change
Adds a "Sponsored fees & reserves" section to the account detail page
Type of Change
Codebase Modernization
Preview
Note: this preview includes mock data which is not included in this PR.





Test Plan
Included tests in
src/rippled/lib/test/rippled.test.ts