tx · EdG54VjH9RvbUQoo67quxy6JssBqJxvv5UjBCvpiyeVU

3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R:  -0.01000000 Waves

2023.06.12 12:45 [2619289] smart account 3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R > SELF 0.00000000 Waves

{ "type": 13, "id": "EdG54VjH9RvbUQoo67quxy6JssBqJxvv5UjBCvpiyeVU", "fee": 1000000, "feeAssetId": null, "timestamp": 1686563110171, "version": 2, "chainId": 84, "sender": "3N9bCLWJvRQQmKHye2xD7xd3a8bGMicRo9R", "senderPublicKey": "3Lws6NHDGo96BZXMyvFcRMbR4bh6sRJ3Y7UUcd5vvhqG", "proofs": [ "56SpGzMUY1PKqF1MNxsMP4DaY1VHJFcMdg4KYgANZuC5CKCo4GNwGFnrbYeRHh5yb37nui7oL8c3qJzkPa51ifGX" ], "script": "base64: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aXN0SW50VG9MaXN0U3RyaW5nAQUDYXJyAgF8ARlzdHJpbmdEZWNvbXByZXNzVG9MaXN0SW50AQZhcnJTdHIJARNsaXN0U3RyaW5nVG9MaXN0SW5nAQkAtQkCBQZhcnJTdHICAXwBCWdldFJhbmRvbQEMY29tbWl0SGVpZ2h0BAtyZXZlYWxCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDtBwEFDGNvbW1pdEhlaWdodAIRdW5leGNwZWN0ZWQgZXJyb3IEA3ZyZgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAULcmV2ZWFsQmxvY2sDdnJmAhF1bmV4Y3BlY3RlZCBlcnJvcgQKcmFuZG9tSGFzaAkA9wMBCQEFdmFsdWUBBQN2cmYEBGhhc2gJALIJAgUKcmFuZG9tSGFzaAAQCQBqAgUEaGFzaAAlAQ9nZXRSYW5kb21SdWxsZXQBDGNvbW1pdEhlaWdodAQKcmFuZG9tSGFzaAkA9wMBCQDLAQIJAQV2YWx1ZQEICQEFdmFsdWUBCQDtBwEFDGNvbW1pdEhlaWdodAN2cmYJAJoDAQUGaGVpZ2h0BAdoYXNoSW50CQCyCQIFCnJhbmRvbUhhc2gAGAkAagIFB2hhc2hJbnQAJQEPUl9XaW5DYWxjdWxhdG9yBAxyYW5kb21OdW1iZXIJYmV0QW1vdW50EnNlbGVjdGVkTnVtYmVyQmV0cwxiZXREaXJlY3Rpb24EC1JFRF9TRUNUT1JTCQDMCAIAIAkAzAgCABMJAMwIAgAVCQDMCAIAGQkAzAgCACIJAMwIAgAbCQDMCAIAJAkAzAgCAB4JAMwIAgAXCQDMCAIABQkAzAgCABAJAMwIAgABCQDMCAIADgkAzAgCAAkJAMwIAgASCQDMCAIABwkAzAgCAAwJAMwIAgADBQNuaWwDAwkAAAIJAJADAQUSc2VsZWN0ZWROdW1iZXJCZXRzAAEJAAACBQxiZXREaXJlY3Rpb24CA251bQcDCQAAAgkAkQMCBRJzZWxlY3RlZE51bWJlckJldHMAAAUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50ACQAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwACAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50ABIAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwADAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAwAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwAEAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAkAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwAMAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAMAAAMJAAACBQxiZXREaXJlY3Rpb24CA3JlZAMJAQ9jb250YWluc0VsZW1lbnQCBQtSRURfU0VDVE9SUwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAIAAAMJAAACBQxiZXREaXJlY3Rpb24CBWJsYWNrAwMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIFC1JFRF9TRUNUT1JTBQxyYW5kb21OdW1iZXIJAQIhPQIFDHJhbmRvbU51bWJlcgAABwkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgNvZGQDCQECIT0CCQBqAgUMcmFuZG9tTnVtYmVyAAIAAAkAaAIFCWJldEFtb3VudAACAAADCQAAAgUMYmV0RGlyZWN0aW9uAgRldmVuAwkAAAIJAGoCBQxyYW5kb21OdW1iZXIAAgAACQBoAgUJYmV0QW1vdW50AAIAAAMJAAACCQCQAwEFEnNlbGVjdGVkTnVtYmVyQmV0cwASAwkBD2NvbnRhaW5zRWxlbWVudAIFEnNlbGVjdGVkTnVtYmVyQmV0cwUMcmFuZG9tTnVtYmVyCQBoAgUJYmV0QW1vdW50AAIAAAAAAQtSX2dldEJldEtleQEBaQkArAICAg1iZXRfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgERUl9nZXRCZXRBbW91bnRLZXkBAWkJAKwCAgITYmV0QW1vdW50X1JvdWxldHRlXwkApQgBCAUBaQZjYWxsZXIBF1JfZ2V0U2VsZWN0ZWROdW1iZXJzS2V5AQFpCQCsAgICGXNlbGVjdGVkTnVtYmVyc19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyARFSX2dldERpcmVjdGlvbktleQEBaQkArAICAhNkaXJlY3Rpb25fUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgELUl9nZXRMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICDWxvZ19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAgFfCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQBDlJfZ2V0U3RhdHVzS2V5AQFpCQCsAgICEHN0YXR1c19Sb3VsZXR0ZV8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRCZXRLZXkBAWkJAKwCAgIPYmV0X0x1Y2t5V2hlZWxfCQClCAEIBQFpBmNhbGxlcgEMTFdfZ2V0V29uS2V5AQFpCQCsAgICD3dvbl9MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXIBFUxXX2dldFJhbmRvbU51bWJlcktleQEBaQkArAICAhhyYW5kb21OdW1iZXJfTHVja3lXaGVlbF8JAKUIAQgFAWkGY2FsbGVyAQxMV19nZXRMb2dLZXkBAWkJAKwCAgkArAICCQCsAgICD2xvZ19MdWNreVdoZWVsXwkApQgBCAUBaQZjYWxsZXICAV8JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAEOTFdfd2hhdFVzZXJXb24BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAACAAEFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQACAwkAAAIAAwUHJG1hdGNoMAkBCm51bVRvV2F2ZXMBAAEDCQAAAgAHBQckbWF0Y2gwCQEKbnVtVG9XYXZlcwEABgMJAAACAAkFByRtYXRjaDAJAQpudW1Ub1dhdmVzAQABAAABD0xXX2dldFN0YXR1c0tleQEBaQkArAICAhBzdGF0dXNfUm91bGV0dGVfCQClCAEIBQFpBmNhbGxlcgEBaQEQdGVzdFJhbmRvbU51bWJlcgEBaAQKcmFuZG9tSGFzaAkA9wMBCQDLAQIJAQV2YWx1ZQEICQEFdmFsdWUBCQDtBwEFAWgDdnJmCQCaAwEJAGUCBQFoAAEEB2hhc2hJbnQJALIJAgUKcmFuZG9tSGFzaAAYBANyZXMJAGoCBQdoYXNoSW50ACUJAAIBCQCkAwEFA3JlcwCiYRNC", "height": 2619289, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EgJSikNEP3c6WenyabF2LttHETXtcsQf75X8r4XbMBKf Next: 6Dmw6FfR6FTm8CsPPciw31b1KMtomkd2XxbV1JPqmdja Diff:
OldNewDifferences
196196
197197
198198 @Callable(d)
199-func testRandomNumber () = {
200- let af = (toInt(sha256(value(value(blockInfoByHeight((height - 1))).vrf)), 24) % 123)
201- let ag = toInt(sha256(value(value(blockInfoByHeight((height - af))).vrf)), 24)
202- let H = sha256((value(value(blockInfoByHeight(height)).vrf) + toBytes(ag)))
199+func testRandomNumber (af) = {
200+ let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
203201 let K = toInt(H, 24)
204- let ah = (K % 37)
205- throw(toString(ah))
202+ let ag = (K % 37)
203+ throw(toString(ag))
206204 }
207205
208206
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(height)))
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)
199-func testRandomNumber () = {
200- let af = (toInt(sha256(value(value(blockInfoByHeight((height - 1))).vrf)), 24) % 123)
201- let ag = toInt(sha256(value(value(blockInfoByHeight((height - af))).vrf)), 24)
202- let H = sha256((value(value(blockInfoByHeight(height)).vrf) + toBytes(ag)))
199+func testRandomNumber (af) = {
200+ let H = sha256((value(value(blockInfoByHeight(af)).vrf) + toBytes((af - 1))))
203201 let K = toInt(H, 24)
204- let ah = (K % 37)
205- throw(toString(ah))
202+ let ag = (K % 37)
203+ throw(toString(ag))
206204 }
207205
208206

github/deemru/w8io/026f985 
35.01 ms