tx · C6BVxkC4o14UBNcA5r9YrqtbVuDsDvAXyShBAjCgvhvw

3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD:  -0.01500000 Waves

2019.10.05 15:14 [706422] smart account 3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD > SELF 0.00000000 Waves

{ "type": 13, "id": "C6BVxkC4o14UBNcA5r9YrqtbVuDsDvAXyShBAjCgvhvw", "fee": 1500000, "feeAssetId": null, "timestamp": 1570277702918, "version": 1, "sender": "3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD", "senderPublicKey": "8W9JLTJTfxrJrBNXxngzueBF4vJqeb6p9jFob7wb6QWQ", "proofs": [ "32UqUxGQFMYaxeAG1VUNTZSq32UAapASsrhucS7UQN8kwi14huuQiS2oavyxLja1PpwLCHMZjnpNSkvXnWN8cMgL" ], "script": "base64:AAIDAAAAAAAAAAwIARIAEgYKBAgICAgAAAAkAAAAAA1yc2FQdWJsaWNLZXkxCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU9raXV6L0JWNEVqb3hHaFRtTkNidDJUZ2tiU1BIL3c2OWIzRjFyS21ENjFKaVBYdnZGOEwycEk5eE9ZY1c0Rm1vRVpWSGxSUXRBbGFKeWtsMytyc3JFQ0F3RUFBUT09AAAAAA1yc2FQdWJsaWNLZXkyCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQUpuWHpiTS9WMnNEVjFVTGJQU09sSGtsZE9UV1JySGk1ZnhJa0JtdWV2ckNsTVBWSDdycWNjd2lyRE5jTWRJZHdYSEk5QWRoajlGV2p3R0l3ZlUvSzZNQ0F3RUFBUT09AAAAAA1yc2FQdWJsaWNLZXkzCQACWwAAAAECAAAAgE1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU9SRGV2eTByNGt6THFPeVNsb0I2M0h1djJlNHplSEtIakNzeTV2dEZLbVdaYlhKYThnWll0NCtFa2xGSW8xSzlvcXU1QkFQVmZKM0ZPenMyVTFBK2cwQ0F3RUFBUT09AAAAAA1nYW1lVGltZUZyYW1lCQAAaAAAAAIAAAAAAAAABaAAAAAAAAAAAAIAAAAACmNvbW1pc3Npb24AAAAAAAAHoSAAAAAACHN0YXRlQWNjAgAAAAhBY2NlcHRlZAAAAAAIc3RhdGVXaW4CAAAAA1dpbgAAAAAMc3RhdGVUaW1lb3V0AgAAAAxXaW5CeVRpbWVvdXQAAAAACXN0YXRlTG9zZQIAAAAETG9zZQAAAAAHd2F2ZXNJZAUAAAAEdW5pdAAAAAAFYnRjSWQBAAAAIOvzosVhoibMsJFhnXGyvjcIhgPvNh4Hf/DTda1QyUJGAAAAAAVldGhJZAEAAAAgTJ+bcfm5c5bsRO7AKKuBgxBIo86PQvQYe3Uj/7n7JnoAAAAABWx0Y0lkAQAAACBlCsW0lfXNUW1dchHvCCRKuoSGa9K+jEhi7hIhhzyatgAAAAAFdnN0SWQBAAAAIEKY/z/ZZkga57PyFNSxGKoaWKMhf/RBjPIdj8CXT+qQAAAAAAV3Y3RJZAEAAAAg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A25pbAkAAAIAAAABAgAAABRhc3NldElkIGlzIGluY29ycmVjdAAAAAFpAQAAAAhwbGF5R2FtZQAAAAQAAAAGZ2FtZUlkAAAACHJzYVNpZ24xAAAACHJzYVNpZ24yAAAACHJzYVNpZ24zBAAAAAhkYXRhTGlzdAkBAAAAC2dldERhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAAEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAQQAAAAGYmV0QW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAIEAAAACWFzc2V0TmFtZQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAwQAAAAJZ2FtZVN0YXJ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAQEAAAACWFzc2V0SWQ1OAkBAAAAEUFzc2V0TmFtZVRvQmFzZTU4AAAAAQUAAAAJYXNzZXROYW1lBAAAAA1nYW1lVGltZUNoZWNrCQAAZgAAAAIFAAAADWdhbWVUaW1lRnJhbWUJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAlnYW1lU3RhcnQEAAAADHN0YXRlQ29ycmVjdAkAAAAAAAACBQAAAAlnYW1lU3RhdGUFAAAACHN0YXRlQWNjBAAAABJzZXRSZXNlcnZlZEJhbGFuY2UJAQAAABdkZWNyZWFzZVJlc2VydmVkQmFsYW5jZQAAAAIFAAAABmJldEFtdAUAAAAJYXNzZXROYW1lBAAAABNkcm9wcGVkRWxlbWVudHNMaXN0BAAAAAhyb2xsMUludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMQUAAAANcnNhUHVibGljS2V5MQQAAAAIcm9sbDJJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjIFAAAADXJzYVB1YmxpY0tleTIEAAAACHJvbGwz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dmVkQmFsYW5jZQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADXBsYXllckFkZHJlc3MFAAAACXdpblBtdEFtdAUAAAAJYXNzZXRJZDU4BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQJAAEsAAAAAgUAAAAMc3RhdGVUaW1lb3V0BQAAABBzdHJpbmdGb3JOZXdEYXRhCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAACVJlc2VydmVkXwUAAAAJYXNzZXROYW1lBQAAABJzZXRSZXNlcnZlZEJhbGFuY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZiZXRBbXQFAAAACWFzc2V0SWQ1OAUAAAADbmlsCQAAAgAAAAECAAAAF0dhbWUgc3RhdGUgaXMgaW5jb3JyZWN0AAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAQAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UJAAQaAAAAAgUAAAAEdGhpcwIAAAAIUmVzZXJ2ZWQEAAAAD3Jlc2VydmVkQmFsYW5jZQQAAAAHJG1hdGNoMQUAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMQUAAAABYQAAAAAAAAAAAAQAAAAQYXZhaWxhYmxlQmFsYW5jZQkAAGUAAAACCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwUAAAAPcmVzZXJ2ZWRCYWxhbmNlBAAAAA9hdmFpbGlibGVBbW91bnQJAABnAAAAAgUAAAAQYXZhaWxhYmxlQmFsYW5jZQgFAAAAA3R0eAAAAAZhbW91bnQEAAAACXNpZ25hdHVyZQkAAfQAAAADCAUAAAADdHR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAADdHR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAA3R0eAAAAA9zZW5kZXJQdWJsaWNLZXkDBQAAAA9hdmFpbGlibGVBbW91bnQFAAAACXNpZ25hdHVyZQcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAARzc3R4BQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAARzc3R4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAAEc3N0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAARzc3R4AAAAD3NlbmRlclB1YmxpY0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAAAABGlzdHgFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAABGlzdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAARpc3R4AAAABnByb29mcwAAAAAAAAAAAAgFAAAABGlzdHgAAAAPc2VuZGVyUHVibGljS2V5B21kymc=", "chainId": 84, "height": 706422, "spentComplexity": 0 } View: original | compacted Prev: 6RhvMkHuiRQWbRM2MxGbMC5CCL81SBcyC1oY93tASMP9 Next: 5mQsmZJmPFCJhXUDARfCcsAjr863bBCGYJrh2mKmdjA1 Diff:
OldNewDifferences
99
1010 let d = (1440 * 2)
1111
12-let e = "Accepted"
12+let e = 500000
1313
14-let f = "Win"
14+let f = "Accepted"
1515
16-let g = "WinByTimeout"
16+let g = "Win"
1717
18-let h = "Lose"
18+let h = "WinByTimeout"
1919
20-let i = unit
20+let i = "Lose"
2121
22-let j = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
22+let j = unit
2323
24-let k = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
24+let k = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
2525
26-let l = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
26+let l = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
2727
28-let m = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
28+let m = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
2929
30-let n = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
30+let n = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
3131
32-let o = 1000
32+let o = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
3333
34-let p = (100000000 / o)
34+let p = 1000
3535
36-let q = (p * 10)
36+let q = (100000000 / p)
3737
38-let r = (10000 / o)
38+let r = (q * 10)
3939
40-let s = (r * 10)
40+let s = (10000 / p)
4141
42-let t = (1000000 / o)
42+let t = (s * 10)
4343
44-let u = (t * 10)
44+let u = (1000000 / p)
4545
46-let v = (2000000 / o)
46+let v = (u * 10)
4747
48-let w = (v * 10)
48+let w = (2000000 / p)
4949
50-let x = (500000000 / o)
50+let x = (w * 10)
5151
52-let y = (x * 10)
52+let y = (500000000 / p)
5353
54-let z = (500000000 / o)
54+let z = (y * 10)
5555
56-let A = (z * 10)
56+let A = (500000000 / p)
5757
58-func B (C,D) = if ((C == "WAVES"))
59- then if (if ((D >= p))
60- then (q >= D)
58+let B = (A * 10)
59+
60+func C (D,E) = if ((D == "WAVES"))
61+ then if (if ((E >= q))
62+ then (r >= E)
6163 else false)
6264 then true
6365 else throw("Bet amount is not in range")
64- else if ((C == "BTC"))
65- then if (if ((D >= r))
66- then (s >= D)
66+ else if ((D == "BTC"))
67+ then if (if ((E >= s))
68+ then (t >= E)
6769 else false)
6870 then true
6971 else throw("Bet amount is not in range")
70- else if ((C == "ETH"))
71- then if (if ((D >= t))
72- then (u >= D)
72+ else if ((D == "ETH"))
73+ then if (if ((E >= u))
74+ then (v >= E)
7375 else false)
7476 then true
7577 else throw("Bet amount is not in range")
76- else if ((C == "LTC"))
77- then if (if ((D >= v))
78- then (w >= D)
78+ else if ((D == "LTC"))
79+ then if (if ((E >= w))
80+ then (x >= E)
7981 else false)
8082 then true
8183 else throw("Bet amount is not in range")
82- else if ((C == "WCT"))
83- then if (if ((D >= x))
84- then (y >= D)
84+ else if ((D == "WCT"))
85+ then if (if ((E >= y))
86+ then (z >= E)
8587 else false)
8688 then true
8789 else throw("Bet amount is not in range")
88- else if (if ((D >= z))
89- then (A >= D)
90+ else if (if ((E >= A))
91+ then (B >= E)
9092 else false)
9193 then true
9294 else throw("Bet amount is not in range")
9395
9496
95-func E (D,F) = {
96- let G = {
97- let H = getInteger(this, ("Reserved_" + F))
98- let I = H
99- if ($isInstanceOf(I, "Int"))
97+func F (G,H) = {
98+ let I = {
99+ let J = getInteger(this, ("Reserved_" + H))
100+ let K = J
101+ if ($isInstanceOf(K, "Int"))
100102 then {
101- let J = I
102- J
103+ let L = K
104+ L
103105 }
104106 else 0
105107 }
106- let K = (G + D)
107- if ((wavesBalance(this) >= K))
108+ let M = (I + G)
109+ if ((wavesBalance(this) >= M))
108110 then {
109- let E = K
110- E
111+ let F = M
112+ F
111113 }
112114 else throw("Bet was rejected. Insufficient funds on game account.")
113115 }
114116
115117
116-func L (M) = {
117- let N = getString(this, M)
118- let J = {
119- let I = N
120- if ($isInstanceOf(I, "String"))
118+func N (O) = {
119+ let P = getString(this, O)
120+ let L = {
121+ let K = P
122+ if ($isInstanceOf(K, "String"))
121123 then {
122- let J = I
123- J
124+ let L = K
125+ L
124126 }
125127 else throw("GameId was not found")
126128 }
127- split(J, "_")
129+ split(L, "_")
128130 }
129131
130132
131-func O (P) = if ((2 > P))
133+func Q (R) = if ((2 > R))
132134 then "7"
133- else if ((4 > P))
135+ else if ((4 > R))
134136 then "6"
135- else if ((6 > P))
137+ else if ((6 > R))
136138 then "5"
137- else if ((8 > P))
139+ else if ((8 > R))
138140 then "4"
139- else if ((10 > P))
141+ else if ((10 > R))
140142 then "3"
141- else if ((12 > P))
143+ else if ((12 > R))
142144 then "2"
143145 else "1"
144146
145147
146-func Q (M,R,S) = {
147- let T = rsaVerify(SHA256, toBytes(M), fromBase64String(R), S)
148- if (T)
148+func S (O,T,U) = {
149+ let V = rsaVerify(SHA256, toBytes(O), fromBase64String(T), U)
150+ if (V)
149151 then {
150- let P = ((toInt(sha256(fromBase64String(R))) % 19) + 1)
151- if (if ((P > 0))
152- then (20 >= P)
152+ let R = ((toInt(sha256(fromBase64String(T))) % 19) + 1)
153+ if (if ((R > 0))
154+ then (20 >= R)
153155 else false)
154- then P
156+ then R
155157 else throw("Integer is not in range")
156158 }
157159 else throw("Rsa Signature is invalid")
158160 }
159161
160162
161-func U (V,W) = {
162- let H = getInteger(this, ("Reserved_" + W))
163- let X = {
164- let I = H
165- if ($isInstanceOf(I, "Int"))
163+func W (X,Y) = {
164+ let J = getInteger(this, ("Reserved_" + Y))
165+ let Z = {
166+ let K = J
167+ if ($isInstanceOf(K, "Int"))
166168 then {
167- let J = I
168- J
169+ let L = K
170+ L
169171 }
170172 else 0
171173 }
172- let U = (X - V)
173- if ((U > 0))
174- then U
174+ let W = (Z - X)
175+ if ((W > 0))
176+ then W
175177 else throw("Reserved balance couldn't be less than 0")
176178 }
177179
178180
179-func Y (Z,aa) = if ((Z == "777"))
181+func aa (ab,ac) = if ((ab == "777"))
180182 then 5370
181- else if ((Z == "666"))
183+ else if ((ab == "666"))
182184 then 1300
183- else if ((Z == "555"))
185+ else if ((ab == "555"))
184186 then 450
185- else if ((Z == "444"))
187+ else if ((ab == "444"))
186188 then 200
187- else if ((Z == "333"))
189+ else if ((ab == "333"))
188190 then 150
189- else if ((Z == "222"))
191+ else if ((ab == "222"))
190192 then 110
191- else if ((Z == "111"))
193+ else if ((ab == "111"))
192194 then 40
193- else if ((aa == "77"))
195+ else if ((ac == "77"))
194196 then 270
195- else if ((aa == "66"))
197+ else if ((ac == "66"))
196198 then 130
197- else if ((aa == "55"))
199+ else if ((ac == "55"))
198200 then 65
199- else if ((aa == "44"))
201+ else if ((ac == "44"))
200202 then 30
201- else if ((aa == "33"))
203+ else if ((ac == "33"))
202204 then 20
203- else if ((aa == "22"))
205+ else if ((ac == "22"))
204206 then 15
205- else if ((aa == "11"))
207+ else if ((ac == "11"))
206208 then 10
207209 else 0
208210
209211
210-func ab (ac) = if ((ac == "WAVES"))
211- then i
212- else if ((ac == "BTC"))
213- then j
214- else if ((ac == "ETH"))
215- then k
216- else if ((ac == "LTC"))
217- then l
218- else if ((ac == "VST"))
219- then m
220- else if ((ac == "WCT"))
221- then n
212+func ad (ae) = if ((ae == "WAVES"))
213+ then j
214+ else if ((ae == "BTC"))
215+ then k
216+ else if ((ae == "ETH"))
217+ then l
218+ else if ((ae == "LTC"))
219+ then m
220+ else if ((ae == "VST"))
221+ then n
222+ else if ((ae == "WCT"))
223+ then o
222224 else throw("Asset name is incorrect")
223225
224226
225-@Callable(ad)
227+@Callable(af)
226228 func makeBet () = {
227- let ae = extract(ad.payment)
228- let D = ae.amount
229- let M = toBase58String(ad.transactionId)
230- let af = height
231- let ag = toBase58String(ad.callerPublicKey)
232- let F = if (!(isDefined(ae.assetId)))
229+ let ag = extract(af.payment)
230+ let E = (ag.amount - e)
231+ let O = toBase58String(af.transactionId)
232+ let ah = height
233+ let ai = toBase58String(af.callerPublicKey)
234+ let H = if (!(isDefined(ag.assetId)))
233235 then "WAVES"
234- else if ((ae.assetId == j))
236+ else if ((ag.assetId == k))
235237 then "BTC"
236- else if ((ae.assetId == k))
238+ else if ((ag.assetId == l))
237239 then "ETH"
238- else if ((ae.assetId == l))
240+ else if ((ag.assetId == m))
239241 then "LTC"
240- else if ((ae.assetId == n))
242+ else if ((ag.assetId == o))
241243 then "WCT"
242- else if ((ae.assetId == m))
244+ else if ((ag.assetId == n))
243245 then "VST"
244246 else throw("AssetId is incorrect")
245- let ah = E(D, F)
246- let ai = B(F, D)
247- if (ai)
247+ let aj = F(E, H)
248+ let ak = C(H, E)
249+ if (ak)
248250 then {
249- let aj = ((((((((e + "_") + ag) + "_") + toString(D)) + "_") + F) + "_") + toString(af))
250- WriteSet([DataEntry(M, aj), DataEntry(("Reserved_" + F), ah)])
251+ let al = ((((((((f + "_") + ai) + "_") + toString(E)) + "_") + H) + "_") + toString(ah))
252+ WriteSet([DataEntry(O, al), DataEntry(("Reserved_" + H), aj)])
251253 }
252254 else throw("assetId is incorrect")
253255 }
254256
255257
256258
257-@Callable(ad)
258-func playGame (M,ak,al,am) = {
259- let an = L(M)
260- let ao = an[0]
261- let ap = addressFromPublicKey(fromBase58String(an[1]))
262- let V = parseIntValue(an[2])
263- let ac = an[3]
264- let af = parseIntValue(an[4])
265- let aq = ab(ac)
266- let ar = (d > (height - af))
267- let as = (ao == e)
268- let ah = U(V, ac)
269- let at = {
270- let au = Q(M, ak, a)
271- let av = Q(M, al, b)
272- let aw = Q(M, am, c)
273- let ax = O(au)
274- let ay = O(av)
275- let az = O(aw)
276-[ax, ay, az]
259+@Callable(af)
260+func playGame (O,am,an,ao) = {
261+ let ap = N(O)
262+ let aq = ap[0]
263+ let ar = addressFromPublicKey(fromBase58String(ap[1]))
264+ let X = parseIntValue(ap[2])
265+ let ae = ap[3]
266+ let ah = parseIntValue(ap[4])
267+ let as = ad(ae)
268+ let at = (d > (height - ah))
269+ let au = (aq == f)
270+ let aj = W(X, ae)
271+ let av = {
272+ let aw = S(O, am, a)
273+ let ax = S(O, an, b)
274+ let ay = S(O, ao, c)
275+ let az = Q(aw)
276+ let aA = Q(ax)
277+ let aB = Q(ay)
278+[az, aA, aB]
277279 }
278- let aA = {
279- let Z = ((at[0] + at[1]) + at[2])
280- let aa = (at[0] + at[1])
281- let aB = Y(Z, aa)
282- ((V * aB) / 10)
280+ let aC = {
281+ let ab = ((av[0] + av[1]) + av[2])
282+ let ac = (av[0] + av[1])
283+ let aD = aa(ab, ac)
284+ ((X * aD) / 10)
283285 }
284- let aC = ((((((an[1] + "_") + an[2]) + "_") + an[3]) + "_") + an[4])
285- let aD = ((at[0] + at[1]) + at[2])
286- if (as)
287- then if (ar)
288- then if ((aA == 0))
289- then WriteSet([DataEntry(M, ((((((h + "_") + aC) + "_") + toString(aA)) + "_") + aD)), DataEntry(("Reserved_" + ac), ah)])
290- else ScriptResult(WriteSet([DataEntry(M, ((((((f + "_") + aC) + "_") + toString(aA)) + "_") + aD)), DataEntry(("Reserved_" + ac), ah)]), TransferSet([ScriptTransfer(ap, aA, aq)]))
291- else ScriptResult(WriteSet([DataEntry(M, (g + aC)), DataEntry(("Reserved_" + ac), ah)]), TransferSet([ScriptTransfer(ap, V, aq)]))
286+ let aE = {
287+ let aF = assetBalance(this, as)
288+ if ((aC > aF))
289+ then (X * 2)
290+ else aC
291+ }
292+ let aG = ((((((ap[1] + "_") + ap[2]) + "_") + ap[3]) + "_") + ap[4])
293+ let aH = ((av[0] + av[1]) + av[2])
294+ if (au)
295+ then if (at)
296+ then if ((aC == 0))
297+ then WriteSet([DataEntry(O, ((((((i + "_") + aG) + "_") + toString(aC)) + "_") + aH)), DataEntry(("Reserved_" + ae), aj)])
298+ else ScriptResult(WriteSet([DataEntry(O, ((((((g + "_") + aG) + "_") + toString(aC)) + "_") + aH)), DataEntry(("Reserved_" + ae), aj)]), TransferSet([ScriptTransfer(ar, aE, as)]))
299+ else ScriptResult(WriteSet([DataEntry(O, (h + aG)), DataEntry(("Reserved_" + ae), aj)]), TransferSet([ScriptTransfer(ar, X, as)]))
292300 else throw("Game state is incorrect")
293301 }
294302
295303
296-@Verifier(aE)
297-func aF () = {
298- let I = aE
299- if ($isInstanceOf(I, "TransferTransaction"))
304+@Verifier(aI)
305+func aJ () = {
306+ let K = aI
307+ if ($isInstanceOf(K, "TransferTransaction"))
300308 then {
301- let aG = I
302- let H = getInteger(this, "Reserved")
303- let aH = {
304- let aI = H
305- if ($isInstanceOf(aI, "Int"))
309+ let aK = K
310+ let J = getInteger(this, "Reserved")
311+ let aL = {
312+ let aM = J
313+ if ($isInstanceOf(aM, "Int"))
306314 then {
307- let J = aI
308- J
315+ let L = aM
316+ L
309317 }
310318 else 0
311319 }
312- let aJ = (wavesBalance(this) - aH)
313- let aK = (aJ >= aG.amount)
314- let aL = sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
315- if (aK)
316- then aL
320+ let aN = (wavesBalance(this) - aL)
321+ let aO = (aN >= aK.amount)
322+ let aP = sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
323+ if (aO)
324+ then aP
317325 else false
318326 }
319- else if ($isInstanceOf(I, "SetScriptTransaction"))
327+ else if ($isInstanceOf(K, "SetScriptTransaction"))
320328 then {
321- let aM = I
322- sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
329+ let aQ = K
330+ sigVerify(aQ.bodyBytes, aQ.proofs[0], aQ.senderPublicKey)
323331 }
324- else if ($isInstanceOf(I, "InvokeScriptTransaction"))
332+ else if ($isInstanceOf(K, "InvokeScriptTransaction"))
325333 then {
326- let aN = I
327- sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
334+ let aR = K
335+ sigVerify(aR.bodyBytes, aR.proofs[0], aR.senderPublicKey)
328336 }
329337 else false
330338 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
55
66 let b = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
77
88 let c = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
99
1010 let d = (1440 * 2)
1111
12-let e = "Accepted"
12+let e = 500000
1313
14-let f = "Win"
14+let f = "Accepted"
1515
16-let g = "WinByTimeout"
16+let g = "Win"
1717
18-let h = "Lose"
18+let h = "WinByTimeout"
1919
20-let i = unit
20+let i = "Lose"
2121
22-let j = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
22+let j = unit
2323
24-let k = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
24+let k = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
2525
26-let l = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
26+let l = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
2727
28-let m = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
28+let m = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
2929
30-let n = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
30+let n = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
3131
32-let o = 1000
32+let o = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
3333
34-let p = (100000000 / o)
34+let p = 1000
3535
36-let q = (p * 10)
36+let q = (100000000 / p)
3737
38-let r = (10000 / o)
38+let r = (q * 10)
3939
40-let s = (r * 10)
40+let s = (10000 / p)
4141
42-let t = (1000000 / o)
42+let t = (s * 10)
4343
44-let u = (t * 10)
44+let u = (1000000 / p)
4545
46-let v = (2000000 / o)
46+let v = (u * 10)
4747
48-let w = (v * 10)
48+let w = (2000000 / p)
4949
50-let x = (500000000 / o)
50+let x = (w * 10)
5151
52-let y = (x * 10)
52+let y = (500000000 / p)
5353
54-let z = (500000000 / o)
54+let z = (y * 10)
5555
56-let A = (z * 10)
56+let A = (500000000 / p)
5757
58-func B (C,D) = if ((C == "WAVES"))
59- then if (if ((D >= p))
60- then (q >= D)
58+let B = (A * 10)
59+
60+func C (D,E) = if ((D == "WAVES"))
61+ then if (if ((E >= q))
62+ then (r >= E)
6163 else false)
6264 then true
6365 else throw("Bet amount is not in range")
64- else if ((C == "BTC"))
65- then if (if ((D >= r))
66- then (s >= D)
66+ else if ((D == "BTC"))
67+ then if (if ((E >= s))
68+ then (t >= E)
6769 else false)
6870 then true
6971 else throw("Bet amount is not in range")
70- else if ((C == "ETH"))
71- then if (if ((D >= t))
72- then (u >= D)
72+ else if ((D == "ETH"))
73+ then if (if ((E >= u))
74+ then (v >= E)
7375 else false)
7476 then true
7577 else throw("Bet amount is not in range")
76- else if ((C == "LTC"))
77- then if (if ((D >= v))
78- then (w >= D)
78+ else if ((D == "LTC"))
79+ then if (if ((E >= w))
80+ then (x >= E)
7981 else false)
8082 then true
8183 else throw("Bet amount is not in range")
82- else if ((C == "WCT"))
83- then if (if ((D >= x))
84- then (y >= D)
84+ else if ((D == "WCT"))
85+ then if (if ((E >= y))
86+ then (z >= E)
8587 else false)
8688 then true
8789 else throw("Bet amount is not in range")
88- else if (if ((D >= z))
89- then (A >= D)
90+ else if (if ((E >= A))
91+ then (B >= E)
9092 else false)
9193 then true
9294 else throw("Bet amount is not in range")
9395
9496
95-func E (D,F) = {
96- let G = {
97- let H = getInteger(this, ("Reserved_" + F))
98- let I = H
99- if ($isInstanceOf(I, "Int"))
97+func F (G,H) = {
98+ let I = {
99+ let J = getInteger(this, ("Reserved_" + H))
100+ let K = J
101+ if ($isInstanceOf(K, "Int"))
100102 then {
101- let J = I
102- J
103+ let L = K
104+ L
103105 }
104106 else 0
105107 }
106- let K = (G + D)
107- if ((wavesBalance(this) >= K))
108+ let M = (I + G)
109+ if ((wavesBalance(this) >= M))
108110 then {
109- let E = K
110- E
111+ let F = M
112+ F
111113 }
112114 else throw("Bet was rejected. Insufficient funds on game account.")
113115 }
114116
115117
116-func L (M) = {
117- let N = getString(this, M)
118- let J = {
119- let I = N
120- if ($isInstanceOf(I, "String"))
118+func N (O) = {
119+ let P = getString(this, O)
120+ let L = {
121+ let K = P
122+ if ($isInstanceOf(K, "String"))
121123 then {
122- let J = I
123- J
124+ let L = K
125+ L
124126 }
125127 else throw("GameId was not found")
126128 }
127- split(J, "_")
129+ split(L, "_")
128130 }
129131
130132
131-func O (P) = if ((2 > P))
133+func Q (R) = if ((2 > R))
132134 then "7"
133- else if ((4 > P))
135+ else if ((4 > R))
134136 then "6"
135- else if ((6 > P))
137+ else if ((6 > R))
136138 then "5"
137- else if ((8 > P))
139+ else if ((8 > R))
138140 then "4"
139- else if ((10 > P))
141+ else if ((10 > R))
140142 then "3"
141- else if ((12 > P))
143+ else if ((12 > R))
142144 then "2"
143145 else "1"
144146
145147
146-func Q (M,R,S) = {
147- let T = rsaVerify(SHA256, toBytes(M), fromBase64String(R), S)
148- if (T)
148+func S (O,T,U) = {
149+ let V = rsaVerify(SHA256, toBytes(O), fromBase64String(T), U)
150+ if (V)
149151 then {
150- let P = ((toInt(sha256(fromBase64String(R))) % 19) + 1)
151- if (if ((P > 0))
152- then (20 >= P)
152+ let R = ((toInt(sha256(fromBase64String(T))) % 19) + 1)
153+ if (if ((R > 0))
154+ then (20 >= R)
153155 else false)
154- then P
156+ then R
155157 else throw("Integer is not in range")
156158 }
157159 else throw("Rsa Signature is invalid")
158160 }
159161
160162
161-func U (V,W) = {
162- let H = getInteger(this, ("Reserved_" + W))
163- let X = {
164- let I = H
165- if ($isInstanceOf(I, "Int"))
163+func W (X,Y) = {
164+ let J = getInteger(this, ("Reserved_" + Y))
165+ let Z = {
166+ let K = J
167+ if ($isInstanceOf(K, "Int"))
166168 then {
167- let J = I
168- J
169+ let L = K
170+ L
169171 }
170172 else 0
171173 }
172- let U = (X - V)
173- if ((U > 0))
174- then U
174+ let W = (Z - X)
175+ if ((W > 0))
176+ then W
175177 else throw("Reserved balance couldn't be less than 0")
176178 }
177179
178180
179-func Y (Z,aa) = if ((Z == "777"))
181+func aa (ab,ac) = if ((ab == "777"))
180182 then 5370
181- else if ((Z == "666"))
183+ else if ((ab == "666"))
182184 then 1300
183- else if ((Z == "555"))
185+ else if ((ab == "555"))
184186 then 450
185- else if ((Z == "444"))
187+ else if ((ab == "444"))
186188 then 200
187- else if ((Z == "333"))
189+ else if ((ab == "333"))
188190 then 150
189- else if ((Z == "222"))
191+ else if ((ab == "222"))
190192 then 110
191- else if ((Z == "111"))
193+ else if ((ab == "111"))
192194 then 40
193- else if ((aa == "77"))
195+ else if ((ac == "77"))
194196 then 270
195- else if ((aa == "66"))
197+ else if ((ac == "66"))
196198 then 130
197- else if ((aa == "55"))
199+ else if ((ac == "55"))
198200 then 65
199- else if ((aa == "44"))
201+ else if ((ac == "44"))
200202 then 30
201- else if ((aa == "33"))
203+ else if ((ac == "33"))
202204 then 20
203- else if ((aa == "22"))
205+ else if ((ac == "22"))
204206 then 15
205- else if ((aa == "11"))
207+ else if ((ac == "11"))
206208 then 10
207209 else 0
208210
209211
210-func ab (ac) = if ((ac == "WAVES"))
211- then i
212- else if ((ac == "BTC"))
213- then j
214- else if ((ac == "ETH"))
215- then k
216- else if ((ac == "LTC"))
217- then l
218- else if ((ac == "VST"))
219- then m
220- else if ((ac == "WCT"))
221- then n
212+func ad (ae) = if ((ae == "WAVES"))
213+ then j
214+ else if ((ae == "BTC"))
215+ then k
216+ else if ((ae == "ETH"))
217+ then l
218+ else if ((ae == "LTC"))
219+ then m
220+ else if ((ae == "VST"))
221+ then n
222+ else if ((ae == "WCT"))
223+ then o
222224 else throw("Asset name is incorrect")
223225
224226
225-@Callable(ad)
227+@Callable(af)
226228 func makeBet () = {
227- let ae = extract(ad.payment)
228- let D = ae.amount
229- let M = toBase58String(ad.transactionId)
230- let af = height
231- let ag = toBase58String(ad.callerPublicKey)
232- let F = if (!(isDefined(ae.assetId)))
229+ let ag = extract(af.payment)
230+ let E = (ag.amount - e)
231+ let O = toBase58String(af.transactionId)
232+ let ah = height
233+ let ai = toBase58String(af.callerPublicKey)
234+ let H = if (!(isDefined(ag.assetId)))
233235 then "WAVES"
234- else if ((ae.assetId == j))
236+ else if ((ag.assetId == k))
235237 then "BTC"
236- else if ((ae.assetId == k))
238+ else if ((ag.assetId == l))
237239 then "ETH"
238- else if ((ae.assetId == l))
240+ else if ((ag.assetId == m))
239241 then "LTC"
240- else if ((ae.assetId == n))
242+ else if ((ag.assetId == o))
241243 then "WCT"
242- else if ((ae.assetId == m))
244+ else if ((ag.assetId == n))
243245 then "VST"
244246 else throw("AssetId is incorrect")
245- let ah = E(D, F)
246- let ai = B(F, D)
247- if (ai)
247+ let aj = F(E, H)
248+ let ak = C(H, E)
249+ if (ak)
248250 then {
249- let aj = ((((((((e + "_") + ag) + "_") + toString(D)) + "_") + F) + "_") + toString(af))
250- WriteSet([DataEntry(M, aj), DataEntry(("Reserved_" + F), ah)])
251+ let al = ((((((((f + "_") + ai) + "_") + toString(E)) + "_") + H) + "_") + toString(ah))
252+ WriteSet([DataEntry(O, al), DataEntry(("Reserved_" + H), aj)])
251253 }
252254 else throw("assetId is incorrect")
253255 }
254256
255257
256258
257-@Callable(ad)
258-func playGame (M,ak,al,am) = {
259- let an = L(M)
260- let ao = an[0]
261- let ap = addressFromPublicKey(fromBase58String(an[1]))
262- let V = parseIntValue(an[2])
263- let ac = an[3]
264- let af = parseIntValue(an[4])
265- let aq = ab(ac)
266- let ar = (d > (height - af))
267- let as = (ao == e)
268- let ah = U(V, ac)
269- let at = {
270- let au = Q(M, ak, a)
271- let av = Q(M, al, b)
272- let aw = Q(M, am, c)
273- let ax = O(au)
274- let ay = O(av)
275- let az = O(aw)
276-[ax, ay, az]
259+@Callable(af)
260+func playGame (O,am,an,ao) = {
261+ let ap = N(O)
262+ let aq = ap[0]
263+ let ar = addressFromPublicKey(fromBase58String(ap[1]))
264+ let X = parseIntValue(ap[2])
265+ let ae = ap[3]
266+ let ah = parseIntValue(ap[4])
267+ let as = ad(ae)
268+ let at = (d > (height - ah))
269+ let au = (aq == f)
270+ let aj = W(X, ae)
271+ let av = {
272+ let aw = S(O, am, a)
273+ let ax = S(O, an, b)
274+ let ay = S(O, ao, c)
275+ let az = Q(aw)
276+ let aA = Q(ax)
277+ let aB = Q(ay)
278+[az, aA, aB]
277279 }
278- let aA = {
279- let Z = ((at[0] + at[1]) + at[2])
280- let aa = (at[0] + at[1])
281- let aB = Y(Z, aa)
282- ((V * aB) / 10)
280+ let aC = {
281+ let ab = ((av[0] + av[1]) + av[2])
282+ let ac = (av[0] + av[1])
283+ let aD = aa(ab, ac)
284+ ((X * aD) / 10)
283285 }
284- let aC = ((((((an[1] + "_") + an[2]) + "_") + an[3]) + "_") + an[4])
285- let aD = ((at[0] + at[1]) + at[2])
286- if (as)
287- then if (ar)
288- then if ((aA == 0))
289- then WriteSet([DataEntry(M, ((((((h + "_") + aC) + "_") + toString(aA)) + "_") + aD)), DataEntry(("Reserved_" + ac), ah)])
290- else ScriptResult(WriteSet([DataEntry(M, ((((((f + "_") + aC) + "_") + toString(aA)) + "_") + aD)), DataEntry(("Reserved_" + ac), ah)]), TransferSet([ScriptTransfer(ap, aA, aq)]))
291- else ScriptResult(WriteSet([DataEntry(M, (g + aC)), DataEntry(("Reserved_" + ac), ah)]), TransferSet([ScriptTransfer(ap, V, aq)]))
286+ let aE = {
287+ let aF = assetBalance(this, as)
288+ if ((aC > aF))
289+ then (X * 2)
290+ else aC
291+ }
292+ let aG = ((((((ap[1] + "_") + ap[2]) + "_") + ap[3]) + "_") + ap[4])
293+ let aH = ((av[0] + av[1]) + av[2])
294+ if (au)
295+ then if (at)
296+ then if ((aC == 0))
297+ then WriteSet([DataEntry(O, ((((((i + "_") + aG) + "_") + toString(aC)) + "_") + aH)), DataEntry(("Reserved_" + ae), aj)])
298+ else ScriptResult(WriteSet([DataEntry(O, ((((((g + "_") + aG) + "_") + toString(aC)) + "_") + aH)), DataEntry(("Reserved_" + ae), aj)]), TransferSet([ScriptTransfer(ar, aE, as)]))
299+ else ScriptResult(WriteSet([DataEntry(O, (h + aG)), DataEntry(("Reserved_" + ae), aj)]), TransferSet([ScriptTransfer(ar, X, as)]))
292300 else throw("Game state is incorrect")
293301 }
294302
295303
296-@Verifier(aE)
297-func aF () = {
298- let I = aE
299- if ($isInstanceOf(I, "TransferTransaction"))
304+@Verifier(aI)
305+func aJ () = {
306+ let K = aI
307+ if ($isInstanceOf(K, "TransferTransaction"))
300308 then {
301- let aG = I
302- let H = getInteger(this, "Reserved")
303- let aH = {
304- let aI = H
305- if ($isInstanceOf(aI, "Int"))
309+ let aK = K
310+ let J = getInteger(this, "Reserved")
311+ let aL = {
312+ let aM = J
313+ if ($isInstanceOf(aM, "Int"))
306314 then {
307- let J = aI
308- J
315+ let L = aM
316+ L
309317 }
310318 else 0
311319 }
312- let aJ = (wavesBalance(this) - aH)
313- let aK = (aJ >= aG.amount)
314- let aL = sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
315- if (aK)
316- then aL
320+ let aN = (wavesBalance(this) - aL)
321+ let aO = (aN >= aK.amount)
322+ let aP = sigVerify(aK.bodyBytes, aK.proofs[0], aK.senderPublicKey)
323+ if (aO)
324+ then aP
317325 else false
318326 }
319- else if ($isInstanceOf(I, "SetScriptTransaction"))
327+ else if ($isInstanceOf(K, "SetScriptTransaction"))
320328 then {
321- let aM = I
322- sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
329+ let aQ = K
330+ sigVerify(aQ.bodyBytes, aQ.proofs[0], aQ.senderPublicKey)
323331 }
324- else if ($isInstanceOf(I, "InvokeScriptTransaction"))
332+ else if ($isInstanceOf(K, "InvokeScriptTransaction"))
325333 then {
326- let aN = I
327- sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
334+ let aR = K
335+ sigVerify(aR.bodyBytes, aR.proofs[0], aR.senderPublicKey)
328336 }
329337 else false
330338 }
331339

github/deemru/w8io/169f3d6 
112.76 ms