Amendments
The Amendments
ledger entry type contains a list of Amendments that are currently active. Each ledger version contains at most one Amendments
entry.
Example Amendments JSON
{ "Amendments": [ "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE", "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373", // (... Long list of enabled amendment IDs ...) "03BDC0099C4E14163ADA272C1B6F6FABB448CC3E51F522F978041E4B57D9158C", "35291ADD2D79EB6991343BDA0912269C817D0F094B02226C1C14AD2858962ED4" ], "Flags": 0, "LedgerEntryType": "Amendments", "Majorities": [ { "Majority": { "Amendment": "7BB62DC13EC72B775091E9C71BF8CF97E122647693B50C5E87A80DFD6FCFAC50", "CloseTime": 779561310 } }, { "Majority": { "Amendment": "755C971C29971C9F20C6F080F2ED96F87884E40AD19554A5EBECDCEC8A1F77FE", "CloseTime": 779561310 } } ], "index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4" }
Amendments Fields
In addition to the common fields, the Amendments
ledger entry has the following fields:
Name | JSON Type | Internal Type | Required? | Description |
---|---|---|---|---|
Amendments | Array | Vector256 | No | Array of 256-bit amendment IDs for all currently enabled amendments. If omitted, there are no enabled amendments. |
Flags | Number | UInt32 | Yes | A bit-map of boolean flags enabled for this object. Currently, the protocol defines no flags for Amendments objects. The value is always 0 . |
LedgerEntryType | String | UInt16 | Yes | The value 0x0066 , mapped to the string Amendments , indicates that this object describes the status of amendments to the XRP Ledger. |
Majorities | Array | STArray | No | Array of objects describing the status of amendments that have majority support but are not yet enabled. If omitted, there are no pending amendments with majority support. |
PreviousTxnID | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. (Added by the fixPreviousTxnID amendment.) |
PreviousTxnLgrSeq | Number | UInt32 | No | The index of the ledger that contains the transaction that most recently modified this entry. (Added by the fixPreviousTxnID amendment.) |
Each member of the Majorities
field, if it is present, is an object with one field, Majority
, whose contents are a nested object with the following fields:
Name | JSON Type | Internal Type | Description |
---|---|---|---|
Amendment | String | Hash256 | The Amendment ID of the pending amendment. |
CloseTime | Number | UInt32 | The close_time field of the ledger version where this amendment most recently gained a majority. |
In the amendment process, a consensus of validators adds a new amendment to the Majorities
field using an EnableAmendment pseudo-transaction with the tfGotMajority
flag when 80% or more of validators support it. If support for a pending amendment goes below 80%, an EnableAmendment pseudo-transaction with the tfLostMajority
flag removes the amendment from the Majorities
array. If an amendment remains in the Majorities
field for at least 2 weeks, an EnableAmendment pseudo-transaction with no flags removes it from Majorities
and permanently adds it to the Amendments
field.
Amendments Flags
There are no flags defined for the Amendments
entry.
Amendments Reserve
The Amendments
entry does not require a reserve.
Amendments ID Format
The ID of the Amendments
entry is the hash of the Amendments
space key (0x0066
) only. This means that the ID is always:
7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4
(Don't mix up the ID of the Amendments
ledger entry type with the Amendment ID of an individual amendment.)