Merge pull request #5761 from ebfull/duplicate-orchard-nullifier

Check that duplicate Orchard nullifiers within transactions are rejected
This commit is contained in:
Kris Nuttycombe 2022-03-28 21:27:57 -06:00 committed by GitHub
commit a04bf958ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@ -201,6 +201,29 @@ TEST(TransactionBuilder, SproutToSproutAndSapling) {
RegtestDeactivateSapling();
}
TEST(TransactionBuilder, DuplicateOrchardNullifier)
{
#include "data/tx-orchard-duplicate-nullifiers.h"
RegtestActivateNU5();
CDataStream ssin(
ParseHex(txdataOrchardDuplicateNullifiersTestVector),
SER_NETWORK,
PROTOCOL_VERSION
);
CTransaction tx;
ssin >> tx;
CValidationState state;
EXPECT_FALSE(CheckTransactionWithoutProofVerification(tx, state));
EXPECT_EQ(state.GetRejectReason(), "bad-orchard-nullifiers-duplicate");
// Revert to default
RegtestDeactivateNU5();
}
TEST(TransactionBuilder, TransparentToOrchard)
{
auto consensusParams = RegtestActivateNU5();