From 22be33c75243f0cc132cbbdf52a0b291d9b7d143 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Mon, 29 Jul 2024 16:30:36 +0300 Subject: [PATCH] nns: limit max number of records to 16 These numbers are pretty much arbitrary, but we currently don't need more than that. Signed-off-by: Roman Khimov --- contracts/nns/contract.go | 2 +- contracts/nns/contract.nef | Bin 7081 -> 6992 bytes contracts/nns/manifest.json | 2 +- tests/nns_test.go | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contracts/nns/contract.go b/contracts/nns/contract.go index 0c205e6d..6e37d893 100644 --- a/contracts/nns/contract.go +++ b/contracts/nns/contract.go @@ -60,7 +60,7 @@ const ( maxTXTRecordLength = 255 // maxRecordID is the maximum value of record ID (the upper bound for the number // of records with the same type). - maxRecordID = 255 + maxRecordID = 15 ) // Other constants. diff --git a/contracts/nns/contract.nef b/contracts/nns/contract.nef index d91de27db1277b11a1bcbb948d2284453951b42a..75ef315daf64836991fd781559f6e71346fb15e2 100755 GIT binary patch delta 1904 zcmZWpYiv_x82(OsdOz)Y+Ff9<(Us9%gt5(i8(BnJ?AdIlX!1E#V>S(k(xDVT6yY-=id0b-sU74hbwM>~AtzOYx=GfnZ%}s9 zP47_kn#m09R;@LYpXsMNkQt$rV9zm{q2VYW6Kpxg7!nhFYG{Oy#{@RV(6OOt$bQBh zR8b=Sp@Q^lcB)2{Pd)icQ%`l1n;I{B!GuuKv;X$aTuR`5cqv1k(JpsH7=#2V!tM{? zNu%;tWCJ)2|01H43EAe9m6yWTmg8TyD!V*y0~t>3~TdBGG}O=(oOeD_*dZIsLRHf`PdjVe%KKo zkA+fj@abJy#>f7FSbbdYnR{XPX|V(q@6#bPZZM4-1%_()KY4M(w9m75>-COtQ{0qq zToX5y&U@x-8)rP9%3Zn*f3AD%|2nDV8X0sI=QAT32EnB^|~+dWxM za0OlpPbc|uX+Hd|MzI4vWg&l?7OMm;S;(xdiNa=*$Nd(BxN@ENw3du9d#7@=5@5~Y z&u+`IB-l4x;)OyDKD-UW+(DWyJd%LOY@n+T9#f=02^FO{p$ID-&bz7^w%o>4XnQ<0 z?BIucIpuP;dH~NrDh_<*0LV&8QS#v(U^(w|Mg1oX$&8nsb(ymGoF0mG2E0|Xu8J(k zZVRmQN0ZK{yvRE1vS;VDM9Jvmr1LQ^T3m=bY=Ag&&s<0Gq{GszN(tn+Wl4w={P;~Z zLg_FTz|EXHs8!Dc0w4}qmK98XjG?xaHO&bn1CB(BzVn0+q$3Yo54@EV_qm#)Y))!z zh}v=)!rJRrgqL)>n1<+($VW$`j@W4Q#Zbx--{C0Ik%sTkb}lsBD^<02hsopiE*m@> z&Hy`Cp+1G3oisUYX>0P_J{i6OHTm!qU@D0?#S0*uEh>cictMl`*hBubv^JHY_;A~U zyGh=AxfzB;GefocdeqQgprU>e#{(DNQw1(Q1l<-;?}7f0aAcxliIt1_JSzv!-Edw} zirJ(lA5=V{uZ6VA=p@H0RuYGXrU`7!uCsb6s)_7nU23UoHTjZlSv7AmklzaEnE?Kv z9xv$@fqwB|;lL*VZg} zMKPBmo)aLb5;F;jp&ZkhY2~-zCV>03z0;BuIjP#p1HTi{W3r&KkJ6BBmG3QF2UBS} z!IfridCcPW`?IxG8)>y(C6V~TmMLozu9Rjsdk~Zn7CvecV7NvHqF#FN)`@HX E0cM_easU7T delta 1941 zcmZuyZEO>D7{9w-+iQDU@7gjL?zN0=EDMa6KVyry)==XLk%M-YK~RXB^sZg6Z(Hxy z%|+u9lcE9sA22Y7fy4wp_+_ZX01M2w5GeaV%MG>*-f1 zmBkaZlNw|3O?p#fCrc19$&z7>eM&@(?M;YsSmHA*9p2mDXF2cmQ>22bIecDQgX7vR z@-#lD-AE4NM_LbGVIqjA>*(CROiU656f)r#buD!t!dpoV@kf2=3q$Tv;eF^VJcSf> z$cHxIy` zuw`O+aBoQLt&@}CzF3Efn1|Ucy8k$vO_s@JuIZio&z6{?20cL}%S}nM#FF(-b|;so z3%VsanVW6sl)2*fws~Qat9aKZ({E{H-jZ2K8=NxFWdN##E}L_c`&3I1cB8}#=!g#g zVyxM40A9#uwG?IYAzDWejMGo(&`Bdf0@?>)F$ukF#$9X`bx(`;vCmaMq+u;Z^q`y|0wqRh6=(*eC>&v1@Ep6ReHTQ< zBrbytf5IFj>$VwD%F__gZTRH$)3kze?kEZvQBwkn!D?Vvd8JWd$(2Hz2I?Fts~IhN zARv0t*BXL|2hnF`u=)Aw72W7Q;7I`iMWH{;O*%NY3LAZn zA&A*iPWvVg!A&}BZgqZ<$Sm=()867CstTzDXzsLEv5N=7@z#MzM2;o;dh23+ugJ09 zx`Z0(>u^I08U<~I1)FbSNI-AE+Cd9VRGxa%0_r!YJoPKkbDsL5ZnUAuJf+2>=9SA8 zbQH=K(W0)o)4^Nd{D2pwAk{62it0l>_?o%7RzX|-jf@05*PFnTO$$YJ@DlNP`@gSEOI_zi+@|jd~ebAB_#=n624`1lQeF!ov0MxLZxBAh2yFgaZ&r@$=kN= zw8lUxxV>@(+;`n57lW|k#pI90xkM=VQR4{6qDY%BZ9cZYl$!=a4*ch`^`{3#*oEAG zLQ*g5XB(PjeKBLfZDR_jje*lvUfHOwCa6SyG~{s$=)4g8(W7Hj4vkG9Wcv+jT@pzrXRr9Gq# NTb}BmtzVA*`VaIpf9wDN diff --git a/contracts/nns/manifest.json b/contracts/nns/manifest.json index 61b8440d..df9a873c 100755 --- a/contracts/nns/manifest.json +++ b/contracts/nns/manifest.json @@ -1 +1 @@ -{"name":"NameService","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":32,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addRecord","offset":3122,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"balanceOf","offset":862,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"Integer","safe":true},{"name":"decimals","offset":677,"parameters":[],"returntype":"Integer","safe":true},{"name":"deleteRecords","offset":3346,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Void","safe":false},{"name":"getAllRecords","offset":3590,"parameters":[{"name":"name","type":"String"}],"returntype":"InteropInterface","safe":true},{"name":"getPrice","offset":1313,"parameters":[],"returntype":"Integer","safe":true},{"name":"getRecords","offset":3262,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"isAvailable","offset":1347,"parameters":[{"name":"name","type":"String"}],"returntype":"Boolean","safe":true},{"name":"ownerOf","offset":699,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Hash160","safe":true},{"name":"properties","offset":769,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Map","safe":true},{"name":"register","offset":1608,"parameters":[{"name":"name","type":"String"},{"name":"owner","type":"Hash160"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Boolean","safe":false},{"name":"registerTLD","offset":2283,"parameters":[{"name":"name","type":"String"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Void","safe":false},{"name":"renew","offset":2496,"parameters":[{"name":"name","type":"String"}],"returntype":"Integer","safe":false},{"name":"resolve","offset":3528,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"roots","offset":1207,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"setAdmin","offset":2707,"parameters":[{"name":"name","type":"String"},{"name":"admin","type":"Hash160"}],"returntype":"Void","safe":false},{"name":"setPrice","offset":1235,"parameters":[{"name":"price","type":"Integer"}],"returntype":"Void","safe":false},{"name":"setRecord","offset":2882,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"id","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"symbol","offset":671,"parameters":[],"returntype":"String","safe":true},{"name":"tokens","offset":938,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"tokensOf","offset":967,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"InteropInterface","safe":true},{"name":"totalSupply","offset":683,"parameters":[],"returntype":"Integer","safe":true},{"name":"transfer","offset":1029,"parameters":[{"name":"to","type":"Hash160"},{"name":"tokenID","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Boolean","safe":false},{"name":"update","offset":587,"parameters":[{"name":"nef","type":"ByteArray"},{"name":"manifest","type":"String"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"updateSOA","offset":2617,"parameters":[{"name":"name","type":"String"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Void","safe":false},{"name":"version","offset":679,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"Transfer","parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"tokenId","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"0xfffdc93764dbaddd97c48f252a53ea4643faa3fd","methods":["update"]},{"contract":"*","methods":["onNEP11Payment"]}],"supportedstandards":["NEP-11"],"trusts":[],"extra":null} \ No newline at end of file +{"name":"NameService","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":32,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"addRecord","offset":3253,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"balanceOf","offset":872,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"Integer","safe":true},{"name":"decimals","offset":677,"parameters":[],"returntype":"Integer","safe":true},{"name":"deleteRecords","offset":3570,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Void","safe":false},{"name":"getAllRecords","offset":3816,"parameters":[{"name":"name","type":"String"}],"returntype":"InteropInterface","safe":true},{"name":"getPrice","offset":1323,"parameters":[],"returntype":"Integer","safe":true},{"name":"getRecords","offset":3484,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"isAvailable","offset":1357,"parameters":[{"name":"name","type":"String"}],"returntype":"Boolean","safe":true},{"name":"ownerOf","offset":699,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Hash160","safe":true},{"name":"properties","offset":769,"parameters":[{"name":"tokenID","type":"ByteArray"}],"returntype":"Map","safe":true},{"name":"register","offset":1810,"parameters":[{"name":"name","type":"String"},{"name":"owner","type":"Hash160"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Boolean","safe":false},{"name":"registerTLD","offset":2361,"parameters":[{"name":"name","type":"String"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Void","safe":false},{"name":"renew","offset":2574,"parameters":[{"name":"name","type":"String"}],"returntype":"Integer","safe":false},{"name":"resolve","offset":3754,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"}],"returntype":"Array","safe":true},{"name":"roots","offset":1217,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"setAdmin","offset":2785,"parameters":[{"name":"name","type":"String"},{"name":"admin","type":"Hash160"}],"returntype":"Void","safe":false},{"name":"setPrice","offset":1245,"parameters":[{"name":"price","type":"Integer"}],"returntype":"Void","safe":false},{"name":"setRecord","offset":2960,"parameters":[{"name":"name","type":"String"},{"name":"typ","type":"Integer"},{"name":"id","type":"Integer"},{"name":"data","type":"String"}],"returntype":"Void","safe":false},{"name":"symbol","offset":671,"parameters":[],"returntype":"String","safe":true},{"name":"tokens","offset":948,"parameters":[],"returntype":"InteropInterface","safe":true},{"name":"tokensOf","offset":977,"parameters":[{"name":"owner","type":"Hash160"}],"returntype":"InteropInterface","safe":true},{"name":"totalSupply","offset":683,"parameters":[],"returntype":"Integer","safe":true},{"name":"transfer","offset":1039,"parameters":[{"name":"to","type":"Hash160"},{"name":"tokenID","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Boolean","safe":false},{"name":"update","offset":587,"parameters":[{"name":"nef","type":"ByteArray"},{"name":"manifest","type":"String"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"updateSOA","offset":2695,"parameters":[{"name":"name","type":"String"},{"name":"email","type":"String"},{"name":"refresh","type":"Integer"},{"name":"retry","type":"Integer"},{"name":"expire","type":"Integer"},{"name":"ttl","type":"Integer"}],"returntype":"Void","safe":false},{"name":"version","offset":679,"parameters":[],"returntype":"Integer","safe":true}],"events":[{"name":"Transfer","parameters":[{"name":"from","type":"Hash160"},{"name":"to","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"tokenId","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"0xfffdc93764dbaddd97c48f252a53ea4643faa3fd","methods":["update"]},{"contract":"*","methods":["onNEP11Payment"]}],"supportedstandards":["NEP-11"],"trusts":[],"extra":null} \ No newline at end of file diff --git a/tests/nns_test.go b/tests/nns_test.go index 5ac3e6f8..ac1b4966 100644 --- a/tests/nns_test.go +++ b/tests/nns_test.go @@ -23,7 +23,7 @@ const nnsPath = "../contracts/nns" const ( msPerYear = 365 * 24 * time.Hour / time.Millisecond - maxRecordID = 255 // value from the contract. + maxRecordID = 15 // value from the contract. ) func newNNSInvoker(t *testing.T, addRoot bool, tldSet ...string) *neotest.ContractInvoker {