diff options
author | Antoine Poinsot <darosior@protonmail.com> | 2022-05-16 13:07:58 +0200 |
---|---|---|
committer | Antoine Poinsot <darosior@protonmail.com> | 2022-05-30 15:16:44 +0200 |
commit | 8323e4249db50d46ae4f43c1d8a50666549ae938 (patch) | |
tree | 667c5bac75eae25d07ab29de2314d8fae0294593 /src | |
parent | 7a549c6c59e6babbae76af008433426c6fa38fe2 (diff) | |
download | bitcoin-8323e4249db50d46ae4f43c1d8a50666549ae938.tar.xz |
miniscript: add an OpCode typedef for readability
Suggested-by: Vincenzo Palazzo
Diffstat (limited to 'src')
-rw-r--r-- | src/script/miniscript.cpp | 6 | ||||
-rw-r--r-- | 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 b91152671f..d2de61520b 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<std::vector<std::pair<opcodetype, std::vector<unsigned char>>>> DecomposeScript(const CScript& script) +std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script) { - std::vector<std::pair<opcodetype, std::vector<unsigned char>>> out; + std::vector<Opcode> out; CScript::const_iterator it = script.begin(), itend = script.end(); while (it != itend) { std::vector<unsigned char> push_data; @@ -317,7 +317,7 @@ std::optional<std::vector<std::pair<opcodetype, std::vector<unsigned char>>>> De return out; } -std::optional<int64_t> ParseScriptNumber(const std::pair<opcodetype, std::vector<unsigned char>>& in) { +std::optional<int64_t> ParseScriptNumber(const Opcode& in) { if (in.first == OP_0) { return 0; } diff --git a/src/script/miniscript.h b/src/script/miniscript.h index 2f591cd3e5..e38bb1c37d 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<opcodetype, std::vector<unsigned char>>; + template<typename Key> struct Node; template<typename Key> using NodeRef = std::shared_ptr<const Node<Key>>; @@ -1269,10 +1271,10 @@ inline NodeRef<Key> Parse(Span<const char> in, const Ctx& ctx) * and OP_EQUALVERIFY are decomposed into OP_CHECKSIG, OP_CHECKMULTISIG, OP_EQUAL * respectively, plus OP_VERIFY. */ -std::optional<std::vector<std::pair<opcodetype, std::vector<unsigned char>>>> DecomposeScript(const CScript& script); +std::optional<std::vector<Opcode>> DecomposeScript(const CScript& script); /** Determine whether the passed pair (created by DecomposeScript) is pushing a number. */ -std::optional<int64_t> ParseScriptNumber(const std::pair<opcodetype, std::vector<unsigned char>>& in); +std::optional<int64_t> ParseScriptNumber(const Opcode& in); enum class DecodeContext { /** A single expression of type B, K, or V. Specifically, this can't be an |