UNL Report
(Added by the Hooks amendment.)
A UNLReport object describes a report of the Unique Node List (UNL) which is a list of validator nodes that are trusted by the network to validate transactions.
Example JSON
Section titled “Example JSON”{ "LedgerEntryType": "UNLReport", "PreviousTxnID": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924", "PreviousTxnLgrSeq": 6, "ImportVLKeys": [ { "ImportVLKey": { "PublicKey": "ED264807102805220DA0F312E71FC2C69E1552C9C5790F6C25E3729DEB573D5860" } } ], "ActiveValidators": [ { "ActiveValidator": { "PublicKey": "EDE1B9A9BFD788736AD9B6A42883E6E0151F82C9276FF57F229A7AF6083A759674", "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo" } } ], "index": "61E32E7A24A238F1C619D5F9DDCC41A94B33B66C0163F7EFCC8A19C9FD6F28DC"}Fields
Section titled “Fields”A UNLReport object has the following fields:
| Field | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
LedgerEntryType | String | UInt16 | Yes | The value 0x0052, mapped to the string UNLReport, indicates that this object is a UNLReport object. |
PreviousTxnID | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. |
PreviousTxnLgrSeq | Number | UInt32 | Yes | The index of the ledger that contains the transaction that most recently modified this object. |
ImportVLKeys | Array | Array | No | Validator-list publishing keys trusted to verify Import proofs (XPOPs) from other chains. Each entry is an ImportVLKey object. These are list publishers, not validators of this network. |
ActiveValidators | Array | Array | No | This network’s active validators, identified by master public key. Each entry is an ActiveValidator object. |
In JSON, each array entry is wrapped in an object named for its type (ImportVLKey or ActiveValidator), and PublicKey is a blob rendered as hex, not a Base58 node public key.
ImportVLKey Fields
Section titled “ImportVLKey Fields”| Field | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
PublicKey | String | VL | Yes | The validator-list publisher’s public key, as hex. |
Account | String | Account | No | The account associated with the key. This field is optional. |
ActiveValidator Fields
Section titled “ActiveValidator Fields”| Field | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
PublicKey | String | VL | Yes | The active validator’s master public key, as hex. |
Account | String | Account | No | The account associated with the active validator. This field is optional. |
Use by Export
Section titled “Use by Export”An account-owned ExportCommittee stores a canonical list of validator master public keys. When an Export intent is admitted, every committee member must appear in the exact parent ledger’s pre-NegativeUNL ActiveValidators set. If any member is absent, the intent returns tecEXPORT_COMMITTEE_UNAVAILABLE.
The UNLReport does not store Export committees or current validator signing keys. It anchors validator master identities; during live share processing, xahaud resolves each selected master to its current signing key through the manifest system.
UNLReport ID Format
Section titled “UNLReport ID Format”The UNLReport object ID is the hash of the UNLReport space key (0x0052) only. This means that the ID of the UNLReport object in a ledger is always:
61E32E7A24A238F1C619D5F9DDCC41A94B33B66C0163F7EFCC8A19C9FD6F28DC