Auto merge of #3239 - str4d:sapling-default-tx-version, r=str4d
Update CreateNewContextualCMutableTransaction for Sapling Part of #3063.
This commit is contained in:
@@ -779,7 +779,9 @@ TEST(checktransaction_tests, OverwinteredContextualCreateTx) {
|
||||
SelectParams(CBaseChainParams::REGTEST);
|
||||
const Consensus::Params& consensusParams = Params().GetConsensus();
|
||||
int activationHeight = 5;
|
||||
int saplingActivationHeight = 30;
|
||||
UpdateNetworkUpgradeParameters(Consensus::UPGRADE_OVERWINTER, activationHeight);
|
||||
UpdateNetworkUpgradeParameters(Consensus::UPGRADE_SAPLING, saplingActivationHeight);
|
||||
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
@@ -799,10 +801,64 @@ TEST(checktransaction_tests, OverwinteredContextualCreateTx) {
|
||||
EXPECT_EQ(mtx.nVersion, 3);
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, OVERWINTER_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, 0);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, activationHeight + expiryDelta);
|
||||
}
|
||||
|
||||
// Close to Sapling activation
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
consensusParams, saplingActivationHeight - expiryDelta - 2);
|
||||
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, OVERWINTER_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nVersion, OVERWINTER_TX_VERSION);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, saplingActivationHeight - 2);
|
||||
}
|
||||
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
consensusParams, saplingActivationHeight - expiryDelta - 1);
|
||||
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, OVERWINTER_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nVersion, OVERWINTER_TX_VERSION);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, saplingActivationHeight - 1);
|
||||
}
|
||||
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
consensusParams, saplingActivationHeight - expiryDelta);
|
||||
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, OVERWINTER_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nVersion, OVERWINTER_TX_VERSION);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, saplingActivationHeight - 1);
|
||||
}
|
||||
|
||||
// Just before Sapling activation
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
consensusParams, saplingActivationHeight - 1);
|
||||
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, OVERWINTER_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nVersion, OVERWINTER_TX_VERSION);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, saplingActivationHeight - 1);
|
||||
}
|
||||
|
||||
// Sapling activates
|
||||
{
|
||||
CMutableTransaction mtx = CreateNewContextualCMutableTransaction(
|
||||
consensusParams, saplingActivationHeight);
|
||||
|
||||
EXPECT_EQ(mtx.fOverwintered, true);
|
||||
EXPECT_EQ(mtx.nVersionGroupId, SAPLING_VERSION_GROUP_ID);
|
||||
EXPECT_EQ(mtx.nVersion, SAPLING_TX_VERSION);
|
||||
EXPECT_EQ(mtx.nExpiryHeight, saplingActivationHeight + expiryDelta);
|
||||
}
|
||||
|
||||
// Revert to default
|
||||
UpdateNetworkUpgradeParameters(Consensus::UPGRADE_SAPLING, Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT);
|
||||
UpdateNetworkUpgradeParameters(Consensus::UPGRADE_OVERWINTER, Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user