|
105 | 105 | ["25 24 23 22 21 20", "2ROT 2DROP 2DROP DROP 23 EQUAL", "P2SH,STRICTENC", "OK"], |
106 | 106 | ["25 24 23 22 21 20", "2ROT 2ROT 22 EQUAL", "P2SH,STRICTENC", "OK"], |
107 | 107 | ["25 24 23 22 21 20", "2ROT 2ROT 2ROT 20 EQUAL", "P2SH,STRICTENC", "OK"], |
| 108 | +["1 2 3 4 5 6", "2ROT DEPTH 6 EQUAL", "P2SH,STRICTENC", "OK"], |
108 | 109 | ["1 0", "SWAP 1 EQUALVERIFY 0 EQUAL", "P2SH,STRICTENC", "OK"], |
109 | 110 | ["0 1", "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP", "P2SH,STRICTENC", "OK"], |
110 | 111 | ["13 14", "2DUP ROT EQUALVERIFY EQUAL", "P2SH,STRICTENC", "OK"], |
|
2610 | 2611 | [["645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS", "UNBALANCED_CONDITIONAL"], |
2611 | 2612 | [["645168", 0.00000001], "0x22 0x0020f913eacf2e38a5d6fc3a8311d72ae704cb83866350a984dd3e5eb76d2a8c28e8", "HASH160 0x14 0xdbb7d1c0a56b7a9c423300c8cca6e6e065baf1dc EQUAL", "P2SH,WITNESS,MINIMALIF", "UNBALANCED_CONDITIONAL"], |
2612 | 2613 |
|
| 2614 | +["Tapscript tests"], |
| 2615 | +[ |
| 2616 | + [ |
| 2617 | + "1ffe1234567890", |
| 2618 | + "00", |
| 2619 | + "#SCRIPT# HASH256 DUP SHA1 DROP DUP DROP TOALTSTACK HASH256 DUP DROP TOALTSTACK FROMALTSTACK", |
| 2620 | + "#CONTROLBLOCK#", |
| 2621 | + 0.00000001 |
| 2622 | + ], |
| 2623 | + "", |
| 2624 | + "0x51 0x20 #TAPROOTOUTPUT#", |
| 2625 | + "P2SH,WITNESS,TAPROOT", |
| 2626 | + "OK", |
| 2627 | + "TAPSCRIPT Tests testing tapscript with many different op codes including ALTSTACK interactions" |
| 2628 | +], |
| 2629 | +[ |
| 2630 | + [ |
| 2631 | + "abcdef", |
| 2632 | + "#SCRIPT# 1 IF SHA256 ENDIF SIZE SWAP DROP 32 EQUAL", |
| 2633 | + "#CONTROLBLOCK#", |
| 2634 | + 0.00000001 |
| 2635 | + ], |
| 2636 | + "", |
| 2637 | + "0x51 0x20 #TAPROOTOUTPUT#", |
| 2638 | + "P2SH,WITNESS,TAPROOT", |
| 2639 | + "OK", |
| 2640 | + "TAPSCRIPT Test IF conditional when true" |
| 2641 | +], |
| 2642 | +[ |
| 2643 | + [ |
| 2644 | + "abcdef", |
| 2645 | + "#SCRIPT# 0 IF SHA256 ENDIF SIZE SWAP DROP 32 EQUAL", |
| 2646 | + "#CONTROLBLOCK#", |
| 2647 | + 0.00000001 |
| 2648 | + ], |
| 2649 | + "", |
| 2650 | + "0x51 0x20 #TAPROOTOUTPUT#", |
| 2651 | + "P2SH,WITNESS,TAPROOT", |
| 2652 | + "EVAL_FALSE", |
| 2653 | + "TAPSCRIPT Test IF conditional when false" |
| 2654 | +], |
| 2655 | +[ |
| 2656 | + [ |
| 2657 | + "aa", |
| 2658 | + "bb", |
| 2659 | + "cc", |
| 2660 | + "#SCRIPT# EQUAL IF DROP DROP ENDIF", |
| 2661 | + "#CONTROLBLOCK#", |
| 2662 | + 0.00000001 |
| 2663 | + ], |
| 2664 | + "", |
| 2665 | + "0x51 0x20 #TAPROOTOUTPUT#", |
| 2666 | + "P2SH,WITNESS,TAPROOT", |
| 2667 | + "OK", |
| 2668 | + "TAPSCRIPT Test that DROP operations do not execute inside of a false IF conditional" |
| 2669 | +], |
| 2670 | + |
2613 | 2671 | ["NULLFAIL should cover all signatures and signatures only"], |
2614 | 2672 | ["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "DERSIG", "OK", "BIP66 and NULLFAIL-compliant"], |
2615 | 2673 | ["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "DERSIG,NULLFAIL", "OK", "BIP66 and NULLFAIL-compliant"], |
|
0 commit comments