From 22088c1f2944be11e3ca34d7102dcaf7847a047c Mon Sep 17 00:00:00 2001 From: Siddharth Suresh Date: Wed, 20 Sep 2023 10:14:31 -0700 Subject: [PATCH] Add missing cases in combineCandidates --- src/herder/HerderSCPDriver.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/herder/HerderSCPDriver.cpp b/src/herder/HerderSCPDriver.cpp index 8fc7582490..49bd89a5de 100644 --- a/src/herder/HerderSCPDriver.cpp +++ b/src/herder/HerderSCPDriver.cpp @@ -673,6 +673,24 @@ HerderSCPDriver::combineCandidates(uint64_t slotIndex, clUpgrade.newBaseReserve() = std::max( clUpgrade.newBaseReserve(), lupgrade.newBaseReserve()); break; + case LEDGER_UPGRADE_FLAGS: + clUpgrade.newFlags() = + std::max(clUpgrade.newFlags(), lupgrade.newFlags()); + break; + case LEDGER_UPGRADE_CONFIG: + if (clUpgrade.newConfig().contractID < + lupgrade.newConfig().contractID) + { + clUpgrade.newConfig() = lupgrade.newConfig(); + } + else if (clUpgrade.newConfig().contractID == + lupgrade.newConfig().contractID && + clUpgrade.newConfig().contentHash < + lupgrade.newConfig().contentHash) + { + clUpgrade.newConfig() = lupgrade.newConfig(); + } + break; case LEDGER_UPGRADE_MAX_SOROBAN_TX_SET_SIZE: clUpgrade.newMaxSorobanTxSetSize() = std::max(clUpgrade.newMaxSorobanTxSetSize(),