Default expression for "scriptcode_suffix", the actually used portion of the scriptcode.
(ctx)
| 222 | return bytes([get(ctx, "leafversion") + get(ctx, "negflag")]) + get(ctx, "pubkey_internal") + get(ctx, "merklebranch") |
| 223 | |
| 224 | def default_scriptcode_suffix(ctx): |
| 225 | """Default expression for "scriptcode_suffix", the actually used portion of the scriptcode.""" |
| 226 | scriptcode = get(ctx, "scriptcode") |
| 227 | codesepnum = get(ctx, "codesepnum") |
| 228 | if codesepnum == -1: |
| 229 | return scriptcode |
| 230 | codeseps = 0 |
| 231 | for (opcode, data, sop_idx) in scriptcode.raw_iter(): |
| 232 | if opcode == OP_CODESEPARATOR: |
| 233 | if codeseps == codesepnum: |
| 234 | return CScript(scriptcode[sop_idx+1:]) |
| 235 | codeseps += 1 |
| 236 | assert False |
| 237 | |
| 238 | def default_sigmsg(ctx): |
| 239 | """Default expression for "sigmsg": depending on mode, compute BIP341, BIP143, or legacy sigmsg.""" |