An EnableAmendment
pseudo-transaction marks a change in the status of a proposed amendment when it:
Gains supermajority approval from validators.
Loses supermajority approval.
Is enabled on Xahau protocol.
Amendment
String
Hash256
A unique identifier for the amendment. This is not intended to be a human-readable name. See Amendments for a list of known amendments.
LedgerSequence
Number
UInt32
The [ledger index][] where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change.
The Flags
value of the EnableAmendment pseudo-transaction indicates the status of the amendment at the time of the ledger including the pseudo-transaction.
A Flags
value of 0
(no flags) or an omitted Flags
field indicates that the amendment has been enabled, and applies to all ledgers afterward. Other Flags
values are as follows:
tfGotMajority
0x00010000
65536
Support for this amendment increased to at least 80% of trusted validators starting with this ledger version.
tfLostMajority
0x00020000
131072
Support for this amendment decreased to less than 80% of trusted validators starting with this ledger version.
(Added by the [NegativeUNL amendment][].)
A UNLModify
pseudo-transaction marks a change to the Negative UNL, indicating that a trusted validator has gone offline or come back online.
Note: You cannot send a pseudo-transaction, but you may find one when processing ledgers.
TransactionType
String
UInt16
The value 0x0066
, mapped to the string UNLModify
, indicates that this object is an UNLModify
pseudo-transaction.
LedgerSequence
Number
UInt32
The [ledger index][] where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change.
UNLModifyDisabling
Number
UInt8
If 1
, this change represents adding a validator to the Negative UNL. If 0
, this change represents removing a validator from the Negative UNL. (No other values are allowed.)
UNLModifyValidator
String
Blob
The validator to add or remove, as identified by its master public key.
Pseudo-transactions are never submitted by users, nor propagated through the network. Instead, a server may choose to inject pseudo-transactions in a proposed ledger directly according to specific protocol rules. If enough servers propose the exact same pseudo-transaction, the consensus process approves it, and the pseudo-transaction is included in that ledger's transaction data.
Some of the required [common fields][] for normal transactions do not make sense for pseudo-transactions. Pseudo-transactions use following special values for these common fields:
Account
String
AccountID
ACCOUNT_ZERO
Fee
String
Amount
0
Sequence
Number
UInt32
0
SigningPubKey
String
Blob
""
(Empty string)
TxnSignature
String
Blob
""
(Empty string)
Pseudo-transactions use the following common fields as normal:
TransactionType
Flags
TransactionType
String
UInt16
(Required) The type of transaction.
Flags
Number
UInt32
(Optional) A set of bit-flags for this transaction. The meaning of specific flags varies based on the transaction type.
A SetFee
pseudo-transaction marks a change in transaction cost or reserve requirements as a result of Fee Voting.
Note: You cannot send a pseudo-transaction, but you may find one when processing ledgers.
BaseFee
String
UInt64
The charge, in drops of XAH, for the reference transaction, as hex. (This is the transaction cost before scaling for load.)
ReferenceFeeUnits
Unsigned Integer
UInt32
The cost, in fee units, of the reference transaction
ReserveBase
Unsigned Integer
UInt32
The base reserve, in drops
ReserveIncrement
Unsigned Integer
UInt32
The incremental reserve, in drops
LedgerSequence
Number
UInt32
(Omitted for some historical SetFee
pseudo-transactions) The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change.
If the [XAHFees amendment][] is enabled, SetFee
pseudo-transactions use these fields instead:
BaseFeeDrops
String
Amount
The charge, in drops of XAH, for the reference transaction. (This is the transaction cost before scaling for load.)
ReserveBaseDrops
String
Amount
The base reserve, in drops
ReserveIncrementDrops
String
Amount
The incremental reserve, in drops
LedgerSequence
Number
UInt32
(Omitted for some historical SetFee
pseudo-transactions) The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change.