test: Add Overwinter and Sapling support to GetValidTransaction() helper
This commit is contained in:
parent
4441b7bcb4
commit
dc99cd74a0
|
@ -7,6 +7,7 @@
|
||||||
#include "consensus/validation.h"
|
#include "consensus/validation.h"
|
||||||
#include "transaction_builder.h"
|
#include "transaction_builder.h"
|
||||||
#include "utiltest.h"
|
#include "utiltest.h"
|
||||||
|
#include "zcash/JoinSplit.hpp"
|
||||||
|
|
||||||
#include <librustzcash.h>
|
#include <librustzcash.h>
|
||||||
|
|
||||||
|
@ -51,10 +52,18 @@ public:
|
||||||
|
|
||||||
void CreateJoinSplitSignature(CMutableTransaction& mtx, uint32_t consensusBranchId);
|
void CreateJoinSplitSignature(CMutableTransaction& mtx, uint32_t consensusBranchId);
|
||||||
|
|
||||||
CMutableTransaction GetValidTransaction() {
|
CMutableTransaction GetValidTransaction(uint32_t consensusBranchId=SPROUT_BRANCH_ID) {
|
||||||
uint32_t consensusBranchId = SPROUT_BRANCH_ID;
|
|
||||||
|
|
||||||
CMutableTransaction mtx;
|
CMutableTransaction mtx;
|
||||||
|
if (consensusBranchId == NetworkUpgradeInfo[Consensus::UPGRADE_OVERWINTER].nBranchId) {
|
||||||
|
mtx.fOverwintered = true;
|
||||||
|
mtx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
|
||||||
|
mtx.nVersion = OVERWINTER_TX_VERSION;
|
||||||
|
} else if (consensusBranchId == NetworkUpgradeInfo[Consensus::UPGRADE_SAPLING].nBranchId) {
|
||||||
|
mtx.fOverwintered = true;
|
||||||
|
mtx.nVersionGroupId = SAPLING_VERSION_GROUP_ID;
|
||||||
|
mtx.nVersion = SAPLING_TX_VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
mtx.vin.resize(2);
|
mtx.vin.resize(2);
|
||||||
mtx.vin[0].prevout.hash = uint256S("0000000000000000000000000000000000000000000000000000000000000001");
|
mtx.vin[0].prevout.hash = uint256S("0000000000000000000000000000000000000000000000000000000000000001");
|
||||||
mtx.vin[0].prevout.n = 0;
|
mtx.vin[0].prevout.n = 0;
|
||||||
|
@ -70,6 +79,12 @@ CMutableTransaction GetValidTransaction() {
|
||||||
mtx.vJoinSplit[1].nullifiers.at(0) = uint256S("0000000000000000000000000000000000000000000000000000000000000002");
|
mtx.vJoinSplit[1].nullifiers.at(0) = uint256S("0000000000000000000000000000000000000000000000000000000000000002");
|
||||||
mtx.vJoinSplit[1].nullifiers.at(1) = uint256S("0000000000000000000000000000000000000000000000000000000000000003");
|
mtx.vJoinSplit[1].nullifiers.at(1) = uint256S("0000000000000000000000000000000000000000000000000000000000000003");
|
||||||
|
|
||||||
|
if (mtx.nVersion >= SAPLING_TX_VERSION) {
|
||||||
|
libzcash::GrothProof emptyProof;
|
||||||
|
mtx.vJoinSplit[0].proof = emptyProof;
|
||||||
|
mtx.vJoinSplit[1].proof = emptyProof;
|
||||||
|
}
|
||||||
|
|
||||||
CreateJoinSplitSignature(mtx, consensusBranchId);
|
CreateJoinSplitSignature(mtx, consensusBranchId);
|
||||||
return mtx;
|
return mtx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
// Implementation is in test_checktransaction.cpp
|
// Implementation is in test_checktransaction.cpp
|
||||||
extern CMutableTransaction GetValidTransaction();
|
extern CMutableTransaction GetValidTransaction(uint32_t consensusBranchId=SPROUT_BRANCH_ID);
|
||||||
|
|
||||||
// Fake the input of transaction 5295156213414ed77f6e538e7e8ebe14492156906b9fe995b242477818789364
|
// Fake the input of transaction 5295156213414ed77f6e538e7e8ebe14492156906b9fe995b242477818789364
|
||||||
// - 532639cc6bebed47c1c69ae36dd498c68a012e74ad12729adbd3dbb56f8f3f4a, 0
|
// - 532639cc6bebed47c1c69ae36dd498c68a012e74ad12729adbd3dbb56f8f3f4a, 0
|
||||||
|
|
Loading…
Reference in New Issue