]> Git Repo - VerusCoin.git/commitdiff
Add a constant for Overwinter's transaction version
authorJack Grigg <[email protected]>
Mon, 23 Apr 2018 15:54:18 +0000 (16:54 +0100)
committerJack Grigg <[email protected]>
Mon, 23 Apr 2018 19:39:04 +0000 (20:39 +0100)
src/chainparams.cpp
src/gtest/test_checkblock.cpp
src/gtest/test_checktransaction.cpp
src/gtest/test_mempool.cpp
src/main.cpp
src/primitives/transaction.h
src/test/transaction_tests.cpp
src/zcbenchmarks.cpp

index 85e5bb314d903f4ddc777220d0ea2e1ce95418f5..1ce12de65f9def1b751d02f05bc3d61290e53356 100644 (file)
@@ -20,7 +20,7 @@
 static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, const uint256& nNonce, const std::vector<unsigned char>& nSolution, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
 {
     // To create a genesis block for a new chain which is Overwintered:
-    //   txNew.nVersion = 3
+    //   txNew.nVersion = OVERWINTER_TX_VERSION
     //   txNew.fOverwintered = true
     //   txNew.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID
     //   txNew.nExpiryHeight = <default value>
index 225f8ef3b507008b65d03ccbd07624190d281cae..1c48046efbde3cce5d99f9709553895a31247646 100644 (file)
@@ -154,7 +154,7 @@ TEST(ContextualCheckBlock, BlockSproutRulesRejectOverwinterTx) {
     mtx.vout[0].nValue = 0;
 
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
 
     CTransaction tx {mtx};
@@ -251,7 +251,7 @@ TEST(ContextualCheckBlock, BlockOverwinterRulesAcceptOverwinterTx) {
         GetBlockSubsidy(1, Params().GetConsensus())/5,
         Params().GetFoundersRewardScriptAtHeight(1)));
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
 
     CTransaction tx {mtx};
@@ -350,7 +350,7 @@ TEST(ContextualCheckBlock, BlockSaplingRulesRejectOverwinterTx) {
         GetBlockSubsidy(1, Params().GetConsensus())/5,
         Params().GetFoundersRewardScriptAtHeight(1)));
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
 
     CTransaction tx {mtx};
index bec9cdd6fe229fcb38a7aa5261c85c9dd0e2582b..d7527dbacd55e12cbbef73b01728295ed2ddc7f2 100644 (file)
@@ -401,7 +401,7 @@ TEST(checktransaction_tests, non_canonical_ed25519_signature) {
 TEST(checktransaction_tests, OverwinterConstructors) {
     CMutableTransaction mtx;
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 20;
 
@@ -432,7 +432,7 @@ TEST(checktransaction_tests, OverwinterConstructors) {
 TEST(checktransaction_tests, OverwinterSerialization) {
     CMutableTransaction mtx;
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 99;
 
@@ -496,7 +496,7 @@ TEST(checktransaction_tests, OverwinterValidTx) {
     CMutableTransaction mtx = GetValidTransaction();
     mtx.vjoinsplit.resize(0);
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 0;
     CTransaction tx(mtx);
@@ -508,7 +508,7 @@ TEST(checktransaction_tests, OverwinterExpiryHeight) {
     CMutableTransaction mtx = GetValidTransaction();
     mtx.vjoinsplit.resize(0);
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 0;
 
@@ -610,7 +610,7 @@ TEST(checktransaction_tests, OverwinterBadVersionGroupId) {
     CMutableTransaction mtx = GetValidTransaction();
     mtx.vjoinsplit.resize(0);
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nExpiryHeight = 0;
     mtx.nVersionGroupId = 0x12345678;
 
@@ -626,7 +626,7 @@ TEST(checktransaction_tests, OverwinterNotActive) {
 
     CMutableTransaction mtx = GetValidTransaction();
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 0;
 
@@ -643,7 +643,7 @@ TEST(checktransaction_tests, OverwinterFlagNotSet) {
 
     CMutableTransaction mtx = GetValidTransaction();
     mtx.fOverwintered = false;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 0;
 
index 34bc204fa19ec9d0e540e3e3bf208a189d856da0..6ee3eb1b16190e7554eb4193bdf585927bda40bb 100644 (file)
@@ -169,7 +169,7 @@ TEST(Mempool, OverwinterNotActiveYet) {
     CMutableTransaction mtx = GetValidTransaction();
     mtx.vjoinsplit.resize(0); // no joinsplits
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
     mtx.nExpiryHeight = 0;
     CValidationState state1;
index 07ed8c59224539b7a4a26bb155896def439834f5..fb6196c70f63235d2237012e37c06bf4014b52a9 100644 (file)
@@ -6058,7 +6058,7 @@ CMutableTransaction CreateNewContextualCMutableTransaction(const Consensus::Para
     if (isOverwintered) {
         mtx.fOverwintered = true;
         mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
-        mtx.nVersion = 3;
+        mtx.nVersion = OVERWINTER_TX_VERSION;
         // Expiry height is not set. Only fields required for a parser to treat as a valid Overwinter V3 tx.
 
         // TODO: In future, when moving from Overwinter to Sapling, it will be useful
index 584a5b7e5a37736f977bdbb38493f8f808804c40..74e76858a90335ab63828492fc2541fd6d97ca3c 100644 (file)
 #include "zcash/JoinSplit.hpp"
 #include "zcash/Proof.hpp"
 
+// Overwinter transaction version
+static const int32_t OVERWINTER_TX_VERSION = 3;
+static_assert(OVERWINTER_TX_VERSION >= OVERWINTER_MIN_TX_VERSION,
+    "Overwinter tx version must not be lower than minimum");
+static_assert(OVERWINTER_TX_VERSION <= OVERWINTER_MAX_TX_VERSION,
+    "Overwinter tx version must not be higher than maximum");
+
 // Sapling transaction version
 static const int32_t SAPLING_TX_VERSION = 4;
 static_assert(SAPLING_TX_VERSION >= SAPLING_MIN_TX_VERSION,
@@ -585,9 +592,10 @@ public:
             READWRITE(*const_cast<uint32_t*>(&this->nVersionGroupId));
         }
 
-        bool isOverwinterV3 = fOverwintered &&
-                              nVersionGroupId == OVERWINTER_VERSION_GROUP_ID &&
-                              nVersion == 3;
+        bool isOverwinterV3 =
+            fOverwintered &&
+            nVersionGroupId == OVERWINTER_VERSION_GROUP_ID &&
+            nVersion == OVERWINTER_TX_VERSION;
         bool isSaplingV4 =
             fOverwintered &&
             nVersionGroupId == SAPLING_VERSION_GROUP_ID &&
@@ -719,9 +727,10 @@ struct CMutableTransaction
             READWRITE(nVersionGroupId);
         }
 
-        bool isOverwinterV3 = fOverwintered &&
-                              nVersionGroupId == OVERWINTER_VERSION_GROUP_ID &&
-                              nVersion == 3;
+        bool isOverwinterV3 =
+            fOverwintered &&
+            nVersionGroupId == OVERWINTER_VERSION_GROUP_ID &&
+            nVersion == OVERWINTER_TX_VERSION;
         bool isSaplingV4 =
             fOverwintered &&
             nVersionGroupId == SAPLING_VERSION_GROUP_ID &&
index 094cd5a90470b3b3733a5e9ef956a9fcbd1ab43f..1b0b26ee78c9f3b2f41688548f9d7d5bc6b77da7 100644 (file)
@@ -542,7 +542,7 @@ BOOST_AUTO_TEST_CASE(test_simple_joinsplit_invalidity_driver) {
         CMutableTransaction mtx;
         mtx.fOverwintered = true;
         mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
-        mtx.nVersion = 3;
+        mtx.nVersion = OVERWINTER_TX_VERSION;
 
         UpdateNetworkUpgradeParameters(Consensus::UPGRADE_OVERWINTER, Consensus::NetworkUpgrade::ALWAYS_ACTIVE);
         test_simple_joinsplit_invalidity(NetworkUpgradeInfo[Consensus::UPGRADE_OVERWINTER].nBranchId, mtx);
@@ -594,7 +594,7 @@ BOOST_AUTO_TEST_CASE(test_big_overwinter_transaction) {
     uint32_t consensusBranchId = NetworkUpgradeInfo[Consensus::UPGRADE_OVERWINTER].nBranchId;
     CMutableTransaction mtx;
     mtx.fOverwintered = true;
-    mtx.nVersion = 3;
+    mtx.nVersion = OVERWINTER_TX_VERSION;
     mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
 
     CKey key;
index 2c7e99a67b68db0c11b6c6fb73d2b071809123e3..c268e6e1209a74e015784200e9f00c5d77b5f759 100644 (file)
@@ -243,7 +243,7 @@ double benchmark_large_tx(size_t nInputs)
 
     CMutableTransaction spending_tx;
     spending_tx.fOverwintered = true;
-    spending_tx.nVersion = 3;
+    spending_tx.nVersion = OVERWINTER_TX_VERSION;
     spending_tx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
 
     auto input_hash = orig_tx.GetHash();
This page took 0.038742 seconds and 4 git commands to generate.