tx · 4K7GJdRxbZg7YxTnQesn16LVbDYmTZjXr29rK3rQXiB8

3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD:  -0.01500000 Waves

2019.10.06 15:06 [707894] smart account 3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD > SELF 0.00000000 Waves

{ "type": 13, "id": "4K7GJdRxbZg7YxTnQesn16LVbDYmTZjXr29rK3rQXiB8", "fee": 1500000, "feeAssetId": null, "timestamp": 1570363618447, "version": 1, "sender": "3NBFHpzVTqcHQB6Zxec1f6N6ZGBWQ4VsBFD", "senderPublicKey": "8W9JLTJTfxrJrBNXxngzueBF4vJqeb6p9jFob7wb6QWQ", "proofs": [ "4jik3KBJyWwRHrGMci59hn4J7F7aqPyr1b8uaUtVXVrEvoeS47mh4CjbtorSi3paVfMjDd7xuSN4Hqt66yejYDN2" ], "script": "base64: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AgAAAAECAAAAFGFzc2V0SWQgaXMgaW5jb3JyZWN0AAAAAWkBAAAACHBsYXlHYW1lAAAABAAAAAZnYW1lSWQAAAAIcnNhU2lnbjEAAAAIcnNhU2lnbjIAAAAIcnNhU2lnbjMEAAAACGRhdGFMaXN0CQEAAAALZ2V0RGF0YUxpc3QAAAABBQAAAAZnYW1lSWQEAAAACWdhbWVTdGF0ZQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAAQAAAANcGxheWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAABBAAAAAZiZXRBbXQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAgQAAAAJYXNzZXROYW1lCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAADBAAAAAlnYW1lU3RhcnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAABAQAAAAJYXNzZXRJZDU4CQEAAAARQXNzZXROYW1lVG9CYXNlNTgAAAABBQAAAAlhc3NldE5hbWUEAAAAEnNldFJlc2VydmVkQmFsYW5jZQkBAAAAF2RlY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAgUAAAAGYmV0QW10BQAAAAlhc3NldE5hbWUEAAAACGRydW0xSW50CQEAAAAIcnNhVG9JbnQAAAADBQAAAAZnYW1lSWQFAAAACHJzYVNpZ24xBQAAAA1yc2FQdWJsaWNLZXkxBAAAAAhkcnVtMkludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMgUAAAANcnNhUHVibGljS2V5MgQAAAAIZHJ1bTNJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjMFAAAADXJzYVB1YmxpY0tleTMEAAAAC3RocmVlSW5BUm93CQABLAAAAAIJAAEsAAAAAgkAAZEAAAACBQAAAAVkcnVtMQUAAAAIZHJ1bTFJbnQJAAGRAAAAAgUAAAAFZHJ1bTIFAAAACGRydW0ySW50CQABkQAAAAIFAAAABWRydW0zBQAAAAhkcnVtM0ludAQAAAAJdHdvSW5BUm93CQABLAAAAAIJAAGRAAAAAgUAAAAFZHJ1bTEFAAAACGRydW0xSW50CQABkQAAAAIFAAAABWRydW0yBQAAAAhkcnVtMkludAQAAAAVZHJvcHBlZEVsZW1lbnRzU3RyaW5nBAAAAA1kcnVtMVRvU3RyaW5nCQEAAAAPZHJ1bUludFRvU3RyaW5nAAAAAQUAAAAIZHJ1bTFJbnQEAAAADWRydW0yVG9TdHJpbmcJAQAAAA9kcnVtSW50VG9TdHJpbmcAAAABBQAAAAhkcnVtMkludAQAAAANZHJ1bTNUb1N0cmluZwkBAAAAD2RydW1JbnRUb1N0cmluZwAAAAEFAAAACGRydW0zSW50CQABLAAAAAIJAAEsAAAAAgUAAAANZHJ1bTFUb1N0cmluZwUAAAANZHJ1bTJUb1N0cmluZwUAAAANZHJ1bTNUb1N0cmluZwQAAAAGd2luQW10BAAAAAptdWx0aXBsaWVyCQEAAAAQZGVmaW5lTXVsdGlwbGllcgAAAAIFAAAAC3RocmVlSW5BUm93BQAAAAl0d29JbkFSb3cJAABpAAAAAgkAAGgAAAACBQAAAAZiZXRBbXQFAAAACm11bHRpcGxpZXIAAAAAAAAAAAoEAAAACXdpblBtdEFtdAQAAAAHYmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAlhc3NldElkNTgDCQAAZgAAAAIFAAAABndpbkFtdAUAAAAHYmFsYW5jZQkAAGgAAAACBQAAAAZiZXRBbXQAAAAAAAAAAAIFAAAABndpbkFtdAQAAAANZ2FtZVRpbWVDaGVjawkAAGYAAAACBQAAAA1nYW1lVGltZUZyYW1lCQAAZQAAAAIFAAAABmhlaWdodAUAAAAJZ2FtZVN0YXJ0BAAAAAxzdGF0ZUNvcnJlY3QJAAAAAAAAAgUAAAAJZ2FtZVN0YXRlBQAAAAhzdGF0ZUFjYwMFAAAADHN0YXRlQ29ycmVjdAMFAAAADWdhbWVUaW1lQ2hlY2sDCQAAAAAAAAIFAAAABndpbkFtdAAAAAAAAAAAAAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAZnYW1lSWQCAAAA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", "chainId": 84, "height": 707894, "spentComplexity": 0 } View: original | compacted Prev: Es6tbAPdcPhkpapmgUckotW2xsbgewzC8DdP575dBGfi Next: ABgD7TaaoTB3n7q8QC6dXkhKgW4BG6RLYuTQuj56kzRn Diff:
OldNewDifferences
100100 else throw("Bet amount is not in range")
101101
102102
103-func I (J,K) = {
104- let L = {
105- let M = getInteger(this, (K + "_Reserved"))
106- let N = M
107- if ($isInstanceOf(N, "Int"))
103+func I (J,K,L) = {
104+ let M = {
105+ let N = getInteger(this, (K + "_Reserved"))
106+ let O = N
107+ if ($isInstanceOf(O, "Int"))
108108 then {
109- let O = N
110- O
109+ let P = O
110+ P
111111 }
112112 else 0
113113 }
114- let P = (L + J)
115- if ((wavesBalance(this) >= P))
114+ let Q = (M + J)
115+ if ((assetBalance(this, L) >= Q))
116116 then {
117- let I = P
117+ let I = Q
118118 I
119119 }
120120 else throw("Bet was rejected. Insufficient funds on game account.")
121121 }
122122
123123
124-func Q (R) = {
125- let S = getString(this, (R + "_GameId"))
126- let O = {
127- let N = S
128- if ($isInstanceOf(N, "String"))
124+func R (S) = {
125+ let T = getString(this, (S + "_GameId"))
126+ let P = {
127+ let O = T
128+ if ($isInstanceOf(O, "String"))
129129 then {
130- let O = N
131- O
130+ let P = O
131+ P
132132 }
133133 else throw("GameId was not found")
134134 }
135- split(O, "_")
135+ split(P, "_")
136136 }
137137
138138
139-func T (R,U,V) = {
140- let W = rsaVerify(SHA256, toBytes(R), fromBase64String(U), V)
141- if (W)
139+func U (S,V,W) = {
140+ let X = rsaVerify(SHA256, toBytes(S), fromBase64String(V), W)
141+ if (X)
142142 then {
143- let X = (toInt(sha256(fromBase64String(U))) % 19)
144- if (if ((X >= 0))
145- then (19 >= X)
143+ let Y = (toInt(sha256(fromBase64String(V))) % 19)
144+ if (if ((Y >= 0))
145+ then (19 >= Y)
146146 else false)
147- then X
147+ then Y
148148 else throw("Integer is not in range")
149149 }
150150 else throw("Rsa Signature is invalid")
151151 }
152152
153153
154-func Y (Z,aa) = {
155- let M = getInteger(this, (aa + "_Reserved"))
156- let ab = {
157- let N = M
158- if ($isInstanceOf(N, "Int"))
154+func Z (aa,ab) = {
155+ let N = getInteger(this, (ab + "_Reserved"))
156+ let ac = {
157+ let O = N
158+ if ($isInstanceOf(O, "Int"))
159159 then {
160- let O = N
161- O
160+ let P = O
161+ P
162162 }
163163 else 0
164164 }
165- let Y = (ab - Z)
166- if ((Y >= 0))
167- then Y
165+ let Z = (ac - aa)
166+ if ((Z >= 0))
167+ then Z
168168 else throw("Reserved balance couldn't be less than 0")
169169 }
170170
171171
172-func ac (ad) = if ((10 > ad))
173- then ("0" + toString(ad))
174- else toString(ad)
172+func ad (ae) = if ((10 > ae))
173+ then ("0" + toString(ae))
174+ else toString(ae)
175175
176176
177-func ae (af,ag) = if ((af == "777"))
177+func af (ag,ah) = if ((ag == "777"))
178178 then 5370
179- else if ((af == "666"))
179+ else if ((ag == "666"))
180180 then 1300
181- else if ((af == "555"))
181+ else if ((ag == "555"))
182182 then 450
183- else if ((af == "444"))
183+ else if ((ag == "444"))
184184 then 200
185- else if ((af == "333"))
185+ else if ((ag == "333"))
186186 then 150
187- else if ((af == "222"))
187+ else if ((ag == "222"))
188188 then 110
189- else if ((af == "111"))
189+ else if ((ag == "111"))
190190 then 40
191- else if ((ag == "77"))
191+ else if ((ah == "77"))
192192 then 270
193- else if ((ag == "66"))
193+ else if ((ah == "66"))
194194 then 130
195- else if ((ag == "55"))
195+ else if ((ah == "55"))
196196 then 65
197- else if ((ag == "44"))
197+ else if ((ah == "44"))
198198 then 30
199- else if ((ag == "33"))
199+ else if ((ah == "33"))
200200 then 20
201- else if ((ag == "22"))
201+ else if ((ah == "22"))
202202 then 15
203- else if ((ag == "11"))
203+ else if ((ah == "11"))
204204 then 10
205205 else 0
206206
207207
208-func ah (ai) = if ((ai == "WAVES"))
208+func ai (aj) = if ((aj == "WAVES"))
209209 then m
210- else if ((ai == "BTC"))
210+ else if ((aj == "BTC"))
211211 then n
212- else if ((ai == "ETH"))
212+ else if ((aj == "ETH"))
213213 then o
214- else if ((ai == "LTC"))
214+ else if ((aj == "LTC"))
215215 then p
216- else if ((ai == "VST"))
216+ else if ((aj == "VST"))
217217 then q
218- else if ((ai == "WCT"))
218+ else if ((aj == "WCT"))
219219 then r
220220 else throw("Asset name is incorrect")
221221
222222
223-@Callable(aj)
223+func ak (ab) = if (!(isDefined(ab)))
224+ then "WAVES"
225+ else if ((ab == n))
226+ then "BTC"
227+ else if ((ab == o))
228+ then "ETH"
229+ else if ((ab == p))
230+ then "LTC"
231+ else if ((ab == r))
232+ then "WCT"
233+ else if ((ab == q))
234+ then "VST"
235+ else throw("AssetId is incorrect")
236+
237+
238+@Callable(al)
224239 func makeBet () = {
225- let ak = extract(aj.payment)
226- let H = (ak.amount - h)
227- let R = toBase58String(aj.transactionId)
228- let al = height
229- let am = toBase58String(aj.callerPublicKey)
230- let K = if (!(isDefined(ak.assetId)))
231- then "WAVES"
232- else if ((ak.assetId == n))
233- then "BTC"
234- else if ((ak.assetId == o))
235- then "ETH"
236- else if ((ak.assetId == p))
237- then "LTC"
238- else if ((ak.assetId == r))
239- then "WCT"
240- else if ((ak.assetId == q))
241- then "VST"
242- else throw("AssetId is incorrect")
243- let an = I(H, K)
244- let ao = F(K, H)
245- if (ao)
240+ let am = extract(al.payment)
241+ let H = (am.amount - h)
242+ let ab = am.assetId
243+ let S = toBase58String(al.transactionId)
244+ let an = height
245+ let ao = toBase58String(al.callerPublicKey)
246+ let K = ak(ab)
247+ let ap = I(H, K, am.assetId)
248+ let aq = F(K, H)
249+ if (aq)
246250 then {
247- let ap = ((((((((i + "_") + am) + "_") + toString(H)) + "_") + K) + "_") + toString(al))
248- WriteSet([DataEntry((R + "_GameId"), ap), DataEntry((K + "_Reserved"), an)])
251+ let ar = ((((((((i + "_") + ao) + "_") + toString(H)) + "_") + K) + "_") + toString(an))
252+ WriteSet([DataEntry((S + "_GameId"), ar), DataEntry((K + "_Reserved"), ap)])
249253 }
250254 else throw("assetId is incorrect")
251255 }
252256
253257
254258
255-@Callable(aj)
256-func playGame (R,aq,ar,as) = {
257- let at = Q(R)
258- let au = at[0]
259- let av = addressFromPublicKey(fromBase58String(at[1]))
260- let Z = parseIntValue(at[2])
261- let ai = at[3]
262- let al = parseIntValue(at[4])
263- let aw = ah(ai)
264- let an = Y(Z, ai)
265- let ax = T(R, aq, a)
266- let ay = T(R, ar, b)
267- let az = T(R, as, c)
268- let af = ((d[ax] + e[ay]) + f[az])
269- let ag = (d[ax] + e[ay])
270- let aA = {
271- let aB = ac(ax)
272- let aC = ac(ay)
273- let aD = ac(az)
274- ((aB + aC) + aD)
259+@Callable(al)
260+func playGame (S,as,at,au) = {
261+ let av = R(S)
262+ let aw = av[0]
263+ let ax = addressFromPublicKey(fromBase58String(av[1]))
264+ let aa = parseIntValue(av[2])
265+ let aj = av[3]
266+ let an = parseIntValue(av[4])
267+ let L = ai(aj)
268+ let ap = Z(aa, aj)
269+ let ay = U(S, as, a)
270+ let az = U(S, at, b)
271+ let aA = U(S, au, c)
272+ let ag = ((d[ay] + e[az]) + f[aA])
273+ let ah = (d[ay] + e[az])
274+ let aB = {
275+ let aC = ad(ay)
276+ let aD = ad(az)
277+ let aE = ad(aA)
278+ ((aC + aD) + aE)
275279 }
276- let aE = {
277- let aF = ae(af, ag)
278- ((Z * aF) / 10)
280+ let aF = {
281+ let aG = af(ag, ah)
282+ ((aa * aG) / 10)
279283 }
280- let aG = {
281- let aH = assetBalance(this, aw)
282- if ((aE > aH))
283- then (Z * 2)
284- else aE
284+ let aH = {
285+ let aI = assetBalance(this, L)
286+ if ((aF > aI))
287+ then (aa * 2)
288+ else aF
285289 }
286- let aI = (g > (height - al))
287- let aJ = (au == i)
288- if (aJ)
289- then if (aI)
290- then if ((aE == 0))
291- then WriteSet([DataEntry((R + "_GameId"), ((((((((((((((l + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString(aE)) + "_") + af) + "_") + aA)), DataEntry((ai + "_Reserved"), an)])
292- else ScriptResult(WriteSet([DataEntry((R + "_GameId"), ((((((((((((((j + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString(aE)) + "_") + af) + "_") + aA)), DataEntry((ai + "_Reserved"), an)]), TransferSet([ScriptTransfer(av, aG, aw)]))
293- else ScriptResult(WriteSet([DataEntry((R + "_GameId"), ((((((((((((((k + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString((Z * 2))) + "_") + "000") + "_") + "000000")), DataEntry((ai + "_Reserved"), an)]), TransferSet([ScriptTransfer(av, Z, aw)]))
290+ let aJ = (g > (height - an))
291+ let aK = (aw == i)
292+ if (aK)
293+ then if (aJ)
294+ then if ((aF == 0))
295+ then WriteSet([DataEntry((S + "_GameId"), ((((((((((((((l + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString(aF)) + "_") + ag) + "_") + aB)), DataEntry((aj + "_Reserved"), ap)])
296+ else ScriptResult(WriteSet([DataEntry((S + "_GameId"), ((((((((((((((j + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString(aF)) + "_") + ag) + "_") + aB)), DataEntry((aj + "_Reserved"), ap)]), TransferSet([ScriptTransfer(ax, aH, L)]))
297+ else ScriptResult(WriteSet([DataEntry((S + "_GameId"), ((((((((((((((k + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString((aa * 2))) + "_") + "000") + "_") + "000000")), DataEntry((aj + "_Reserved"), ap)]), TransferSet([ScriptTransfer(ax, aa, L)]))
294298 else throw("Game state is incorrect")
295299 }
296300
297301
298-@Verifier(aK)
299-func aL () = {
300- let N = aK
301- if ($isInstanceOf(N, "TransferTransaction"))
302+@Verifier(aL)
303+func aM () = {
304+ let O = aL
305+ if ($isInstanceOf(O, "TransferTransaction"))
302306 then {
303- let aM = N
304- let ai = if (!(isDefined(aM.assetId)))
307+ let aN = O
308+ let aj = if (!(isDefined(aN.assetId)))
305309 then "WAVES"
306- else if ((aM.assetId == n))
310+ else if ((aN.assetId == n))
307311 then "BTC"
308- else if ((aM.assetId == o))
312+ else if ((aN.assetId == o))
309313 then "ETH"
310- else if ((aM.assetId == p))
314+ else if ((aN.assetId == p))
311315 then "LTC"
312- else if ((aM.assetId == r))
316+ else if ((aN.assetId == r))
313317 then "WCT"
314- else if ((aM.assetId == q))
318+ else if ((aN.assetId == q))
315319 then "VST"
316320 else throw("AssetId is incorrect")
317- let M = getInteger(this, (ai + "_Reserved"))
318- let aN = {
319- let aO = M
320- if ($isInstanceOf(aO, "Int"))
321+ let N = getInteger(this, (aj + "_Reserved"))
322+ let aO = {
323+ let aP = N
324+ if ($isInstanceOf(aP, "Int"))
321325 then {
322- let O = aO
323- O
326+ let P = aP
327+ P
324328 }
325329 else 0
326330 }
327- let aP = (wavesBalance(this) - aN)
328- let aQ = (aP >= aM.amount)
329- let aR = sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
330- if (aQ)
331- then aR
331+ let aQ = (wavesBalance(this) - aO)
332+ let aR = (aQ >= aN.amount)
333+ let aS = sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
334+ if (aR)
335+ then aS
332336 else false
333337 }
334- else if ($isInstanceOf(N, "SetScriptTransaction"))
338+ else if ($isInstanceOf(O, "SetScriptTransaction"))
335339 then {
336- let aS = N
337- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
340+ let aT = O
341+ sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
338342 }
339- else if ($isInstanceOf(N, "InvokeScriptTransaction"))
343+ else if ($isInstanceOf(O, "InvokeScriptTransaction"))
340344 then {
341- let aT = N
342- sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
345+ let aU = O
346+ sigVerify(aU.bodyBytes, aU.proofs[0], aU.senderPublicKey)
343347 }
344348 else false
345349 }
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 = ["2", "1", "2", "5", "1", "3", "1", "3", "4", "3", "4", "2", "1", "5", "2", "7", "4", "6", "1", "3"]
1111
1212 let e = ["7", "6", "3", "1", "4", "2", "1", "2", "5", "3", "1", "4", "3", "6", "5", "2", "1", "1", "2", "4"]
1313
1414 let f = ["4", "3", "1", "6", "5", "7", "4", "3", "6", "1", "2", "4", "3", "1", "2", "5", "2", "1", "5", "1"]
1515
1616 let g = (1440 * 2)
1717
1818 let h = 500000
1919
2020 let i = "Accepted"
2121
2222 let j = "Win"
2323
2424 let k = "WinByTimeout"
2525
2626 let l = "Lose"
2727
2828 let m = unit
2929
3030 let n = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
3131
3232 let o = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
3333
3434 let p = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
3535
3636 let q = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
3737
3838 let r = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
3939
4040 let s = 1000
4141
4242 let t = (100000000 / s)
4343
4444 let u = (t * 10)
4545
4646 let v = (10000 / s)
4747
4848 let w = (v * 10)
4949
5050 let x = (1000000 / s)
5151
5252 let y = (x * 10)
5353
5454 let z = (2000000 / s)
5555
5656 let A = (z * 10)
5757
5858 let B = (500000000 / s)
5959
6060 let C = (B * 10)
6161
6262 let D = (500000000 / s)
6363
6464 let E = (D * 10)
6565
6666 func F (G,H) = if ((G == "WAVES"))
6767 then if (if ((H >= t))
6868 then (u >= H)
6969 else false)
7070 then true
7171 else throw("Bet amount is not in range")
7272 else if ((G == "BTC"))
7373 then if (if ((H >= v))
7474 then (w >= H)
7575 else false)
7676 then true
7777 else throw("Bet amount is not in range")
7878 else if ((G == "ETH"))
7979 then if (if ((H >= x))
8080 then (y >= H)
8181 else false)
8282 then true
8383 else throw("Bet amount is not in range")
8484 else if ((G == "LTC"))
8585 then if (if ((H >= z))
8686 then (A >= H)
8787 else false)
8888 then true
8989 else throw("Bet amount is not in range")
9090 else if ((G == "WCT"))
9191 then if (if ((H >= B))
9292 then (C >= H)
9393 else false)
9494 then true
9595 else throw("Bet amount is not in range")
9696 else if (if ((H >= D))
9797 then (E >= H)
9898 else false)
9999 then true
100100 else throw("Bet amount is not in range")
101101
102102
103-func I (J,K) = {
104- let L = {
105- let M = getInteger(this, (K + "_Reserved"))
106- let N = M
107- if ($isInstanceOf(N, "Int"))
103+func I (J,K,L) = {
104+ let M = {
105+ let N = getInteger(this, (K + "_Reserved"))
106+ let O = N
107+ if ($isInstanceOf(O, "Int"))
108108 then {
109- let O = N
110- O
109+ let P = O
110+ P
111111 }
112112 else 0
113113 }
114- let P = (L + J)
115- if ((wavesBalance(this) >= P))
114+ let Q = (M + J)
115+ if ((assetBalance(this, L) >= Q))
116116 then {
117- let I = P
117+ let I = Q
118118 I
119119 }
120120 else throw("Bet was rejected. Insufficient funds on game account.")
121121 }
122122
123123
124-func Q (R) = {
125- let S = getString(this, (R + "_GameId"))
126- let O = {
127- let N = S
128- if ($isInstanceOf(N, "String"))
124+func R (S) = {
125+ let T = getString(this, (S + "_GameId"))
126+ let P = {
127+ let O = T
128+ if ($isInstanceOf(O, "String"))
129129 then {
130- let O = N
131- O
130+ let P = O
131+ P
132132 }
133133 else throw("GameId was not found")
134134 }
135- split(O, "_")
135+ split(P, "_")
136136 }
137137
138138
139-func T (R,U,V) = {
140- let W = rsaVerify(SHA256, toBytes(R), fromBase64String(U), V)
141- if (W)
139+func U (S,V,W) = {
140+ let X = rsaVerify(SHA256, toBytes(S), fromBase64String(V), W)
141+ if (X)
142142 then {
143- let X = (toInt(sha256(fromBase64String(U))) % 19)
144- if (if ((X >= 0))
145- then (19 >= X)
143+ let Y = (toInt(sha256(fromBase64String(V))) % 19)
144+ if (if ((Y >= 0))
145+ then (19 >= Y)
146146 else false)
147- then X
147+ then Y
148148 else throw("Integer is not in range")
149149 }
150150 else throw("Rsa Signature is invalid")
151151 }
152152
153153
154-func Y (Z,aa) = {
155- let M = getInteger(this, (aa + "_Reserved"))
156- let ab = {
157- let N = M
158- if ($isInstanceOf(N, "Int"))
154+func Z (aa,ab) = {
155+ let N = getInteger(this, (ab + "_Reserved"))
156+ let ac = {
157+ let O = N
158+ if ($isInstanceOf(O, "Int"))
159159 then {
160- let O = N
161- O
160+ let P = O
161+ P
162162 }
163163 else 0
164164 }
165- let Y = (ab - Z)
166- if ((Y >= 0))
167- then Y
165+ let Z = (ac - aa)
166+ if ((Z >= 0))
167+ then Z
168168 else throw("Reserved balance couldn't be less than 0")
169169 }
170170
171171
172-func ac (ad) = if ((10 > ad))
173- then ("0" + toString(ad))
174- else toString(ad)
172+func ad (ae) = if ((10 > ae))
173+ then ("0" + toString(ae))
174+ else toString(ae)
175175
176176
177-func ae (af,ag) = if ((af == "777"))
177+func af (ag,ah) = if ((ag == "777"))
178178 then 5370
179- else if ((af == "666"))
179+ else if ((ag == "666"))
180180 then 1300
181- else if ((af == "555"))
181+ else if ((ag == "555"))
182182 then 450
183- else if ((af == "444"))
183+ else if ((ag == "444"))
184184 then 200
185- else if ((af == "333"))
185+ else if ((ag == "333"))
186186 then 150
187- else if ((af == "222"))
187+ else if ((ag == "222"))
188188 then 110
189- else if ((af == "111"))
189+ else if ((ag == "111"))
190190 then 40
191- else if ((ag == "77"))
191+ else if ((ah == "77"))
192192 then 270
193- else if ((ag == "66"))
193+ else if ((ah == "66"))
194194 then 130
195- else if ((ag == "55"))
195+ else if ((ah == "55"))
196196 then 65
197- else if ((ag == "44"))
197+ else if ((ah == "44"))
198198 then 30
199- else if ((ag == "33"))
199+ else if ((ah == "33"))
200200 then 20
201- else if ((ag == "22"))
201+ else if ((ah == "22"))
202202 then 15
203- else if ((ag == "11"))
203+ else if ((ah == "11"))
204204 then 10
205205 else 0
206206
207207
208-func ah (ai) = if ((ai == "WAVES"))
208+func ai (aj) = if ((aj == "WAVES"))
209209 then m
210- else if ((ai == "BTC"))
210+ else if ((aj == "BTC"))
211211 then n
212- else if ((ai == "ETH"))
212+ else if ((aj == "ETH"))
213213 then o
214- else if ((ai == "LTC"))
214+ else if ((aj == "LTC"))
215215 then p
216- else if ((ai == "VST"))
216+ else if ((aj == "VST"))
217217 then q
218- else if ((ai == "WCT"))
218+ else if ((aj == "WCT"))
219219 then r
220220 else throw("Asset name is incorrect")
221221
222222
223-@Callable(aj)
223+func ak (ab) = if (!(isDefined(ab)))
224+ then "WAVES"
225+ else if ((ab == n))
226+ then "BTC"
227+ else if ((ab == o))
228+ then "ETH"
229+ else if ((ab == p))
230+ then "LTC"
231+ else if ((ab == r))
232+ then "WCT"
233+ else if ((ab == q))
234+ then "VST"
235+ else throw("AssetId is incorrect")
236+
237+
238+@Callable(al)
224239 func makeBet () = {
225- let ak = extract(aj.payment)
226- let H = (ak.amount - h)
227- let R = toBase58String(aj.transactionId)
228- let al = height
229- let am = toBase58String(aj.callerPublicKey)
230- let K = if (!(isDefined(ak.assetId)))
231- then "WAVES"
232- else if ((ak.assetId == n))
233- then "BTC"
234- else if ((ak.assetId == o))
235- then "ETH"
236- else if ((ak.assetId == p))
237- then "LTC"
238- else if ((ak.assetId == r))
239- then "WCT"
240- else if ((ak.assetId == q))
241- then "VST"
242- else throw("AssetId is incorrect")
243- let an = I(H, K)
244- let ao = F(K, H)
245- if (ao)
240+ let am = extract(al.payment)
241+ let H = (am.amount - h)
242+ let ab = am.assetId
243+ let S = toBase58String(al.transactionId)
244+ let an = height
245+ let ao = toBase58String(al.callerPublicKey)
246+ let K = ak(ab)
247+ let ap = I(H, K, am.assetId)
248+ let aq = F(K, H)
249+ if (aq)
246250 then {
247- let ap = ((((((((i + "_") + am) + "_") + toString(H)) + "_") + K) + "_") + toString(al))
248- WriteSet([DataEntry((R + "_GameId"), ap), DataEntry((K + "_Reserved"), an)])
251+ let ar = ((((((((i + "_") + ao) + "_") + toString(H)) + "_") + K) + "_") + toString(an))
252+ WriteSet([DataEntry((S + "_GameId"), ar), DataEntry((K + "_Reserved"), ap)])
249253 }
250254 else throw("assetId is incorrect")
251255 }
252256
253257
254258
255-@Callable(aj)
256-func playGame (R,aq,ar,as) = {
257- let at = Q(R)
258- let au = at[0]
259- let av = addressFromPublicKey(fromBase58String(at[1]))
260- let Z = parseIntValue(at[2])
261- let ai = at[3]
262- let al = parseIntValue(at[4])
263- let aw = ah(ai)
264- let an = Y(Z, ai)
265- let ax = T(R, aq, a)
266- let ay = T(R, ar, b)
267- let az = T(R, as, c)
268- let af = ((d[ax] + e[ay]) + f[az])
269- let ag = (d[ax] + e[ay])
270- let aA = {
271- let aB = ac(ax)
272- let aC = ac(ay)
273- let aD = ac(az)
274- ((aB + aC) + aD)
259+@Callable(al)
260+func playGame (S,as,at,au) = {
261+ let av = R(S)
262+ let aw = av[0]
263+ let ax = addressFromPublicKey(fromBase58String(av[1]))
264+ let aa = parseIntValue(av[2])
265+ let aj = av[3]
266+ let an = parseIntValue(av[4])
267+ let L = ai(aj)
268+ let ap = Z(aa, aj)
269+ let ay = U(S, as, a)
270+ let az = U(S, at, b)
271+ let aA = U(S, au, c)
272+ let ag = ((d[ay] + e[az]) + f[aA])
273+ let ah = (d[ay] + e[az])
274+ let aB = {
275+ let aC = ad(ay)
276+ let aD = ad(az)
277+ let aE = ad(aA)
278+ ((aC + aD) + aE)
275279 }
276- let aE = {
277- let aF = ae(af, ag)
278- ((Z * aF) / 10)
280+ let aF = {
281+ let aG = af(ag, ah)
282+ ((aa * aG) / 10)
279283 }
280- let aG = {
281- let aH = assetBalance(this, aw)
282- if ((aE > aH))
283- then (Z * 2)
284- else aE
284+ let aH = {
285+ let aI = assetBalance(this, L)
286+ if ((aF > aI))
287+ then (aa * 2)
288+ else aF
285289 }
286- let aI = (g > (height - al))
287- let aJ = (au == i)
288- if (aJ)
289- then if (aI)
290- then if ((aE == 0))
291- then WriteSet([DataEntry((R + "_GameId"), ((((((((((((((l + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString(aE)) + "_") + af) + "_") + aA)), DataEntry((ai + "_Reserved"), an)])
292- else ScriptResult(WriteSet([DataEntry((R + "_GameId"), ((((((((((((((j + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString(aE)) + "_") + af) + "_") + aA)), DataEntry((ai + "_Reserved"), an)]), TransferSet([ScriptTransfer(av, aG, aw)]))
293- else ScriptResult(WriteSet([DataEntry((R + "_GameId"), ((((((((((((((k + "_") + at[1]) + "_") + at[2]) + "_") + at[3]) + "_") + at[4]) + "_") + toString((Z * 2))) + "_") + "000") + "_") + "000000")), DataEntry((ai + "_Reserved"), an)]), TransferSet([ScriptTransfer(av, Z, aw)]))
290+ let aJ = (g > (height - an))
291+ let aK = (aw == i)
292+ if (aK)
293+ then if (aJ)
294+ then if ((aF == 0))
295+ then WriteSet([DataEntry((S + "_GameId"), ((((((((((((((l + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString(aF)) + "_") + ag) + "_") + aB)), DataEntry((aj + "_Reserved"), ap)])
296+ else ScriptResult(WriteSet([DataEntry((S + "_GameId"), ((((((((((((((j + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString(aF)) + "_") + ag) + "_") + aB)), DataEntry((aj + "_Reserved"), ap)]), TransferSet([ScriptTransfer(ax, aH, L)]))
297+ else ScriptResult(WriteSet([DataEntry((S + "_GameId"), ((((((((((((((k + "_") + av[1]) + "_") + av[2]) + "_") + av[3]) + "_") + av[4]) + "_") + toString((aa * 2))) + "_") + "000") + "_") + "000000")), DataEntry((aj + "_Reserved"), ap)]), TransferSet([ScriptTransfer(ax, aa, L)]))
294298 else throw("Game state is incorrect")
295299 }
296300
297301
298-@Verifier(aK)
299-func aL () = {
300- let N = aK
301- if ($isInstanceOf(N, "TransferTransaction"))
302+@Verifier(aL)
303+func aM () = {
304+ let O = aL
305+ if ($isInstanceOf(O, "TransferTransaction"))
302306 then {
303- let aM = N
304- let ai = if (!(isDefined(aM.assetId)))
307+ let aN = O
308+ let aj = if (!(isDefined(aN.assetId)))
305309 then "WAVES"
306- else if ((aM.assetId == n))
310+ else if ((aN.assetId == n))
307311 then "BTC"
308- else if ((aM.assetId == o))
312+ else if ((aN.assetId == o))
309313 then "ETH"
310- else if ((aM.assetId == p))
314+ else if ((aN.assetId == p))
311315 then "LTC"
312- else if ((aM.assetId == r))
316+ else if ((aN.assetId == r))
313317 then "WCT"
314- else if ((aM.assetId == q))
318+ else if ((aN.assetId == q))
315319 then "VST"
316320 else throw("AssetId is incorrect")
317- let M = getInteger(this, (ai + "_Reserved"))
318- let aN = {
319- let aO = M
320- if ($isInstanceOf(aO, "Int"))
321+ let N = getInteger(this, (aj + "_Reserved"))
322+ let aO = {
323+ let aP = N
324+ if ($isInstanceOf(aP, "Int"))
321325 then {
322- let O = aO
323- O
326+ let P = aP
327+ P
324328 }
325329 else 0
326330 }
327- let aP = (wavesBalance(this) - aN)
328- let aQ = (aP >= aM.amount)
329- let aR = sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
330- if (aQ)
331- then aR
331+ let aQ = (wavesBalance(this) - aO)
332+ let aR = (aQ >= aN.amount)
333+ let aS = sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
334+ if (aR)
335+ then aS
332336 else false
333337 }
334- else if ($isInstanceOf(N, "SetScriptTransaction"))
338+ else if ($isInstanceOf(O, "SetScriptTransaction"))
335339 then {
336- let aS = N
337- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
340+ let aT = O
341+ sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
338342 }
339- else if ($isInstanceOf(N, "InvokeScriptTransaction"))
343+ else if ($isInstanceOf(O, "InvokeScriptTransaction"))
340344 then {
341- let aT = N
342- sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
345+ let aU = O
346+ sigVerify(aU.bodyBytes, aU.proofs[0], aU.senderPublicKey)
343347 }
344348 else false
345349 }
346350

github/deemru/w8io/c3f4982 
105.10 ms