From 8323e4249db50d46ae4f43c1d8a50666549ae938 Mon Sep 17 00:00:00 2001 From: Antoine Poinsot Date: Mon, 16 May 2022 13:07:58 +0200 Subject: [PATCH] miniscript: add an OpCode typedef for readability Suggested-by: Vincenzo Palazzo --- src/script/miniscript.cpp | 6 +++--- src/script/miniscript.h | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/script/miniscript.cpp b/src/script/miniscript.cpp index b91152671f2..d2de61520b9 100644 --- a/src/script/miniscript.cpp +++ b/src/script/miniscript.cpp @@ -281,9 +281,9 @@ size_t ComputeScriptLen(Fragment fragment, Type sub0typ, size_t subsize, uint32_ return 0; } -std::optional>>> DecomposeScript(const CScript& script) +std::optional> DecomposeScript(const CScript& script) { - std::vector>> out; + std::vector out; CScript::const_iterator it = script.begin(), itend = script.end(); while (it != itend) { std::vector push_data; @@ -317,7 +317,7 @@ std::optional>>> De return out; } -std::optional ParseScriptNumber(const std::pair>& in) { +std::optional ParseScriptNumber(const Opcode& in) { if (in.first == OP_0) { return 0; } diff --git a/src/script/miniscript.h b/src/script/miniscript.h index 2f591cd3e57..e38bb1c37d9 100644 --- a/src/script/miniscript.h +++ b/src/script/miniscript.h @@ -180,6 +180,8 @@ inline constexpr Type operator"" _mst(const char* c, size_t l) { return typ; } +using Opcode = std::pair>; + template struct Node; template using NodeRef = std::shared_ptr>; @@ -1269,10 +1271,10 @@ inline NodeRef Parse(Span in, const Ctx& ctx) * and OP_EQUALVERIFY are decomposed into OP_CHECKSIG, OP_CHECKMULTISIG, OP_EQUAL * respectively, plus OP_VERIFY. */ -std::optional>>> DecomposeScript(const CScript& script); +std::optional> DecomposeScript(const CScript& script); /** Determine whether the passed pair (created by DecomposeScript) is pushing a number. */ -std::optional ParseScriptNumber(const std::pair>& in); +std::optional ParseScriptNumber(const Opcode& in); enum class DecodeContext { /** A single expression of type B, K, or V. Specifically, this can't be an