feat(consensus): add ttCONSENSUS_ENTROPY pseudo-transaction protocol layer

Add protocol definitions for consensus-derived entropy pseudo-transaction:
- ttCONSENSUS_ENTROPY = 105 transaction type
- ltCONSENSUS_ENTROPY = 0x0058 ledger entry type
- keylet::consensusEntropy() singleton keylet (namespace 'X')
- applyConsensusEntropy() handler in Change.cpp
- Added to isPseudoTx() in STTx.cpp

The entropy value is stored in sfDigest field of the singleton ledger object.
This provides the protocol foundation for same-ledger entropy injection.
This commit is contained in:
Nicholas Dudfield
2026-02-05 17:26:31 +07:00
parent e7867c07a1
commit 960fffcf82
10 changed files with 99 additions and 3 deletions

View File

@@ -490,6 +490,14 @@ TxFormats::TxFormats()
{sfStartTime, soeOPTIONAL},
},
commonFields);
add(jss::ConsensusEntropy,
ttCONSENSUS_ENTROPY,
{
{sfLedgerSequence, soeREQUIRED},
{sfDigest, soeREQUIRED}, // The computed entropy value
},
commonFields);
}
TxFormats const&