Skip to content

Reformat XLS-65 specification#463

Open
Tapanito wants to merge 20 commits intomasterfrom
tapanito/vault-enhanced
Open

Reformat XLS-65 specification#463
Tapanito wants to merge 20 commits intomasterfrom
tapanito/vault-enhanced

Conversation

@Tapanito
Copy link
Copy Markdown
Collaborator

High Level Overview of Change

This PR restructures XLS-65 specfication, without functional changes.

Context of Change

Type of Change

  • New XLS Draft
  • XLS Update (changes to an existing XLS)
  • XLS Status Change (e.g., Draft → Final, Draft → Stagnant)
  • Process/Meta (changes to CONTRIBUTING.md, XLS-1, templates, etc.)
  • Infrastructure (CI, workflows, scripts, website)
  • Documentation (README updates, typo fixes)

@Tapanito Tapanito requested a review from mvadari February 11, 2026 15:10
@Tapanito
Copy link
Copy Markdown
Collaborator Author

The remaining validation error is due to a missing Security section. It's out of scope for this PR to add such a section.

@Tapanito Tapanito changed the title Tapanito/vault enhanced Reformat XLS-65 specification Feb 19, 2026
Comment thread XLS-0065-single-asset-vault/README.md Outdated
Comment thread XLS-0065-single-asset-vault/README.md Outdated
Comment thread XLS-0065-single-asset-vault/README.md Outdated
Tapanito and others added 4 commits February 24, 2026 10:27
…tion

- Add Example JSON sections for Vault ledger entry and all transactions
  (VaultCreate, VaultSet, VaultDelete, VaultDeposit, VaultWithdraw,
  VaultClawback, Payment) with real transaction data
- Add invariants for the Vault ledger entry (universal checks) and all
  transaction types derived from the ValidVault invariant checker
- Restructure section 10 from "API" to "RPC: vault_info" matching the
  amendment template format with Request Fields, Response Fields,
  Failure Conditions, Example Request, and Example Response subsections
- Update response fields table with missing fields (Data, Asset.mpt_issuance_id,
  shares.DomainID, shares.MPTokenMetadata) and correct Always Present values
- Update response examples to use proper JSON format with response envelope
- Add section 9.1 Fields for Payment transaction
- Remove Index section and all Return to Index links

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Reorganize top-level sections: Abstract (1), Introduction (2),
  Specification (3), Rationale (4), Security Considerations (5),
  Appendix
- Move all ledger entry, transaction, and RPC sections under
  "3. Specification" as subsections (3.1-3.9)
- Remove "1.1 Overview" heading, merge content into Introduction body
- Renumber Introduction subsections: Terminology (2.1), Actors (2.2),
  Connecting to the Vault (2.3)
- Demote all specification headings by one level with new numbering
- Add Rationale section explaining decoupled vault design
- Rename FAQ section to "Appendix A: FAQ" with A.x numbering
- Fix heading levels for Key Variables and Vault State Update

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Tapanito
Copy link
Copy Markdown
Collaborator Author

@mvadari , I completely restructured the specification to match the template.

Comment thread XLS-0065-single-asset-vault/README.md Outdated
Comment thread XLS-0065-single-asset-vault/README.md Outdated
Comment thread XLS-0065-single-asset-vault/README.md
Comment thread XLS-0065-single-asset-vault/README.md Outdated
Comment thread XLS-0065-single-asset-vault/README.md Outdated

A protocol connecting to a Vault must track its debt. Furthermore, the updates to the Vault state when funds are removed or added back must be handled in the transactors of the protocol. For an example, please refer to the [Lending Protocol](https://github.com/XRPLF/XRPL-Standards/discussions/190) specification.

[**Return to Index**](#index)
## 3. Specification
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you remove the Specification heading and move everything out by one level, you won't run out of Markdown heading depth.
(P.S. AI handles this sort of direction well)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, can't do that. It's part of the mandated spec. format :)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The opposite is part of the mandated spec format :)

@Tapanito
Copy link
Copy Markdown
Collaborator Author

Actually, @mvadari, it makes no sense to add error codes in a separate PR. I'm adding them here.

@mvadari mvadari self-requested a review February 26, 2026 02:55
@@ -71,130 +40,128 @@ Additionally, an issuer can perform a **Clawback** operation:

- **`VaultClawback`**: Allows the issuer of an IOU or MPT to claw back funds from the vault, as outlined in the [Clawback documentation](https://xrpl.org/docs/use-cases/tokenization/stablecoin-issuer#clawback).

#### 1.1.1 Vault Ownership and Management
**Vault Ownership and Management**
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are the numbers removed from these?


| **Field** | **Description** | **Value** |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| `Issuer` | The AccountID of the Vault's _pseudo-account_. | _pseudo-account_ ID |
| `Issuer` | The ACCOUNTID of the Vault's _pseudo-account_. | _pseudo-account_ ID |
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree with this change

[**Return to Index**](#index)
#### 3.1.10 Invariants

- A transaction must not modify more than one `Vault` object.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be numbered too?

@@ -8,47 +8,16 @@
category: Amendment
requires: [XLS-33](../XLS-0033-multi-purpose-tokens/README.md)
created: 2024-04-12
updated: 2025-11-17
updated: 2026-02-11
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: date should be updated

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