From 9f70b7469241aaa88f10e36c232bf5780cd39cb2 Mon Sep 17 00:00:00 2001 From: Eirik Ogilvie-Wigley Date: Mon, 5 Aug 2019 11:50:05 -0600 Subject: [PATCH] Do not add expiring soon threshold to expiry height of txs near NU activation --- src/gtest/test_checktransaction.cpp | 24 ++++++++++++------------ src/main.cpp | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/gtest/test_checktransaction.cpp b/src/gtest/test_checktransaction.cpp index 3f4b7b0a8..762686ef5 100644 --- a/src/gtest/test_checktransaction.cpp +++ b/src/gtest/test_checktransaction.cpp @@ -694,7 +694,7 @@ TEST(checktransaction_tests, OverwinterExpiryHeight) { TEST(checktransaction_tests, BlossomExpiryHeight) { const Consensus::Params& params = RegtestActivateBlossom(false, 100); CMutableTransaction preBlossomMtx = CreateNewContextualCMutableTransaction(params, 99); - EXPECT_EQ(preBlossomMtx.nExpiryHeight, 100 - 1 + TX_EXPIRING_SOON_THRESHOLD); + EXPECT_EQ(preBlossomMtx.nExpiryHeight, 100 - 1); CMutableTransaction blossomMtx = CreateNewContextualCMutableTransaction(params, 100); EXPECT_EQ(blossomMtx.nExpiryHeight, 100 + 40); RegtestDeactivateBlossom(); @@ -915,29 +915,29 @@ TEST(checktransaction_tests, OverwinteredContextualCreateTx) { 1, false, 0, 0); // Overwinter activates ContextualCreateTxCheck(params, overwinterActivationHeight, - 3, true, OVERWINTER_VERSION_GROUP_ID, overwinterActivationHeight + DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, overwinterActivationHeight + DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA); // Close to Sapling activation ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA - 2, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 2); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 2); ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA - 1, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA + 1, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight + 1); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA + 2, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight + 2); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA + 3, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1 + TX_EXPIRING_SOON_THRESHOLD); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); // Just before Sapling activation ContextualCreateTxCheck(params, saplingActivationHeight - 4, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1 + TX_EXPIRING_SOON_THRESHOLD); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - 3, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1 + TX_EXPIRING_SOON_THRESHOLD); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - 2, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1 + TX_EXPIRING_SOON_THRESHOLD); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); ContextualCreateTxCheck(params, saplingActivationHeight - 1, - 3, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1 + TX_EXPIRING_SOON_THRESHOLD); + OVERWINTER_TX_VERSION, true, OVERWINTER_VERSION_GROUP_ID, saplingActivationHeight - 1); // Sapling activates ContextualCreateTxCheck(params, saplingActivationHeight, SAPLING_TX_VERSION, true, SAPLING_VERSION_GROUP_ID, saplingActivationHeight + DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA); diff --git a/src/main.cpp b/src/main.cpp index 1e6ce458a..3819afd3b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6669,7 +6669,7 @@ CMutableTransaction CreateNewContextualCMutableTransaction(const Consensus::Para // We need to add TX_EXPIRING_SOON_THRESHOLD otherwise we cannot send transactions just prior to the next epoch // The idea is that the transaction will not be rejected as expiring soon until the same block that it is // The rejected for being created during the last epoch. - mtx.nExpiryHeight = std::min(mtx.nExpiryHeight, static_cast(nextActivationHeight.get()) - 1 + TX_EXPIRING_SOON_THRESHOLD); + mtx.nExpiryHeight = std::min(mtx.nExpiryHeight, static_cast(nextActivationHeight.get()) - 1); } } return mtx;