From 8bbed4b7acf4c76eaea8c0e10f3cbf6ba4e53809 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Fri, 11 Sep 2020 14:33:45 -0700 Subject: Implement Taproot validation (BIP 341) This includes key path spending and script path spending, but not the Tapscript execution implementation (leaf 0xc0 remains unemcumbered in this commit). Includes constants for various aspects of the consensus rules suggested by Jeremy Rubin. --- src/script/script_error.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/script/script_error.cpp') diff --git a/src/script/script_error.cpp b/src/script/script_error.cpp index 9c49ced3e..77add5194 100644 --- a/src/script/script_error.cpp +++ b/src/script/script_error.cpp @@ -73,6 +73,8 @@ std::string ScriptErrorString(const ScriptError serror) return "NOPx reserved for soft-fork upgrades"; case SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM: return "Witness version reserved for soft-fork upgrades"; + case SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION: + return "Taproot version reserved for soft-fork upgrades"; case SCRIPT_ERR_PUBKEYTYPE: return "Public key is neither compressed or uncompressed"; case SCRIPT_ERR_CLEANSTACK: @@ -97,6 +99,8 @@ std::string ScriptErrorString(const ScriptError serror) return "Invalid Schnorr signature hash type"; case SCRIPT_ERR_SCHNORR_SIG: return "Invalid Schnorr signature"; + case SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE: + return "Invalid Taproot control block size"; case SCRIPT_ERR_OP_CODESEPARATOR: return "Using OP_CODESEPARATOR in non-witness script"; case SCRIPT_ERR_SIG_FINDANDDELETE: -- cgit v1.2.3