tx · 27VSNnKyqfrNh4wCV1WFYtNqzJmPVGMxgG6S87qCmpr5

3Mwuu6do9zBghKKVshUFferCwepiQYcAeVE:  -0.01500000 Waves

2019.07.17 15:58 [589877] smart account 3Mwuu6do9zBghKKVshUFferCwepiQYcAeVE > SELF 0.00000000 Waves

{ "type": 13, "id": "27VSNnKyqfrNh4wCV1WFYtNqzJmPVGMxgG6S87qCmpr5", "fee": 1500000, "feeAssetId": null, "timestamp": 1563368326070, "version": 1, "sender": "3Mwuu6do9zBghKKVshUFferCwepiQYcAeVE", "senderPublicKey": "8fdATo5z3B5EweA3kKoRgbJZhGa4JicyHHMkhBZTvNSf", "proofs": [ "8SDRFuhhtoB2QRwfaDknjxQcVD9cuJaDLizTUCyZuUQcBCNr4QvPH9pjZ6jgmyvQVttczfjRYm2WzgT3UgyMpvh" ], "script": "base64:AAIDAAAAAAAAAAAAAAARAAAAAAlXYXZlc011bHQAAAAAAAX14QAAAAAABGJldDEJAABoAAAAAgAAAAAAAAAAAQUAAAAJV2F2ZXNNdWx0AAAAAARiZXQ1CQAAaAAAAAIAAAAAAAAAAAUFAAAACVdhdmVzTXVsdAAAAAAFYmV0MTUJAABoAAAAAgAAAAAAAAAADwUAAAAJV2F2ZXNNdWx0AAAAAAViZXQ0MAkAAGgAAAACAAAAAAAAAAAoBQAAAAlXYXZlc011bHQAAAAABmJldDEwMAkAAGgAAAACAAAAAAAAAABkBQAAAAlXYXZlc011bHQAAAAACWNvbWlzc2lvbgAAAAAAAExLQAAAAAAPb3JhY2xlUHVibGljS2V5CQACWwAAAAECAAAAh2Jhc2U2NDpNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFNWnVMb0xIVjVmY3VxUC9LakhvUTZWc1pTa1NXRjJBd1JBTHJMZ1RVZlhZc2RKdzF6djB0OXY3SUhSNjNnN1lyb0N2VUZTWG0xUm1PaFMxWGpyNXlJRUNBd0VBQVE9PQAAAAANZGFwcFB1YmxpY0tleQEAAAABAAAAAAANZ2FtZVRpbWVGcmFtZQAAAAAAAAAFoAAAAAAIc3RhdGVBY2MCAAAACEFjY2VwdGVkAAAAAAhzdGF0ZVdpbgIAAAADV2luAAAAAAxzdGF0ZVRpbWVvdXQCAAAADFdpbkJ5VGltZW91dAAAAAAJc3RhdGVMb3NlAgAAAARMb3NlAAAAAAt0aW1lb3VudE51bQIAAAAKV2l0aG91dE51bQEAAAAId3JpdGVTZXQAAAAFAAAABmdhbWVJZAAAABBzdHJpbmdGb3JOZXdEYXRhAAAAC3JzYVRvU3RyaW5nAAAABXN0YXRlAAAAEm5ld1Jlc2VydmVkQmFsYW5jZQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABXN0YXRlAgAAAAFfBQAAABBzdHJpbmdGb3JOZXdEYXRhAgAAAAFfBQAAAAtyc2FUb1N0cmluZwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAIUmVzZXJ2ZWQF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dFJlc3VsdAAAAAIJAQAAAAh3cml0ZVNldAAAAAUFAAAABmdhbWVJZAUAAAAQc3RyaW5nRm9yTmV3RGF0YQUAAAAJcnNhU3RyaW5nBQAAAAhzdGF0ZVdpbgUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQEAAAALdHJhbnNmZXJTZXQAAAACBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAtwbGF5ZXJQcml6ZQkBAAAACHdyaXRlU2V0AAAABQUAAAAGZ2FtZUlkBQAAABBzdHJpbmdGb3JOZXdEYXRhBQAAAAlyc2FTdHJpbmcFAAAACXN0YXRlTG9zZQUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQAAAgAAAAECAAAAFUdhbWUgc3RhdGUgaXMgaW52YWxpZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAh3cml0ZVNldAAAAAUFAAAABmdhbWVJZAUAAAAQc3RyaW5nRm9yTmV3RGF0YQUAAAALdGltZW91bnROdW0FAAAADHN0YXRlVGltZW91dAUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQEAAAALdHJhbnNmZXJTZXQAAAACBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAtwbGF5ZXJQcml6ZQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAN0dHgFAAAAByRtYXRjaDAEAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlCQAEGgAAAAIFAAAABHRoaXMCAAAACFJlc2VydmVkBAAAAA9yZXNlcnZlZEJhbGFuY2UEAAAAByRtYXRjaDEFAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDEFAAAAAWEAAAAAAAAAAAAEAAAAEGF2YWlsYWJsZUJhbGFuY2UJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABHRoaXMFAAAAD3Jlc2VydmVkQmFsYW5jZQQAAAAPYXZhaWxpYmxlQW1vdW50CQAAZwAAAAIFAAAAEGF2YWlsYWJsZUJhbGFuY2UIBQAAAAN0dHgAAAAGYW1vdW50BAAAAAlzaWduYXR1cmUJAAH0AAAAAwgFAAAAA3R0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAA3R0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADWRhcHBQdWJsaWNLZXkDBQAAAA9hdmFpbGlibGVBbW91bnQFAAAACXNpZ25hdHVyZQcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAARzc3R4BQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAARzc3R4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAAEc3N0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADWRhcHBQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBAAAAARpc3R4BQAAAAckbWF0Y2gwBgdt3frC", "chainId": 84, "height": 589877, "spentComplexity": 0 } View: original | compacted Prev: A1ck512fybHMZivTSc3Jj7dqSnekfMcVsQkHubqCM1Yj Next: none Diff:
OldNewDifferences
77
88 let c = (5 * a)
99
10-let d = (10 * a)
10+let d = (15 * a)
1111
12-let e = (25 * a)
12+let e = (40 * a)
1313
1414 let f = (100 * a)
1515
1717
1818 let h = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZuLoLHV5fcuqP/KjHoQ6VsZSkSWF2AwRALrLgTUfXYsdJw1zv0t9v7IHR63g7YroCvUFSXm1RmOhS1Xjr5yIECAwEAAQ==")
1919
20-let i = 1440
20+let i = base58'1'
2121
22-let j = "Accepted"
22+let j = 1440
2323
24-let k = "Win"
24+let k = "Accepted"
2525
26-let l = "WinByTimeout"
26+let l = "Win"
2727
28-let m = "Lose"
28+let m = "WinByTimeout"
2929
30-@Callable(n)
31-func bet (o) = {
32- let p = extract(n.payment)
33- let q = toBase58String(n.transactionId)
34- let r = height
35- let s = {
36- let t = {
37- let u = getInteger(this, "GamesCounter")
38- let v = u
39- if ($isInstanceOf(v, "Int"))
30+let n = "Lose"
31+
32+let o = "WithoutNum"
33+
34+func p (q,r,s,t,u) = WriteSet([DataEntry(q, ((((t + "_") + r) + "_") + s)), DataEntry("Reserved", u)])
35+
36+
37+func v (w,x) = TransferSet([ScriptTransfer(w, x, unit)])
38+
39+
40+@Callable(y)
41+func bet (z) = {
42+ let A = extract(y.payment)
43+ let q = toBase58String(y.transactionId)
44+ let B = height
45+ let C = isDefined(A.assetId)
46+ let D = toBase58String(y.callerPublicKey)
47+ let E = if (if ((z == "1"))
48+ then true
49+ else (z == "2"))
50+ then z
51+ else throw("Player's choice is incorrect")
52+ let F = {
53+ let G = (A.amount - g)
54+ if (if (if (if (if ((G == b))
55+ then true
56+ else (G == c))
57+ then true
58+ else (G == d))
59+ then true
60+ else (G == e))
61+ then true
62+ else (G == f))
63+ then (G * 2)
64+ else throw("Payment amount is incorrect")
65+ }
66+ let H = {
67+ let I = {
68+ let J = getInteger(this, "Reserved")
69+ let K = J
70+ if ($isInstanceOf(K, "Int"))
4071 then {
41- let w = v
42- w
72+ let L = K
73+ L
4374 }
4475 else 0
4576 }
46- (t + 1)
47- }
48- let x = isDefined(p.assetId)
49- let y = toBase58String(n.callerPublicKey)
50- let z = if (if ((o == "1"))
51- then true
52- else (o == "2"))
53- then o
54- else throw("Player's choice is incorrect")
55- let A = {
56- let B = (p.amount - g)
57- if (if (if (if (if ((B == b))
58- then true
59- else (B == c))
60- then true
61- else (B == d))
62- then true
63- else (B == e))
64- then true
65- else (B == f))
66- then (B * 2)
67- else throw("Payment amount is incorrect")
68- }
69- let C = {
70- let D = {
71- let E = getInteger(this, "Reserved")
72- let v = E
73- if ($isInstanceOf(v, "Int"))
74- then {
75- let F = v
76- F
77- }
78- else 0
79- }
80- let G = (D + A)
81- if ((wavesBalance(this) >= G))
77+ let u = (I + F)
78+ if ((wavesBalance(this) >= u))
8279 then {
83- let H = G
84- H
80+ let M = u
81+ M
8582 }
8683 else throw("Bet was rejected. Insufficient funds on game account.")
8784 }
88- if (x)
85+ if (C)
8986 then throw("You can make bet in Waves only")
9087 else {
91- let I = ((((((((j + "_") + y) + "_") + z) + "_") + toString(A)) + "_") + toString(r))
92- WriteSet([DataEntry("Reserved", C), DataEntry(q, I)])
88+ let N = ((((((((k + "_") + D) + "_") + E) + "_") + toString(F)) + "_") + toString(B))
89+ WriteSet([DataEntry("Reserved", H), DataEntry(q, N)])
9390 }
9491 }
9592
9693
9794
98-@Callable(n)
99-func withdraw (q,J) = {
100- let K = {
101- let L = getString(this, q)
102- let F = {
103- let v = L
104- if ($isInstanceOf(v, "String"))
95+@Callable(y)
96+func withdraw (q,O) = {
97+ let P = {
98+ let Q = getString(this, q)
99+ let L = {
100+ let K = Q
101+ if ($isInstanceOf(K, "String"))
105102 then {
106- let F = v
107- F
103+ let L = K
104+ L
108105 }
109106 else throw("GameId was not found")
110107 }
111- split(F, "_")
108+ split(L, "_")
112109 }
113- let M = K[0]
114- let N = {
115- let F = K[1]
116- addressFromPublicKey(fromBase58String(F))
110+ let R = P[0]
111+ let S = {
112+ let L = P[1]
113+ addressFromPublicKey(fromBase58String(L))
117114 }
118- let z = K[2]
119- let O = {
120- let P = rsaVerify(SHA256, toBytes(q), J, h)
121- if (P)
115+ let E = P[2]
116+ let F = {
117+ let L = P[3]
118+ parseIntValue(L)
119+ }
120+ let B = {
121+ let L = P[4]
122+ parseIntValue(L)
123+ }
124+ let T = {
125+ let U = rsaVerify(SHA256, toBytes(q), O, h)
126+ if (U)
122127 then {
123- let Q = ((toInt(sha256(J)) % 99) + 1)
124- if (if ((Q > 0))
125- then (100 >= Q)
128+ let V = ((toInt(sha256(O)) % 99) + 1)
129+ if (if ((V > 0))
130+ then (100 >= V)
126131 else false)
127- then Q
132+ then V
128133 else throw("Rsa integer is not in range")
129134 }
130135 else throw("Rsa Signature is invalid")
131136 }
132- let r = {
133- let F = K[4]
134- parseIntValue(F)
135- }
136- let A = {
137- let F = K[3]
138- parseIntValue(F)
139- }
140- let G = {
141- let E = getInteger(this, "Reserved")
142- let R = {
143- let v = E
144- if ($isInstanceOf(v, "Int"))
137+ let u = {
138+ let J = getInteger(this, "Reserved")
139+ let W = {
140+ let K = J
141+ if ($isInstanceOf(K, "Int"))
145142 then {
146- let F = v
147- F
143+ let L = K
144+ L
148145 }
149146 else 0
150147 }
151- let S = (R - A)
152- if ((S > 0))
153- then S
148+ let X = (W - F)
149+ if ((X > 0))
150+ then X
154151 else throw("Reserved balance couldn't be less than 0")
155152 }
156- let T = ((((((K[1] + "_") + K[2]) + "_") + K[3]) + "_") + K[4])
157- let U = (i > (height - r))
158- let V = (M == j)
159- if (V)
160- then if (U)
153+ let r = ((((((P[1] + "_") + P[2]) + "_") + P[3]) + "_") + P[4])
154+ let Y = toString(T)
155+ let Z = (j > (height - B))
156+ let aa = (R == k)
157+ if (aa)
158+ then if (Z)
161159 then {
162- let W = {
163- let X = if ((48 > O))
160+ let ab = {
161+ let ac = if ((48 > T))
164162 then "1"
165- else if ((O > 52))
163+ else if ((T > 52))
166164 then "2"
167165 else "3"
168- (X == z)
166+ (ac == E)
169167 }
170- if (W)
171- then ScriptResult(WriteSet([DataEntry(q, ((((k + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
172- else WriteSet([DataEntry(q, ((((m + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)])
168+ if (ab)
169+ then ScriptResult(p(q, r, Y, l, u), v(S, F))
170+ else p(q, r, Y, n, u)
173171 }
174172 else throw("Game state is invalid")
175- else ScriptResult(WriteSet([DataEntry(q, ((((l + "_") + T) + "_") + "00")), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
173+ else ScriptResult(p(q, r, o, m, u), v(S, F))
176174 }
177175
178176
179-@Verifier(Y)
180-func Z () = {
181- let v = Y
182- if ($isInstanceOf(v, "TransferTransaction"))
177+@Verifier(ad)
178+func ae () = {
179+ let K = ad
180+ if ($isInstanceOf(K, "TransferTransaction"))
183181 then {
184- let aa = v
185- let E = getInteger(this, "Reserved")
186- let C = {
187- let ab = E
188- if ($isInstanceOf(ab, "Int"))
182+ let af = K
183+ let J = getInteger(this, "Reserved")
184+ let H = {
185+ let ag = J
186+ if ($isInstanceOf(ag, "Int"))
189187 then {
190- let F = ab
191- F
188+ let L = ag
189+ L
192190 }
193191 else 0
194192 }
195- let ac = (wavesBalance(this) - C)
196- let ad = (ac >= aa.amount)
197- let ae = sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey)
198- if (ad)
199- then ae
193+ let ah = (wavesBalance(this) - H)
194+ let ai = (ah >= af.amount)
195+ let aj = sigVerify(af.bodyBytes, af.proofs[0], i)
196+ if (ai)
197+ then aj
200198 else false
201199 }
202- else if ($isInstanceOf(v, "SetScriptTransaction"))
200+ else if ($isInstanceOf(K, "SetScriptTransaction"))
203201 then {
204- let af = v
205- sigVerify(af.bodyBytes, af.proofs[0], af.senderPublicKey)
202+ let ak = K
203+ sigVerify(ak.bodyBytes, ak.proofs[0], i)
206204 }
207- else if ($isInstanceOf(v, "InvokeScriptTransaction"))
205+ else if ($isInstanceOf(K, "InvokeScriptTransaction"))
208206 then {
209- let ag = v
207+ let al = K
210208 true
211209 }
212210 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = (1 * a)
77
88 let c = (5 * a)
99
10-let d = (10 * a)
10+let d = (15 * a)
1111
12-let e = (25 * a)
12+let e = (40 * a)
1313
1414 let f = (100 * a)
1515
1616 let g = 5000000
1717
1818 let h = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZuLoLHV5fcuqP/KjHoQ6VsZSkSWF2AwRALrLgTUfXYsdJw1zv0t9v7IHR63g7YroCvUFSXm1RmOhS1Xjr5yIECAwEAAQ==")
1919
20-let i = 1440
20+let i = base58'1'
2121
22-let j = "Accepted"
22+let j = 1440
2323
24-let k = "Win"
24+let k = "Accepted"
2525
26-let l = "WinByTimeout"
26+let l = "Win"
2727
28-let m = "Lose"
28+let m = "WinByTimeout"
2929
30-@Callable(n)
31-func bet (o) = {
32- let p = extract(n.payment)
33- let q = toBase58String(n.transactionId)
34- let r = height
35- let s = {
36- let t = {
37- let u = getInteger(this, "GamesCounter")
38- let v = u
39- if ($isInstanceOf(v, "Int"))
30+let n = "Lose"
31+
32+let o = "WithoutNum"
33+
34+func p (q,r,s,t,u) = WriteSet([DataEntry(q, ((((t + "_") + r) + "_") + s)), DataEntry("Reserved", u)])
35+
36+
37+func v (w,x) = TransferSet([ScriptTransfer(w, x, unit)])
38+
39+
40+@Callable(y)
41+func bet (z) = {
42+ let A = extract(y.payment)
43+ let q = toBase58String(y.transactionId)
44+ let B = height
45+ let C = isDefined(A.assetId)
46+ let D = toBase58String(y.callerPublicKey)
47+ let E = if (if ((z == "1"))
48+ then true
49+ else (z == "2"))
50+ then z
51+ else throw("Player's choice is incorrect")
52+ let F = {
53+ let G = (A.amount - g)
54+ if (if (if (if (if ((G == b))
55+ then true
56+ else (G == c))
57+ then true
58+ else (G == d))
59+ then true
60+ else (G == e))
61+ then true
62+ else (G == f))
63+ then (G * 2)
64+ else throw("Payment amount is incorrect")
65+ }
66+ let H = {
67+ let I = {
68+ let J = getInteger(this, "Reserved")
69+ let K = J
70+ if ($isInstanceOf(K, "Int"))
4071 then {
41- let w = v
42- w
72+ let L = K
73+ L
4374 }
4475 else 0
4576 }
46- (t + 1)
47- }
48- let x = isDefined(p.assetId)
49- let y = toBase58String(n.callerPublicKey)
50- let z = if (if ((o == "1"))
51- then true
52- else (o == "2"))
53- then o
54- else throw("Player's choice is incorrect")
55- let A = {
56- let B = (p.amount - g)
57- if (if (if (if (if ((B == b))
58- then true
59- else (B == c))
60- then true
61- else (B == d))
62- then true
63- else (B == e))
64- then true
65- else (B == f))
66- then (B * 2)
67- else throw("Payment amount is incorrect")
68- }
69- let C = {
70- let D = {
71- let E = getInteger(this, "Reserved")
72- let v = E
73- if ($isInstanceOf(v, "Int"))
74- then {
75- let F = v
76- F
77- }
78- else 0
79- }
80- let G = (D + A)
81- if ((wavesBalance(this) >= G))
77+ let u = (I + F)
78+ if ((wavesBalance(this) >= u))
8279 then {
83- let H = G
84- H
80+ let M = u
81+ M
8582 }
8683 else throw("Bet was rejected. Insufficient funds on game account.")
8784 }
88- if (x)
85+ if (C)
8986 then throw("You can make bet in Waves only")
9087 else {
91- let I = ((((((((j + "_") + y) + "_") + z) + "_") + toString(A)) + "_") + toString(r))
92- WriteSet([DataEntry("Reserved", C), DataEntry(q, I)])
88+ let N = ((((((((k + "_") + D) + "_") + E) + "_") + toString(F)) + "_") + toString(B))
89+ WriteSet([DataEntry("Reserved", H), DataEntry(q, N)])
9390 }
9491 }
9592
9693
9794
98-@Callable(n)
99-func withdraw (q,J) = {
100- let K = {
101- let L = getString(this, q)
102- let F = {
103- let v = L
104- if ($isInstanceOf(v, "String"))
95+@Callable(y)
96+func withdraw (q,O) = {
97+ let P = {
98+ let Q = getString(this, q)
99+ let L = {
100+ let K = Q
101+ if ($isInstanceOf(K, "String"))
105102 then {
106- let F = v
107- F
103+ let L = K
104+ L
108105 }
109106 else throw("GameId was not found")
110107 }
111- split(F, "_")
108+ split(L, "_")
112109 }
113- let M = K[0]
114- let N = {
115- let F = K[1]
116- addressFromPublicKey(fromBase58String(F))
110+ let R = P[0]
111+ let S = {
112+ let L = P[1]
113+ addressFromPublicKey(fromBase58String(L))
117114 }
118- let z = K[2]
119- let O = {
120- let P = rsaVerify(SHA256, toBytes(q), J, h)
121- if (P)
115+ let E = P[2]
116+ let F = {
117+ let L = P[3]
118+ parseIntValue(L)
119+ }
120+ let B = {
121+ let L = P[4]
122+ parseIntValue(L)
123+ }
124+ let T = {
125+ let U = rsaVerify(SHA256, toBytes(q), O, h)
126+ if (U)
122127 then {
123- let Q = ((toInt(sha256(J)) % 99) + 1)
124- if (if ((Q > 0))
125- then (100 >= Q)
128+ let V = ((toInt(sha256(O)) % 99) + 1)
129+ if (if ((V > 0))
130+ then (100 >= V)
126131 else false)
127- then Q
132+ then V
128133 else throw("Rsa integer is not in range")
129134 }
130135 else throw("Rsa Signature is invalid")
131136 }
132- let r = {
133- let F = K[4]
134- parseIntValue(F)
135- }
136- let A = {
137- let F = K[3]
138- parseIntValue(F)
139- }
140- let G = {
141- let E = getInteger(this, "Reserved")
142- let R = {
143- let v = E
144- if ($isInstanceOf(v, "Int"))
137+ let u = {
138+ let J = getInteger(this, "Reserved")
139+ let W = {
140+ let K = J
141+ if ($isInstanceOf(K, "Int"))
145142 then {
146- let F = v
147- F
143+ let L = K
144+ L
148145 }
149146 else 0
150147 }
151- let S = (R - A)
152- if ((S > 0))
153- then S
148+ let X = (W - F)
149+ if ((X > 0))
150+ then X
154151 else throw("Reserved balance couldn't be less than 0")
155152 }
156- let T = ((((((K[1] + "_") + K[2]) + "_") + K[3]) + "_") + K[4])
157- let U = (i > (height - r))
158- let V = (M == j)
159- if (V)
160- then if (U)
153+ let r = ((((((P[1] + "_") + P[2]) + "_") + P[3]) + "_") + P[4])
154+ let Y = toString(T)
155+ let Z = (j > (height - B))
156+ let aa = (R == k)
157+ if (aa)
158+ then if (Z)
161159 then {
162- let W = {
163- let X = if ((48 > O))
160+ let ab = {
161+ let ac = if ((48 > T))
164162 then "1"
165- else if ((O > 52))
163+ else if ((T > 52))
166164 then "2"
167165 else "3"
168- (X == z)
166+ (ac == E)
169167 }
170- if (W)
171- then ScriptResult(WriteSet([DataEntry(q, ((((k + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
172- else WriteSet([DataEntry(q, ((((m + "_") + T) + "_") + toString(O))), DataEntry("Reserved", G)])
168+ if (ab)
169+ then ScriptResult(p(q, r, Y, l, u), v(S, F))
170+ else p(q, r, Y, n, u)
173171 }
174172 else throw("Game state is invalid")
175- else ScriptResult(WriteSet([DataEntry(q, ((((l + "_") + T) + "_") + "00")), DataEntry("Reserved", G)]), TransferSet([ScriptTransfer(N, A, unit)]))
173+ else ScriptResult(p(q, r, o, m, u), v(S, F))
176174 }
177175
178176
179-@Verifier(Y)
180-func Z () = {
181- let v = Y
182- if ($isInstanceOf(v, "TransferTransaction"))
177+@Verifier(ad)
178+func ae () = {
179+ let K = ad
180+ if ($isInstanceOf(K, "TransferTransaction"))
183181 then {
184- let aa = v
185- let E = getInteger(this, "Reserved")
186- let C = {
187- let ab = E
188- if ($isInstanceOf(ab, "Int"))
182+ let af = K
183+ let J = getInteger(this, "Reserved")
184+ let H = {
185+ let ag = J
186+ if ($isInstanceOf(ag, "Int"))
189187 then {
190- let F = ab
191- F
188+ let L = ag
189+ L
192190 }
193191 else 0
194192 }
195- let ac = (wavesBalance(this) - C)
196- let ad = (ac >= aa.amount)
197- let ae = sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey)
198- if (ad)
199- then ae
193+ let ah = (wavesBalance(this) - H)
194+ let ai = (ah >= af.amount)
195+ let aj = sigVerify(af.bodyBytes, af.proofs[0], i)
196+ if (ai)
197+ then aj
200198 else false
201199 }
202- else if ($isInstanceOf(v, "SetScriptTransaction"))
200+ else if ($isInstanceOf(K, "SetScriptTransaction"))
203201 then {
204- let af = v
205- sigVerify(af.bodyBytes, af.proofs[0], af.senderPublicKey)
202+ let ak = K
203+ sigVerify(ak.bodyBytes, ak.proofs[0], i)
206204 }
207- else if ($isInstanceOf(v, "InvokeScriptTransaction"))
205+ else if ($isInstanceOf(K, "InvokeScriptTransaction"))
208206 then {
209- let ag = v
207+ let al = K
210208 true
211209 }
212210 else false
213211 }
214212

github/deemru/w8io/169f3d6 
56.72 ms