From 115919aaf7db504155180f0bc908fa428644ef06 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 6 May 2020 12:58:58 +0300 Subject: [PATCH 1/5] vm: process OLDPUSH1 at the context level The only usecase for this opcode is single-byte verification scripts. --- pkg/vm/context.go | 6 ++++++ pkg/vm/vm.go | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/vm/context.go b/pkg/vm/context.go index 3a799b13c..b20dbb088 100644 --- a/pkg/vm/context.go +++ b/pkg/vm/context.go @@ -74,6 +74,12 @@ func (c *Context) Next() (opcode.Opcode, []byte, error) { var numtoread int switch instr { + case opcode.OLDPUSH1: + // OLDPUSH1 is used during transition to NEO3 in verification scripts. + // FIXME remove #927 + if len(c.prog) == 1 { + return opcode.PUSH1, nil, nil + } case opcode.PUSHDATA1: if c.nextip >= len(c.prog) { err = errNoInstParam diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 573d28159..32c6fe708 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -553,10 +553,6 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro val := int(op) - int(opcode.PUSH1) + 1 v.estack.PushVal(val) - case opcode.OLDPUSH1: - // FIXME remove this after Issue transactions will be removed - v.estack.PushVal(1) - case opcode.PUSH0: v.estack.PushVal([]byte{}) From 525527f75072164fdb539058d3fa411e1020d8f1 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 6 May 2020 11:19:58 +0300 Subject: [PATCH 2/5] vm: reorder stack opcodes Leave *ALTSTACK opcodes for now as they are needed in compiler while slot opcodes are not yet here. --- pkg/rpc/server/server_test.go | 6 +- pkg/rpc/server/testdata/test_contract.avm | Bin 851 -> 851 bytes pkg/rpc/server/testdata/testblocks.acc | Bin 113865 -> 113865 bytes pkg/vm/opcode/opcode.go | 32 ++-- pkg/vm/opcode/opcode_string.go | 181 +++++++++++----------- pkg/vm/vm.go | 82 +++++----- 6 files changed, 153 insertions(+), 148 deletions(-) diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index 6a5ef7135..e00ead788 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -47,18 +47,18 @@ type rpcTestCase struct { check func(t *testing.T, e *executor, result interface{}) } -const testContractHash = "642e2f47cc6883f0c196cf0dd3dcbb2333300173" +const testContractHash = "5d49c5a1127c23ad64a2ede6259b8ca61cc9f2fb" var rpcTestCases = map[string][]rpcTestCase{ "getapplicationlog": { { name: "positive", - params: `["9872fd330d63d64beba7122fcc9678e7f380d2163acff6a7d4f67a3c01cd67d1"]`, + params: `["3f056daab3c7824a6bf2cc863b5d4a0089bb3561316d65bf5e344278c0311901"]`, result: func(e *executor) interface{} { return &result.ApplicationLog{} }, check: func(t *testing.T, e *executor, acc interface{}) { res, ok := acc.(*result.ApplicationLog) require.True(t, ok) - expectedTxHash, err := util.Uint256DecodeStringLE("9872fd330d63d64beba7122fcc9678e7f380d2163acff6a7d4f67a3c01cd67d1") + expectedTxHash, err := util.Uint256DecodeStringLE("3f056daab3c7824a6bf2cc863b5d4a0089bb3561316d65bf5e344278c0311901") require.NoError(t, err) assert.Equal(t, expectedTxHash, res.TxHash) assert.Equal(t, 1, len(res.Executions)) diff --git a/pkg/rpc/server/testdata/test_contract.avm b/pkg/rpc/server/testdata/test_contract.avm index a82e371d5c8c53a443ff7d92f1ad29d84a0501cc..3dd2f768b1927ad8405ae9440e0f57b3157656d6 100755 GIT binary patch literal 851 zcmZ`%J#W-N5H-o=1L1Jzk8>^+XHH@xid0c*63NXq0+xiH1Kx0itDQFTM*Tbi4E3n|bpz%I^7d))`HiHkzs%UMh-=dPU!( zoU=~Nv|7)M&(X@-Tg!(3P+dMOi;C{Mc_`B5@X`DIUa*?oF|;IRa6k140Z3m%6RdHJ_t>DB<}M*T%GKav5!YC9G$D3AR< z_5Cc!^Jwp@yJ|a~?|tZrI~w(2bZ_U?n$1iIYtbG6W?l)(fgjrVeG8XgheSml23bWs zC|rq6y6A$7?##tQbYV3vNSLJwx!H_XYc;b#Y0Z?|s5IxwBK@xp)&TQhuyaQ4qv~#> zqDfkc;@Z;P`O=%9+r&-J$OBaBvB=9XjJ-GzML#Ts|4(F+{GOo>#&&B^H`jp$Yu>pB zj2?D=$M7jJC^Y0ngxJJFqUP$Z;hLA1IlHwJFf~+Lv54V9pTTDlb@b-^!nfJhXe#ec lMgUW`u+{Y`sxm`v8X_-6YcfkGK}L%>6*9ITgB6(S`~g}P6K4Pb literal 851 zcmZ`%J#Q015Iqv-198E=4_}-LAC_1|kqS{m{s72`l45-yx?A@4th-%Hu@P0IP}5w2 z1mZss(ITazI9WlW;ZIP2Xqj2(>_9@dJMX=jH&0{SKYhVEvpKV7b8{!ig)C?w`vK*g zb!ukScHw+ZHn!e)KKv)<`V%E9vTqnha@6~_<1-tyHWD=(`N{CZqhG$VxQYiq*9>D~ z-jKPZ{HYp``C&yI5UaI^2WwB3s`I@MJ#j~;ewp0bpKbZfg|Jrb0buThpcMSj#_wym{5B*i$~Y=25aY5oD&&btgtlFxX2TE_Dyo*YAsg(JDb+87Q2ZNmxavN1Q8x_rR zCFG^0yUV3_LAQ&Wo{&4Jv{O;4I8K8!60#pF5&jdICckH>gR$Kj)XjBZ!CQ9j0i%bV z-!Xh@3|v|RQ%qxlTs1^riq&M6kE4RhG#5IyAA=2;s{Q~$_#PDi diff --git a/pkg/rpc/server/testdata/testblocks.acc b/pkg/rpc/server/testdata/testblocks.acc index 91f52796f2ed3e9ee97fd2672310ca5455adf405..68c91b8c641ae6f82bf38fcdbfa3e6b41fb4a03b 100644 GIT binary patch literal 113865 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%0D#$%)85<-wBDX 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�^AC4$aEu0I`ygNNrY{_wo_omFk6lW9Mj#-QtD#iQua}yqjv0 zvkv_SO^p}k9ZEl>(oGs{K?_ZCvKwXqX<6XBX~8Q)Mowq>=B3pj^Q4xB;Eg1$pkh3LWfYWcPLfKxvrAhR4_yl%{vudOxUTyHi82 zstc4?4z%IeAPqgyXiEc(*fQPZaoK@2XOB z)32ViC$jQSxyWf7LM;Zaeapu|qp`M(l4SioT(YX>VQpah{eJ6{v!urFkmz|vqW70b zgqT-v!|ff1=3L^pG%tfggjZJMjS+97O6U=9=uh#|(hNqlh z1(4EXy_8M z7K`=Ch@;j+ICChp19)z*2b3`!xSOKrPf>572siX{WGqtKCPq~T+ZMU3k~!eP zj9{|n4{0Sh&EMy{KsdgSb?D(GvmmB@(-sxK7td^>T(Hd-;$tTFJ0yCak?8v+5<1f8 zbX|-OfJI5SitR6X+&}H_BKiTP*JKX6m1W<(+;kofEJlJb-=SUpX71 z14tvLaJnM!fUZsu>l7028b)aAs~z<#&Hfgx7parUn<_I=EQpjl)&MmXm}}L0PYeouDfnUwNNhn(?7LdJ+>UPot@s8JB*}uYY84gu(7%a33I@1X>%>c3Rnj9SNokosGu9 z&Gra#os2V-8_!cc>VD$oW-s%F^e?4p`0#!^MeXWp_^9C~{0$+F$qzp?OF6ZwJMtTE7p%WF?-G3z zeW*7Y=;UP8jl}yS)X(`g7vBiU^jp7wP1|cx2<$C6oiN0Yiy8TD81SM^3hPmGsvJ44 z$Cc=_4gAbzHa+>o%>G;aS~a5{0Pvdm9^qvm^u;A9_W{oYbP*y??j3N z9US5rm?&?y_Rd*)BCZYp{*@SfkuOPnde>MlHg z)Ib-;;9%J^-PM5zYsgKoNj2cmx?l4w(Bq|&ro5))kTu!QLu0F|@76b++&5{>R)c+MyTzdFyB0H(3<OoW!t2p(F-p&F?`WaPA`0H2C>L1fs7%k>d7X^DZB zZ{VY=cOzd}x+Lh#c(|cVr$^WJ_Bp)e-YUxE4rn(v(?bOOHC3TN|EcRsxDP$;a%j8u zkHDDB0FxH&?=`hhL`&DbC(w7|IMwndPqXFSKOk+tpCu*bL+QWCV-h_3Lt2T~kYf4z z#ZTrvds&H^7k;l!r5VVpZX9k?L<{nw8_&0Xhs3}$5`(`)!h9v*@g)prV{9=!m`~x} zBsz`=(d|o`n}PB-C~nu7wLA#Izz^7_W(UXhx?_Vu8wYZb2kC5x$Fn^j;eBHZKvPJP zLT|58c5D9?{>Gkq-*=oAO&Ms$PYhg$&H{<7V||#!M97#Y<%Kw z$SKbKDs9G;_gN1I0JK-Tr4h4KO{BzouhRqD47*$6dWW;_Krp2UdGxSv=DlAs5j0uK zaaI{WQLj(H*=V`t<7jFe^icZkGmlx%KWW+!91sByAd|^h-ILl=e8yz55Wj;5riHF6o~BKLm-S-Ak8@Sw0Po zmSEYqZMOB|N;N%s6+68a8ZGj>t%t1NAu;%j#LzF1fOL<&;9isIaPg6G;inIcwMDkP z<%x{zzILi8-x4Bny{6eOV+Cr~$S@DV?qOVJ%c&bPU=eYmt!^_8KZLbb3$k(ATr4Khx z_Us)-YGMY|VPqx~X2 z8Z$QZjKuISk;vq%Ib-d9DAj}^FB%kcQXWgbDG2@ED>2*DJlFu-0F!TSGWgzB>KRTs z5C@hQFgCq_&#hE2l)pDP%As>W2Kt}^WwNdn;Pnwrl?0iPDY{{-nu1J$GH3ZVb^O;q z%oOX5${^W9Y^BfVPpnJVLIO|O#()krq(Kb%hGmiINM7zBBu;o(8%BzXB;D=H4K+&3a;~=%Yw|(}XKd=-v)xhxa<_S>b!V!UifiE@e!o6!zGo~U||5)duOo#La z^SY*a*?7jkk|l_)%L5EYoN_UM^lwuE7XSb|#$T3sC@{qVTd3_n9Es2S!8xqRB)*V^ zk&oWZmTV(Sy}x#vFG}oNLuiHD8_!&RGsP|3qoOXxp_+LksU!A8{a+|YA{fI*na=!p z7Jvc*s)#D&+jMgY$42CUR+2ICDT<_xN?`z)#*-@IXZ~qfo)urZC%?uro49yReEMFfTmlX>a!t~jVYQd$p?OK#b{SAVWTnvK*m%5up5Mf#X7@* z4ib{wI@ZEuKQG8?c^sA70vd%o%Kl5KQ*z zSED(?I$sOEmDs!3jfKyVwi@HUis)=tv?l)#$^4XnR)3ZXI8$abbDHEAtmWl$LCb-M zoJdgyB!W{E&c-HjxnM`{1xWO+jq%AZ9lW$13LWV%PT*ox8fZ)hU}Or){(A{1hXG{+ z^boKzD3sb#d(4#ymEWSG=?5fJNGgqn4YKDYPUPIq9Hw`>e$lDDp;<)=g+o%SL#xR)Ubtt$_6WQhD`Ov&lX_BLcX$YXM)ZtRj1s|jz z%Hh!&isYT+@MWa;Cd9Wo5ragsM&MT5+yuX?@p$fT1{z$1Oa`M}%TrSfCDUYgQ`2=e z8dJyFE)2OU|1rxPG*DcDY89onW2q`dmpph+A&Y@x->&$Y^y5~UCdHIumuq>X6}Hz@ zw^^tYys=Up|E)QK68pHHex@KEes}?jk2Tx>xCBgrLxVozf0BU5Pmll{Asu2pD@%J@ z9X)$ueI0vZV;ysID?4Hb0J5o-0nor%$HLm&fL71S0st?sW2tXtK`i3n0)V2Y<=_Co ziW-1C8`z>^0>EJr6(GTwd(2Ex=C!9J0a7L-L}Kb%=a5>qr#ShSxW|MLCQzp;Ea|0Rhqs=2Ts=>@2X7Y88NTiNTF zD>ztNo4X`ZqJshpLjVPk!G8Mq{Fe_neFHrc3mtR2L`vkJ&S*cK8vb&EvedCKNTkI0 z`5FKv@1Se`(=GKcHyAq?3tcPo=Qsh7@=5|f9XH7c9@L#z_ z2jv`nd>9O)mXZ|Y3_v!qbks37(I?i?*S9sWvomI$mWLq`Mp+~V#rd<0=;N}+M6_ysJ6dyfeFe5=09>l z^D`G%|I7uYp{mMPheul*OS4exS{}>Kb3{d7l8APe0eDyOF z(mzA#SXen&+W%jL#{5^Iu|eUmf0ne4lHzAbG!siZ2SY;>Jre^(mHp*8 z)AVOJP_mfgpwR!M`Qk+LQ#H2thp*lg7#D+?WtTEx5L;_*4Y>DkOn1Sx%6q9e2^fVfD(Et@DGh#@zBA3Ois4JNP!rj)Huq|j zDQQ?ZmCV*=AaYwP(fo20{S-19D&D zK}#FnL@d#9lS2Z|t^iCuD*SZG1ZNrZR_~C4x|5h<`N6*+xZ_IK7 zg8=~c=f7qKE@+*9btFdjXF~*^!cxh1j&k(NNZrx0`^0_c1$w%8vVAV^>5S}yW;1=8@F8>V*SL40NHwW7M$c$_Fl&g)HW2h{E7aA6 z3HnbW<~vRL(V2H$dUP?--;O}eVHAu#vpo)q>p!y{!AWQooyYc$)do+I3UhDBcB9!B zQPuCQkLE=&5t#d1IKCP>z$ny+y;3#fOzDX^0HfMV1KiwK4S7j0)YtoXXh zL(o)z)G*aAV@?e{0vNG^2<6hUM7@aP60o0=7#Lc)P4e_V&bBugEa)TtC$>Q?H}p0m zzJPQ_Uf~gMN-d&-cCiQ`Zivs9<0aznzfpIf`O~QkfX53pLnCV!2T+ z1~^idmeCFGwEi|M{q#!DFDCPGUbyM_@By%ZxL&!G!Zr z$Rlt`#!s1e`<4=WN+N!?(@W8Na-K%WXJ)z#rwIK2z3@~#3r~v_eo>Uy$JOpP&3Lu| zD{AHqj3xpqpvwni*Un+%^XQGC$~LM~k;+^@LYh^k7`XJX`P0xA%=I`ue64TCoD%kpAv`y6m6#C}ZG^@mQwC)N<8XzveM z%LOiRCf?-ro{5F4Hdv!C86@sbJm0}+Fz*w?MyNgz|4l4J7Wn8AmsM~`$0TLzn5J_kbL zc%#=^t10aNlfnb}uhpz6aJXLx4moc6=W4AU$bl)UDJ6-6yE&cWGHJU3kfge`?J;+nwFMg40 zIq*G50LI@n2mp+~>&?(R|2=yB+k&2g68qQlv%hn%%m5R}A@V38x)ztWJ`=?*=C)uh zXKJgT3fr?;5n2~Q?dZa0PN8qG79m+mWOEF;rk7-xi-HI#qZm>2wV?m+OM3G>mIKmc zkhe4OP|N`6qu=Vv7q|3>e;Ohl*rrmVMQ?m$IZxcTs1G{Q!HwP2e@fYHN0OYRn&&wQ zKtLdcaC__+)S7q}*-212{&Rm<@rA4@Sm{YNJu>kfvE~AG04m%YwL4`pC6y)aJ@QA_ z5j@kfDy5Z;O9WDLI^JvS!P=T}#u(-TOJRe5h6LB@s0{hhxv>$&3~kU7Ewv`jM2 zRlT&h)`XfX9%P9T!s2s+p;ui|iv*{n9-nXtla+=xn)KE1`Y#h4AYbKC*J^<*U4|qN zWUCYm47h$vy<>QkfO1XJfjz=(#bN+joX0ZYltyjA_)U*vzC3mm;LT2zp(9G+V~I)R z&oefE73*Yb0@{;^`mwWpc;Y9@!veo7sGh%y<;D=)Y&PwY7_8B&Yr`S-X$((e^XHVqq?I|-w({HBII3>r8-v}zQ$Q9`f4wA+8re!iPm+Wcvn8W Yr=IUsr8agUP{GX7MyRBQ|2_Nv51e$lGynhq literal 113865 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

XE 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 DmT*4N diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index 071317cdf..d30931f87 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -65,31 +65,35 @@ const ( CALL Opcode = 0x34 CALLL Opcode = 0x35 - // Legacy - OLDPUSH1 Opcode = 0x51 + // Stack + DEPTH Opcode = 0x43 + DROP Opcode = 0x45 + NIP Opcode = 0x46 + XDROP Opcode = 0x48 + // CLEAR Opcode = 0x49 + DUP Opcode = 0x4A + OVER Opcode = 0x4B + PICK Opcode = 0x4D + TUCK Opcode = 0x4E + SWAP Opcode = 0x50 + OLDPUSH1 Opcode = 0x51 // FIXME remove #927 + ROT Opcode = 0x51 + ROLL Opcode = 0x52 + // REVERSE3 Opcode = 0x53 + // REVERSE4 Opcode = 0x54 + // REVERSEN Opcode = 0x55 RET Opcode = 0x66 APPCALL Opcode = 0x67 SYSCALL Opcode = 0x68 TAILCALL Opcode = 0x69 - // Stack + // Old stack opcodes DUPFROMALTSTACK Opcode = 0x6A TOALTSTACK Opcode = 0x6B FROMALTSTACK Opcode = 0x6C - XDROP Opcode = 0x6D XSWAP Opcode = 0x72 XTUCK Opcode = 0x73 - DEPTH Opcode = 0x74 - DROP Opcode = 0x75 - DUP Opcode = 0x76 - NIP Opcode = 0x77 - OVER Opcode = 0x78 - PICK Opcode = 0x79 - ROLL Opcode = 0x7A - ROT Opcode = 0x7B - SWAP Opcode = 0x7C - TUCK Opcode = 0x7D // Splice CAT Opcode = 0x7E diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index 39d7cbbfe..de00d7de3 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -59,7 +59,18 @@ func _() { _ = x[JMPLEL-51] _ = x[CALL-52] _ = x[CALLL-53] + _ = x[DEPTH-67] + _ = x[DROP-69] + _ = x[NIP-70] + _ = x[XDROP-72] + _ = x[DUP-74] + _ = x[OVER-75] + _ = x[PICK-77] + _ = x[TUCK-78] + _ = x[SWAP-80] _ = x[OLDPUSH1-81] + _ = x[ROT-81] + _ = x[ROLL-82] _ = x[RET-102] _ = x[APPCALL-103] _ = x[SYSCALL-104] @@ -67,19 +78,8 @@ func _() { _ = x[DUPFROMALTSTACK-106] _ = x[TOALTSTACK-107] _ = x[FROMALTSTACK-108] - _ = x[XDROP-109] _ = x[XSWAP-114] _ = x[XTUCK-115] - _ = x[DEPTH-116] - _ = x[DROP-117] - _ = x[DUP-118] - _ = x[NIP-119] - _ = x[OVER-120] - _ = x[PICK-121] - _ = x[ROLL-122] - _ = x[ROT-123] - _ = x[SWAP-124] - _ = x[TUCK-125] _ = x[CAT-126] _ = x[SUBSTR-127] _ = x[LEFT-128] @@ -89,6 +89,7 @@ func _() { _ = x[OR-146] _ = x[XOR-147] _ = x[EQUAL-151] + _ = x[NOTEQUAL-152] _ = x[SIGN-153] _ = x[ABS-154] _ = x[NEGATE-155] @@ -139,7 +140,7 @@ func _() { _ = x[THROWIFNOT-241] } -const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLOLDPUSH1RETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXDROPXSWAPXTUCKDEPTHDROPDUPNIPOVERPICKROLLROTSWAPTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" +const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPDUPOVERPICKTUCKSWAPOLDPUSH1ROLLRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" var _Opcode_map = map[Opcode]string{ 0: _Opcode_name[0:8], @@ -191,84 +192,84 @@ var _Opcode_map = map[Opcode]string{ 51: _Opcode_name[286:292], 52: _Opcode_name[292:296], 53: _Opcode_name[296:301], - 81: _Opcode_name[301:309], - 102: _Opcode_name[309:312], - 103: _Opcode_name[312:319], - 104: _Opcode_name[319:326], - 105: _Opcode_name[326:334], - 106: _Opcode_name[334:349], - 107: _Opcode_name[349:359], - 108: _Opcode_name[359:371], - 109: _Opcode_name[371:376], - 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], - 144: _Opcode_name[442:448], - 145: _Opcode_name[448:451], - 146: _Opcode_name[451:453], - 147: _Opcode_name[453:456], - 151: _Opcode_name[456:461], - 153: _Opcode_name[461:465], - 154: _Opcode_name[465:468], - 155: _Opcode_name[468:474], - 156: _Opcode_name[474:477], - 157: _Opcode_name[477:480], - 158: _Opcode_name[480:483], - 159: _Opcode_name[483:486], - 160: _Opcode_name[486:489], - 161: _Opcode_name[489:492], - 162: _Opcode_name[492:495], - 168: _Opcode_name[495:498], - 169: _Opcode_name[498:501], - 170: _Opcode_name[501:504], - 171: _Opcode_name[504:511], - 172: _Opcode_name[511:517], - 177: _Opcode_name[517:519], - 179: _Opcode_name[519:527], - 180: _Opcode_name[527:538], - 181: _Opcode_name[538:540], - 182: _Opcode_name[540:543], - 183: _Opcode_name[543:545], - 184: _Opcode_name[545:548], - 185: _Opcode_name[548:551], - 186: _Opcode_name[551:554], - 187: _Opcode_name[554:560], - 192: _Opcode_name[560:564], - 193: _Opcode_name[564:570], - 194: _Opcode_name[570:579], - 195: _Opcode_name[579:587], - 196: _Opcode_name[587:596], - 197: _Opcode_name[596:606], - 198: _Opcode_name[606:615], - 200: _Opcode_name[615:621], - 202: _Opcode_name[621:625], - 203: _Opcode_name[625:631], - 204: _Opcode_name[631:635], - 205: _Opcode_name[635:641], - 206: _Opcode_name[641:649], - 207: _Opcode_name[649:655], - 208: _Opcode_name[655:662], - 209: _Opcode_name[662:674], - 210: _Opcode_name[674:680], - 211: _Opcode_name[680:690], - 216: _Opcode_name[690:696], - 217: _Opcode_name[696:702], - 219: _Opcode_name[702:709], - 240: _Opcode_name[709:714], - 241: _Opcode_name[714:724], + 67: _Opcode_name[301:306], + 69: _Opcode_name[306:310], + 70: _Opcode_name[310:313], + 72: _Opcode_name[313:318], + 74: _Opcode_name[318:321], + 75: _Opcode_name[321:325], + 77: _Opcode_name[325:329], + 78: _Opcode_name[329:333], + 80: _Opcode_name[333:337], + 81: _Opcode_name[337:345], + 82: _Opcode_name[345:349], + 102: _Opcode_name[349:352], + 103: _Opcode_name[352:359], + 104: _Opcode_name[359:366], + 105: _Opcode_name[366:374], + 106: _Opcode_name[374:389], + 107: _Opcode_name[389:399], + 108: _Opcode_name[399:411], + 114: _Opcode_name[411:416], + 115: _Opcode_name[416:421], + 126: _Opcode_name[421:424], + 127: _Opcode_name[424:430], + 128: _Opcode_name[430:434], + 129: _Opcode_name[434:439], + 144: _Opcode_name[439:445], + 145: _Opcode_name[445:448], + 146: _Opcode_name[448:450], + 147: _Opcode_name[450:453], + 151: _Opcode_name[453:458], + 152: _Opcode_name[458:466], + 153: _Opcode_name[466:470], + 154: _Opcode_name[470:473], + 155: _Opcode_name[473:479], + 156: _Opcode_name[479:482], + 157: _Opcode_name[482:485], + 158: _Opcode_name[485:488], + 159: _Opcode_name[488:491], + 160: _Opcode_name[491:494], + 161: _Opcode_name[494:497], + 162: _Opcode_name[497:500], + 168: _Opcode_name[500:503], + 169: _Opcode_name[503:506], + 170: _Opcode_name[506:509], + 171: _Opcode_name[509:516], + 172: _Opcode_name[516:522], + 177: _Opcode_name[522:524], + 179: _Opcode_name[524:532], + 180: _Opcode_name[532:543], + 181: _Opcode_name[543:545], + 182: _Opcode_name[545:548], + 183: _Opcode_name[548:550], + 184: _Opcode_name[550:553], + 185: _Opcode_name[553:556], + 186: _Opcode_name[556:559], + 187: _Opcode_name[559:565], + 192: _Opcode_name[565:569], + 193: _Opcode_name[569:575], + 194: _Opcode_name[575:584], + 195: _Opcode_name[584:592], + 196: _Opcode_name[592:601], + 197: _Opcode_name[601:611], + 198: _Opcode_name[611:620], + 200: _Opcode_name[620:626], + 202: _Opcode_name[626:630], + 203: _Opcode_name[630:636], + 204: _Opcode_name[636:640], + 205: _Opcode_name[640:646], + 206: _Opcode_name[646:654], + 207: _Opcode_name[654:660], + 208: _Opcode_name[660:667], + 209: _Opcode_name[667:679], + 210: _Opcode_name[679:685], + 211: _Opcode_name[685:695], + 216: _Opcode_name[695:701], + 217: _Opcode_name[701:707], + 219: _Opcode_name[707:714], + 240: _Opcode_name[714:719], + 241: _Opcode_name[719:729], } func (i Opcode) String() string { diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 32c6fe708..4d648da2f 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -589,25 +589,6 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro case opcode.DUPFROMALTSTACK: v.estack.Push(v.astack.Dup(0)) - case opcode.DUP: - v.estack.Push(v.estack.Dup(0)) - - case opcode.SWAP: - err := v.estack.Swap(1, 0) - if err != nil { - panic(err.Error()) - } - - case opcode.TUCK: - a := v.estack.Dup(0) - if a == nil { - panic("no top-level element found") - } - if v.estack.Len() < 2 { - panic("can't TUCK with a one-element stack") - } - v.estack.InsertAt(a, 2) - case opcode.CAT: b := v.estack.Pop().Bytes() a := v.estack.Pop().Bytes() @@ -652,16 +633,6 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro s := v.estack.Pop().Bytes() v.estack.PushVal(s[len(s)-l:]) - case opcode.XDROP: - n := int(v.estack.Pop().BigInt().Int64()) - if n < 0 { - panic("invalid length") - } - e := v.estack.RemoveAt(n) - if e == nil { - panic("bad index") - } - case opcode.XSWAP: n := int(v.estack.Pop().BigInt().Int64()) err := v.estack.Swap(n, 0) @@ -683,21 +654,34 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro } v.estack.InsertAt(a, n) - case opcode.ROT: - err := v.estack.Roll(2) - if err != nil { - panic(err.Error()) - } - case opcode.DEPTH: v.estack.PushVal(v.estack.Len()) + case opcode.DROP: + if v.estack.Len() < 1 { + panic("stack is too small") + } + v.estack.Pop() + case opcode.NIP: elem := v.estack.RemoveAt(1) if elem == nil { panic("no second element found") } + case opcode.XDROP: + n := int(v.estack.Pop().BigInt().Int64()) + if n < 0 { + panic("invalid length") + } + e := v.estack.RemoveAt(n) + if e == nil { + panic("bad index") + } + + case opcode.DUP: + v.estack.Push(v.estack.Dup(0)) + case opcode.OVER: a := v.estack.Dup(1) if a == nil { @@ -716,6 +700,28 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro } v.estack.Push(a) + case opcode.TUCK: + a := v.estack.Dup(0) + if a == nil { + panic("no top-level element found") + } + if v.estack.Len() < 2 { + panic("can't TUCK with a one-element stack") + } + v.estack.InsertAt(a, 2) + + case opcode.SWAP: + err := v.estack.Swap(1, 0) + if err != nil { + panic(err.Error()) + } + + case opcode.ROT: + err := v.estack.Roll(2) + if err != nil { + panic(err.Error()) + } + case opcode.ROLL: n := int(v.estack.Pop().BigInt().Int64()) err := v.estack.Roll(n) @@ -723,12 +729,6 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro panic(err.Error()) } - case opcode.DROP: - if v.estack.Len() < 1 { - panic("stack is too small") - } - v.estack.Pop() - // Bit operations. case opcode.INVERT: // inplace From c8a1188ee16520366db2f5bf7c350b12c39b0625 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 6 May 2020 11:32:22 +0300 Subject: [PATCH 3/5] vm: implement CLEAR opcode --- pkg/vm/opcode/opcode.go | 10 +-- pkg/vm/opcode/opcode_string.go | 152 +++++++++++++++++---------------- pkg/vm/vm.go | 3 + pkg/vm/vm_test.go | 9 ++ 4 files changed, 94 insertions(+), 80 deletions(-) diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index d30931f87..fb6edb75d 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -66,11 +66,11 @@ const ( CALLL Opcode = 0x35 // Stack - DEPTH Opcode = 0x43 - DROP Opcode = 0x45 - NIP Opcode = 0x46 - XDROP Opcode = 0x48 - // CLEAR Opcode = 0x49 + DEPTH Opcode = 0x43 + DROP Opcode = 0x45 + NIP Opcode = 0x46 + XDROP Opcode = 0x48 + CLEAR Opcode = 0x49 DUP Opcode = 0x4A OVER Opcode = 0x4B PICK Opcode = 0x4D diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index de00d7de3..ef59f0cd3 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -63,6 +63,7 @@ func _() { _ = x[DROP-69] _ = x[NIP-70] _ = x[XDROP-72] + _ = x[CLEAR-73] _ = x[DUP-74] _ = x[OVER-75] _ = x[PICK-77] @@ -140,7 +141,7 @@ func _() { _ = x[THROWIFNOT-241] } -const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPDUPOVERPICKTUCKSWAPOLDPUSH1ROLLRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" +const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" var _Opcode_map = map[Opcode]string{ 0: _Opcode_name[0:8], @@ -196,80 +197,81 @@ var _Opcode_map = map[Opcode]string{ 69: _Opcode_name[306:310], 70: _Opcode_name[310:313], 72: _Opcode_name[313:318], - 74: _Opcode_name[318:321], - 75: _Opcode_name[321:325], - 77: _Opcode_name[325:329], - 78: _Opcode_name[329:333], - 80: _Opcode_name[333:337], - 81: _Opcode_name[337:345], - 82: _Opcode_name[345:349], - 102: _Opcode_name[349:352], - 103: _Opcode_name[352:359], - 104: _Opcode_name[359:366], - 105: _Opcode_name[366:374], - 106: _Opcode_name[374:389], - 107: _Opcode_name[389:399], - 108: _Opcode_name[399:411], - 114: _Opcode_name[411:416], - 115: _Opcode_name[416:421], - 126: _Opcode_name[421:424], - 127: _Opcode_name[424:430], - 128: _Opcode_name[430:434], - 129: _Opcode_name[434:439], - 144: _Opcode_name[439:445], - 145: _Opcode_name[445:448], - 146: _Opcode_name[448:450], - 147: _Opcode_name[450:453], - 151: _Opcode_name[453:458], - 152: _Opcode_name[458:466], - 153: _Opcode_name[466:470], - 154: _Opcode_name[470:473], - 155: _Opcode_name[473:479], - 156: _Opcode_name[479:482], - 157: _Opcode_name[482:485], - 158: _Opcode_name[485:488], - 159: _Opcode_name[488:491], - 160: _Opcode_name[491:494], - 161: _Opcode_name[494:497], - 162: _Opcode_name[497:500], - 168: _Opcode_name[500:503], - 169: _Opcode_name[503:506], - 170: _Opcode_name[506:509], - 171: _Opcode_name[509:516], - 172: _Opcode_name[516:522], - 177: _Opcode_name[522:524], - 179: _Opcode_name[524:532], - 180: _Opcode_name[532:543], - 181: _Opcode_name[543:545], - 182: _Opcode_name[545:548], - 183: _Opcode_name[548:550], - 184: _Opcode_name[550:553], - 185: _Opcode_name[553:556], - 186: _Opcode_name[556:559], - 187: _Opcode_name[559:565], - 192: _Opcode_name[565:569], - 193: _Opcode_name[569:575], - 194: _Opcode_name[575:584], - 195: _Opcode_name[584:592], - 196: _Opcode_name[592:601], - 197: _Opcode_name[601:611], - 198: _Opcode_name[611:620], - 200: _Opcode_name[620:626], - 202: _Opcode_name[626:630], - 203: _Opcode_name[630:636], - 204: _Opcode_name[636:640], - 205: _Opcode_name[640:646], - 206: _Opcode_name[646:654], - 207: _Opcode_name[654:660], - 208: _Opcode_name[660:667], - 209: _Opcode_name[667:679], - 210: _Opcode_name[679:685], - 211: _Opcode_name[685:695], - 216: _Opcode_name[695:701], - 217: _Opcode_name[701:707], - 219: _Opcode_name[707:714], - 240: _Opcode_name[714:719], - 241: _Opcode_name[719:729], + 73: _Opcode_name[318:323], + 74: _Opcode_name[323:326], + 75: _Opcode_name[326:330], + 77: _Opcode_name[330:334], + 78: _Opcode_name[334:338], + 80: _Opcode_name[338:342], + 81: _Opcode_name[342:350], + 82: _Opcode_name[350:354], + 102: _Opcode_name[354:357], + 103: _Opcode_name[357:364], + 104: _Opcode_name[364:371], + 105: _Opcode_name[371:379], + 106: _Opcode_name[379:394], + 107: _Opcode_name[394:404], + 108: _Opcode_name[404:416], + 114: _Opcode_name[416:421], + 115: _Opcode_name[421:426], + 126: _Opcode_name[426:429], + 127: _Opcode_name[429:435], + 128: _Opcode_name[435:439], + 129: _Opcode_name[439:444], + 144: _Opcode_name[444:450], + 145: _Opcode_name[450:453], + 146: _Opcode_name[453:455], + 147: _Opcode_name[455:458], + 151: _Opcode_name[458:463], + 152: _Opcode_name[463:471], + 153: _Opcode_name[471:475], + 154: _Opcode_name[475:478], + 155: _Opcode_name[478:484], + 156: _Opcode_name[484:487], + 157: _Opcode_name[487:490], + 158: _Opcode_name[490:493], + 159: _Opcode_name[493:496], + 160: _Opcode_name[496:499], + 161: _Opcode_name[499:502], + 162: _Opcode_name[502:505], + 168: _Opcode_name[505:508], + 169: _Opcode_name[508:511], + 170: _Opcode_name[511:514], + 171: _Opcode_name[514:521], + 172: _Opcode_name[521:527], + 177: _Opcode_name[527:529], + 179: _Opcode_name[529:537], + 180: _Opcode_name[537:548], + 181: _Opcode_name[548:550], + 182: _Opcode_name[550:553], + 183: _Opcode_name[553:555], + 184: _Opcode_name[555:558], + 185: _Opcode_name[558:561], + 186: _Opcode_name[561:564], + 187: _Opcode_name[564:570], + 192: _Opcode_name[570:574], + 193: _Opcode_name[574:580], + 194: _Opcode_name[580:589], + 195: _Opcode_name[589:597], + 196: _Opcode_name[597:606], + 197: _Opcode_name[606:616], + 198: _Opcode_name[616:625], + 200: _Opcode_name[625:631], + 202: _Opcode_name[631:635], + 203: _Opcode_name[635:641], + 204: _Opcode_name[641:645], + 205: _Opcode_name[645:651], + 206: _Opcode_name[651:659], + 207: _Opcode_name[659:665], + 208: _Opcode_name[665:672], + 209: _Opcode_name[672:684], + 210: _Opcode_name[684:690], + 211: _Opcode_name[690:700], + 216: _Opcode_name[700:706], + 217: _Opcode_name[706:712], + 219: _Opcode_name[712:719], + 240: _Opcode_name[719:724], + 241: _Opcode_name[724:734], } func (i Opcode) String() string { diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 4d648da2f..b01ebb000 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -679,6 +679,9 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro panic("bad index") } + case opcode.CLEAR: + v.estack.Clear() + case opcode.DUP: v.estack.Push(v.estack.Dup(0)) diff --git a/pkg/vm/vm_test.go b/pkg/vm/vm_test.go index d498386d6..aeccd1117 100644 --- a/pkg/vm/vm_test.go +++ b/pkg/vm/vm_test.go @@ -1700,6 +1700,15 @@ func TestXDROPgood(t *testing.T) { assert.Equal(t, int64(1), vm.estack.Peek(1).BigInt().Int64()) } +func TestCLEAR(t *testing.T) { + prog := makeProgram(opcode.CLEAR) + v := load(prog) + v.estack.PushVal(123) + require.Equal(t, 1, v.estack.Len()) + require.NoError(t, v.Run()) + require.Equal(t, 0, v.estack.Len()) +} + func TestINVERTbadNoitem(t *testing.T) { prog := makeProgram(opcode.INVERT) runWithArgs(t, prog, nil) From d18199ce421a0094b7747a4f04ee8c7aea0ad32c Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 6 May 2020 12:12:29 +0300 Subject: [PATCH 4/5] vm: implement REVERSE* opcodes Use new opcodes in the compiler instead of XSWAP/ROLL. --- pkg/compiler/codegen.go | 11 ++- pkg/vm/opcode/opcode.go | 6 +- pkg/vm/opcode/opcode_string.go | 142 +++++++++++++++++---------------- pkg/vm/stack.go | 22 +++++ pkg/vm/vm.go | 12 +++ pkg/vm/vm_test.go | 49 +++++++++++- 6 files changed, 161 insertions(+), 81 deletions(-) diff --git a/pkg/compiler/codegen.go b/pkg/compiler/codegen.go index d91cdf759..696e96914 100644 --- a/pkg/compiler/codegen.go +++ b/pkg/compiler/codegen.go @@ -940,13 +940,12 @@ func (c *codegen) emitReverse(num int) { case 2: emit.Opcode(c.prog.BinWriter, opcode.SWAP) case 3: - emit.Int(c.prog.BinWriter, 2) - emit.Opcode(c.prog.BinWriter, opcode.XSWAP) + emit.Opcode(c.prog.BinWriter, opcode.REVERSE3) + case 4: + emit.Opcode(c.prog.BinWriter, opcode.REVERSE4) default: - for i := 1; i < num; i++ { - emit.Int(c.prog.BinWriter, int64(i)) - emit.Opcode(c.prog.BinWriter, opcode.ROLL) - } + emit.Int(c.prog.BinWriter, int64(num)) + emit.Opcode(c.prog.BinWriter, opcode.REVERSEN) } } diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index fb6edb75d..10a4a2421 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -79,9 +79,9 @@ const ( OLDPUSH1 Opcode = 0x51 // FIXME remove #927 ROT Opcode = 0x51 ROLL Opcode = 0x52 - // REVERSE3 Opcode = 0x53 - // REVERSE4 Opcode = 0x54 - // REVERSEN Opcode = 0x55 + REVERSE3 Opcode = 0x53 + REVERSE4 Opcode = 0x54 + REVERSEN Opcode = 0x55 RET Opcode = 0x66 APPCALL Opcode = 0x67 diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index ef59f0cd3..5373d63c5 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -72,6 +72,9 @@ func _() { _ = x[OLDPUSH1-81] _ = x[ROT-81] _ = x[ROLL-82] + _ = x[REVERSE3-83] + _ = x[REVERSE4-84] + _ = x[REVERSEN-85] _ = x[RET-102] _ = x[APPCALL-103] _ = x[SYSCALL-104] @@ -141,7 +144,7 @@ func _() { _ = x[THROWIFNOT-241] } -const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" +const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLREVERSE3REVERSE4REVERSENRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" var _Opcode_map = map[Opcode]string{ 0: _Opcode_name[0:8], @@ -205,73 +208,76 @@ var _Opcode_map = map[Opcode]string{ 80: _Opcode_name[338:342], 81: _Opcode_name[342:350], 82: _Opcode_name[350:354], - 102: _Opcode_name[354:357], - 103: _Opcode_name[357:364], - 104: _Opcode_name[364:371], - 105: _Opcode_name[371:379], - 106: _Opcode_name[379:394], - 107: _Opcode_name[394:404], - 108: _Opcode_name[404:416], - 114: _Opcode_name[416:421], - 115: _Opcode_name[421:426], - 126: _Opcode_name[426:429], - 127: _Opcode_name[429:435], - 128: _Opcode_name[435:439], - 129: _Opcode_name[439:444], - 144: _Opcode_name[444:450], - 145: _Opcode_name[450:453], - 146: _Opcode_name[453:455], - 147: _Opcode_name[455:458], - 151: _Opcode_name[458:463], - 152: _Opcode_name[463:471], - 153: _Opcode_name[471:475], - 154: _Opcode_name[475:478], - 155: _Opcode_name[478:484], - 156: _Opcode_name[484:487], - 157: _Opcode_name[487:490], - 158: _Opcode_name[490:493], - 159: _Opcode_name[493:496], - 160: _Opcode_name[496:499], - 161: _Opcode_name[499:502], - 162: _Opcode_name[502:505], - 168: _Opcode_name[505:508], - 169: _Opcode_name[508:511], - 170: _Opcode_name[511:514], - 171: _Opcode_name[514:521], - 172: _Opcode_name[521:527], - 177: _Opcode_name[527:529], - 179: _Opcode_name[529:537], - 180: _Opcode_name[537:548], - 181: _Opcode_name[548:550], - 182: _Opcode_name[550:553], - 183: _Opcode_name[553:555], - 184: _Opcode_name[555:558], - 185: _Opcode_name[558:561], - 186: _Opcode_name[561:564], - 187: _Opcode_name[564:570], - 192: _Opcode_name[570:574], - 193: _Opcode_name[574:580], - 194: _Opcode_name[580:589], - 195: _Opcode_name[589:597], - 196: _Opcode_name[597:606], - 197: _Opcode_name[606:616], - 198: _Opcode_name[616:625], - 200: _Opcode_name[625:631], - 202: _Opcode_name[631:635], - 203: _Opcode_name[635:641], - 204: _Opcode_name[641:645], - 205: _Opcode_name[645:651], - 206: _Opcode_name[651:659], - 207: _Opcode_name[659:665], - 208: _Opcode_name[665:672], - 209: _Opcode_name[672:684], - 210: _Opcode_name[684:690], - 211: _Opcode_name[690:700], - 216: _Opcode_name[700:706], - 217: _Opcode_name[706:712], - 219: _Opcode_name[712:719], - 240: _Opcode_name[719:724], - 241: _Opcode_name[724:734], + 83: _Opcode_name[354:362], + 84: _Opcode_name[362:370], + 85: _Opcode_name[370:378], + 102: _Opcode_name[378:381], + 103: _Opcode_name[381:388], + 104: _Opcode_name[388:395], + 105: _Opcode_name[395:403], + 106: _Opcode_name[403:418], + 107: _Opcode_name[418:428], + 108: _Opcode_name[428:440], + 114: _Opcode_name[440:445], + 115: _Opcode_name[445:450], + 126: _Opcode_name[450:453], + 127: _Opcode_name[453:459], + 128: _Opcode_name[459:463], + 129: _Opcode_name[463:468], + 144: _Opcode_name[468:474], + 145: _Opcode_name[474:477], + 146: _Opcode_name[477:479], + 147: _Opcode_name[479:482], + 151: _Opcode_name[482:487], + 152: _Opcode_name[487:495], + 153: _Opcode_name[495:499], + 154: _Opcode_name[499:502], + 155: _Opcode_name[502:508], + 156: _Opcode_name[508:511], + 157: _Opcode_name[511:514], + 158: _Opcode_name[514:517], + 159: _Opcode_name[517:520], + 160: _Opcode_name[520:523], + 161: _Opcode_name[523:526], + 162: _Opcode_name[526:529], + 168: _Opcode_name[529:532], + 169: _Opcode_name[532:535], + 170: _Opcode_name[535:538], + 171: _Opcode_name[538:545], + 172: _Opcode_name[545:551], + 177: _Opcode_name[551:553], + 179: _Opcode_name[553:561], + 180: _Opcode_name[561:572], + 181: _Opcode_name[572:574], + 182: _Opcode_name[574:577], + 183: _Opcode_name[577:579], + 184: _Opcode_name[579:582], + 185: _Opcode_name[582:585], + 186: _Opcode_name[585:588], + 187: _Opcode_name[588:594], + 192: _Opcode_name[594:598], + 193: _Opcode_name[598:604], + 194: _Opcode_name[604:613], + 195: _Opcode_name[613:621], + 196: _Opcode_name[621:630], + 197: _Opcode_name[630:640], + 198: _Opcode_name[640:649], + 200: _Opcode_name[649:655], + 202: _Opcode_name[655:659], + 203: _Opcode_name[659:665], + 204: _Opcode_name[665:669], + 205: _Opcode_name[669:675], + 206: _Opcode_name[675:683], + 207: _Opcode_name[683:689], + 208: _Opcode_name[689:696], + 209: _Opcode_name[696:708], + 210: _Opcode_name[708:714], + 211: _Opcode_name[714:724], + 216: _Opcode_name[724:730], + 217: _Opcode_name[730:736], + 219: _Opcode_name[736:743], + 240: _Opcode_name[743:748], + 241: _Opcode_name[748:758], } func (i Opcode) String() string { diff --git a/pkg/vm/stack.go b/pkg/vm/stack.go index fd779e941..e65bcada2 100644 --- a/pkg/vm/stack.go +++ b/pkg/vm/stack.go @@ -353,9 +353,31 @@ func (s *Stack) Swap(n1, n2 int) error { if n1 == n2 { return nil } + s.swap(n1, n2) + return nil +} + +func (s *Stack) swap(n1, n2 int) { a := s.Peek(n1) b := s.Peek(n2) a.value, b.value = b.value, a.value +} + +// ReverseTop reverses top n items of the stack. +func (s *Stack) ReverseTop(n int) error { + if n < 0 { + return errors.New("negative index") + } else if n > s.len { + return errors.New("too big index") + } else if n <= 1 { + return nil + } + + for i, j := 0, n-1; i < j; { + s.swap(i, j) + i++ + j-- + } return nil } diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index b01ebb000..83d3db976 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -732,6 +732,18 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro panic(err.Error()) } + case opcode.REVERSE3, opcode.REVERSE4, opcode.REVERSEN: + n := 3 + switch op { + case opcode.REVERSE4: + n = 4 + case opcode.REVERSEN: + n = int(v.estack.Pop().BigInt().Int64()) + } + if err := v.estack.ReverseTop(n); err != nil { + panic(err.Error()) + } + // Bit operations. case opcode.INVERT: // inplace diff --git a/pkg/vm/vm_test.go b/pkg/vm/vm_test.go index aeccd1117..cfe91c212 100644 --- a/pkg/vm/vm_test.go +++ b/pkg/vm/vm_test.go @@ -1049,22 +1049,32 @@ func runWithArgs(t *testing.T, prog []byte, result interface{}, args ...interfac getTestFuncForVM(prog, result, args...)(t) } -func getTestFuncForVM(prog []byte, result interface{}, args ...interface{}) func(t *testing.T) { +func getCustomTestFuncForVM(prog []byte, check func(t *testing.T, v *VM), args ...interface{}) func(t *testing.T) { return func(t *testing.T) { v := load(prog) for i := range args { v.estack.PushVal(args[i]) } - if result == nil { + if check == nil { checkVMFailed(t, v) return } runVM(t, v) - require.Equal(t, 1, v.estack.Len()) - require.Equal(t, makeStackItem(result), v.estack.Pop().value) + check(t, v) } } +func getTestFuncForVM(prog []byte, result interface{}, args ...interface{}) func(t *testing.T) { + var f func(t *testing.T, v *VM) + if result != nil { + f = func(t *testing.T, v *VM) { + require.Equal(t, 1, v.estack.Len()) + require.Equal(t, makeStackItem(result), v.estack.Pop().value) + } + } + return getCustomTestFuncForVM(prog, f, args...) +} + func TestNOTEQUALByteArray(t *testing.T) { prog := makeProgram(opcode.NOTEQUAL) t.Run("True", getTestFuncForVM(prog, true, []byte{1, 2}, []byte{0, 1, 2})) @@ -1568,6 +1578,37 @@ func TestROLLGood(t *testing.T) { assert.Equal(t, makeStackItem(1), vm.estack.Pop().value) } +func getCheckEStackFunc(items ...interface{}) func(t *testing.T, v *VM) { + return func(t *testing.T, v *VM) { + require.Equal(t, len(items), v.estack.Len()) + for i := 0; i < len(items); i++ { + assert.Equal(t, makeStackItem(items[i]), v.estack.Peek(i).Item()) + } + } +} + +func TestREVERSE3(t *testing.T) { + prog := makeProgram(opcode.REVERSE3) + t.Run("SmallStack", getTestFuncForVM(prog, nil, 1, 2)) + t.Run("Good", getCustomTestFuncForVM(prog, getCheckEStackFunc(1, 2, 3), 1, 2, 3)) +} + +func TestREVERSE4(t *testing.T) { + prog := makeProgram(opcode.REVERSE4) + t.Run("SmallStack", getTestFuncForVM(prog, nil, 1, 2, 3)) + t.Run("Good", getCustomTestFuncForVM(prog, getCheckEStackFunc(1, 2, 3, 4), 1, 2, 3, 4)) +} + +func TestREVERSEN(t *testing.T) { + prog := makeProgram(opcode.REVERSEN) + t.Run("NoArgument", getTestFuncForVM(prog, nil)) + t.Run("SmallStack", getTestFuncForVM(prog, nil, 1, 2, 3)) + t.Run("NegativeArgument", getTestFuncForVM(prog, nil, 1, 2, -1)) + t.Run("Zero", getCustomTestFuncForVM(prog, getCheckEStackFunc(3, 2, 1), 1, 2, 3, 0)) + t.Run("OneItem", getCustomTestFuncForVM(prog, getCheckEStackFunc(42), 42, 1)) + t.Run("Good", getCustomTestFuncForVM(prog, getCheckEStackFunc(1, 2, 3, 4, 5), 1, 2, 3, 4, 5, 5)) +} + func TestXTUCK(t *testing.T) { prog := makeProgram(opcode.XTUCK) t.Run("NoItem", getTestFuncForVM(prog, nil, 1)) From dd203206154adad45139c5ae6b1014dc4fd577c2 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 6 May 2020 12:16:10 +0300 Subject: [PATCH 5/5] vm: remove XSWAP/XTUCK opcodes Regenerate RPC testchain as these were used in compiler. --- pkg/rpc/server/server_test.go | 6 +- pkg/rpc/server/testdata/test_contract.avm | Bin 851 -> 855 bytes pkg/rpc/server/testdata/testblocks.acc | Bin 113865 -> 113869 bytes pkg/vm/opcode/opcode.go | 2 - pkg/vm/opcode/opcode_string.go | 122 +++++++++++----------- pkg/vm/vm.go | 21 ---- pkg/vm/vm_test.go | 53 ---------- 7 files changed, 62 insertions(+), 142 deletions(-) diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index e00ead788..3ab8a1be8 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -47,18 +47,18 @@ type rpcTestCase struct { check func(t *testing.T, e *executor, result interface{}) } -const testContractHash = "5d49c5a1127c23ad64a2ede6259b8ca61cc9f2fb" +const testContractHash = "76751a2fdde4dc6c7489799a28bb539bc09d1f54" var rpcTestCases = map[string][]rpcTestCase{ "getapplicationlog": { { name: "positive", - params: `["3f056daab3c7824a6bf2cc863b5d4a0089bb3561316d65bf5e344278c0311901"]`, + params: `["113437bd8dfc44e3a6dfe77b750fcff246cbe933ca9667311f45d794cf0410cc"]`, result: func(e *executor) interface{} { return &result.ApplicationLog{} }, check: func(t *testing.T, e *executor, acc interface{}) { res, ok := acc.(*result.ApplicationLog) require.True(t, ok) - expectedTxHash, err := util.Uint256DecodeStringLE("3f056daab3c7824a6bf2cc863b5d4a0089bb3561316d65bf5e344278c0311901") + expectedTxHash, err := util.Uint256DecodeStringLE("113437bd8dfc44e3a6dfe77b750fcff246cbe933ca9667311f45d794cf0410cc") require.NoError(t, err) assert.Equal(t, expectedTxHash, res.TxHash) assert.Equal(t, 1, len(res.Executions)) diff --git a/pkg/rpc/server/testdata/test_contract.avm b/pkg/rpc/server/testdata/test_contract.avm index 3dd2f768b1927ad8405ae9440e0f57b3157656d6..092a7f0a2f985d98b35b6439faa27967b10acbdc 100755 GIT binary patch delta 459 zcmcc2cAag4qJ6ONfecpmNn(mw0_VJVm;*{nrmO2SFfa&&X0%9L<5kQO3cQddbS_Kq zoB)UrJQti1w9xUZqN`wzYnt+pi3y4_*O(X>ym&ZLQj;@t6LX5EtMdc(y9$BicTb!v z%{YJJP8o?Nup-W+#GJ&uFTv$TPD7i7FPwbc=$8($`W%jQxpd` zOEcFQ}f0fErTg^bdSI+J@DrI~;_S1`)SXn{-> zftjjalCO?r^aDm2F%^&kKA3{U-2BqK5};lICN(Jykd#nnUU6w!T4r))YF>##T4`Pi z$WeYwij2XN3z@Wm|{FQq7ENd{hE qa&Y2j$P$5suH-qO@1P;e!vXUf4?`AM0?i6#kmCfQ?w)MRECv9Km57}H delta 429 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%0AbMMCAP<-+aR%o$vsdFW|DNnF~(3$ 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 literal 113865 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%0D#$%)85<-wBDX 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�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 Yr=IUsr8agUP{GX7MyRBQ|2_Nv51e$lGynhq diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index 10a4a2421..bbe71772f 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -92,8 +92,6 @@ const ( DUPFROMALTSTACK Opcode = 0x6A TOALTSTACK Opcode = 0x6B FROMALTSTACK Opcode = 0x6C - XSWAP Opcode = 0x72 - XTUCK Opcode = 0x73 // Splice CAT Opcode = 0x7E diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index 5373d63c5..9a8e2b655 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -82,8 +82,6 @@ func _() { _ = x[DUPFROMALTSTACK-106] _ = x[TOALTSTACK-107] _ = x[FROMALTSTACK-108] - _ = x[XSWAP-114] - _ = x[XTUCK-115] _ = x[CAT-126] _ = x[SUBSTR-127] _ = x[LEFT-128] @@ -144,7 +142,7 @@ func _() { _ = x[THROWIFNOT-241] } -const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLREVERSE3REVERSE4REVERSENRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKXSWAPXTUCKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" +const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLREVERSE3REVERSE4REVERSENRETAPPCALLSYSCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERTTHROWTHROWIFNOT" var _Opcode_map = map[Opcode]string{ 0: _Opcode_name[0:8], @@ -218,66 +216,64 @@ var _Opcode_map = map[Opcode]string{ 106: _Opcode_name[403:418], 107: _Opcode_name[418:428], 108: _Opcode_name[428:440], - 114: _Opcode_name[440:445], - 115: _Opcode_name[445:450], - 126: _Opcode_name[450:453], - 127: _Opcode_name[453:459], - 128: _Opcode_name[459:463], - 129: _Opcode_name[463:468], - 144: _Opcode_name[468:474], - 145: _Opcode_name[474:477], - 146: _Opcode_name[477:479], - 147: _Opcode_name[479:482], - 151: _Opcode_name[482:487], - 152: _Opcode_name[487:495], - 153: _Opcode_name[495:499], - 154: _Opcode_name[499:502], - 155: _Opcode_name[502:508], - 156: _Opcode_name[508:511], - 157: _Opcode_name[511:514], - 158: _Opcode_name[514:517], - 159: _Opcode_name[517:520], - 160: _Opcode_name[520:523], - 161: _Opcode_name[523:526], - 162: _Opcode_name[526:529], - 168: _Opcode_name[529:532], - 169: _Opcode_name[532:535], - 170: _Opcode_name[535:538], - 171: _Opcode_name[538:545], - 172: _Opcode_name[545:551], - 177: _Opcode_name[551:553], - 179: _Opcode_name[553:561], - 180: _Opcode_name[561:572], - 181: _Opcode_name[572:574], - 182: _Opcode_name[574:577], - 183: _Opcode_name[577:579], - 184: _Opcode_name[579:582], - 185: _Opcode_name[582:585], - 186: _Opcode_name[585:588], - 187: _Opcode_name[588:594], - 192: _Opcode_name[594:598], - 193: _Opcode_name[598:604], - 194: _Opcode_name[604:613], - 195: _Opcode_name[613:621], - 196: _Opcode_name[621:630], - 197: _Opcode_name[630:640], - 198: _Opcode_name[640:649], - 200: _Opcode_name[649:655], - 202: _Opcode_name[655:659], - 203: _Opcode_name[659:665], - 204: _Opcode_name[665:669], - 205: _Opcode_name[669:675], - 206: _Opcode_name[675:683], - 207: _Opcode_name[683:689], - 208: _Opcode_name[689:696], - 209: _Opcode_name[696:708], - 210: _Opcode_name[708:714], - 211: _Opcode_name[714:724], - 216: _Opcode_name[724:730], - 217: _Opcode_name[730:736], - 219: _Opcode_name[736:743], - 240: _Opcode_name[743:748], - 241: _Opcode_name[748:758], + 126: _Opcode_name[440:443], + 127: _Opcode_name[443:449], + 128: _Opcode_name[449:453], + 129: _Opcode_name[453:458], + 144: _Opcode_name[458:464], + 145: _Opcode_name[464:467], + 146: _Opcode_name[467:469], + 147: _Opcode_name[469:472], + 151: _Opcode_name[472:477], + 152: _Opcode_name[477:485], + 153: _Opcode_name[485:489], + 154: _Opcode_name[489:492], + 155: _Opcode_name[492:498], + 156: _Opcode_name[498:501], + 157: _Opcode_name[501:504], + 158: _Opcode_name[504:507], + 159: _Opcode_name[507:510], + 160: _Opcode_name[510:513], + 161: _Opcode_name[513:516], + 162: _Opcode_name[516:519], + 168: _Opcode_name[519:522], + 169: _Opcode_name[522:525], + 170: _Opcode_name[525:528], + 171: _Opcode_name[528:535], + 172: _Opcode_name[535:541], + 177: _Opcode_name[541:543], + 179: _Opcode_name[543:551], + 180: _Opcode_name[551:562], + 181: _Opcode_name[562:564], + 182: _Opcode_name[564:567], + 183: _Opcode_name[567:569], + 184: _Opcode_name[569:572], + 185: _Opcode_name[572:575], + 186: _Opcode_name[575:578], + 187: _Opcode_name[578:584], + 192: _Opcode_name[584:588], + 193: _Opcode_name[588:594], + 194: _Opcode_name[594:603], + 195: _Opcode_name[603:611], + 196: _Opcode_name[611:620], + 197: _Opcode_name[620:630], + 198: _Opcode_name[630:639], + 200: _Opcode_name[639:645], + 202: _Opcode_name[645:649], + 203: _Opcode_name[649:655], + 204: _Opcode_name[655:659], + 205: _Opcode_name[659:665], + 206: _Opcode_name[665:673], + 207: _Opcode_name[673:679], + 208: _Opcode_name[679:686], + 209: _Opcode_name[686:698], + 210: _Opcode_name[698:704], + 211: _Opcode_name[704:714], + 216: _Opcode_name[714:720], + 217: _Opcode_name[720:726], + 219: _Opcode_name[726:733], + 240: _Opcode_name[733:738], + 241: _Opcode_name[738:748], } func (i Opcode) String() string { diff --git a/pkg/vm/vm.go b/pkg/vm/vm.go index 83d3db976..c3f79f35e 100644 --- a/pkg/vm/vm.go +++ b/pkg/vm/vm.go @@ -633,27 +633,6 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro s := v.estack.Pop().Bytes() v.estack.PushVal(s[len(s)-l:]) - case opcode.XSWAP: - n := int(v.estack.Pop().BigInt().Int64()) - err := v.estack.Swap(n, 0) - if err != nil { - panic(err.Error()) - } - - case opcode.XTUCK: - n := int(v.estack.Pop().BigInt().Int64()) - if n <= 0 { - panic("XTUCK: invalid length") - } - a := v.estack.Dup(0) - if a == nil { - panic("no top-level element found") - } - if n > v.estack.Len() { - panic("can't push to the position specified") - } - v.estack.InsertAt(a, n) - case opcode.DEPTH: v.estack.PushVal(v.estack.Len()) diff --git a/pkg/vm/vm_test.go b/pkg/vm/vm_test.go index cfe91c212..f67a760f3 100644 --- a/pkg/vm/vm_test.go +++ b/pkg/vm/vm_test.go @@ -1609,31 +1609,6 @@ func TestREVERSEN(t *testing.T) { t.Run("Good", getCustomTestFuncForVM(prog, getCheckEStackFunc(1, 2, 3, 4, 5), 1, 2, 3, 4, 5, 5)) } -func TestXTUCK(t *testing.T) { - prog := makeProgram(opcode.XTUCK) - t.Run("NoItem", getTestFuncForVM(prog, nil, 1)) - t.Run("NoN", getTestFuncForVM(prog, nil, 1, 2)) - t.Run("Negative", getTestFuncForVM(prog, nil, -1)) - t.Run("Zero", getTestFuncForVM(prog, nil, 1, 0)) -} - -func TestXTUCKgood(t *testing.T) { - prog := makeProgram(opcode.XTUCK) - topelement := 5 - xtuckdepth := 3 - vm := load(prog) - vm.estack.PushVal(0) - vm.estack.PushVal(1) - vm.estack.PushVal(2) - vm.estack.PushVal(3) - vm.estack.PushVal(4) - vm.estack.PushVal(topelement) - vm.estack.PushVal(xtuckdepth) - runVM(t, vm) - assert.Equal(t, int64(topelement), vm.estack.Peek(0).BigInt().Int64()) - assert.Equal(t, int64(topelement), vm.estack.Peek(xtuckdepth).BigInt().Int64()) -} - func TestTUCKbadNoitems(t *testing.T) { prog := makeProgram(opcode.TUCK) t.Run("NoArgument", getTestFuncForVM(prog, nil)) @@ -2095,34 +2070,6 @@ func TestSWAP(t *testing.T) { t.Run("SmallStack", getTestFuncForVM(prog, nil, 4)) } -func TestXSWAPGood(t *testing.T) { - prog := makeProgram(opcode.XSWAP) - vm := load(prog) - vm.estack.PushVal(1) - vm.estack.PushVal(2) - vm.estack.PushVal(3) - vm.estack.PushVal(4) - vm.estack.PushVal(5) - vm.estack.PushVal(3) - runVM(t, vm) - assert.Equal(t, 5, vm.estack.Len()) - assert.Equal(t, int64(2), vm.estack.Pop().BigInt().Int64()) - assert.Equal(t, int64(4), vm.estack.Pop().BigInt().Int64()) - assert.Equal(t, int64(3), vm.estack.Pop().BigInt().Int64()) - assert.Equal(t, int64(5), vm.estack.Pop().BigInt().Int64()) - assert.Equal(t, int64(1), vm.estack.Pop().BigInt().Int64()) -} - -func TestXSWAPBad1(t *testing.T) { - prog := makeProgram(opcode.XSWAP) - runWithArgs(t, prog, nil, 1, 2, -1) -} - -func TestXSWAPBad2(t *testing.T) { - prog := makeProgram(opcode.XSWAP) - runWithArgs(t, prog, nil, 1, 2, 3, 4, 4) -} - func TestDupInt(t *testing.T) { prog := makeProgram(opcode.DUP, opcode.ABS) vm := load(prog)