[#miniscript-Fragment] = xref:miniscript.adoc[miniscript]::Fragment :relfileprefix: ../ :mrdocs: The different node types in miniscript. == Synopsis Declared in `<script/miniscript.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- enum class Fragment : int; ---- == Members [cols="1,4"] |=== | Name| Description | `JUST_0` | OP_0 | `JUST_1` | OP_1 | `PK_K` | [key] | `PK_H` | OP_DUP OP_HASH160 [keyhash]OP_EQUALVERIFY | `OLDER` | [n]OP_CHECKSEQUENCEVERIFY | `AFTER` | [n]OP_CHECKLOCKTIMEVERIFY | `SHA256` | OP_SIZE 32 OP_EQUALVERIFY OP_SHA256 [hash]OP_EQUAL | `HASH256` | OP_SIZE 32 OP_EQUALVERIFY OP_HASH256 [hash]OP_EQUAL | `RIPEMD160` | OP_SIZE 32 OP_EQUALVERIFY OP_RIPEMD160 [hash]OP_EQUAL | `HASH160` | OP_SIZE 32 OP_EQUALVERIFY OP_HASH160 [hash]OP_EQUAL | `WRAP_A` | OP_TOALTSTACK [X]OP_FROMALTSTACK | `WRAP_S` | OP_SWAP [X] | `WRAP_C` | [X]OP_CHECKSIG | `WRAP_D` | OP_DUP OP_IF [X]OP_ENDIF | `WRAP_V` | [X]OP_VERIFY (or ‐VERIFY version of last opcode in X) | `WRAP_J` | OP_SIZE OP_0NOTEQUAL OP_IF [X]OP_ENDIF | `WRAP_N` | [X]OP_0NOTEQUAL | `AND_V` | [X][Y] | `AND_B` | [X][Y]OP_BOOLAND | `OR_B` | [X][Y]OP_BOOLOR | `OR_C` | [X]OP_NOTIF [Y]OP_ENDIF | `OR_D` | [X]OP_IFDUP OP_NOTIF [Y]OP_ENDIF | `OR_I` | OP_IF [X]OP_ELSE [Y]OP_ENDIF | `ANDOR` | [X]OP_NOTIF [Z]OP_ELSE [Y]OP_ENDIF | `THRESH` | [X1]OP_ADD)* [k]OP_EQUAL | `MULTI` | [k][key_n]* [n]OP_CHECKMULTISIG (only available within P2WSH context) | `MULTI_A` | [key_0]OP_CHECKSIG ([key_n]OP_CHECKSIGADD)* [k]OP_NUMEQUAL (only within Tapscript ctx) |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#