tx · Do8JnnQE6iPdkA7dRnQxD9ZRStESGCB6yMtbrtWZAejS

3N5CSShgGX7yvAy7BSvtB7CDEXfjHLvKYaS:  -0.01500000 Waves

2019.10.16 18:16 [722709] smart account 3N5CSShgGX7yvAy7BSvtB7CDEXfjHLvKYaS > SELF 0.00000000 Waves

{ "type": 13, "id": "Do8JnnQE6iPdkA7dRnQxD9ZRStESGCB6yMtbrtWZAejS", "fee": 1500000, "feeAssetId": null, "timestamp": 1571238868751, "version": 1, "sender": "3N5CSShgGX7yvAy7BSvtB7CDEXfjHLvKYaS", "senderPublicKey": "AbR29fB7BvBAs7UGQahXZBcSKWcFUPqox3CQq29zEXYd", "proofs": [ "28soa9KbSX9Bv7RJC637GfutBBsaAKDkQVSHZCYPyUxdzAqv1nLzN5GGgmFmgcu8EPWKAKXzBVbT33mpUtM2hhFj" ], "script": "base64:AAIDAAAAAAAAAAwIARIAEgYKBAgICAgAAAAoAAAAAA1yc2FQdWJsaWNLZXkxAQAAAF4wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA6SK7P8FXgSOjEaFOY0Ju3ZOCRtI8f/Dr1vcXWsqYPrUmI9e+8Xwvakj3E5hxbgWagRlUeVFC0CVonKSXf6uysQIDAQABAAAAAA1yc2FQdWJsaWNLZXkyAQAAAF4wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAmdfNsz9XawNXVQts9I6UeSV05NZGseLl/EiQGa56+sKUw9UfuupxzCKsM1wx0h3Bccj0B2GP0VaPAYjB9T8rowIDAQABAAAAAA1yc2FQdWJsaWNLZXkzAQAAAF4wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA5EN6/LSviTMuo7JKWgHrce6/Z7jN4coeMKzLm+0UqZZltclryBli3j4SSUUijUr2iq7kEA9V8ncU7OzZTUD6DQIDAQABAAAAAAVkcnVtMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMFAAAAA25pbAAAAAAFZHJ1bTIJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATUJAARM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AAAJcnNhU2lnbjY0AAAAAAAAAAATCQAAAgAAAAECAAAAGFJzYSBTaWduYXR1cmUgaXMgaW52YWxpZAEAAAAXaW5jcmVhc2VSZXNlcnZlZEJhbGFuY2UAAAADAAAABnBtdEFtdAAAAAxwbXRBc3NldE5hbWUAAAAJYXNzZXRJZDU4BAAAABZjdXJyZW50UmVzZXJ2ZWRCYWxhbmNlBAAAABR2YWx1ZVJlc2VydmVkQmFsYW5jZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAADHBtdEFzc2V0TmFtZQIAAAAJX1Jlc2VydmVkBAAAAAckbWF0Y2gwBQAAABR2YWx1ZVJlc2VydmVkQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJuZXdSZXNlcnZlZEJhbGFuY2UJAABkAAAAAgUAAAAWY3VycmVudFJlc2VydmVkQmFsYW5jZQUAAAAGcG10QW10AwkAAGcAAAACCQAD6wAAAAIFAAAABHRoaXMFAAAACWFzc2V0SWQ1OAUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlBQAAABJuZXdSZXNlcnZlZEJhbGFuY2UJAAACAAAAAQIAAAA1QmV0IHdhcyByZWplY3RlZC4gSW5zdWZmaWNpZW50IGZ1bmRzIG9uIGdhbWUgYWNjb3VudC4BAAAAF2RlY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAgAAAAZiZXRBbXQAAAAHYXNzZXRJZAQAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAdhc3NldElkAgAAAAlfUmVzZXJ2ZWQEAAAAFmV4dHJhY3RSZXNlcnZlZEJhbGFuY2UEAAAAByRtYXRjaDAFAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAF2RlY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlCQAAZQAAAAIFAAAAFmV4dHJhY3RSZXNlcnZlZEJhbGFuY2UFAAAABmJldEFtdAMJAABnAAAAAgUAAAAX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ZQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAIEAAAACWFzc2V0TmFtZQkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAwQAAAAJZ2FtZVN0YXJ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAQEAAAACWFzc2V0SWQ1OAkBAAAAEUFzc2V0TmFtZVRvQmFzZTU4AAAAAQUAAAAJYXNzZXROYW1lBAAAABJzZXRSZXNlcnZlZEJhbGFuY2UJAQAAABdkZWNyZWFzZVJlc2VydmVkQmFsYW5jZQAAAAIFAAAABmJldEFtdAUAAAAJYXNzZXROYW1lBAAAAAhkcnVtMUludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMQUAAAANcnNhUHVibGljS2V5MQQAAAAIZHJ1bTJJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjIFAAAADXJzYVB1YmxpY0tleTIEAAAACGRydW0zSW50CQEAAAAIcnNhVG9JbnQAAAADBQAAAAZnYW1lSWQFAAAACHJzYVNpZ24zBQAAAA1yc2FQdWJsaWNLZXkzBAAAAAl0d29JbkFSb3cJAAEsAAAAAgkAAZEAAAACBQAAAAVkcnVtMQUAAAAIZHJ1bTFJbnQJAAGRAAAAAgUAAAAFZHJ1bTIFAAAACGRydW0ySW50BAAAAAt0aHJlZUluQVJvdwkAASwAAAACBQAAAAl0d29JbkFSb3cJAAGRAAAAAgUAAAAFZHJ1bTMFAAAACGRydW0zSW50BAAAABVkcm9wcGVkRWxlbWVudHNTdHJpbmcEAAAADWRydW0xVG9TdHJpbmcJAQAAAA9kcnVtSW50VG9TdHJpbmcAAAABBQAAAAhkcnVtMUludAQAAAANZHJ1bTJUb1N0cmluZwkBAAAAD2RydW1JbnRUb1N0cmluZwAAAAEFAAAACGRydW0ySW50BAAAAA1kcnVtM1RvU3RyaW5nCQEAAAAPZHJ1bUludFRvU3RyaW5nAAAAAQUAAAAIZHJ1bTNJbnQJAAEsAAAAAgkAASwAAAACBQAAAA1kcnVtMVRvU3RyaW5nBQAAAA1kcnVtMlRvU3RyaW5n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", "chainId": 84, "height": 722709, "spentComplexity": 0 } View: original | compacted Prev: AczvFXn6so3B2HihQpL4x5dCq99PGeiLtAxw1uygsPy5 Next: 9RKR2XEnDawRBxpFgxv9TEgsaSvS7sLJ8RBbmF3Qrjta Diff:
OldNewDifferences
116116
117117
118118 func N (J,O,P) = {
119- let Q = rsaVerify(SHA256, toBytes(J), O, P)
120- if (Q)
121- then (toInt(sha256(O)) % 19)
119+ let Q = base58'2W2vcyVTV'
120+ let R = rsaVerify(SHA256, toBytes(J), Q, P)
121+ if (R)
122+ then (toInt(sha256(Q)) % 19)
122123 else throw("Rsa Signature is invalid")
123124 }
124125
125126
126-func R (S,T,U) = {
127- let V = {
128- let W = getInteger(this, (T + "_Reserved"))
129- let M = W
127+func S (T,U,V) = {
128+ let W = {
129+ let X = getInteger(this, (U + "_Reserved"))
130+ let M = X
130131 if ($isInstanceOf(M, "Int"))
131132 then {
132133 let L = M
134135 }
135136 else 0
136137 }
137- let X = (V + S)
138- if ((assetBalance(this, U) >= X))
139- then {
140- let R = X
141- R
142- }
138+ let Y = (W + T)
139+ if ((assetBalance(this, V) >= Y))
140+ then Y
143141 else throw("Bet was rejected. Insufficient funds on game account.")
144142 }
145143
146144
147-func Y (Z,aa) = {
148- let W = getInteger(this, (aa + "_Reserved"))
149- let ab = {
150- let M = W
145+func Z (aa,ab) = {
146+ let X = getInteger(this, (ab + "_Reserved"))
147+ let ac = {
148+ let M = X
151149 if ($isInstanceOf(M, "Int"))
152150 then {
153151 let L = M
155153 }
156154 else 0
157155 }
158- let Y = (ab - Z)
159- if ((Y >= 0))
160- then Y
156+ let Z = (ac - aa)
157+ if ((Z >= 0))
158+ then Z
161159 else throw("Reserved balance couldn't be less than 0")
162160 }
163161
164162
165-func ac (ad) = if ((10 > ad))
166- then ("0" + toString(ad))
167- else toString(ad)
163+func ad (ae) = if ((10 > ae))
164+ then ("0" + toString(ae))
165+ else toString(ae)
168166
169167
170-func ae (af,ag) = if ((af == "777"))
168+func af (ag,ah) = if ((ag == "777"))
171169 then 5370
172- else if ((af == "666"))
170+ else if ((ag == "666"))
173171 then 1300
174- else if ((af == "555"))
172+ else if ((ag == "555"))
175173 then 450
176- else if ((af == "444"))
174+ else if ((ag == "444"))
177175 then 200
178- else if ((af == "333"))
176+ else if ((ag == "333"))
179177 then 150
180- else if ((af == "222"))
178+ else if ((ag == "222"))
181179 then 110
182- else if ((af == "111"))
180+ else if ((ag == "111"))
183181 then 40
184- else if ((ag == "77"))
182+ else if ((ah == "77"))
185183 then 270
186- else if ((ag == "66"))
184+ else if ((ah == "66"))
187185 then 130
188- else if ((ag == "55"))
186+ else if ((ah == "55"))
189187 then 65
190- else if ((ag == "44"))
188+ else if ((ah == "44"))
191189 then 30
192- else if ((ag == "33"))
190+ else if ((ah == "33"))
193191 then 20
194- else if ((ag == "22"))
192+ else if ((ah == "22"))
195193 then 15
196- else if ((ag == "11"))
194+ else if ((ah == "11"))
197195 then 10
198196 else 0
199197
200198
201-func ah (ai) = if ((ai == "WAVES"))
199+func ai (aj) = if ((aj == "WAVES"))
202200 then m
203- else if ((ai == "BTC"))
201+ else if ((aj == "BTC"))
204202 then n
205- else if ((ai == "ETH"))
203+ else if ((aj == "ETH"))
206204 then o
207- else if ((ai == "LTC"))
205+ else if ((aj == "LTC"))
208206 then p
209- else if ((ai == "VST"))
207+ else if ((aj == "VST"))
210208 then q
211- else if ((ai == "WCT"))
209+ else if ((aj == "WCT"))
212210 then r
213211 else throw("Asset name is incorrect")
214212
215213
216-func aj (aa) = if (!(isDefined(aa)))
214+func ak (ab) = if (!(isDefined(ab)))
217215 then "WAVES"
218- else if ((aa == n))
216+ else if ((ab == n))
219217 then "BTC"
220- else if ((aa == o))
218+ else if ((ab == o))
221219 then "ETH"
222- else if ((aa == p))
220+ else if ((ab == p))
223221 then "LTC"
224- else if ((aa == r))
222+ else if ((ab == r))
225223 then "WCT"
226- else if ((aa == q))
224+ else if ((ab == q))
227225 then "VST"
228226 else throw("AssetId is incorrect")
229227
230228
231-@Callable(ak)
229+@Callable(al)
232230 func makeBet () = {
233- let al = extract(ak.payment)
234- let H = (al.amount - h)
235- let aa = al.assetId
236- let J = toBase58String(ak.transactionId)
237- let am = height
238- let an = extract(ak.caller)
239- let T = aj(aa)
240- let ao = R(H, T, al.assetId)
241- let ap = F(T, H)
231+ let am = extract(al.payment)
232+ let H = (am.amount - h)
233+ let ab = am.assetId
234+ let J = toBase58String(al.transactionId)
235+ let an = extract(al.caller)
236+ let U = ak(ab)
237+ let ao = S(H, U, am.assetId)
238+ let ap = F(U, H)
242239 if (ap)
243240 then {
244- let aq = ((((((((i + "_") + toString(an)) + "_") + toString(H)) + "_") + T) + "_") + toString(am))
245- WriteSet([DataEntry((J + "_GameId"), aq), DataEntry((T + "_Reserved"), ao)])
241+ let aq = ((((((((i + "_") + toString(an)) + "_") + toString(H)) + "_") + U) + "_") + toString(height))
242+ WriteSet([DataEntry((J + "_GameId"), aq), DataEntry((U + "_Reserved"), ao)])
246243 }
247244 else throw("assetId is incorrect")
248245 }
249246
250247
251248
252-@Callable(ak)
249+@Callable(al)
253250 func playGame (J,ar,as,at) = {
254251 let au = I(J)
255252 let av = au[0]
256253 let an = addressFromStringValue(au[1])
257- let Z = parseIntValue(au[2])
258- let ai = au[3]
259- let am = parseIntValue(au[4])
260- let U = ah(ai)
261- let ao = Y(Z, ai)
262- let aw = N(J, ar, a)
263- let ax = N(J, as, b)
264- let ay = N(J, at, c)
265- let af = ((d[aw] + e[ax]) + f[ay])
266- let ag = (d[aw] + e[ax])
267- let az = {
268- let aA = ac(aw)
269- let aB = ac(ax)
270- let aC = ac(ay)
271- ((aA + aB) + aC)
254+ let aa = parseIntValue(au[2])
255+ let aj = au[3]
256+ let aw = parseIntValue(au[4])
257+ let V = ai(aj)
258+ let ao = Z(aa, aj)
259+ let ax = N(J, ar, a)
260+ let ay = N(J, as, b)
261+ let az = N(J, at, c)
262+ let ah = (d[ax] + e[ay])
263+ let ag = (ah + f[az])
264+ let aA = {
265+ let aB = ad(ax)
266+ let aC = ad(ay)
267+ let aD = ad(az)
268+ ((aB + aC) + aD)
272269 }
273- let aD = {
274- let aE = ae(af, ag)
275- ((Z * aE) / 10)
270+ let aE = {
271+ let aF = af(ag, ah)
272+ ((aa * aF) / 10)
276273 }
277- let aF = {
278- let aG = assetBalance(this, U)
279- if ((aD > aG))
280- then (Z * 2)
281- else aD
274+ let aG = {
275+ let aH = assetBalance(this, V)
276+ if ((aE > aH))
277+ then (aa * 2)
278+ else aE
282279 }
283- let aH = (g > (height - am))
284- let aI = (av == i)
285- if (aI)
286- then if (aH)
287- then if ((aD == 0))
288- then WriteSet([DataEntry((J + "_GameId"), ((((((((((((((l + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aD)) + "_") + af) + "_") + az)), DataEntry((ai + "_Reserved"), ao)])
289- else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((j + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aD)) + "_") + af) + "_") + az)), DataEntry((ai + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aF, U)]))
290- else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((k + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString((Z * 2))) + "_") + "000") + "_") + "000000")), DataEntry((ai + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, Z, U)]))
280+ let aI = (g > (height - aw))
281+ let aJ = (av == i)
282+ if (aJ)
283+ then if (aI)
284+ then if ((aE == 0))
285+ then WriteSet([DataEntry((J + "_GameId"), ((((((((((((((l + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aE)) + "_") + ag) + "_") + aA)), DataEntry((aj + "_Reserved"), ao)])
286+ else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((j + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aE)) + "_") + ag) + "_") + aA)), DataEntry((aj + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aG, V)]))
287+ else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((k + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString((aa * 2))) + "_") + "000") + "_") + "000000")), DataEntry((aj + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aa, V)]))
291288 else throw("Game state is incorrect")
292289 }
293290
294291
295-@Verifier(aJ)
296-func aK () = {
297- let M = aJ
292+@Verifier(aK)
293+func aL () = {
294+ let M = aK
298295 if ($isInstanceOf(M, "TransferTransaction"))
299296 then {
300- let aL = M
301- let ai = aj(aL.assetId)
302- let W = getInteger(this, (ai + "_Reserved"))
303- let aM = {
304- let aN = W
305- if ($isInstanceOf(aN, "Int"))
297+ let aM = M
298+ let aj = ak(aM.assetId)
299+ let X = getInteger(this, (aj + "_Reserved"))
300+ let aN = {
301+ let aO = X
302+ if ($isInstanceOf(aO, "Int"))
306303 then {
307- let L = aN
304+ let L = aO
308305 L
309306 }
310307 else 0
311308 }
312- let aO = (assetBalance(this, aL.assetId) - aM)
313- let aP = (aO >= aL.amount)
314- let aQ = sigVerify(aL.bodyBytes, aL.proofs[0], aL.senderPublicKey)
315- if (aP)
316- then aQ
309+ let aP = (assetBalance(this, aM.assetId) - aN)
310+ let aQ = (aP >= aM.amount)
311+ let aR = sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
312+ if (aQ)
313+ then aR
317314 else false
318315 }
319316 else if ($isInstanceOf(M, "SetScriptTransaction"))
320317 then {
321- let aR = M
322- sigVerify(aR.bodyBytes, aR.proofs[0], aR.senderPublicKey)
318+ let aS = M
319+ sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
323320 }
324321 else if ($isInstanceOf(M, "InvokeScriptTransaction"))
325322 then {
326- let aS = M
327- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
323+ let aT = M
324+ sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
328325 }
329326 else if ($isInstanceOf(M, "DataTransaction"))
330327 then {
331- let aT = M
328+ let aU = M
332329 true
333330 }
334331 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'rbanryFCC6yJnCRCQgVWyYXvqkSBz4k8KhQ3RykxwarVH511hL9sT9BmXVhT46Chhifa5SxbS3bXaCfb3RLn3N6NQ9mq87bysFKHJVrJCVbT2V3utVa78CdZY6iSh37n'
55
66 let b = base58'rbanryFCC6yJnCRCQgVWyYXvqkSBz4k8KgcFkfv9b79KSZ15ZStM1TtV4AfYytGwAbY2shvFXFE318ZyJrAu8yc4BwATpiMGpj1KKc7rs6im2E4CZSdASf14VtddAYMv'
77
88 let c = base58'rbanryFCC6yJnCRCQgVWyYXvqkSBz4k8KhMEFmsx7sdRq1ZZfqhEbx87nhBZK8CYzzHfHDduuvwViTn7fPpRB8pJx3S3HRXNeFYut1B9wJVSPoGjRuzKw8uCfZo8JXNp'
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
103103 func I (J) = {
104104 let K = getString(this, (J + "_GameId"))
105105 let L = {
106106 let M = K
107107 if ($isInstanceOf(M, "String"))
108108 then {
109109 let L = M
110110 L
111111 }
112112 else throw("GameId was not found")
113113 }
114114 split(L, "_")
115115 }
116116
117117
118118 func N (J,O,P) = {
119- let Q = rsaVerify(SHA256, toBytes(J), O, P)
120- if (Q)
121- then (toInt(sha256(O)) % 19)
119+ let Q = base58'2W2vcyVTV'
120+ let R = rsaVerify(SHA256, toBytes(J), Q, P)
121+ if (R)
122+ then (toInt(sha256(Q)) % 19)
122123 else throw("Rsa Signature is invalid")
123124 }
124125
125126
126-func R (S,T,U) = {
127- let V = {
128- let W = getInteger(this, (T + "_Reserved"))
129- let M = W
127+func S (T,U,V) = {
128+ let W = {
129+ let X = getInteger(this, (U + "_Reserved"))
130+ let M = X
130131 if ($isInstanceOf(M, "Int"))
131132 then {
132133 let L = M
133134 L
134135 }
135136 else 0
136137 }
137- let X = (V + S)
138- if ((assetBalance(this, U) >= X))
139- then {
140- let R = X
141- R
142- }
138+ let Y = (W + T)
139+ if ((assetBalance(this, V) >= Y))
140+ then Y
143141 else throw("Bet was rejected. Insufficient funds on game account.")
144142 }
145143
146144
147-func Y (Z,aa) = {
148- let W = getInteger(this, (aa + "_Reserved"))
149- let ab = {
150- let M = W
145+func Z (aa,ab) = {
146+ let X = getInteger(this, (ab + "_Reserved"))
147+ let ac = {
148+ let M = X
151149 if ($isInstanceOf(M, "Int"))
152150 then {
153151 let L = M
154152 L
155153 }
156154 else 0
157155 }
158- let Y = (ab - Z)
159- if ((Y >= 0))
160- then Y
156+ let Z = (ac - aa)
157+ if ((Z >= 0))
158+ then Z
161159 else throw("Reserved balance couldn't be less than 0")
162160 }
163161
164162
165-func ac (ad) = if ((10 > ad))
166- then ("0" + toString(ad))
167- else toString(ad)
163+func ad (ae) = if ((10 > ae))
164+ then ("0" + toString(ae))
165+ else toString(ae)
168166
169167
170-func ae (af,ag) = if ((af == "777"))
168+func af (ag,ah) = if ((ag == "777"))
171169 then 5370
172- else if ((af == "666"))
170+ else if ((ag == "666"))
173171 then 1300
174- else if ((af == "555"))
172+ else if ((ag == "555"))
175173 then 450
176- else if ((af == "444"))
174+ else if ((ag == "444"))
177175 then 200
178- else if ((af == "333"))
176+ else if ((ag == "333"))
179177 then 150
180- else if ((af == "222"))
178+ else if ((ag == "222"))
181179 then 110
182- else if ((af == "111"))
180+ else if ((ag == "111"))
183181 then 40
184- else if ((ag == "77"))
182+ else if ((ah == "77"))
185183 then 270
186- else if ((ag == "66"))
184+ else if ((ah == "66"))
187185 then 130
188- else if ((ag == "55"))
186+ else if ((ah == "55"))
189187 then 65
190- else if ((ag == "44"))
188+ else if ((ah == "44"))
191189 then 30
192- else if ((ag == "33"))
190+ else if ((ah == "33"))
193191 then 20
194- else if ((ag == "22"))
192+ else if ((ah == "22"))
195193 then 15
196- else if ((ag == "11"))
194+ else if ((ah == "11"))
197195 then 10
198196 else 0
199197
200198
201-func ah (ai) = if ((ai == "WAVES"))
199+func ai (aj) = if ((aj == "WAVES"))
202200 then m
203- else if ((ai == "BTC"))
201+ else if ((aj == "BTC"))
204202 then n
205- else if ((ai == "ETH"))
203+ else if ((aj == "ETH"))
206204 then o
207- else if ((ai == "LTC"))
205+ else if ((aj == "LTC"))
208206 then p
209- else if ((ai == "VST"))
207+ else if ((aj == "VST"))
210208 then q
211- else if ((ai == "WCT"))
209+ else if ((aj == "WCT"))
212210 then r
213211 else throw("Asset name is incorrect")
214212
215213
216-func aj (aa) = if (!(isDefined(aa)))
214+func ak (ab) = if (!(isDefined(ab)))
217215 then "WAVES"
218- else if ((aa == n))
216+ else if ((ab == n))
219217 then "BTC"
220- else if ((aa == o))
218+ else if ((ab == o))
221219 then "ETH"
222- else if ((aa == p))
220+ else if ((ab == p))
223221 then "LTC"
224- else if ((aa == r))
222+ else if ((ab == r))
225223 then "WCT"
226- else if ((aa == q))
224+ else if ((ab == q))
227225 then "VST"
228226 else throw("AssetId is incorrect")
229227
230228
231-@Callable(ak)
229+@Callable(al)
232230 func makeBet () = {
233- let al = extract(ak.payment)
234- let H = (al.amount - h)
235- let aa = al.assetId
236- let J = toBase58String(ak.transactionId)
237- let am = height
238- let an = extract(ak.caller)
239- let T = aj(aa)
240- let ao = R(H, T, al.assetId)
241- let ap = F(T, H)
231+ let am = extract(al.payment)
232+ let H = (am.amount - h)
233+ let ab = am.assetId
234+ let J = toBase58String(al.transactionId)
235+ let an = extract(al.caller)
236+ let U = ak(ab)
237+ let ao = S(H, U, am.assetId)
238+ let ap = F(U, H)
242239 if (ap)
243240 then {
244- let aq = ((((((((i + "_") + toString(an)) + "_") + toString(H)) + "_") + T) + "_") + toString(am))
245- WriteSet([DataEntry((J + "_GameId"), aq), DataEntry((T + "_Reserved"), ao)])
241+ let aq = ((((((((i + "_") + toString(an)) + "_") + toString(H)) + "_") + U) + "_") + toString(height))
242+ WriteSet([DataEntry((J + "_GameId"), aq), DataEntry((U + "_Reserved"), ao)])
246243 }
247244 else throw("assetId is incorrect")
248245 }
249246
250247
251248
252-@Callable(ak)
249+@Callable(al)
253250 func playGame (J,ar,as,at) = {
254251 let au = I(J)
255252 let av = au[0]
256253 let an = addressFromStringValue(au[1])
257- let Z = parseIntValue(au[2])
258- let ai = au[3]
259- let am = parseIntValue(au[4])
260- let U = ah(ai)
261- let ao = Y(Z, ai)
262- let aw = N(J, ar, a)
263- let ax = N(J, as, b)
264- let ay = N(J, at, c)
265- let af = ((d[aw] + e[ax]) + f[ay])
266- let ag = (d[aw] + e[ax])
267- let az = {
268- let aA = ac(aw)
269- let aB = ac(ax)
270- let aC = ac(ay)
271- ((aA + aB) + aC)
254+ let aa = parseIntValue(au[2])
255+ let aj = au[3]
256+ let aw = parseIntValue(au[4])
257+ let V = ai(aj)
258+ let ao = Z(aa, aj)
259+ let ax = N(J, ar, a)
260+ let ay = N(J, as, b)
261+ let az = N(J, at, c)
262+ let ah = (d[ax] + e[ay])
263+ let ag = (ah + f[az])
264+ let aA = {
265+ let aB = ad(ax)
266+ let aC = ad(ay)
267+ let aD = ad(az)
268+ ((aB + aC) + aD)
272269 }
273- let aD = {
274- let aE = ae(af, ag)
275- ((Z * aE) / 10)
270+ let aE = {
271+ let aF = af(ag, ah)
272+ ((aa * aF) / 10)
276273 }
277- let aF = {
278- let aG = assetBalance(this, U)
279- if ((aD > aG))
280- then (Z * 2)
281- else aD
274+ let aG = {
275+ let aH = assetBalance(this, V)
276+ if ((aE > aH))
277+ then (aa * 2)
278+ else aE
282279 }
283- let aH = (g > (height - am))
284- let aI = (av == i)
285- if (aI)
286- then if (aH)
287- then if ((aD == 0))
288- then WriteSet([DataEntry((J + "_GameId"), ((((((((((((((l + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aD)) + "_") + af) + "_") + az)), DataEntry((ai + "_Reserved"), ao)])
289- else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((j + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aD)) + "_") + af) + "_") + az)), DataEntry((ai + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aF, U)]))
290- else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((k + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString((Z * 2))) + "_") + "000") + "_") + "000000")), DataEntry((ai + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, Z, U)]))
280+ let aI = (g > (height - aw))
281+ let aJ = (av == i)
282+ if (aJ)
283+ then if (aI)
284+ then if ((aE == 0))
285+ then WriteSet([DataEntry((J + "_GameId"), ((((((((((((((l + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aE)) + "_") + ag) + "_") + aA)), DataEntry((aj + "_Reserved"), ao)])
286+ else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((j + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString(aE)) + "_") + ag) + "_") + aA)), DataEntry((aj + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aG, V)]))
287+ else ScriptResult(WriteSet([DataEntry((J + "_GameId"), ((((((((((((((k + "_") + au[1]) + "_") + au[2]) + "_") + au[3]) + "_") + toString(height)) + "_") + toString((aa * 2))) + "_") + "000") + "_") + "000000")), DataEntry((aj + "_Reserved"), ao)]), TransferSet([ScriptTransfer(an, aa, V)]))
291288 else throw("Game state is incorrect")
292289 }
293290
294291
295-@Verifier(aJ)
296-func aK () = {
297- let M = aJ
292+@Verifier(aK)
293+func aL () = {
294+ let M = aK
298295 if ($isInstanceOf(M, "TransferTransaction"))
299296 then {
300- let aL = M
301- let ai = aj(aL.assetId)
302- let W = getInteger(this, (ai + "_Reserved"))
303- let aM = {
304- let aN = W
305- if ($isInstanceOf(aN, "Int"))
297+ let aM = M
298+ let aj = ak(aM.assetId)
299+ let X = getInteger(this, (aj + "_Reserved"))
300+ let aN = {
301+ let aO = X
302+ if ($isInstanceOf(aO, "Int"))
306303 then {
307- let L = aN
304+ let L = aO
308305 L
309306 }
310307 else 0
311308 }
312- let aO = (assetBalance(this, aL.assetId) - aM)
313- let aP = (aO >= aL.amount)
314- let aQ = sigVerify(aL.bodyBytes, aL.proofs[0], aL.senderPublicKey)
315- if (aP)
316- then aQ
309+ let aP = (assetBalance(this, aM.assetId) - aN)
310+ let aQ = (aP >= aM.amount)
311+ let aR = sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
312+ if (aQ)
313+ then aR
317314 else false
318315 }
319316 else if ($isInstanceOf(M, "SetScriptTransaction"))
320317 then {
321- let aR = M
322- sigVerify(aR.bodyBytes, aR.proofs[0], aR.senderPublicKey)
318+ let aS = M
319+ sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
323320 }
324321 else if ($isInstanceOf(M, "InvokeScriptTransaction"))
325322 then {
326- let aS = M
327- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
323+ let aT = M
324+ sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
328325 }
329326 else if ($isInstanceOf(M, "DataTransaction"))
330327 then {
331- let aT = M
328+ let aU = M
332329 true
333330 }
334331 else false
335332 }
336333

github/deemru/w8io/873ac7e 
96.85 ms