![]() |
Bitcoin Core 30.99.0
P2P Digital Currency
|
Namespaces | |
| namespace | internal |
Classes | |
| struct | Node |
| A node in a miniscript expression. More... | |
| class | Type |
| This type encapsulates the miniscript type system properties. More... | |
Typedefs | |
| using | Opcode = std::pair< opcodetype, std::vector< unsigned char > > |
| template<typename Key > | |
| using | NodeRef = std::unique_ptr< const Node< Key > > |
Enumerations | |
| enum class | Fragment { JUST_0 , JUST_1 , PK_K , PK_H , OLDER , AFTER , SHA256 , HASH256 , RIPEMD160 , HASH160 , WRAP_A , WRAP_S , WRAP_C , WRAP_D , WRAP_V , WRAP_J , WRAP_N , AND_V , AND_B , OR_B , OR_C , OR_D , OR_I , ANDOR , THRESH , MULTI , MULTI_A } |
| The different node types in miniscript. More... | |
| enum class | Availability { NO , YES , MAYBE } |
| enum class | MiniscriptContext { P2WSH , TAPSCRIPT } |
Functions | |
| consteval Type | operator""_mst (const char *c, size_t l) |
| Literal operator to construct Type objects. More... | |
| template<typename Key , typename... Args> | |
| NodeRef< Key > | MakeNodeRef (Args &&... args) |
| Construct a miniscript node as a unique_ptr. More... | |
| template<typename Key , std::invocable< const Node< Key > & > Fn> | |
| void | ForEachNode (const Node< Key > &root, Fn &&fn) |
| Unordered traversal of a miniscript node tree. More... | |
| constexpr bool | IsTapscript (MiniscriptContext ms_ctx) |
| Whether the context Tapscript, ensuring the only other possibility is P2WSH. More... | |
| template<typename Ctx > | |
| NodeRef< typename Ctx::Key > | FromString (const std::string &str, const Ctx &ctx) |
| template<typename Ctx > | |
| NodeRef< typename Ctx::Key > | FromScript (const CScript &script, const Ctx &ctx) |
| using miniscript::NodeRef = typedef std::unique_ptr<const Node<Key> > |
Definition at line 194 of file miniscript.h.
| using miniscript::Opcode = typedef std::pair<opcodetype, std::vector<unsigned char> > |
Definition at line 191 of file miniscript.h.
|
strong |
| Enumerator | |
|---|---|
| NO | |
| YES | |
| MAYBE | |
Definition at line 250 of file miniscript.h.
|
strong |
The different node types in miniscript.
Definition at line 216 of file miniscript.h.
|
strong |
| Enumerator | |
|---|---|
| P2WSH | |
| TAPSCRIPT | |
Definition at line 256 of file miniscript.h.
| void miniscript::ForEachNode | ( | const Node< Key > & | root, |
| Fn && | fn | ||
| ) |
Unordered traversal of a miniscript node tree.
Definition at line 202 of file miniscript.h.
|
inline |
Definition at line 2675 of file miniscript.h.
|
inline |
|
constexpr |
Whether the context Tapscript, ensuring the only other possibility is P2WSH.
Definition at line 262 of file miniscript.h.
| NodeRef< Key > miniscript::MakeNodeRef | ( | Args &&... | args | ) |
Construct a miniscript node as a unique_ptr.
Definition at line 198 of file miniscript.h.
|
inline |
Literal operator to construct Type objects.
The only way to publicly construct a Type is using this literal operator.
Definition at line 159 of file miniscript.h.