tx · 3J9FJu5VAAnYq1njx2RwjztqxYhyr9HXD27khE7U9suF

3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX:  -0.01000000 Waves

2023.06.11 16:55 [2618103] smart account 3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX > SELF 0.00000000 Waves

{ "type": 13, "id": "3J9FJu5VAAnYq1njx2RwjztqxYhyr9HXD27khE7U9suF", "fee": 1000000, "feeAssetId": null, "timestamp": 1686491775708, "version": 2, "chainId": 84, "sender": "3MrfLFw1uz3BDr45RQLvrRnAwT2nHpB4KiX", "senderPublicKey": "5iiNX4Sz3qZzcerumQLc1y7u9TH2X46jDV4f9Xivtmtv", "proofs": [ "3x4CyZ5hxNjbXVKEJwyP1aowD65Tj1W4ZoNLh26DuWuMmaYHi3KcWe8DfUQoJA6CRSVamAUU1CTxC9uTS45FaoB9" ], "script": "base64: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aXN0SW50VG9MaXN0U3RyaW5nAQUDYXJyAgF8ARlzdHJpbmdEZWNvbXByZXNzVG9MaXN0SW50AQZhcnJTdHIJARNsaXN0U3RyaW5nVG9MaXN0SW5nAQkAtQkCBQZhcnJTdHICAXwBCWdldFJhbmRvbQEMY29tbWl0SGVpZ2h0BAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFDGNvbW1pdEhlaWdodAIRdW5leGNwZWN0ZWQgZXJyb3IEA3ZyZgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAULcmV2ZWFsQmxvY2sDdnJmAhF1bmV4Y3BlY3RlZCBlcnJvcgQKcmFuZG9tSGFzaAkA9wMBCQEFdmFsdWUBBQN2cmYEBGhhc2gJALIJAgUKcmFuZG9tSGFzaAAQCQBqAgUEaGFzaAAlAQ9SX1dpbkNhbGN1bGF0b3IEDHJhbmRvbU51bWJlcgliZXRBbW91bnQSc2VsZWN0ZWROdW1iZXJCZXRzDGJldERpcmVjdGlvbgQLUkVEX1NFQ1RPUlMJAMwIAgAgCQDMCAIAEwkAzAgCABUJAMwIAgAZCQDMCAIAIgkAzAgCABsJAMwIAgAkCQDMCAIAHgkAzAgCABcJAMwIAgAFCQDMCAIAEAkAzAgCAAEJAMwIAgAOCQDMCAIACQkAzAgCABIJAMwIAgAHCQDMCAIADAkAzAgCAAMFA25pbAMDCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAQkAAAIFDGJldERpcmVjdGlvbgIDbnVtBwMJAAACCQCRAwIFEnNlbGVjdGVkTnVtYmVyQmV0cwAABQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAJAAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAIDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAEgAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAMDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQADAAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAQDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQACQAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAwDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAwAAAwkAAAIFDGJldERpcmVjdGlvbgIDcmVkAwkBD2NvbnRhaW5zRWxlbWVudAIFC1JFRF9TRUNUT1JTBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIFYmxhY2sDAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgULUkVEX1NFQ1RPUlMFDHJhbmRvbU51bWJlcgkBAiE9AgUMcmFuZG9tTnVtYmVyAAAHCQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CA29kZAMJAQIhPQIJAGoCBQxyYW5kb21OdW1iZXIAAgAACQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CBGV2ZW4DCQAAAgkAagIFDHJhbmRvbU51bWJlcgACAAAJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzABIDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAgAAAAABC1JfZ2V0QmV0S2V5AQFpCQCsAgICDWJldF9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARFSX2dldEJldEFtb3VudEtleQEBaQkArAICAhNiZXRBbW91bnRfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgEXUl9nZXRTZWxlY3RlZE51bWJlcnNLZXkBAWkJAKwCAgIZc2VsZWN0ZWROdW1iZXJzX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBEVJfZ2V0RGlyZWN0aW9uS2V5AQFpCQCsAgICE2RpcmVjdGlvbl9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAQtSX2dldExvZ0tleQEBaQkArAICCQCsAgIJAKwCAgINbG9nX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEOUl9nZXRTdGF0dXNLZXkBAWkJAKwCAgIQc3RhdHVzX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBDExXX2dldEJldEtleQEBaQkArAICAg9iZXRfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRXb25LZXkBAWkJAKwCAgIPd29uX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQFpCQCsAgICGHJhbmRvbU51bWJlcl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBDExXX2dldExvZ0tleQEBaQkArAICCQCsAgIJAKwCAgIPbG9nX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgIBXwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAQ5MV193aGF0VXNlcldvbgEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAAIAAQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAIDCQAAAgADBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQMJAAACAAcFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQAGAwkAAAIACQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEAAAEPTFdfZ2V0U3RhdHVzS2V5AQFpCQCsAgICEHN0YXR1c19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAQFpARB0ZXN0UmFuZG9tTnVtYmVyAQxjb21taXRIZWlnaHQEC3JldmVhbEJsb2NrCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAO0HAQUMY29tbWl0SGVpZ2h0AhF1bmV4Y3BlY3RlZCBlcnJvcgQDdnJmCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQtyZXZlYWxCbG9jawN2cmYCEXVuZXhjcGVjdGVkIGVycm9yBApyYW5kb21IYXNoCQD3AwEJAQV2YWx1ZQEFA3ZyZgQMcmV2ZWFsQmxvY2syCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAO0HAQkAZQIFDGNvbW1pdEhlaWdodAAKAhF1bmV4Y3BlY3RlZCBlcnJvcgQEdnJmMgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAULcmV2ZWFsQmxvY2sDdnJmAhF1bmV4Y3BlY3RlZCBlcnJvcgQLcmFuZG9tSGFzaDIJAPcDAQkBBXZhbHVlAQUDdnJmBAxyZXZlYWxCbG9jazMJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7QcBCQBlAgUMY29tbWl0SGVpZ2h0ABQCEXVuZXhjcGVjdGVkIGVycm9yBAR2cmYzCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQtyZXZlYWxCbG9jawN2cmYCEXVuZXhjcGVjdGVkIGVycm9yBAtyYW5kb21IYXNoMwkA9wMBCQEFdmFsdWUBBQN2cmYEAm4xCQCyCQIFCnJhbmRvbUhhc2gAEAQCbjIJALIJAgULcmFuZG9tSGFzaDIAEAQCbjMJALIJAgULcmFuZG9tSGFzaDMAEAMJAGYCBQJuMQAAAwkAZgIAEwUCbjEEDHJhbmRvbU51bWJlcgkAagIFAm4xACUJAAIBCQCkAwEFDHJhbmRvbU51bWJlcgQMcmFuZG9tTnVtYmVyCQBqAgUCbjIAJQkAAgEJAKQDAQUMcmFuZG9tTnVtYmVyAwkAZgIFAm4yAAADCQBmAgATBQJuMgQMcmFuZG9tTnVtYmVyCQBqAgUCbjIAJQkAAgEJAKQDAQUMcmFuZG9tTnVtYmVyBAxyYW5kb21OdW1iZXIJAGoCBQJuMwAlCQACAQkApAMBBQxyYW5kb21OdW1iZXIEDHJhbmRvbU51bWJlcgkAagIFAm4zACUJAAIBCQCkAwEFDHJhbmRvbU51bWJlcgDIFcgJ", "height": 2618103, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BHYbKp8eDoTt4exSTM2hjeCmwSY9h7hCBvg27jmBrvxS Next: 9RSidx8HfUyndbtuDqMWy5cDPxU3wyZbtXfW4kce1iBX Diff:
OldNewDifferences
193193 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
194194 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
195195 let H = sha256(value(G))
196- let K = (toInt(H) % ((37 - 0) + 1))
197- throw(toString(K))
196+ let ad = valueOrErrorMessage(blockInfoByHeight((E - 10)), "unexcpected error")
197+ let ae = valueOrErrorMessage(F.vrf, "unexcpected error")
198+ let af = sha256(value(G))
199+ let ag = valueOrErrorMessage(blockInfoByHeight((E - 20)), "unexcpected error")
200+ let ah = valueOrErrorMessage(F.vrf, "unexcpected error")
201+ let ai = sha256(value(G))
202+ let aj = toInt(H, 16)
203+ let ak = toInt(af, 16)
204+ let al = toInt(ai, 16)
205+ if ((aj > 0))
206+ then if ((19 > aj))
207+ then {
208+ let K = (aj % 37)
209+ throw(toString(K))
210+ }
211+ else {
212+ let K = (ak % 37)
213+ throw(toString(K))
214+ }
215+ else if ((ak > 0))
216+ then if ((19 > ak))
217+ then {
218+ let K = (ak % 37)
219+ throw(toString(K))
220+ }
221+ else {
222+ let K = (al % 37)
223+ throw(toString(K))
224+ }
225+ else {
226+ let K = (al % 37)
227+ throw(toString(K))
228+ }
198229 }
199230
200231
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = (b * 100000000)
55
66
77 func c (d,e) = {
88 let f = base58'WAVES'
99 let g = d.payments[0]
1010 if ((g.amount >= a(e)))
1111 then (g.assetId == unit)
1212 else false
1313 }
1414
1515
1616 func h (i,j) = toString(j) :: i
1717
1818
1919 func k (i,j) = parseIntValue(j) :: i
2020
2121
2222 func l (i,j) = (i + j)
2323
2424
2525 func m (n) = {
2626 let o = n
2727 let p = size(o)
2828 let q = 0
2929 func r (s,t) = if ((t >= p))
3030 then s
3131 else l(s, o[t])
3232
3333 func u (s,t) = if ((t >= p))
3434 then s
3535 else throw("List size exceeds 50")
3636
3737 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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 v (n) = {
4242 let o = n
4343 let p = size(o)
4444 let q = nil
4545 func r (s,t) = if ((t >= p))
4646 then s
4747 else h(s, o[t])
4848
4949 func u (s,t) = if ((t >= p))
5050 then s
5151 else throw("List size exceeds 50")
5252
5353 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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 w (n) = {
5858 let o = n
5959 let p = size(o)
6060 let q = nil
6161 func r (s,t) = if ((t >= p))
6262 then s
6363 else k(s, o[t])
6464
6565 func u (s,t) = if ((t >= p))
6666 then s
6767 else throw("List size exceeds 50")
6868
6969 u(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(r(q, 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 x (n) = makeString(n, "|")
7474
7575
7676 func y (z) = split(z, "|")
7777
7878
7979 func A (n) = makeString(v(n), "|")
8080
8181
8282 func B (C) = w(split(C, "|"))
8383
8484
8585 func D (E) = {
8686 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
8787 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
8888 let H = sha256(value(G))
8989 let I = toInt(H, 16)
9090 (I % 37)
9191 }
9292
9393
9494 func J (K,L,M,N) = {
9595 let O = [32, 19, 21, 25, 34, 27, 36, 30, 23, 5, 16, 1, 14, 9, 18, 7, 12, 3]
9696 if (if ((size(M) == 1))
9797 then (N == "num")
9898 else false)
9999 then if ((M[0] == K))
100100 then (L * 36)
101101 else 0
102102 else if ((size(M) == 2))
103103 then if (containsElement(M, K))
104104 then (L * 18)
105105 else 0
106106 else if ((size(M) == 3))
107107 then if (containsElement(M, K))
108108 then (L * 12)
109109 else 0
110110 else if ((size(M) == 4))
111111 then if (containsElement(M, K))
112112 then (L * 9)
113113 else 0
114114 else if ((size(M) == 12))
115115 then if (containsElement(M, K))
116116 then (L * 3)
117117 else 0
118118 else if ((N == "red"))
119119 then if (containsElement(O, K))
120120 then (L * 2)
121121 else 0
122122 else if ((N == "black"))
123123 then if (if (!(containsElement(O, K)))
124124 then (K != 0)
125125 else false)
126126 then (L * 2)
127127 else 0
128128 else if ((N == "odd"))
129129 then if (((K % 2) != 0))
130130 then (L * 2)
131131 else 0
132132 else if ((N == "even"))
133133 then if (((K % 2) == 0))
134134 then (L * 2)
135135 else 0
136136 else if ((size(M) == 18))
137137 then if (containsElement(M, K))
138138 then (L * 2)
139139 else 0
140140 else 0
141141 }
142142
143143
144144 func P (d) = ("bet_Roulette_" + toString(d.caller))
145145
146146
147147 func Q (d) = ("betAmount_Roulette_" + toString(d.caller))
148148
149149
150150 func R (d) = ("selectedNumbers_Roulette_" + toString(d.caller))
151151
152152
153153 func S (d) = ("direction_Roulette_" + toString(d.caller))
154154
155155
156156 func T (d) = ((("log_Roulette_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
157157
158158
159159 func U (d) = ("status_Roulette_" + toString(d.caller))
160160
161161
162162 func V (d) = ("bet_LuckyWheel_" + toString(d.caller))
163163
164164
165165 func W (d) = ("won_LuckyWheel_" + toString(d.caller))
166166
167167
168168 func X (d) = ("randomNumber_LuckyWheel_" + toString(d.caller))
169169
170170
171171 func Y (d) = ((("log_LuckyWheel_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
172172
173173
174174 func Z (aa) = {
175175 let ab = aa
176176 if ((1 == ab))
177177 then a(2)
178178 else if ((3 == ab))
179179 then a(1)
180180 else if ((7 == ab))
181181 then a(6)
182182 else if ((9 == ab))
183183 then a(1)
184184 else 0
185185 }
186186
187187
188188 func ac (d) = ("status_Roulette_" + toString(d.caller))
189189
190190
191191 @Callable(d)
192192 func testRandomNumber (E) = {
193193 let F = valueOrErrorMessage(blockInfoByHeight(E), "unexcpected error")
194194 let G = valueOrErrorMessage(F.vrf, "unexcpected error")
195195 let H = sha256(value(G))
196- let K = (toInt(H) % ((37 - 0) + 1))
197- throw(toString(K))
196+ let ad = valueOrErrorMessage(blockInfoByHeight((E - 10)), "unexcpected error")
197+ let ae = valueOrErrorMessage(F.vrf, "unexcpected error")
198+ let af = sha256(value(G))
199+ let ag = valueOrErrorMessage(blockInfoByHeight((E - 20)), "unexcpected error")
200+ let ah = valueOrErrorMessage(F.vrf, "unexcpected error")
201+ let ai = sha256(value(G))
202+ let aj = toInt(H, 16)
203+ let ak = toInt(af, 16)
204+ let al = toInt(ai, 16)
205+ if ((aj > 0))
206+ then if ((19 > aj))
207+ then {
208+ let K = (aj % 37)
209+ throw(toString(K))
210+ }
211+ else {
212+ let K = (ak % 37)
213+ throw(toString(K))
214+ }
215+ else if ((ak > 0))
216+ then if ((19 > ak))
217+ then {
218+ let K = (ak % 37)
219+ throw(toString(K))
220+ }
221+ else {
222+ let K = (al % 37)
223+ throw(toString(K))
224+ }
225+ else {
226+ let K = (al % 37)
227+ throw(toString(K))
228+ }
198229 }
199230
200231

github/deemru/w8io/026f985 
39.36 ms