tx · 2NgZWrmRKdt5t9S6kCB11vNkN5L6GqjcgyMQdGppsKaK

3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT:  -0.04000000 Waves

2020.07.29 18:03 [1109035] smart account 3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT > SELF 0.00000000 Waves

{ "type": 13, "id": "2NgZWrmRKdt5t9S6kCB11vNkN5L6GqjcgyMQdGppsKaK", "fee": 4000000, "feeAssetId": null, "timestamp": 1596035069561, "version": 1, "sender": "3MqbTfLJ5nrYh6fUbS38Hfpe6T8MP5K5HiT", "senderPublicKey": "EzWkAi3pMjNqjjV3PpJiHWrButTm4aorR4p173qwdGeL", "proofs": [ "3dutUTsnSdSQ8qjBnrL5FjPAiNqACVfvQsgngQdnrDLS5dWpY3zdX8FdErcsGRWMnhhPBZXQXaMkVmgJ5Q36BKf5" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAAAQEAAAAJZ2V0R2FtZUlkAAAAAQAAAANrZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHZ2FtZUlkXwUAAAADa2V5AAAAAQAAAAFpAQAAAAlyZXNldEdhbWUAAAABAAAADXJlc2V0UGxheWVySWQEAAAABmNhbGxlcgUAAAANcmVzZXRQbGF5ZXJJZAQAAAAIb3Bwb25lbnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAJb3Bwb25lbnRfBQAAAAZjYWxsZXIEAAAABmdhbWVJZAkBAAAACWdldEdhbWVJZAAAAAEFAAAABmNhbGxlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAVnYW1lXwUAAAAGZ2FtZUlkBwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAtnYW1lV2lubmVyXwUAAAAGZ2FtZUlkBQAAAAZjYWxsZXIFAAAAA25pbAAAAABElfa4", "chainId": 84, "height": 1109035, "spentComplexity": 0 } View: original | compacted Prev: 6NxnLH1EjTry3L87ebpEdXbKcA9ckbWsk2wBDGPFHmqs Next: 4kzkuvD8TXCwhX5GsPZ1fByfmpV4hbhWJWRkuQYdsA8K 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) = getStringValue(this, ("gameId_" + b))
55
66
7-func e (f,g) = {
8- let h = ((f + "_") + g)
9-[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), "")]
10- }
11-
12-
13-func i (b) = getStringValue(this, ("gameId_" + b))
14-
15-
16-func j (k) = {
17- let l = (k / 628318)
18- if ((0 > k))
19- then {
20- let m = -(k)
21- if ((m > 628318))
22- then {
23- let n = (m + (l * 628318))
24- if ((n > 314159))
25- then {
26- let o = (n - 314159)
27- let p = ((16 * o) * (314159 - o))
28- let q = (493480220050 - (p / 4))
29- ((p * 100000) / q)
30- }
31- else {
32- let p = ((16 * n) * (314159 - n))
33- let q = (493480220050 - (p / 4))
34- ((-(p) * 100000) / q)
35- }
36- }
37- else if ((m > 314159))
38- then {
39- let n = (m - 314159)
40- let p = ((16 * n) * (314159 - n))
41- let q = (493480220050 - (p / 4))
42- ((p * 100000) / q)
43- }
44- else {
45- let p = ((16 * m) * (314159 - m))
46- let q = (493480220050 - (p / 4))
47- ((-(p) * 100000) / q)
48- }
49- }
50- else if ((k > 628318))
51- then {
52- let n = (k - (l * 628318))
53- if ((n > 314159))
54- then {
55- let o = (n - 314159)
56- let p = ((16 * o) * (314159 - o))
57- let q = (493480220050 - (p / 4))
58- ((-(p) * 100000) / q)
59- }
60- else {
61- let p = ((16 * n) * (314159 - n))
62- let q = (493480220050 - (p / 4))
63- ((p * 100000) / q)
64- }
65- }
66- else if ((k > 314159))
67- then {
68- let n = (k - 314159)
69- let p = ((16 * n) * (314159 - n))
70- let q = (493480220050 - (p / 4))
71- ((-(p) * 100000) / q)
72- }
73- else {
74- let p = ((16 * k) * (314159 - k))
75- let q = (493480220050 - (p / 4))
76- ((p * 100000) / q)
77- }
78- }
79-
80-
81-func r (k) = j((157079 - k))
82-
83-
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)
92- }
93-
94-
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)
132- else false)
133- then (A((F / t)) + 314159)
134- else if (if ((0 > t))
135- then (0 > F)
136- else false)
137- then (A((F / t)) - 314159)
138- else if (if ((t == 0))
139- then (F > 0)
140- else false)
141- then 157080
142- else if (if ((t == 0))
143- then (0 > F)
144- else false)
145- then -157080
146- else 0
147-
148-
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- }
163-
164-
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)
176- }
177-
178-
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]
188- }
189-
190-
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)
202- }
203-
204-
205-@Callable(aB)
206-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)
214- 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)])
227- }
228-
229-
230-
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)])
7+@Callable(c)
8+func resetGame (d) = {
9+ let e = d
10+ let f = getStringValue(this, ("opponent_" + e))
11+ let g = a(e)
12+ WriteSet([DataEntry(("game_" + g), false), DataEntry(("gameWinner_" + g), e)])
24113 }
24214
24315

github/deemru/w8io/169f3d6 
38.59 ms