tx · GVigW9kJ7L5kKsj4N9WQkGSwosJv6oNaS5FM7MXUjXCy

3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT:  -0.04000000 Waves

2020.08.26 14:53 [1149640] smart account 3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT > SELF 0.00000000 Waves

{ "type": 13, "id": "GVigW9kJ7L5kKsj4N9WQkGSwosJv6oNaS5FM7MXUjXCy", "fee": 4000000, "feeAssetId": null, "timestamp": 1598442851913, "version": 1, "sender": "3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT", "senderPublicKey": "EzWkAi3pMjNqjjV3PpJiHWrButTm4aorR4p173qwdGeL", "proofs": [ "6oGQKiBt1Bfe6mpk72jmHucfvSfmsDywj9t7Rm6toEUegif27u4AEyGKYjBKD19Qjgko5eF19rweAJhypQFb6zT" ], "script": "base64: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AAACCQAAaAAAAAIJAQAAAANzaW4AAAABBQAAAAN5YXcFAAAABXNpblRoBQAAAAZjb3NMYXQAAAAAAAABhqAJAABlAAAAAgUAAAAFY29zVGgJAABpAAAAAgkAAGgAAAACBQAAAAZzaW5MYXQJAQAAAANzaW4AAAABBQAAAAZuZXdMYXQAAAAAAAABhqAJAARMAAAAAgUAAAAGbmV3TGF0CQAETAAAAAIFAAAABm5ld0xvbgUAAAADbmlsAQAAAA1jYWxjdWxhdGVTaG90AAAABQAAAAVwaXRjaAAAAAN5YXcAAAAFZm9yY2UAAAAJcGxheWVyS2V5AAAAC29wcG9uZW50S2V5BAAAAA5wbGF5ZXJMYXRpdHVkZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAxwb3NpdGlvbkxhdF8FAAAACXBsYXllcktleQQAAAAPcGxheWVyTG9uZ2l0dWRlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADHBvc2l0aW9uTG9uXwUAAAAJcGxheWVyS2V5BAAAABBvcHBvbmVudExhdGl0dWRlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADHBvc2l0aW9uTGF0XwUAAAALb3Bwb25lbnRLZXkEAAAAEW9wcG9uZW50TG9uZ2l0dWRlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADHBvc2l0aW9uTG9uXwUAAAALb3Bwb25lbnRLZXkEAAAAFmRpc3RhbmNlQmV0d2VlblBsYXllcnMJAQAAAAtncHNEaXN0YW5jZQAAAAQFAAAADnBsYXllckxhdGl0dWRlBQAAAA9wbGF5ZXJMb25naXR1ZGUFAAAAEG9wcG9uZW50TGF0aXR1ZGUFAAAAEW9wcG9uZW50TG9uZ2l0dWRlBAAAAA9vcHRpbWFsVmVsb2NpdHkJAABpAAAAAgkAAGgAAAACBQAAABZkaXN0YW5jZUJldHdlZW5QbGF5ZXJzAAAAAAAADva5AAAAAAAAAYagBAAAAA9wbGF5ZXJTaG90UmVhY2gJAQAAABVjYWxjdWxhdGVTaG90RGlz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", "chainId": 84, "height": 1149640, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DfNpWHBxSUcJti3jxdDgaZZv75RiuWqLpy6a1kzoqvHH Next: 7MS76qDfDaU8kAu19e9Nb1fkVMHKNnPpGDHppaouzmxb Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b,c,d) = [DataEntry(("positionLat_" + b), c), DataEntry(("positionLong_" + b), d)]
4+func a (b,c,d) = [DataEntry(("positionLat_" + b), c), DataEntry(("positionLon_" + b), d)]
55
66
77 func e (f,g) = {
2323 let n = (m + (l * 628318))
2424 if ((n > 314159))
2525 then {
26- let o = (n - 314159)
27- let p = ((16 * o) * (314159 - o))
28- let q = (493480220050 - (p / 4))
29- ((p * 100000) / q)
26+ let o = ((16 * (n - 314159)) * (314159 - (n - 314159)))
27+ ((o * 100000) / (493480220050 - (o / 4)))
3028 }
3129 else {
32- let p = ((16 * n) * (314159 - n))
33- let q = (493480220050 - (p / 4))
34- ((-(p) * 100000) / q)
30+ let o = ((16 * n) * (314159 - n))
31+ ((-(o) * 100000) / (493480220050 - (o / 4)))
3532 }
3633 }
3734 else if ((m > 314159))
3835 then {
39- let n = (m - 314159)
40- let p = ((16 * n) * (314159 - n))
41- let q = (493480220050 - (p / 4))
42- ((p * 100000) / q)
36+ let o = ((16 * (m - 314159)) * (314159 - (m - 314159)))
37+ ((o * 100000) / (493480220050 - (o / 4)))
4338 }
4439 else {
45- let p = ((16 * m) * (314159 - m))
46- let q = (493480220050 - (p / 4))
47- ((-(p) * 100000) / q)
40+ let o = ((16 * m) * (314159 - m))
41+ ((-(o) * 100000) / (493480220050 - (o / 4)))
4842 }
4943 }
5044 else if ((k > 628318))
5246 let n = (k - (l * 628318))
5347 if ((n > 314159))
5448 then {
55- let o = (n - 314159)
56- let p = ((16 * o) * (314159 - o))
57- let q = (493480220050 - (p / 4))
58- ((-(p) * 100000) / q)
49+ let o = ((16 * (n - 314159)) * (314159 - (n - 314159)))
50+ ((-(o) * 100000) / (493480220050 - (o / 4)))
5951 }
6052 else {
61- let p = ((16 * n) * (314159 - n))
62- let q = (493480220050 - (p / 4))
63- ((p * 100000) / q)
53+ let o = ((16 * n) * (314159 - n))
54+ ((o * 100000) / (493480220050 - (o / 4)))
6455 }
6556 }
6657 else if ((k > 314159))
6758 then {
68- let n = (k - 314159)
69- let p = ((16 * n) * (314159 - n))
70- let q = (493480220050 - (p / 4))
71- ((-(p) * 100000) / q)
59+ let o = ((16 * (k - 314159)) * (314159 - (k - 314159)))
60+ ((-(o) * 100000) / (493480220050 - (o / 4)))
7261 }
7362 else {
74- let p = ((16 * k) * (314159 - k))
75- let q = (493480220050 - (p / 4))
76- ((p * 100000) / q)
63+ let o = ((16 * k) * (314159 - k))
64+ ((o * 100000) / (493480220050 - (o / 4)))
7765 }
7866 }
7967
8068
81-func r (k) = j((157079 - k))
69+func p (k) = j((157079 - k))
8270
8371
84-func s (t) = {
85- let u = ((t * t) / 10000000000)
86- let v = ((t * t) * t)
87- let w = (v / 60000000000)
88- let x = (((v * 3) / 400000000000) * u)
89- let y = ((((v * 15) / 3360000000000) * u) * u)
90- let z = (((((v * 105) / 34560000000000) * u) * u) * u)
91- ((((t + w) + x) + y) + z)
72+func q (r) = if ((-100000 >= r))
73+ then -157079
74+ else if ((r >= 100000))
75+ then 157079
76+ else if ((0 > r))
77+ then {
78+ let s = (-1 * r)
79+ let t = (((-1873 * s) / 100000) + 7426)
80+ let u = (((t * s) / 100000) - 21211)
81+ let v = (((u * s) / 100000) + 157072)
82+ let w = pow((100000 - s), 5, 5, 1, 5, HALFEVEN)
83+ -((157079 - ((w * v) / 100000)))
84+ }
85+ else {
86+ let t = (((-1873 * r) / 100000) + 7426)
87+ let u = (((t * r) / 100000) - 21211)
88+ let v = (((u * r) / 100000) + 157072)
89+ let w = pow((100000 - r), 5, 5, 1, 5, HALFEVEN)
90+ (157079 - ((w * v) / 100000))
91+ }
92+
93+
94+func x (r) = {
95+ let y = ((r * r) / 100000)
96+ if ((-100000 > r))
97+ then (-157079 - ((r * 100000) / (y + 28000)))
98+ else if ((r > 100000))
99+ then (157079 - ((r * 100000) / (y + 28000)))
100+ else ((r * 100000) / (100000 + ((28000 * y) / 100000)))
92101 }
93102
94103
95-func A (t) = if ((t > 100000))
96- then {
97- let B = (10000000000 / t)
98- let C = ((B * B) / 10000000000)
99- let D = ((B * B) * B)
100- let w = (D / 30000000000)
101- let x = ((D / 50000000000) * C)
102- let y = (((D / 70000000000) * C) * C)
103- let z = ((((D / 90000000000) * C) * C) * C)
104- (((((157080 - B) + w) - x) + y) - z)
105- }
106- else if ((-100000 > t))
107- then {
108- let B = (10000000000 / t)
109- let C = ((B * B) / 10000000000)
110- let D = ((B * B) * B)
111- let w = (D / 30000000000)
112- let x = ((D / 50000000000) * C)
113- let y = (((D / 70000000000) * C) * C)
114- let z = ((((D / 90000000000) * C) * C) * C)
115- (((((w - x) + y) - 157080) - B) - z)
116- }
117- else {
118- let u = ((t * t) / 10000000000)
119- let v = ((t * t) * t)
120- let w = (v / 30000000000)
121- let x = ((v / 50000000000) * u)
122- let y = (((v / 70000000000) * u) * u)
123- let z = ((((v / 90000000000) * u) * u) * u)
124- ((((t - w) + x) - y) + z)
125- }
126-
127-
128-func E (F,t) = if ((t > 0))
129- then A((F / t))
130- else if (if ((0 > t))
131- then (F >= 0)
104+func z (A,r) = if ((r > 0))
105+ then x((A / r))
106+ else if (if ((0 > r))
107+ then (A >= 0)
132108 else false)
133- then (A((F / t)) + 314159)
134- else if (if ((0 > t))
135- then (0 > F)
109+ then (x((A / r)) + 314159)
110+ else if (if ((0 > r))
111+ then (0 > A)
136112 else false)
137- then (A((F / t)) - 314159)
138- else if (if ((t == 0))
139- then (F > 0)
113+ then (x((A / r)) - 314159)
114+ else if (if ((r == 0))
115+ then (A > 0)
140116 else false)
141- then 157080
142- else if (if ((t == 0))
143- then (0 > F)
117+ then 157079
118+ else if (if ((r == 0))
119+ then (0 > A)
144120 else false)
145- then -157080
121+ then -157079
146122 else 0
147123
148124
149-func G (t) = if ((2 > t))
150- then t
151- else {
152- let H = ((316 + (t / 316)) / 2)
153- let I = ((H + (t / H)) / 2)
154- let J = ((I + (t / I)) / 2)
155- let K = ((J + (t / J)) / 2)
156- let L = ((K + (t / K)) / 2)
157- let M = ((L + (t / L)) / 2)
158- let N = ((M + (t / M)) / 2)
159- let O = ((N + (t / N)) / 2)
160- let P = ((O + (t / O)) / 2)
161- ((P + (t / P)) / 2)
162- }
125+func B (C,D) = (((2 * C) * ((p(D) * j(D)) / 100000)) / 980665)
163126
164127
165-func Q (R,S) = (((2 * ((R * R) / 100000)) * ((r(S) * j(S)) / 100000)) / 980665)
166-
167-
168-func T (U,V,W,X) = {
169- let Y = (U - W)
170- let Z = (V - X)
171- let aa = j((Y / 2))
172- let ab = j((Z / 2))
173- let ac = ((aa * aa) + (((r(U) * r(W)) / 100000) * ((ab * ab) / 100000)))
174- let ad = (2 * s(G(ac)))
175- (637100000 * ad)
128+func E (F,G,H,I) = {
129+ let J = j(((F - H) / 2))
130+ let K = j(((G - I) / 2))
131+ let L = ((J * J) + (((p(F) * p(H)) / 100000) * ((K * K) / 100000)))
132+ let M = (2 * q(pow((L / 1000), 7, 5, 1, 5, HALFEVEN)))
133+ (6371000 * M)
176134 }
177135
178136
179-func ae (af,ag,ah,ai) = {
180- let aj = (ah / 637100)
181- let ak = j(af)
182- let al = r(af)
183- let am = j(aj)
184- let an = r(aj)
185- let ao = s((((ak * an) / 100000) + (((al * am) * r(ai)) / 10000000000)))
186- let ap = (ag + (E((((j(ai) * am) * al) / 100000), (an - ((ak * ak) / 100000))) * 100))
187-[ao, ap]
137+func N (O,P,Q,R) = {
138+ let S = j(O)
139+ let T = p(O)
140+ let U = j((Q / 6371000))
141+ let V = p((Q / 6371000))
142+ let W = q((((S * V) / 100000) + (((T * U) * p(R)) / 10000000000)))
143+ let X = (P + z((((j(R) * U) * T) / 100000), (V - ((S * j(W)) / 100000))))
144+[W, X]
188145 }
189146
190147
191-func aq (S,ai,ar,f,g) = {
192- let as = getIntegerValue(this, ("positionLat_" + f))
193- let at = getIntegerValue(this, ("positionLong_" + f))
194- let au = getIntegerValue(this, ("positionLat_" + g))
195- let av = getIntegerValue(this, ("positionLat_" + g))
196- let aw = (T(as, at, au, av) / 100000)
197- let ax = (G(((aw * 980665) / 10000)) * 1000)
198- let ay = Q(((ax * ar) / 100000), S)
199- let az = ae(as, at, ay, ai)
200- let aA = (T(az[0], az[1], au, av) / 100000)
201- (100 > aA)
148+func Y (D,R,Z,f,g) = {
149+ let aa = getIntegerValue(this, ("positionLat_" + f))
150+ let ab = getIntegerValue(this, ("positionLon_" + f))
151+ let ac = getIntegerValue(this, ("positionLat_" + g))
152+ let ad = getIntegerValue(this, ("positionLon_" + g))
153+ let ae = E(aa, ab, ac, ad)
154+ let af = ((ae * 980665) / 100000)
155+ let ag = B(((af * Z) / 100000), D)
156+ let ah = N(aa, ab, ag, R)
157+ let ai = E(ah[0], ah[1], ac, ad)
158+ai :: ah
202159 }
203160
204161
205-@Callable(aB)
162+@Callable(aj)
206163 func startGame (c,d) = {
207- let aC = toString(aB.caller)
208- let aD = a(aC, ((c * 1745) / 100000), ((d * 1745) / 100000))
209- let aE = getString(this, "openGame")
210- let h = getString(this, ("gameId_" + aC))
211- let aF = getBoolean(this, ("gameId_" + i(aC)))
212- if (if (if (if ((h != ""))
213- then (h != unit)
164+ let ak = base58''
165+ let al = value(aj.payment)
166+ let am = toString(aj.caller)
167+ let an = a(am, ((c * 1745) / 100000), ((d * 1745) / 100000))
168+ let ao = getString(this, "openGame")
169+ if (if ((al.assetId == ak))
170+ then (al.amount >= 1)
214171 else false)
215- then (aF != false)
216- else false)
217- then (aF != unit)
218- else false)
219- then throw("Please finish your current game, before starting another one")
220- else if (!(isDefined(aE)))
221- then WriteSet(DataEntry("openGame", aC) :: aD)
222- else if (if ((aE == ""))
223- then true
224- else (aE == aC))
225- then WriteSet(DataEntry("openGame", aC) :: aD)
226- else WriteSet([DataEntry("openGame", ""), aD[0], aD[1], e(value(aE), aC)])
172+ then {
173+ let h = getString(this, ("gameId_" + am))
174+ if (if ((h != ""))
175+ then (h != unit)
176+ else false)
177+ then throw("Please finish your current game, before starting another one")
178+ else if (!(isDefined(ao)))
179+ then WriteSet(DataEntry("openGame", am) :: an)
180+ else if (if ((ao == ""))
181+ then true
182+ else (ao == am))
183+ then WriteSet(DataEntry("openGame", am) :: an)
184+ else WriteSet([DataEntry("openGame", ""), an[0], an[1], e(value(ao), am)])
185+ }
186+ else throw("Please pay the token")
227187 }
228188
229189
230190
231-@Callable(aB)
232-func executeShot (S,ai,ar) = {
233- let aC = toString(aB.caller)
234- let aG = getStringValue(this, ("opponent_" + aC))
235- let h = i(aC)
236- if ((getStringValue(this, ("gameTurn_" + h)) != aC))
237- then throw("please wait for your turn")
238- else if (aq(S, ai, ar, aC, aG))
239- then WriteSet([DataEntry(("game_" + h), false), DataEntry(("gameWinner_" + h), aC)])
240- else WriteSet([DataEntry(("gameTurn_" + h), aG)])
191+@Callable(aj)
192+func executeShot (D,R,Z) = {
193+ let ak = base58''
194+ let am = toString(aj.caller)
195+ let ap = getStringValue(this, ("opponent_" + am))
196+ let h = i(am)
197+ if ((getStringValue(this, ("gameTurn_" + h)) != am))
198+ then throw("Please wait for your turn.")
199+ else {
200+ let aq = Y(D, R, Z, am, ap)
201+ if ((((aq[0] / 5) + 1000000000) > aq[0]))
202+ then ScriptResult(WriteSet([DataEntry(("game_" + h), false), DataEntry(("gameWinner_" + h), am), DataEntry(("lastShotDistance_" + h), aq[0]), DataEntry(("lastShotLat_" + h), aq[1]), DataEntry(("lastShotLon_" + h), aq[2])]), TransferSet([ScriptTransfer(aj.caller, 2, ak)]))
203+ else WriteSet([DataEntry(("gameTurn_" + h), ap), DataEntry(("lastShotDistance_" + h), aq[0]), DataEntry(("lastShotLat_" + h), aq[1]), DataEntry(("lastShotLon_" + h), aq[2])])
204+ }
205+ }
206+
207+
208+
209+@Callable(aj)
210+func faucet () = {
211+ let ak = base58''
212+ let am = toString(aj.caller)
213+ let ar = assetBalance(aj.caller, ak)
214+ if ((100 > ar))
215+ then TransferSet([ScriptTransfer(aj.caller, 100, ak)])
216+ else TransferSet(nil)
241217 }
242218
243219
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a (b,c,d) = [DataEntry(("positionLat_" + b), c), DataEntry(("positionLong_" + b), d)]
4+func a (b,c,d) = [DataEntry(("positionLat_" + b), c), DataEntry(("positionLon_" + b), d)]
55
66
77 func e (f,g) = {
88 let h = ((f + "_") + g)
99 [DataEntry(("gameId_" + f), h), DataEntry(("opponent_" + f), g), DataEntry(("gameId_" + g), h), DataEntry(("opponent_" + g), f), DataEntry(("game_" + h), true), DataEntry(("gameTurn_" + h), f), DataEntry(("gameWinner_" + h), "")]
1010 }
1111
1212
1313 func i (b) = getStringValue(this, ("gameId_" + b))
1414
1515
1616 func j (k) = {
1717 let l = (k / 628318)
1818 if ((0 > k))
1919 then {
2020 let m = -(k)
2121 if ((m > 628318))
2222 then {
2323 let n = (m + (l * 628318))
2424 if ((n > 314159))
2525 then {
26- let o = (n - 314159)
27- let p = ((16 * o) * (314159 - o))
28- let q = (493480220050 - (p / 4))
29- ((p * 100000) / q)
26+ let o = ((16 * (n - 314159)) * (314159 - (n - 314159)))
27+ ((o * 100000) / (493480220050 - (o / 4)))
3028 }
3129 else {
32- let p = ((16 * n) * (314159 - n))
33- let q = (493480220050 - (p / 4))
34- ((-(p) * 100000) / q)
30+ let o = ((16 * n) * (314159 - n))
31+ ((-(o) * 100000) / (493480220050 - (o / 4)))
3532 }
3633 }
3734 else if ((m > 314159))
3835 then {
39- let n = (m - 314159)
40- let p = ((16 * n) * (314159 - n))
41- let q = (493480220050 - (p / 4))
42- ((p * 100000) / q)
36+ let o = ((16 * (m - 314159)) * (314159 - (m - 314159)))
37+ ((o * 100000) / (493480220050 - (o / 4)))
4338 }
4439 else {
45- let p = ((16 * m) * (314159 - m))
46- let q = (493480220050 - (p / 4))
47- ((-(p) * 100000) / q)
40+ let o = ((16 * m) * (314159 - m))
41+ ((-(o) * 100000) / (493480220050 - (o / 4)))
4842 }
4943 }
5044 else if ((k > 628318))
5145 then {
5246 let n = (k - (l * 628318))
5347 if ((n > 314159))
5448 then {
55- let o = (n - 314159)
56- let p = ((16 * o) * (314159 - o))
57- let q = (493480220050 - (p / 4))
58- ((-(p) * 100000) / q)
49+ let o = ((16 * (n - 314159)) * (314159 - (n - 314159)))
50+ ((-(o) * 100000) / (493480220050 - (o / 4)))
5951 }
6052 else {
61- let p = ((16 * n) * (314159 - n))
62- let q = (493480220050 - (p / 4))
63- ((p * 100000) / q)
53+ let o = ((16 * n) * (314159 - n))
54+ ((o * 100000) / (493480220050 - (o / 4)))
6455 }
6556 }
6657 else if ((k > 314159))
6758 then {
68- let n = (k - 314159)
69- let p = ((16 * n) * (314159 - n))
70- let q = (493480220050 - (p / 4))
71- ((-(p) * 100000) / q)
59+ let o = ((16 * (k - 314159)) * (314159 - (k - 314159)))
60+ ((-(o) * 100000) / (493480220050 - (o / 4)))
7261 }
7362 else {
74- let p = ((16 * k) * (314159 - k))
75- let q = (493480220050 - (p / 4))
76- ((p * 100000) / q)
63+ let o = ((16 * k) * (314159 - k))
64+ ((o * 100000) / (493480220050 - (o / 4)))
7765 }
7866 }
7967
8068
81-func r (k) = j((157079 - k))
69+func p (k) = j((157079 - k))
8270
8371
84-func s (t) = {
85- let u = ((t * t) / 10000000000)
86- let v = ((t * t) * t)
87- let w = (v / 60000000000)
88- let x = (((v * 3) / 400000000000) * u)
89- let y = ((((v * 15) / 3360000000000) * u) * u)
90- let z = (((((v * 105) / 34560000000000) * u) * u) * u)
91- ((((t + w) + x) + y) + z)
72+func q (r) = if ((-100000 >= r))
73+ then -157079
74+ else if ((r >= 100000))
75+ then 157079
76+ else if ((0 > r))
77+ then {
78+ let s = (-1 * r)
79+ let t = (((-1873 * s) / 100000) + 7426)
80+ let u = (((t * s) / 100000) - 21211)
81+ let v = (((u * s) / 100000) + 157072)
82+ let w = pow((100000 - s), 5, 5, 1, 5, HALFEVEN)
83+ -((157079 - ((w * v) / 100000)))
84+ }
85+ else {
86+ let t = (((-1873 * r) / 100000) + 7426)
87+ let u = (((t * r) / 100000) - 21211)
88+ let v = (((u * r) / 100000) + 157072)
89+ let w = pow((100000 - r), 5, 5, 1, 5, HALFEVEN)
90+ (157079 - ((w * v) / 100000))
91+ }
92+
93+
94+func x (r) = {
95+ let y = ((r * r) / 100000)
96+ if ((-100000 > r))
97+ then (-157079 - ((r * 100000) / (y + 28000)))
98+ else if ((r > 100000))
99+ then (157079 - ((r * 100000) / (y + 28000)))
100+ else ((r * 100000) / (100000 + ((28000 * y) / 100000)))
92101 }
93102
94103
95-func A (t) = if ((t > 100000))
96- then {
97- let B = (10000000000 / t)
98- let C = ((B * B) / 10000000000)
99- let D = ((B * B) * B)
100- let w = (D / 30000000000)
101- let x = ((D / 50000000000) * C)
102- let y = (((D / 70000000000) * C) * C)
103- let z = ((((D / 90000000000) * C) * C) * C)
104- (((((157080 - B) + w) - x) + y) - z)
105- }
106- else if ((-100000 > t))
107- then {
108- let B = (10000000000 / t)
109- let C = ((B * B) / 10000000000)
110- let D = ((B * B) * B)
111- let w = (D / 30000000000)
112- let x = ((D / 50000000000) * C)
113- let y = (((D / 70000000000) * C) * C)
114- let z = ((((D / 90000000000) * C) * C) * C)
115- (((((w - x) + y) - 157080) - B) - z)
116- }
117- else {
118- let u = ((t * t) / 10000000000)
119- let v = ((t * t) * t)
120- let w = (v / 30000000000)
121- let x = ((v / 50000000000) * u)
122- let y = (((v / 70000000000) * u) * u)
123- let z = ((((v / 90000000000) * u) * u) * u)
124- ((((t - w) + x) - y) + z)
125- }
126-
127-
128-func E (F,t) = if ((t > 0))
129- then A((F / t))
130- else if (if ((0 > t))
131- then (F >= 0)
104+func z (A,r) = if ((r > 0))
105+ then x((A / r))
106+ else if (if ((0 > r))
107+ then (A >= 0)
132108 else false)
133- then (A((F / t)) + 314159)
134- else if (if ((0 > t))
135- then (0 > F)
109+ then (x((A / r)) + 314159)
110+ else if (if ((0 > r))
111+ then (0 > A)
136112 else false)
137- then (A((F / t)) - 314159)
138- else if (if ((t == 0))
139- then (F > 0)
113+ then (x((A / r)) - 314159)
114+ else if (if ((r == 0))
115+ then (A > 0)
140116 else false)
141- then 157080
142- else if (if ((t == 0))
143- then (0 > F)
117+ then 157079
118+ else if (if ((r == 0))
119+ then (0 > A)
144120 else false)
145- then -157080
121+ then -157079
146122 else 0
147123
148124
149-func G (t) = if ((2 > t))
150- then t
151- else {
152- let H = ((316 + (t / 316)) / 2)
153- let I = ((H + (t / H)) / 2)
154- let J = ((I + (t / I)) / 2)
155- let K = ((J + (t / J)) / 2)
156- let L = ((K + (t / K)) / 2)
157- let M = ((L + (t / L)) / 2)
158- let N = ((M + (t / M)) / 2)
159- let O = ((N + (t / N)) / 2)
160- let P = ((O + (t / O)) / 2)
161- ((P + (t / P)) / 2)
162- }
125+func B (C,D) = (((2 * C) * ((p(D) * j(D)) / 100000)) / 980665)
163126
164127
165-func Q (R,S) = (((2 * ((R * R) / 100000)) * ((r(S) * j(S)) / 100000)) / 980665)
166-
167-
168-func T (U,V,W,X) = {
169- let Y = (U - W)
170- let Z = (V - X)
171- let aa = j((Y / 2))
172- let ab = j((Z / 2))
173- let ac = ((aa * aa) + (((r(U) * r(W)) / 100000) * ((ab * ab) / 100000)))
174- let ad = (2 * s(G(ac)))
175- (637100000 * ad)
128+func E (F,G,H,I) = {
129+ let J = j(((F - H) / 2))
130+ let K = j(((G - I) / 2))
131+ let L = ((J * J) + (((p(F) * p(H)) / 100000) * ((K * K) / 100000)))
132+ let M = (2 * q(pow((L / 1000), 7, 5, 1, 5, HALFEVEN)))
133+ (6371000 * M)
176134 }
177135
178136
179-func ae (af,ag,ah,ai) = {
180- let aj = (ah / 637100)
181- let ak = j(af)
182- let al = r(af)
183- let am = j(aj)
184- let an = r(aj)
185- let ao = s((((ak * an) / 100000) + (((al * am) * r(ai)) / 10000000000)))
186- let ap = (ag + (E((((j(ai) * am) * al) / 100000), (an - ((ak * ak) / 100000))) * 100))
187-[ao, ap]
137+func N (O,P,Q,R) = {
138+ let S = j(O)
139+ let T = p(O)
140+ let U = j((Q / 6371000))
141+ let V = p((Q / 6371000))
142+ let W = q((((S * V) / 100000) + (((T * U) * p(R)) / 10000000000)))
143+ let X = (P + z((((j(R) * U) * T) / 100000), (V - ((S * j(W)) / 100000))))
144+[W, X]
188145 }
189146
190147
191-func aq (S,ai,ar,f,g) = {
192- let as = getIntegerValue(this, ("positionLat_" + f))
193- let at = getIntegerValue(this, ("positionLong_" + f))
194- let au = getIntegerValue(this, ("positionLat_" + g))
195- let av = getIntegerValue(this, ("positionLat_" + g))
196- let aw = (T(as, at, au, av) / 100000)
197- let ax = (G(((aw * 980665) / 10000)) * 1000)
198- let ay = Q(((ax * ar) / 100000), S)
199- let az = ae(as, at, ay, ai)
200- let aA = (T(az[0], az[1], au, av) / 100000)
201- (100 > aA)
148+func Y (D,R,Z,f,g) = {
149+ let aa = getIntegerValue(this, ("positionLat_" + f))
150+ let ab = getIntegerValue(this, ("positionLon_" + f))
151+ let ac = getIntegerValue(this, ("positionLat_" + g))
152+ let ad = getIntegerValue(this, ("positionLon_" + g))
153+ let ae = E(aa, ab, ac, ad)
154+ let af = ((ae * 980665) / 100000)
155+ let ag = B(((af * Z) / 100000), D)
156+ let ah = N(aa, ab, ag, R)
157+ let ai = E(ah[0], ah[1], ac, ad)
158+ai :: ah
202159 }
203160
204161
205-@Callable(aB)
162+@Callable(aj)
206163 func startGame (c,d) = {
207- let aC = toString(aB.caller)
208- let aD = a(aC, ((c * 1745) / 100000), ((d * 1745) / 100000))
209- let aE = getString(this, "openGame")
210- let h = getString(this, ("gameId_" + aC))
211- let aF = getBoolean(this, ("gameId_" + i(aC)))
212- if (if (if (if ((h != ""))
213- then (h != unit)
164+ let ak = base58''
165+ let al = value(aj.payment)
166+ let am = toString(aj.caller)
167+ let an = a(am, ((c * 1745) / 100000), ((d * 1745) / 100000))
168+ let ao = getString(this, "openGame")
169+ if (if ((al.assetId == ak))
170+ then (al.amount >= 1)
214171 else false)
215- then (aF != false)
216- else false)
217- then (aF != unit)
218- else false)
219- then throw("Please finish your current game, before starting another one")
220- else if (!(isDefined(aE)))
221- then WriteSet(DataEntry("openGame", aC) :: aD)
222- else if (if ((aE == ""))
223- then true
224- else (aE == aC))
225- then WriteSet(DataEntry("openGame", aC) :: aD)
226- else WriteSet([DataEntry("openGame", ""), aD[0], aD[1], e(value(aE), aC)])
172+ then {
173+ let h = getString(this, ("gameId_" + am))
174+ if (if ((h != ""))
175+ then (h != unit)
176+ else false)
177+ then throw("Please finish your current game, before starting another one")
178+ else if (!(isDefined(ao)))
179+ then WriteSet(DataEntry("openGame", am) :: an)
180+ else if (if ((ao == ""))
181+ then true
182+ else (ao == am))
183+ then WriteSet(DataEntry("openGame", am) :: an)
184+ else WriteSet([DataEntry("openGame", ""), an[0], an[1], e(value(ao), am)])
185+ }
186+ else throw("Please pay the token")
227187 }
228188
229189
230190
231-@Callable(aB)
232-func executeShot (S,ai,ar) = {
233- let aC = toString(aB.caller)
234- let aG = getStringValue(this, ("opponent_" + aC))
235- let h = i(aC)
236- if ((getStringValue(this, ("gameTurn_" + h)) != aC))
237- then throw("please wait for your turn")
238- else if (aq(S, ai, ar, aC, aG))
239- then WriteSet([DataEntry(("game_" + h), false), DataEntry(("gameWinner_" + h), aC)])
240- else WriteSet([DataEntry(("gameTurn_" + h), aG)])
191+@Callable(aj)
192+func executeShot (D,R,Z) = {
193+ let ak = base58''
194+ let am = toString(aj.caller)
195+ let ap = getStringValue(this, ("opponent_" + am))
196+ let h = i(am)
197+ if ((getStringValue(this, ("gameTurn_" + h)) != am))
198+ then throw("Please wait for your turn.")
199+ else {
200+ let aq = Y(D, R, Z, am, ap)
201+ if ((((aq[0] / 5) + 1000000000) > aq[0]))
202+ then ScriptResult(WriteSet([DataEntry(("game_" + h), false), DataEntry(("gameWinner_" + h), am), DataEntry(("lastShotDistance_" + h), aq[0]), DataEntry(("lastShotLat_" + h), aq[1]), DataEntry(("lastShotLon_" + h), aq[2])]), TransferSet([ScriptTransfer(aj.caller, 2, ak)]))
203+ else WriteSet([DataEntry(("gameTurn_" + h), ap), DataEntry(("lastShotDistance_" + h), aq[0]), DataEntry(("lastShotLat_" + h), aq[1]), DataEntry(("lastShotLon_" + h), aq[2])])
204+ }
205+ }
206+
207+
208+
209+@Callable(aj)
210+func faucet () = {
211+ let ak = base58''
212+ let am = toString(aj.caller)
213+ let ar = assetBalance(aj.caller, ak)
214+ if ((100 > ar))
215+ then TransferSet([ScriptTransfer(aj.caller, 100, ak)])
216+ else TransferSet(nil)
241217 }
242218
243219

github/deemru/w8io/169f3d6 
68.83 ms