tx · 7zwrvgDowCo1YH4ML9TfC2BLfCzZuQq7TCkZcPETj3uo

3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd:  -0.10000000 Waves

2021.12.01 02:09 [1814414] smart account 3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd > SELF 0.00000000 Waves

{ "type": 13, "id": "7zwrvgDowCo1YH4ML9TfC2BLfCzZuQq7TCkZcPETj3uo", "fee": 10000000, "feeAssetId": null, "timestamp": 1638313728073, "version": 2, "chainId": 84, "sender": "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd", "senderPublicKey": "7Hi4o6vBstRs79NMVMjEove52dmP87RAcvNDAXN8C4Wi", "proofs": [ "aEprXM8bHheFVfXpJfoC1GJip2WugWTN4ygHru9bs9NTpWmDPkSNy6cDkptbk1eYTaHDLY1YzSpKef4BewM2Mfo" ], "script": "base64:AAIFAAAAAAAAA+cIAhIDCgEIEgMKAQgaDAoCYTESBmNhc2lubxoLCgJhMhIFV0FWRVMaDAoCYTMSBm1heEJldBoPCgJhNBIJc2VwYXJhdG9yGhAKAmE1EgpnZXROZXdEZWNrGhQKAmE2Eg5nZXRTaXhOZXdEZWNrcxoNCgJhNxIHZ2V0RGVjaxoKCgJhOBIEZGVjaxoVCgJhORIPZ2V0UmFuZG9tTnVtYmVyGgsKAmIxEgVzYWx0MRoLCgJiMhIFc2FsdDIaEgoCYjMSDGFuc3dlcnNDb3VudBoKCgJiNBIEaGFzaBoLCgJiNRIFaW5kZXgaCgoCYjYSBHJhbmQaHQoCYjcSF2dldFByZXZpb3VzUmFuZG9tTnVtYmVyGg0KAmI4EgdhZGRyZXNzGg0KAmI5EgckbWF0Y2gwGhUKAmMxEg9nZXRBbW91bnRPclplcm8aCgoCYzISBHRoaXMaCQoCYzMSA2tleRoQCgJjNBIKZ2V0UGF5bWVudBoJCgJjNRIDcG10GhIKAmM2EgxnZXRDYXJkVmFsdWUaEAoCYzcSCnN0cmluZ0NhcmQaDwoCYzgSCWdldFdpbm5lchoQCgJjORIKY2FyZFBsYXllchoQCgJkMRIKY2FyZENhc2lubxoTCgJkMhINY2FsbGVyQWRkcmVzcxoWCgJkMxIQZ2V0QXZhaWxhYmxlRGVjaxoTCgJkNBINYXZhaWxhYmxlUHJvcBoQCgJkNRIKc3RyaW5nRGVjaxorCgJkNhIlZ2V0UGxheWVyQ2FyZEFuZFBvc2l0aW9uQW5kVXBkYXRlRGVjaxoLCgJkNxIFbWVLZXkaDQoCZDgSB2F2RGVjazIaEgoCZDkSDGNhcmRQb3NpdGlvbhoKCgJlMRIEY2FyZBoNCgJlMhIHYXZEZWNrMxoLCgJlMxIFcm91bmQaEgoCZTQSDHJvdW5kQmV0c0tleRoQCgJlNRIKY3VyU3VtQmV0cxoSCgJlNhIMY3VycmVudERyYXdzGhMKAmU3Eg1jdXJyZW50UGxheWVyGhAKAmU4Egppbml0aWFsQmV0GhAKAmU5EgpuZXdTdW1CZXRzGgwKAmYxEgZhdkRlY2saEQoCZjISCyR0MDQwMDc0MTIyGhgKAmYzEhJjYXJkUG9zaXRpb25QbGF5ZXIaDQoCZjQSB2F2RGVjazEaEQoCZjUSCyR0MDQx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", "height": 1814414, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AQMBQGrszZevyxe33J1dW69svFNTKPtrnNtaBx1intb3 Next: 8DmR7fMpJpr8AjtWvktZVTHYktvguFRPBxRLjsi34sHS Diff:
OldNewDifferences
1212 func e () = ["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"]
1313
1414
15-func f (g) = if ((0 >= size(g)))
16- then e()
17- else g
15+func f () = (((((e() ++ e()) ++ e()) ++ e()) ++ e()) ++ e())
1816
1917
20-func h (i,j,k) = {
21- let l = sha256(toBytes((i + j)))
22- let m = toInt(l)
23- let n = (m % k)
24- if ((0 > n))
25- then ((-1 * n) + 1)
26- else (n + 1)
18+func g (h) = if ((0 >= size(h)))
19+ then f()
20+ else h
21+
22+
23+func i (j,k,l) = {
24+ let m = sha256(toBytes((j + k)))
25+ let n = toInt(m)
26+ let o = (n % l)
27+ if ((0 > o))
28+ then ((-1 * o) + 1)
29+ else (o + 1)
2730 }
2831
2932
30-func o (p) = {
31- let q = getInteger(this, (p + "_LastRandonNumber"))
32- if ($isInstanceOf(q, "Int"))
33+func p (q) = {
34+ let r = getInteger(this, (q + "_LastRandonNumber"))
35+ if ($isInstanceOf(r, "Int"))
3336 then {
34- let r = q
35- toString(r)
37+ let s = r
38+ toString(s)
3639 }
37- else p
40+ else q
3841 }
3942
4043
41-func s (t,u) = {
42- let q = getInteger(t, u)
43- if ($isInstanceOf(q, "Int"))
44+func t (u,v) = {
45+ let r = getInteger(u, v)
46+ if ($isInstanceOf(r, "Int"))
4447 then {
45- let v = q
46- v
48+ let w = r
49+ w
4750 }
4851 else 0
4952 }
5053
5154
52-func w (x) = if ((size(x.payments) == 0))
55+func x (y) = if ((size(y.payments) == 0))
5356 then throw("Payment must be attached")
5457 else {
55- let y = x.payments[0]
56- if (isDefined(y.assetId))
58+ let z = y.payments[0]
59+ if (isDefined(z.assetId))
5760 then throw("This function accepts WAVES tokens only")
58- else y.amount
61+ else z.amount
5962 }
6063
6164
62-func z (A) = {
63- let B = parseIntValue(take(A, 2))
64- if ((B == 1))
65+func A (B) = {
66+ let C = parseIntValue(take(B, 2))
67+ if ((C == 1))
6568 then 20
66- else B
69+ else C
6770 }
6871
6972
70-func C (D,E,F,a) = {
71- let B = z(D)
72- let G = z(E)
73- if ((B > G))
74- then F
73+func D (E,F,G,a) = {
74+ let C = A(E)
75+ let H = A(F)
76+ if ((C > H))
77+ then G
7578 else a
7679 }
7780
7881
79-func H (t,I) = if (isDefined(getString(t, I)))
82+func I (u,J) = if (isDefined(getString(u, J)))
8083 then {
81- let J = getStringValue(t, I)
82- let g = split(J, d)
83- if ((size(g) == 0))
84- then e()
85- else g
84+ let K = getStringValue(u, J)
85+ let h = split(K, d)
86+ g(h)
8687 }
87- else e()
88+ else f()
8889
8990
90-@Callable(x)
91-func bet (K) = {
92- let F = toBase58String(x.caller.bytes)
93- let L = K
94- let B = w(x)
95- let M = (K + "_sumBets")
96- let N = s(this, M)
97- let O = {
98- let q = getInteger(this, (K + "_drawSequence"))
99- if ($isInstanceOf(q, "Int"))
91+func L (M,G,h) = {
92+ let N = g(h)
93+ let O = i(((M + makeString(N, d)) + G), p(G), size(N))
94+ let P = N[(O % size(N))]
95+ let Q = removeByIndex(N, (O % size(N)))
96+ $Tuple3(P, O, Q)
97+ }
98+
99+
100+@Callable(y)
101+func bet (R) = {
102+ let G = toBase58String(y.caller.bytes)
103+ let M = R
104+ let C = x(y)
105+ let S = (R + "_sumBets")
106+ let T = t(c2, S)
107+ let U = {
108+ let r = getInteger(c2, (R + "_drawSequence"))
109+ if ($isInstanceOf(r, "Int"))
100110 then {
101- let v = q
102- (v + 1)
111+ let w = r
112+ (w + 1)
103113 }
104114 else 0
105115 }
106- let P = {
107- let q = getString(this, (K + "_player"))
108- if ($isInstanceOf(q, "String"))
116+ let V = {
117+ let r = getString(c2, (R + "_player"))
118+ if ($isInstanceOf(r, "String"))
109119 then {
110- let v = q
111- v
120+ let w = r
121+ w
112122 }
113123 else unit
114124 }
115- let I = (L + "_available")
116- let Q = (N + B)
117- if (if (isDefined(getBoolean(this, (K + "_stop"))))
125+ let W = {
126+ let r = getInteger(c2, (R + "_initialBet"))
127+ if ($isInstanceOf(r, "Int"))
128+ then {
129+ let w = r
130+ w
131+ }
132+ else C
133+ }
134+ let J = (M + "_available")
135+ let X = (T + C)
136+ if (if (isDefined(getBoolean(c2, (R + "_stop"))))
118137 then true
119- else isDefined(getString(this, K)))
138+ else isDefined(getString(c2, R)))
120139 then throw("This round is already played")
121- else if (if (isDefined(getString(this, (K + "_player"))))
122- then (P != F)
140+ else if (if (isDefined(getString(c2, (R + "_player"))))
141+ then (V != G)
123142 else false)
124143 then throw("This is not your game")
125- else if ((Q > c))
126- then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(Q)))
127- else {
128- let R = H(this, I)
129- let S = h(((L + makeString(R, d)) + F), o(F), size(R))
130- let D = R[(S % size(R))]
131- let T = removeByIndex(R, (S % size(R)))
132- let U = f(T)
133- let V = h(((L + makeString(U, d)) + F), o(F), size(U))
134- let E = U[(V % size(U))]
135- let W = removeByIndex(U, (V % size(U)))
136- if ((z(D) == z(E)))
137- then [StringEntry(I, makeString(W, d)), StringEntry((K + "_player"), F), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), V), IntegerEntry((K + "_sumBets"), Q), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), IntegerEntry((K + "_drawSequence"), (O + 1))]
138- else {
139- let X = C(D, E, F, a)
140-[StringEntry(I, makeString(W, d)), StringEntry((L + "_salt_debug"), L), StringEntry((K + "_player"), F), IntegerEntry((L + "_LastRandonNumber"), V), IntegerEntry((K + "_sumBets"), Q), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), BooleanEntry((K + "_stop"), true), StringEntry((K + "_winner"), X)]
141- }
142- }
144+ else if ((X > c))
145+ then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(X)))
146+ else if ((W != C))
147+ then throw(((("Initial bet not maching original:" + toString(W)) + ", actual:") + toString(C)))
148+ else {
149+ let Y = I(c2, J)
150+ let Z = L(M, G, Y)
151+ let E = Z._1
152+ let aa = Z._2
153+ let ab = Z._3
154+ let ac = L(M, G, ab)
155+ let F = ac._1
156+ let ad = ac._2
157+ let N = ac._3
158+ if ((A(E) == A(F)))
159+ then [StringEntry(J, makeString(N, d)), StringEntry((R + "_player"), G), StringEntry((M + "_salt_debug"), M), IntegerEntry((M + "_LastRandonNumber"), ad), IntegerEntry((R + "_sumBets"), X), StringEntry((M + "_playerCard"), E), StringEntry((M + "_casinoCard"), F), IntegerEntry((R + "_drawSequence"), (U + 1))]
160+ else {
161+ let ae = D(E, F, G, a)
162+[StringEntry(J, makeString(N, d)), StringEntry((M + "_salt_debug"), M), StringEntry((R + "_player"), G), IntegerEntry((M + "_LastRandonNumber"), ad), IntegerEntry((R + "_sumBets"), X), StringEntry((M + "_playerCard"), E), StringEntry((M + "_casinoCard"), F), BooleanEntry((R + "_stop"), true), StringEntry((R + "_winner"), ae)]
163+ }
164+ }
143165 }
144166
145167
146168
147-@Callable(x)
148-func withdraw (K) = {
149- let F = toBase58String(x.caller.bytes)
150- let L = ((K + "_") + F)
151- let Y = (K + "_withdraw")
152- if (isDefined(getString(this, Y)))
169+@Callable(y)
170+func withdraw (R) = {
171+ let G = toBase58String(y.caller.bytes)
172+ let M = ((R + "_") + G)
173+ let af = (R + "_withdraw")
174+ if (isDefined(getString(c2, af)))
153175 then throw("You have already got your prize")
154- else if (!(isDefined(getString(this, (K + "_winner")))))
176+ else if (!(isDefined(getString(c2, (R + "_winner")))))
155177 then throw("There is no winner, it was a draw")
156178 else {
157- let X = getStringValue(this, (K + "_winner"))
158- let Z = getStringValue(this, (K + "_player"))
159- let aa = getIntegerValue(this, (K + "_sumBets"))
160- if ((aa == 0))
179+ let ae = getStringValue(c2, (R + "_winner"))
180+ let ag = getStringValue(c2, (R + "_player"))
181+ let ah = getIntegerValue(c2, (R + "_sumBets"))
182+ if ((ah == 0))
161183 then throw("You won nothing this round")
162- else if (if ((X == F))
163- then (X == a)
184+ else if (if ((ae == G))
185+ then (ae == a)
164186 else false)
165- then [StringEntry(Y, toString(aa)), ScriptTransfer(x.caller, aa, unit)]
166- else if (if ((X == F))
167- then (X == Z)
187+ then [StringEntry(af, toString(ah)), ScriptTransfer(y.caller, ah, unit)]
188+ else if (if ((ae == G))
189+ then (ae == ag)
168190 else false)
169- then [StringEntry(Y, toString((aa * 2))), ScriptTransfer(x.caller, (aa * 2), unit)]
191+ then [StringEntry(af, toString((ah * 2))), ScriptTransfer(y.caller, (ah * 2), unit)]
170192 else throw("You are not the winner")
171193 }
172194 }
173195
174196
175-@Verifier(ab)
176-func ac () = sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
197+@Verifier(ai)
198+func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
177199
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3MtaCL4v1bjTabUqs7oU4ofS8fbai34WM1i"
55
66 let b = 1000000000
77
88 let c = (100 * b)
99
1010 let d = ","
1111
1212 func e () = ["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"]
1313
1414
15-func f (g) = if ((0 >= size(g)))
16- then e()
17- else g
15+func f () = (((((e() ++ e()) ++ e()) ++ e()) ++ e()) ++ e())
1816
1917
20-func h (i,j,k) = {
21- let l = sha256(toBytes((i + j)))
22- let m = toInt(l)
23- let n = (m % k)
24- if ((0 > n))
25- then ((-1 * n) + 1)
26- else (n + 1)
18+func g (h) = if ((0 >= size(h)))
19+ then f()
20+ else h
21+
22+
23+func i (j,k,l) = {
24+ let m = sha256(toBytes((j + k)))
25+ let n = toInt(m)
26+ let o = (n % l)
27+ if ((0 > o))
28+ then ((-1 * o) + 1)
29+ else (o + 1)
2730 }
2831
2932
30-func o (p) = {
31- let q = getInteger(this, (p + "_LastRandonNumber"))
32- if ($isInstanceOf(q, "Int"))
33+func p (q) = {
34+ let r = getInteger(this, (q + "_LastRandonNumber"))
35+ if ($isInstanceOf(r, "Int"))
3336 then {
34- let r = q
35- toString(r)
37+ let s = r
38+ toString(s)
3639 }
37- else p
40+ else q
3841 }
3942
4043
41-func s (t,u) = {
42- let q = getInteger(t, u)
43- if ($isInstanceOf(q, "Int"))
44+func t (u,v) = {
45+ let r = getInteger(u, v)
46+ if ($isInstanceOf(r, "Int"))
4447 then {
45- let v = q
46- v
48+ let w = r
49+ w
4750 }
4851 else 0
4952 }
5053
5154
52-func w (x) = if ((size(x.payments) == 0))
55+func x (y) = if ((size(y.payments) == 0))
5356 then throw("Payment must be attached")
5457 else {
55- let y = x.payments[0]
56- if (isDefined(y.assetId))
58+ let z = y.payments[0]
59+ if (isDefined(z.assetId))
5760 then throw("This function accepts WAVES tokens only")
58- else y.amount
61+ else z.amount
5962 }
6063
6164
62-func z (A) = {
63- let B = parseIntValue(take(A, 2))
64- if ((B == 1))
65+func A (B) = {
66+ let C = parseIntValue(take(B, 2))
67+ if ((C == 1))
6568 then 20
66- else B
69+ else C
6770 }
6871
6972
70-func C (D,E,F,a) = {
71- let B = z(D)
72- let G = z(E)
73- if ((B > G))
74- then F
73+func D (E,F,G,a) = {
74+ let C = A(E)
75+ let H = A(F)
76+ if ((C > H))
77+ then G
7578 else a
7679 }
7780
7881
79-func H (t,I) = if (isDefined(getString(t, I)))
82+func I (u,J) = if (isDefined(getString(u, J)))
8083 then {
81- let J = getStringValue(t, I)
82- let g = split(J, d)
83- if ((size(g) == 0))
84- then e()
85- else g
84+ let K = getStringValue(u, J)
85+ let h = split(K, d)
86+ g(h)
8687 }
87- else e()
88+ else f()
8889
8990
90-@Callable(x)
91-func bet (K) = {
92- let F = toBase58String(x.caller.bytes)
93- let L = K
94- let B = w(x)
95- let M = (K + "_sumBets")
96- let N = s(this, M)
97- let O = {
98- let q = getInteger(this, (K + "_drawSequence"))
99- if ($isInstanceOf(q, "Int"))
91+func L (M,G,h) = {
92+ let N = g(h)
93+ let O = i(((M + makeString(N, d)) + G), p(G), size(N))
94+ let P = N[(O % size(N))]
95+ let Q = removeByIndex(N, (O % size(N)))
96+ $Tuple3(P, O, Q)
97+ }
98+
99+
100+@Callable(y)
101+func bet (R) = {
102+ let G = toBase58String(y.caller.bytes)
103+ let M = R
104+ let C = x(y)
105+ let S = (R + "_sumBets")
106+ let T = t(c2, S)
107+ let U = {
108+ let r = getInteger(c2, (R + "_drawSequence"))
109+ if ($isInstanceOf(r, "Int"))
100110 then {
101- let v = q
102- (v + 1)
111+ let w = r
112+ (w + 1)
103113 }
104114 else 0
105115 }
106- let P = {
107- let q = getString(this, (K + "_player"))
108- if ($isInstanceOf(q, "String"))
116+ let V = {
117+ let r = getString(c2, (R + "_player"))
118+ if ($isInstanceOf(r, "String"))
109119 then {
110- let v = q
111- v
120+ let w = r
121+ w
112122 }
113123 else unit
114124 }
115- let I = (L + "_available")
116- let Q = (N + B)
117- if (if (isDefined(getBoolean(this, (K + "_stop"))))
125+ let W = {
126+ let r = getInteger(c2, (R + "_initialBet"))
127+ if ($isInstanceOf(r, "Int"))
128+ then {
129+ let w = r
130+ w
131+ }
132+ else C
133+ }
134+ let J = (M + "_available")
135+ let X = (T + C)
136+ if (if (isDefined(getBoolean(c2, (R + "_stop"))))
118137 then true
119- else isDefined(getString(this, K)))
138+ else isDefined(getString(c2, R)))
120139 then throw("This round is already played")
121- else if (if (isDefined(getString(this, (K + "_player"))))
122- then (P != F)
140+ else if (if (isDefined(getString(c2, (R + "_player"))))
141+ then (V != G)
123142 else false)
124143 then throw("This is not your game")
125- else if ((Q > c))
126- then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(Q)))
127- else {
128- let R = H(this, I)
129- let S = h(((L + makeString(R, d)) + F), o(F), size(R))
130- let D = R[(S % size(R))]
131- let T = removeByIndex(R, (S % size(R)))
132- let U = f(T)
133- let V = h(((L + makeString(U, d)) + F), o(F), size(U))
134- let E = U[(V % size(U))]
135- let W = removeByIndex(U, (V % size(U)))
136- if ((z(D) == z(E)))
137- then [StringEntry(I, makeString(W, d)), StringEntry((K + "_player"), F), StringEntry((L + "_salt_debug"), L), IntegerEntry((L + "_LastRandonNumber"), V), IntegerEntry((K + "_sumBets"), Q), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), IntegerEntry((K + "_drawSequence"), (O + 1))]
138- else {
139- let X = C(D, E, F, a)
140-[StringEntry(I, makeString(W, d)), StringEntry((L + "_salt_debug"), L), StringEntry((K + "_player"), F), IntegerEntry((L + "_LastRandonNumber"), V), IntegerEntry((K + "_sumBets"), Q), StringEntry((L + "_playerCard"), D), StringEntry((L + "_casinoCard"), E), BooleanEntry((K + "_stop"), true), StringEntry((K + "_winner"), X)]
141- }
142- }
144+ else if ((X > c))
145+ then throw(((("Maximum amount of bets for round " + toString(c)) + ". With your bet it's ") + toString(X)))
146+ else if ((W != C))
147+ then throw(((("Initial bet not maching original:" + toString(W)) + ", actual:") + toString(C)))
148+ else {
149+ let Y = I(c2, J)
150+ let Z = L(M, G, Y)
151+ let E = Z._1
152+ let aa = Z._2
153+ let ab = Z._3
154+ let ac = L(M, G, ab)
155+ let F = ac._1
156+ let ad = ac._2
157+ let N = ac._3
158+ if ((A(E) == A(F)))
159+ then [StringEntry(J, makeString(N, d)), StringEntry((R + "_player"), G), StringEntry((M + "_salt_debug"), M), IntegerEntry((M + "_LastRandonNumber"), ad), IntegerEntry((R + "_sumBets"), X), StringEntry((M + "_playerCard"), E), StringEntry((M + "_casinoCard"), F), IntegerEntry((R + "_drawSequence"), (U + 1))]
160+ else {
161+ let ae = D(E, F, G, a)
162+[StringEntry(J, makeString(N, d)), StringEntry((M + "_salt_debug"), M), StringEntry((R + "_player"), G), IntegerEntry((M + "_LastRandonNumber"), ad), IntegerEntry((R + "_sumBets"), X), StringEntry((M + "_playerCard"), E), StringEntry((M + "_casinoCard"), F), BooleanEntry((R + "_stop"), true), StringEntry((R + "_winner"), ae)]
163+ }
164+ }
143165 }
144166
145167
146168
147-@Callable(x)
148-func withdraw (K) = {
149- let F = toBase58String(x.caller.bytes)
150- let L = ((K + "_") + F)
151- let Y = (K + "_withdraw")
152- if (isDefined(getString(this, Y)))
169+@Callable(y)
170+func withdraw (R) = {
171+ let G = toBase58String(y.caller.bytes)
172+ let M = ((R + "_") + G)
173+ let af = (R + "_withdraw")
174+ if (isDefined(getString(c2, af)))
153175 then throw("You have already got your prize")
154- else if (!(isDefined(getString(this, (K + "_winner")))))
176+ else if (!(isDefined(getString(c2, (R + "_winner")))))
155177 then throw("There is no winner, it was a draw")
156178 else {
157- let X = getStringValue(this, (K + "_winner"))
158- let Z = getStringValue(this, (K + "_player"))
159- let aa = getIntegerValue(this, (K + "_sumBets"))
160- if ((aa == 0))
179+ let ae = getStringValue(c2, (R + "_winner"))
180+ let ag = getStringValue(c2, (R + "_player"))
181+ let ah = getIntegerValue(c2, (R + "_sumBets"))
182+ if ((ah == 0))
161183 then throw("You won nothing this round")
162- else if (if ((X == F))
163- then (X == a)
184+ else if (if ((ae == G))
185+ then (ae == a)
164186 else false)
165- then [StringEntry(Y, toString(aa)), ScriptTransfer(x.caller, aa, unit)]
166- else if (if ((X == F))
167- then (X == Z)
187+ then [StringEntry(af, toString(ah)), ScriptTransfer(y.caller, ah, unit)]
188+ else if (if ((ae == G))
189+ then (ae == ag)
168190 else false)
169- then [StringEntry(Y, toString((aa * 2))), ScriptTransfer(x.caller, (aa * 2), unit)]
191+ then [StringEntry(af, toString((ah * 2))), ScriptTransfer(y.caller, (ah * 2), unit)]
170192 else throw("You are not the winner")
171193 }
172194 }
173195
174196
175-@Verifier(ab)
176-func ac () = sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
197+@Verifier(ai)
198+func aj () = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
177199

github/deemru/w8io/169f3d6 
60.15 ms