From 525cbd425e2f6a1dbd0febc53d7ada22cec4661f Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Thu, 15 Oct 2020 20:57:58 -0700 Subject: Only relay Taproot spends if next block has it active --- src/validation.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/validation.cpp') diff --git a/src/validation.cpp b/src/validation.cpp index 423b93479..8241cb159 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -690,7 +690,9 @@ bool MemPoolAccept::PreChecks(ATMPArgs& args, Workspace& ws) } // Check for non-standard pay-to-script-hash in inputs - if (fRequireStandard && !AreInputsStandard(tx, m_view)) { + const auto& params = args.m_chainparams.GetConsensus(); + auto taproot_state = VersionBitsState(::ChainActive().Tip(), params, Consensus::DEPLOYMENT_TAPROOT, versionbitscache); + if (fRequireStandard && !AreInputsStandard(tx, m_view, taproot_state == ThresholdState::ACTIVE)) { return state.Invalid(TxValidationResult::TX_INPUTS_NOT_STANDARD, "bad-txns-nonstandard-inputs"); } -- cgit v1.2.3