diff --git a/src/herder/TransactionQueue.cpp b/src/herder/TransactionQueue.cpp index 0603048262..c2f92b31a6 100644 --- a/src/herder/TransactionQueue.cpp +++ b/src/herder/TransactionQueue.cpp @@ -388,7 +388,7 @@ TransactionQueue::canAdd( { auto txResult = tx->createSuccessResult(); if (!tx->checkSorobanResourceAndSetError( - *mValidationSnapshot, ledgerVersion, txResult)) + *mValidationSnapshot, txResult)) { return AddResult(AddResultCode::ADD_STATUS_ERROR, txResult); } diff --git a/src/transactions/FeeBumpTransactionFrame.cpp b/src/transactions/FeeBumpTransactionFrame.cpp index ce704ff0b7..ec40a3591e 100644 --- a/src/transactions/FeeBumpTransactionFrame.cpp +++ b/src/transactions/FeeBumpTransactionFrame.cpp @@ -197,11 +197,9 @@ FeeBumpTransactionFrame::checkValid(ValidationConnector const& vc, bool FeeBumpTransactionFrame::checkSorobanResourceAndSetError( - ValidationConnector const& vc, uint32_t ledgerVersion, - MutableTxResultPtr txResult) const + ValidationConnector const& vc, MutableTxResultPtr txResult) const { - return mInnerTx->checkSorobanResourceAndSetError(vc, ledgerVersion, - txResult); + return mInnerTx->checkSorobanResourceAndSetError(vc, txResult); } bool diff --git a/src/transactions/FeeBumpTransactionFrame.h b/src/transactions/FeeBumpTransactionFrame.h index 1afdd1d6c7..755f53919d 100644 --- a/src/transactions/FeeBumpTransactionFrame.h +++ b/src/transactions/FeeBumpTransactionFrame.h @@ -82,7 +82,6 @@ class FeeBumpTransactionFrame : public TransactionFrameBase uint64_t upperBoundCloseTimeOffset) const override; bool checkSorobanResourceAndSetError(ValidationConnector const& app, - uint32_t ledgerVersion, MutableTxResultPtr txResult) const override; MutableTxResultPtr createSuccessResult() const override; diff --git a/src/transactions/TransactionFrame.cpp b/src/transactions/TransactionFrame.cpp index 6800c26792..df6113beb3 100644 --- a/src/transactions/TransactionFrame.cpp +++ b/src/transactions/TransactionFrame.cpp @@ -537,11 +537,12 @@ TransactionFrame::validateSorobanOpsConsistency() const } bool -TransactionFrame::validateSorobanResources(SorobanNetworkConfig const& config, - Config const& appConfig, - uint32_t protocolVersion, +TransactionFrame::validateSorobanResources(ValidationConnector const& vc, SorobanTxData& sorobanData) const { + SorobanNetworkConfig const& config = vc.getSorobanNetworkConfig(); + Config const& appConfig = vc.getConfig(); + uint32_t protocolVersion = vc.getCurrentProtocolVersion(); auto const& resources = sorobanResources(); auto const& readEntries = resources.footprint.readOnly; auto const& writeEntries = resources.footprint.readWrite; @@ -945,7 +946,7 @@ TransactionFrame::commonValidPreSeqNum( return false; } - if (!checkSorobanResourceAndSetError(vc, ledgerVersion, txResult)) + if (!checkSorobanResourceAndSetError(vc, txResult)) { return false; } @@ -1501,11 +1502,9 @@ TransactionFrame::checkValid(ValidationConnector const& vc, bool TransactionFrame::checkSorobanResourceAndSetError( - ValidationConnector const& vc, uint32_t ledgerVersion, - MutableTxResultPtr txResult) const + ValidationConnector const& vc, MutableTxResultPtr txResult) const { - if (!validateSorobanResources(vc.getSorobanNetworkConfig(), vc.getConfig(), - ledgerVersion, *txResult->getSorobanData())) + if (!validateSorobanResources(vc, *txResult->getSorobanData())) { txResult->setInnermostResultCode(txSOROBAN_INVALID); return false; diff --git a/src/transactions/TransactionFrame.h b/src/transactions/TransactionFrame.h index dc15784d16..66d5fc4966 100644 --- a/src/transactions/TransactionFrame.h +++ b/src/transactions/TransactionFrame.h @@ -136,9 +136,7 @@ class TransactionFrame : public TransactionFrameBase bool extraSignersExist() const; bool validateSorobanOpsConsistency() const; - bool validateSorobanResources(SorobanNetworkConfig const& config, - Config const& appConfig, - uint32_t protocolVersion, + bool validateSorobanResources(ValidationConnector const& vc, SorobanTxData& sorobanData) const; int64_t refundSorobanFee(AbstractLedgerTxn& ltx, AccountID const& feeSource, MutableTransactionResultBase& txResult) const; @@ -218,7 +216,6 @@ class TransactionFrame : public TransactionFrameBase uint64_t upperBoundCloseTimeOffset) const override; bool checkSorobanResourceAndSetError(ValidationConnector const& vc, - uint32_t ledgerVersion, MutableTxResultPtr txResult) const override; MutableTxResultPtr createSuccessResult() const override; diff --git a/src/transactions/TransactionFrameBase.h b/src/transactions/TransactionFrameBase.h index 369b2b4d86..94c2e0a106 100644 --- a/src/transactions/TransactionFrameBase.h +++ b/src/transactions/TransactionFrameBase.h @@ -102,7 +102,6 @@ class TransactionFrameBase uint64_t upperBoundCloseTimeOffset) const = 0; virtual bool checkSorobanResourceAndSetError(ValidationConnector const& vc, - uint32_t ledgerVersion, MutableTxResultPtr txResult) const = 0; virtual MutableTxResultPtr createSuccessResult() const = 0; diff --git a/src/transactions/test/TransactionTestFrame.cpp b/src/transactions/test/TransactionTestFrame.cpp index 300410f22f..1da3fa1291 100644 --- a/src/transactions/test/TransactionTestFrame.cpp +++ b/src/transactions/test/TransactionTestFrame.cpp @@ -144,11 +144,9 @@ TransactionTestFrame::checkValidForTesting(AppConnector& app, bool TransactionTestFrame::checkSorobanResourceAndSetError( - ValidationConnector const& vc, uint32_t ledgerVersion, - MutableTxResultPtr txResult) const + ValidationConnector const& vc, MutableTxResultPtr txResult) const { - auto ret = mTransactionFrame->checkSorobanResourceAndSetError( - vc, ledgerVersion, txResult); + auto ret = mTransactionFrame->checkSorobanResourceAndSetError(vc, txResult); mTransactionTxResult = txResult; return ret; } diff --git a/src/transactions/test/TransactionTestFrame.h b/src/transactions/test/TransactionTestFrame.h index 7ee640eae9..daf0531ab8 100644 --- a/src/transactions/test/TransactionTestFrame.h +++ b/src/transactions/test/TransactionTestFrame.h @@ -72,7 +72,6 @@ class TransactionTestFrame : public TransactionFrameBase uint64_t upperBoundCloseTimeOffset) const override; bool checkSorobanResourceAndSetError(ValidationConnector const& vc, - uint32_t ledgerVersion, MutableTxResultPtr txResult) const override; MutableTxResultPtr createSuccessResult() const override;