XLS-draft Confidential MPT Key Rotation - #598
Conversation
mvadari
left a comment
There was a problem hiding this comment.
Please follow the format for drafts expected in the CONTRIBUTING document and the templates (namely, the file naming)
There was a problem hiding this comment.
Pull request overview
Introduces an amendment draft for rotating and recovering Confidential MPT ElGamal keys.
Changes:
- Adds issuer, auditor, and holder key-rotation flows.
- Defines three transactions and new ledger fields.
- Documents migration, recovery, permissions, and security behavior.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
3b9ef26 to
06f1c7d
Compare
e149cee to
e2aebae
Compare
e2aebae to
01655fa
Compare
| | Field Name | Required? | JSON Type | Internal Type | Description | | ||
| | :---------------- | :-------- | :-------- | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ||
| | `IssuerKeyEpoch` | No | `number` | `UINT32` | Monotonically increasing counter incremented on each issuer ElGamal key rotation. Not stored when at default value 0. Validators treat an absent field as epoch 0. | | ||
| | `AuditorKeyEpoch` | No | `number` | `UINT32` | Monotonically increasing counter incremented on each auditor ElGamal key rotation. Not stored when at default value 0. Validators treat an absent field as epoch 0. | | ||
|
|
||
| **Note**: To accommodate existing `MPTokenIssuance` ledger objects that lack epoch fields even when keys are registered, the epoch value should remain absent after initial registration. It is set to 1 only when rotating a key for the first time successfully, and then increments with each subsequent rotation. | ||
|
|
There was a problem hiding this comment.
Please update the table to follow this format exactly: https://github.com/XRPLF/XRPL-Standards/blob/master/templates/AMENDMENT_TEMPLATE.md#22-fields
The table is missing:
Constantcolumn- The
?(question mark) must be dropped fromRequiredcolumn Default Valuecolumn
|
|
||
| ### 7.1. Fields | ||
|
|
||
| | Field Name | Required? | JSON Type | Internal Type | Description | |
There was a problem hiding this comment.
Please update the columns
|
|
||
| ### 8.1. Fields | ||
|
|
||
| | Field Name | Required? | JSON Type | Internal Type | Description | |
There was a problem hiding this comment.
This table is missing the Default Value column.
|
|
||
| Whether it is issuer mode or holder mode is determined by `Holder` field's presence. If `Holder` is present, it is issuer mode. If `Holder` is absent, it is holder self-migration mode. | ||
|
|
||
| | Field Name | Required? | JSON Type | Internal Type | Description | |
There was a problem hiding this comment.
Missing Default Value column
| author: Aanchal Malhotra <amalhotra@ripple.com> Yinyi Qian <yqian@ripple.com> | ||
| category: Amendment | ||
| status: Draft | ||
| requires: XLS-0096 |
There was a problem hiding this comment.
The spec also requires XLS-33
Complexity concern: mode explosion, especially in
|
High Level Overview of Change
Context of Change
Type of Change