Skip to content

Add support for XLS-85 Token Escrow (#5185) [DO NOT MERGE]#743

Open
tequdev wants to merge 1 commit intosync-2.5.0from
sync-2.5.0-tokenescrow
Open

Add support for XLS-85 Token Escrow (#5185) [DO NOT MERGE]#743
tequdev wants to merge 1 commit intosync-2.5.0from
sync-2.5.0-tokenescrow

Conversation

@tequdev
Copy link
Copy Markdown
Member

@tequdev tequdev commented May 7, 2026

Target Branch: sync-2.5.0

High Level Overview of Change

Switch to helper-based processing for IOUEscrowV2 Amendment

Context of Change

Type of Change

  • New feature (non-breaking change which adds functionality)

diff (TODO)

  • Escrow creation by Issuer
    • V1: Allowed
    • V2: Not allowed
  • TransferRate field of TrustLine
    • V1: Set for both XAH and IOU, while V2: Set only for IOU and non-default values
    • V1: Use the lower rate if the Issuer's TransferRate has decreased at the time of Finish
      => Fix to same as V1
  • sfLockedBalance, sfLockedCount
    • V1: Used
    • V2: Not used
  • sfIssuerNode -> Fix to use for V2 and later (untested)
    • V1: Not used
    • V2: Used

@tequdev tequdev force-pushed the sync-2.5.0-tokenescrow branch from ecb1cef to 04e64ee Compare May 7, 2026 07:38
@tequdev tequdev force-pushed the sync-2.5.0 branch 3 times, most recently from 3e83cd1 to cff528d Compare May 7, 2026 07:58
- Specification: XRPLF/XRPL-Standards#272
- Amendment: `TokenEscrow`
- Enables escrowing of IOU and MPT tokens in addition to native XRP.
- Allows accounts to lock issued tokens (IOU/MPT) in escrow objects, with support for freeze, authorization, and transfer rates.
- Adds new ledger fields (`sfLockedAmount`, `sfIssuerNode`, etc.) to track locked balances for IOU and MPT escrows.
- Updates EscrowCreate, EscrowFinish, and EscrowCancel transaction logic to support IOU and MPT assets, including proper handling of trustlines and MPT authorization, transfer rates, and locked balances.
- Enforces invariant checks for escrowed IOU/MPT amounts.
- Extends GatewayBalances RPC to report locked (escrowed) balances.
@tequdev tequdev force-pushed the sync-2.5.0-tokenescrow branch from 04e64ee to ba64ef9 Compare May 7, 2026 08:19
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