Skip to content

Commit c5ea8da

Browse files
committed
fix: fix email and Github username formatting (XRPLF#342)
1 parent e6991bf commit c5ea8da

File tree

7 files changed

+44
-32
lines changed

7 files changed

+44
-32
lines changed

XLS-0006-visual-account-icons/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
xls: 6
33
title: Standard for Visual Account Icons
44
description: A standard for visually distinguishing XRPL accounts by generating unique icons for each account, regardless of address format.
5-
author: Richard Holland (RichardAH)
5+
author: Richard Holland (@RichardAH)
66
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/24
77
status: Final
88
category: Community

XLS-0022-api-versioning/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
xls: 22
33
title: rippled API Versioning
44
description: The API version number allows for evolving the `rippled` API while maintaining backward compatibility
5-
author: Elliot Lee (intelliot), Peng Wang (pwang200)
5+
author: Elliot Lee (@intelliot), Peng Wang (@pwang200)
66
status: Final
77
category: Protocol
88
created: 2021-08-11

XLS-0025-enhanced-secret-numbers/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
xls: 25
33
title: Enhanced Secret Numbers
44
description: Enhances XLS-12 secret number format by introducing an additional block for encoding ancillary information, and supporingt for longer secrets.
5-
author: Nik Bougalis (nikb@bougalis.net)
5+
author: Nik Bougalis <nikb@bougalis.net>
66
status: Final
77
category: Community
88
created: 2021-12-10

XLS-0041-xpop/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<pre>
22
xls: 41
33
title: XRPL Proof of Payment Standard (XPOP)
4-
author: Richard Holland (RichardAH)
4+
author: Richard Holland (@RichardAH)
55
description: An offline non-interactive cryptographic proof that a transaction was successfully submitted to the XRP Ledger and what its impact (metadata) was
66
created: 2023-05-04
77
status: Final

XLS-0064-pseudo-account/README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ updated: 2025-08-29
1111

1212
### Abstract
1313

14-
This document proposes a standard for a *pseudo-account*, an `AccountRoot` ledger entry that can be associated with one or more other ledger entries. A pseudo-account is designed to hold and/or issue assets on behalf of its associated entries, enabling protocol-level functionality that requires an on-ledger entity to manage funds.
14+
This document proposes a standard for a _pseudo-account_, an `AccountRoot` ledger entry that can be associated with one or more other ledger entries. A pseudo-account is designed to hold and/or issue assets on behalf of its associated entries, enabling protocol-level functionality that requires an on-ledger entity to manage funds.
1515

1616
### Motivation
1717

18-
The XRP Ledger is an account-based system where assets (XRP, IOUs, etc.) can only be held by an `AccountRoot` entry. However, several advanced protocols, such as Automated Market Makers (AMMs), lending pools, and vaults, require a ledger *object* itself to hold and manage assets.
18+
The XRP Ledger is an account-based system where assets (XRP, IOUs, etc.) can only be held by an `AccountRoot` entry. However, several advanced protocols, such as Automated Market Makers (AMMs), lending pools, and vaults, require a ledger _object_ itself to hold and manage assets.
1919

2020
The [XLS-30 (AMM)](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0030-automated-market-maker#readme) specification pioneered this concept by introducing a pseudo-account linked to each `AMM` instance. This allows the AMM to track its token balances and issue Liquidity Provider Tokens (`LPTokens`).
2121

@@ -43,30 +43,30 @@ A nonce-based approach is used to generate the unique `AccountRoot` ID:
4343

4444
###### **Fields**
4545

46-
| Field Name | Constant | Required | Internal Type | Default Value | Description |
47-
| :--- | :---: | :---: | :---: | :---: | :--- |
48-
| `<Object>ID` | Yes | Yes | `HASH256` | N/A | The unique identifier of the ledger object this pseudo-account is associated with. |
49-
| `Flags` | Yes | Yes | `UINT32` | N/A | A set of flags that must be set for a pseudo-account. |
50-
| `Sequence` | Yes | Yes | `UINT32` | `0` | The sequence number, which must be `0`. |
51-
| `RegularKey` | Yes | No | `ACCOUNT` | N/A | A regular key, which must not be set for a pseudo-account. |
46+
| Field Name | Constant | Required | Internal Type | Default Value | Description |
47+
| :----------- | :------: | :------: | :-----------: | :-----------: | :--------------------------------------------------------------------------------- |
48+
| `<Object>ID` | Yes | Yes | `HASH256` | N/A | The unique identifier of the ledger object this pseudo-account is associated with. |
49+
| `Flags` | Yes | Yes | `UINT32` | N/A | A set of flags that must be set for a pseudo-account. |
50+
| `Sequence` | Yes | Yes | `UINT32` | `0` | The sequence number, which must be `0`. |
51+
| `RegularKey` | Yes | No | `ACCOUNT` | N/A | A regular key, which must not be set for a pseudo-account. |
5252

5353
A detailed description of these fields follows:
5454

5555
**`<Object>ID`**
5656

5757
This field links the pseudo-account to its parent ledger object. Any protocol introducing a pseudo-account must define a new, optional field on the `AccountRoot` object to store this ID. The field name must follow this convention:
5858

59-
* `<Object>` is the name of the associated ledger object (e.g., `AMM`, `Vault`). Names that are acronyms should be fully capitalized (`AMMID`). Otherwise, use PascalCase (`VaultID`).
60-
* The suffix `ID` must always be appended.
59+
- `<Object>` is the name of the associated ledger object (e.g., `AMM`, `Vault`). Names that are acronyms should be fully capitalized (`AMMID`). Otherwise, use PascalCase (`VaultID`).
60+
- The suffix `ID` must always be appended.
6161

6262
**`Flags`**
6363

6464
The following flags must be set on a pseudo-account's `AccountRoot` and must be immutable:
6565

66-
| Flag Name | Hex Value | Description |
67-
| :--- | :---: | :--- |
68-
| `lsfDisableMaster` | `0x00040000` | Disables the master key pair, ensuring no entity can sign transactions directly for this account. Control is ceded entirely to protocol rules. |
69-
| `lsfDepositAuth` | `0x01000000` | Requires authorization for deposits, typically meaning that funds can only be sent to this account via specific protocol transactions rather than standard `Payment` transactions. |
66+
| Flag Name | Hex Value | Description |
67+
| :----------------- | :----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68+
| `lsfDisableMaster` | `0x00040000` | Disables the master key pair, ensuring no entity can sign transactions directly for this account. Control is ceded entirely to protocol rules. |
69+
| `lsfDepositAuth` | `0x01000000` | Requires authorization for deposits, typically meaning that funds can only be sent to this account via specific protocol transactions rather than standard `Payment` transactions. |
7070

7171
**`Sequence`**
7272

@@ -80,9 +80,9 @@ A `RegularKey` must not be set on a pseudo-account.
8080

8181
The cost of creating a pseudo-account depends on whether it is owned and controlled by another account.
8282

83-
* **Owned Pseudo-Accounts:** For objects like a `Vault` where a single account owns and controls the associated pseudo-account, the transaction must increase the owner's XRP reserve by one increment. This is in addition to any other reserve requirements of the transaction (e.g., for the `Vault` object itself). The transaction fee is the standard network fee.
83+
- **Owned Pseudo-Accounts:** For objects like a `Vault` where a single account owns and controls the associated pseudo-account, the transaction must increase the owner's XRP reserve by one increment. This is in addition to any other reserve requirements of the transaction (e.g., for the `Vault` object itself). The transaction fee is the standard network fee.
8484

85-
* **Unowned Pseudo-Accounts:** For objects like an `AMM` that are not owned by any account, the creation transaction must charge a special, higher-than-normal transaction fee. This fee must be at least the value of one incremental owner reserve (currently **2 XRP**, subject to change via Fee Voting). This amount is burned, compensating for the permanent ledger space without tying the reserve to a specific owner.
85+
- **Unowned Pseudo-Accounts:** For objects like an `AMM` that are not owned by any account, the creation transaction must charge a special, higher-than-normal transaction fee. This fee must be at least the value of one incremental owner reserve (currently **2 XRP**, subject to change via Fee Voting). This amount is burned, compensating for the permanent ledger space without tying the reserve to a specific owner.
8686

8787
###### **Deletion**
8888

@@ -92,18 +92,18 @@ A pseudo-account must be deleted together with the associated object.
9292

9393
The following invariants must hold true for any `AccountRoot` entry functioning as a pseudo-account:
9494

95-
* The ledger object identified by the `<Object>ID` field must exist.
96-
* Exactly one `<Object>ID` field must be present on the `AccountRoot` (e.g., an account cannot be linked to both an `AMMID` and a `VaultID`).
97-
* The `lsfDisableMaster` and `lsfDepositAuth` flags must always be set.
98-
* The `Sequence` number must always be `0`, and must never change.
99-
* AMM pseudo-accounts created under old rules will have a sequence number set to the index of the ledger they were created in. They still must never change.
100-
* A `RegularKey` must not be set.
95+
- The ledger object identified by the `<Object>ID` field must exist.
96+
- Exactly one `<Object>ID` field must be present on the `AccountRoot` (e.g., an account cannot be linked to both an `AMMID` and a `VaultID`).
97+
- The `lsfDisableMaster` and `lsfDepositAuth` flags must always be set.
98+
- The `Sequence` number must always be `0`, and must never change.
99+
- AMM pseudo-accounts created under old rules will have a sequence number set to the index of the ledger they were created in. They still must never change.
100+
- A `RegularKey` must not be set.
101101

102102
### Security Considerations
103103

104104
The design of pseudo-accounts includes several critical security features:
105105

106-
* **No Direct Control:** The mandatory `lsfDisableMaster` flag and the absence of a `RegularKey` ensure that no user can directly control the pseudo-account or its assets. All fund movements are governed exclusively by the rules of the associated protocol.
107-
* **Transaction Prevention:** A `Sequence` of `0` makes it impossible for the account to submit transactions, preventing any misuse of the account itself.
108-
* **Address Front-running Prevention:** The deterministic but unpredictable method for generating the account address prevents attackers from guessing the address and sending funds to it before it is officially created by the protocol.
109-
* **Controlled Deposits:** The `lsfDepositAuth` flag prevents arbitrary `Payment` transactions from being sent to the account, ensuring that its balances can only be modified through legitimate protocol transactions.
106+
- **No Direct Control:** The mandatory `lsfDisableMaster` flag and the absence of a `RegularKey` ensure that no user can directly control the pseudo-account or its assets. All fund movements are governed exclusively by the rules of the associated protocol.
107+
- **Transaction Prevention:** A `Sequence` of `0` makes it impossible for the account to submit transactions, preventing any misuse of the account itself.
108+
- **Address Front-running Prevention:** The deterministic but unpredictable method for generating the account address prevents attackers from guessing the address and sending funds to it before it is officially created by the protocol.
109+
- **Controlled Deposits:** The `lsfDepositAuth` flag prevents arbitrary `Payment` transactions from being sent to the account, ensuring that its balances can only be modified through legitimate protocol transactions.

XLS-0069-simulate/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
xls: 69
33
title: Simulating Transaction Execution
44
description: A new API method for executing dry runs of transactions without submitting them to the network
5-
author: Mayukha Vadari <mvadari@ripple.com>, Elliot Lee (intelliot)
5+
author: Mayukha Vadari <mvadari@ripple.com>, Elliot Lee (@intelliot)
66
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/199
77
status: Final
88
category: Protocol

site/xls_parser.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,20 @@ def validate_xls_documents(root_dir: Path) -> bool:
193193
validation_errors.append(
194194
f"Error: {doc.folder} is missing required authors metadata"
195195
)
196+
elif any(not name for name, _ in doc.authors):
197+
validation_errors.append(
198+
f"Error: {doc.folder} has an author with missing name"
199+
)
200+
elif any(link == "" for _, link in doc.authors):
201+
validation_errors.append(
202+
f"Error: {doc.folder} has an author with missing link"
203+
)
204+
196205
if not doc.status or doc.status == "Unknown":
197206
validation_errors.append(
198207
f"Error: {doc.folder} is missing required status metadata"
199208
)
209+
200210
if not doc.category or doc.category == "Unknown":
201211
validation_errors.append(
202212
f"Error: {doc.folder} is missing required category metadata"
@@ -205,20 +215,22 @@ def validate_xls_documents(root_dir: Path) -> bool:
205215
validation_errors.append(
206216
f"Error: {doc.folder} has an invalid category: {doc.category}"
207217
)
218+
208219
if not doc.created or doc.created == "Unknown":
209220
validation_errors.append(
210221
f"Error: {doc.folder} is missing required created metadata"
211222
)
212223

213224
if validation_errors:
225+
print("\n")
214226
for error in validation_errors:
215227
print(error)
216228
print(
217229
f"Validation failed: {len(validation_errors)} document(s) missing required metadata"
218230
)
219231
return False
220232

221-
print(f"Successfully validated {len(docs)} XLS documents")
233+
print(f"\nSuccessfully validated {len(docs)} XLS documents")
222234
return True
223235

224236
except Exception as e:

0 commit comments

Comments
 (0)