tx · C4ZjhaLPsYA3FW1p2S1EZZnrTCLRdRy3t9kYJMg2LqAK

3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd:  -0.10000000 Waves

2021.12.17 01:28 [1837426] smart account 3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd > SELF 0.00000000 Waves

{ "type": 13, "id": "C4ZjhaLPsYA3FW1p2S1EZZnrTCLRdRy3t9kYJMg2LqAK", "fee": 10000000, "feeAssetId": null, "timestamp": 1639693722538, "version": 2, "chainId": 84, "sender": "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd", "senderPublicKey": "7Hi4o6vBstRs79NMVMjEove52dmP87RAcvNDAXN8C4Wi", "proofs": [ "2AmpjZ1Hk9qpMEiSisab8PMQiT3DwtKUEqHZU7YnaHvvo3jdEGpjnaoL8rw6fyUvEAju5grUzM9ac38Eajzo3ri5" ], "script": "base64:AAIFAAAAAAAAABIIAhIECgIBARIDCgEBEgMKAQEAAAANAAAAAAlzZXBhcmF0b3ICAAAAASwAAAAABm1heEJldAAAAAAABfXhAAEAAAAGZ2V0RmVlAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAW4FAAAAByRtYXRjaDAFAAAAAW4JAAACAAAAAQIAAAAbSW5pdGlhbCBmZWUgY2Fubm90IGJlIGZvdW5kAQAAAApnZXROZXdEZWNrAAAAAAkABEwAAAACAgAAAAMwMUMJAARMAAAAAgIAAAADMDJDCQAETAAAAAICAAAAAzAzQwkABEwAAAACAgAAAAMwNEMJAARMAAAAAgIAAAADMDVDCQAETAAAAAICAAAAAzA2QwkABEwAAAACAgAAAAMwN0MJAARMAAAAAgIAAAADMDhDCQAETAAAAAICAAAAAzA5QwkABEwAAAACAgAAAAMxMEMJAARMAAAAAgIAAAADMTFDCQAETAAAAAICAAAAAzEyQwkABEwAAAACAgAAAAMxM0MJAARMAAAAAgIAAAADMDFECQAETAAAAAICAAAAAzAyRAkABEwAAAACAgAAAAMwM0QJAARMAAAAAgIAAAADMDRECQAETAAAAAICAAAAAzA1RAkABEwAAAACAgAAAAMwNkQJAARMAAAAAgIAAAADMDdECQAETAAAAAICAAAAAzA4RAkABEwAAAACAgAAAAMwOUQJAARMAAAAAgIAAAADMTBECQAETAAAAAICAAAAAzExRAkABEwAAAACAgAAAAMxMkQJAARMAAAAAgIAAAADMTNECQAETAAAAAICAAAAAzAxSAkABEwAAAACAgAAAAMwMkgJAARMAAAAAgIAAAADMDNICQAETAAAAAICAAAAAzA0SAkABEwAAAACAgAAAAMwNUgJAARMAAAAAgIAAAADMDZICQAETAAAAAICAAAAAzA3SAkABEwAAAACAgAAAAMwOEgJAARMAAAAAgIAAAADMDlICQAETAAAAAICAAAAAzEwSAkABEwAAAACAgAAAAMxMUgJAARMAAAAAgIAAAADMTJICQAETAAAAAICAAAAAzEzSAkABEwAAAACAgAAAAMwMVMJAARMAAAAAgIAAAADMDJT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AAALJHQwNDE3OTQyOTkAAAACXzEEAAAAEmNhcmRQb3NpdGlvblBsYXllcggFAAAACyR0MDQxNzk0Mjk5AAAAAl8yBAAAAAdhdkRlY2sxCAUAAAALJHQwNDE3OTQyOTkAAAACXzMEAAAACyR0MDQzMDQ0NDI1CQEAAAAlZ2V0UGxheWVyQ2FyZEFuZFBvc2l0aW9uQW5kVXBkYXRlRGVjawAAAAMFAAAAAWkJAAGkAAAAAQUAAAAMY3VycmVudFJvdW5kBQAAAAdhdkRlY2sxBAAAAApjYXJkQ2FzaW5vCAUAAAALJHQwNDMwNDQ0MjUAAAACXzEEAAAAEmNhcmRQb3NpdGlvbkNhc2lubwgFAAAACyR0MDQzMDQ0NDI1AAAAAl8yBAAAAAdhdkRlY2syCAUAAAALJHQwNDMwNDQ0MjUAAAACXzMDCQAAAAAAAAIJAQAAAAxnZXRDYXJkVmFsdWUAAAABBQAAAApjYXJkUGxheWVyCQEAAAAMZ2V0Q2FyZFZhbHVlAAAAAQUAAAAKY2FyZENhc2lubwQAAAAMY3VycmVudERyYXdzAAAAAAAAAAABAwkBAAAAAiE9AAAAAgUAAAAGdGllQmV0AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAUAAAAMY3VycmVudFJvdW5kCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nh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ZVByb3AJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9kZWNrBAAAAAZhdkRlY2sJAQAAABBnZXRBdmFpbGFibGVEZWNrAAAAAgUAAAAEdGhpcwUAAAANYXZhaWxhYmxlUHJvcAQAAAALJHQwOTY1NDk3NjUJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwUAAAABaQkAAaQAAAABBQAAAApyb3VuZFRvVXNlBQAAAAZhdkRlY2sEAAAAB2J1cm5lZDEIBQAAAAskdDA5NjU0OTc2NQAAAAJfMQQAAAAKYnVybmVkUG9zMQgFAAAACyR0MDk2NTQ5NzY1AAAAAl8yBAAAAAtidXJuZWREZWNrMQgFAAAACyR0MDk2NTQ5NzY1AAAAAl8zBAAAAAskdDA5Nzc4OTkwNAkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAHYnVybmVkMQUAAAALYnVybmVkRGVjazEEAAAAB2J1cm5lZDIIBQAAAAskdDA5Nzc4OTkwNAAAAAJfMQQAAAAKYnVybmVkUG9zMggFAAAACyR0MDk3Nzg5OTA0AAAAAl8yBAAAAAtidXJuZWREZWNrMggFAAAACyR0MDk3Nzg5OTA0AAAAAl8zBAAAAAwkdDA5OTE3MTAwNDMJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwUAAAABaQkAASwAAAACCQABpAAAAAEFAAAACnJvdW5kVG9Vc2UFAAAAB2J1cm5lZDIFAAAAC2J1cm5lZERlY2syBAAAAAdidXJuZWQzCAUAAAAMJHQwOTkxNzEwMDQzAAAAAl8xBAAAAApidXJuZWRQb3MzCAUAAAAMJHQwOTkxNzEwMDQzAAAAAl8yBAAAAAtidXJuZWREZWNrMwgFAAAADCR0MDk5MTcxMDA0MwAAAAJfMwQAAAANJHQwMTAwNTYxMDE4OQkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAHYnVybmVkMwUAAAALYnVybmVkRGVjazMEAAAACmNhcmRQbGF5ZXIIBQAAAA0kdDAxMDA1NjEwMTg5AAAAAl8xBAAAABJjYXJkUG9zaXRpb25QbGF5ZXIIBQAAAA0kdDAxMDA1NjEwMTg5AAAAAl8yBAAAAAdhdkRlY2sxCAUAAAANJHQwMTAwNTYxMDE4OQAAAAJfMwQAAAANJHQwMTAyMDIxMDMzNAkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAKY2FyZFBsYXllcgUAAAAHYXZEZWNrMQQAAAAKY2FyZENhc2lubwgFAAAADSR0MDEwMjAyMTAzMzQAAAACXzEEAAAAEmNhcmRQb3NpdGlvbkNhc2lubwgFAAAADSR0MDEwMjAyMTAzMzQAAAACXzIEAAAAB2F2RGVjazIIBQAAAA0kdDAxMDIwMjEwMzM0AAAAAl8zAwkAAAAAAAACCQEAAAAMZ2V0Q2FyZFZhbHVlAAAAAQUAAAAKY2FyZFBsYXllcgkBAAAADGdldENhcmRWYWx1ZQAAAAEFAAAACmNhcmRDYXNpbm8EAAAADGN1cnJlbnREcmF3cwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAA1fZHJhd1NlcXVlbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAJAABkAAAAAgUAAAABYQAAAAAAAAAAAQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1hdmFpbGFibGVQcm9wCQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAARX0xhc3RSYW5kb25OdW1iZXIFAAAAEmNhcmRQb3NpdGlvbkNhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfcGxheWVyQ2FyZAUAAAAKY2FyZFBsYXllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfY2FzaW5vQ2FyZAUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAANX2RyYXdTZXF1ZW5jZQUAAAAMY3VycmVudERyYXdzBQAAAANuaWwDCQEAAAAOaXNQbGF5ZXJXaW5uZXIAAAACBQAAAApjYXJkUGxheWVyBQAAAApjYXJkQ2FzaW5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAABFfTGFzdFJhbmRvbk51bWJlcgUAAAASY2FyZFBvc2l0aW9uQ2FzaW5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAC19wbGF5ZXJDYXJkBQAAAApjYXJkUGxheWVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAC19jYXNpbm9DYXJkBQAAAApjYXJkQ2FzaW5vCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGQAAAACBQAAAAFwBQAAAAFmBQAAAAR1bml0CQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAVfc3RvcAYFAAAAA25pbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1hdmFpbGFibGVQcm9wCQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAARX0xhc3RSYW5kb25OdW1iZXIFAAAAEmNhcmRQb3NpdGlvbkNhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfcGxheWVyQ2FyZAUAAAAKY2FyZFBsYXllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfY2FzaW5vQ2FyZAUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAFX3N0b3AGBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleRvXsBM=", "height": 1837426, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hgf3NUYYrT5U5WL7PWTqQ4BDUCgEfCGJAXPBWsLhmR2o Next: DtDMobNyFDamZhQstGak6PHq9UA2eV4QuUsFy7HEiM3a Diff:
OldNewDifferences
2727 else j
2828
2929
30-func k (l,m,n) = {
31- let o = sha256(toBytes((l + m)))
32- let p = toInt(o)
33- let q = (p % n)
34- if ((0 > q))
35- then ((-1 * q) + 1)
36- else (q + 1)
30+func k (l,m,n,o) = {
31+ let p = (toInt(sha256(((take(lastBlock.generationSignature, 16) + take(l.transactionId, 16)) + toBytes(m)))) % 17728)
32+ let q = (toInt(toBytes(pow(p, 0, 2, 0, 0, HALFUP))) + toInt(toBytes(n)))
33+ let r = (q % o)
34+ if ((0 > r))
35+ then ((-1 * r) + 1)
36+ else (r + 1)
3737 }
3838
3939
40-func r (s) = {
41- let e = getInteger(this, (s + "_LastRandonNumber"))
42- if ($isInstanceOf(e, "Int"))
40+func s (l) = if ((size(l.payments) == 0))
41+ then throw("Payment must be attached")
42+ else if ((size(l.payments) == 1))
4343 then {
44- let f = e
45- toString(f)
46- }
47- else s
48- }
49-
50-
51-func t (u) = if ((size(u.payments) == 0))
52- then throw("Payment must be attached")
53- else if ((size(u.payments) == 1))
54- then {
55- let v = u.payments[0]
56- if (isDefined(v.assetId))
44+ let t = l.payments[0]
45+ if (isDefined(t.assetId))
5746 then throw("This function accepts WAVES tokens only (0)")
58- else v.amount
47+ else t.amount
5948 }
6049 else throw("There should be only one payment")
6150
6251
63-func w (x) = {
64- let y = parseIntValue(take(x, 2))
65- if ((y == 1))
52+func u (v) = {
53+ let w = parseIntValue(take(v, 2))
54+ if ((w == 1))
6655 then 20
67- else y
56+ else w
6857 }
6958
7059
71-func z (A,B) = {
72- let y = w(A)
73- let C = w(B)
74- (y > C)
60+func x (y,z) = {
61+ let w = u(y)
62+ let A = u(z)
63+ (w > A)
7564 }
7665
7766
78-func D (E,F) = if (isDefined(getString(E, F)))
67+func B (C,D) = if (isDefined(getString(C, D)))
7968 then {
80- let G = getStringValue(E, F)
81- let j = split(G, a)
69+ let E = getStringValue(C, D)
70+ let j = split(E, a)
8271 i(j)
8372 }
8473 else h()
8574
8675
87-func H (I,J,j) = {
88- let K = i(j)
89- let L = k(((I + makeString(K, a)) + J), r(J), size(K))
90- let M = K[(L % size(K))]
91- let N = removeByIndex(K, (L % size(K)))
92- $Tuple3(M, L, N)
76+func F (l,m,j) = {
77+ let G = i(j)
78+ let H = k(l, m, makeString(G, a), size(G))
79+ let I = G[(H % size(G))]
80+ let J = removeByIndex(G, (H % size(G)))
81+ $Tuple3(I, H, J)
9382 }
9483
9584
96-func O (P,J) = if ((P == 0))
85+func K (L,M) = if ((L == 0))
9786 then {
98- let Q = {
99- let e = getInteger(this, (J + "_round"))
87+ let N = {
88+ let e = getInteger(this, (M + "_round"))
10089 if ($isInstanceOf(e, "Int"))
10190 then {
102- let R = e
103- R
91+ let O = e
92+ O
10493 }
10594 else throw("Unable to find the round")
10695 }
107- Q
96+ N
10897 }
109- else P
98+ else L
11099
111100
112-@Callable(u)
113-func bet (S,T) = {
114- let J = toBase58String(u.caller.bytes)
115- let y = t(u)
116- let Q = {
117- let e = getInteger(this, (J + "_round"))
101+@Callable(l)
102+func bet (P,Q) = {
103+ let M = toBase58String(l.caller.bytes)
104+ let w = s(l)
105+ let N = {
106+ let e = getInteger(this, (M + "_round"))
118107 if ($isInstanceOf(e, "Int"))
119108 then {
120- let R = e
121- (R + 1)
109+ let O = e
110+ (O + 1)
122111 }
123112 else 1
124113 }
125- let U = ((J + "_") + toString(Q))
126- if (isDefined(getBoolean(this, (U + "_stop"))))
114+ let R = ((M + "_") + toString(N))
115+ if (isDefined(getBoolean(this, (R + "_stop"))))
127116 then throw("This round is already played")
128- else if (isDefined(getString(this, U)))
117+ else if (isDefined(getString(this, R)))
129118 then throw("You cannot bet on this game")
130- else if ((y != (S + T)))
119+ else if ((w != (P + Q)))
131120 then throw("normal bet + tie bet should be equal to the payment")
132- else if ((y > b))
121+ else if ((w > b))
133122 then throw(("The bet needs to be lower or equal than " + toString(b)))
134123 else {
135- let F = (U + "_deck")
136- let V = D(this, F)
137- let W = H(U, U, V)
138- let A = W._1
124+ let D = (R + "_deck")
125+ let S = B(this, D)
126+ let T = F(l, toString(N), S)
127+ let y = T._1
128+ let U = T._2
129+ let V = T._3
130+ let W = F(l, toString(N), V)
131+ let z = W._1
139132 let X = W._2
140- let Y = W._3
141- let Z = H((U + A), U, Y)
142- let B = Z._1
143- let aa = Z._2
144- let K = Z._3
145- if ((w(A) == w(B)))
133+ let G = W._3
134+ if ((u(y) == u(z)))
146135 then {
147- let ab = 1
148- if ((T != 0))
149- then [StringEntry(F, makeString(K, a)), IntegerEntry((J + "_round"), Q), BooleanEntry(U, true), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab), IntegerEntry((U + "_betAmount"), S), ScriptTransfer(u.caller, (((T * 10) + T) + u.fee), unit)]
150- else [StringEntry(F, makeString(K, a)), IntegerEntry((J + "_round"), Q), BooleanEntry(U, true), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee)]
136+ let Y = 1
137+ if ((Q != 0))
138+ then [StringEntry(D, makeString(G, a)), IntegerEntry((M + "_round"), N), BooleanEntry(R, true), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y), IntegerEntry((R + "_betAmount"), P), ScriptTransfer(l.caller, (((Q * 10) + Q) + l.fee), unit)]
139+ else [StringEntry(D, makeString(G, a)), IntegerEntry((M + "_round"), N), BooleanEntry(R, true), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee)]
151140 }
152- else if (z(A, B))
153- then [StringEntry(F, makeString(K, a)), BooleanEntry(U, true), IntegerEntry((J + "_round"), Q), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee), ScriptTransfer(u.caller, (S + u.fee), unit), BooleanEntry((U + "_stop"), true)]
154- else [StringEntry(F, makeString(K, a)), BooleanEntry(U, true), IntegerEntry((J + "_round"), Q), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee), BooleanEntry((U + "_stop"), true)]
141+ else if (x(y, z))
142+ then [StringEntry(D, makeString(G, a)), BooleanEntry(R, true), IntegerEntry((M + "_round"), N), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee), ScriptTransfer(l.caller, (P + l.fee), unit), BooleanEntry((R + "_stop"), true)]
143+ else [StringEntry(D, makeString(G, a)), BooleanEntry(R, true), IntegerEntry((M + "_round"), N), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee), BooleanEntry((R + "_stop"), true)]
155144 }
156145 }
157146
158147
159148
160-@Callable(u)
161-func surrender (P) = {
162- let J = toBase58String(u.caller.bytes)
163- let ac = O(P, J)
164- let U = ((J + "_") + toString(ac))
165- if (!(isDefined(getBoolean(this, U))))
149+@Callable(l)
150+func surrender (L) = {
151+ let M = toBase58String(l.caller.bytes)
152+ let Z = K(L, M)
153+ let R = ((M + "_") + toString(Z))
154+ if (!(isDefined(getBoolean(this, R))))
166155 then throw("This round is not played")
167- else if (isDefined(getBoolean(this, (U + "_stop"))))
156+ else if (isDefined(getBoolean(this, (R + "_stop"))))
168157 then throw("This round is already played")
169- else if (!(isDefined(getInteger(this, (U + "_drawSequence")))))
158+ else if (!(isDefined(getInteger(this, (R + "_drawSequence")))))
170159 then throw("This game is not on war")
171160 else {
172- let ad = {
173- let e = getInteger(this, (U + "_betAmount"))
161+ let aa = {
162+ let e = getInteger(this, (R + "_betAmount"))
174163 if ($isInstanceOf(e, "Int"))
175164 then {
176- let R = e
177- R
165+ let O = e
166+ O
178167 }
179168 else throw("Unable to find original bet amount")
180169 }
181- let ae = c((U + "_initialFee"))
182-[ScriptTransfer(u.caller, ((ad / 2) + ae), unit), BooleanEntry((U + "_stop"), true)]
170+ let ab = c((R + "_initialFee"))
171+[ScriptTransfer(l.caller, ((aa / 2) + ab), unit), BooleanEntry((R + "_stop"), true)]
183172 }
184173 }
185174
186175
187176
188-@Callable(u)
189-func goToWar (P) = {
190- let J = toBase58String(u.caller.bytes)
191- let ac = O(P, J)
192- let U = ((J + "_") + toString(ac))
193- if (!(isDefined(getBoolean(this, U))))
177+@Callable(l)
178+func goToWar (L) = {
179+ let M = toBase58String(l.caller.bytes)
180+ let Z = K(L, M)
181+ let R = ((M + "_") + toString(Z))
182+ if (!(isDefined(getBoolean(this, R))))
194183 then throw("This round is not played")
195- else if (isDefined(getBoolean(this, (U + "_stop"))))
184+ else if (isDefined(getBoolean(this, (R + "_stop"))))
196185 then throw("This round is already played")
197- else if (!(isDefined(getInteger(this, (U + "_drawSequence")))))
186+ else if (!(isDefined(getInteger(this, (R + "_drawSequence")))))
198187 then throw("This game is not on war")
199188 else {
200- let ad = {
201- let e = getInteger(this, (U + "_betAmount"))
189+ let aa = {
190+ let e = getInteger(this, (R + "_betAmount"))
202191 if ($isInstanceOf(e, "Int"))
203192 then {
204- let R = e
205- R
193+ let O = e
194+ O
206195 }
207196 else throw("Unable to find original bet amount")
208197 }
209- let y = t(u)
210- let ae = c((U + "_initialFee"))
211- if ((y != ad))
212- then throw((((("original bet amount (" + toString(ad)) + ") different to the current payment (") + toString(y)) + ")"))
198+ let w = s(l)
199+ let ab = c((R + "_initialFee"))
200+ if ((w != aa))
201+ then throw((((("original bet amount (" + toString(aa)) + ") different to the current payment (") + toString(w)) + ")"))
213202 else {
214- let F = (U + "_deck")
215- let V = D(this, F)
216- let af = H(U, U, V)
217- let ag = af._1
218- let ah = af._2
219- let ai = af._3
220- let aj = H((U + ag), U, ai)
221- let ak = aj._1
222- let al = aj._2
223- let am = aj._3
224- let an = H((U + ak), U, am)
225- let ao = an._1
226- let ap = an._2
227- let aq = an._3
228- let ar = H((U + ao), U, aq)
229- let A = ar._1
230- let X = ar._2
231- let Y = ar._3
232- let as = H((U + A), U, Y)
233- let B = as._1
234- let aa = as._2
235- let K = as._3
236- if ((w(A) == w(B)))
203+ let D = (R + "_deck")
204+ let S = B(this, D)
205+ let ac = F(l, toString(Z), S)
206+ let ad = ac._1
207+ let ae = ac._2
208+ let af = ac._3
209+ let ag = F(l, (toString(Z) + ad), af)
210+ let ah = ag._1
211+ let ai = ag._2
212+ let aj = ag._3
213+ let ak = F(l, (toString(Z) + ah), aj)
214+ let al = ak._1
215+ let am = ak._2
216+ let an = ak._3
217+ let ao = F(l, (toString(Z) + al), an)
218+ let y = ao._1
219+ let U = ao._2
220+ let V = ao._3
221+ let ap = F(l, (toString(Z) + y), V)
222+ let z = ap._1
223+ let X = ap._2
224+ let G = ap._3
225+ if ((u(y) == u(z)))
237226 then {
238- let ab = {
239- let e = getInteger(this, (U + "_drawSequence"))
227+ let Y = {
228+ let e = getInteger(this, (R + "_drawSequence"))
240229 if ($isInstanceOf(e, "Int"))
241230 then {
242- let R = e
243- (R + 1)
231+ let O = e
232+ (O + 1)
244233 }
245234 else 0
246235 }
247-[StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab)]
236+[StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y)]
248237 }
249- else if (z(A, B))
250- then [StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), ScriptTransfer(u.caller, (y + ae), unit), BooleanEntry((U + "_stop"), true)]
251- else [StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), BooleanEntry((U + "_stop"), true)]
238+ else if (x(y, z))
239+ then [StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), ScriptTransfer(l.caller, (w + ab), unit), BooleanEntry((R + "_stop"), true)]
240+ else [StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), BooleanEntry((R + "_stop"), true)]
252241 }
253242 }
254243 }
255244
256245
257-@Verifier(at)
258-func au () = sigVerify(at.bodyBytes, at.proofs[0], at.senderPublicKey)
246+@Verifier(aq)
247+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
259248
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = ","
55
66 let b = 100000000
77
88 func c (d) = {
99 let e = getInteger(this, d)
1010 if ($isInstanceOf(e, "Int"))
1111 then {
1212 let f = e
1313 f
1414 }
1515 else throw("Initial fee cannot be found")
1616 }
1717
1818
1919 func g () = ["01C", "02C", "03C", "04C", "05C", "06C", "07C", "08C", "09C", "10C", "11C", "12C", "13C", "01D", "02D", "03D", "04D", "05D", "06D", "07D", "08D", "09D", "10D", "11D", "12D", "13D", "01H", "02H", "03H", "04H", "05H", "06H", "07H", "08H", "09H", "10H", "11H", "12H", "13H", "01S", "02S", "03S", "04S", "05S", "06S", "07S", "08S", "09S", "10S", "11S", "12S", "13S"]
2020
2121
2222 func h () = (((((g() ++ g()) ++ g()) ++ g()) ++ g()) ++ g())
2323
2424
2525 func i (j) = if ((0 >= size(j)))
2626 then h()
2727 else j
2828
2929
30-func k (l,m,n) = {
31- let o = sha256(toBytes((l + m)))
32- let p = toInt(o)
33- let q = (p % n)
34- if ((0 > q))
35- then ((-1 * q) + 1)
36- else (q + 1)
30+func k (l,m,n,o) = {
31+ let p = (toInt(sha256(((take(lastBlock.generationSignature, 16) + take(l.transactionId, 16)) + toBytes(m)))) % 17728)
32+ let q = (toInt(toBytes(pow(p, 0, 2, 0, 0, HALFUP))) + toInt(toBytes(n)))
33+ let r = (q % o)
34+ if ((0 > r))
35+ then ((-1 * r) + 1)
36+ else (r + 1)
3737 }
3838
3939
40-func r (s) = {
41- let e = getInteger(this, (s + "_LastRandonNumber"))
42- if ($isInstanceOf(e, "Int"))
40+func s (l) = if ((size(l.payments) == 0))
41+ then throw("Payment must be attached")
42+ else if ((size(l.payments) == 1))
4343 then {
44- let f = e
45- toString(f)
46- }
47- else s
48- }
49-
50-
51-func t (u) = if ((size(u.payments) == 0))
52- then throw("Payment must be attached")
53- else if ((size(u.payments) == 1))
54- then {
55- let v = u.payments[0]
56- if (isDefined(v.assetId))
44+ let t = l.payments[0]
45+ if (isDefined(t.assetId))
5746 then throw("This function accepts WAVES tokens only (0)")
58- else v.amount
47+ else t.amount
5948 }
6049 else throw("There should be only one payment")
6150
6251
63-func w (x) = {
64- let y = parseIntValue(take(x, 2))
65- if ((y == 1))
52+func u (v) = {
53+ let w = parseIntValue(take(v, 2))
54+ if ((w == 1))
6655 then 20
67- else y
56+ else w
6857 }
6958
7059
71-func z (A,B) = {
72- let y = w(A)
73- let C = w(B)
74- (y > C)
60+func x (y,z) = {
61+ let w = u(y)
62+ let A = u(z)
63+ (w > A)
7564 }
7665
7766
78-func D (E,F) = if (isDefined(getString(E, F)))
67+func B (C,D) = if (isDefined(getString(C, D)))
7968 then {
80- let G = getStringValue(E, F)
81- let j = split(G, a)
69+ let E = getStringValue(C, D)
70+ let j = split(E, a)
8271 i(j)
8372 }
8473 else h()
8574
8675
87-func H (I,J,j) = {
88- let K = i(j)
89- let L = k(((I + makeString(K, a)) + J), r(J), size(K))
90- let M = K[(L % size(K))]
91- let N = removeByIndex(K, (L % size(K)))
92- $Tuple3(M, L, N)
76+func F (l,m,j) = {
77+ let G = i(j)
78+ let H = k(l, m, makeString(G, a), size(G))
79+ let I = G[(H % size(G))]
80+ let J = removeByIndex(G, (H % size(G)))
81+ $Tuple3(I, H, J)
9382 }
9483
9584
96-func O (P,J) = if ((P == 0))
85+func K (L,M) = if ((L == 0))
9786 then {
98- let Q = {
99- let e = getInteger(this, (J + "_round"))
87+ let N = {
88+ let e = getInteger(this, (M + "_round"))
10089 if ($isInstanceOf(e, "Int"))
10190 then {
102- let R = e
103- R
91+ let O = e
92+ O
10493 }
10594 else throw("Unable to find the round")
10695 }
107- Q
96+ N
10897 }
109- else P
98+ else L
11099
111100
112-@Callable(u)
113-func bet (S,T) = {
114- let J = toBase58String(u.caller.bytes)
115- let y = t(u)
116- let Q = {
117- let e = getInteger(this, (J + "_round"))
101+@Callable(l)
102+func bet (P,Q) = {
103+ let M = toBase58String(l.caller.bytes)
104+ let w = s(l)
105+ let N = {
106+ let e = getInteger(this, (M + "_round"))
118107 if ($isInstanceOf(e, "Int"))
119108 then {
120- let R = e
121- (R + 1)
109+ let O = e
110+ (O + 1)
122111 }
123112 else 1
124113 }
125- let U = ((J + "_") + toString(Q))
126- if (isDefined(getBoolean(this, (U + "_stop"))))
114+ let R = ((M + "_") + toString(N))
115+ if (isDefined(getBoolean(this, (R + "_stop"))))
127116 then throw("This round is already played")
128- else if (isDefined(getString(this, U)))
117+ else if (isDefined(getString(this, R)))
129118 then throw("You cannot bet on this game")
130- else if ((y != (S + T)))
119+ else if ((w != (P + Q)))
131120 then throw("normal bet + tie bet should be equal to the payment")
132- else if ((y > b))
121+ else if ((w > b))
133122 then throw(("The bet needs to be lower or equal than " + toString(b)))
134123 else {
135- let F = (U + "_deck")
136- let V = D(this, F)
137- let W = H(U, U, V)
138- let A = W._1
124+ let D = (R + "_deck")
125+ let S = B(this, D)
126+ let T = F(l, toString(N), S)
127+ let y = T._1
128+ let U = T._2
129+ let V = T._3
130+ let W = F(l, toString(N), V)
131+ let z = W._1
139132 let X = W._2
140- let Y = W._3
141- let Z = H((U + A), U, Y)
142- let B = Z._1
143- let aa = Z._2
144- let K = Z._3
145- if ((w(A) == w(B)))
133+ let G = W._3
134+ if ((u(y) == u(z)))
146135 then {
147- let ab = 1
148- if ((T != 0))
149- then [StringEntry(F, makeString(K, a)), IntegerEntry((J + "_round"), Q), BooleanEntry(U, true), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab), IntegerEntry((U + "_betAmount"), S), ScriptTransfer(u.caller, (((T * 10) + T) + u.fee), unit)]
150- else [StringEntry(F, makeString(K, a)), IntegerEntry((J + "_round"), Q), BooleanEntry(U, true), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee)]
136+ let Y = 1
137+ if ((Q != 0))
138+ then [StringEntry(D, makeString(G, a)), IntegerEntry((M + "_round"), N), BooleanEntry(R, true), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y), IntegerEntry((R + "_betAmount"), P), ScriptTransfer(l.caller, (((Q * 10) + Q) + l.fee), unit)]
139+ else [StringEntry(D, makeString(G, a)), IntegerEntry((M + "_round"), N), BooleanEntry(R, true), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee)]
151140 }
152- else if (z(A, B))
153- then [StringEntry(F, makeString(K, a)), BooleanEntry(U, true), IntegerEntry((J + "_round"), Q), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee), ScriptTransfer(u.caller, (S + u.fee), unit), BooleanEntry((U + "_stop"), true)]
154- else [StringEntry(F, makeString(K, a)), BooleanEntry(U, true), IntegerEntry((J + "_round"), Q), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_betAmount"), S), IntegerEntry((U + "_initialFee"), u.fee), BooleanEntry((U + "_stop"), true)]
141+ else if (x(y, z))
142+ then [StringEntry(D, makeString(G, a)), BooleanEntry(R, true), IntegerEntry((M + "_round"), N), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee), ScriptTransfer(l.caller, (P + l.fee), unit), BooleanEntry((R + "_stop"), true)]
143+ else [StringEntry(D, makeString(G, a)), BooleanEntry(R, true), IntegerEntry((M + "_round"), N), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_betAmount"), P), IntegerEntry((R + "_initialFee"), l.fee), BooleanEntry((R + "_stop"), true)]
155144 }
156145 }
157146
158147
159148
160-@Callable(u)
161-func surrender (P) = {
162- let J = toBase58String(u.caller.bytes)
163- let ac = O(P, J)
164- let U = ((J + "_") + toString(ac))
165- if (!(isDefined(getBoolean(this, U))))
149+@Callable(l)
150+func surrender (L) = {
151+ let M = toBase58String(l.caller.bytes)
152+ let Z = K(L, M)
153+ let R = ((M + "_") + toString(Z))
154+ if (!(isDefined(getBoolean(this, R))))
166155 then throw("This round is not played")
167- else if (isDefined(getBoolean(this, (U + "_stop"))))
156+ else if (isDefined(getBoolean(this, (R + "_stop"))))
168157 then throw("This round is already played")
169- else if (!(isDefined(getInteger(this, (U + "_drawSequence")))))
158+ else if (!(isDefined(getInteger(this, (R + "_drawSequence")))))
170159 then throw("This game is not on war")
171160 else {
172- let ad = {
173- let e = getInteger(this, (U + "_betAmount"))
161+ let aa = {
162+ let e = getInteger(this, (R + "_betAmount"))
174163 if ($isInstanceOf(e, "Int"))
175164 then {
176- let R = e
177- R
165+ let O = e
166+ O
178167 }
179168 else throw("Unable to find original bet amount")
180169 }
181- let ae = c((U + "_initialFee"))
182-[ScriptTransfer(u.caller, ((ad / 2) + ae), unit), BooleanEntry((U + "_stop"), true)]
170+ let ab = c((R + "_initialFee"))
171+[ScriptTransfer(l.caller, ((aa / 2) + ab), unit), BooleanEntry((R + "_stop"), true)]
183172 }
184173 }
185174
186175
187176
188-@Callable(u)
189-func goToWar (P) = {
190- let J = toBase58String(u.caller.bytes)
191- let ac = O(P, J)
192- let U = ((J + "_") + toString(ac))
193- if (!(isDefined(getBoolean(this, U))))
177+@Callable(l)
178+func goToWar (L) = {
179+ let M = toBase58String(l.caller.bytes)
180+ let Z = K(L, M)
181+ let R = ((M + "_") + toString(Z))
182+ if (!(isDefined(getBoolean(this, R))))
194183 then throw("This round is not played")
195- else if (isDefined(getBoolean(this, (U + "_stop"))))
184+ else if (isDefined(getBoolean(this, (R + "_stop"))))
196185 then throw("This round is already played")
197- else if (!(isDefined(getInteger(this, (U + "_drawSequence")))))
186+ else if (!(isDefined(getInteger(this, (R + "_drawSequence")))))
198187 then throw("This game is not on war")
199188 else {
200- let ad = {
201- let e = getInteger(this, (U + "_betAmount"))
189+ let aa = {
190+ let e = getInteger(this, (R + "_betAmount"))
202191 if ($isInstanceOf(e, "Int"))
203192 then {
204- let R = e
205- R
193+ let O = e
194+ O
206195 }
207196 else throw("Unable to find original bet amount")
208197 }
209- let y = t(u)
210- let ae = c((U + "_initialFee"))
211- if ((y != ad))
212- then throw((((("original bet amount (" + toString(ad)) + ") different to the current payment (") + toString(y)) + ")"))
198+ let w = s(l)
199+ let ab = c((R + "_initialFee"))
200+ if ((w != aa))
201+ then throw((((("original bet amount (" + toString(aa)) + ") different to the current payment (") + toString(w)) + ")"))
213202 else {
214- let F = (U + "_deck")
215- let V = D(this, F)
216- let af = H(U, U, V)
217- let ag = af._1
218- let ah = af._2
219- let ai = af._3
220- let aj = H((U + ag), U, ai)
221- let ak = aj._1
222- let al = aj._2
223- let am = aj._3
224- let an = H((U + ak), U, am)
225- let ao = an._1
226- let ap = an._2
227- let aq = an._3
228- let ar = H((U + ao), U, aq)
229- let A = ar._1
230- let X = ar._2
231- let Y = ar._3
232- let as = H((U + A), U, Y)
233- let B = as._1
234- let aa = as._2
235- let K = as._3
236- if ((w(A) == w(B)))
203+ let D = (R + "_deck")
204+ let S = B(this, D)
205+ let ac = F(l, toString(Z), S)
206+ let ad = ac._1
207+ let ae = ac._2
208+ let af = ac._3
209+ let ag = F(l, (toString(Z) + ad), af)
210+ let ah = ag._1
211+ let ai = ag._2
212+ let aj = ag._3
213+ let ak = F(l, (toString(Z) + ah), aj)
214+ let al = ak._1
215+ let am = ak._2
216+ let an = ak._3
217+ let ao = F(l, (toString(Z) + al), an)
218+ let y = ao._1
219+ let U = ao._2
220+ let V = ao._3
221+ let ap = F(l, (toString(Z) + y), V)
222+ let z = ap._1
223+ let X = ap._2
224+ let G = ap._3
225+ if ((u(y) == u(z)))
237226 then {
238- let ab = {
239- let e = getInteger(this, (U + "_drawSequence"))
227+ let Y = {
228+ let e = getInteger(this, (R + "_drawSequence"))
240229 if ($isInstanceOf(e, "Int"))
241230 then {
242- let R = e
243- (R + 1)
231+ let O = e
232+ (O + 1)
244233 }
245234 else 0
246235 }
247-[StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), IntegerEntry((U + "_drawSequence"), ab)]
236+[StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), IntegerEntry((R + "_drawSequence"), Y)]
248237 }
249- else if (z(A, B))
250- then [StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), ScriptTransfer(u.caller, (y + ae), unit), BooleanEntry((U + "_stop"), true)]
251- else [StringEntry(F, makeString(K, a)), IntegerEntry((U + "_LastRandonNumber"), aa), StringEntry((U + "_playerCard"), A), StringEntry((U + "_casinoCard"), B), BooleanEntry((U + "_stop"), true)]
238+ else if (x(y, z))
239+ then [StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), ScriptTransfer(l.caller, (w + ab), unit), BooleanEntry((R + "_stop"), true)]
240+ else [StringEntry(D, makeString(G, a)), IntegerEntry((R + "_LastRandonNumber"), X), StringEntry((R + "_playerCard"), y), StringEntry((R + "_casinoCard"), z), BooleanEntry((R + "_stop"), true)]
252241 }
253242 }
254243 }
255244
256245
257-@Verifier(at)
258-func au () = sigVerify(at.bodyBytes, at.proofs[0], at.senderPublicKey)
246+@Verifier(aq)
247+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
259248

github/deemru/w8io/169f3d6 
142.33 ms