From 35b30ccfdf1cfb79b6eea6b73da40de337228362 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 5 Jun 2020 13:04:20 +0300 Subject: [PATCH] core: drop OLDPUSH1, it's no longer needed Fixes #927. --- pkg/core/util.go | 2 +- pkg/rpc/server/testdata/testblocks.acc | Bin 6540 -> 6540 bytes pkg/vm/context.go | 6 ------ pkg/vm/json_test.go | 4 ---- pkg/vm/opcode/opcode.go | 3 +-- pkg/vm/opcode/opcode_string.go | 3 +-- 6 files changed, 3 insertions(+), 15 deletions(-) diff --git a/pkg/core/util.go b/pkg/core/util.go index 5a963c80c..8600d4b41 100644 --- a/pkg/core/util.go +++ b/pkg/core/util.go @@ -51,7 +51,7 @@ func createGenesisBlock(cfg config.ProtocolConfiguration) (*block.Block, error) NextConsensus: nextConsensus, Script: transaction.Witness{ InvocationScript: []byte{}, - VerificationScript: []byte{byte(opcode.OLDPUSH1)}, + VerificationScript: []byte{byte(opcode.PUSH1)}, }, } diff --git a/pkg/rpc/server/testdata/testblocks.acc b/pkg/rpc/server/testdata/testblocks.acc index eaba989ac469b157d5dd7f1f02e58a7e6c4df32f..fdea207f7c4d0158cbb6a1faca840efe8d391bd5 100644 GIT binary patch delta 1905 zcmV-%2afoRGmJBkOaoUK+L2Eqe>pv5mHLb^07EnSZE9c5u4S>99Q(Ti_ilJcP<69U z7nOQxCM$`&Q3~!BZM2TL4T%5hxdCCZrPZ@A6}6Cdk_}j7a+wT3Bi?Sxv#+DP+{bB!!vBJATonxc3EsOoi@RE#oXC&WZrfq44{9T< z5=o9~{mTn(z<3B}UBJej2xjd4c-XV+s*~Xtm9q^3ngk%v6by(j;M-G&ma=*NCUP+B zINf!@!Y4p>V-bM1Nz*<*}axiDcm}!d>8Om zgX;LvJrTmo)JMZOzE(HCdVWR1ZH&5D10rTnLhp({l#PK$4RIlxu3G-Eb6MwZ0iVJNZhjAEj^YeX^NM8~))92Gaw~tL|b6Xs7%}!Z{5o z#UTJ~e+)7tG*jj0FmKhe#0)@p(gwb2jX>>`(TBI7GNcfpF&SkC)BtZ_ZfW$b3z=4{ zM!JUcl*d`p9xIzzo+}c~jLK6VHf8V8%6h3noO_ow@60goT%P%Nc^>RZ|=5&XXh2(6$hNqp6xz z3ky|!$PN6@sL6tUe{*-c3_zcc=^~WVXcah|a`l_)#K~*KN=zr<=15DavcUOI&07j# zo0Dody)NXzZKu^H6B%E9tT_Nbj)@}P^GZ96zn~02-*qbis{XB&6{+>`uQ;NJUK#vvT=^TSlFl8;xVmn2eJjl9R` zdfAJ>hi1tVr~LcWhYUa=e5>L9q$~vQ+8}K;8kS|H)zf6)?S^|1tf{qDM4-^Q)L-jzb#1bS%*@m>&s6pXK5NG0 zWHFrJpnITkq5p!WPGSqNO>y&-3x!#)m3f$pt;rMe0%3_Xu&7HG6&gI@=vpds2pi>O zPO<}5HIv~Np|gGw69FJ+#;4AK*;icVf!`%l-a^#ZQlE46*|3}AqVN{WDRqUDu@WE& zTNv72000001(Waw9e?(t?*yb!P5p3dqR$M5x?Z0HThPjUq%7Jo`Z+PZ`*@42(?r=( zQQatQ*LuRO6pX&9)WHf0?g(@BB{#^(Pn!%t#i?p`Il#42g3E_yR$JpkC>O3jTU1;E zZb&c)M-2x|azylNPnD);q0k;xi`|Z3?Qn7ZQ08@3HV>5ndVdRV6%0UU6%)R<3*l@e z{p`R{i+_7y&qfJA?I*1JHG;Cf>hX{aA@3(r z_U`JU*JmgiB+bnyla&@A30xT3UH||900xur1|5HT7oS;9V}`|bX9t4|x2&n$`SRf5 zJMJ3s=PSPuFncCVT9L2qPG^&N?)WI_T@ zgj|1~;@b>Bwy}##5@9KEC4%(&Fi^NDjG*H1qJe|}tWdcqqd|M?sd;UX_Rh$^cKW0I zy&lZKK3UzJVuzG=X%Fy>BfNb23_zUGNzC}XLPy+X_WSS62OOUWK16d|NQj;TNj`v3aF6 delta 1905 zcmV-%2afoRGmJBkOange*pW{oe^^?|tL1?YYDz-8MA=43NQbo9C~Tw5zG81A4PXcl z%(ep8#OX^hI@JZLi!vr)lxmfAF8u3_t=R z)_9Vy47OGuuTcj9KM~SIGOhstxiL4H$^Bf7u*!|8UNKM)+UkM}2C2P*D?+&Dw}3H% zVV|9&wm>dOy(J7l))W-jH)7gR&8vW5pN^! zJPSBF;ip#1IxccaHqt0C2>$ej^OS1mVw2$)m9q^3ngk#uG*ux7yaUQ%$IUW3BZ`Gm z9+3mx6EO@{75nJR&cpYU#|9t+KkwL+>INf!A+|aKmb=prlyE0Q@Wqxxxi>wOsAQC0 zh2gm(1oPYZZbmUFUkZ z(wX>4#od_t?5_h8&N6&>aw6kI@^YV6NP8f-39zfwMV>ItGaJ+Uudhj4nSo=Hx)-&7 zI+H65K$!O7J-}D*60S|mqI&?LMNTIHncUOVR7Let#BGcFZgF&zbt_W+!jtKh4J6Q(ak_F zD-1yF@Ri~m?|~z_gYEVs=n_&z0q8zkb-Y7T_83`I4^4EIVr;!G&K7-74+GpF2r>7;IuYetDwE+Cp_7yj z-5>*Hm%JAJJ*#7ET>t)2r+mpztU zqG!Jx_&9dWs^Nw7VhljmX7O4vcVz5lb`jXrCd?)@^Bh$AxS--%bF64WeqLAVz z-r4uDW4WA#B5Qg#SzujZD^O#is?^Sze^vOE3_vDV^`ARf3{tEes-SU$I+jO012VLP z6FBHlt7)au!qDcd!X<-g>@JT3AHjm~C)#k*=m8r>iT1cK`&C7bwv7xx_d^C%M$v)+ zb4Z}G!s@E#{y$7#TgWHmHb(R=B`5k%2qc49 z9d{Es!js__p|gGw69FK3asG;Aay+QpNRvLD$}_^UuV2n0pnGpJk4sYznw5`}u@WE& zLhsmK000001(Waw9e;RyZk=a5tnD!Z%V(#s%#Tq0Xst}JV}-uprDDf z?RG6A{RPJWrgDpFjOI?v>78Nj4QpO~&bJIeX<`>0PDBI?kXsQtSwhm;@qzE9PEgzq zvSYw>)@BnG{S`lCvJ=amwUf(i^*h|ePv~DzpmZVKl?P9@4}X*&rwl;n@r%4BLx?HE zA(k-QLL$hg(mglea(4ba(*X}`hINyMslzPnTqla&@A2}AGLUH||900xur1|5HF`B6m>WyCQ~Hn&lT(_Xbxz(IqV zSxfI;T+29Y2~(dTEYsJ{S(5**YnPSdIU>KzeGcSm0ulq&LqNt(L&HN1K#fjQp+O4> zpFo88E$CEve!Xt?YWEq6f~BDXND~HPl+%da=I+3EeQJ)KE6NVPQh>9+Ya zia>wBYa$Fl#nGxv6{}2_cCT_?92M;NPQcCVXGvmu&CipmYT0;UHmpB|*Ob<|@&QBR ztB2062{#uQPz}&y8in#Gt5@9dEzZ6jt;B1Z^XqO?)X1_Af8;TNj`fT)er diff --git a/pkg/vm/context.go b/pkg/vm/context.go index 08c439ac4..1cecbc4f9 100644 --- a/pkg/vm/context.go +++ b/pkg/vm/context.go @@ -77,12 +77,6 @@ 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/json_test.go b/pkg/vm/json_test.go index 4c35e5641..00eb106a2 100644 --- a/pkg/vm/json_test.go +++ b/pkg/vm/json_test.go @@ -135,12 +135,8 @@ func testFile(t *testing.T, filename string) { require.NoErrorf(t, json.Unmarshal(data, ut), "file: %s", filename) t.Run(ut.Category+":"+ut.Name, func(t *testing.T) { - isRot := strings.HasSuffix(filename, "ROT.json") for i := range ut.Tests { test := ut.Tests[i] - if isRot && test.Name == "Without push" { - return // FIXME #927 single ROT is interpreted as PUSH1 - } t.Run(ut.Tests[i].Name, func(t *testing.T) { prog := []byte(test.Script) vm := load(prog) diff --git a/pkg/vm/opcode/opcode.go b/pkg/vm/opcode/opcode.go index b8d56666e..76149a798 100644 --- a/pkg/vm/opcode/opcode.go +++ b/pkg/vm/opcode/opcode.go @@ -1,6 +1,6 @@ package opcode -//go:generate stringer -type=Opcode +//go:generate stringer -type=Opcode -linecomment // Opcode represents a single operation code for the NEO virtual machine. type Opcode byte @@ -87,7 +87,6 @@ const ( TUCK Opcode = 0x4E SWAP Opcode = 0x50 ROT Opcode = 0x51 - OLDPUSH1 Opcode = 0x51 // FIXME remove #927 ROLL Opcode = 0x52 REVERSE3 Opcode = 0x53 REVERSE4 Opcode = 0x54 diff --git a/pkg/vm/opcode/opcode_string.go b/pkg/vm/opcode/opcode_string.go index d5ab10d51..6b44af438 100644 --- a/pkg/vm/opcode/opcode_string.go +++ b/pkg/vm/opcode/opcode_string.go @@ -1,4 +1,4 @@ -// Code generated by "stringer -type Opcode -linecomment"; DO NOT EDIT. +// Code generated by "stringer -type=Opcode -linecomment"; DO NOT EDIT. package opcode @@ -77,7 +77,6 @@ func _() { _ = x[TUCK-78] _ = x[SWAP-80] _ = x[ROT-81] - _ = x[OLDPUSH1-81] _ = x[ROLL-82] _ = x[REVERSE3-83] _ = x[REVERSE4-84]