tx · 4o3beqGtq3yvCQV8QEqcRhD8Yhwfq1F6wLgVgqBTa17B

3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX:  -0.01000000 Waves

2023.06.09 18:17 [2615297] smart account 3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX > SELF 0.00000000 Waves

{ "type": 13, "id": "4o3beqGtq3yvCQV8QEqcRhD8Yhwfq1F6wLgVgqBTa17B", "fee": 1000000, "feeAssetId": null, "timestamp": 1686323964250, "version": 2, "chainId": 84, "sender": "3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX", "senderPublicKey": "5iiNX4Sz3qZzcerumQLc1y7u9TH2X46jDV4f9Xivtmtv", "proofs": [ "4wUbzya9azoCsKaAhy8XXaeK6pGrGq8V42ULeicsyubS56U337XGW8rxpF7RGrUsZtLH6u4LgSN4Q6j6xFXaT5zn" ], "script": "base64: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aXN0SW50VG9MaXN0U3RyaW5nAQUDYXJyAgF8ARlzdHJpbmdEZWNvbXByZXNzVG9MaXN0SW50AQZhcnJTdHIJARNsaXN0U3RyaW5nVG9MaXN0SW5nAQkAtQkCBQZhcnJTdHICAXwBD1JfV2luQ2FsY3VsYXRvcgQMcmFuZG9tTnVtYmVyCWJldEFtb3VudBJzZWxlY3RlZE51bWJlckJldHMMYmV0RGlyZWN0aW9uBAtSRURfU0VDVE9SUwkAzAgCACAJAMwIAgATCQDMCAIAFQkAzAgCABkJAMwIAgAiCQDMCAIAGwkAzAgCACQJAMwIAgAeCQDMCAIAFwkAzAgCAAUJAMwIAgAQCQDMCAIAAQkAzAgCAA4JAMwIAgAJCQDMCAIAEgkAzAgCAAcJAMwIAgAMCQDMCAIAAwUDbmlsAwMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwABCQAAAgUMYmV0RGlyZWN0aW9uAgNudW0HAwkAAAIJAJEDAgUSc2VsZWN0ZWROdW1iZXJCZXRzAAAFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAkAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAgMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAASAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAwMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAMAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMABAMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAAJAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMADAMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAADAAADCQAAAgUMYmV0RGlyZWN0aW9uAgNyZWQDCQEPY29udGFpbnNFbGVtZW50AgULUkVEX1NFQ1RPUlMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgVibGFjawMDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQtSRURfU0VDVE9SUwUMcmFuZG9tTnVtYmVyCQECIT0CBQxyYW5kb21OdW1iZXIAAAcJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIDb2RkAwkBAiE9AgkAagIFDHJhbmRvbU51bWJlcgACAAAJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIEZXZlbgMJAAACCQBqAgUMcmFuZG9tTnVtYmVyAAIAAAkAaAIFCWJldEFtb3VudAACAAADCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAEgMJAQ9jb250YWluc0VsZW1lbnQCBRJzZWxlY3RlZE51bWJlckJldHMFDHJhbmRvbU51bWJlcgkAaAIFCWJldEFtb3VudAACAAAAAAELUl9nZXRCZXRLZXkBAWkJAKwCAgINYmV0X1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBEVJfZ2V0QmV0QW1vdW50S2V5AQFpCQCsAgICE2JldEFtb3VudF9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARdSX2dldFNlbGVjdGVkTnVtYmVyc0tleQEBaQkArAICAhlzZWxlY3RlZE51bWJlcnNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgERUl9nZXREaXJlY3Rpb25LZXkBAWkJAKwCAgITZGlyZWN0aW9uX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBC1JfZ2V0TG9nS2V5AQFpCQCsAgIJAKwCAgkArAICAg1sb2dfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgIBXwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAQ5SX2dldFN0YXR1c0tleQEBaQkArAICAhBzdGF0dXNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgEMTFdfZ2V0QmV0S2V5AQFpCQCsAgICD2JldF9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBDExXX2dldFdvbktleQEBaQkArAICAg93b25fTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyARVMV19nZXRSYW5kb21OdW1iZXJLZXkBAWkJAKwCAgIYcmFuZG9tTnVtYmVyX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEMTFdfZ2V0TG9nS2V5AQFpCQCsAgIJAKwCAgkArAICAg9sb2dfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAgFfCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQBDkxXX3doYXRVc2VyV29uAQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQAAAgABBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAgMJAAACAAMFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQABAwkAAAIABwUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAYDCQAAAgAJBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQAAAQ9MV19nZXRTdGF0dXNLZXkBAWkJAKwCAgIQc3RhdHVzX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBA3h4eAIFYWNjdW0EbmV4dAQLcmV2ZWFsQmxvY2sJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBBQRuZXh0AhF1bmV4Y3BlY3RlZCBlcnJvcgQDdnJmCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQtyZXZlYWxCbG9jawN2cmYCEXVuZXhjcGVjdGVkIGVycm9yBApyYW5kb21IYXNoCQD3AwEJAQV2YWx1ZQEFA3ZyZgQMcmV2ZWFsQmxvY2syCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAO0HAQkAZQIFBG5leHQAAQIRdW5leGNwZWN0ZWQgZXJyb3IEBHZyZjIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFC3JldmVhbEJsb2NrA3ZyZgIRdW5leGNwZWN0ZWQgZXJyb3IEC3JhbmRvbUhhc2gyCQD3AwEJAQV2YWx1ZQEFA3ZyZgQGcmFuZG9tCQCyCQIFCnJhbmRvbUhhc2gAEAQMcmFuZG9tTnVtYmVyCQBqAgUGcmFuZG9tACUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAghyYW5kb21fXwkApAMBBQRuZXh0CQCkAwEFDHJhbmRvbU51bWJlcgUFYWNjdW0BBHh4eDIBA2FycgoAAiRsBQNhcnIKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA3h4eAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyAQFpAQR0ZXN0AQxjb21taXRIZWlnaHQJAQR4eHgyAQkAzAgCBQxjb21taXRIZWlnaHQFA25pbAA6Ut7G", "height": 2615297, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4yo1BaNQJ7CHphZH6ZH9VEXLPKjndqAJJPx3qxoXk146 Next: 8dhhQjpBT2LGUoABv8nnuBX7JrRZj3GM9mKfvbajbXJo Diff:
OldNewDifferences
186186 let revealBlock2 = valueOrErrorMessage(blockInfoByHeight((next - 1)), "unexcpected error")
187187 let vrf2 = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
188188 let randomHash2 = sha256(value(vrf))
189- let random = (toInt(randomHash, 16) + toInt(randomHash2, toInt(randomHash, 16)))
189+ let random = toInt(randomHash, 16)
190190 let randomNumber = (random % 37)
191191 StringEntry(("random__" + toString(next)), toString(randomNumber)) :: accum
192192 }
209209
210210
211211 @Callable(i)
212-func test (commitHeight) = xxx2([commitHeight, (commitHeight - 1), (commitHeight - 2), (commitHeight - 3)])
212+func test (commitHeight) = xxx2([commitHeight])
213213
214214
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func numToWaves (num) = (num * 100000000)
55
66
77 func isPaymentOk (i,sum) = {
88 let acceptableAssetId = base58'WAVES'
99 let p = i.payments[0]
1010 if ((p.amount >= numToWaves(sum)))
1111 then (p.assetId == unit)
1212 else false
1313 }
1414
1515
1616 func mapIntToStr (accum,next) = toString(next) :: accum
1717
1818
1919 func mapStrToInt (accum,next) = parseIntValue(next) :: accum
2020
2121
2222 func mapIntToSum (accum,next) = (accum + next)
2323
2424
2525 func listIntToSum (arr) = {
2626 let $l = arr
2727 let $s = size($l)
2828 let $acc0 = 0
2929 func $f0_1 ($a,$i) = if (($i >= $s))
3030 then $a
3131 else mapIntToSum($a, $l[$i])
3232
3333 func $f0_2 ($a,$i) = if (($i >= $s))
3434 then $a
3535 else throw("List size exceeds 50")
3636
3737 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
3838 }
3939
4040
4141 func listIntToListString (arr) = {
4242 let $l = arr
4343 let $s = size($l)
4444 let $acc0 = nil
4545 func $f0_1 ($a,$i) = if (($i >= $s))
4646 then $a
4747 else mapIntToStr($a, $l[$i])
4848
4949 func $f0_2 ($a,$i) = if (($i >= $s))
5050 then $a
5151 else throw("List size exceeds 50")
5252
5353 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
5454 }
5555
5656
5757 func listStringToListIng (arr) = {
5858 let $l = arr
5959 let $s = size($l)
6060 let $acc0 = nil
6161 func $f0_1 ($a,$i) = if (($i >= $s))
6262 then $a
6363 else mapStrToInt($a, $l[$i])
6464
6565 func $f0_2 ($a,$i) = if (($i >= $s))
6666 then $a
6767 else throw("List size exceeds 50")
6868
6969 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
7070 }
7171
7272
7373 func listStringCompressToString (arr) = makeString(arr, "|")
7474
7575
7676 func stringDecompressToListString (str) = split(str, "|")
7777
7878
7979 func listIntCompressToString (arr) = makeString(listIntToListString(arr), "|")
8080
8181
8282 func stringDecompressToListInt (arrStr) = listStringToListIng(split(arrStr, "|"))
8383
8484
8585 func R_WinCalculator (randomNumber,betAmount,selectedNumberBets,betDirection) = {
8686 let RED_SECTORS = [32, 19, 21, 25, 34, 27, 36, 30, 23, 5, 16, 1, 14, 9, 18, 7, 12, 3]
8787 if (if ((size(selectedNumberBets) == 1))
8888 then (betDirection == "num")
8989 else false)
9090 then if ((selectedNumberBets[0] == randomNumber))
9191 then (betAmount * 36)
9292 else 0
9393 else if ((size(selectedNumberBets) == 2))
9494 then if (containsElement(selectedNumberBets, randomNumber))
9595 then (betAmount * 18)
9696 else 0
9797 else if ((size(selectedNumberBets) == 3))
9898 then if (containsElement(selectedNumberBets, randomNumber))
9999 then (betAmount * 12)
100100 else 0
101101 else if ((size(selectedNumberBets) == 4))
102102 then if (containsElement(selectedNumberBets, randomNumber))
103103 then (betAmount * 9)
104104 else 0
105105 else if ((size(selectedNumberBets) == 12))
106106 then if (containsElement(selectedNumberBets, randomNumber))
107107 then (betAmount * 3)
108108 else 0
109109 else if ((betDirection == "red"))
110110 then if (containsElement(RED_SECTORS, randomNumber))
111111 then (betAmount * 2)
112112 else 0
113113 else if ((betDirection == "black"))
114114 then if (if (!(containsElement(RED_SECTORS, randomNumber)))
115115 then (randomNumber != 0)
116116 else false)
117117 then (betAmount * 2)
118118 else 0
119119 else if ((betDirection == "odd"))
120120 then if (((randomNumber % 2) != 0))
121121 then (betAmount * 2)
122122 else 0
123123 else if ((betDirection == "even"))
124124 then if (((randomNumber % 2) == 0))
125125 then (betAmount * 2)
126126 else 0
127127 else if ((size(selectedNumberBets) == 18))
128128 then if (containsElement(selectedNumberBets, randomNumber))
129129 then (betAmount * 2)
130130 else 0
131131 else 0
132132 }
133133
134134
135135 func R_getBetKey (i) = ("bet_Roulette_" + toString(i.caller))
136136
137137
138138 func R_getBetAmountKey (i) = ("betAmount_Roulette_" + toString(i.caller))
139139
140140
141141 func R_getSelectedNumbersKey (i) = ("selectedNumbers_Roulette_" + toString(i.caller))
142142
143143
144144 func R_getDirectionKey (i) = ("direction_Roulette_" + toString(i.caller))
145145
146146
147147 func R_getLogKey (i) = ((("log_Roulette_" + toString(i.caller)) + "_") + toBase58String(i.transactionId))
148148
149149
150150 func R_getStatusKey (i) = ("status_Roulette_" + toString(i.caller))
151151
152152
153153 func LW_getBetKey (i) = ("bet_LuckyWheel_" + toString(i.caller))
154154
155155
156156 func LW_getWonKey (i) = ("won_LuckyWheel_" + toString(i.caller))
157157
158158
159159 func LW_getRandomNumberKey (i) = ("randomNumber_LuckyWheel_" + toString(i.caller))
160160
161161
162162 func LW_getLogKey (i) = ((("log_LuckyWheel_" + toString(i.caller)) + "_") + toBase58String(i.transactionId))
163163
164164
165165 func LW_whatUserWon (value) = match value {
166166 case _ =>
167167 if ((1 == $match0))
168168 then numToWaves(2)
169169 else if ((3 == $match0))
170170 then numToWaves(1)
171171 else if ((7 == $match0))
172172 then numToWaves(6)
173173 else if ((9 == $match0))
174174 then numToWaves(1)
175175 else 0
176176 }
177177
178178
179179 func LW_getStatusKey (i) = ("status_Roulette_" + toString(i.caller))
180180
181181
182182 func xxx (accum,next) = {
183183 let revealBlock = valueOrErrorMessage(blockInfoByHeight(next), "unexcpected error")
184184 let vrf = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
185185 let randomHash = sha256(value(vrf))
186186 let revealBlock2 = valueOrErrorMessage(blockInfoByHeight((next - 1)), "unexcpected error")
187187 let vrf2 = valueOrErrorMessage(revealBlock.vrf, "unexcpected error")
188188 let randomHash2 = sha256(value(vrf))
189- let random = (toInt(randomHash, 16) + toInt(randomHash2, toInt(randomHash, 16)))
189+ let random = toInt(randomHash, 16)
190190 let randomNumber = (random % 37)
191191 StringEntry(("random__" + toString(next)), toString(randomNumber)) :: accum
192192 }
193193
194194
195195 func xxx2 (arr) = {
196196 let $l = arr
197197 let $s = size($l)
198198 let $acc0 = nil
199199 func $f0_1 ($a,$i) = if (($i >= $s))
200200 then $a
201201 else xxx($a, $l[$i])
202202
203203 func $f0_2 ($a,$i) = if (($i >= $s))
204204 then $a
205205 else throw("List size exceeds 50")
206206
207207 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
208208 }
209209
210210
211211 @Callable(i)
212-func test (commitHeight) = xxx2([commitHeight, (commitHeight - 1), (commitHeight - 2), (commitHeight - 3)])
212+func test (commitHeight) = xxx2([commitHeight])
213213
214214

github/deemru/w8io/026f985 
50.59 ms