mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Check consensus hash consistency (RIPD-1456):
These changes use the hash of the consensus transaction set when characterizing the mismatch between a locally built ledger and fully validated network ledger. This allows detection of non-determinism in transaction process, in which consensus succeeded, but a node somehow generated a different subsequent ledger.
This commit is contained in:
@@ -549,7 +549,7 @@ struct Peer
|
||||
const bool proposing = mode == ConsensusMode::proposing;
|
||||
const bool consensusFail = result.state == ConsensusState::MovedOn;
|
||||
|
||||
TxSet const acceptedTxs = injectTxs(prevLedger, result.set);
|
||||
TxSet const acceptedTxs = injectTxs(prevLedger, result.txns);
|
||||
Ledger const newLedger = oracle.accept(
|
||||
prevLedger,
|
||||
acceptedTxs.txs(),
|
||||
|
||||
@@ -138,6 +138,9 @@ public:
|
||||
Validation const&
|
||||
unwrap() const
|
||||
{
|
||||
// For the rippled implementation in which RCLValidation wraps
|
||||
// STValidation, the csf::Validation has no more specific type it
|
||||
// wraps, so csf::Validation unwraps to itself
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user