Do not add expiring soon threshold to expiry height of txs near NU activation
This commit is contained in:
parent
82c291b6df
commit
9f70b74692
|
@ -694,7 +694,7 @@ TEST(checktransaction_tests, OverwinterExpiryHeight) {
|
||||||
TEST(checktransaction_tests, BlossomExpiryHeight) {
|
TEST(checktransaction_tests, BlossomExpiryHeight) {
|
||||||
const Consensus::Params& params = RegtestActivateBlossom(false, 100);
|
const Consensus::Params& params = RegtestActivateBlossom(false, 100);
|
||||||
CMutableTransaction preBlossomMtx = CreateNewContextualCMutableTransaction(params, 99);
|
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);
|
CMutableTransaction blossomMtx = CreateNewContextualCMutableTransaction(params, 100);
|
||||||
EXPECT_EQ(blossomMtx.nExpiryHeight, 100 + 40);
|
EXPECT_EQ(blossomMtx.nExpiryHeight, 100 + 40);
|
||||||
RegtestDeactivateBlossom();
|
RegtestDeactivateBlossom();
|
||||||
|
@ -915,29 +915,29 @@ TEST(checktransaction_tests, OverwinteredContextualCreateTx) {
|
||||||
1, false, 0, 0);
|
1, false, 0, 0);
|
||||||
// Overwinter activates
|
// Overwinter activates
|
||||||
ContextualCreateTxCheck(params, overwinterActivationHeight,
|
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
|
// Close to Sapling activation
|
||||||
ContextualCreateTxCheck(params, saplingActivationHeight - DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA - 2,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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
|
// Just before Sapling activation
|
||||||
ContextualCreateTxCheck(params, saplingActivationHeight - 4,
|
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,
|
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,
|
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,
|
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
|
// Sapling activates
|
||||||
ContextualCreateTxCheck(params, saplingActivationHeight,
|
ContextualCreateTxCheck(params, saplingActivationHeight,
|
||||||
SAPLING_TX_VERSION, true, SAPLING_VERSION_GROUP_ID, saplingActivationHeight + DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA);
|
SAPLING_TX_VERSION, true, SAPLING_VERSION_GROUP_ID, saplingActivationHeight + DEFAULT_PRE_BLOSSOM_TX_EXPIRY_DELTA);
|
||||||
|
|
|
@ -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
|
// 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 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.
|
// The rejected for being created during the last epoch.
|
||||||
mtx.nExpiryHeight = std::min(mtx.nExpiryHeight, static_cast<uint32_t>(nextActivationHeight.get()) - 1 + TX_EXPIRING_SOON_THRESHOLD);
|
mtx.nExpiryHeight = std::min(mtx.nExpiryHeight, static_cast<uint32_t>(nextActivationHeight.get()) - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return mtx;
|
return mtx;
|
||||||
|
|
Loading…
Reference in New Issue