tx · 6mh7cGUqnMomhAPUQGmeYjvrhJzrvUMiQPTih4fCHvBF

3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R:  -0.01000000 Waves

2023.06.12 17:00 [2619547] smart account 3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R > SELF 0.00000000 Waves

{ "type": 13, "id": "6mh7cGUqnMomhAPUQGmeYjvrhJzrvUMiQPTih4fCHvBF", "fee": 1000000, "feeAssetId": null, "timestamp": 1686578511089, "version": 2, "chainId": 84, "sender": "3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R", "senderPublicKey": "3Lws6NHDGo96BZXMyvFcRMbR4bh6sRJ3Y7UUcd5vvhqG", "proofs": [ "2Y6rVhoGmvU1vaWFDtgKSHL63gidTa1vaCPV5RFJd5H56dEawdMEUDydcjjGFN7cQ9huh8cnwzL8ZbZueXUzjiKs" ], "script": "base64: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AgkBE2xpc3RJbnRUb0xpc3RTdHJpbmcBBQNhcnICAXwBGXN0cmluZ0RlY29tcHJlc3NUb0xpc3RJbnQBBmFyclN0cgkBE2xpc3RTdHJpbmdUb0xpc3RJbmcBCQC1CQIFBmFyclN0cgIBfAEJZ2V0UmFuZG9tAQxjb21taXRIZWlnaHQEC3JldmVhbEJsb2NrCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAO0HAQUMY29tbWl0SGVpZ2h0AhF1bmV4Y3BlY3RlZCBlcnJvcgQDdnJmCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQtyZXZlYWxCbG9jawN2cmYCEXVuZXhjcGVjdGVkIGVycm9yBApyYW5kb21IYXNoCQD3AwEJAQV2YWx1ZQEFA3ZyZgQEaGFzaAkAsgkCBQpyYW5kb21IYXNoABAJAGoCBQRoYXNoACUBD2dldFJhbmRvbVJ1bGxldAEMY29tbWl0SGVpZ2h0BApyYW5kb21IYXNoCQD3AwEJAMsBAgkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQUMY29tbWl0SGVpZ2h0A3ZyZgkAmgMBCQBlAgUMY29tbWl0SGVpZ2h0AAEEB2hhc2hJbnQJALIJAgUKcmFuZG9tSGFzaAAYCQBqAgUHaGFzaEludAAlAQ9SX1dpbkNhbGN1bGF0b3IEDHJhbmRvbU51bWJlcgliZXRBbW91bnQSc2VsZWN0ZWROdW1iZXJCZXRzDGJldERpcmVjdGlvbgQLUkVEX1NFQ1RPUlMJAMwIAgAgCQDMCAIAEwkAzAgCABUJAMwIAgAZCQDMCAIAIgkAzAgCABsJAMwIAgAkCQDMCAIAHgkAzAgCABcJAMwIAgAFCQDMCAIAEAkAzAgCAAEJAMwIAgAOCQDMCAIACQkAzAgCABIJAMwIAgAHCQDMCAIADAkAzAgCAAMFA25pbAMDCQAAAgkAkAMBBRJzZWxlY3RlZE51bWJlckJldHMAAQkAAAIFDGJldERpcmVjdGlvbgIDbnVtBwMJAAACCQCRAwIFEnNlbGVjdGVkTnVtYmVyQmV0cwAABQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAJAAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAIDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAEgAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAMDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQADAAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAQDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQACQAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAwDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAwAAAwkAAAIFDGJldERpcmVjdGlvbgIDcmVkAwkBD2NvbnRhaW5zRWxlbWVudAIFC1JFRF9TRUNUT1JTBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIFDGJldERpcmVjdGlvbgIFYmxhY2sDAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgULUkVEX1NFQ1RPUlMFDHJhbmRvbU51bWJlcgkBAiE9AgUMcmFuZG9tTnVtYmVyAAAHCQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CA29kZAMJAQIhPQIJAGoCBQxyYW5kb21OdW1iZXIAAgAACQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CBGV2ZW4DCQAAAgkAagIFDHJhbmRvbU51bWJlcgACAAAJAGgCBQliZXRBbW91bnQAAgAAAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzABIDCQEPY29udGFpbnNFbGVtZW50AgUSc2VsZWN0ZWROdW1iZXJCZXRzBQxyYW5kb21OdW1iZXIJAGgCBQliZXRBbW91bnQAAgAAAAABC1JfZ2V0QmV0S2V5AQFpCQCsAgICDWJldF9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARFSX2dldEJldEFtb3VudEtleQEBaQkArAICAhNiZXRBbW91bnRfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgEXUl9nZXRTZWxlY3RlZE51bWJlcnNLZXkBAWkJAKwCAgIZc2VsZWN0ZWROdW1iZXJzX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBEVJfZ2V0RGlyZWN0aW9uS2V5AQFpCQCsAgICE2RpcmVjdGlvbl9Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAQtSX2dldExvZ0tleQEBaQkArAICCQCsAgIJAKwCAgINbG9nX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEOUl9nZXRTdGF0dXNLZXkBAWkJAKwCAgIQc3RhdHVzX1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBDExXX2dldEJldEtleQEBaQkArAICAg9iZXRfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRXb25LZXkBAWkJAKwCAgIPd29uX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEVTFdfZ2V0UmFuZG9tTnVtYmVyS2V5AQFpCQCsAgICGHJhbmRvbU51bWJlcl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBDExXX2dldExvZ0tleQEBaQkArAICCQCsAgIJAKwCAgIPbG9nX0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgIBXwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAQ5MV193aGF0VXNlcldvbgEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAAIAAQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAIDCQAAAgADBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEAAQMJAAACAAcFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQAGAwkAAAIACQUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEAAAEPTFdfZ2V0U3RhdHVzS2V5AQFpCQCsAgICEHN0YXR1c19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAgFpARB0ZXN0UmFuZG9tTnVtYmVyAQFoBApyYW5kb21IYXNoCQD3AwEJAMsBAgkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQUBaAN2cmYJAJoDAQUBaAQHaGFzaEludAkAsgkCBQpyYW5kb21IYXNoABgEA3JlcwkAagIFB2hhc2hJbnQAJQMJAGYCBQNyZXMA////////////AQkAAgEJAKQDAQUDcmVzBAtyYW5kb21IYXNoMgkA9wMBCQDLAQIJAQV2YWx1ZQEICQEFdmFsdWUBCQDtBwEJAGUCBQFoANIJA3ZyZgkAmgMBCQBlAgUBaAB7BAhoYXNoSW50MgkAsgkCBQtyYW5kb21IYXNoMgAYBARyZXMyCQBqAgUHaGFzaEludAAlCQACAQkApAMBBQRyZXMyAWkBEXRlc3RSYW5kb21OdW1iZXIyAQFoBApyYW5kb21IYXNoCQD3AwEJAMsBAgkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQUBaAN2cmYJAJoDAQkAZQIFAWgAAQQHaGFzaEludAkAsgkCBQpyYW5kb21IYXNoABgEA3JlcwkAagIFB2hhc2hJbnQAAgQLcmFuZG9tSGFzaDIJAPcDAQkAywECCQEFdmFsdWUBCAkBBXZhbHVlAQkA7QcBBQFoA3ZyZgkAmgMBCQBlAgUBaAABBAhoYXNoSW50MgkAsgkCBQpyYW5kb21IYXNoABgEBHJlczIJAGoCBQdoYXNoSW50AAIEC3JhbmRvbUhhc2gzCQD3AwEJAMsBAgkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQUBaAN2cmYJAJoDAQkAZQIFAWgAAQQIaGFzaEludDMJALIJAgUKcmFuZG9tSGFzaAAYBARyZXMzCQBqAgUHaGFzaEludAACCQACAQkArAICCQCsAgIJAKQDAQUDcmVzCQCkAwEFBHJlczIJAKQDAQUEcmVzMwDjLSJR", "height": 2619547, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fxoz4qBZDvBoZjeMbWHSkSKFDNDTa82BRcf9a39D3Ata Next: GtzXh4bDuE31si58zCCATpSNC6zXRvVi9rWBzX9z89FM Diff:
OldNewDifferences
197197
198198 @Callable(d)
199199 func testRandomNumber (af) = {
200- let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
200+ let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes(af)))
201201 let K = toInt(H, 24)
202202 let ag = (K % 37)
203- throw(toString(ag))
203+ if ((ag > -1))
204+ then throw(toString(ag))
205+ else {
206+ let ah = sha256((value(value(blockInfoByHeight((af - 1234))).vrf) + toBytes((af - 123))))
207+ let ai = toInt(ah, 24)
208+ let aj = (K % 37)
209+ throw(toString(aj))
210+ }
204211 }
205212
206213
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 (E) = {
9595 let H = sha256((value(value(blockInfoByHeight(E)).vrf) + toBytes((E - 1))))
9696 let K = toInt(H, 24)
9797 (K % 37)
9898 }
9999
100100
101101 func L (M,N,O,P) = {
102102 let Q = [32, 19, 21, 25, 34, 27, 36, 30, 23, 5, 16, 1, 14, 9, 18, 7, 12, 3]
103103 if (if ((size(O) == 1))
104104 then (P == "num")
105105 else false)
106106 then if ((O[0] == M))
107107 then (N * 36)
108108 else 0
109109 else if ((size(O) == 2))
110110 then if (containsElement(O, M))
111111 then (N * 18)
112112 else 0
113113 else if ((size(O) == 3))
114114 then if (containsElement(O, M))
115115 then (N * 12)
116116 else 0
117117 else if ((size(O) == 4))
118118 then if (containsElement(O, M))
119119 then (N * 9)
120120 else 0
121121 else if ((size(O) == 12))
122122 then if (containsElement(O, M))
123123 then (N * 3)
124124 else 0
125125 else if ((P == "red"))
126126 then if (containsElement(Q, M))
127127 then (N * 2)
128128 else 0
129129 else if ((P == "black"))
130130 then if (if (!(containsElement(Q, M)))
131131 then (M != 0)
132132 else false)
133133 then (N * 2)
134134 else 0
135135 else if ((P == "odd"))
136136 then if (((M % 2) != 0))
137137 then (N * 2)
138138 else 0
139139 else if ((P == "even"))
140140 then if (((M % 2) == 0))
141141 then (N * 2)
142142 else 0
143143 else if ((size(O) == 18))
144144 then if (containsElement(O, M))
145145 then (N * 2)
146146 else 0
147147 else 0
148148 }
149149
150150
151151 func R (d) = ("bet_Roulette_" + toString(d.caller))
152152
153153
154154 func S (d) = ("betAmount_Roulette_" + toString(d.caller))
155155
156156
157157 func T (d) = ("selectedNumbers_Roulette_" + toString(d.caller))
158158
159159
160160 func U (d) = ("direction_Roulette_" + toString(d.caller))
161161
162162
163163 func V (d) = ((("log_Roulette_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
164164
165165
166166 func W (d) = ("status_Roulette_" + toString(d.caller))
167167
168168
169169 func X (d) = ("bet_LuckyWheel_" + toString(d.caller))
170170
171171
172172 func Y (d) = ("won_LuckyWheel_" + toString(d.caller))
173173
174174
175175 func Z (d) = ("randomNumber_LuckyWheel_" + toString(d.caller))
176176
177177
178178 func aa (d) = ((("log_LuckyWheel_" + toString(d.caller)) + "_") + toBase58String(d.transactionId))
179179
180180
181181 func ab (ac) = {
182182 let ad = ac
183183 if ((1 == ad))
184184 then a(2)
185185 else if ((3 == ad))
186186 then a(1)
187187 else if ((7 == ad))
188188 then a(6)
189189 else if ((9 == ad))
190190 then a(1)
191191 else 0
192192 }
193193
194194
195195 func ae (d) = ("status_Roulette_" + toString(d.caller))
196196
197197
198198 @Callable(d)
199199 func testRandomNumber (af) = {
200- let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
200+ let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes(af)))
201201 let K = toInt(H, 24)
202202 let ag = (K % 37)
203- throw(toString(ag))
203+ if ((ag > -1))
204+ then throw(toString(ag))
205+ else {
206+ let ah = sha256((value(value(blockInfoByHeight((af - 1234))).vrf) + toBytes((af - 123))))
207+ let ai = toInt(ah, 24)
208+ let aj = (K % 37)
209+ throw(toString(aj))
210+ }
204211 }
205212
206213
207214
208215 @Callable(d)
209216 func testRandomNumber2 (af) = {
210217 let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
211218 let K = toInt(H, 24)
212219 let ag = (K % 2)
213220 let ah = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
214221 let ai = toInt(H, 24)
215222 let aj = (K % 2)
216223 let ak = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
217224 let al = toInt(H, 24)
218225 let am = (K % 2)
219226 throw(((toString(ag) + toString(aj)) + toString(am)))
220227 }
221228
222229

github/deemru/w8io/873ac7e 
44.99 ms