tx · GauJka1u721W5YrNwy9Vi1B21WGUyV2sKoyUYasuS3xo

3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2:  -0.01400000 Waves

2021.08.30 01:51 [2745171] smart account 3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2 > SELF 0.00000000 Waves

{ "type": 13, "id": "GauJka1u721W5YrNwy9Vi1B21WGUyV2sKoyUYasuS3xo", "fee": 1400000, "feeAssetId": null, "timestamp": 1630277493033, "version": 2, "chainId": 87, "sender": "3PEZngxRNSDEJz2MiNUG3jAVBhhVFTNFQz2", "senderPublicKey": "8HhthX4cRpH5QMaK46KDBbQZhK75SQZYUjJZzBwHkaTK", "proofs": [ "5LcTKU4RPfUnqRC5wrjMzfyStbuSy7PG8hucTFtpBsndN3HgCp2AtPfiXwhhxuEa8EwXav5b3cru2iaibUpDkST2" ], "script": "base64:AAIFAAAAAAAAADMIAhIECgIIARIDCgEEEgASAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgAAAAcAAAAAAhtQWNjUEtleQEAAAAgD3csaoTE7s0q+LUFTqhxhL0WVCTh231y++NV3LUuGBIAAAAACG1BY2NBZGRyCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAhtQWNjUEtleQAAAAAKZmVlUGVyY2VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAIbUFjY0FkZHIJAAEsAAAAAgkAASwAAAACAgAAAAJmXwkABCUAAAABBQAAAAR0aGlzAgAAAARfZmVlAAAAAA9rVG90YWxMaXF1aWRpdHkCAAAAD3RvdGFsX2xpcXVpZGl0eQAAAAAMa0luaXRpYWxpemVkAgAAAAtJTklUSUFMSVpFRAAAAAATa0xpcXVpZGl0eVRocmVzaG9sZAIAAAATTElRVUlESVRZX1RIUkVTSE9MRAAAAAARa0Zhcm1QYXJ0aWNpcGFudHMCAAAAEWZhcm1fcGFydGljaXBhbnRzAAAAABFrVG90YWxTaGFyZVRva2VucwIAAAASdG90YWxfc2hhcmVfdG9rZW5zAAAAAA1rU2hhcmVBc3NldElkAgAAAA5TSEFSRV9BU1NFVF9JRAAAAAAOa0luY3ViYXRvckRhcHACAAAADklOQ1VCQVRPUl9EQVBQAAAAAAxrQnJlZWRlckRhcHACAAAADEJSRUVERVJfREFQUAAAAAAMa0Zhcm1pbmdEYXBwAgAAAAxGQVJNSU5HX0RBUFAAAAAAEGtNYXJrZXRQcm94eURhcHACAAAAFk1BUktFVFBMQUNFX1BST1hZX0RBUFAAAAAADGtBdWN0aW9uRGFwcAIAAAAMQVVDVElPTl9EQVBQAAAAAAdrTG9ja2VkAgAAAAZMT0NLRUQAAAAAE2tUb3RhbEZhcm1pbmdSZXdhcmQCAAAAFHRvdGFsX2Zhcm1pbmdfcmV3YXJkAAAAABBrQ2VvQ29sbGVjdGVkRmVlAgAAABFjZW9fY29sbGVjdGVkX2ZlZQAAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwCAAAAD2Nlb19mZWVfb3ZlcmFsbAAAAAAIa1RvRGlzdHICAAAADXRvX2Rpc3Ry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YXJtUGFydGljaXBhbnRzBAAAAA1rUGFydGljaXBhdGVkCQABLAAAAAIJAAEsAAAAAgIAAAAIYWNjb3VudF8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAA1fcGFydGljaXBhdGVkBAAAABNhbHJlYWR5UGFydGljaXBhdGVkCQEAAAAHZ2V0Qm9vbAAAAAEFAAAADWtQYXJ0aWNpcGF0ZWQEAAAAE25ld0Zhcm1QYXJ0aWNpcGFudHMDCQAAAAAAAAIFAAAAE2FscmVhZHlQYXJ0aWNpcGF0ZWQFAAAABHVuaXQJAABkAAAAAgUAAAAQZmFybVBhcnRpY2lwYW50cwAAAAAAAAAAAQUAAAAQZmFybVBhcnRpY2lwYW50cwkABEwAAAACBQAAAAdyZWlzc3VlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAARc2hhcmVUb2tlbnNUb0dpdmUFAAAADXNoYXJlVG9rZW5zSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtUb3RhbFNoYXJlVG9rZW5zCQAAZAAAAAIFAAAAEHRvdGFsU2hhcmVUb2tlbnMFAAAAEXNoYXJlVG9rZW5zVG9HaXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rVG90YWxMaXF1aWRpdHkJAABkAAAAAgUAAAAOdG90YWxMaXF1aWRpdHkJAQAAAAV2YWx1ZQAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa0Zhcm1QYXJ0aWNpcGFudHMFAAAAE25ld0Zhcm1QYXJ0aWNpcGFudHMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAADWtQYXJ0aWNpcGF0ZWQGBQAAAANuaWwAAAABaQEAAAAXY2xhaW1GYXJtaW5nUmV3YXJkUHJveHkAAAABAAAAA2lkcwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAIbUFjY1BLZXkJAAACAAAAAQIAAAADXzIzBAAAAAtmYXJtaW5nRGFw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AgUAAAANJGFjYzg0ODk2NDkyOAkAAZEAAAACBQAAAA0kbGlzdDQ4OTY0OTI4AAAAAAAAAAAIAwkAAAAAAAACBQAAAA0kc2l6ZTQ4OTY0OTI4AAAAAAAAAAAJBQAAAA0kYWNjOTQ4OTY0OTI4BAAAAA4kYWNjMTA0ODk2NDkyOAkBAAAAC2NsYWltUmV3YXJkAAAAAgUAAAANJGFjYzk0ODk2NDkyOAkAAZEAAAACBQAAAA0kbGlzdDQ4OTY0OTI4AAAAAAAAAAAJAwkAAAAAAAACBQAAAA0kc2l6ZTQ4OTY0OTI4AAAAAAAAAAAKBQAAAA4kYWNjMTA0ODk2NDkyOAQAAAAOJGFjYzExNDg5NjQ5MjgJAQAAAAtjbGFpbVJld2FyZAAAAAIFAAAADiRhY2MxMDQ4OTY0OTI4CQABkQAAAAIFAAAADSRsaXN0NDg5NjQ5MjgAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAANY2xhaW1lZFJld2FyZAQAAAAHJG1hdGNoMAUAAAAKZm9sZFJlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAJAABoAAAAAgUAAAADaW50AAAAAAAAD0JACQAAAgAAAAECAAAAAl82BAAAAA5mYXJtQ2VvRmVlU2l6ZQkAAGsAAAADBQAAAA1jbGFpbWVkUmV3YXJkBQAAAApmZWVQZXJjZW50AAAAAAAAAABkBAAAAAd0b0Rpc3RyCQEAAAAGZ2V0SW50AAAAAQUAAAAIa1RvRGlzdHIEAAAAEnRvdGFsRmFybWluZ1Jld2FyZAkBAAAABmdldEludAAAAAEFAAAAE2tUb3RhbEZhcm1pbmdSZXdhcmQEAAAADWN1cnJlbnRDZW9GZWUJAQAAAAZnZXRJbnQAAAABBQAAABBrQ2VvQ29sbGVjdGVkRmVlBAAAAA1jZW9GZWVPdmVyYWxsCQEAAAAGZ2V0SW50AAAAAQUAAAAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2tUb3RhbEZhcm1pbmdSZXdhcmQJAABlAAAAAgkAAGQAAAACBQAAABJ0b3RhbEZhcm1pbmdSZXdhcmQF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RmVlT3ZlcmFsbAQAAAAOZmFybUNlb0ZlZVNpemUJAABrAAAAAwUAAAARdW5zdGFrZWRSZXdhcmROb3cFAAAACmZlZVBlcmNlbnQAAAAAAAAAAGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtDZW9Db2xsZWN0ZWRGZWUJAABkAAAAAgUAAAANY3VycmVudENlb0ZlZQUAAAAOZmFybUNlb0ZlZVNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsCQAAZAAAAAIFAAAADWNlb0ZlZU92ZXJhbGwFAAAADmZhcm1DZW9GZWVTaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rVW5zdGFrZWRSZXdhcmQFAAAAEW5ld1Vuc3Rha2VkUmV3YXJkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADnJldmVydFRyYW5zZmVyAAAAAQAAAAR0eElkAwkAAAAAAAACCQEAAAAHZ2V0Qm9vbAAAAAEFAAAAB2tMb2NrZWQGCQAAAgAAAAECAAAAFkNvbnRyYWN0IGlzIGxvY2tlZCBub3cDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAhQ2FuIGJlIGNhbGxlZCBvbmx5IGJ5IHRoZSBhY2NvdW50BAAAAAJ0eAkBAAAABXZhbHVlAAAAAQkAA+4AAAABCQACWQAAAAEFAAAABHR4SWQEAAAACWtSZXZlcnRlZAkAASwAAAACAgAAAAp0eF9yZXZlcnRfBQAAAAR0eElkBAAAAAp0eFJldmVydGVkCQEAAAAHZ2V0Qm9vbAAAAAEFAAAACWtSZXZlcnRlZAQAAAARdW5zdGFrZWRSZXdhcmROb3cJAQAAAAZnZXRJbnQAAAABBQAAAA9rVW5zdGFrZWRSZXdhcmQEAAAAB3RvRGlzdHIJAQAAAAZnZXRJbnQAAAABBQAAAAhrVG9EaXN0cgQAAAAKbWluQmFsYW5jZQkAAGQAAAACBQAAABF1bnN0YWtlZFJld2FyZE5vdwUAAAAHdG9EaXN0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Y2MxMTk3MzI5Nzc5CQEAAAAOcHJvY2Vzc0FkZHJlc3MAAAACBQAAAA4kYWNjMTA5NzMyOTc3OQkAAZEAAAACBQAAAA0kbGlzdDk3MzI5Nzc5AAAAAAAAAAAKAwkAAAAAAAACBQAAAA0kc2l6ZTk3MzI5Nzc5AAAAAAAAAAALBQAAAA4kYWNjMTE5NzMyOTc3OQQAAAAOJGFjYzEyOTczMjk3NzkJAQAAAA5wcm9jZXNzQWRkcmVzcwAAAAIFAAAADiRhY2MxMTk3MzI5Nzc5CQABkQAAAAIFAAAADSRsaXN0OTczMjk3NzkAAAAAAAAAAAsDCQAAAAAAAAIFAAAADSRzaXplOTczMjk3NzkAAAAAAAAAAAwFAAAADiRhY2MxMjk3MzI5Nzc5BAAAAA4kYWNjMTM5NzMyOTc3OQkBAAAADnByb2Nlc3NBZGRyZXNzAAAAAgUAAAAOJGFjYzEyOTczMjk3NzkJAAGRAAAAAgUAAAANJGxpc3Q5NzMyOTc3OQAAAAAAAAAADAMJAAAAAAAAAgUAAAANJHNpemU5NzMyOTc3OQAAAAAAAAAADQUAAAAOJGFjYzEzOTczMjk3NzkEAAAADiRhY2MxNDk3MzI5Nzc5CQEAAAAOcHJvY2Vzc0FkZHJlc3MAAAACBQAAAA4kYWNjMTM5NzMyOTc3OQkAAZEAAAACBQAAAA0kbGlzdDk3MzI5Nzc5AAAAAAAAAAANAwkAAAAAAAACBQAAAA0kc2l6ZTk3MzI5Nzc5AAAAAAAAAAAOBQAAAA4kYWNjMTQ5NzMyOTc3OQQAAAAOJGFjYzE1OTczMjk3NzkJAQAAAA5wcm9jZXNzQWRkcmVzcwAAAAIFAAAADiRhY2MxNDk3MzI5Nzc5CQABkQAAAAIFAAAADSRsaXN0OTczMjk3NzkAAAAAAAAAAA4DCQAAAAAAAAIFAAAADSRzaXplOTczMjk3NzkAAAAAAAAAAA8FAAAADiRhY2MxNTk3MzI5Nzc5BAAAAA4kYWNjMTY5NzMyOTc3OQkBAAAADnByb2Nlc3NBZGRyZXNzAAAAAgUAAAAOJGFjYzE1OTczMjk3NzkJAAGRAAAAAgUAAAANJGxpc3Q5NzMyOTc3OQAAAAAAAAAADwMJAAAAAAAAAgUAAAANJHNpemU5NzMyOTc3OQAAAAAAAAAAEAUAAAAOJGFjYzE2OTcz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", "height": 2745171, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 25pHfzf4V2Mjnp4bcYgoPTssqgmY8apNzcWwtSXdvX35 Next: GAxzbfiNHaQaNHHz877Yf53eox6SuvdbJxaMM79Gc2Hp Diff:
OldNewDifferences
159159
160160 let nftIds = split(ids, ";")
161161 let foldResult = {
162- let $list45704602 = nftIds
163- let $size45704602 = size($list45704602)
164- let $acc045704602 = 0
165- if (($size45704602 == 0))
166- then $acc045704602
162+ let $list48964928 = nftIds
163+ let $size48964928 = size($list48964928)
164+ let $acc048964928 = 0
165+ if (($size48964928 == 0))
166+ then $acc048964928
167167 else {
168- let $acc145704602 = claimReward($acc045704602, $list45704602[0])
169- if (($size45704602 == 1))
170- then $acc145704602
168+ let $acc148964928 = claimReward($acc048964928, $list48964928[0])
169+ if (($size48964928 == 1))
170+ then $acc148964928
171171 else {
172- let $acc245704602 = claimReward($acc145704602, $list45704602[1])
173- if (($size45704602 == 2))
174- then $acc245704602
172+ let $acc248964928 = claimReward($acc148964928, $list48964928[1])
173+ if (($size48964928 == 2))
174+ then $acc248964928
175175 else {
176- let $acc345704602 = claimReward($acc245704602, $list45704602[2])
177- if (($size45704602 == 3))
178- then $acc345704602
176+ let $acc348964928 = claimReward($acc248964928, $list48964928[2])
177+ if (($size48964928 == 3))
178+ then $acc348964928
179179 else {
180- let $acc445704602 = claimReward($acc345704602, $list45704602[3])
181- if (($size45704602 == 4))
182- then $acc445704602
180+ let $acc448964928 = claimReward($acc348964928, $list48964928[3])
181+ if (($size48964928 == 4))
182+ then $acc448964928
183183 else {
184- let $acc545704602 = claimReward($acc445704602, $list45704602[4])
185- if (($size45704602 == 5))
186- then $acc545704602
184+ let $acc548964928 = claimReward($acc448964928, $list48964928[4])
185+ if (($size48964928 == 5))
186+ then $acc548964928
187187 else {
188- let $acc645704602 = claimReward($acc545704602, $list45704602[5])
189- if (($size45704602 == 6))
190- then $acc645704602
188+ let $acc648964928 = claimReward($acc548964928, $list48964928[5])
189+ if (($size48964928 == 6))
190+ then $acc648964928
191191 else {
192- let $acc745704602 = claimReward($acc645704602, $list45704602[6])
193- if (($size45704602 == 7))
194- then $acc745704602
192+ let $acc748964928 = claimReward($acc648964928, $list48964928[6])
193+ if (($size48964928 == 7))
194+ then $acc748964928
195195 else {
196- let $acc845704602 = claimReward($acc745704602, $list45704602[7])
197- if (($size45704602 == 8))
198- then $acc845704602
196+ let $acc848964928 = claimReward($acc748964928, $list48964928[7])
197+ if (($size48964928 == 8))
198+ then $acc848964928
199199 else {
200- let $acc945704602 = claimReward($acc845704602, $list45704602[8])
201- if (($size45704602 == 9))
202- then $acc945704602
200+ let $acc948964928 = claimReward($acc848964928, $list48964928[8])
201+ if (($size48964928 == 9))
202+ then $acc948964928
203203 else {
204- let $acc1045704602 = claimReward($acc945704602, $list45704602[9])
205- if (($size45704602 == 10))
206- then $acc1045704602
204+ let $acc1048964928 = claimReward($acc948964928, $list48964928[9])
205+ if (($size48964928 == 10))
206+ then $acc1048964928
207207 else {
208- let $acc1145704602 = claimReward($acc1045704602, $list45704602[10])
209- if (($size45704602 == 11))
210- then $acc1145704602
211- else {
212- let $acc1245704602 = claimReward($acc1145704602, $list45704602[11])
213- if (($size45704602 == 12))
214- then $acc1245704602
215- else {
216- let $acc1345704602 = claimReward($acc1245704602, $list45704602[12])
217- if (($size45704602 == 13))
218- then $acc1345704602
219- else {
220- let $acc1445704602 = claimReward($acc1345704602, $list45704602[13])
221- if (($size45704602 == 14))
222- then $acc1445704602
223- else {
224- let $acc1545704602 = claimReward($acc1445704602, $list45704602[14])
225- if (($size45704602 == 15))
226- then $acc1545704602
227- else {
228- let $acc1645704602 = claimReward($acc1545704602, $list45704602[15])
229- if (($size45704602 == 16))
230- then $acc1645704602
231- else {
232- let $acc1745704602 = claimReward($acc1645704602, $list45704602[16])
233- if (($size45704602 == 17))
234- then $acc1745704602
235- else {
236- let $acc1845704602 = claimReward($acc1745704602, $list45704602[17])
237- if (($size45704602 == 18))
238- then $acc1845704602
239- else {
240- let $acc1945704602 = claimReward($acc1845704602, $list45704602[18])
241- if (($size45704602 == 19))
242- then $acc1945704602
243- else {
244- let $acc2045704602 = claimReward($acc1945704602, $list45704602[19])
245- if (($size45704602 == 20))
246- then $acc2045704602
247- else {
248- let $acc2145704602 = claimReward($acc2045704602, $list45704602[20])
249- if (($size45704602 == 21))
250- then $acc2145704602
251- else {
252- let $acc2245704602 = claimReward($acc2145704602, $list45704602[21])
253- if (($size45704602 == 22))
254- then $acc2245704602
255- else {
256- let $acc2345704602 = claimReward($acc2245704602, $list45704602[22])
257- if (($size45704602 == 23))
258- then $acc2345704602
259- else {
260- let $acc2445704602 = claimReward($acc2345704602, $list45704602[23])
261- if (($size45704602 == 24))
262- then $acc2445704602
263- else {
264- let $acc2545704602 = claimReward($acc2445704602, $list45704602[24])
265- if (($size45704602 == 25))
266- then $acc2545704602
267- else {
268- let $acc2645704602 = claimReward($acc2545704602, $list45704602[25])
269- if (($size45704602 == 26))
270- then $acc2645704602
271- else {
272- let $acc2745704602 = claimReward($acc2645704602, $list45704602[26])
273- if (($size45704602 == 27))
274- then $acc2745704602
275- else {
276- let $acc2845704602 = claimReward($acc2745704602, $list45704602[27])
277- if (($size45704602 == 28))
278- then $acc2845704602
279- else {
280- let $acc2945704602 = claimReward($acc2845704602, $list45704602[28])
281- if (($size45704602 == 29))
282- then $acc2945704602
283- else {
284- let $acc3045704602 = claimReward($acc2945704602, $list45704602[29])
285- if (($size45704602 == 30))
286- then $acc3045704602
287- else {
288- let $acc3145704602 = claimReward($acc3045704602, $list45704602[30])
289- throw("List size exceed 30")
290- }
291- }
292- }
293- }
294- }
295- }
296- }
297- }
298- }
299- }
300- }
301- }
302- }
303- }
304- }
305- }
306- }
307- }
308- }
309- }
208+ let $acc1148964928 = claimReward($acc1048964928, $list48964928[10])
209+ throw("List size exceed 10")
310210 }
311211 }
312212 }
321221 }
322222 let claimedReward = match foldResult {
323223 case int: Int =>
324- int
224+ (int * 1000000)
325225 case _ =>
326226 throw("_6")
327227 }
330230 let totalFarmingReward = getInt(kTotalFarmingReward)
331231 let currentCeoFee = getInt(kCeoCollectedFee)
332232 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
333-[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
233+[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
334234 }
335235
336236
341241 else if ((i.caller == this))
342242 then {
343243 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
344-[ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
244+[ScriptTransfer(addressFromStringValue(address), (currentCeoCollectedFee / 1000000), getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
345245 }
346246 else throw("_8")
347247
374274 let unstakedRewardNow = getInt(kUnstakedReward)
375275 let newUnstakedReward = match ustakedReward {
376276 case int: Int =>
377- (unstakedRewardNow + int)
277+ (unstakedRewardNow + (int * 1000000))
378278 case _ =>
379279 throw("Error during unstaking")
380280 }
381-[IntegerEntry(kUnstakedReward, newUnstakedReward)]
281+ let currentCeoFee = getInt(kCeoCollectedFee)
282+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
283+ let farmCeoFeeSize = fraction(unstakedRewardNow, feePercent, 100)
284+[IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
382285 }
383286 else throw("Strict value is not equal to itself.")
384287 }
412315
413316
414317 @Callable(i)
415-func setUnstakedReward (val) = if ((i.caller != mAccAddr))
416- then throw("Method can be called only by master account")
417- else [IntegerEntry(kUnstakedReward, val)]
418-
419-
420-
421-@Callable(i)
422318 func distributeRewards (addresses) = if ((i.caller != mAccAddr))
423319 then throw("Method can be called only by master account")
424320 else {
432328 let kAddrEarned = (("address_" + addressStr) + "_total_earned")
433329 let addrTotalEarned = getInt(kAddrEarned)
434330 let totalRewardNow = ((eggletsAmount * 1000000) + change)
435- let res = [IntegerEntry((("address_" + addressStr) + "_change"), change), IntegerEntry(kAddrEarned, (addrTotalEarned + totalRewardNow))]
331+ let res = [IntegerEntry((("address_" + addressStr) + "_change"), change), IntegerEntry(kAddrEarned, (addrTotalEarned + totalRewardNow)), IntegerEntry(((("address_" + addressStr) + "_reward_") + toString(lastBlock.timestamp)), totalRewardNow)]
436332 if ((eggletsAmount > 0))
437333 then $Tuple2((accum._1 + eggletsAmount), ((accum._2 ++ res) ++ [ScriptTransfer(address, eggletsAmount, getEggId())]))
438334 else $Tuple2(accum._1, (accum._2 ++ res))
439335 }
440336
441337 let result = {
442- let $list89218968 = addressPairs
443- let $size89218968 = size($list89218968)
444- let $acc089218968 = $Tuple2(0, nil)
445- if (($size89218968 == 0))
446- then $acc089218968
338+ let $list97329779 = addressPairs
339+ let $size97329779 = size($list97329779)
340+ let $acc097329779 = $Tuple2(0, nil)
341+ if (($size97329779 == 0))
342+ then $acc097329779
447343 else {
448- let $acc189218968 = processAddress($acc089218968, $list89218968[0])
449- if (($size89218968 == 1))
450- then $acc189218968
344+ let $acc197329779 = processAddress($acc097329779, $list97329779[0])
345+ if (($size97329779 == 1))
346+ then $acc197329779
451347 else {
452- let $acc289218968 = processAddress($acc189218968, $list89218968[1])
453- if (($size89218968 == 2))
454- then $acc289218968
348+ let $acc297329779 = processAddress($acc197329779, $list97329779[1])
349+ if (($size97329779 == 2))
350+ then $acc297329779
455351 else {
456- let $acc389218968 = processAddress($acc289218968, $list89218968[2])
457- if (($size89218968 == 3))
458- then $acc389218968
352+ let $acc397329779 = processAddress($acc297329779, $list97329779[2])
353+ if (($size97329779 == 3))
354+ then $acc397329779
459355 else {
460- let $acc489218968 = processAddress($acc389218968, $list89218968[3])
461- if (($size89218968 == 4))
462- then $acc489218968
356+ let $acc497329779 = processAddress($acc397329779, $list97329779[3])
357+ if (($size97329779 == 4))
358+ then $acc497329779
463359 else {
464- let $acc589218968 = processAddress($acc489218968, $list89218968[4])
465- if (($size89218968 == 5))
466- then $acc589218968
360+ let $acc597329779 = processAddress($acc497329779, $list97329779[4])
361+ if (($size97329779 == 5))
362+ then $acc597329779
467363 else {
468- let $acc689218968 = processAddress($acc589218968, $list89218968[5])
469- if (($size89218968 == 6))
470- then $acc689218968
364+ let $acc697329779 = processAddress($acc597329779, $list97329779[5])
365+ if (($size97329779 == 6))
366+ then $acc697329779
471367 else {
472- let $acc789218968 = processAddress($acc689218968, $list89218968[6])
473- if (($size89218968 == 7))
474- then $acc789218968
368+ let $acc797329779 = processAddress($acc697329779, $list97329779[6])
369+ if (($size97329779 == 7))
370+ then $acc797329779
475371 else {
476- let $acc889218968 = processAddress($acc789218968, $list89218968[7])
477- if (($size89218968 == 8))
478- then $acc889218968
372+ let $acc897329779 = processAddress($acc797329779, $list97329779[7])
373+ if (($size97329779 == 8))
374+ then $acc897329779
479375 else {
480- let $acc989218968 = processAddress($acc889218968, $list89218968[8])
481- if (($size89218968 == 9))
482- then $acc989218968
376+ let $acc997329779 = processAddress($acc897329779, $list97329779[8])
377+ if (($size97329779 == 9))
378+ then $acc997329779
483379 else {
484- let $acc1089218968 = processAddress($acc989218968, $list89218968[9])
485- if (($size89218968 == 10))
486- then $acc1089218968
380+ let $acc1097329779 = processAddress($acc997329779, $list97329779[9])
381+ if (($size97329779 == 10))
382+ then $acc1097329779
487383 else {
488- let $acc1189218968 = processAddress($acc1089218968, $list89218968[10])
489- if (($size89218968 == 11))
490- then $acc1189218968
384+ let $acc1197329779 = processAddress($acc1097329779, $list97329779[10])
385+ if (($size97329779 == 11))
386+ then $acc1197329779
491387 else {
492- let $acc1289218968 = processAddress($acc1189218968, $list89218968[11])
493- if (($size89218968 == 12))
494- then $acc1289218968
388+ let $acc1297329779 = processAddress($acc1197329779, $list97329779[11])
389+ if (($size97329779 == 12))
390+ then $acc1297329779
495391 else {
496- let $acc1389218968 = processAddress($acc1289218968, $list89218968[12])
497- if (($size89218968 == 13))
498- then $acc1389218968
392+ let $acc1397329779 = processAddress($acc1297329779, $list97329779[12])
393+ if (($size97329779 == 13))
394+ then $acc1397329779
499395 else {
500- let $acc1489218968 = processAddress($acc1389218968, $list89218968[13])
501- if (($size89218968 == 14))
502- then $acc1489218968
396+ let $acc1497329779 = processAddress($acc1397329779, $list97329779[13])
397+ if (($size97329779 == 14))
398+ then $acc1497329779
503399 else {
504- let $acc1589218968 = processAddress($acc1489218968, $list89218968[14])
505- if (($size89218968 == 15))
506- then $acc1589218968
400+ let $acc1597329779 = processAddress($acc1497329779, $list97329779[14])
401+ if (($size97329779 == 15))
402+ then $acc1597329779
507403 else {
508- let $acc1689218968 = processAddress($acc1589218968, $list89218968[15])
509- if (($size89218968 == 16))
510- then $acc1689218968
404+ let $acc1697329779 = processAddress($acc1597329779, $list97329779[15])
405+ if (($size97329779 == 16))
406+ then $acc1697329779
511407 else {
512- let $acc1789218968 = processAddress($acc1689218968, $list89218968[16])
513- if (($size89218968 == 17))
514- then $acc1789218968
408+ let $acc1797329779 = processAddress($acc1697329779, $list97329779[16])
409+ if (($size97329779 == 17))
410+ then $acc1797329779
515411 else {
516- let $acc1889218968 = processAddress($acc1789218968, $list89218968[17])
517- if (($size89218968 == 18))
518- then $acc1889218968
412+ let $acc1897329779 = processAddress($acc1797329779, $list97329779[17])
413+ if (($size97329779 == 18))
414+ then $acc1897329779
519415 else {
520- let $acc1989218968 = processAddress($acc1889218968, $list89218968[18])
521- if (($size89218968 == 19))
522- then $acc1989218968
416+ let $acc1997329779 = processAddress($acc1897329779, $list97329779[18])
417+ if (($size97329779 == 19))
418+ then $acc1997329779
523419 else {
524- let $acc2089218968 = processAddress($acc1989218968, $list89218968[19])
525- if (($size89218968 == 20))
526- then $acc2089218968
420+ let $acc2097329779 = processAddress($acc1997329779, $list97329779[19])
421+ if (($size97329779 == 20))
422+ then $acc2097329779
527423 else {
528- let $acc2189218968 = processAddress($acc2089218968, $list89218968[20])
529- if (($size89218968 == 21))
530- then $acc2189218968
531- else {
532- let $acc2289218968 = processAddress($acc2189218968, $list89218968[21])
533- if (($size89218968 == 22))
534- then $acc2289218968
535- else {
536- let $acc2389218968 = processAddress($acc2289218968, $list89218968[22])
537- if (($size89218968 == 23))
538- then $acc2389218968
539- else {
540- let $acc2489218968 = processAddress($acc2389218968, $list89218968[23])
541- if (($size89218968 == 24))
542- then $acc2489218968
543- else {
544- let $acc2589218968 = processAddress($acc2489218968, $list89218968[24])
545- if (($size89218968 == 25))
546- then $acc2589218968
547- else {
548- let $acc2689218968 = processAddress($acc2589218968, $list89218968[25])
549- if (($size89218968 == 26))
550- then $acc2689218968
551- else {
552- let $acc2789218968 = processAddress($acc2689218968, $list89218968[26])
553- if (($size89218968 == 27))
554- then $acc2789218968
555- else {
556- let $acc2889218968 = processAddress($acc2789218968, $list89218968[27])
557- if (($size89218968 == 28))
558- then $acc2889218968
559- else {
560- let $acc2989218968 = processAddress($acc2889218968, $list89218968[28])
561- if (($size89218968 == 29))
562- then $acc2989218968
563- else {
564- let $acc3089218968 = processAddress($acc2989218968, $list89218968[29])
565- if (($size89218968 == 30))
566- then $acc3089218968
567- else {
568- let $acc3189218968 = processAddress($acc3089218968, $list89218968[30])
569- throw("List size exceed 30")
570- }
571- }
572- }
573- }
574- }
575- }
576- }
577- }
578- }
579- }
424+ let $acc2197329779 = processAddress($acc2097329779, $list97329779[20])
425+ throw("List size exceed 20")
580426 }
581427 }
582428 }
600446 }
601447 }
602448 let toDistr = getInt(kToDistr)
603- (result._2 ++ [IntegerEntry(kToDistr, (toDistr - result._1)), IntegerEntry(kUnstakedReward, 0)])
449+ (result._2 ++ [IntegerEntry(kToDistr, (toDistr - (result._1 * 1000000))), IntegerEntry(kUnstakedReward, 0)])
604450 }
605451
606452
634480 then throw("_16")
635481 else if ((size(inv.payments) > 2))
636482 then throw("_17")
637- else if ((minBalance > (assetBalance(this, getEggId()) - {
638- let $list1029710339 = inv.payments
639- let $size1029710339 = size($list1029710339)
640- let $acc01029710339 = 0
641- if (($size1029710339 == 0))
642- then $acc01029710339
483+ else if ((minBalance > ((assetBalance(this, getEggId()) - {
484+ let $list1112211164 = inv.payments
485+ let $size1112211164 = size($list1112211164)
486+ let $acc01112211164 = 0
487+ if (($size1112211164 == 0))
488+ then $acc01112211164
643489 else {
644- let $acc11029710339 = totalEggSpending($acc01029710339, $list1029710339[0])
645- if (($size1029710339 == 1))
646- then $acc11029710339
490+ let $acc11112211164 = totalEggSpending($acc01112211164, $list1112211164[0])
491+ if (($size1112211164 == 1))
492+ then $acc11112211164
647493 else {
648- let $acc21029710339 = totalEggSpending($acc11029710339, $list1029710339[1])
649- if (($size1029710339 == 2))
650- then $acc21029710339
494+ let $acc21112211164 = totalEggSpending($acc11112211164, $list1112211164[1])
495+ if (($size1112211164 == 2))
496+ then $acc21112211164
651497 else {
652- let $acc31029710339 = totalEggSpending($acc21029710339, $list1029710339[2])
653- if (($size1029710339 == 3))
654- then $acc31029710339
498+ let $acc31112211164 = totalEggSpending($acc21112211164, $list1112211164[2])
499+ if (($size1112211164 == 3))
500+ then $acc31112211164
655501 else {
656- let $acc41029710339 = totalEggSpending($acc31029710339, $list1029710339[3])
502+ let $acc41112211164 = totalEggSpending($acc31112211164, $list1112211164[3])
657503 throw("List size exceed 3")
658504 }
659505 }
660506 }
661507 }
662- })))
508+ }) * 1000000)))
663509 then throw(("Your minimal balance should be = " + toString(minBalance)))
664510 else if (if ((addressFromRecipient(inv.dApp) == this))
665511 then (inv.function == "callUnstakeProxy")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let mAccPKey = base58'23NWm7kUDQqbTVkirjd5JXWRZaWVoS4ZesmRNHicBa3T'
55
66 let mAccAddr = addressFromPublicKey(mAccPKey)
77
88 let feePercent = getIntegerValue(mAccAddr, (("f_" + toString(this)) + "_fee"))
99
1010 let kTotalLiquidity = "total_liquidity"
1111
1212 let kInitialized = "INITIALIZED"
1313
1414 let kLiquidityThreshold = "LIQUIDITY_THRESHOLD"
1515
1616 let kFarmParticipants = "farm_participants"
1717
1818 let kTotalShareTokens = "total_share_tokens"
1919
2020 let kShareAssetId = "SHARE_ASSET_ID"
2121
2222 let kIncubatorDapp = "INCUBATOR_DAPP"
2323
2424 let kBreederDapp = "BREEDER_DAPP"
2525
2626 let kFarmingDapp = "FARMING_DAPP"
2727
2828 let kMarketProxyDapp = "MARKETPLACE_PROXY_DAPP"
2929
3030 let kAuctionDapp = "AUCTION_DAPP"
3131
3232 let kLocked = "LOCKED"
3333
3434 let kTotalFarmingReward = "total_farming_reward"
3535
3636 let kCeoCollectedFee = "ceo_collected_fee"
3737
3838 let kCeoCollectedFeeOverall = "ceo_fee_overall"
3939
4040 let kToDistr = "to_distribute"
4141
4242 let kUnstakedReward = "unstaked_reward"
4343
4444 func getInt (key) = match getInteger(this, key) {
4545 case b: Int =>
4646 b
4747 case _ =>
4848 0
4949 }
5050
5151
5252 func getStr (key) = match getString(this, key) {
5353 case b: String =>
5454 b
5555 case _ =>
5656 ""
5757 }
5858
5959
6060 func getBool (key) = match getBoolean(this, key) {
6161 case b: Boolean =>
6262 b
6363 case _ =>
6464 unit
6565 }
6666
6767
6868 func getStrA (a,k) = match getString(a, k) {
6969 case b: String =>
7070 b
7171 case _ =>
7272 ""
7373 }
7474
7575
7676 func getIntA (address,key) = match getInteger(address, key) {
7777 case b: Int =>
7878 b
7979 case _ =>
8080 0
8181 }
8282
8383
8484 func getMarketProxyAddr () = getStrA(mAccAddr, kMarketProxyDapp)
8585
8686
8787 func getEggId () = fromBase58String(getStringValue(mAccAddr, "EGG_ASSET_ID"))
8888
8989
9090 func getShareAssetId () = fromBase58String(getStr(kShareAssetId))
9191
9292
9393 @Callable(i)
9494 func initCollectiveFarm (name,minimumThreshold) = if ((i.callerPublicKey != mAccPKey))
9595 then throw("_1")
9696 else if ((getBool(kInitialized) != unit))
9797 then throw("_2")
9898 else if (if ((i.payments[0].amount != 10))
9999 then true
100100 else (i.payments[0].assetId != getEggId()))
101101 then throw("_20")
102102 else {
103103 let shareTokens = 10000000
104104 let shareToken = Issue(name, (("Share token for the \"" + name) + "\" collective farm"), shareTokens, 8, true)
105105 [StringEntry(kShareAssetId, toBase58String(calculateAssetId(shareToken))), BooleanEntry(kInitialized, true), IntegerEntry(kTotalLiquidity, 10), IntegerEntry(kTotalShareTokens, shareTokens), shareToken, ScriptTransfer(i.caller, shareTokens, calculateAssetId(shareToken)), BooleanEntry(kLocked, false), IntegerEntry(kLiquidityThreshold, minimumThreshold)]
106106 }
107107
108108
109109
110110 @Callable(i)
111111 func setLock (s) = if ((i.callerPublicKey != mAccPKey))
112112 then throw("_21")
113113 else [BooleanEntry(kLocked, s)]
114114
115115
116116
117117 @Callable(i)
118118 func provideLiquidity () = {
119119 let eggAssetId = getEggId()
120120 if ((getBool(kLocked) == true))
121121 then throw("_22")
122122 else if ((i.payments[0].assetId != eggAssetId))
123123 then throw("_4")
124124 else {
125125 let totalLiquidity = getInt(kTotalLiquidity)
126126 let totalShareTokens = getInt(kTotalShareTokens)
127127 let currentLiquidityAmount = i.payments[0].amount
128128 let shareTokensToGive = (currentLiquidityAmount * 1000000)
129129 let shareTokensId = fromBase58String(getStr(kShareAssetId))
130130 let reissue = Reissue(getShareAssetId(), shareTokensToGive, true)
131131 let farmParticipants = getInt(kFarmParticipants)
132132 let kParticipated = (("account_" + toString(i.caller)) + "_participated")
133133 let alreadyParticipated = getBool(kParticipated)
134134 let newFarmParticipants = if ((alreadyParticipated == unit))
135135 then (farmParticipants + 1)
136136 else farmParticipants
137137 [reissue, ScriptTransfer(i.caller, shareTokensToGive, shareTokensId), IntegerEntry(kTotalShareTokens, (totalShareTokens + shareTokensToGive)), IntegerEntry(kTotalLiquidity, (totalLiquidity + value(i.payments[0].amount))), IntegerEntry(kFarmParticipants, newFarmParticipants), BooleanEntry(kParticipated, true)]
138138 }
139139 }
140140
141141
142142
143143 @Callable(i)
144144 func claimFarmingRewardProxy (ids) = if ((i.callerPublicKey != mAccPKey))
145145 then throw("_23")
146146 else {
147147 let farmingDapp = addressFromStringValue(getStrA(mAccAddr, kFarmingDapp))
148148 func claimReward (accum,nftId) = {
149149 let invRes = invoke(farmingDapp, "claimReward", [nftId], nil)
150150 if ((invRes == invRes))
151151 then match invRes {
152152 case int: Int =>
153153 (accum + int)
154154 case _ =>
155155 throw("_5")
156156 }
157157 else throw("Strict value is not equal to itself.")
158158 }
159159
160160 let nftIds = split(ids, ";")
161161 let foldResult = {
162- let $list45704602 = nftIds
163- let $size45704602 = size($list45704602)
164- let $acc045704602 = 0
165- if (($size45704602 == 0))
166- then $acc045704602
162+ let $list48964928 = nftIds
163+ let $size48964928 = size($list48964928)
164+ let $acc048964928 = 0
165+ if (($size48964928 == 0))
166+ then $acc048964928
167167 else {
168- let $acc145704602 = claimReward($acc045704602, $list45704602[0])
169- if (($size45704602 == 1))
170- then $acc145704602
168+ let $acc148964928 = claimReward($acc048964928, $list48964928[0])
169+ if (($size48964928 == 1))
170+ then $acc148964928
171171 else {
172- let $acc245704602 = claimReward($acc145704602, $list45704602[1])
173- if (($size45704602 == 2))
174- then $acc245704602
172+ let $acc248964928 = claimReward($acc148964928, $list48964928[1])
173+ if (($size48964928 == 2))
174+ then $acc248964928
175175 else {
176- let $acc345704602 = claimReward($acc245704602, $list45704602[2])
177- if (($size45704602 == 3))
178- then $acc345704602
176+ let $acc348964928 = claimReward($acc248964928, $list48964928[2])
177+ if (($size48964928 == 3))
178+ then $acc348964928
179179 else {
180- let $acc445704602 = claimReward($acc345704602, $list45704602[3])
181- if (($size45704602 == 4))
182- then $acc445704602
180+ let $acc448964928 = claimReward($acc348964928, $list48964928[3])
181+ if (($size48964928 == 4))
182+ then $acc448964928
183183 else {
184- let $acc545704602 = claimReward($acc445704602, $list45704602[4])
185- if (($size45704602 == 5))
186- then $acc545704602
184+ let $acc548964928 = claimReward($acc448964928, $list48964928[4])
185+ if (($size48964928 == 5))
186+ then $acc548964928
187187 else {
188- let $acc645704602 = claimReward($acc545704602, $list45704602[5])
189- if (($size45704602 == 6))
190- then $acc645704602
188+ let $acc648964928 = claimReward($acc548964928, $list48964928[5])
189+ if (($size48964928 == 6))
190+ then $acc648964928
191191 else {
192- let $acc745704602 = claimReward($acc645704602, $list45704602[6])
193- if (($size45704602 == 7))
194- then $acc745704602
192+ let $acc748964928 = claimReward($acc648964928, $list48964928[6])
193+ if (($size48964928 == 7))
194+ then $acc748964928
195195 else {
196- let $acc845704602 = claimReward($acc745704602, $list45704602[7])
197- if (($size45704602 == 8))
198- then $acc845704602
196+ let $acc848964928 = claimReward($acc748964928, $list48964928[7])
197+ if (($size48964928 == 8))
198+ then $acc848964928
199199 else {
200- let $acc945704602 = claimReward($acc845704602, $list45704602[8])
201- if (($size45704602 == 9))
202- then $acc945704602
200+ let $acc948964928 = claimReward($acc848964928, $list48964928[8])
201+ if (($size48964928 == 9))
202+ then $acc948964928
203203 else {
204- let $acc1045704602 = claimReward($acc945704602, $list45704602[9])
205- if (($size45704602 == 10))
206- then $acc1045704602
204+ let $acc1048964928 = claimReward($acc948964928, $list48964928[9])
205+ if (($size48964928 == 10))
206+ then $acc1048964928
207207 else {
208- let $acc1145704602 = claimReward($acc1045704602, $list45704602[10])
209- if (($size45704602 == 11))
210- then $acc1145704602
211- else {
212- let $acc1245704602 = claimReward($acc1145704602, $list45704602[11])
213- if (($size45704602 == 12))
214- then $acc1245704602
215- else {
216- let $acc1345704602 = claimReward($acc1245704602, $list45704602[12])
217- if (($size45704602 == 13))
218- then $acc1345704602
219- else {
220- let $acc1445704602 = claimReward($acc1345704602, $list45704602[13])
221- if (($size45704602 == 14))
222- then $acc1445704602
223- else {
224- let $acc1545704602 = claimReward($acc1445704602, $list45704602[14])
225- if (($size45704602 == 15))
226- then $acc1545704602
227- else {
228- let $acc1645704602 = claimReward($acc1545704602, $list45704602[15])
229- if (($size45704602 == 16))
230- then $acc1645704602
231- else {
232- let $acc1745704602 = claimReward($acc1645704602, $list45704602[16])
233- if (($size45704602 == 17))
234- then $acc1745704602
235- else {
236- let $acc1845704602 = claimReward($acc1745704602, $list45704602[17])
237- if (($size45704602 == 18))
238- then $acc1845704602
239- else {
240- let $acc1945704602 = claimReward($acc1845704602, $list45704602[18])
241- if (($size45704602 == 19))
242- then $acc1945704602
243- else {
244- let $acc2045704602 = claimReward($acc1945704602, $list45704602[19])
245- if (($size45704602 == 20))
246- then $acc2045704602
247- else {
248- let $acc2145704602 = claimReward($acc2045704602, $list45704602[20])
249- if (($size45704602 == 21))
250- then $acc2145704602
251- else {
252- let $acc2245704602 = claimReward($acc2145704602, $list45704602[21])
253- if (($size45704602 == 22))
254- then $acc2245704602
255- else {
256- let $acc2345704602 = claimReward($acc2245704602, $list45704602[22])
257- if (($size45704602 == 23))
258- then $acc2345704602
259- else {
260- let $acc2445704602 = claimReward($acc2345704602, $list45704602[23])
261- if (($size45704602 == 24))
262- then $acc2445704602
263- else {
264- let $acc2545704602 = claimReward($acc2445704602, $list45704602[24])
265- if (($size45704602 == 25))
266- then $acc2545704602
267- else {
268- let $acc2645704602 = claimReward($acc2545704602, $list45704602[25])
269- if (($size45704602 == 26))
270- then $acc2645704602
271- else {
272- let $acc2745704602 = claimReward($acc2645704602, $list45704602[26])
273- if (($size45704602 == 27))
274- then $acc2745704602
275- else {
276- let $acc2845704602 = claimReward($acc2745704602, $list45704602[27])
277- if (($size45704602 == 28))
278- then $acc2845704602
279- else {
280- let $acc2945704602 = claimReward($acc2845704602, $list45704602[28])
281- if (($size45704602 == 29))
282- then $acc2945704602
283- else {
284- let $acc3045704602 = claimReward($acc2945704602, $list45704602[29])
285- if (($size45704602 == 30))
286- then $acc3045704602
287- else {
288- let $acc3145704602 = claimReward($acc3045704602, $list45704602[30])
289- throw("List size exceed 30")
290- }
291- }
292- }
293- }
294- }
295- }
296- }
297- }
298- }
299- }
300- }
301- }
302- }
303- }
304- }
305- }
306- }
307- }
308- }
309- }
208+ let $acc1148964928 = claimReward($acc1048964928, $list48964928[10])
209+ throw("List size exceed 10")
310210 }
311211 }
312212 }
313213 }
314214 }
315215 }
316216 }
317217 }
318218 }
319219 }
320220 }
321221 }
322222 let claimedReward = match foldResult {
323223 case int: Int =>
324- int
224+ (int * 1000000)
325225 case _ =>
326226 throw("_6")
327227 }
328228 let farmCeoFeeSize = fraction(claimedReward, feePercent, 100)
329229 let toDistr = getInt(kToDistr)
330230 let totalFarmingReward = getInt(kTotalFarmingReward)
331231 let currentCeoFee = getInt(kCeoCollectedFee)
332232 let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
333-[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
233+[IntegerEntry(kTotalFarmingReward, ((totalFarmingReward + claimedReward) - farmCeoFeeSize)), IntegerEntry(kToDistr, ((toDistr + claimedReward) - farmCeoFeeSize)), IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize))]
334234 }
335235
336236
337237
338238 @Callable(i)
339239 func claimCeoFee (address) = if ((getBool(kLocked) == true))
340240 then throw("_22")
341241 else if ((i.caller == this))
342242 then {
343243 let currentCeoCollectedFee = getInt(kCeoCollectedFee)
344-[ScriptTransfer(addressFromStringValue(address), currentCeoCollectedFee, getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
244+[ScriptTransfer(addressFromStringValue(address), (currentCeoCollectedFee / 1000000), getEggId()), IntegerEntry(kCeoCollectedFee, 0)]
345245 }
346246 else throw("_8")
347247
348248
349249
350250 @Callable(i)
351251 func startLiquidation (auctionId) = throw("_7")
352252
353253
354254
355255 @Callable(i)
356256 func voteForLiquidation (auctionId) = throw("_7")
357257
358258
359259
360260 @Callable(i)
361261 func callUnstakeProxy (function,assetId) = if ((getBool(kLocked) == true))
362262 then throw("Contract is locked now")
363263 else if (if ((function != "unstakeNFT"))
364264 then (function != "unstakeJackpot")
365265 else false)
366266 then throw("Bad function name")
367267 else if ((i.caller != this))
368268 then throw("Can be called only by the account")
369269 else {
370270 let farmingDappAddress = addressFromStringValue(getStrA(mAccAddr, "FARMING_DAPP"))
371271 let ustakedReward = invoke(farmingDappAddress, function, [assetId], nil)
372272 if ((ustakedReward == ustakedReward))
373273 then {
374274 let unstakedRewardNow = getInt(kUnstakedReward)
375275 let newUnstakedReward = match ustakedReward {
376276 case int: Int =>
377- (unstakedRewardNow + int)
277+ (unstakedRewardNow + (int * 1000000))
378278 case _ =>
379279 throw("Error during unstaking")
380280 }
381-[IntegerEntry(kUnstakedReward, newUnstakedReward)]
281+ let currentCeoFee = getInt(kCeoCollectedFee)
282+ let ceoFeeOverall = getInt(kCeoCollectedFeeOverall)
283+ let farmCeoFeeSize = fraction(unstakedRewardNow, feePercent, 100)
284+[IntegerEntry(kCeoCollectedFee, (currentCeoFee + farmCeoFeeSize)), IntegerEntry(kCeoCollectedFeeOverall, (ceoFeeOverall + farmCeoFeeSize)), IntegerEntry(kUnstakedReward, newUnstakedReward)]
382285 }
383286 else throw("Strict value is not equal to itself.")
384287 }
385288
386289
387290
388291 @Callable(i)
389292 func revertTransfer (txId) = if ((getBool(kLocked) == true))
390293 then throw("Contract is locked now")
391294 else if ((i.caller != this))
392295 then throw("Can be called only by the account")
393296 else {
394297 let tx = value(transferTransactionById(fromBase58String(txId)))
395298 let kReverted = ("tx_revert_" + txId)
396299 let txReverted = getBool(kReverted)
397300 let unstakedRewardNow = getInt(kUnstakedReward)
398301 let toDistr = getInt(kToDistr)
399302 let minBalance = (unstakedRewardNow + toDistr)
400303 let currentEggBalance = assetBalance(this, getEggId())
401304 if ((txReverted == true))
402305 then throw("Tx already reverted")
403306 else if ((tx.recipient != this))
404307 then throw("Tx recipient is another account")
405308 else if ((tx.assetId != getEggId()))
406309 then throw("Transaction is not with EGG tokens")
407310 else if ((minBalance > (currentEggBalance - tx.amount)))
408311 then throw("Revert makes balance too low")
409312 else [ScriptTransfer(tx.sender, tx.amount, tx.assetId), BooleanEntry(kReverted, true)]
410313 }
411314
412315
413316
414317 @Callable(i)
415-func setUnstakedReward (val) = if ((i.caller != mAccAddr))
416- then throw("Method can be called only by master account")
417- else [IntegerEntry(kUnstakedReward, val)]
418-
419-
420-
421-@Callable(i)
422318 func distributeRewards (addresses) = if ((i.caller != mAccAddr))
423319 then throw("Method can be called only by master account")
424320 else {
425321 let addressPairs = split(addresses, ";")
426322 func processAddress (accum,addressPair) = {
427323 let addressParts = split(addressPair, "=")
428324 let addressStr = addressParts[0]
429325 let address = addressFromStringValue(addressStr)
430326 let eggletsAmount = parseIntValue(addressParts[1])
431327 let change = parseIntValue(addressParts[2])
432328 let kAddrEarned = (("address_" + addressStr) + "_total_earned")
433329 let addrTotalEarned = getInt(kAddrEarned)
434330 let totalRewardNow = ((eggletsAmount * 1000000) + change)
435- let res = [IntegerEntry((("address_" + addressStr) + "_change"), change), IntegerEntry(kAddrEarned, (addrTotalEarned + totalRewardNow))]
331+ let res = [IntegerEntry((("address_" + addressStr) + "_change"), change), IntegerEntry(kAddrEarned, (addrTotalEarned + totalRewardNow)), IntegerEntry(((("address_" + addressStr) + "_reward_") + toString(lastBlock.timestamp)), totalRewardNow)]
436332 if ((eggletsAmount > 0))
437333 then $Tuple2((accum._1 + eggletsAmount), ((accum._2 ++ res) ++ [ScriptTransfer(address, eggletsAmount, getEggId())]))
438334 else $Tuple2(accum._1, (accum._2 ++ res))
439335 }
440336
441337 let result = {
442- let $list89218968 = addressPairs
443- let $size89218968 = size($list89218968)
444- let $acc089218968 = $Tuple2(0, nil)
445- if (($size89218968 == 0))
446- then $acc089218968
338+ let $list97329779 = addressPairs
339+ let $size97329779 = size($list97329779)
340+ let $acc097329779 = $Tuple2(0, nil)
341+ if (($size97329779 == 0))
342+ then $acc097329779
447343 else {
448- let $acc189218968 = processAddress($acc089218968, $list89218968[0])
449- if (($size89218968 == 1))
450- then $acc189218968
344+ let $acc197329779 = processAddress($acc097329779, $list97329779[0])
345+ if (($size97329779 == 1))
346+ then $acc197329779
451347 else {
452- let $acc289218968 = processAddress($acc189218968, $list89218968[1])
453- if (($size89218968 == 2))
454- then $acc289218968
348+ let $acc297329779 = processAddress($acc197329779, $list97329779[1])
349+ if (($size97329779 == 2))
350+ then $acc297329779
455351 else {
456- let $acc389218968 = processAddress($acc289218968, $list89218968[2])
457- if (($size89218968 == 3))
458- then $acc389218968
352+ let $acc397329779 = processAddress($acc297329779, $list97329779[2])
353+ if (($size97329779 == 3))
354+ then $acc397329779
459355 else {
460- let $acc489218968 = processAddress($acc389218968, $list89218968[3])
461- if (($size89218968 == 4))
462- then $acc489218968
356+ let $acc497329779 = processAddress($acc397329779, $list97329779[3])
357+ if (($size97329779 == 4))
358+ then $acc497329779
463359 else {
464- let $acc589218968 = processAddress($acc489218968, $list89218968[4])
465- if (($size89218968 == 5))
466- then $acc589218968
360+ let $acc597329779 = processAddress($acc497329779, $list97329779[4])
361+ if (($size97329779 == 5))
362+ then $acc597329779
467363 else {
468- let $acc689218968 = processAddress($acc589218968, $list89218968[5])
469- if (($size89218968 == 6))
470- then $acc689218968
364+ let $acc697329779 = processAddress($acc597329779, $list97329779[5])
365+ if (($size97329779 == 6))
366+ then $acc697329779
471367 else {
472- let $acc789218968 = processAddress($acc689218968, $list89218968[6])
473- if (($size89218968 == 7))
474- then $acc789218968
368+ let $acc797329779 = processAddress($acc697329779, $list97329779[6])
369+ if (($size97329779 == 7))
370+ then $acc797329779
475371 else {
476- let $acc889218968 = processAddress($acc789218968, $list89218968[7])
477- if (($size89218968 == 8))
478- then $acc889218968
372+ let $acc897329779 = processAddress($acc797329779, $list97329779[7])
373+ if (($size97329779 == 8))
374+ then $acc897329779
479375 else {
480- let $acc989218968 = processAddress($acc889218968, $list89218968[8])
481- if (($size89218968 == 9))
482- then $acc989218968
376+ let $acc997329779 = processAddress($acc897329779, $list97329779[8])
377+ if (($size97329779 == 9))
378+ then $acc997329779
483379 else {
484- let $acc1089218968 = processAddress($acc989218968, $list89218968[9])
485- if (($size89218968 == 10))
486- then $acc1089218968
380+ let $acc1097329779 = processAddress($acc997329779, $list97329779[9])
381+ if (($size97329779 == 10))
382+ then $acc1097329779
487383 else {
488- let $acc1189218968 = processAddress($acc1089218968, $list89218968[10])
489- if (($size89218968 == 11))
490- then $acc1189218968
384+ let $acc1197329779 = processAddress($acc1097329779, $list97329779[10])
385+ if (($size97329779 == 11))
386+ then $acc1197329779
491387 else {
492- let $acc1289218968 = processAddress($acc1189218968, $list89218968[11])
493- if (($size89218968 == 12))
494- then $acc1289218968
388+ let $acc1297329779 = processAddress($acc1197329779, $list97329779[11])
389+ if (($size97329779 == 12))
390+ then $acc1297329779
495391 else {
496- let $acc1389218968 = processAddress($acc1289218968, $list89218968[12])
497- if (($size89218968 == 13))
498- then $acc1389218968
392+ let $acc1397329779 = processAddress($acc1297329779, $list97329779[12])
393+ if (($size97329779 == 13))
394+ then $acc1397329779
499395 else {
500- let $acc1489218968 = processAddress($acc1389218968, $list89218968[13])
501- if (($size89218968 == 14))
502- then $acc1489218968
396+ let $acc1497329779 = processAddress($acc1397329779, $list97329779[13])
397+ if (($size97329779 == 14))
398+ then $acc1497329779
503399 else {
504- let $acc1589218968 = processAddress($acc1489218968, $list89218968[14])
505- if (($size89218968 == 15))
506- then $acc1589218968
400+ let $acc1597329779 = processAddress($acc1497329779, $list97329779[14])
401+ if (($size97329779 == 15))
402+ then $acc1597329779
507403 else {
508- let $acc1689218968 = processAddress($acc1589218968, $list89218968[15])
509- if (($size89218968 == 16))
510- then $acc1689218968
404+ let $acc1697329779 = processAddress($acc1597329779, $list97329779[15])
405+ if (($size97329779 == 16))
406+ then $acc1697329779
511407 else {
512- let $acc1789218968 = processAddress($acc1689218968, $list89218968[16])
513- if (($size89218968 == 17))
514- then $acc1789218968
408+ let $acc1797329779 = processAddress($acc1697329779, $list97329779[16])
409+ if (($size97329779 == 17))
410+ then $acc1797329779
515411 else {
516- let $acc1889218968 = processAddress($acc1789218968, $list89218968[17])
517- if (($size89218968 == 18))
518- then $acc1889218968
412+ let $acc1897329779 = processAddress($acc1797329779, $list97329779[17])
413+ if (($size97329779 == 18))
414+ then $acc1897329779
519415 else {
520- let $acc1989218968 = processAddress($acc1889218968, $list89218968[18])
521- if (($size89218968 == 19))
522- then $acc1989218968
416+ let $acc1997329779 = processAddress($acc1897329779, $list97329779[18])
417+ if (($size97329779 == 19))
418+ then $acc1997329779
523419 else {
524- let $acc2089218968 = processAddress($acc1989218968, $list89218968[19])
525- if (($size89218968 == 20))
526- then $acc2089218968
420+ let $acc2097329779 = processAddress($acc1997329779, $list97329779[19])
421+ if (($size97329779 == 20))
422+ then $acc2097329779
527423 else {
528- let $acc2189218968 = processAddress($acc2089218968, $list89218968[20])
529- if (($size89218968 == 21))
530- then $acc2189218968
531- else {
532- let $acc2289218968 = processAddress($acc2189218968, $list89218968[21])
533- if (($size89218968 == 22))
534- then $acc2289218968
535- else {
536- let $acc2389218968 = processAddress($acc2289218968, $list89218968[22])
537- if (($size89218968 == 23))
538- then $acc2389218968
539- else {
540- let $acc2489218968 = processAddress($acc2389218968, $list89218968[23])
541- if (($size89218968 == 24))
542- then $acc2489218968
543- else {
544- let $acc2589218968 = processAddress($acc2489218968, $list89218968[24])
545- if (($size89218968 == 25))
546- then $acc2589218968
547- else {
548- let $acc2689218968 = processAddress($acc2589218968, $list89218968[25])
549- if (($size89218968 == 26))
550- then $acc2689218968
551- else {
552- let $acc2789218968 = processAddress($acc2689218968, $list89218968[26])
553- if (($size89218968 == 27))
554- then $acc2789218968
555- else {
556- let $acc2889218968 = processAddress($acc2789218968, $list89218968[27])
557- if (($size89218968 == 28))
558- then $acc2889218968
559- else {
560- let $acc2989218968 = processAddress($acc2889218968, $list89218968[28])
561- if (($size89218968 == 29))
562- then $acc2989218968
563- else {
564- let $acc3089218968 = processAddress($acc2989218968, $list89218968[29])
565- if (($size89218968 == 30))
566- then $acc3089218968
567- else {
568- let $acc3189218968 = processAddress($acc3089218968, $list89218968[30])
569- throw("List size exceed 30")
570- }
571- }
572- }
573- }
574- }
575- }
576- }
577- }
578- }
579- }
424+ let $acc2197329779 = processAddress($acc2097329779, $list97329779[20])
425+ throw("List size exceed 20")
580426 }
581427 }
582428 }
583429 }
584430 }
585431 }
586432 }
587433 }
588434 }
589435 }
590436 }
591437 }
592438 }
593439 }
594440 }
595441 }
596442 }
597443 }
598444 }
599445 }
600446 }
601447 }
602448 let toDistr = getInt(kToDistr)
603- (result._2 ++ [IntegerEntry(kToDistr, (toDistr - result._1)), IntegerEntry(kUnstakedReward, 0)])
449+ (result._2 ++ [IntegerEntry(kToDistr, (toDistr - (result._1 * 1000000))), IntegerEntry(kUnstakedReward, 0)])
604450 }
605451
606452
607453 @Verifier(tx)
608454 func verify () = {
609455 let checkStarted = (getInt(kTotalLiquidity) >= getInt(kLiquidityThreshold))
610456 func totalEggSpending (accum,payment) = if ((payment.assetId == getEggId()))
611457 then (accum + payment.amount)
612458 else accum
613459
614460 match tx {
615461 case inv: InvokeScriptTransaction =>
616462 let unstakedRewardNow = getInt(kUnstakedReward)
617463 let toDistr = getInt(kToDistr)
618464 let minBalance = (unstakedRewardNow + toDistr)
619465 if (if ((inv.function == "unstakeNFT"))
620466 then true
621467 else (inv.function == "unstakeJackpot"))
622468 then throw("You cannot call these functions directly")
623469 else if ((sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) == false))
624470 then throw("_100")
625471 else if ((checkStarted == false))
626472 then throw("_14")
627473 else if ((getBool(kLocked) == true))
628474 then throw("_22")
629475 else if (if ((inv.fee > 900000))
630476 then true
631477 else (inv.feeAssetId != unit))
632478 then throw("_15")
633479 else if ((inv.function == "claimReward"))
634480 then throw("_16")
635481 else if ((size(inv.payments) > 2))
636482 then throw("_17")
637- else if ((minBalance > (assetBalance(this, getEggId()) - {
638- let $list1029710339 = inv.payments
639- let $size1029710339 = size($list1029710339)
640- let $acc01029710339 = 0
641- if (($size1029710339 == 0))
642- then $acc01029710339
483+ else if ((minBalance > ((assetBalance(this, getEggId()) - {
484+ let $list1112211164 = inv.payments
485+ let $size1112211164 = size($list1112211164)
486+ let $acc01112211164 = 0
487+ if (($size1112211164 == 0))
488+ then $acc01112211164
643489 else {
644- let $acc11029710339 = totalEggSpending($acc01029710339, $list1029710339[0])
645- if (($size1029710339 == 1))
646- then $acc11029710339
490+ let $acc11112211164 = totalEggSpending($acc01112211164, $list1112211164[0])
491+ if (($size1112211164 == 1))
492+ then $acc11112211164
647493 else {
648- let $acc21029710339 = totalEggSpending($acc11029710339, $list1029710339[1])
649- if (($size1029710339 == 2))
650- then $acc21029710339
494+ let $acc21112211164 = totalEggSpending($acc11112211164, $list1112211164[1])
495+ if (($size1112211164 == 2))
496+ then $acc21112211164
651497 else {
652- let $acc31029710339 = totalEggSpending($acc21029710339, $list1029710339[2])
653- if (($size1029710339 == 3))
654- then $acc31029710339
498+ let $acc31112211164 = totalEggSpending($acc21112211164, $list1112211164[2])
499+ if (($size1112211164 == 3))
500+ then $acc31112211164
655501 else {
656- let $acc41029710339 = totalEggSpending($acc31029710339, $list1029710339[3])
502+ let $acc41112211164 = totalEggSpending($acc31112211164, $list1112211164[3])
657503 throw("List size exceed 3")
658504 }
659505 }
660506 }
661507 }
662- })))
508+ }) * 1000000)))
663509 then throw(("Your minimal balance should be = " + toString(minBalance)))
664510 else if (if ((addressFromRecipient(inv.dApp) == this))
665511 then (inv.function == "callUnstakeProxy")
666512 else false)
667513 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
668514 else if (if ((addressFromRecipient(inv.dApp) == this))
669515 then (inv.function == "revertTransfer")
670516 else false)
671517 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
672518 else if (if ((addressFromRecipient(inv.dApp) == this))
673519 then (inv.function == "claimCeoFee")
674520 else false)
675521 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
676522 else if (if ((addressFromRecipient(inv.dApp) == addressFromStringValue(getMarketProxyAddr())))
677523 then (inv.function == "callMarketplaceProxy")
678524 else false)
679525 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
680526 else {
681527 let allowedContracts = getStrA(mAccAddr, "allowed_contracts")
682528 let allowedContractsList = split(allowedContracts, ";")
683529 let dappToCall = toString(addressFromRecipient(inv.dApp))
684530 (indexOf(allowedContractsList, dappToCall) != unit)
685531 }
686532 case ss: SetScriptTransaction =>
687533 sigVerify(tx.bodyBytes, tx.proofs[0], mAccPKey)
688534 case _ =>
689535 false
690536 }
691537 }
692538

github/deemru/w8io/6500d08 
330.73 ms