tx · 6kvVEeeRuQugak71iEgrpvu9M1JCUDVV79rNSHz1NmQP

3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42:  -0.00200000 Waves

2022.06.29 15:28 [2117728] smart account 3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42 > SELF 0.00000000 Waves

{ "type": 13, "id": "6kvVEeeRuQugak71iEgrpvu9M1JCUDVV79rNSHz1NmQP", "fee": 200000, "feeAssetId": null, "timestamp": 1656505771450, "version": 2, "chainId": 84, "sender": "3MvCKDNrXFLCPCMjLTQXzfiHYejGf5QST42", "senderPublicKey": "Bm8NA6cDADuRW1tDcjPsFdpsoUGwdxSD16MjDxtar9JB", "proofs": [ "4sEhLYsdcJWArT8aWydzZpVSz9qj5Qxwv59LZ5a6DC9FfkR3ahRhrSNc6K6nTTgeYGuBxuJ5gPV9Arf1wD94WrR3" ], "script": "base64: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", "height": 2117728, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 61tHnvuhJH7d6dL7dQu7jgopyzvd2yF9asp949KyhwfW Next: 6ZXcymZMyipsVpXrQgCW8ADTdnExuSRbe8255VSZKSyX Diff:
OldNewDifferences
1515 func getAddrToIntMappingIndexIn (indexIn) = size(split(getAddrToIntMappingValue("mapString", toString(this))[indexIn], "/"))
1616
1717
18-func setAddrToIntMappingValue (mappingName,addr,val) = StringEntry(getAddrToIntMappingKey("mapString", addr), val)
18+func setAddrToIntMappingValue (mappingName,addr,val) = if ((300 >= size(val)))
19+ then StringEntry(getAddrToIntMappingKey("mapString", addr), val)
20+ else throw("overcrowded")
1921
2022
2123 @Callable(i)
2426
2527
2628 @Callable(i)
27-func getArrayFromStruct (index) = if ((index > getAddrToIntMappingIndex("mapString", toString(this))))
28- then throw("out of range")
29- else [StringEntry("1", getAddrToIntMappingValue("mapString", toString(this))[(index - 1)])]
29+func getArrayFromStruct (index) = if ((getAddrToIntMappingIndex("mapString", toString(this)) >= (index - 1)))
30+ then [StringEntry("1", getAddrToIntMappingValue("mapString", toString(this))[(index - 1)])]
31+ else throw("out of range")
3032
3133
3234
3335 @Callable(i)
34-func getElementFromArray (index,indexIn) = if ((indexIn > getAddrToIntMappingIndexIn(indexIn)))
35- then throw("out of range")
36- else [StringEntry("2", split(getAddrToIntMappingValue("mapString", toString(this))[index], "/")[(indexIn - 1)])]
36+func getElementFromArray (index,indexIn) = if ((getAddrToIntMappingIndexIn(indexIn) >= (indexIn - 1)))
37+ then [StringEntry("2", split(getAddrToIntMappingValue("mapString", toString(this))[index], "/")[(indexIn - 1)])]
38+ else throw("out of range")
3739
3840
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 func getAddrToIntMappingKey (mappingName,addr) = makeString([mappingName, addr], separator)
77
88
99 func getAddrToIntMappingValue (mappingName,addr) = split(getStringValue(this, getAddrToIntMappingKey(mappingName, addr)), "_")
1010
1111
1212 func getAddrToIntMappingIndex (mappingName,addr) = (size(getAddrToIntMappingValue("mapString", addr)) + 1)
1313
1414
1515 func getAddrToIntMappingIndexIn (indexIn) = size(split(getAddrToIntMappingValue("mapString", toString(this))[indexIn], "/"))
1616
1717
18-func setAddrToIntMappingValue (mappingName,addr,val) = StringEntry(getAddrToIntMappingKey("mapString", addr), val)
18+func setAddrToIntMappingValue (mappingName,addr,val) = if ((300 >= size(val)))
19+ then StringEntry(getAddrToIntMappingKey("mapString", addr), val)
20+ else throw("overcrowded")
1921
2022
2123 @Callable(i)
2224 func setStruct (valueInt) = [setAddrToIntMappingValue("mapString", toString(this), valueInt)]
2325
2426
2527
2628 @Callable(i)
27-func getArrayFromStruct (index) = if ((index > getAddrToIntMappingIndex("mapString", toString(this))))
28- then throw("out of range")
29- else [StringEntry("1", getAddrToIntMappingValue("mapString", toString(this))[(index - 1)])]
29+func getArrayFromStruct (index) = if ((getAddrToIntMappingIndex("mapString", toString(this)) >= (index - 1)))
30+ then [StringEntry("1", getAddrToIntMappingValue("mapString", toString(this))[(index - 1)])]
31+ else throw("out of range")
3032
3133
3234
3335 @Callable(i)
34-func getElementFromArray (index,indexIn) = if ((indexIn > getAddrToIntMappingIndexIn(indexIn)))
35- then throw("out of range")
36- else [StringEntry("2", split(getAddrToIntMappingValue("mapString", toString(this))[index], "/")[(indexIn - 1)])]
36+func getElementFromArray (index,indexIn) = if ((getAddrToIntMappingIndexIn(indexIn) >= (indexIn - 1)))
37+ then [StringEntry("2", split(getAddrToIntMappingValue("mapString", toString(this))[index], "/")[(indexIn - 1)])]
38+ else throw("out of range")
3739
3840

github/deemru/w8io/169f3d6 
38.65 ms