diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index e6f3aacab..57ed13553 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -73,8 +73,6 @@ const ( SYSCALL Opcode = 0x68 TAILCALL Opcode = 0x69 - ISNULL Opcode = 0x70 - // Stack DUPFROMALTSTACK Opcode = 0x6A TOALTSTACK Opcode = 0x6B @@ -163,6 +161,7 @@ const ( CLEARITEMS Opcode = 0xD3 // Types + ISNULL Opcode = 0xD8 ISTYPE Opcode = 0xD9 // Exceptions diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index b550db451..637497604 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -64,7 +64,6 @@ func _() { _ = x[APPCALL-103] _ = x[SYSCALL-104] _ = x[TAILCALL-105] - _ = x[ISNULL-112] _ = x[DUPFROMALTSTACK-106] _ = x[TOALTSTACK-107] _ = x[FROMALTSTACK-108] @@ -140,12 +139,13 @@ func _() { _ = x[REVERSEITEMS-209] _ = x[REMOVE-210] _ = x[CLEARITEMS-211] + _ = x[ISNULL-216] _ = x[ISTYPE-217] _ = x[THROW-240] _ = x[THROWIFNOT-241] } -const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLOLDPUSH1RETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXDROPISNULLXSWAPXTUCKDEPTHDROPDUPNIPOVERPICKROLLROTSWAPTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALINCDECSIGNNEGATEABSNOTNZADDSUBMULDIVMODSHLSHRBOOLANDBOOLORNUMEQUALNUMNOTEQUALLTGTLTEGTEMINMAXWITHINSHA1SHA256HASH160HASH256CHECKSIGVERIFYCHECKMULTISIGPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISTYPETHROWTHROWIFNOT" +const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLOLDPUSH1RETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXDROPXSWAPXTUCKDEPTHDROPDUPNIPOVERPICKROLLROTSWAPTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALINCDECSIGNNEGATEABSNOTNZADDSUBMULDIVMODSHLSHRBOOLANDBOOLORNUMEQUALNUMNOTEQUALLTGTLTEGTEMINMAXWITHINSHA1SHA256HASH160HASH256CHECKSIGVERIFYCHECKMULTISIGPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPETHROWTHROWIFNOT" var _Opcode_map = map[Opcode]string{ 0: _Opcode_name[0:8], @@ -206,78 +206,78 @@ var _Opcode_map = map[Opcode]string{ 107: _Opcode_name[349:359], 108: _Opcode_name[359:371], 109: _Opcode_name[371:376], - 112: _Opcode_name[376:382], - 114: _Opcode_name[382:387], - 115: _Opcode_name[387:392], - 116: _Opcode_name[392:397], - 117: _Opcode_name[397:401], - 118: _Opcode_name[401:404], - 119: _Opcode_name[404:407], - 120: _Opcode_name[407:411], - 121: _Opcode_name[411:415], - 122: _Opcode_name[415:419], - 123: _Opcode_name[419:422], - 124: _Opcode_name[422:426], - 125: _Opcode_name[426:430], - 126: _Opcode_name[430:433], - 127: _Opcode_name[433:439], - 128: _Opcode_name[439:443], - 129: _Opcode_name[443:448], - 131: _Opcode_name[448:454], - 132: _Opcode_name[454:457], - 133: _Opcode_name[457:459], - 134: _Opcode_name[459:462], - 135: _Opcode_name[462:467], - 139: _Opcode_name[467:470], - 140: _Opcode_name[470:473], - 141: _Opcode_name[473:477], - 143: _Opcode_name[477:483], - 144: _Opcode_name[483:486], - 145: _Opcode_name[486:489], - 146: _Opcode_name[489:491], - 147: _Opcode_name[491:494], - 148: _Opcode_name[494:497], - 149: _Opcode_name[497:500], - 150: _Opcode_name[500:503], - 151: _Opcode_name[503:506], - 152: _Opcode_name[506:509], - 153: _Opcode_name[509:512], - 154: _Opcode_name[512:519], - 155: _Opcode_name[519:525], - 156: _Opcode_name[525:533], - 158: _Opcode_name[533:544], - 159: _Opcode_name[544:546], - 160: _Opcode_name[546:548], - 161: _Opcode_name[548:551], - 162: _Opcode_name[551:554], - 163: _Opcode_name[554:557], - 164: _Opcode_name[557:560], - 165: _Opcode_name[560:566], - 167: _Opcode_name[566:570], - 168: _Opcode_name[570:576], - 169: _Opcode_name[576:583], - 170: _Opcode_name[583:590], - 172: _Opcode_name[590:598], - 173: _Opcode_name[598:604], - 174: _Opcode_name[604:617], - 192: _Opcode_name[617:621], - 193: _Opcode_name[621:627], - 194: _Opcode_name[627:636], - 195: _Opcode_name[636:644], - 196: _Opcode_name[644:653], - 197: _Opcode_name[653:663], - 198: _Opcode_name[663:672], - 200: _Opcode_name[672:678], - 202: _Opcode_name[678:682], - 203: _Opcode_name[682:688], - 204: _Opcode_name[688:692], - 205: _Opcode_name[692:698], - 206: _Opcode_name[698:706], - 207: _Opcode_name[706:712], - 208: _Opcode_name[712:719], - 209: _Opcode_name[719:731], - 210: _Opcode_name[731:737], - 211: _Opcode_name[737:747], + 114: _Opcode_name[376:381], + 115: _Opcode_name[381:386], + 116: _Opcode_name[386:391], + 117: _Opcode_name[391:395], + 118: _Opcode_name[395:398], + 119: _Opcode_name[398:401], + 120: _Opcode_name[401:405], + 121: _Opcode_name[405:409], + 122: _Opcode_name[409:413], + 123: _Opcode_name[413:416], + 124: _Opcode_name[416:420], + 125: _Opcode_name[420:424], + 126: _Opcode_name[424:427], + 127: _Opcode_name[427:433], + 128: _Opcode_name[433:437], + 129: _Opcode_name[437:442], + 131: _Opcode_name[442:448], + 132: _Opcode_name[448:451], + 133: _Opcode_name[451:453], + 134: _Opcode_name[453:456], + 135: _Opcode_name[456:461], + 139: _Opcode_name[461:464], + 140: _Opcode_name[464:467], + 141: _Opcode_name[467:471], + 143: _Opcode_name[471:477], + 144: _Opcode_name[477:480], + 145: _Opcode_name[480:483], + 146: _Opcode_name[483:485], + 147: _Opcode_name[485:488], + 148: _Opcode_name[488:491], + 149: _Opcode_name[491:494], + 150: _Opcode_name[494:497], + 151: _Opcode_name[497:500], + 152: _Opcode_name[500:503], + 153: _Opcode_name[503:506], + 154: _Opcode_name[506:513], + 155: _Opcode_name[513:519], + 156: _Opcode_name[519:527], + 158: _Opcode_name[527:538], + 159: _Opcode_name[538:540], + 160: _Opcode_name[540:542], + 161: _Opcode_name[542:545], + 162: _Opcode_name[545:548], + 163: _Opcode_name[548:551], + 164: _Opcode_name[551:554], + 165: _Opcode_name[554:560], + 167: _Opcode_name[560:564], + 168: _Opcode_name[564:570], + 169: _Opcode_name[570:577], + 170: _Opcode_name[577:584], + 172: _Opcode_name[584:592], + 173: _Opcode_name[592:598], + 174: _Opcode_name[598:611], + 192: _Opcode_name[611:615], + 193: _Opcode_name[615:621], + 194: _Opcode_name[621:630], + 195: _Opcode_name[630:638], + 196: _Opcode_name[638:647], + 197: _Opcode_name[647:657], + 198: _Opcode_name[657:666], + 200: _Opcode_name[666:672], + 202: _Opcode_name[672:676], + 203: _Opcode_name[676:682], + 204: _Opcode_name[682:686], + 205: _Opcode_name[686:692], + 206: _Opcode_name[692:700], + 207: _Opcode_name[700:706], + 208: _Opcode_name[706:713], + 209: _Opcode_name[713:725], + 210: _Opcode_name[725:731], + 211: _Opcode_name[731:741], + 216: _Opcode_name[741:747], 217: _Opcode_name[747:753], 240: _Opcode_name[753:758], 241: _Opcode_name[758:768],