tx · C1UP4geHBowvfoCkeAmAnJTaEvkpMeAECRjTKbKi6YRf

3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u:  -0.01440000 Waves

2021.01.26 18:10 [1370637] smart account 3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u > SELF 0.00000000 Waves

{ "type": 13, "id": "C1UP4geHBowvfoCkeAmAnJTaEvkpMeAECRjTKbKi6YRf", "fee": 1440000, "feeAssetId": null, "timestamp": 1611673851284, "version": 2, "chainId": 84, "sender": "3N9eE86dXUm7rfc2WWCMLHkaEM4Y8yoNj7u", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "2MT6QqPeFzHZQfU1jhTzMDVvKVC4rCS7BtFiEF6Epc7Jcg211MtfQhuN28HxQs2zP5CGgbw2Evd9szoALXJPieww" ], "script": "base64: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Y2UJAAACAAAAAQIAAAA+Tm8gZW5vdWdoIEdvdmVyblRva2VuIEluIENvbnRyYWN0LCBQbGVhc2UgZGVwb3NpdCBHb3Zlcm5Ub2tlbnMEAAAABlJld2FyZAMJAAAAAAAAAgUAAAAMU3Rha2VCYWxhbmNlAAAAAAAAAAAAAAAAAAAAACcQAwkAAGYAAAACBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAAAoJAABoAAAAAgkAAGgAAAACAAAAAAAAACcQBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABkAAAAAgAAAAAAAAAAAQkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAMU3Rha2VCYWxhbmNlCQAAaAAAAAIAAAAAAAAAJxAJAABkAAAAAgAAAAAAAAAAAQkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAMU3Rha2VCYWxhbmNlBAAAAAxVc2VyQVBZVmFsdWUDCQAAZgAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAAAAAAAAAAAAkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAGQFAAAABlJld2FyZAUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAABAAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAAGQAAAACBQAAABhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4FAAAABlJld2FyZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJHb3Zlcm5Ub2tlbktleQUAAAAUbmV3QW1vdW50R292ZXJuVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJTdGFrZWRUb2tlbktleQUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQUAAAAYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAxTdGFrZUJhbGFuY2UFAAAAElN0YWtlQmFsYW5jZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHRnVuZEJveAUAAAALUHJpemVBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC1ByaXplSGVpZ2h0BQAAABBQcml6ZUhlaWdodFZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAdVc2VyQVBZBQAAAAxVc2VyQVBZVmFsdWUFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABlJld2FyZAUAAAALR292ZXJuVG9rZW4FAAAAA25pbAkAAAIAAAABAgAAABtDYW4gZGVwb3NpdCBvbmx5IFN0YWtlVG9rZW4AAAAAyeX3Xw==", "height": 1370637, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 73tsSUXrnRYEhNp1AykWPefakJWRgkMAWNfTJER5npw3 Next: BZeZuX82Bh9XreMTNYXksN3AW9S5ozLM4Tym3X8Q3h9Z Diff:
OldNewDifferences
44
55
66 @Callable(a)
7-func ReadPoolData () = {
8- let b = "GovernTokenMaxDeposit"
9- let c = "MaxGovernTokenDepositerKey"
10- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
11- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
12- let f = ((toBase58String(a.caller.bytes) + "_") + toBase58String(d))
13- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
14- let h = getStringValue(this, c)
15- let i = {
16- let j = getInteger(this, b)
17- if ($isInstanceOf(j, "Int"))
18- then {
19- let k = j
20- k
21- }
22- else 0
23- }
24- let l = getStringValue(this, g)
25- let m = {
26- let j = getInteger(this, g)
27- if ($isInstanceOf(j, "Int"))
28- then {
29- let k = j
30- k
31- }
32- else 0
33- }
34- let n = getStringValue(this, f)
35- let o = {
36- let j = getInteger(this, f)
37- if ($isInstanceOf(j, "Int"))
38- then {
39- let k = j
40- k
41- }
42- else 0
43- }
44- throw(((((((("Winner is.....: " + h) + " Balance is: ") + toString(i)) + "
45-Staked Token in your Balance is.....: ") + toString(o)) + "
46-Govern Token in your Balance is.....: ") + toString(m)))
47- }
48-
49-
50-
51-@Callable(a)
52-func ResetAccount () = {
53- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
54- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
55- let f = (toBase58String(a.caller.bytes) + "_Staking")
56- let g = (toBase58String(a.caller.bytes) + "_Earnings")
57- let p = (toBase58String(a.caller.bytes) + "_StakedTransactions")
58- WriteSet([DataEntry(g, 0), DataEntry(f, 0), DataEntry(p, 0), DataEntry("DelayCost", 0), DataEntry("Delay", 0), DataEntry("StakeBalance", 0), DataEntry("PrizeHeight", 0), DataEntry("FundBox", 0)])
59- }
60-
61-
62-
63-@Callable(a)
647 func PushReward () = {
65- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
66- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
67- let q = extract(a.payment)
68- let r = (toBase58String(a.caller.bytes) + "_Push")
69- let s = assetBalance(this, d)
70- let t = {
71- let j = getInteger(this, "StakeBalance")
72- if ($isInstanceOf(j, "Int"))
73- then {
74- let k = j
75- k
76- }
77- else 0
78- }
79- let u = (s - t)
80- let v = {
81- let j = getInteger(this, "PrizeHeight")
82- if ($isInstanceOf(j, "Int"))
83- then {
84- let k = j
85- k
86- }
87- else 0
88- }
89- let w = if (if ((v == 0))
90- then (u != 0)
91- else false)
92- then height
93- else if (if ((v != 0))
94- then (u == 0)
95- else false)
96- then 0
97- else v
98- if (if ((q.amount > 0))
99- then (q.assetId == e)
8+ let b = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
9+ let c = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
10+ let d = 10
11+ let e = 7
12+ let f = 20
13+ let g = extract(a.payment)
14+ if (if ((g.amount > 0))
15+ then (g.assetId == c)
10016 else false)
10117 then {
102- let b = "GovernTokenMaxDeposit"
103- let c = "MaxGovernTokenDepositerKey"
104- let i = {
105- let j = getInteger(this, b)
106- if ($isInstanceOf(j, "Int"))
18+ let h = (toBase58String(a.caller.bytes) + "_Push")
19+ let i = (toBase58String(a.caller.bytes) + "_UserLastPushBlock")
20+ let j = (toBase58String(a.caller.bytes) + "_UserLastStakeBlock")
21+ let k = (toBase58String(a.caller.bytes) + "_Staking")
22+ let l = assetBalance(this, b)
23+ let m = {
24+ let n = getInteger(this, "StakeBalance")
25+ if ($isInstanceOf(n, "Int"))
10726 then {
108- let k = j
109- k
27+ let o = n
28+ o
29+ }
30+ else 0
31+ }
32+ let p = (l - m)
33+ let q = {
34+ let n = getInteger(this, "PrizeHeight")
35+ if ($isInstanceOf(n, "Int"))
36+ then {
37+ let o = n
38+ o
39+ }
40+ else 0
41+ }
42+ let r = if (if ((q == 0))
43+ then (p == 0)
44+ else false)
45+ then 0
46+ else if (if ((q == 0))
47+ then (p != 0)
48+ else false)
49+ then height
50+ else if (if ((q != 0))
51+ then (p != 0)
52+ else false)
53+ then q
54+ else 0
55+ let s = {
56+ let n = getInteger(this, "HighestPush")
57+ if ($isInstanceOf(n, "Int"))
58+ then {
59+ let o = n
60+ o
61+ }
62+ else 0
63+ }
64+ let t = {
65+ let n = getInteger(this, h)
66+ if ($isInstanceOf(n, "Int"))
67+ then {
68+ let o = n
69+ o
70+ }
71+ else 0
72+ }
73+ let u = {
74+ let n = getInteger(this, "Delay")
75+ if ($isInstanceOf(n, "Int"))
76+ then {
77+ let o = n
78+ o
79+ }
80+ else 0
81+ }
82+ let v = (u + f)
83+ let w = {
84+ let n = getInteger(this, "HighestPushAddress")
85+ if ($isInstanceOf(n, "Int"))
86+ then {
87+ let o = n
88+ o
11089 }
11190 else 0
11291 }
11392 let x = {
114- let j = getInteger(this, r)
115- if ($isInstanceOf(j, "Int"))
93+ let n = getInteger(this, i)
94+ if ($isInstanceOf(n, "Int"))
11695 then {
117- let k = j
118- k
96+ let o = n
97+ o
11998 }
12099 else 0
121100 }
122101 let y = {
123- let j = getInteger(this, "Delay")
124- if ($isInstanceOf(j, "Int"))
102+ let n = getInteger(this, j)
103+ if ($isInstanceOf(n, "Int"))
125104 then {
126- let k = j
127- k
105+ let o = n
106+ o
128107 }
129108 else 0
130109 }
131- let z = q.amount
132- if (if (if (if ((c != ""))
133- then ((v + y) > height)
110+ let z = {
111+ let n = getInteger(this, k)
112+ if ($isInstanceOf(n, "Int"))
113+ then {
114+ let o = n
115+ o
116+ }
117+ else 0
118+ }
119+ let A = (g.amount + t)
120+ if (if (if (if (if ((A > 0))
121+ then ((height - y) > (1440 * e))
134122 else false)
135- then (height > 0)
123+ then ((height - x) > d)
136124 else false)
137- then true
138- else if ((c != ""))
139- then (height > ((v + y) + 10))
140- else false)
141- then if ((z > i))
142- then WriteSet([DataEntry(r, z), DataEntry(b, z), DataEntry(c, r), DataEntry("FundBox", u), DataEntry("PrizeHeight", height), DataEntry("Delay", 5)])
143- else throw((("You have to deposit more than " + toString((i / 100000000))) + " Troika"))
144- else throw("You cannot claim reward, a winner has already been designated")
125+ then (A > s)
126+ else false)
127+ then (z > 0)
128+ else false)
129+ then WriteSet([DataEntry(h, A), DataEntry("HighestPushAddress", toBase58String(a.caller.bytes)), DataEntry("HighestPush", A), DataEntry("PrizeHeight", height), DataEntry("Delay", v)])
130+ else throw((("Your Push dot not comply one of the following conditions: " + "
131+ 1. Positive Value
132+ 2. Must Staked ASIMI Token for a minimum of week
133+ ") + "3. Should be Higher than last Highest Push
134+ 4. Should wait required time between Pushes"))
145135 }
146136 else throw("Can deposit only StakeToken")
147137 }
150140
151141 @Callable(a)
152142 func Stake () = {
153- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
154- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
155- let A = assetBalance(this, e)
156- let B = (toBase58String(a.caller.bytes) + "_APY")
157- let q = extract(a.payment)
158- if (if ((q.amount > 0))
159- then (q.assetId == d)
143+ let b = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
144+ let c = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
145+ let B = assetBalance(this, c)
146+ let C = (toBase58String(a.caller.bytes) + "_APY")
147+ let g = extract(a.payment)
148+ if (if ((g.amount > 0))
149+ then (g.assetId == b)
160150 else false)
161151 then {
162- let f = (toBase58String(a.caller.bytes) + "_Staking")
163- let g = (toBase58String(a.caller.bytes) + "_Earnings")
164- let p = (toBase58String(a.caller.bytes) + "_StakedTransactions")
165- let C = (toBase58String(a.caller.bytes) + "_PrizeHeight")
166- let D = {
167- let j = getInteger(this, p)
168- if ($isInstanceOf(j, "Int"))
152+ let D = (toBase58String(a.caller.bytes) + "_Staking")
153+ let E = (toBase58String(a.caller.bytes) + "_Earnings")
154+ let F = (toBase58String(a.caller.bytes) + "_StakedTransactions")
155+ let G = (toBase58String(a.caller.bytes) + "_PrizeHeight")
156+ let H = {
157+ let n = getInteger(this, F)
158+ if ($isInstanceOf(n, "Int"))
169159 then {
170- let k = j
171- k
160+ let o = n
161+ o
172162 }
173163 else 0
174164 }
175- let E = (D + 1)
176- let F = {
177- let j = getInteger(this, f)
178- if ($isInstanceOf(j, "Int"))
165+ let I = (H + 1)
166+ let J = {
167+ let n = getInteger(this, D)
168+ if ($isInstanceOf(n, "Int"))
179169 then {
180- let k = j
181- k
170+ let o = n
171+ o
182172 }
183173 else 0
184174 }
185- let G = (F + q.amount)
186- let s = assetBalance(this, d)
187- let t = {
188- let j = getInteger(this, "StakeBalance")
189- if ($isInstanceOf(j, "Int"))
175+ let K = (J + g.amount)
176+ let l = assetBalance(this, b)
177+ let m = {
178+ let n = getInteger(this, "StakeBalance")
179+ if ($isInstanceOf(n, "Int"))
190180 then {
191- let k = j
192- k
181+ let o = n
182+ o
193183 }
194184 else 0
195185 }
196- let H = (t + q.amount)
197- let u = (s - t)
198- let I = {
199- let j = getInteger(this, g)
200- if ($isInstanceOf(j, "Int"))
186+ let L = (m + g.amount)
187+ let p = (l - m)
188+ let M = {
189+ let n = getInteger(this, E)
190+ if ($isInstanceOf(n, "Int"))
201191 then {
202- let k = j
203- k
192+ let o = n
193+ o
204194 }
205195 else 0
206196 }
207- let v = {
208- let j = getInteger(this, "PrizeHeight")
209- if ($isInstanceOf(j, "Int"))
197+ let q = {
198+ let n = getInteger(this, "PrizeHeight")
199+ if ($isInstanceOf(n, "Int"))
210200 then {
211- let k = j
212- k
201+ let o = n
202+ o
213203 }
214204 else 0
215205 }
216- let w = if (if ((v == 0))
217- then (u != 0)
206+ let r = if (if ((q == 0))
207+ then (p != 0)
218208 else false)
219209 then height
220- else if (if ((v != 0))
221- then (u == 0)
210+ else if (if ((q != 0))
211+ then (p == 0)
222212 else false)
223213 then 0
224- else v
225- if ((100000000 > A))
214+ else q
215+ if ((100000000 > B))
226216 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
227217 else {
228- let J = if ((t == 0))
218+ let N = if ((m == 0))
229219 then 10000
230- else if ((E > 10))
231- then ((10000 * E) * (1 + (G / t)))
232- else (10000 * (1 + (G / t)))
233- let K = if ((I > 0))
234- then ((100 * J) / I)
220+ else if ((I > 10))
221+ then ((10000 * I) * (1 + (K / m)))
222+ else (10000 * (1 + (K / m)))
223+ let O = if ((M > 0))
224+ then ((100 * N) / M)
235225 else 0
236- let L = (I + J)
237- ScriptResult(WriteSet([DataEntry(g, L), DataEntry(f, G), DataEntry(p, E), DataEntry("StakeBalance", H), DataEntry("FundBox", u), DataEntry("PrizeHeight", w), DataEntry(B, K)]), TransferSet([ScriptTransfer(a.caller, J, e)]))
226+ let P = (M + N)
227+ ScriptResult(WriteSet([DataEntry(E, P), DataEntry(D, K), DataEntry(F, I), DataEntry("StakeBalance", L), DataEntry("FundBox", p), DataEntry("PrizeHeight", r), DataEntry(C, O)]), TransferSet([ScriptTransfer(a.caller, N, c)]))
238228 }
239229 }
240230 else throw("Can deposit only StakeToken")
241- }
242-
243-
244-
245-@Callable(a)
246-func WithdrawStakedFunds (M) = {
247- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
248- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
249- let f = (toBase58String(a.caller.bytes) + "_Staking")
250- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
251- let s = assetBalance(this, d)
252- let t = {
253- let j = getInteger(this, "StakeBalance")
254- if ($isInstanceOf(j, "Int"))
255- then {
256- let k = j
257- k
258- }
259- else 0
260- }
261- let u = (s - t)
262- let v = {
263- let j = getInteger(this, "PrizeHeight")
264- if ($isInstanceOf(j, "Int"))
265- then {
266- let k = j
267- k
268- }
269- else 0
270- }
271- let w = if (if ((v == 0))
272- then (u != 0)
273- else false)
274- then height
275- else if (if ((v != 0))
276- then (u == 0)
277- else false)
278- then 0
279- else v
280- let r = toBase58String(a.caller.bytes)
281- let x = {
282- let j = getInteger(this, f)
283- if ($isInstanceOf(j, "Int"))
284- then {
285- let k = j
286- k
287- }
288- else 0
289- }
290- let N = (x - M)
291- let H = (t - M)
292- if ((0 > M))
293- then throw("Can't withdraw negative amount")
294- else if ((0 > N))
295- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((x / 100000000))))
296- else {
297- let O = assetBalance(this, e)
298- if ((1 > O))
299- then throw("No enough GovernToken In Contract")
300- else ScriptResult(WriteSet([DataEntry(g, 100000000), DataEntry(f, N), DataEntry("StakeBalance", H), DataEntry("FundBox", u), DataEntry("PrizeHeight", w)]), TransferSet([ScriptTransfer(a.caller, 100000000, e), ScriptTransfer(a.caller, M, d)]))
301- }
302- }
303-
304-
305-
306-@Callable(a)
307-func HarvestGovernToiken (M) = {
308- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
309- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
310- let g = (toBase58String(a.caller.bytes) + "_Earnings")
311- let s = assetBalance(this, d)
312- let t = {
313- let j = getInteger(this, "StakeBalance")
314- if ($isInstanceOf(j, "Int"))
315- then {
316- let k = j
317- k
318- }
319- else 0
320- }
321- let u = (s - t)
322- let v = {
323- let j = getInteger(this, "PrizeHeight")
324- if ($isInstanceOf(j, "Int"))
325- then {
326- let k = j
327- k
328- }
329- else 0
330- }
331- let w = if (if ((v == 0))
332- then (u != 0)
333- else false)
334- then height
335- else if (if ((v != 0))
336- then (u == 0)
337- else false)
338- then 0
339- else v
340- let r = toBase58String(a.caller.bytes)
341- let x = {
342- let j = getInteger(this, g)
343- if ($isInstanceOf(j, "Int"))
344- then {
345- let k = j
346- k
347- }
348- else 0
349- }
350- let N = (x - M)
351- if ((0 > M))
352- then throw("Can't withdraw negative amount")
353- else if ((0 > N))
354- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((x / 100000000))))
355- else {
356- let O = assetBalance(this, e)
357- ScriptResult(WriteSet([DataEntry(g, N), DataEntry("FundBox", u), DataEntry("PrizeHeight", w)]), TransferSet([ScriptTransfer(a.caller, M, e)]))
358- }
359- }
360-
361-
362-
363-@Callable(a)
364-func delayprize () = {
365- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
366- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
367- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
368- let P = assetBalance(Address(a.caller.bytes), e)
369- let s = assetBalance(this, d)
370- let t = {
371- let j = getInteger(this, "StakeBalance")
372- if ($isInstanceOf(j, "Int"))
373- then {
374- let k = j
375- k
376- }
377- else 0
378- }
379- let u = (s - t)
380- let v = {
381- let j = getInteger(this, "PrizeHeight")
382- if ($isInstanceOf(j, "Int"))
383- then {
384- let k = j
385- k
386- }
387- else 0
388- }
389- let w = if (if ((v == 0))
390- then (u != 0)
391- else false)
392- then height
393- else if (if ((v != 0))
394- then (u == 0)
395- else false)
396- then 0
397- else v
398- let y = {
399- let j = getInteger(this, "Delay")
400- if ($isInstanceOf(j, "Int"))
401- then {
402- let k = j
403- k
404- }
405- else 0
406- }
407- let Q = {
408- let j = getInteger(this, "DelayCost")
409- if ($isInstanceOf(j, "Int"))
410- then {
411- let k = j
412- k
413- }
414- else 10
415- }
416- let q = extract(a.payment)
417- if (if (isDefined(q.assetId))
418- then (extract(q.assetId) == e)
419- else false)
420- then {
421- let R = q.amount
422- let S = if ((Q == 0))
423- then 1000000000
424- else (2 * Q)
425- if ((R >= S))
426- then {
427- let T = (y + 10)
428- WriteSet([DataEntry("Delay", T), DataEntry("DelayCost", S), DataEntry("FundBox", u), DataEntry("PrizeHeight", height)])
429- }
430- else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(S)) + "TROIKAs"))
431- }
432- else throw("Can Use only Govern Token to Delay Reward")
433- }
434-
435-
436-
437-@Callable(a)
438-func ClaimPrize () = {
439- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
440- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
441- let f = (toBase58String(a.caller.bytes) + "_Staking")
442- let g = (toBase58String(a.caller.bytes) + "_Push")
443- let O = assetBalance(this, e)
444- let s = assetBalance(this, d)
445- let t = {
446- let j = getInteger(this, "StakeBalance")
447- if ($isInstanceOf(j, "Int"))
448- then {
449- let k = j
450- k
451- }
452- else 0
453- }
454- let u = (s - t)
455- let R = {
456- let j = getInteger(this, g)
457- if ($isInstanceOf(j, "Int"))
458- then {
459- let k = j
460- k
461- }
462- else 0
463- }
464- let U = {
465- let j = getInteger(this, f)
466- if ($isInstanceOf(j, "Int"))
467- then {
468- let k = j
469- k
470- }
471- else 0
472- }
473- let y = {
474- let j = getInteger(this, "Delay")
475- if ($isInstanceOf(j, "Int"))
476- then {
477- let k = j
478- k
479- }
480- else 0
481- }
482- let b = "GovernTokenMaxDeposit"
483- let c = "MaxGovernTokenDepositerKey"
484- let V = getStringValue(this, c)
485- let W = {
486- let j = getInteger(this, "PrizeHeight")
487- if ($isInstanceOf(j, "Int"))
488- then {
489- let k = j
490- k
491- }
492- else 0
493- }
494- let i = {
495- let j = getInteger(this, b)
496- if ($isInstanceOf(j, "Int"))
497- then {
498- let k = j
499- k
500- }
501- else 0
502- }
503- if (if ((u == 0))
504- then true
505- else (10000000000 > O))
506- then throw("No prize to Claim or No enough Govern Token en Contract (Min 100 Troika)")
507- else if ((g != V))
508- then throw("You are not the winner hence cannot claim the reward ")
509- else if ((1 > U))
510- then throw(("You have to Stake StakedToken to claim reward
511- Your Balance of Staked Tokens is: " + toString(U)))
512- else if (if (if ((R >= 10000000000))
513- then (height >= (W + y))
514- else false)
515- then (height > 0)
516- else false)
517- then if ((R >= i))
518- then ScriptResult(WriteSet([DataEntry(V, u), DataEntry("FundBox", 0), DataEntry(b, 0), DataEntry(g, 0), DataEntry(c, ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0), DataEntry("LastWinner", V), DataEntry("LastPrize", u)]), TransferSet([ScriptTransfer(a.caller, u, d), ScriptTransfer(a.caller, 1000000000, e)]))
519- else throw((("You should deposit at least " + toString(i)) + " to be able to claim reward"))
520- else throw(((((((("You have to deposit 100 GovernToken to claim Reward
521- Your Balance is: " + toString(R)) + "
522- Deposit done at: ") + toString(W)) + " And wait:") + toString((W + y))) + "And Height is:") + toString(height)))
523231 }
524232
525233
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
7-func ReadPoolData () = {
8- let b = "GovernTokenMaxDeposit"
9- let c = "MaxGovernTokenDepositerKey"
10- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
11- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
12- let f = ((toBase58String(a.caller.bytes) + "_") + toBase58String(d))
13- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
14- let h = getStringValue(this, c)
15- let i = {
16- let j = getInteger(this, b)
17- if ($isInstanceOf(j, "Int"))
18- then {
19- let k = j
20- k
21- }
22- else 0
23- }
24- let l = getStringValue(this, g)
25- let m = {
26- let j = getInteger(this, g)
27- if ($isInstanceOf(j, "Int"))
28- then {
29- let k = j
30- k
31- }
32- else 0
33- }
34- let n = getStringValue(this, f)
35- let o = {
36- let j = getInteger(this, f)
37- if ($isInstanceOf(j, "Int"))
38- then {
39- let k = j
40- k
41- }
42- else 0
43- }
44- throw(((((((("Winner is.....: " + h) + " Balance is: ") + toString(i)) + "
45-Staked Token in your Balance is.....: ") + toString(o)) + "
46-Govern Token in your Balance is.....: ") + toString(m)))
47- }
48-
49-
50-
51-@Callable(a)
52-func ResetAccount () = {
53- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
54- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
55- let f = (toBase58String(a.caller.bytes) + "_Staking")
56- let g = (toBase58String(a.caller.bytes) + "_Earnings")
57- let p = (toBase58String(a.caller.bytes) + "_StakedTransactions")
58- WriteSet([DataEntry(g, 0), DataEntry(f, 0), DataEntry(p, 0), DataEntry("DelayCost", 0), DataEntry("Delay", 0), DataEntry("StakeBalance", 0), DataEntry("PrizeHeight", 0), DataEntry("FundBox", 0)])
59- }
60-
61-
62-
63-@Callable(a)
647 func PushReward () = {
65- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
66- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
67- let q = extract(a.payment)
68- let r = (toBase58String(a.caller.bytes) + "_Push")
69- let s = assetBalance(this, d)
70- let t = {
71- let j = getInteger(this, "StakeBalance")
72- if ($isInstanceOf(j, "Int"))
73- then {
74- let k = j
75- k
76- }
77- else 0
78- }
79- let u = (s - t)
80- let v = {
81- let j = getInteger(this, "PrizeHeight")
82- if ($isInstanceOf(j, "Int"))
83- then {
84- let k = j
85- k
86- }
87- else 0
88- }
89- let w = if (if ((v == 0))
90- then (u != 0)
91- else false)
92- then height
93- else if (if ((v != 0))
94- then (u == 0)
95- else false)
96- then 0
97- else v
98- if (if ((q.amount > 0))
99- then (q.assetId == e)
8+ let b = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
9+ let c = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
10+ let d = 10
11+ let e = 7
12+ let f = 20
13+ let g = extract(a.payment)
14+ if (if ((g.amount > 0))
15+ then (g.assetId == c)
10016 else false)
10117 then {
102- let b = "GovernTokenMaxDeposit"
103- let c = "MaxGovernTokenDepositerKey"
104- let i = {
105- let j = getInteger(this, b)
106- if ($isInstanceOf(j, "Int"))
18+ let h = (toBase58String(a.caller.bytes) + "_Push")
19+ let i = (toBase58String(a.caller.bytes) + "_UserLastPushBlock")
20+ let j = (toBase58String(a.caller.bytes) + "_UserLastStakeBlock")
21+ let k = (toBase58String(a.caller.bytes) + "_Staking")
22+ let l = assetBalance(this, b)
23+ let m = {
24+ let n = getInteger(this, "StakeBalance")
25+ if ($isInstanceOf(n, "Int"))
10726 then {
108- let k = j
109- k
27+ let o = n
28+ o
29+ }
30+ else 0
31+ }
32+ let p = (l - m)
33+ let q = {
34+ let n = getInteger(this, "PrizeHeight")
35+ if ($isInstanceOf(n, "Int"))
36+ then {
37+ let o = n
38+ o
39+ }
40+ else 0
41+ }
42+ let r = if (if ((q == 0))
43+ then (p == 0)
44+ else false)
45+ then 0
46+ else if (if ((q == 0))
47+ then (p != 0)
48+ else false)
49+ then height
50+ else if (if ((q != 0))
51+ then (p != 0)
52+ else false)
53+ then q
54+ else 0
55+ let s = {
56+ let n = getInteger(this, "HighestPush")
57+ if ($isInstanceOf(n, "Int"))
58+ then {
59+ let o = n
60+ o
61+ }
62+ else 0
63+ }
64+ let t = {
65+ let n = getInteger(this, h)
66+ if ($isInstanceOf(n, "Int"))
67+ then {
68+ let o = n
69+ o
70+ }
71+ else 0
72+ }
73+ let u = {
74+ let n = getInteger(this, "Delay")
75+ if ($isInstanceOf(n, "Int"))
76+ then {
77+ let o = n
78+ o
79+ }
80+ else 0
81+ }
82+ let v = (u + f)
83+ let w = {
84+ let n = getInteger(this, "HighestPushAddress")
85+ if ($isInstanceOf(n, "Int"))
86+ then {
87+ let o = n
88+ o
11089 }
11190 else 0
11291 }
11392 let x = {
114- let j = getInteger(this, r)
115- if ($isInstanceOf(j, "Int"))
93+ let n = getInteger(this, i)
94+ if ($isInstanceOf(n, "Int"))
11695 then {
117- let k = j
118- k
96+ let o = n
97+ o
11998 }
12099 else 0
121100 }
122101 let y = {
123- let j = getInteger(this, "Delay")
124- if ($isInstanceOf(j, "Int"))
102+ let n = getInteger(this, j)
103+ if ($isInstanceOf(n, "Int"))
125104 then {
126- let k = j
127- k
105+ let o = n
106+ o
128107 }
129108 else 0
130109 }
131- let z = q.amount
132- if (if (if (if ((c != ""))
133- then ((v + y) > height)
110+ let z = {
111+ let n = getInteger(this, k)
112+ if ($isInstanceOf(n, "Int"))
113+ then {
114+ let o = n
115+ o
116+ }
117+ else 0
118+ }
119+ let A = (g.amount + t)
120+ if (if (if (if (if ((A > 0))
121+ then ((height - y) > (1440 * e))
134122 else false)
135- then (height > 0)
123+ then ((height - x) > d)
136124 else false)
137- then true
138- else if ((c != ""))
139- then (height > ((v + y) + 10))
140- else false)
141- then if ((z > i))
142- then WriteSet([DataEntry(r, z), DataEntry(b, z), DataEntry(c, r), DataEntry("FundBox", u), DataEntry("PrizeHeight", height), DataEntry("Delay", 5)])
143- else throw((("You have to deposit more than " + toString((i / 100000000))) + " Troika"))
144- else throw("You cannot claim reward, a winner has already been designated")
125+ then (A > s)
126+ else false)
127+ then (z > 0)
128+ else false)
129+ then WriteSet([DataEntry(h, A), DataEntry("HighestPushAddress", toBase58String(a.caller.bytes)), DataEntry("HighestPush", A), DataEntry("PrizeHeight", height), DataEntry("Delay", v)])
130+ else throw((("Your Push dot not comply one of the following conditions: " + "
131+ 1. Positive Value
132+ 2. Must Staked ASIMI Token for a minimum of week
133+ ") + "3. Should be Higher than last Highest Push
134+ 4. Should wait required time between Pushes"))
145135 }
146136 else throw("Can deposit only StakeToken")
147137 }
148138
149139
150140
151141 @Callable(a)
152142 func Stake () = {
153- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
154- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
155- let A = assetBalance(this, e)
156- let B = (toBase58String(a.caller.bytes) + "_APY")
157- let q = extract(a.payment)
158- if (if ((q.amount > 0))
159- then (q.assetId == d)
143+ let b = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
144+ let c = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
145+ let B = assetBalance(this, c)
146+ let C = (toBase58String(a.caller.bytes) + "_APY")
147+ let g = extract(a.payment)
148+ if (if ((g.amount > 0))
149+ then (g.assetId == b)
160150 else false)
161151 then {
162- let f = (toBase58String(a.caller.bytes) + "_Staking")
163- let g = (toBase58String(a.caller.bytes) + "_Earnings")
164- let p = (toBase58String(a.caller.bytes) + "_StakedTransactions")
165- let C = (toBase58String(a.caller.bytes) + "_PrizeHeight")
166- let D = {
167- let j = getInteger(this, p)
168- if ($isInstanceOf(j, "Int"))
152+ let D = (toBase58String(a.caller.bytes) + "_Staking")
153+ let E = (toBase58String(a.caller.bytes) + "_Earnings")
154+ let F = (toBase58String(a.caller.bytes) + "_StakedTransactions")
155+ let G = (toBase58String(a.caller.bytes) + "_PrizeHeight")
156+ let H = {
157+ let n = getInteger(this, F)
158+ if ($isInstanceOf(n, "Int"))
169159 then {
170- let k = j
171- k
160+ let o = n
161+ o
172162 }
173163 else 0
174164 }
175- let E = (D + 1)
176- let F = {
177- let j = getInteger(this, f)
178- if ($isInstanceOf(j, "Int"))
165+ let I = (H + 1)
166+ let J = {
167+ let n = getInteger(this, D)
168+ if ($isInstanceOf(n, "Int"))
179169 then {
180- let k = j
181- k
170+ let o = n
171+ o
182172 }
183173 else 0
184174 }
185- let G = (F + q.amount)
186- let s = assetBalance(this, d)
187- let t = {
188- let j = getInteger(this, "StakeBalance")
189- if ($isInstanceOf(j, "Int"))
175+ let K = (J + g.amount)
176+ let l = assetBalance(this, b)
177+ let m = {
178+ let n = getInteger(this, "StakeBalance")
179+ if ($isInstanceOf(n, "Int"))
190180 then {
191- let k = j
192- k
181+ let o = n
182+ o
193183 }
194184 else 0
195185 }
196- let H = (t + q.amount)
197- let u = (s - t)
198- let I = {
199- let j = getInteger(this, g)
200- if ($isInstanceOf(j, "Int"))
186+ let L = (m + g.amount)
187+ let p = (l - m)
188+ let M = {
189+ let n = getInteger(this, E)
190+ if ($isInstanceOf(n, "Int"))
201191 then {
202- let k = j
203- k
192+ let o = n
193+ o
204194 }
205195 else 0
206196 }
207- let v = {
208- let j = getInteger(this, "PrizeHeight")
209- if ($isInstanceOf(j, "Int"))
197+ let q = {
198+ let n = getInteger(this, "PrizeHeight")
199+ if ($isInstanceOf(n, "Int"))
210200 then {
211- let k = j
212- k
201+ let o = n
202+ o
213203 }
214204 else 0
215205 }
216- let w = if (if ((v == 0))
217- then (u != 0)
206+ let r = if (if ((q == 0))
207+ then (p != 0)
218208 else false)
219209 then height
220- else if (if ((v != 0))
221- then (u == 0)
210+ else if (if ((q != 0))
211+ then (p == 0)
222212 else false)
223213 then 0
224- else v
225- if ((100000000 > A))
214+ else q
215+ if ((100000000 > B))
226216 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
227217 else {
228- let J = if ((t == 0))
218+ let N = if ((m == 0))
229219 then 10000
230- else if ((E > 10))
231- then ((10000 * E) * (1 + (G / t)))
232- else (10000 * (1 + (G / t)))
233- let K = if ((I > 0))
234- then ((100 * J) / I)
220+ else if ((I > 10))
221+ then ((10000 * I) * (1 + (K / m)))
222+ else (10000 * (1 + (K / m)))
223+ let O = if ((M > 0))
224+ then ((100 * N) / M)
235225 else 0
236- let L = (I + J)
237- ScriptResult(WriteSet([DataEntry(g, L), DataEntry(f, G), DataEntry(p, E), DataEntry("StakeBalance", H), DataEntry("FundBox", u), DataEntry("PrizeHeight", w), DataEntry(B, K)]), TransferSet([ScriptTransfer(a.caller, J, e)]))
226+ let P = (M + N)
227+ ScriptResult(WriteSet([DataEntry(E, P), DataEntry(D, K), DataEntry(F, I), DataEntry("StakeBalance", L), DataEntry("FundBox", p), DataEntry("PrizeHeight", r), DataEntry(C, O)]), TransferSet([ScriptTransfer(a.caller, N, c)]))
238228 }
239229 }
240230 else throw("Can deposit only StakeToken")
241- }
242-
243-
244-
245-@Callable(a)
246-func WithdrawStakedFunds (M) = {
247- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
248- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
249- let f = (toBase58String(a.caller.bytes) + "_Staking")
250- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
251- let s = assetBalance(this, d)
252- let t = {
253- let j = getInteger(this, "StakeBalance")
254- if ($isInstanceOf(j, "Int"))
255- then {
256- let k = j
257- k
258- }
259- else 0
260- }
261- let u = (s - t)
262- let v = {
263- let j = getInteger(this, "PrizeHeight")
264- if ($isInstanceOf(j, "Int"))
265- then {
266- let k = j
267- k
268- }
269- else 0
270- }
271- let w = if (if ((v == 0))
272- then (u != 0)
273- else false)
274- then height
275- else if (if ((v != 0))
276- then (u == 0)
277- else false)
278- then 0
279- else v
280- let r = toBase58String(a.caller.bytes)
281- let x = {
282- let j = getInteger(this, f)
283- if ($isInstanceOf(j, "Int"))
284- then {
285- let k = j
286- k
287- }
288- else 0
289- }
290- let N = (x - M)
291- let H = (t - M)
292- if ((0 > M))
293- then throw("Can't withdraw negative amount")
294- else if ((0 > N))
295- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((x / 100000000))))
296- else {
297- let O = assetBalance(this, e)
298- if ((1 > O))
299- then throw("No enough GovernToken In Contract")
300- else ScriptResult(WriteSet([DataEntry(g, 100000000), DataEntry(f, N), DataEntry("StakeBalance", H), DataEntry("FundBox", u), DataEntry("PrizeHeight", w)]), TransferSet([ScriptTransfer(a.caller, 100000000, e), ScriptTransfer(a.caller, M, d)]))
301- }
302- }
303-
304-
305-
306-@Callable(a)
307-func HarvestGovernToiken (M) = {
308- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
309- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
310- let g = (toBase58String(a.caller.bytes) + "_Earnings")
311- let s = assetBalance(this, d)
312- let t = {
313- let j = getInteger(this, "StakeBalance")
314- if ($isInstanceOf(j, "Int"))
315- then {
316- let k = j
317- k
318- }
319- else 0
320- }
321- let u = (s - t)
322- let v = {
323- let j = getInteger(this, "PrizeHeight")
324- if ($isInstanceOf(j, "Int"))
325- then {
326- let k = j
327- k
328- }
329- else 0
330- }
331- let w = if (if ((v == 0))
332- then (u != 0)
333- else false)
334- then height
335- else if (if ((v != 0))
336- then (u == 0)
337- else false)
338- then 0
339- else v
340- let r = toBase58String(a.caller.bytes)
341- let x = {
342- let j = getInteger(this, g)
343- if ($isInstanceOf(j, "Int"))
344- then {
345- let k = j
346- k
347- }
348- else 0
349- }
350- let N = (x - M)
351- if ((0 > M))
352- then throw("Can't withdraw negative amount")
353- else if ((0 > N))
354- then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((x / 100000000))))
355- else {
356- let O = assetBalance(this, e)
357- ScriptResult(WriteSet([DataEntry(g, N), DataEntry("FundBox", u), DataEntry("PrizeHeight", w)]), TransferSet([ScriptTransfer(a.caller, M, e)]))
358- }
359- }
360-
361-
362-
363-@Callable(a)
364-func delayprize () = {
365- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
366- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
367- let g = ((toBase58String(a.caller.bytes) + "_") + toBase58String(e))
368- let P = assetBalance(Address(a.caller.bytes), e)
369- let s = assetBalance(this, d)
370- let t = {
371- let j = getInteger(this, "StakeBalance")
372- if ($isInstanceOf(j, "Int"))
373- then {
374- let k = j
375- k
376- }
377- else 0
378- }
379- let u = (s - t)
380- let v = {
381- let j = getInteger(this, "PrizeHeight")
382- if ($isInstanceOf(j, "Int"))
383- then {
384- let k = j
385- k
386- }
387- else 0
388- }
389- let w = if (if ((v == 0))
390- then (u != 0)
391- else false)
392- then height
393- else if (if ((v != 0))
394- then (u == 0)
395- else false)
396- then 0
397- else v
398- let y = {
399- let j = getInteger(this, "Delay")
400- if ($isInstanceOf(j, "Int"))
401- then {
402- let k = j
403- k
404- }
405- else 0
406- }
407- let Q = {
408- let j = getInteger(this, "DelayCost")
409- if ($isInstanceOf(j, "Int"))
410- then {
411- let k = j
412- k
413- }
414- else 10
415- }
416- let q = extract(a.payment)
417- if (if (isDefined(q.assetId))
418- then (extract(q.assetId) == e)
419- else false)
420- then {
421- let R = q.amount
422- let S = if ((Q == 0))
423- then 1000000000
424- else (2 * Q)
425- if ((R >= S))
426- then {
427- let T = (y + 10)
428- WriteSet([DataEntry("Delay", T), DataEntry("DelayCost", S), DataEntry("FundBox", u), DataEntry("PrizeHeight", height)])
429- }
430- else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(S)) + "TROIKAs"))
431- }
432- else throw("Can Use only Govern Token to Delay Reward")
433- }
434-
435-
436-
437-@Callable(a)
438-func ClaimPrize () = {
439- let d = base58'DEjmrvdViZH7trtuAqaKQFjNjfbK6D7yMHm18UQ8Hj21'
440- let e = base58'27RauQwTvdbcPqeFkzoTf5WPt3HtEAmRDVxprWUNp6bA'
441- let f = (toBase58String(a.caller.bytes) + "_Staking")
442- let g = (toBase58String(a.caller.bytes) + "_Push")
443- let O = assetBalance(this, e)
444- let s = assetBalance(this, d)
445- let t = {
446- let j = getInteger(this, "StakeBalance")
447- if ($isInstanceOf(j, "Int"))
448- then {
449- let k = j
450- k
451- }
452- else 0
453- }
454- let u = (s - t)
455- let R = {
456- let j = getInteger(this, g)
457- if ($isInstanceOf(j, "Int"))
458- then {
459- let k = j
460- k
461- }
462- else 0
463- }
464- let U = {
465- let j = getInteger(this, f)
466- if ($isInstanceOf(j, "Int"))
467- then {
468- let k = j
469- k
470- }
471- else 0
472- }
473- let y = {
474- let j = getInteger(this, "Delay")
475- if ($isInstanceOf(j, "Int"))
476- then {
477- let k = j
478- k
479- }
480- else 0
481- }
482- let b = "GovernTokenMaxDeposit"
483- let c = "MaxGovernTokenDepositerKey"
484- let V = getStringValue(this, c)
485- let W = {
486- let j = getInteger(this, "PrizeHeight")
487- if ($isInstanceOf(j, "Int"))
488- then {
489- let k = j
490- k
491- }
492- else 0
493- }
494- let i = {
495- let j = getInteger(this, b)
496- if ($isInstanceOf(j, "Int"))
497- then {
498- let k = j
499- k
500- }
501- else 0
502- }
503- if (if ((u == 0))
504- then true
505- else (10000000000 > O))
506- then throw("No prize to Claim or No enough Govern Token en Contract (Min 100 Troika)")
507- else if ((g != V))
508- then throw("You are not the winner hence cannot claim the reward ")
509- else if ((1 > U))
510- then throw(("You have to Stake StakedToken to claim reward
511- Your Balance of Staked Tokens is: " + toString(U)))
512- else if (if (if ((R >= 10000000000))
513- then (height >= (W + y))
514- else false)
515- then (height > 0)
516- else false)
517- then if ((R >= i))
518- then ScriptResult(WriteSet([DataEntry(V, u), DataEntry("FundBox", 0), DataEntry(b, 0), DataEntry(g, 0), DataEntry(c, ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0), DataEntry("LastWinner", V), DataEntry("LastPrize", u)]), TransferSet([ScriptTransfer(a.caller, u, d), ScriptTransfer(a.caller, 1000000000, e)]))
519- else throw((("You should deposit at least " + toString(i)) + " to be able to claim reward"))
520- else throw(((((((("You have to deposit 100 GovernToken to claim Reward
521- Your Balance is: " + toString(R)) + "
522- Deposit done at: ") + toString(W)) + " And wait:") + toString((W + y))) + "And Height is:") + toString(height)))
523231 }
524232
525233

github/deemru/w8io/873ac7e 
68.80 ms