New amendments. See Amendments for full descriptions.
| Amendment | Type | Default Vote | ID |
|---|
| RNG | Feature | No | A482912CE1E7026F8BC5F63F5A2394768455B71CD8117104F4BFE3A7EAE1AA45 |
| PWALoader | Feature | No | B2A89FF11F11AC4DBBA803492F47BBBAA5144CF3270FA030E0489814BB1AC86B |
| OnChainManifests | Feature | No | 68348F3451254D4AB206603B962241ADCFC1B22E945B59B5474F5DFBE3A5DE7C |
| EscrowDestinationCancel | Feature | No | B8DE07B4A417D9AE2F6DD903B9F8ED785C8C63A7311E8B7504DD6158E7336377 |
| HookOnV2_1 | Feature | No | D8FF47221FD426458D7EAE70FA439F4D5E59ECAB7292FC14931FBD8C34904602 |
Changes to existing amendments:
| Amendment | Change |
|---|
HookOnV2 | No longer supported. Replaced by HookOnV2_1. Validators that voted for it lose that vote and should vote for HookOnV2_1 instead. |
AMMClawback | No longer supported (AMM itself was already unsupported). |
fixXahauV1, fixXahauV2, fix240911 | Retired. Their pre-amendment code paths are removed, and they are removed from xahaud-standalone.cfg. |
| Name | Type Code | Amendment | Notes |
|---|
| Entropy | 89 | RNG | Pseudo-transaction. Validators only. |
| SetManifest | 91 | OnChainManifests | Unsigned, canonical envelope. Submit with submit and manifest. |
Changed: AccountSet gains the optional AppLoader field (PWALoader). EscrowCancel can be submitted by the destination at any time (EscrowDestinationCancel). SetHook validates HookOnIncoming/HookOnOutgoing more strictly (HookOnV2_1).
| Name | Type Code | Amendment | ledger_entry Selector |
|---|
| AppLoader | 0x004C | PWALoader | app_loader (r-address) |
| Manifest | 0x004D | OnChainManifests | by index |
| Random | 0x526E | RNG | random: true |
Changed: AccountRoot gains the optional fields AppLoaderSequence and ManifestID.
| Field | Type | Code | Hook sf Constant | Notes |
|---|
EntropyCount | UInt16 | 99 | (1<<16)+99 | |
EntropyDenominator | UInt16 | 100 | (1<<16)+100 | |
AppLoaderSequence | UInt32 | 101 | (2<<16)+101 | |
NextRandomDigest | Hash256 | 89 | (5<<16)+89 | |
RandomData | Hash256 | 90 | (5<<16)+90 | Never written to ledger-object metadata. It does appear in transaction metadata of transactions whose Hooks drew random numbers. |
ManifestID | Hash256 | 91 | (5<<16)+91 | |
AppLoader | Blob | 96 | (7<<16)+96 | |
RandomDigestEntry | STObject | 88 | (14<<16)+88 | Inner object: PublicKey, NextRandomDigest, LedgerSequence. |
Manifest | STObject | 90 | (14<<16)+90 | |
RandomDigests | STArray | 91 | (15<<16)+91 | Never written to metadata. |
New functions:
The Hook SDK headers (hook/extern.h) are now generated directly from hook_api.macro, which carries named parameters for every function.
The example configuration’s comments now document the real defaults of [transaction_queue] target_txn_in_ledger (1000) and [max_transactions] (1000).
- Amendment-blocked servers stop instead of running degraded, and write a
README_AMENDMENT_BLOCKED receipt to the config directory. See Updating xahaud.
- UNLReport reliability: UNLReport generation is no longer blocked by the Negative UNL local reliability gate. See Enabling Validation.
- Boost is updated to 1.91.
- Build fixes for clang-16 and for ARM (embedded tests hanging).