2021.06.16 20:40 [2637973] smart account 3PF21L9aRbaGjcsu5sAUrJPw1gi4RmLugFi > SELF 0.00000000 Waves

{ "type": 13, "id": "H4uu1xV9QJTqF6JHJuqT7pn5VJwhB68sySgxyg3on4x3", "fee": 1400000, "feeAssetId": null, "timestamp": 1623865202849, "version": 2, "chainId": 87, "sender": "3PF21L9aRbaGjcsu5sAUrJPw1gi4RmLugFi", "senderPublicKey": "5AZJc2JvBSnmkRSK1MmbNWSM3b5oUsbsmWaa1wuDk1pb", "proofs": [ "4XpDDPYJWzgVVryBdVKERXZBKADNB4cbYDKZH7PBTcKuvTpNPCeJBwJLn3WvwixiEnqEbbpPFEsZQQGKoDJZ6FWL" ], "script": "base64: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DSRhY2MxMTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjMDE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAEFAAAADSRhY2MxMTg5MTE5MjIEAAAADSRhY2MyMTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjMTE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAIFAAAADSRhY2MyMTg5MTE5MjIEAAAADSRhY2MzMTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjMjE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAMFAAAADSRhY2MzMTg5MTE5MjIEAAAADSRhY2M0MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjMzE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAQFAAAADSRhY2M0MTg5MTE5MjIEAAAADSRhY2M1MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjNDE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAUFAAAADSRhY2M1MTg5MTE5MjIEAAAADSRhY2M2MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjNTE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAYFAAAADSRhY2M2MTg5MTE5MjIEAAAADSRhY2M3MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjNjE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAcFAAAADSRhY2M3MTg5MTE5MjIEAAAADSRhY2M4MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjNzE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMTg5MTE5MjIAAAAAAAAAAAgFAAAADSRhY2M4MTg5MTE5MjIEAAAADSRhY2M5MTg5MTE5MjIJAQAAAAlpc1N5bWJvbEIAAAACBQAAAA0kYWNjODE4OTExOTIyCQABkQAAAAIFAAAADSRsaXN0MTg5MTE5MjIAAAAAAAAAAAgJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA4AgAAAAFCCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABBAAAAA0kbGlzdDE5NTkxOTkwBQAAAAhnZW5vdHlwZQQAAAANJHNpemUxOTU5MTk5MAkAAZAAAAABBQAAAA0kbGlzdDE5NTkxOTkwBAAAAA0kYWNjMDE5NTkxOTkwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAABQAAAA0kYWNjMDE5NTkxOTkwBAAAAA0kYWNjMTE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzAxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAABBQAAAA0kYWNjMTE5NTkxOTkwBAAAAA0kYWNjMjE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzExOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAACBQAAAA0kYWNjMjE5NTkxOTkwBAAAAA0kYWNjMzE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzIxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAADBQAAAA0kYWNjMzE5NTkxOTkwBAAAAA0kYWNjNDE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzMxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAEBQAAAA0kYWNjNDE5NTkxOTkwBAAAAA0kYWNjNTE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzQxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAFBQAAAA0kYWNjNTE5NTkxOTkwBAAAAA0kYWNjNjE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzUxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAGBQAAAA0kYWNjNjE5NTkxOTkwBAAAAA0kYWNjNzE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzYxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAHBQAAAA0kYWNjNzE5NTkxOTkwBAAAAA0kYWNjODE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzcxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5NTkxOTkwAAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTE5NTkxOTkwAAAAAAAAAAAIBQAAAA0kYWNjODE5NTkxOTkwBAAAAA0kYWNjOTE5NTkxOTkwCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzgxOTU5MTk5MAkAAZEAAAACBQAAAA0kbGlzdDE5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MzQEAAAADSRhY2MyMjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMTIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAIFAAAADSRhY2MyMjMwMzIzMzQEAAAADSRhY2MzMjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMjIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAMFAAAADSRhY2MzMjMwMzIzMzQEAAAADSRhY2M0MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMzIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAQFAAAADSRhY2M0MjMwMzIzMzQEAAAADSRhY2M1MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNDIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAUFAAAADSRhY2M1MjMwMzIzMzQEAAAADSRhY2M2MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNTIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAYFAAAADSRhY2M2MjMwMzIzMzQEAAAADSRhY2M3MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNjIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAcFAAAADSRhY2M3MjMwMzIzMzQEAAAADSRhY2M4MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNzIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMjMwMzIzMzQAAAAAAAAAAAgFAAAADSRhY2M4MjMwMzIzMzQEAAAADSRhY2M5MjMwMzIzMzQJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjODIzMDMyMzM0CQABkQAAAAIFAAAADSRsaXN0MjMwMzIzMzQAAAAAAAAAAAgJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA4AgAAAAFIAQAAAA5nZXRBc3NldE9yaWdpbgAAAAEAAAAKZ2VuZXJhdGlvbgMJAAAAAAAAAgUAAAAKZ2VuZXJhdGlvbgIAAAABRwUAAAAQaW5jdWJhdG9yQWRkcmVzcwUAAAAOYnJlZWRlckFkZHJlc3MBAAAADmdldEFzc2V0UmFyaXR5AAAAAgAAAAhnZW5vdHlwZQAAAApnZW5lcmF0aW9uBAAAAAhxdWFudGl0eQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAAB0FkZHJlc3MAAAABCQEAAAAOZ2V0QXNzZXRPcmlnaW4AAAABBQAAAApnZW5lcmF0aW9uCQABLAAAAAIJAAEsAAAAAgIAAAAGc3RhdHNfBQAAAAhnZW5vdHlwZQIAAAAJX3F1YW50aXR5CQAAbAAAAAYFAAAACHF1YW50aXR5AAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABAAAAAAAAAAACBQAAAAhIQUxGRE9XTgEAAAAUZ2V0QXNzZXRGYXJtaW5nUG93ZXIAAAABAAAAB2Fzc2V0SWQEAAAACWFzc2V0TmFtZQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAARuYW1lBAAAAApnZW5lcmF0aW9uCQABLwAAAAIJAQAAAAl0YWtlUmlnaHQAAAACBQAAAAlhc3NldE5hbWUAAAAAAAAAAAIAAAAAAAAAAAEEAAAAA2dlbgkAASwAAAACCQABLAAAAAIJAQAAAAZnZXRHZW4AAAABBQAAAAlhc3NldE5hbWUCAAAAAS0FAAAACmdlbmVyYXRpb24JAAUUAAAAAgUAAAADZ2VuCQEAAAAOZ2V0QXNzZXRSYXJpdHkAAAACBQAAAANnZW4FAAAACmdlbmVyYXRpb24BAAAAHWdldExhc3RLbm93bkFzc2V0RmFybWluZ1Bvd2VyAAAAAgAAAAdhZGRyZXNzAAAAB2Fzc2V0SWQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAHX2Fzc2V0XwUAAAAHYXNzZXRJZAIAAAANX2Zhcm1pbmdQb3dlcgEAAAAOZ2V0QXNzZXRzQnlHZW4AAAABAAAAA2dlbgQAAAABcwkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgIAAAAHYXNzZXRzXwUAAAADZ2VuAwkAAAAAAAACBQAAAAFzAgAAAAAFAAAAA25pbAkABLUAAAACBQAAAAFzAgAAAAEsAQAAAAxjYWxjSW50ZXJlc3QAAAADAAAAEHByZXZpb3VzSW50ZXJlc3QAAAAWcHJldmlvdXNJbnRlcmVzdEhlaWdodAAAABF0b3RhbEZhcm1pbmdQb3dlcgkAAGQAAAACBQAAABBwcmV2aW91c0ludGVyZXN0CQAAaQAAAAIJAABoAAAAAgkAAGgAAAACBQAAAAVzY2FsZQkBAAAAEWdldFJld2FyZFBlckJsb2NrAAAAAAkAAGUAAAACBQAAAAZoZWlnaHQFAAAAFnByZXZpb3VzSW50ZXJlc3RIZWlnaHQFAAAAEXRvdGFsRmFybWluZ1Bvd2VyAQAAABJnZXRDdXJyZW50SW50ZXJlc3QAAAAAAwkAAGYAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEnRvdGFsX2Zhcm1pbmdQb3dlcgAAAAAAAAAAAAQAAAAQcHJldmlvdXNJbnRlcmVzdAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABd0b3RhbF9sYXN0Q2hlY2tJbnRlcmVzdAQAAAAWcHJldmlvdXNJbnRlcmVzdEhlaWdodAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAB10b3RhbF9sYXN0Q2hlY2tJbnRlcmVzdEhlaWdodAQAAAARdG90YWxGYXJtaW5nUG93ZXIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAASdG90YWxfZmFybWluZ1Bvd2VyCQEAAAAMY2FsY0ludGVyZXN0AAAAAwUAAAAQcHJldmlvdXNJbnRlcmVzdAUAAAAWcHJldmlvdXNJbnRlcmVzdEhlaWdodAUAAAARdG90YWxGYXJtaW5nUG93ZXIDCQAAZwAAAAIFAAAABmhlaWdodAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABF0b3RhbF9zdGFydEhlaWdodAAAAAAAAAAAAAkAAAIAAAABAgAAABxmYXJtaW5nIGlzIG5vdCBsYXVuY2hlZCwgeWV0AQAAABRjYWxjQXNzZXRSZXdhcmREZWx0YQAAAAMAAAAHYWRkcmVzcwAAAAdhc3NldElkAAAAEWFzc2V0RmFybWluZ1Bvd2VyBAAAABVsYXN0Q2hlY2tVc2VySW50ZXJlc3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAHX2Fzc2V0XwUAAAAHYXNzZXRJZAIAAAASX2xhc3RDaGVja0ludGVyZXN0BAAAAA9jdXJyZW50SW50ZXJlc3QJAQAAABJnZXRDdXJyZW50SW50ZXJlc3QAAAAACQAAaAAAAAIFAAAAEWFzc2V0RmFybWluZ1Bvd2VyCQAAZQAAAAIFAAAAD2N1cnJlbnRJbnRlcmVzdAUAAAAVbGFzdENoZWNrVXNlckludGVyZXN0AQAAABRhZGRBc3NldElkVG9HZW5FbnRyeQAAAAIAAAAHYXNzZXRJZAAAAAhhc3NldEdlbgQAAAAMY3VycmVudFZhbHVlCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2Fzc2V0c18FAAAACGFzc2V0R2VuAgAAAAdfbG9ja2VkAwkAAAAAAAACBQAAAAxjdXJyZW50VmFsdWUCAAAAAAUAAAAHYXNzZXRJZAkAASwAAAACCQABLAAAAAIFAAAADGN1cnJlbnRWYWx1ZQIAAAABLAUAAAAHYXNzZXRJZAEAAAATZ2V0Q2hlY2tEYXRhQ2hhbmdlcwAAAAQAAAAHYWRkcmVzcwAAAAdhc3NldElkAAAAC3Jld2FyZERlbHRhAAAAFmFzc2V0RmFybWluZ1Bvd2VyRGVsdGEEAAAABWFzc2V0CQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEnRvdGFsX2Zhcm1pbmdQb3dlcgkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEnRvdGFsX2Zhcm1pbmdQb3dlcgUAAAAWYXNzZXRGYXJtaW5nUG93ZXJEZWx0YQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXdG90YWxfbGFzdENoZWNrSW50ZXJlc3QJAQAAABJnZXRDdXJyZW50SW50ZXJlc3QAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB10b3RhbF9sYXN0Q2hlY2tJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAANX2Zhcm1pbmdQb3dlcgkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAB19hc3NldF8FAAAABWFzc2V0AgAAAA1fZmFybWluZ1Bvd2VyBQAAABZhc3NldEZhcm1pbmdQb3dlckRlbHRhCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAASX2xhc3RDaGVja0ludGVyZXN0CQEAAAASZ2V0Q3VycmVudEludGVyZXN0AAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAHX2Fzc2V0XwUAAAAFYXNzZXQCAAAAFl9sYXN0Q2hlY2tGYXJtZWRBbW91bnQJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAAWX2xhc3RDaGVja0Zhcm1lZEFtb3VudAUAAAALcmV3YXJkRGVsdGEFAAAAA25pbAAAAAQAAAABaQEAAAAEaW5pdAAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAKYWRtaW4gb25seQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAARdG90YWxfc3RhcnRIZWlnaHQFAAAABmhlaWdodAUAAAADbmlsAAAAAWkBAAAACHN0YWtlTkZUAAAAAAQAAAAHYXNzZXRJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAHYWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACyR0MDU2NjQ1NzI5CQEAAAAUZ2V0QXNzZXRGYXJtaW5nUG93ZXIAAAABBQAAAAdhc3NldElkBAAAAAhhc3NldEdlbggFAAAACyR0MDU2NjQ1NzI5AAAAAl8xBAAAABFhc3NldEZhcm1pbmdQb3dlcggFAAAACyR0MDU2NjQ1NzI5AAAAAl8yBAAAABBhc3NldFJld2FyZERlbHRhCQEAAAAUY2FsY0Fzc2V0UmV3YXJkRGVsdGEAAAADBQAAAAdhZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQFAAAAEWFzc2V0RmFybWluZ1Bvd2VyCQEAAAATZ2V0Q2hlY2tEYXRhQ2hhbmdlcwAAAAQFAAAAB2FkZHJlc3MFAAAAB2Fzc2V0SWQFAAAAEGFzc2V0UmV3YXJkRGVsdGEFAAAAEWFzc2V0RmFybWluZ1Bvd2VyAAAAAWkBAAAACnVuc3Rha2VORlQAAAABAAAABWFzc2V0BAAAAAdhc3NldElkCQACWQAAAAEFAAAABWFzc2V0BAAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARYXNzZXRGYXJtaW5nUG93ZXIJAQAAAB1nZXRMYXN0S25vd25Bc3NldEZhcm1pbmdQb3dlcgAAAAIFAAAAB2FkZHJlc3MFAAAABWFzc2V0BAAAABBhc3NldFJld2FyZERlbHRhCQEAAAAUY2FsY0Fzc2V0UmV3YXJkRGVsdGEAAAADBQAAAAdhZGRyZXNzBQAAAAVhc3NldAUAAAARYXNzZXRGYXJtaW5nUG93ZXIEAAAABnJldHVybgkBAAAAE2dldENoZWNrRGF0YUNoYW5nZXMAAAAEBQAAAAdhZGRyZXNzBQAAAAdhc3NldElkBQAAABBhc3NldFJld2FyZERlbHRhCQEAAAABLQAAAAEFAAAAEWFzc2V0RmFybWluZ1Bvd2VyCQAETgAAAAIFAAAABnJldHVybgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAGQFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAFpAQAAAAtjbGFpbVJld2FyZAAAAAEAAAAFYXNzZXQEAAAAB2FkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAdhc3NldElkCQACWQAAAAEFAAAABWFzc2V0BAAAAAskdDA2NzAyNjc2NwkBAAAAFGdldEFzc2V0RmFybWluZ1Bvd2VyAAAAAQUAAAAHYXNzZXRJZAQAAAAIYXNzZXRHZW4IBQAAAAskdDA2NzAyNjc2NwAAAAJfMQQAAAARYXNzZXRGYXJtaW5nUG93ZXIIBQAAAAskdDA2NzAyNjc2NwAAAAJfMgQAAAAMZmFybWVkQW1vdW50CQAAZAAAAAIJAQAAABRjYWxjQXNzZXRSZXdhcmREZWx0YQAAAAMFAAAAB2FkZHJlc3MFAAAABWFzc2V0BQAAABFhc3NldEZhcm1pbmdQb3dlcgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAFl9sYXN0Q2hlY2tGYXJtZWRBbW91bnQEAAAAD3dpdGhkcmF3bkFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAEF93aXRoZHJhd25BbW91bnQEAAAABnJld2FyZAkAAGkAAAACCQAAZQAAAAIFAAAADGZhcm1lZEFtb3VudAUAAAAPd2l0aGRyYXduQW1vdW50BQAAAAVzY2FsZQMJAABnAAAAAgAAAAAAAAAAAAUAAAAGcmV3YXJkCQAAAgAAAAECAAAAHHlvdSBoYXZlIG5vIEVHR3MgdG8gd2l0aGRyYXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAQX3dpdGhkcmF3bkFtb3VudAUAAAAMZmFybWVkQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGcmV3YXJkBQAAAAtlZ2dzQXNzZXRJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXl1SPHD", "height": 2637973, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BwFsvdfXP7vqDLKznbR3dS6QeWF7MJCx2TUpddvx3cj5 Next: 3bgPEfWbBeh499i95fNYJ6WSx7fbthnBZNrSXxF2F6E4 Diff:
OldNewDifferences
502502 }
503503
504504
505-func getLastKnownFarmingPower (address,assetId) = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
505+func getLastKnownAssetFarmingPower (address,assetId) = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
506506
507507
508508 func getAssetsByGen (gen) = {
543543 }
544544
545545
546-func getCheckDataChanges (address,assetId,rewardDelta,assetFarmingPowerDelta,assetGen) = {
546+func getCheckDataChanges (address,assetId,rewardDelta,assetFarmingPowerDelta) = {
547547 let asset = toBase58String(assetId)
548548 [IntegerEntry("total_farmingPower", (tryGetInteger("total_farmingPower") + assetFarmingPowerDelta)), IntegerEntry("total_lastCheckInterest", getCurrentInterest()), IntegerEntry("total_lastCheckInterestHeight", height), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_farmingPower"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_farmingPower")) + assetFarmingPowerDelta)), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckInterest"), getCurrentInterest()), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount")) + rewardDelta))]
549549 }
560560 func stakeNFT () = {
561561 let assetId = value(value(i.payments[0]).assetId)
562562 let address = toString(i.caller)
563- let $t056775742 = getAssetFarmingPower(assetId)
564- let assetGen = $t056775742._1
565- let assetFarmingPower = $t056775742._2
563+ let $t056645729 = getAssetFarmingPower(assetId)
564+ let assetGen = $t056645729._1
565+ let assetFarmingPower = $t056645729._2
566566 let assetRewardDelta = calcAssetRewardDelta(address, toBase58String(assetId), assetFarmingPower)
567- getCheckDataChanges(address, assetId, assetRewardDelta, assetFarmingPower, assetGen)
567+ getCheckDataChanges(address, assetId, assetRewardDelta, assetFarmingPower)
568568 }
569569
570570
573573 func unstakeNFT (asset) = {
574574 let assetId = fromBase58String(asset)
575575 let address = toString(i.caller)
576- let $t060626127 = getAssetFarmingPower(assetId)
577- let assetGen = $t060626127._1
578- let assetFarmingPower = $t060626127._2
576+ let assetFarmingPower = getLastKnownAssetFarmingPower(address, asset)
579577 let assetRewardDelta = calcAssetRewardDelta(address, asset, assetFarmingPower)
580- let return = getCheckDataChanges(address, assetId, assetRewardDelta, -(assetFarmingPower), assetGen)
578+ let return = getCheckDataChanges(address, assetId, assetRewardDelta, -(assetFarmingPower))
581579 (return ++ [ScriptTransfer(i.caller, 100, assetId)])
582580 }
583581
587585 func claimReward (asset) = {
588586 let address = toString(i.caller)
589587 let assetId = fromBase58String(asset)
590- let $t067316796 = getAssetFarmingPower(assetId)
591- let assetGen = $t067316796._1
592- let assetFarmingPower = $t067316796._2
588+ let $t067026767 = getAssetFarmingPower(assetId)
589+ let assetGen = $t067026767._1
590+ let assetFarmingPower = $t067026767._2
593591 let farmedAmount = (calcAssetRewardDelta(address, asset, assetFarmingPower) + tryGetInteger((("address_" + address) + "_lastCheckFarmedAmount")))
594592 let withdrawnAmount = tryGetInteger((("address_" + address) + "_withdrawnAmount"))
595593 let reward = ((farmedAmount - withdrawnAmount) / scale)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let eggsAssetId = base58'53bLXGQhnMxAoiWnza2SJQRp7hNQZVHnyrRziLmwdVjb'
55
66 let perchPrice = 100
77
88 let scale = 10000
99
1010 let incubatorAddress = base58'3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM'
1111
1212 let breederAddress = base58'3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y'
1313
1414 let GENS = ["A", "B", "C", "D", "E", "F", "G"]
1515
1616 func getRewardPerBlock () = 7
1717
1818
1919 func tryGetInteger (key) = match getInteger(this, key) {
2020 case b: Int =>
2121 b
2222 case _ =>
2323 0
2424 }
2525
2626
2727 func tryGetString (key) = match getString(this, key) {
2828 case a: String =>
2929 a
3030 case _ =>
3131 ""
3232 }
3333
3434
3535 func isSymbolA (accumulated,sym) = if ((sym == "A"))
3636 then (accumulated + 1)
3737 else (accumulated + 0)
3838
3939
4040 func isSymbolB (accumulated,sym) = if ((sym == "B"))
4141 then (accumulated + 1)
4242 else (accumulated + 0)
4343
4444
4545 func isSymbolC (accumulated,sym) = if ((sym == "C"))
4646 then (accumulated + 1)
4747 else (accumulated + 0)
4848
4949
5050 func isSymbolD (accumulated,sym) = if ((sym == "D"))
5151 then (accumulated + 1)
5252 else (accumulated + 0)
5353
5454
5555 func isSymbolE (accumulated,sym) = if ((sym == "E"))
5656 then (accumulated + 1)
5757 else (accumulated + 0)
5858
5959
6060 func isSymbolF (accumulated,sym) = if ((sym == "F"))
6161 then (accumulated + 1)
6262 else (accumulated + 0)
6363
6464
6565 func isSymbolG (accumulated,sym) = if ((sym == "G"))
6666 then (accumulated + 1)
6767 else (accumulated + 0)
6868
6969
7070 func isSymbolH (accumulated,sym) = if ((sym == "H"))
7171 then (accumulated + 1)
7272 else (accumulated + 0)
7373
7474
7575 func getAmountOrClear (amount) = if (contains(amount, "0"))
7676 then ""
7777 else amount
7878
7979
8080 func getGen (assetName) = {
8181 let genotype = split(dropRight(drop(assetName, 5), 3), "")
8282 (((((((getAmountOrClear((toString({
8383 let $list18231854 = genotype
8484 let $size18231854 = size($list18231854)
8585 let $acc018231854 = 0
8686 if (($size18231854 == 0))
8787 then $acc018231854
8888 else {
8989 let $acc118231854 = isSymbolA($acc018231854, $list18231854[0])
9090 if (($size18231854 == 1))
9191 then $acc118231854
9292 else {
9393 let $acc218231854 = isSymbolA($acc118231854, $list18231854[1])
9494 if (($size18231854 == 2))
9595 then $acc218231854
9696 else {
9797 let $acc318231854 = isSymbolA($acc218231854, $list18231854[2])
9898 if (($size18231854 == 3))
9999 then $acc318231854
100100 else {
101101 let $acc418231854 = isSymbolA($acc318231854, $list18231854[3])
102102 if (($size18231854 == 4))
103103 then $acc418231854
104104 else {
105105 let $acc518231854 = isSymbolA($acc418231854, $list18231854[4])
106106 if (($size18231854 == 5))
107107 then $acc518231854
108108 else {
109109 let $acc618231854 = isSymbolA($acc518231854, $list18231854[5])
110110 if (($size18231854 == 6))
111111 then $acc618231854
112112 else {
113113 let $acc718231854 = isSymbolA($acc618231854, $list18231854[6])
114114 if (($size18231854 == 7))
115115 then $acc718231854
116116 else {
117117 let $acc818231854 = isSymbolA($acc718231854, $list18231854[7])
118118 if (($size18231854 == 8))
119119 then $acc818231854
120120 else {
121121 let $acc918231854 = isSymbolA($acc818231854, $list18231854[8])
122122 throw("List size exceed 8")
123123 }
124124 }
125125 }
126126 }
127127 }
128128 }
129129 }
130130 }
131131 }
132132 }) + "A")) + getAmountOrClear((toString({
133133 let $list18911922 = genotype
134134 let $size18911922 = size($list18911922)
135135 let $acc018911922 = 0
136136 if (($size18911922 == 0))
137137 then $acc018911922
138138 else {
139139 let $acc118911922 = isSymbolB($acc018911922, $list18911922[0])
140140 if (($size18911922 == 1))
141141 then $acc118911922
142142 else {
143143 let $acc218911922 = isSymbolB($acc118911922, $list18911922[1])
144144 if (($size18911922 == 2))
145145 then $acc218911922
146146 else {
147147 let $acc318911922 = isSymbolB($acc218911922, $list18911922[2])
148148 if (($size18911922 == 3))
149149 then $acc318911922
150150 else {
151151 let $acc418911922 = isSymbolB($acc318911922, $list18911922[3])
152152 if (($size18911922 == 4))
153153 then $acc418911922
154154 else {
155155 let $acc518911922 = isSymbolB($acc418911922, $list18911922[4])
156156 if (($size18911922 == 5))
157157 then $acc518911922
158158 else {
159159 let $acc618911922 = isSymbolB($acc518911922, $list18911922[5])
160160 if (($size18911922 == 6))
161161 then $acc618911922
162162 else {
163163 let $acc718911922 = isSymbolB($acc618911922, $list18911922[6])
164164 if (($size18911922 == 7))
165165 then $acc718911922
166166 else {
167167 let $acc818911922 = isSymbolB($acc718911922, $list18911922[7])
168168 if (($size18911922 == 8))
169169 then $acc818911922
170170 else {
171171 let $acc918911922 = isSymbolB($acc818911922, $list18911922[8])
172172 throw("List size exceed 8")
173173 }
174174 }
175175 }
176176 }
177177 }
178178 }
179179 }
180180 }
181181 }
182182 }) + "B"))) + getAmountOrClear((toString({
183183 let $list19591990 = genotype
184184 let $size19591990 = size($list19591990)
185185 let $acc019591990 = 0
186186 if (($size19591990 == 0))
187187 then $acc019591990
188188 else {
189189 let $acc119591990 = isSymbolC($acc019591990, $list19591990[0])
190190 if (($size19591990 == 1))
191191 then $acc119591990
192192 else {
193193 let $acc219591990 = isSymbolC($acc119591990, $list19591990[1])
194194 if (($size19591990 == 2))
195195 then $acc219591990
196196 else {
197197 let $acc319591990 = isSymbolC($acc219591990, $list19591990[2])
198198 if (($size19591990 == 3))
199199 then $acc319591990
200200 else {
201201 let $acc419591990 = isSymbolC($acc319591990, $list19591990[3])
202202 if (($size19591990 == 4))
203203 then $acc419591990
204204 else {
205205 let $acc519591990 = isSymbolC($acc419591990, $list19591990[4])
206206 if (($size19591990 == 5))
207207 then $acc519591990
208208 else {
209209 let $acc619591990 = isSymbolC($acc519591990, $list19591990[5])
210210 if (($size19591990 == 6))
211211 then $acc619591990
212212 else {
213213 let $acc719591990 = isSymbolC($acc619591990, $list19591990[6])
214214 if (($size19591990 == 7))
215215 then $acc719591990
216216 else {
217217 let $acc819591990 = isSymbolC($acc719591990, $list19591990[7])
218218 if (($size19591990 == 8))
219219 then $acc819591990
220220 else {
221221 let $acc919591990 = isSymbolC($acc819591990, $list19591990[8])
222222 throw("List size exceed 8")
223223 }
224224 }
225225 }
226226 }
227227 }
228228 }
229229 }
230230 }
231231 }
232232 }) + "C"))) + getAmountOrClear((toString({
233233 let $list20292060 = genotype
234234 let $size20292060 = size($list20292060)
235235 let $acc020292060 = 0
236236 if (($size20292060 == 0))
237237 then $acc020292060
238238 else {
239239 let $acc120292060 = isSymbolD($acc020292060, $list20292060[0])
240240 if (($size20292060 == 1))
241241 then $acc120292060
242242 else {
243243 let $acc220292060 = isSymbolD($acc120292060, $list20292060[1])
244244 if (($size20292060 == 2))
245245 then $acc220292060
246246 else {
247247 let $acc320292060 = isSymbolD($acc220292060, $list20292060[2])
248248 if (($size20292060 == 3))
249249 then $acc320292060
250250 else {
251251 let $acc420292060 = isSymbolD($acc320292060, $list20292060[3])
252252 if (($size20292060 == 4))
253253 then $acc420292060
254254 else {
255255 let $acc520292060 = isSymbolD($acc420292060, $list20292060[4])
256256 if (($size20292060 == 5))
257257 then $acc520292060
258258 else {
259259 let $acc620292060 = isSymbolD($acc520292060, $list20292060[5])
260260 if (($size20292060 == 6))
261261 then $acc620292060
262262 else {
263263 let $acc720292060 = isSymbolD($acc620292060, $list20292060[6])
264264 if (($size20292060 == 7))
265265 then $acc720292060
266266 else {
267267 let $acc820292060 = isSymbolD($acc720292060, $list20292060[7])
268268 if (($size20292060 == 8))
269269 then $acc820292060
270270 else {
271271 let $acc920292060 = isSymbolD($acc820292060, $list20292060[8])
272272 throw("List size exceed 8")
273273 }
274274 }
275275 }
276276 }
277277 }
278278 }
279279 }
280280 }
281281 }
282282 }) + "D"))) + getAmountOrClear((toString({
283283 let $list20972128 = genotype
284284 let $size20972128 = size($list20972128)
285285 let $acc020972128 = 0
286286 if (($size20972128 == 0))
287287 then $acc020972128
288288 else {
289289 let $acc120972128 = isSymbolE($acc020972128, $list20972128[0])
290290 if (($size20972128 == 1))
291291 then $acc120972128
292292 else {
293293 let $acc220972128 = isSymbolE($acc120972128, $list20972128[1])
294294 if (($size20972128 == 2))
295295 then $acc220972128
296296 else {
297297 let $acc320972128 = isSymbolE($acc220972128, $list20972128[2])
298298 if (($size20972128 == 3))
299299 then $acc320972128
300300 else {
301301 let $acc420972128 = isSymbolE($acc320972128, $list20972128[3])
302302 if (($size20972128 == 4))
303303 then $acc420972128
304304 else {
305305 let $acc520972128 = isSymbolE($acc420972128, $list20972128[4])
306306 if (($size20972128 == 5))
307307 then $acc520972128
308308 else {
309309 let $acc620972128 = isSymbolE($acc520972128, $list20972128[5])
310310 if (($size20972128 == 6))
311311 then $acc620972128
312312 else {
313313 let $acc720972128 = isSymbolE($acc620972128, $list20972128[6])
314314 if (($size20972128 == 7))
315315 then $acc720972128
316316 else {
317317 let $acc820972128 = isSymbolE($acc720972128, $list20972128[7])
318318 if (($size20972128 == 8))
319319 then $acc820972128
320320 else {
321321 let $acc920972128 = isSymbolE($acc820972128, $list20972128[8])
322322 throw("List size exceed 8")
323323 }
324324 }
325325 }
326326 }
327327 }
328328 }
329329 }
330330 }
331331 }
332332 }) + "E"))) + getAmountOrClear((toString({
333333 let $list21652196 = genotype
334334 let $size21652196 = size($list21652196)
335335 let $acc021652196 = 0
336336 if (($size21652196 == 0))
337337 then $acc021652196
338338 else {
339339 let $acc121652196 = isSymbolF($acc021652196, $list21652196[0])
340340 if (($size21652196 == 1))
341341 then $acc121652196
342342 else {
343343 let $acc221652196 = isSymbolF($acc121652196, $list21652196[1])
344344 if (($size21652196 == 2))
345345 then $acc221652196
346346 else {
347347 let $acc321652196 = isSymbolF($acc221652196, $list21652196[2])
348348 if (($size21652196 == 3))
349349 then $acc321652196
350350 else {
351351 let $acc421652196 = isSymbolF($acc321652196, $list21652196[3])
352352 if (($size21652196 == 4))
353353 then $acc421652196
354354 else {
355355 let $acc521652196 = isSymbolF($acc421652196, $list21652196[4])
356356 if (($size21652196 == 5))
357357 then $acc521652196
358358 else {
359359 let $acc621652196 = isSymbolF($acc521652196, $list21652196[5])
360360 if (($size21652196 == 6))
361361 then $acc621652196
362362 else {
363363 let $acc721652196 = isSymbolF($acc621652196, $list21652196[6])
364364 if (($size21652196 == 7))
365365 then $acc721652196
366366 else {
367367 let $acc821652196 = isSymbolF($acc721652196, $list21652196[7])
368368 if (($size21652196 == 8))
369369 then $acc821652196
370370 else {
371371 let $acc921652196 = isSymbolF($acc821652196, $list21652196[8])
372372 throw("List size exceed 8")
373373 }
374374 }
375375 }
376376 }
377377 }
378378 }
379379 }
380380 }
381381 }
382382 }) + "F"))) + getAmountOrClear((toString({
383383 let $list22352266 = genotype
384384 let $size22352266 = size($list22352266)
385385 let $acc022352266 = 0
386386 if (($size22352266 == 0))
387387 then $acc022352266
388388 else {
389389 let $acc122352266 = isSymbolG($acc022352266, $list22352266[0])
390390 if (($size22352266 == 1))
391391 then $acc122352266
392392 else {
393393 let $acc222352266 = isSymbolG($acc122352266, $list22352266[1])
394394 if (($size22352266 == 2))
395395 then $acc222352266
396396 else {
397397 let $acc322352266 = isSymbolG($acc222352266, $list22352266[2])
398398 if (($size22352266 == 3))
399399 then $acc322352266
400400 else {
401401 let $acc422352266 = isSymbolG($acc322352266, $list22352266[3])
402402 if (($size22352266 == 4))
403403 then $acc422352266
404404 else {
405405 let $acc522352266 = isSymbolG($acc422352266, $list22352266[4])
406406 if (($size22352266 == 5))
407407 then $acc522352266
408408 else {
409409 let $acc622352266 = isSymbolG($acc522352266, $list22352266[5])
410410 if (($size22352266 == 6))
411411 then $acc622352266
412412 else {
413413 let $acc722352266 = isSymbolG($acc622352266, $list22352266[6])
414414 if (($size22352266 == 7))
415415 then $acc722352266
416416 else {
417417 let $acc822352266 = isSymbolG($acc722352266, $list22352266[7])
418418 if (($size22352266 == 8))
419419 then $acc822352266
420420 else {
421421 let $acc922352266 = isSymbolG($acc822352266, $list22352266[8])
422422 throw("List size exceed 8")
423423 }
424424 }
425425 }
426426 }
427427 }
428428 }
429429 }
430430 }
431431 }
432432 }) + "G"))) + getAmountOrClear((toString({
433433 let $list23032334 = genotype
434434 let $size23032334 = size($list23032334)
435435 let $acc023032334 = 0
436436 if (($size23032334 == 0))
437437 then $acc023032334
438438 else {
439439 let $acc123032334 = isSymbolH($acc023032334, $list23032334[0])
440440 if (($size23032334 == 1))
441441 then $acc123032334
442442 else {
443443 let $acc223032334 = isSymbolH($acc123032334, $list23032334[1])
444444 if (($size23032334 == 2))
445445 then $acc223032334
446446 else {
447447 let $acc323032334 = isSymbolH($acc223032334, $list23032334[2])
448448 if (($size23032334 == 3))
449449 then $acc323032334
450450 else {
451451 let $acc423032334 = isSymbolH($acc323032334, $list23032334[3])
452452 if (($size23032334 == 4))
453453 then $acc423032334
454454 else {
455455 let $acc523032334 = isSymbolH($acc423032334, $list23032334[4])
456456 if (($size23032334 == 5))
457457 then $acc523032334
458458 else {
459459 let $acc623032334 = isSymbolH($acc523032334, $list23032334[5])
460460 if (($size23032334 == 6))
461461 then $acc623032334
462462 else {
463463 let $acc723032334 = isSymbolH($acc623032334, $list23032334[6])
464464 if (($size23032334 == 7))
465465 then $acc723032334
466466 else {
467467 let $acc823032334 = isSymbolH($acc723032334, $list23032334[7])
468468 if (($size23032334 == 8))
469469 then $acc823032334
470470 else {
471471 let $acc923032334 = isSymbolH($acc823032334, $list23032334[8])
472472 throw("List size exceed 8")
473473 }
474474 }
475475 }
476476 }
477477 }
478478 }
479479 }
480480 }
481481 }
482482 }) + "H")))
483483 }
484484
485485
486486 func getAssetOrigin (generation) = if ((generation == "G"))
487487 then incubatorAddress
488488 else breederAddress
489489
490490
491491 func getAssetRarity (genotype,generation) = {
492492 let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + genotype) + "_quantity"))
493493 pow(quantity, 0, 5, 1, 2, HALFDOWN)
494494 }
495495
496496
497497 func getAssetFarmingPower (assetId) = {
498498 let assetName = value(assetInfo(assetId)).name
499499 let generation = take(takeRight(assetName, 2), 1)
500500 let gen = ((getGen(assetName) + "-") + generation)
501501 $Tuple2(gen, getAssetRarity(gen, generation))
502502 }
503503
504504
505-func getLastKnownFarmingPower (address,assetId) = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
505+func getLastKnownAssetFarmingPower (address,assetId) = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_farmingPower"))
506506
507507
508508 func getAssetsByGen (gen) = {
509509 let s = tryGetString(("assets_" + gen))
510510 if ((s == ""))
511511 then nil
512512 else split(s, ",")
513513 }
514514
515515
516516 func calcInterest (previousInterest,previousInterestHeight,totalFarmingPower) = (previousInterest + (((scale * getRewardPerBlock()) * (height - previousInterestHeight)) / totalFarmingPower))
517517
518518
519519 func getCurrentInterest () = if ((tryGetInteger("total_farmingPower") > 0))
520520 then {
521521 let previousInterest = tryGetInteger("total_lastCheckInterest")
522522 let previousInterestHeight = tryGetInteger("total_lastCheckInterestHeight")
523523 let totalFarmingPower = tryGetInteger("total_farmingPower")
524524 calcInterest(previousInterest, previousInterestHeight, totalFarmingPower)
525525 }
526526 else if ((height >= tryGetInteger("total_startHeight")))
527527 then 0
528528 else throw("farming is not launched, yet")
529529
530530
531531 func calcAssetRewardDelta (address,assetId,assetFarmingPower) = {
532532 let lastCheckUserInterest = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_lastCheckInterest"))
533533 let currentInterest = getCurrentInterest()
534534 (assetFarmingPower * (currentInterest - lastCheckUserInterest))
535535 }
536536
537537
538538 func addAssetIdToGenEntry (assetId,assetGen) = {
539539 let currentValue = tryGetString((("assets_" + assetGen) + "_locked"))
540540 if ((currentValue == ""))
541541 then assetId
542542 else ((currentValue + ",") + assetId)
543543 }
544544
545545
546-func getCheckDataChanges (address,assetId,rewardDelta,assetFarmingPowerDelta,assetGen) = {
546+func getCheckDataChanges (address,assetId,rewardDelta,assetFarmingPowerDelta) = {
547547 let asset = toBase58String(assetId)
548548 [IntegerEntry("total_farmingPower", (tryGetInteger("total_farmingPower") + assetFarmingPowerDelta)), IntegerEntry("total_lastCheckInterest", getCurrentInterest()), IntegerEntry("total_lastCheckInterestHeight", height), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_farmingPower"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_farmingPower")) + assetFarmingPowerDelta)), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckInterest"), getCurrentInterest()), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount")) + rewardDelta))]
549549 }
550550
551551
552552 @Callable(i)
553553 func init () = if ((i.caller != this))
554554 then throw("admin only")
555555 else [IntegerEntry("total_startHeight", height)]
556556
557557
558558
559559 @Callable(i)
560560 func stakeNFT () = {
561561 let assetId = value(value(i.payments[0]).assetId)
562562 let address = toString(i.caller)
563- let $t056775742 = getAssetFarmingPower(assetId)
564- let assetGen = $t056775742._1
565- let assetFarmingPower = $t056775742._2
563+ let $t056645729 = getAssetFarmingPower(assetId)
564+ let assetGen = $t056645729._1
565+ let assetFarmingPower = $t056645729._2
566566 let assetRewardDelta = calcAssetRewardDelta(address, toBase58String(assetId), assetFarmingPower)
567- getCheckDataChanges(address, assetId, assetRewardDelta, assetFarmingPower, assetGen)
567+ getCheckDataChanges(address, assetId, assetRewardDelta, assetFarmingPower)
568568 }
569569
570570
571571
572572 @Callable(i)
573573 func unstakeNFT (asset) = {
574574 let assetId = fromBase58String(asset)
575575 let address = toString(i.caller)
576- let $t060626127 = getAssetFarmingPower(assetId)
577- let assetGen = $t060626127._1
578- let assetFarmingPower = $t060626127._2
576+ let assetFarmingPower = getLastKnownAssetFarmingPower(address, asset)
579577 let assetRewardDelta = calcAssetRewardDelta(address, asset, assetFarmingPower)
580- let return = getCheckDataChanges(address, assetId, assetRewardDelta, -(assetFarmingPower), assetGen)
578+ let return = getCheckDataChanges(address, assetId, assetRewardDelta, -(assetFarmingPower))
581579 (return ++ [ScriptTransfer(i.caller, 100, assetId)])
582580 }
583581
584582
585583
586584 @Callable(i)
587585 func claimReward (asset) = {
588586 let address = toString(i.caller)
589587 let assetId = fromBase58String(asset)
590- let $t067316796 = getAssetFarmingPower(assetId)
591- let assetGen = $t067316796._1
592- let assetFarmingPower = $t067316796._2
588+ let $t067026767 = getAssetFarmingPower(assetId)
589+ let assetGen = $t067026767._1
590+ let assetFarmingPower = $t067026767._2
593591 let farmedAmount = (calcAssetRewardDelta(address, asset, assetFarmingPower) + tryGetInteger((("address_" + address) + "_lastCheckFarmedAmount")))
594592 let withdrawnAmount = tryGetInteger((("address_" + address) + "_withdrawnAmount"))
595593 let reward = ((farmedAmount - withdrawnAmount) / scale)
596594 if ((0 >= reward))
597595 then throw("you have no EGGs to withdraw")
598596 else [IntegerEntry((("address_" + address) + "_withdrawnAmount"), farmedAmount), ScriptTransfer(i.caller, reward, eggsAssetId)]
599597 }
600598
601599
602600 @Verifier(tx)
603601 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
604602

github/deemru/w8io/786bc32 
81.33 ms