2021.07.23 14:07 [2690944] smart account 3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW > SELF 0.00000000 Waves
{ "type": 13, "id": "6U7N5hNsCWcnTBKZRGpFQR51UhZP7nzdUfZFmpTbz594", "fee": 1400000, "feeAssetId": null, "timestamp": 1627038458901, "version": 2, "chainId": 87, "sender": "3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW", "senderPublicKey": "DSNxHVyf38CbPoz2oSJ1b4FWqRvqFsAphCzdtrPeWPHa", "proofs": [ "2ApJQeXXX8LL4DCmvSHXW29YykWh4EhFKNaDJrZwx5XdqW6VDfGwnPZAYFZCAudBJGek3q8GXmXHw585gdZydvJV" ], "script": "base64:AAIFAAAAAAAAACYIAhIAEgQKAggIEgQKAggIEgASAwoBCBIDCgEIEgMKAQgSAwoBCAAAACIAAAAAC2VnZ3NBc3NldElkAQAAACD/eUdQVFDYfRxV9BFA7KVHMaQYXGzXgVfQg2lMwL2X8AAAAAAKcGVyY2hQcmljZQAAAAAAAAAAZAAAAAAFc2NhbGUAAAAAAAAAJxAAAAAABnNjYWxlMgAAAAAAAA9CQAAAAAAQaW5jdWJhdG9yQWRkcmVzcwEAAAAaAVeMtUiffp4V1RiXjht3+wl/Z2La4W1jJUkAAAAADmJyZWVkZXJBZGRyZXNzAQAAABoBV37nuflxxEx4XH14e4ZxgkMVpnlqD7YfHgAAAAAScmVmQ29udHJhY3RBZGRyZXNzAQAAABoBV0m6fUK8n7ARhcHKmKrWNO3wC83v6MPupQAAAAANUmVmZXJlclJld2FyZAAAAAAAAAAABQAAAAAOcmViaXJ0aEFkZHJlc3MBAAAAGgFXcJF11J7rej4f+WQAMMjcRl1cmkTfdcL3AAAAAARHRU5TCQAETAAAAAICAAAAAUEJAARMAAAAAgIAAAABQgkABEwAAAACAgAAAAFDCQAETAAAAAICAAAAAUQJAARMAAAAAgIAAAABRQkABEwAAAACAgAAAAFGCQAETAAAAAICAAAAAUcFAAAAA25pbAEAAAARZ2V0UmV3YXJkUGVyQmxvY2sAAAAAAAAAAAAAAAKsAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAABAAAADHRyeUdldFN0cmluZwAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAACWlzU3ltYm9sQQAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sQgAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUIJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sQwAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUMJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sRAAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUQJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sRQAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUUJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sRgAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUYJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sRwAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUcJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAEJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAAAAAAAAABAAAACWlzU3ltYm9sSAAAAAIAAAALYWNjdW11bGF0ZWQAAAADc3ltAwkAAAAAAAACBQAAAANzeW0CAAAAAUgJAABkAAAAAgUAAAALYWNjdW11bGF0ZWQAAAAA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MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjMTIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAIFAAAADSRhY2MyMjE1NTIxODYEAAAADSRhY2MzMjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjMjIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAMFAAAADSRhY2MzMjE1NTIxODYEAAAADSRhY2M0MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjMzIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAQFAAAADSRhY2M0MjE1NTIxODYEAAAADSRhY2M1MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjNDIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAUFAAAADSRhY2M1MjE1NTIxODYEAAAADSRhY2M2MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjNTIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAYFAAAADSRhY2M2MjE1NTIxODYEAAAADSRhY2M3MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNjNjIxNTUyMTg2CQABkQAAAAIFAAAADSRsaXN0MjE1NTIxODYAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplMjE1NTIxODYAAAAAAAAAAAcFAAAADSRhY2M3MjE1NTIxODYEAAAADSRhY2M4MjE1NTIxODYJAQAAAAlpc1N5bWJvbEMAAAACBQAAAA0kYWNj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AQUAAAANJGxpc3QyMjkzMjMyNAQAAAANJGFjYzAyMjkzMjMyNAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAAAAUAAAANJGFjYzAyMjkzMjMyNAQAAAANJGFjYzEyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2MwMjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAAAQUAAAANJGFjYzEyMjkzMjMyNAQAAAANJGFjYzIyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2MxMjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAAAgUAAAANJGFjYzIyMjkzMjMyNAQAAAANJGFjYzMyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2MyMjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAAAwUAAAANJGFjYzMyMjkzMjMyNAQAAAANJGFjYzQyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2MzMjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAABAUAAAANJGFjYzQyMjkzMjMyNAQAAAANJGFjYzUyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2M0MjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAABQUAAAANJGFjYzUyMjkzMjMyNAQAAAANJGFjYzYyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2M1MjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAABgUAAAANJGFjYzYyMjkzMjMyNAQAAAANJGFjYzcyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2M2MjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAABgMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAABwUAAAANJGFjYzcyMjkzMjMyNAQAAAANJGFjYzgyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2M3MjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemUyMjkzMjMyNAAAAAAAAAAACAUAAAANJGFjYzgyMjkzMjMyNAQAAAANJGFjYzkyMjkzMjMyNAkBAAAACWlzU3ltYm9sRQAAAAIFAAAADSRhY2M4MjI5MzIzMjQJAAGRAAAAAgUAAAANJGxpc3QyMjkzMjMyNAAAAAAAAAAACAkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDgCAAAAAUUJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEEAAAADSRsaXN0MjM2MTIzOTIFAAAACGdlbm90eXBlBAAAAA0kc2l6ZTIzNjEyMzkyCQABkAAAAAEFAAAADSRsaXN0MjM2MTIzOTIEAAAADSRhY2MwMjM2MTIzOTIAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAAFAAAADSRhY2MwMjM2MTIzOTIEAAAADSRhY2MxMjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjMDIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAEFAAAADSRhY2MxMjM2MTIzOTIEAAAADSRhY2MyMjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjMTIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAIFAAAADSRhY2MyMjM2MTIzOTIEAAAADSRhY2MzMjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjMjIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAMFAAAADSRhY2MzMjM2MTIzOTIEAAAADSRhY2M0MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjMzIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAQFAAAADSRhY2M0MjM2MTIzOTIEAAAADSRhY2M1MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjNDIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAUFAAAADSRhY2M1MjM2MTIzOTIEAAAADSRhY2M2MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjNTIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAYFAAAADSRhY2M2MjM2MTIzOTIEAAAADSRhY2M3MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjNjIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAcFAAAADSRhY2M3MjM2MTIzOTIEAAAADSRhY2M4MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjNzIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplMjM2MTIzOTIAAAAAAAAAAAgFAAAADSRhY2M4MjM2MTIzOTIEAAAADSRhY2M5MjM2MTIzOTIJAQAAAAlpc1N5bWJvbEYAAAACBQAAAA0kYWNjODIzNjEyMzkyCQABkQAAAAIFAAAADSRsaXN0MjM2MTIzOTIAAAAAAAAAAAgJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA4AgAAAAFGCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABBAAAAA0kbGlzdDI0MzEyNDYyBQAAAAhnZW5vdHlwZQQAAAANJHNpemUyNDMxMjQ2MgkAAZAAAAABBQAAAA0kbGlzdDI0MzEyNDYyBAAAAA0kYWNjMDI0MzEyNDYyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAABQAAAA0kYWNjMDI0MzEyNDYyBAAAAA0kYWNjMTI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzAyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAABBQAAAA0kYWNjMTI0MzEyNDYyBAAAAA0kYWNjMjI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzEyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAACBQAAAA0kYWNjMjI0MzEyNDYyBAAAAA0kYWNjMzI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzIyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAADBQAAAA0kYWNjMzI0MzEyNDYyBAAAAA0kYWNjNDI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzMyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAEBQAAAA0kYWNjNDI0MzEyNDYyBAAAAA0kYWNjNTI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzQyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAFBQAAAA0kYWNjNTI0MzEyNDYyBAAAAA0kYWNjNjI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzUyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAGBQAAAA0kYWNjNjI0MzEyNDYyBAAAAA0kYWNjNzI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzYyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAHBQAAAA0kYWNjNzI0MzEyNDYyBAAAAA0kYWNjODI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzcyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTI0MzEyNDYyAAAAAAAAAAAIBQAAAA0kYWNjODI0MzEyNDYyBAAAAA0kYWNjOTI0MzEyNDYyCQEAAAAJaXNTeW1ib2xHAAAAAgUAAAANJGFjYzgyNDMxMjQ2MgkAAZEAAAACBQAAAA0kbGlzdDI0MzEyNDYyAAAAAAAAAAAICQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgOAIAAAABRwkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQQAAAANJGxpc3QyNDk5MjUzMAUAAAAIZ2Vub3R5cGUEAAAADSRzaXplMjQ5OTI1MzAJAAGQAAAAAQUAAAANJGxpc3QyNDk5MjUzMAQAAAANJGFjYzAyNDk5MjUzMAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAAAAUAAAANJGFjYzAyNDk5MjUzMAQAAAANJGFjYzEyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2MwMjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAAAQUAAAANJGFjYzEyNDk5MjUzMAQAAAANJGFjYzIyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2MxMjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAAAgUAAAANJGFjYzIyNDk5MjUzMAQAAAANJGFjYzMyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2MyMjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAAAwUAAAANJGFjYzMyNDk5MjUzMAQAAAANJGFjYzQyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2MzMjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAABAUAAAANJGFjYzQyNDk5MjUzMAQAAAANJGFjYzUyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2M0MjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAABQUAAAANJGFjYzUyNDk5MjUzMAQAAAANJGFjYzYyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2M1MjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAABgUAAAANJGFjYzYyNDk5MjUzMAQAAAANJGFjYzcyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2M2MjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAABgMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAABwUAAAANJGFjYzcyNDk5MjUzMAQAAAANJGFjYzgyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2M3MjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemUyNDk5MjUzMAAAAAAAAAAACAUAAAANJGFjYzgyNDk5MjUzMAQAAAANJGFjYzkyNDk5MjUzMAkBAAAACWlzU3ltYm9sSAAAAAIFAAAADSRhY2M4MjQ5OTI1MzAJAAGRAAAAAgUAAAANJGxpc3QyNDk5MjUzMAAAAAAAAAAACAkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDgCAAAAAUgBAAAADmdldEFzc2V0T3JpZ2luAAAAAQAAAApnZW5lcmF0aW9uAwkAAAAAAAACBQAAAApnZW5lcmF0aW9uAgAAAAFHBQAAABBpbmN1YmF0b3JBZGRyZXNzBQAAAA5icmVlZGVyQWRkcmVzcwEAAAAOZ2V0QXNzZXRSYXJpdHkAAAACAAAACGdlbm90eXBlAAAACmdlbmVyYXRpb24EAAAACHF1YW50aXR5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACCQEAAAAHQWRkcmVzcwAAAAEJAQAAAA5nZXRBc3NldE9yaWdpbgAAAAEFAAAACmdlbmVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAAAZzdGF0c18FAAAACGdlbm90eXBlAgAAAAlfcXVhbnRpdHkEAAAABXBvd2VyCQAAbAAAAAYJAABpAAAAAgAAAAAAAAAnEAUAAAAIcXVhbnRpdHkAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAEAAAAAAAAAAAIFAAAABUZMT09SAwkAAGYAAAACBQAAAAVwb3dlcgAAAAAAAAAAAAUAAAAFcG93ZXIAAAAAAAAAAAIBAAAAFGdldEFzc2V0RmFybWluZ1Bvd2VyAAAAAQAAAAdhc3NldElkAwMJAAAAAAAAAggJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQUAAAAOYnJlZWRlckFkZHJlc3MGCQAAAAAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEFAAAAEGluY3ViYXRvckFkZHJlc3MEAAAACWFzc2V0TmFtZQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAARuYW1lBAAAAApnZW5lcmF0aW9uCQABLwAAAAIJAQAAAAl0YWtlUmlnaHQAAAACBQAAAAlhc3NldE5hbWUAAAAAAAAAAAIAAAAAAAAAAAEEAAAAA2dlbgkAASwAAAACCQABLAAAAAIJAQAAAAZnZXRHZW4AAAABBQAAAAlhc3NldE5hbWUCAAAAAS0FAAAACmdlbmVyYXRpb24JAAUUAAAAAgUAAAADZ2VuCQEAAAAOZ2V0QXNzZXRSYXJpdHkAAAACBQAAAANnZW4FAAAACmdlbmVyYXRpb24JAAACAAAAAQIAAAANbm90IHZhbGlkIE5GVAEAAAAdZ2V0TGFzdEtub3duQXNzZXRGYXJtaW5nUG93ZXIAAAACAAAAB2FkZHJlc3MAAAAHYXNzZXRJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAdhc3NldElkAgAAAA1fZmFybWluZ1Bvd2VyAQAAAA5nZXRBc3NldHNCeUdlbgAAAAEAAAADZ2VuBAAAAAFzCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACAgAAAAdhc3NldHNfBQAAAANnZW4DCQAAAAAAAAIFAAAAAXMCAAAAAAUAAAADbmlsCQAEtQAAAAIFAAAAAXMCAAAAASwBAAAADGNhbGNJbnRlcmVzdAAAAAMAAAAQcHJldmlvdXNJbnRlcmVzdAAAABZwcmV2aW91c0ludGVyZXN0SGVpZ2h0AAAAEXRvdGFsRmFybWluZ1Bvd2VyCQAAZAAAAAIFAAAAEHByZXZpb3VzSW50ZXJlc3QJAABpAAAAAgkAAGgAAAACCQAAaAAAAAIFAAAABXNjYWxlCQEAAAARZ2V0UmV3YXJkUGVyQmxvY2sAAAAACQAAZQAAAAIFAAAABmhlaWdodAUAAAAWcHJldmlvdXNJbnRlcmVzdEhlaWdodAUAAAARdG90YWxGYXJtaW5nUG93ZXIBAAAAEmdldEN1cnJlbnRJbnRlcmVzdAAAAAADCQAAZgAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAASdG90YWxfZmFybWluZ1Bvd2VyAAAAAAAAAAAABAAAABBwcmV2aW91c0ludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF3RvdGFsX2xhc3RDaGVja0ludGVyZXN0BAAAABZwcmV2aW91c0ludGVyZXN0SGVpZ2h0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAHXRvdGFsX2xhc3RDaGVja0ludGVyZXN0SGVpZ2h0BAAAABF0b3RhbEZhcm1pbmdQb3dlcgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABJ0b3RhbF9mYXJtaW5nUG93ZXIJAQAAAAxjYWxjSW50ZXJlc3QAAAADBQAAABBwcmV2aW91c0ludGVyZXN0BQAAABZwcmV2aW91c0ludGVyZXN0SGVpZ2h0BQAAABF0b3RhbEZhcm1pbmdQb3dlcgMJAQAAAAIhPQAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAARdG90YWxfc3RhcnRIZWlnaHQAAAAAAAAAAAAJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAXdG90YWxfbGFzdENoZWNrSW50ZXJlc3QJAAACAAAAAQIAAAAcZmFybWluZyBpcyBub3QgbGF1bmNoZWQsIHlldAEAAAAUY2FsY0Fzc2V0UmV3YXJkRGVsdGEAAAADAAAAB2FkZHJlc3MAAAAHYXNzZXRJZAAAABFhc3NldEZhcm1pbmdQb3dlcgQAAAAWbGFzdENoZWNrQXNzZXRJbnRlcmVzdAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAdhc3NldElkAgAAABJfbGFzdENoZWNrSW50ZXJlc3QEAAAAD2N1cnJlbnRJbnRlcmVzdAkBAAAAEmdldEN1cnJlbnRJbnRlcmVzdAAAAAAJAABoAAAAAgUAAAARYXNzZXRGYXJtaW5nUG93ZXIJAABlAAAAAgUAAAAPY3VycmVudEludGVyZXN0BQAAABZsYXN0Q2hlY2tBc3NldEludGVyZXN0AQAAABRhZGRBc3NldElkVG9HZW5FbnRyeQAAAAIAAAAHYXNzZXRJZAAAAAhhc3NldEdlbgQAAAAMY3VycmVudFZhbHVlCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2Fzc2V0c18FAAAACGFzc2V0R2VuAgAAAAdfbG9ja2VkAwkAAAAAAAACBQAAAAxjdXJyZW50VmFsdWUCAAAAAAUAAAAHYXNzZXRJZAkAASwAAAACCQABLAAAAAIFAAAADGN1cnJlbnRWYWx1ZQIAAAABLAUAAAAHYXNzZXRJZAEAAAAOZ2V0U3Rha2VSZXN1bHQAAAADAAAAB2FkZHJlc3MAAAAHYXNzZXRJZAAAABFhc3NldEZhcm1pbmdQb3dlcgQAAAAFYXNzZXQJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASdG90YWxfZmFybWluZ1Bvd2VyCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAASdG90YWxfZmFybWluZ1Bvd2VyBQAAABFhc3NldEZhcm1pbmdQb3dlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXdG90YWxfbGFzdENoZWNrSW50ZXJlc3QJAQAAABJnZXRDdXJyZW50SW50ZXJlc3QAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB10b3RhbF9sYXN0Q2hlY2tJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAANX2Zhcm1pbmdQb3dlcgUAAAARYXNzZXRGYXJtaW5nUG93ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAB19hc3NldF8FAAAABWFzc2V0AgAAABJfbGFzdENoZWNrSW50ZXJlc3QJAQAAABJnZXRDdXJyZW50SW50ZXJlc3QAAAAABQAAAANuaWwBAAAAEGdldFVuc3Rha2VSZXN1bHQAAAAFAAAAB2FkZHJlc3MAAAAHYXNzZXRJZAAAAAtyZXdhcmREZWx0YQAAAA93aXRoZHJhd25BbW91bnQAAAARYXNzZXRGYXJtaW5nUG93ZXIEAAAABWFzc2V0CQACWAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEnRvdGFsX2Zhcm1pbmdQb3dlcgkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEnRvdGFsX2Zhcm1pbmdQb3dlcgUAAAARYXNzZXRGYXJtaW5nUG93ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF3RvdGFsX2xhc3RDaGVja0ludGVyZXN0CQEAAAASZ2V0Q3VycmVudEludGVyZXN0AAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAddG90YWxfbGFzdENoZWNrSW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAHX2Fzc2V0XwUAAAAFYXNzZXQCAAAADV9mYXJtaW5nUG93ZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAB19hc3NldF8FAAAABWFzc2V0AgAAABJfbGFzdENoZWNrSW50ZXJlc3QJAQAA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", "height": 2690944, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BC4s8o7SwzE22qae4jUeqN2LPrKcVJrAVipiXKX7fGNn Next: GkZvqRqQP2bSfu7mwWDUYCncggT6buR1CKv5UtiD1r8k Diff:
Old | New | Differences | |
---|---|---|---|
16 | 16 | let refContractAddress = base58'3P8ejTkfRpz9WqCwCuihesNXU5k3zmFFfVe' | |
17 | 17 | ||
18 | 18 | let RefererReward = 5 | |
19 | + | ||
20 | + | let rebirthAddress = base58'3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ' | |
19 | 21 | ||
20 | 22 | let GENS = ["A", "B", "C", "D", "E", "F", "G"] | |
21 | 23 | ||
86 | 88 | func getGen (assetName) = { | |
87 | 89 | let genotype = split(dropRight(drop(assetName, 5), 3), "") | |
88 | 90 | (((((((getAmountOrClear((toString({ | |
89 | - | let $ | |
90 | - | let $ | |
91 | - | let $ | |
92 | - | if (($ | |
93 | - | then $ | |
91 | + | let $list20192050 = genotype | |
92 | + | let $size20192050 = size($list20192050) | |
93 | + | let $acc020192050 = 0 | |
94 | + | if (($size20192050 == 0)) | |
95 | + | then $acc020192050 | |
94 | 96 | else { | |
95 | - | let $ | |
96 | - | if (($ | |
97 | - | then $ | |
97 | + | let $acc120192050 = isSymbolA($acc020192050, $list20192050[0]) | |
98 | + | if (($size20192050 == 1)) | |
99 | + | then $acc120192050 | |
98 | 100 | else { | |
99 | - | let $ | |
100 | - | if (($ | |
101 | - | then $ | |
101 | + | let $acc220192050 = isSymbolA($acc120192050, $list20192050[1]) | |
102 | + | if (($size20192050 == 2)) | |
103 | + | then $acc220192050 | |
102 | 104 | else { | |
103 | - | let $ | |
104 | - | if (($ | |
105 | - | then $ | |
105 | + | let $acc320192050 = isSymbolA($acc220192050, $list20192050[2]) | |
106 | + | if (($size20192050 == 3)) | |
107 | + | then $acc320192050 | |
106 | 108 | else { | |
107 | - | let $ | |
108 | - | if (($ | |
109 | - | then $ | |
109 | + | let $acc420192050 = isSymbolA($acc320192050, $list20192050[3]) | |
110 | + | if (($size20192050 == 4)) | |
111 | + | then $acc420192050 | |
110 | 112 | else { | |
111 | - | let $ | |
112 | - | if (($ | |
113 | - | then $ | |
113 | + | let $acc520192050 = isSymbolA($acc420192050, $list20192050[4]) | |
114 | + | if (($size20192050 == 5)) | |
115 | + | then $acc520192050 | |
114 | 116 | else { | |
115 | - | let $ | |
116 | - | if (($ | |
117 | - | then $ | |
117 | + | let $acc620192050 = isSymbolA($acc520192050, $list20192050[5]) | |
118 | + | if (($size20192050 == 6)) | |
119 | + | then $acc620192050 | |
118 | 120 | else { | |
119 | - | let $ | |
120 | - | if (($ | |
121 | - | then $ | |
121 | + | let $acc720192050 = isSymbolA($acc620192050, $list20192050[6]) | |
122 | + | if (($size20192050 == 7)) | |
123 | + | then $acc720192050 | |
122 | 124 | else { | |
123 | - | let $ | |
124 | - | if (($ | |
125 | - | then $ | |
125 | + | let $acc820192050 = isSymbolA($acc720192050, $list20192050[7]) | |
126 | + | if (($size20192050 == 8)) | |
127 | + | then $acc820192050 | |
126 | 128 | else { | |
127 | - | let $ | |
129 | + | let $acc920192050 = isSymbolA($acc820192050, $list20192050[8]) | |
128 | 130 | throw("List size exceed 8") | |
129 | 131 | } | |
130 | 132 | } | |
136 | 138 | } | |
137 | 139 | } | |
138 | 140 | }) + "A")) + getAmountOrClear((toString({ | |
139 | - | let $ | |
140 | - | let $ | |
141 | - | let $ | |
142 | - | if (($ | |
143 | - | then $ | |
141 | + | let $list20872118 = genotype | |
142 | + | let $size20872118 = size($list20872118) | |
143 | + | let $acc020872118 = 0 | |
144 | + | if (($size20872118 == 0)) | |
145 | + | then $acc020872118 | |
144 | 146 | else { | |
145 | - | let $ | |
146 | - | if (($ | |
147 | - | then $ | |
147 | + | let $acc120872118 = isSymbolB($acc020872118, $list20872118[0]) | |
148 | + | if (($size20872118 == 1)) | |
149 | + | then $acc120872118 | |
148 | 150 | else { | |
149 | - | let $ | |
150 | - | if (($ | |
151 | - | then $ | |
151 | + | let $acc220872118 = isSymbolB($acc120872118, $list20872118[1]) | |
152 | + | if (($size20872118 == 2)) | |
153 | + | then $acc220872118 | |
152 | 154 | else { | |
153 | - | let $ | |
154 | - | if (($ | |
155 | - | then $ | |
155 | + | let $acc320872118 = isSymbolB($acc220872118, $list20872118[2]) | |
156 | + | if (($size20872118 == 3)) | |
157 | + | then $acc320872118 | |
156 | 158 | else { | |
157 | - | let $ | |
158 | - | if (($ | |
159 | - | then $ | |
159 | + | let $acc420872118 = isSymbolB($acc320872118, $list20872118[3]) | |
160 | + | if (($size20872118 == 4)) | |
161 | + | then $acc420872118 | |
160 | 162 | else { | |
161 | - | let $ | |
162 | - | if (($ | |
163 | - | then $ | |
163 | + | let $acc520872118 = isSymbolB($acc420872118, $list20872118[4]) | |
164 | + | if (($size20872118 == 5)) | |
165 | + | then $acc520872118 | |
164 | 166 | else { | |
165 | - | let $ | |
166 | - | if (($ | |
167 | - | then $ | |
167 | + | let $acc620872118 = isSymbolB($acc520872118, $list20872118[5]) | |
168 | + | if (($size20872118 == 6)) | |
169 | + | then $acc620872118 | |
168 | 170 | else { | |
169 | - | let $ | |
170 | - | if (($ | |
171 | - | then $ | |
171 | + | let $acc720872118 = isSymbolB($acc620872118, $list20872118[6]) | |
172 | + | if (($size20872118 == 7)) | |
173 | + | then $acc720872118 | |
172 | 174 | else { | |
173 | - | let $ | |
174 | - | if (($ | |
175 | - | then $ | |
175 | + | let $acc820872118 = isSymbolB($acc720872118, $list20872118[7]) | |
176 | + | if (($size20872118 == 8)) | |
177 | + | then $acc820872118 | |
176 | 178 | else { | |
177 | - | let $ | |
179 | + | let $acc920872118 = isSymbolB($acc820872118, $list20872118[8]) | |
178 | 180 | throw("List size exceed 8") | |
179 | 181 | } | |
180 | 182 | } | |
186 | 188 | } | |
187 | 189 | } | |
188 | 190 | }) + "B"))) + getAmountOrClear((toString({ | |
189 | - | let $ | |
190 | - | let $ | |
191 | - | let $ | |
192 | - | if (($ | |
193 | - | then $ | |
191 | + | let $list21552186 = genotype | |
192 | + | let $size21552186 = size($list21552186) | |
193 | + | let $acc021552186 = 0 | |
194 | + | if (($size21552186 == 0)) | |
195 | + | then $acc021552186 | |
194 | 196 | else { | |
195 | - | let $ | |
196 | - | if (($ | |
197 | - | then $ | |
197 | + | let $acc121552186 = isSymbolC($acc021552186, $list21552186[0]) | |
198 | + | if (($size21552186 == 1)) | |
199 | + | then $acc121552186 | |
198 | 200 | else { | |
199 | - | let $ | |
200 | - | if (($ | |
201 | - | then $ | |
201 | + | let $acc221552186 = isSymbolC($acc121552186, $list21552186[1]) | |
202 | + | if (($size21552186 == 2)) | |
203 | + | then $acc221552186 | |
202 | 204 | else { | |
203 | - | let $ | |
204 | - | if (($ | |
205 | - | then $ | |
205 | + | let $acc321552186 = isSymbolC($acc221552186, $list21552186[2]) | |
206 | + | if (($size21552186 == 3)) | |
207 | + | then $acc321552186 | |
206 | 208 | else { | |
207 | - | let $ | |
208 | - | if (($ | |
209 | - | then $ | |
209 | + | let $acc421552186 = isSymbolC($acc321552186, $list21552186[3]) | |
210 | + | if (($size21552186 == 4)) | |
211 | + | then $acc421552186 | |
210 | 212 | else { | |
211 | - | let $ | |
212 | - | if (($ | |
213 | - | then $ | |
213 | + | let $acc521552186 = isSymbolC($acc421552186, $list21552186[4]) | |
214 | + | if (($size21552186 == 5)) | |
215 | + | then $acc521552186 | |
214 | 216 | else { | |
215 | - | let $ | |
216 | - | if (($ | |
217 | - | then $ | |
217 | + | let $acc621552186 = isSymbolC($acc521552186, $list21552186[5]) | |
218 | + | if (($size21552186 == 6)) | |
219 | + | then $acc621552186 | |
218 | 220 | else { | |
219 | - | let $ | |
220 | - | if (($ | |
221 | - | then $ | |
221 | + | let $acc721552186 = isSymbolC($acc621552186, $list21552186[6]) | |
222 | + | if (($size21552186 == 7)) | |
223 | + | then $acc721552186 | |
222 | 224 | else { | |
223 | - | let $ | |
224 | - | if (($ | |
225 | - | then $ | |
225 | + | let $acc821552186 = isSymbolC($acc721552186, $list21552186[7]) | |
226 | + | if (($size21552186 == 8)) | |
227 | + | then $acc821552186 | |
226 | 228 | else { | |
227 | - | let $ | |
229 | + | let $acc921552186 = isSymbolC($acc821552186, $list21552186[8]) | |
228 | 230 | throw("List size exceed 8") | |
229 | 231 | } | |
230 | 232 | } | |
236 | 238 | } | |
237 | 239 | } | |
238 | 240 | }) + "C"))) + getAmountOrClear((toString({ | |
239 | - | let $ | |
240 | - | let $ | |
241 | - | let $ | |
242 | - | if (($ | |
243 | - | then $ | |
241 | + | let $list22252256 = genotype | |
242 | + | let $size22252256 = size($list22252256) | |
243 | + | let $acc022252256 = 0 | |
244 | + | if (($size22252256 == 0)) | |
245 | + | then $acc022252256 | |
244 | 246 | else { | |
245 | - | let $ | |
246 | - | if (($ | |
247 | - | then $ | |
247 | + | let $acc122252256 = isSymbolD($acc022252256, $list22252256[0]) | |
248 | + | if (($size22252256 == 1)) | |
249 | + | then $acc122252256 | |
248 | 250 | else { | |
249 | - | let $ | |
250 | - | if (($ | |
251 | - | then $ | |
251 | + | let $acc222252256 = isSymbolD($acc122252256, $list22252256[1]) | |
252 | + | if (($size22252256 == 2)) | |
253 | + | then $acc222252256 | |
252 | 254 | else { | |
253 | - | let $ | |
254 | - | if (($ | |
255 | - | then $ | |
255 | + | let $acc322252256 = isSymbolD($acc222252256, $list22252256[2]) | |
256 | + | if (($size22252256 == 3)) | |
257 | + | then $acc322252256 | |
256 | 258 | else { | |
257 | - | let $ | |
258 | - | if (($ | |
259 | - | then $ | |
259 | + | let $acc422252256 = isSymbolD($acc322252256, $list22252256[3]) | |
260 | + | if (($size22252256 == 4)) | |
261 | + | then $acc422252256 | |
260 | 262 | else { | |
261 | - | let $ | |
262 | - | if (($ | |
263 | - | then $ | |
263 | + | let $acc522252256 = isSymbolD($acc422252256, $list22252256[4]) | |
264 | + | if (($size22252256 == 5)) | |
265 | + | then $acc522252256 | |
264 | 266 | else { | |
265 | - | let $ | |
266 | - | if (($ | |
267 | - | then $ | |
267 | + | let $acc622252256 = isSymbolD($acc522252256, $list22252256[5]) | |
268 | + | if (($size22252256 == 6)) | |
269 | + | then $acc622252256 | |
268 | 270 | else { | |
269 | - | let $ | |
270 | - | if (($ | |
271 | - | then $ | |
271 | + | let $acc722252256 = isSymbolD($acc622252256, $list22252256[6]) | |
272 | + | if (($size22252256 == 7)) | |
273 | + | then $acc722252256 | |
272 | 274 | else { | |
273 | - | let $ | |
274 | - | if (($ | |
275 | - | then $ | |
275 | + | let $acc822252256 = isSymbolD($acc722252256, $list22252256[7]) | |
276 | + | if (($size22252256 == 8)) | |
277 | + | then $acc822252256 | |
276 | 278 | else { | |
277 | - | let $ | |
279 | + | let $acc922252256 = isSymbolD($acc822252256, $list22252256[8]) | |
278 | 280 | throw("List size exceed 8") | |
279 | 281 | } | |
280 | 282 | } | |
286 | 288 | } | |
287 | 289 | } | |
288 | 290 | }) + "D"))) + getAmountOrClear((toString({ | |
289 | - | let $ | |
290 | - | let $ | |
291 | - | let $ | |
292 | - | if (($ | |
293 | - | then $ | |
291 | + | let $list22932324 = genotype | |
292 | + | let $size22932324 = size($list22932324) | |
293 | + | let $acc022932324 = 0 | |
294 | + | if (($size22932324 == 0)) | |
295 | + | then $acc022932324 | |
294 | 296 | else { | |
295 | - | let $ | |
296 | - | if (($ | |
297 | - | then $ | |
297 | + | let $acc122932324 = isSymbolE($acc022932324, $list22932324[0]) | |
298 | + | if (($size22932324 == 1)) | |
299 | + | then $acc122932324 | |
298 | 300 | else { | |
299 | - | let $ | |
300 | - | if (($ | |
301 | - | then $ | |
301 | + | let $acc222932324 = isSymbolE($acc122932324, $list22932324[1]) | |
302 | + | if (($size22932324 == 2)) | |
303 | + | then $acc222932324 | |
302 | 304 | else { | |
303 | - | let $ | |
304 | - | if (($ | |
305 | - | then $ | |
305 | + | let $acc322932324 = isSymbolE($acc222932324, $list22932324[2]) | |
306 | + | if (($size22932324 == 3)) | |
307 | + | then $acc322932324 | |
306 | 308 | else { | |
307 | - | let $ | |
308 | - | if (($ | |
309 | - | then $ | |
309 | + | let $acc422932324 = isSymbolE($acc322932324, $list22932324[3]) | |
310 | + | if (($size22932324 == 4)) | |
311 | + | then $acc422932324 | |
310 | 312 | else { | |
311 | - | let $ | |
312 | - | if (($ | |
313 | - | then $ | |
313 | + | let $acc522932324 = isSymbolE($acc422932324, $list22932324[4]) | |
314 | + | if (($size22932324 == 5)) | |
315 | + | then $acc522932324 | |
314 | 316 | else { | |
315 | - | let $ | |
316 | - | if (($ | |
317 | - | then $ | |
317 | + | let $acc622932324 = isSymbolE($acc522932324, $list22932324[5]) | |
318 | + | if (($size22932324 == 6)) | |
319 | + | then $acc622932324 | |
318 | 320 | else { | |
319 | - | let $ | |
320 | - | if (($ | |
321 | - | then $ | |
321 | + | let $acc722932324 = isSymbolE($acc622932324, $list22932324[6]) | |
322 | + | if (($size22932324 == 7)) | |
323 | + | then $acc722932324 | |
322 | 324 | else { | |
323 | - | let $ | |
324 | - | if (($ | |
325 | - | then $ | |
325 | + | let $acc822932324 = isSymbolE($acc722932324, $list22932324[7]) | |
326 | + | if (($size22932324 == 8)) | |
327 | + | then $acc822932324 | |
326 | 328 | else { | |
327 | - | let $ | |
329 | + | let $acc922932324 = isSymbolE($acc822932324, $list22932324[8]) | |
328 | 330 | throw("List size exceed 8") | |
329 | 331 | } | |
330 | 332 | } | |
336 | 338 | } | |
337 | 339 | } | |
338 | 340 | }) + "E"))) + getAmountOrClear((toString({ | |
339 | - | let $ | |
340 | - | let $ | |
341 | - | let $ | |
342 | - | if (($ | |
343 | - | then $ | |
341 | + | let $list23612392 = genotype | |
342 | + | let $size23612392 = size($list23612392) | |
343 | + | let $acc023612392 = 0 | |
344 | + | if (($size23612392 == 0)) | |
345 | + | then $acc023612392 | |
344 | 346 | else { | |
345 | - | let $ | |
346 | - | if (($ | |
347 | - | then $ | |
347 | + | let $acc123612392 = isSymbolF($acc023612392, $list23612392[0]) | |
348 | + | if (($size23612392 == 1)) | |
349 | + | then $acc123612392 | |
348 | 350 | else { | |
349 | - | let $ | |
350 | - | if (($ | |
351 | - | then $ | |
351 | + | let $acc223612392 = isSymbolF($acc123612392, $list23612392[1]) | |
352 | + | if (($size23612392 == 2)) | |
353 | + | then $acc223612392 | |
352 | 354 | else { | |
353 | - | let $ | |
354 | - | if (($ | |
355 | - | then $ | |
355 | + | let $acc323612392 = isSymbolF($acc223612392, $list23612392[2]) | |
356 | + | if (($size23612392 == 3)) | |
357 | + | then $acc323612392 | |
356 | 358 | else { | |
357 | - | let $ | |
358 | - | if (($ | |
359 | - | then $ | |
359 | + | let $acc423612392 = isSymbolF($acc323612392, $list23612392[3]) | |
360 | + | if (($size23612392 == 4)) | |
361 | + | then $acc423612392 | |
360 | 362 | else { | |
361 | - | let $ | |
362 | - | if (($ | |
363 | - | then $ | |
363 | + | let $acc523612392 = isSymbolF($acc423612392, $list23612392[4]) | |
364 | + | if (($size23612392 == 5)) | |
365 | + | then $acc523612392 | |
364 | 366 | else { | |
365 | - | let $ | |
366 | - | if (($ | |
367 | - | then $ | |
367 | + | let $acc623612392 = isSymbolF($acc523612392, $list23612392[5]) | |
368 | + | if (($size23612392 == 6)) | |
369 | + | then $acc623612392 | |
368 | 370 | else { | |
369 | - | let $ | |
370 | - | if (($ | |
371 | - | then $ | |
371 | + | let $acc723612392 = isSymbolF($acc623612392, $list23612392[6]) | |
372 | + | if (($size23612392 == 7)) | |
373 | + | then $acc723612392 | |
372 | 374 | else { | |
373 | - | let $ | |
374 | - | if (($ | |
375 | - | then $ | |
375 | + | let $acc823612392 = isSymbolF($acc723612392, $list23612392[7]) | |
376 | + | if (($size23612392 == 8)) | |
377 | + | then $acc823612392 | |
376 | 378 | else { | |
377 | - | let $ | |
379 | + | let $acc923612392 = isSymbolF($acc823612392, $list23612392[8]) | |
378 | 380 | throw("List size exceed 8") | |
379 | 381 | } | |
380 | 382 | } | |
386 | 388 | } | |
387 | 389 | } | |
388 | 390 | }) + "F"))) + getAmountOrClear((toString({ | |
389 | - | let $ | |
390 | - | let $ | |
391 | - | let $ | |
392 | - | if (($ | |
393 | - | then $ | |
391 | + | let $list24312462 = genotype | |
392 | + | let $size24312462 = size($list24312462) | |
393 | + | let $acc024312462 = 0 | |
394 | + | if (($size24312462 == 0)) | |
395 | + | then $acc024312462 | |
394 | 396 | else { | |
395 | - | let $ | |
396 | - | if (($ | |
397 | - | then $ | |
397 | + | let $acc124312462 = isSymbolG($acc024312462, $list24312462[0]) | |
398 | + | if (($size24312462 == 1)) | |
399 | + | then $acc124312462 | |
398 | 400 | else { | |
399 | - | let $ | |
400 | - | if (($ | |
401 | - | then $ | |
401 | + | let $acc224312462 = isSymbolG($acc124312462, $list24312462[1]) | |
402 | + | if (($size24312462 == 2)) | |
403 | + | then $acc224312462 | |
402 | 404 | else { | |
403 | - | let $ | |
404 | - | if (($ | |
405 | - | then $ | |
405 | + | let $acc324312462 = isSymbolG($acc224312462, $list24312462[2]) | |
406 | + | if (($size24312462 == 3)) | |
407 | + | then $acc324312462 | |
406 | 408 | else { | |
407 | - | let $ | |
408 | - | if (($ | |
409 | - | then $ | |
409 | + | let $acc424312462 = isSymbolG($acc324312462, $list24312462[3]) | |
410 | + | if (($size24312462 == 4)) | |
411 | + | then $acc424312462 | |
410 | 412 | else { | |
411 | - | let $ | |
412 | - | if (($ | |
413 | - | then $ | |
413 | + | let $acc524312462 = isSymbolG($acc424312462, $list24312462[4]) | |
414 | + | if (($size24312462 == 5)) | |
415 | + | then $acc524312462 | |
414 | 416 | else { | |
415 | - | let $ | |
416 | - | if (($ | |
417 | - | then $ | |
417 | + | let $acc624312462 = isSymbolG($acc524312462, $list24312462[5]) | |
418 | + | if (($size24312462 == 6)) | |
419 | + | then $acc624312462 | |
418 | 420 | else { | |
419 | - | let $ | |
420 | - | if (($ | |
421 | - | then $ | |
421 | + | let $acc724312462 = isSymbolG($acc624312462, $list24312462[6]) | |
422 | + | if (($size24312462 == 7)) | |
423 | + | then $acc724312462 | |
422 | 424 | else { | |
423 | - | let $ | |
424 | - | if (($ | |
425 | - | then $ | |
425 | + | let $acc824312462 = isSymbolG($acc724312462, $list24312462[7]) | |
426 | + | if (($size24312462 == 8)) | |
427 | + | then $acc824312462 | |
426 | 428 | else { | |
427 | - | let $ | |
429 | + | let $acc924312462 = isSymbolG($acc824312462, $list24312462[8]) | |
428 | 430 | throw("List size exceed 8") | |
429 | 431 | } | |
430 | 432 | } | |
436 | 438 | } | |
437 | 439 | } | |
438 | 440 | }) + "G"))) + getAmountOrClear((toString({ | |
439 | - | let $ | |
440 | - | let $ | |
441 | - | let $ | |
442 | - | if (($ | |
443 | - | then $ | |
441 | + | let $list24992530 = genotype | |
442 | + | let $size24992530 = size($list24992530) | |
443 | + | let $acc024992530 = 0 | |
444 | + | if (($size24992530 == 0)) | |
445 | + | then $acc024992530 | |
444 | 446 | else { | |
445 | - | let $ | |
446 | - | if (($ | |
447 | - | then $ | |
447 | + | let $acc124992530 = isSymbolH($acc024992530, $list24992530[0]) | |
448 | + | if (($size24992530 == 1)) | |
449 | + | then $acc124992530 | |
448 | 450 | else { | |
449 | - | let $ | |
450 | - | if (($ | |
451 | - | then $ | |
451 | + | let $acc224992530 = isSymbolH($acc124992530, $list24992530[1]) | |
452 | + | if (($size24992530 == 2)) | |
453 | + | then $acc224992530 | |
452 | 454 | else { | |
453 | - | let $ | |
454 | - | if (($ | |
455 | - | then $ | |
455 | + | let $acc324992530 = isSymbolH($acc224992530, $list24992530[2]) | |
456 | + | if (($size24992530 == 3)) | |
457 | + | then $acc324992530 | |
456 | 458 | else { | |
457 | - | let $ | |
458 | - | if (($ | |
459 | - | then $ | |
459 | + | let $acc424992530 = isSymbolH($acc324992530, $list24992530[3]) | |
460 | + | if (($size24992530 == 4)) | |
461 | + | then $acc424992530 | |
460 | 462 | else { | |
461 | - | let $ | |
462 | - | if (($ | |
463 | - | then $ | |
463 | + | let $acc524992530 = isSymbolH($acc424992530, $list24992530[4]) | |
464 | + | if (($size24992530 == 5)) | |
465 | + | then $acc524992530 | |
464 | 466 | else { | |
465 | - | let $ | |
466 | - | if (($ | |
467 | - | then $ | |
467 | + | let $acc624992530 = isSymbolH($acc524992530, $list24992530[5]) | |
468 | + | if (($size24992530 == 6)) | |
469 | + | then $acc624992530 | |
468 | 470 | else { | |
469 | - | let $ | |
470 | - | if (($ | |
471 | - | then $ | |
471 | + | let $acc724992530 = isSymbolH($acc624992530, $list24992530[6]) | |
472 | + | if (($size24992530 == 7)) | |
473 | + | then $acc724992530 | |
472 | 474 | else { | |
473 | - | let $ | |
474 | - | if (($ | |
475 | - | then $ | |
475 | + | let $acc824992530 = isSymbolH($acc724992530, $list24992530[7]) | |
476 | + | if (($size24992530 == 8)) | |
477 | + | then $acc824992530 | |
476 | 478 | else { | |
477 | - | let $ | |
479 | + | let $acc924992530 = isSymbolH($acc824992530, $list24992530[8]) | |
478 | 480 | throw("List size exceed 8") | |
479 | 481 | } | |
480 | 482 | } | |
600 | 602 | ||
601 | 603 | ||
602 | 604 | @Callable(i) | |
605 | + | func addFreePerch (address,color) = if ((0 > value(indexOf(["B", "R", "G", "Y"], color)))) | |
606 | + | then throw("you need to set color properly") | |
607 | + | else if (if ((i.caller != Address(rebirthAddress))) | |
608 | + | then (i.caller != this) | |
609 | + | else false) | |
610 | + | then throw("rebirth only") | |
611 | + | else { | |
612 | + | let perchAmountKey = ((("address_" + address) + "_perchesAvailable_") + color) | |
613 | + | let perchAmount = tryGetInteger(perchAmountKey) | |
614 | + | $Tuple2([IntegerEntry(perchAmountKey, (perchAmount + 1))], "") | |
615 | + | } | |
616 | + | ||
617 | + | ||
618 | + | ||
619 | + | @Callable(i) | |
603 | 620 | func stakeNFT () = { | |
604 | 621 | let assetId = value(value(i.payments[0]).assetId) | |
605 | 622 | let address = toString(i.caller) | |
608 | 625 | if ((0 >= availablePerches)) | |
609 | 626 | then throw(("no perches available for the color " + color)) | |
610 | 627 | else { | |
611 | - | let $ | |
612 | - | let assetGen = $ | |
613 | - | let assetFarmingPower = $ | |
628 | + | let $t085448609 = getAssetFarmingPower(assetId) | |
629 | + | let assetGen = $t085448609._1 | |
630 | + | let assetFarmingPower = $t085448609._2 | |
614 | 631 | let assetRewardDelta = calcAssetRewardDelta(address, toBase58String(assetId), assetFarmingPower) | |
615 | 632 | (getStakeResult(address, assetId, assetFarmingPower) ++ [IntegerEntry(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color), (availablePerches - 1))]) | |
616 | 633 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let eggsAssetId = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF' | |
5 | 5 | ||
6 | 6 | let perchPrice = 100 | |
7 | 7 | ||
8 | 8 | let scale = 10000 | |
9 | 9 | ||
10 | 10 | let scale2 = 1000000 | |
11 | 11 | ||
12 | 12 | let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv' | |
13 | 13 | ||
14 | 14 | let breederAddress = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb' | |
15 | 15 | ||
16 | 16 | let refContractAddress = base58'3P8ejTkfRpz9WqCwCuihesNXU5k3zmFFfVe' | |
17 | 17 | ||
18 | 18 | let RefererReward = 5 | |
19 | + | ||
20 | + | let rebirthAddress = base58'3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ' | |
19 | 21 | ||
20 | 22 | let GENS = ["A", "B", "C", "D", "E", "F", "G"] | |
21 | 23 | ||
22 | 24 | func getRewardPerBlock () = 684 | |
23 | 25 | ||
24 | 26 | ||
25 | 27 | func tryGetInteger (key) = match getInteger(this, key) { | |
26 | 28 | case b: Int => | |
27 | 29 | b | |
28 | 30 | case _ => | |
29 | 31 | 0 | |
30 | 32 | } | |
31 | 33 | ||
32 | 34 | ||
33 | 35 | func tryGetString (key) = match getString(this, key) { | |
34 | 36 | case a: String => | |
35 | 37 | a | |
36 | 38 | case _ => | |
37 | 39 | "" | |
38 | 40 | } | |
39 | 41 | ||
40 | 42 | ||
41 | 43 | func isSymbolA (accumulated,sym) = if ((sym == "A")) | |
42 | 44 | then (accumulated + 1) | |
43 | 45 | else (accumulated + 0) | |
44 | 46 | ||
45 | 47 | ||
46 | 48 | func isSymbolB (accumulated,sym) = if ((sym == "B")) | |
47 | 49 | then (accumulated + 1) | |
48 | 50 | else (accumulated + 0) | |
49 | 51 | ||
50 | 52 | ||
51 | 53 | func isSymbolC (accumulated,sym) = if ((sym == "C")) | |
52 | 54 | then (accumulated + 1) | |
53 | 55 | else (accumulated + 0) | |
54 | 56 | ||
55 | 57 | ||
56 | 58 | func isSymbolD (accumulated,sym) = if ((sym == "D")) | |
57 | 59 | then (accumulated + 1) | |
58 | 60 | else (accumulated + 0) | |
59 | 61 | ||
60 | 62 | ||
61 | 63 | func isSymbolE (accumulated,sym) = if ((sym == "E")) | |
62 | 64 | then (accumulated + 1) | |
63 | 65 | else (accumulated + 0) | |
64 | 66 | ||
65 | 67 | ||
66 | 68 | func isSymbolF (accumulated,sym) = if ((sym == "F")) | |
67 | 69 | then (accumulated + 1) | |
68 | 70 | else (accumulated + 0) | |
69 | 71 | ||
70 | 72 | ||
71 | 73 | func isSymbolG (accumulated,sym) = if ((sym == "G")) | |
72 | 74 | then (accumulated + 1) | |
73 | 75 | else (accumulated + 0) | |
74 | 76 | ||
75 | 77 | ||
76 | 78 | func isSymbolH (accumulated,sym) = if ((sym == "H")) | |
77 | 79 | then (accumulated + 1) | |
78 | 80 | else (accumulated + 0) | |
79 | 81 | ||
80 | 82 | ||
81 | 83 | func getAmountOrClear (amount) = if (contains(amount, "0")) | |
82 | 84 | then "" | |
83 | 85 | else amount | |
84 | 86 | ||
85 | 87 | ||
86 | 88 | func getGen (assetName) = { | |
87 | 89 | let genotype = split(dropRight(drop(assetName, 5), 3), "") | |
88 | 90 | (((((((getAmountOrClear((toString({ | |
89 | - | let $ | |
90 | - | let $ | |
91 | - | let $ | |
92 | - | if (($ | |
93 | - | then $ | |
91 | + | let $list20192050 = genotype | |
92 | + | let $size20192050 = size($list20192050) | |
93 | + | let $acc020192050 = 0 | |
94 | + | if (($size20192050 == 0)) | |
95 | + | then $acc020192050 | |
94 | 96 | else { | |
95 | - | let $ | |
96 | - | if (($ | |
97 | - | then $ | |
97 | + | let $acc120192050 = isSymbolA($acc020192050, $list20192050[0]) | |
98 | + | if (($size20192050 == 1)) | |
99 | + | then $acc120192050 | |
98 | 100 | else { | |
99 | - | let $ | |
100 | - | if (($ | |
101 | - | then $ | |
101 | + | let $acc220192050 = isSymbolA($acc120192050, $list20192050[1]) | |
102 | + | if (($size20192050 == 2)) | |
103 | + | then $acc220192050 | |
102 | 104 | else { | |
103 | - | let $ | |
104 | - | if (($ | |
105 | - | then $ | |
105 | + | let $acc320192050 = isSymbolA($acc220192050, $list20192050[2]) | |
106 | + | if (($size20192050 == 3)) | |
107 | + | then $acc320192050 | |
106 | 108 | else { | |
107 | - | let $ | |
108 | - | if (($ | |
109 | - | then $ | |
109 | + | let $acc420192050 = isSymbolA($acc320192050, $list20192050[3]) | |
110 | + | if (($size20192050 == 4)) | |
111 | + | then $acc420192050 | |
110 | 112 | else { | |
111 | - | let $ | |
112 | - | if (($ | |
113 | - | then $ | |
113 | + | let $acc520192050 = isSymbolA($acc420192050, $list20192050[4]) | |
114 | + | if (($size20192050 == 5)) | |
115 | + | then $acc520192050 | |
114 | 116 | else { | |
115 | - | let $ | |
116 | - | if (($ | |
117 | - | then $ | |
117 | + | let $acc620192050 = isSymbolA($acc520192050, $list20192050[5]) | |
118 | + | if (($size20192050 == 6)) | |
119 | + | then $acc620192050 | |
118 | 120 | else { | |
119 | - | let $ | |
120 | - | if (($ | |
121 | - | then $ | |
121 | + | let $acc720192050 = isSymbolA($acc620192050, $list20192050[6]) | |
122 | + | if (($size20192050 == 7)) | |
123 | + | then $acc720192050 | |
122 | 124 | else { | |
123 | - | let $ | |
124 | - | if (($ | |
125 | - | then $ | |
125 | + | let $acc820192050 = isSymbolA($acc720192050, $list20192050[7]) | |
126 | + | if (($size20192050 == 8)) | |
127 | + | then $acc820192050 | |
126 | 128 | else { | |
127 | - | let $ | |
129 | + | let $acc920192050 = isSymbolA($acc820192050, $list20192050[8]) | |
128 | 130 | throw("List size exceed 8") | |
129 | 131 | } | |
130 | 132 | } | |
131 | 133 | } | |
132 | 134 | } | |
133 | 135 | } | |
134 | 136 | } | |
135 | 137 | } | |
136 | 138 | } | |
137 | 139 | } | |
138 | 140 | }) + "A")) + getAmountOrClear((toString({ | |
139 | - | let $ | |
140 | - | let $ | |
141 | - | let $ | |
142 | - | if (($ | |
143 | - | then $ | |
141 | + | let $list20872118 = genotype | |
142 | + | let $size20872118 = size($list20872118) | |
143 | + | let $acc020872118 = 0 | |
144 | + | if (($size20872118 == 0)) | |
145 | + | then $acc020872118 | |
144 | 146 | else { | |
145 | - | let $ | |
146 | - | if (($ | |
147 | - | then $ | |
147 | + | let $acc120872118 = isSymbolB($acc020872118, $list20872118[0]) | |
148 | + | if (($size20872118 == 1)) | |
149 | + | then $acc120872118 | |
148 | 150 | else { | |
149 | - | let $ | |
150 | - | if (($ | |
151 | - | then $ | |
151 | + | let $acc220872118 = isSymbolB($acc120872118, $list20872118[1]) | |
152 | + | if (($size20872118 == 2)) | |
153 | + | then $acc220872118 | |
152 | 154 | else { | |
153 | - | let $ | |
154 | - | if (($ | |
155 | - | then $ | |
155 | + | let $acc320872118 = isSymbolB($acc220872118, $list20872118[2]) | |
156 | + | if (($size20872118 == 3)) | |
157 | + | then $acc320872118 | |
156 | 158 | else { | |
157 | - | let $ | |
158 | - | if (($ | |
159 | - | then $ | |
159 | + | let $acc420872118 = isSymbolB($acc320872118, $list20872118[3]) | |
160 | + | if (($size20872118 == 4)) | |
161 | + | then $acc420872118 | |
160 | 162 | else { | |
161 | - | let $ | |
162 | - | if (($ | |
163 | - | then $ | |
163 | + | let $acc520872118 = isSymbolB($acc420872118, $list20872118[4]) | |
164 | + | if (($size20872118 == 5)) | |
165 | + | then $acc520872118 | |
164 | 166 | else { | |
165 | - | let $ | |
166 | - | if (($ | |
167 | - | then $ | |
167 | + | let $acc620872118 = isSymbolB($acc520872118, $list20872118[5]) | |
168 | + | if (($size20872118 == 6)) | |
169 | + | then $acc620872118 | |
168 | 170 | else { | |
169 | - | let $ | |
170 | - | if (($ | |
171 | - | then $ | |
171 | + | let $acc720872118 = isSymbolB($acc620872118, $list20872118[6]) | |
172 | + | if (($size20872118 == 7)) | |
173 | + | then $acc720872118 | |
172 | 174 | else { | |
173 | - | let $ | |
174 | - | if (($ | |
175 | - | then $ | |
175 | + | let $acc820872118 = isSymbolB($acc720872118, $list20872118[7]) | |
176 | + | if (($size20872118 == 8)) | |
177 | + | then $acc820872118 | |
176 | 178 | else { | |
177 | - | let $ | |
179 | + | let $acc920872118 = isSymbolB($acc820872118, $list20872118[8]) | |
178 | 180 | throw("List size exceed 8") | |
179 | 181 | } | |
180 | 182 | } | |
181 | 183 | } | |
182 | 184 | } | |
183 | 185 | } | |
184 | 186 | } | |
185 | 187 | } | |
186 | 188 | } | |
187 | 189 | } | |
188 | 190 | }) + "B"))) + getAmountOrClear((toString({ | |
189 | - | let $ | |
190 | - | let $ | |
191 | - | let $ | |
192 | - | if (($ | |
193 | - | then $ | |
191 | + | let $list21552186 = genotype | |
192 | + | let $size21552186 = size($list21552186) | |
193 | + | let $acc021552186 = 0 | |
194 | + | if (($size21552186 == 0)) | |
195 | + | then $acc021552186 | |
194 | 196 | else { | |
195 | - | let $ | |
196 | - | if (($ | |
197 | - | then $ | |
197 | + | let $acc121552186 = isSymbolC($acc021552186, $list21552186[0]) | |
198 | + | if (($size21552186 == 1)) | |
199 | + | then $acc121552186 | |
198 | 200 | else { | |
199 | - | let $ | |
200 | - | if (($ | |
201 | - | then $ | |
201 | + | let $acc221552186 = isSymbolC($acc121552186, $list21552186[1]) | |
202 | + | if (($size21552186 == 2)) | |
203 | + | then $acc221552186 | |
202 | 204 | else { | |
203 | - | let $ | |
204 | - | if (($ | |
205 | - | then $ | |
205 | + | let $acc321552186 = isSymbolC($acc221552186, $list21552186[2]) | |
206 | + | if (($size21552186 == 3)) | |
207 | + | then $acc321552186 | |
206 | 208 | else { | |
207 | - | let $ | |
208 | - | if (($ | |
209 | - | then $ | |
209 | + | let $acc421552186 = isSymbolC($acc321552186, $list21552186[3]) | |
210 | + | if (($size21552186 == 4)) | |
211 | + | then $acc421552186 | |
210 | 212 | else { | |
211 | - | let $ | |
212 | - | if (($ | |
213 | - | then $ | |
213 | + | let $acc521552186 = isSymbolC($acc421552186, $list21552186[4]) | |
214 | + | if (($size21552186 == 5)) | |
215 | + | then $acc521552186 | |
214 | 216 | else { | |
215 | - | let $ | |
216 | - | if (($ | |
217 | - | then $ | |
217 | + | let $acc621552186 = isSymbolC($acc521552186, $list21552186[5]) | |
218 | + | if (($size21552186 == 6)) | |
219 | + | then $acc621552186 | |
218 | 220 | else { | |
219 | - | let $ | |
220 | - | if (($ | |
221 | - | then $ | |
221 | + | let $acc721552186 = isSymbolC($acc621552186, $list21552186[6]) | |
222 | + | if (($size21552186 == 7)) | |
223 | + | then $acc721552186 | |
222 | 224 | else { | |
223 | - | let $ | |
224 | - | if (($ | |
225 | - | then $ | |
225 | + | let $acc821552186 = isSymbolC($acc721552186, $list21552186[7]) | |
226 | + | if (($size21552186 == 8)) | |
227 | + | then $acc821552186 | |
226 | 228 | else { | |
227 | - | let $ | |
229 | + | let $acc921552186 = isSymbolC($acc821552186, $list21552186[8]) | |
228 | 230 | throw("List size exceed 8") | |
229 | 231 | } | |
230 | 232 | } | |
231 | 233 | } | |
232 | 234 | } | |
233 | 235 | } | |
234 | 236 | } | |
235 | 237 | } | |
236 | 238 | } | |
237 | 239 | } | |
238 | 240 | }) + "C"))) + getAmountOrClear((toString({ | |
239 | - | let $ | |
240 | - | let $ | |
241 | - | let $ | |
242 | - | if (($ | |
243 | - | then $ | |
241 | + | let $list22252256 = genotype | |
242 | + | let $size22252256 = size($list22252256) | |
243 | + | let $acc022252256 = 0 | |
244 | + | if (($size22252256 == 0)) | |
245 | + | then $acc022252256 | |
244 | 246 | else { | |
245 | - | let $ | |
246 | - | if (($ | |
247 | - | then $ | |
247 | + | let $acc122252256 = isSymbolD($acc022252256, $list22252256[0]) | |
248 | + | if (($size22252256 == 1)) | |
249 | + | then $acc122252256 | |
248 | 250 | else { | |
249 | - | let $ | |
250 | - | if (($ | |
251 | - | then $ | |
251 | + | let $acc222252256 = isSymbolD($acc122252256, $list22252256[1]) | |
252 | + | if (($size22252256 == 2)) | |
253 | + | then $acc222252256 | |
252 | 254 | else { | |
253 | - | let $ | |
254 | - | if (($ | |
255 | - | then $ | |
255 | + | let $acc322252256 = isSymbolD($acc222252256, $list22252256[2]) | |
256 | + | if (($size22252256 == 3)) | |
257 | + | then $acc322252256 | |
256 | 258 | else { | |
257 | - | let $ | |
258 | - | if (($ | |
259 | - | then $ | |
259 | + | let $acc422252256 = isSymbolD($acc322252256, $list22252256[3]) | |
260 | + | if (($size22252256 == 4)) | |
261 | + | then $acc422252256 | |
260 | 262 | else { | |
261 | - | let $ | |
262 | - | if (($ | |
263 | - | then $ | |
263 | + | let $acc522252256 = isSymbolD($acc422252256, $list22252256[4]) | |
264 | + | if (($size22252256 == 5)) | |
265 | + | then $acc522252256 | |
264 | 266 | else { | |
265 | - | let $ | |
266 | - | if (($ | |
267 | - | then $ | |
267 | + | let $acc622252256 = isSymbolD($acc522252256, $list22252256[5]) | |
268 | + | if (($size22252256 == 6)) | |
269 | + | then $acc622252256 | |
268 | 270 | else { | |
269 | - | let $ | |
270 | - | if (($ | |
271 | - | then $ | |
271 | + | let $acc722252256 = isSymbolD($acc622252256, $list22252256[6]) | |
272 | + | if (($size22252256 == 7)) | |
273 | + | then $acc722252256 | |
272 | 274 | else { | |
273 | - | let $ | |
274 | - | if (($ | |
275 | - | then $ | |
275 | + | let $acc822252256 = isSymbolD($acc722252256, $list22252256[7]) | |
276 | + | if (($size22252256 == 8)) | |
277 | + | then $acc822252256 | |
276 | 278 | else { | |
277 | - | let $ | |
279 | + | let $acc922252256 = isSymbolD($acc822252256, $list22252256[8]) | |
278 | 280 | throw("List size exceed 8") | |
279 | 281 | } | |
280 | 282 | } | |
281 | 283 | } | |
282 | 284 | } | |
283 | 285 | } | |
284 | 286 | } | |
285 | 287 | } | |
286 | 288 | } | |
287 | 289 | } | |
288 | 290 | }) + "D"))) + getAmountOrClear((toString({ | |
289 | - | let $ | |
290 | - | let $ | |
291 | - | let $ | |
292 | - | if (($ | |
293 | - | then $ | |
291 | + | let $list22932324 = genotype | |
292 | + | let $size22932324 = size($list22932324) | |
293 | + | let $acc022932324 = 0 | |
294 | + | if (($size22932324 == 0)) | |
295 | + | then $acc022932324 | |
294 | 296 | else { | |
295 | - | let $ | |
296 | - | if (($ | |
297 | - | then $ | |
297 | + | let $acc122932324 = isSymbolE($acc022932324, $list22932324[0]) | |
298 | + | if (($size22932324 == 1)) | |
299 | + | then $acc122932324 | |
298 | 300 | else { | |
299 | - | let $ | |
300 | - | if (($ | |
301 | - | then $ | |
301 | + | let $acc222932324 = isSymbolE($acc122932324, $list22932324[1]) | |
302 | + | if (($size22932324 == 2)) | |
303 | + | then $acc222932324 | |
302 | 304 | else { | |
303 | - | let $ | |
304 | - | if (($ | |
305 | - | then $ | |
305 | + | let $acc322932324 = isSymbolE($acc222932324, $list22932324[2]) | |
306 | + | if (($size22932324 == 3)) | |
307 | + | then $acc322932324 | |
306 | 308 | else { | |
307 | - | let $ | |
308 | - | if (($ | |
309 | - | then $ | |
309 | + | let $acc422932324 = isSymbolE($acc322932324, $list22932324[3]) | |
310 | + | if (($size22932324 == 4)) | |
311 | + | then $acc422932324 | |
310 | 312 | else { | |
311 | - | let $ | |
312 | - | if (($ | |
313 | - | then $ | |
313 | + | let $acc522932324 = isSymbolE($acc422932324, $list22932324[4]) | |
314 | + | if (($size22932324 == 5)) | |
315 | + | then $acc522932324 | |
314 | 316 | else { | |
315 | - | let $ | |
316 | - | if (($ | |
317 | - | then $ | |
317 | + | let $acc622932324 = isSymbolE($acc522932324, $list22932324[5]) | |
318 | + | if (($size22932324 == 6)) | |
319 | + | then $acc622932324 | |
318 | 320 | else { | |
319 | - | let $ | |
320 | - | if (($ | |
321 | - | then $ | |
321 | + | let $acc722932324 = isSymbolE($acc622932324, $list22932324[6]) | |
322 | + | if (($size22932324 == 7)) | |
323 | + | then $acc722932324 | |
322 | 324 | else { | |
323 | - | let $ | |
324 | - | if (($ | |
325 | - | then $ | |
325 | + | let $acc822932324 = isSymbolE($acc722932324, $list22932324[7]) | |
326 | + | if (($size22932324 == 8)) | |
327 | + | then $acc822932324 | |
326 | 328 | else { | |
327 | - | let $ | |
329 | + | let $acc922932324 = isSymbolE($acc822932324, $list22932324[8]) | |
328 | 330 | throw("List size exceed 8") | |
329 | 331 | } | |
330 | 332 | } | |
331 | 333 | } | |
332 | 334 | } | |
333 | 335 | } | |
334 | 336 | } | |
335 | 337 | } | |
336 | 338 | } | |
337 | 339 | } | |
338 | 340 | }) + "E"))) + getAmountOrClear((toString({ | |
339 | - | let $ | |
340 | - | let $ | |
341 | - | let $ | |
342 | - | if (($ | |
343 | - | then $ | |
341 | + | let $list23612392 = genotype | |
342 | + | let $size23612392 = size($list23612392) | |
343 | + | let $acc023612392 = 0 | |
344 | + | if (($size23612392 == 0)) | |
345 | + | then $acc023612392 | |
344 | 346 | else { | |
345 | - | let $ | |
346 | - | if (($ | |
347 | - | then $ | |
347 | + | let $acc123612392 = isSymbolF($acc023612392, $list23612392[0]) | |
348 | + | if (($size23612392 == 1)) | |
349 | + | then $acc123612392 | |
348 | 350 | else { | |
349 | - | let $ | |
350 | - | if (($ | |
351 | - | then $ | |
351 | + | let $acc223612392 = isSymbolF($acc123612392, $list23612392[1]) | |
352 | + | if (($size23612392 == 2)) | |
353 | + | then $acc223612392 | |
352 | 354 | else { | |
353 | - | let $ | |
354 | - | if (($ | |
355 | - | then $ | |
355 | + | let $acc323612392 = isSymbolF($acc223612392, $list23612392[2]) | |
356 | + | if (($size23612392 == 3)) | |
357 | + | then $acc323612392 | |
356 | 358 | else { | |
357 | - | let $ | |
358 | - | if (($ | |
359 | - | then $ | |
359 | + | let $acc423612392 = isSymbolF($acc323612392, $list23612392[3]) | |
360 | + | if (($size23612392 == 4)) | |
361 | + | then $acc423612392 | |
360 | 362 | else { | |
361 | - | let $ | |
362 | - | if (($ | |
363 | - | then $ | |
363 | + | let $acc523612392 = isSymbolF($acc423612392, $list23612392[4]) | |
364 | + | if (($size23612392 == 5)) | |
365 | + | then $acc523612392 | |
364 | 366 | else { | |
365 | - | let $ | |
366 | - | if (($ | |
367 | - | then $ | |
367 | + | let $acc623612392 = isSymbolF($acc523612392, $list23612392[5]) | |
368 | + | if (($size23612392 == 6)) | |
369 | + | then $acc623612392 | |
368 | 370 | else { | |
369 | - | let $ | |
370 | - | if (($ | |
371 | - | then $ | |
371 | + | let $acc723612392 = isSymbolF($acc623612392, $list23612392[6]) | |
372 | + | if (($size23612392 == 7)) | |
373 | + | then $acc723612392 | |
372 | 374 | else { | |
373 | - | let $ | |
374 | - | if (($ | |
375 | - | then $ | |
375 | + | let $acc823612392 = isSymbolF($acc723612392, $list23612392[7]) | |
376 | + | if (($size23612392 == 8)) | |
377 | + | then $acc823612392 | |
376 | 378 | else { | |
377 | - | let $ | |
379 | + | let $acc923612392 = isSymbolF($acc823612392, $list23612392[8]) | |
378 | 380 | throw("List size exceed 8") | |
379 | 381 | } | |
380 | 382 | } | |
381 | 383 | } | |
382 | 384 | } | |
383 | 385 | } | |
384 | 386 | } | |
385 | 387 | } | |
386 | 388 | } | |
387 | 389 | } | |
388 | 390 | }) + "F"))) + getAmountOrClear((toString({ | |
389 | - | let $ | |
390 | - | let $ | |
391 | - | let $ | |
392 | - | if (($ | |
393 | - | then $ | |
391 | + | let $list24312462 = genotype | |
392 | + | let $size24312462 = size($list24312462) | |
393 | + | let $acc024312462 = 0 | |
394 | + | if (($size24312462 == 0)) | |
395 | + | then $acc024312462 | |
394 | 396 | else { | |
395 | - | let $ | |
396 | - | if (($ | |
397 | - | then $ | |
397 | + | let $acc124312462 = isSymbolG($acc024312462, $list24312462[0]) | |
398 | + | if (($size24312462 == 1)) | |
399 | + | then $acc124312462 | |
398 | 400 | else { | |
399 | - | let $ | |
400 | - | if (($ | |
401 | - | then $ | |
401 | + | let $acc224312462 = isSymbolG($acc124312462, $list24312462[1]) | |
402 | + | if (($size24312462 == 2)) | |
403 | + | then $acc224312462 | |
402 | 404 | else { | |
403 | - | let $ | |
404 | - | if (($ | |
405 | - | then $ | |
405 | + | let $acc324312462 = isSymbolG($acc224312462, $list24312462[2]) | |
406 | + | if (($size24312462 == 3)) | |
407 | + | then $acc324312462 | |
406 | 408 | else { | |
407 | - | let $ | |
408 | - | if (($ | |
409 | - | then $ | |
409 | + | let $acc424312462 = isSymbolG($acc324312462, $list24312462[3]) | |
410 | + | if (($size24312462 == 4)) | |
411 | + | then $acc424312462 | |
410 | 412 | else { | |
411 | - | let $ | |
412 | - | if (($ | |
413 | - | then $ | |
413 | + | let $acc524312462 = isSymbolG($acc424312462, $list24312462[4]) | |
414 | + | if (($size24312462 == 5)) | |
415 | + | then $acc524312462 | |
414 | 416 | else { | |
415 | - | let $ | |
416 | - | if (($ | |
417 | - | then $ | |
417 | + | let $acc624312462 = isSymbolG($acc524312462, $list24312462[5]) | |
418 | + | if (($size24312462 == 6)) | |
419 | + | then $acc624312462 | |
418 | 420 | else { | |
419 | - | let $ | |
420 | - | if (($ | |
421 | - | then $ | |
421 | + | let $acc724312462 = isSymbolG($acc624312462, $list24312462[6]) | |
422 | + | if (($size24312462 == 7)) | |
423 | + | then $acc724312462 | |
422 | 424 | else { | |
423 | - | let $ | |
424 | - | if (($ | |
425 | - | then $ | |
425 | + | let $acc824312462 = isSymbolG($acc724312462, $list24312462[7]) | |
426 | + | if (($size24312462 == 8)) | |
427 | + | then $acc824312462 | |
426 | 428 | else { | |
427 | - | let $ | |
429 | + | let $acc924312462 = isSymbolG($acc824312462, $list24312462[8]) | |
428 | 430 | throw("List size exceed 8") | |
429 | 431 | } | |
430 | 432 | } | |
431 | 433 | } | |
432 | 434 | } | |
433 | 435 | } | |
434 | 436 | } | |
435 | 437 | } | |
436 | 438 | } | |
437 | 439 | } | |
438 | 440 | }) + "G"))) + getAmountOrClear((toString({ | |
439 | - | let $ | |
440 | - | let $ | |
441 | - | let $ | |
442 | - | if (($ | |
443 | - | then $ | |
441 | + | let $list24992530 = genotype | |
442 | + | let $size24992530 = size($list24992530) | |
443 | + | let $acc024992530 = 0 | |
444 | + | if (($size24992530 == 0)) | |
445 | + | then $acc024992530 | |
444 | 446 | else { | |
445 | - | let $ | |
446 | - | if (($ | |
447 | - | then $ | |
447 | + | let $acc124992530 = isSymbolH($acc024992530, $list24992530[0]) | |
448 | + | if (($size24992530 == 1)) | |
449 | + | then $acc124992530 | |
448 | 450 | else { | |
449 | - | let $ | |
450 | - | if (($ | |
451 | - | then $ | |
451 | + | let $acc224992530 = isSymbolH($acc124992530, $list24992530[1]) | |
452 | + | if (($size24992530 == 2)) | |
453 | + | then $acc224992530 | |
452 | 454 | else { | |
453 | - | let $ | |
454 | - | if (($ | |
455 | - | then $ | |
455 | + | let $acc324992530 = isSymbolH($acc224992530, $list24992530[2]) | |
456 | + | if (($size24992530 == 3)) | |
457 | + | then $acc324992530 | |
456 | 458 | else { | |
457 | - | let $ | |
458 | - | if (($ | |
459 | - | then $ | |
459 | + | let $acc424992530 = isSymbolH($acc324992530, $list24992530[3]) | |
460 | + | if (($size24992530 == 4)) | |
461 | + | then $acc424992530 | |
460 | 462 | else { | |
461 | - | let $ | |
462 | - | if (($ | |
463 | - | then $ | |
463 | + | let $acc524992530 = isSymbolH($acc424992530, $list24992530[4]) | |
464 | + | if (($size24992530 == 5)) | |
465 | + | then $acc524992530 | |
464 | 466 | else { | |
465 | - | let $ | |
466 | - | if (($ | |
467 | - | then $ | |
467 | + | let $acc624992530 = isSymbolH($acc524992530, $list24992530[5]) | |
468 | + | if (($size24992530 == 6)) | |
469 | + | then $acc624992530 | |
468 | 470 | else { | |
469 | - | let $ | |
470 | - | if (($ | |
471 | - | then $ | |
471 | + | let $acc724992530 = isSymbolH($acc624992530, $list24992530[6]) | |
472 | + | if (($size24992530 == 7)) | |
473 | + | then $acc724992530 | |
472 | 474 | else { | |
473 | - | let $ | |
474 | - | if (($ | |
475 | - | then $ | |
475 | + | let $acc824992530 = isSymbolH($acc724992530, $list24992530[7]) | |
476 | + | if (($size24992530 == 8)) | |
477 | + | then $acc824992530 | |
476 | 478 | else { | |
477 | - | let $ | |
479 | + | let $acc924992530 = isSymbolH($acc824992530, $list24992530[8]) | |
478 | 480 | throw("List size exceed 8") | |
479 | 481 | } | |
480 | 482 | } | |
481 | 483 | } | |
482 | 484 | } | |
483 | 485 | } | |
484 | 486 | } | |
485 | 487 | } | |
486 | 488 | } | |
487 | 489 | } | |
488 | 490 | }) + "H"))) | |
489 | 491 | } | |
490 | 492 | ||
491 | 493 | ||
492 | 494 | func getAssetOrigin (generation) = if ((generation == "G")) | |
493 | 495 | then incubatorAddress | |
494 | 496 | else breederAddress | |
495 | 497 | ||
496 | 498 | ||
497 | 499 | func getAssetRarity (genotype,generation) = { | |
498 | 500 | let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + genotype) + "_quantity")) | |
499 | 501 | let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR) | |
500 | 502 | if ((power > 0)) | |
501 | 503 | then power | |
502 | 504 | else 2 | |
503 | 505 | } | |
504 | 506 | ||
505 | 507 | ||
506 | 508 | func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress))) | |
507 | 509 | then true | |
508 | 510 | else (value(assetInfo(assetId)).issuer == Address(incubatorAddress))) | |
509 | 511 | then { | |
510 | 512 | let assetName = value(assetInfo(assetId)).name | |
511 | 513 | let generation = take(takeRight(assetName, 2), 1) | |
512 | 514 | let gen = ((getGen(assetName) + "-") + generation) | |
513 | 515 | $Tuple2(gen, getAssetRarity(gen, generation)) | |
514 | 516 | } | |
515 | 517 | else throw("not valid NFT") | |
516 | 518 | ||
517 | 519 | ||
518 | 520 | func getLastKnownAssetFarmingPower (address,assetId) = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_farmingPower")) | |
519 | 521 | ||
520 | 522 | ||
521 | 523 | func getAssetsByGen (gen) = { | |
522 | 524 | let s = tryGetString(("assets_" + gen)) | |
523 | 525 | if ((s == "")) | |
524 | 526 | then nil | |
525 | 527 | else split(s, ",") | |
526 | 528 | } | |
527 | 529 | ||
528 | 530 | ||
529 | 531 | func calcInterest (previousInterest,previousInterestHeight,totalFarmingPower) = (previousInterest + (((scale * getRewardPerBlock()) * (height - previousInterestHeight)) / totalFarmingPower)) | |
530 | 532 | ||
531 | 533 | ||
532 | 534 | func getCurrentInterest () = if ((tryGetInteger("total_farmingPower") > 0)) | |
533 | 535 | then { | |
534 | 536 | let previousInterest = tryGetInteger("total_lastCheckInterest") | |
535 | 537 | let previousInterestHeight = tryGetInteger("total_lastCheckInterestHeight") | |
536 | 538 | let totalFarmingPower = tryGetInteger("total_farmingPower") | |
537 | 539 | calcInterest(previousInterest, previousInterestHeight, totalFarmingPower) | |
538 | 540 | } | |
539 | 541 | else if ((tryGetInteger("total_startHeight") != 0)) | |
540 | 542 | then tryGetInteger("total_lastCheckInterest") | |
541 | 543 | else throw("farming is not launched, yet") | |
542 | 544 | ||
543 | 545 | ||
544 | 546 | func calcAssetRewardDelta (address,assetId,assetFarmingPower) = { | |
545 | 547 | let lastCheckAssetInterest = tryGetInteger((((("address_" + address) + "_asset_") + assetId) + "_lastCheckInterest")) | |
546 | 548 | let currentInterest = getCurrentInterest() | |
547 | 549 | (assetFarmingPower * (currentInterest - lastCheckAssetInterest)) | |
548 | 550 | } | |
549 | 551 | ||
550 | 552 | ||
551 | 553 | func addAssetIdToGenEntry (assetId,assetGen) = { | |
552 | 554 | let currentValue = tryGetString((("assets_" + assetGen) + "_locked")) | |
553 | 555 | if ((currentValue == "")) | |
554 | 556 | then assetId | |
555 | 557 | else ((currentValue + ",") + assetId) | |
556 | 558 | } | |
557 | 559 | ||
558 | 560 | ||
559 | 561 | func getStakeResult (address,assetId,assetFarmingPower) = { | |
560 | 562 | let asset = toBase58String(assetId) | |
561 | 563 | [IntegerEntry("total_farmingPower", (tryGetInteger("total_farmingPower") + assetFarmingPower)), IntegerEntry("total_lastCheckInterest", getCurrentInterest()), IntegerEntry("total_lastCheckInterestHeight", height), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_farmingPower"), assetFarmingPower), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckInterest"), getCurrentInterest())] | |
562 | 564 | } | |
563 | 565 | ||
564 | 566 | ||
565 | 567 | func getUnstakeResult (address,assetId,rewardDelta,withdrawnAmount,assetFarmingPower) = { | |
566 | 568 | let asset = toBase58String(assetId) | |
567 | 569 | [IntegerEntry("total_farmingPower", (tryGetInteger("total_farmingPower") - assetFarmingPower)), IntegerEntry("total_lastCheckInterest", getCurrentInterest()), IntegerEntry("total_lastCheckInterestHeight", height), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_farmingPower"), 0), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckInterest"), getCurrentInterest()), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount")) + (withdrawnAmount * scale2))), IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount")) + rewardDelta))] | |
568 | 570 | } | |
569 | 571 | ||
570 | 572 | ||
571 | 573 | @Callable(i) | |
572 | 574 | func init () = if ((i.caller != this)) | |
573 | 575 | then throw("admin only") | |
574 | 576 | else [IntegerEntry("total_startHeight", height)] | |
575 | 577 | ||
576 | 578 | ||
577 | 579 | ||
578 | 580 | @Callable(i) | |
579 | 581 | func buyPerch (color,refererAddress) = if ((0 > value(indexOf(["B", "R", "G", "Y"], color)))) | |
580 | 582 | then throw("you need to set color properly") | |
581 | 583 | else { | |
582 | 584 | let firstPayment = value(i.payments[0]) | |
583 | 585 | if ((firstPayment.assetId != eggsAssetId)) | |
584 | 586 | then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(eggsAssetId))) | |
585 | 587 | else if ((firstPayment.amount != perchPrice)) | |
586 | 588 | then throw(("To buy a perch you currently need the following amount of EGGlets: " + toString(perchPrice))) | |
587 | 589 | else { | |
588 | 590 | let refererRewardForPerch = ((firstPayment.amount / 100) * RefererReward) | |
589 | 591 | let refCall = invoke(Address(refContractAddress), "refPayment", [refererAddress], [AttachedPayment(eggsAssetId, refererRewardForPerch)]) | |
590 | 592 | if ((refCall == refCall)) | |
591 | 593 | then { | |
592 | 594 | let perchAmountKey = ((("address_" + toString(i.caller)) + "_perchesAvailable_") + color) | |
593 | 595 | let perchAmount = tryGetInteger(perchAmountKey) | |
594 | 596 | [IntegerEntry(perchAmountKey, (perchAmount + 1))] | |
595 | 597 | } | |
596 | 598 | else throw("Strict value is not equal to itself.") | |
597 | 599 | } | |
598 | 600 | } | |
599 | 601 | ||
600 | 602 | ||
601 | 603 | ||
602 | 604 | @Callable(i) | |
605 | + | func addFreePerch (address,color) = if ((0 > value(indexOf(["B", "R", "G", "Y"], color)))) | |
606 | + | then throw("you need to set color properly") | |
607 | + | else if (if ((i.caller != Address(rebirthAddress))) | |
608 | + | then (i.caller != this) | |
609 | + | else false) | |
610 | + | then throw("rebirth only") | |
611 | + | else { | |
612 | + | let perchAmountKey = ((("address_" + address) + "_perchesAvailable_") + color) | |
613 | + | let perchAmount = tryGetInteger(perchAmountKey) | |
614 | + | $Tuple2([IntegerEntry(perchAmountKey, (perchAmount + 1))], "") | |
615 | + | } | |
616 | + | ||
617 | + | ||
618 | + | ||
619 | + | @Callable(i) | |
603 | 620 | func stakeNFT () = { | |
604 | 621 | let assetId = value(value(i.payments[0]).assetId) | |
605 | 622 | let address = toString(i.caller) | |
606 | 623 | let color = takeRight(value(assetInfo(assetId)).name, 1) | |
607 | 624 | let availablePerches = tryGetInteger(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color)) | |
608 | 625 | if ((0 >= availablePerches)) | |
609 | 626 | then throw(("no perches available for the color " + color)) | |
610 | 627 | else { | |
611 | - | let $ | |
612 | - | let assetGen = $ | |
613 | - | let assetFarmingPower = $ | |
628 | + | let $t085448609 = getAssetFarmingPower(assetId) | |
629 | + | let assetGen = $t085448609._1 | |
630 | + | let assetFarmingPower = $t085448609._2 | |
614 | 631 | let assetRewardDelta = calcAssetRewardDelta(address, toBase58String(assetId), assetFarmingPower) | |
615 | 632 | (getStakeResult(address, assetId, assetFarmingPower) ++ [IntegerEntry(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color), (availablePerches - 1))]) | |
616 | 633 | } | |
617 | 634 | } | |
618 | 635 | ||
619 | 636 | ||
620 | 637 | ||
621 | 638 | @Callable(i) | |
622 | 639 | func unstakeNFT (asset) = { | |
623 | 640 | let assetId = fromBase58String(asset) | |
624 | 641 | let address = toString(i.caller) | |
625 | 642 | let assetFarmingPower = getLastKnownAssetFarmingPower(address, asset) | |
626 | 643 | let assetRewardDelta = calcAssetRewardDelta(address, asset, assetFarmingPower) | |
627 | 644 | let farmedAmount = (assetRewardDelta + tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"))) | |
628 | 645 | let withdrawnAmount = tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount")) | |
629 | 646 | let reward = ((farmedAmount - withdrawnAmount) / (scale * 100)) | |
630 | 647 | let color = takeRight(value(assetInfo(assetId)).name, 1) | |
631 | 648 | if ((0 >= assetFarmingPower)) | |
632 | 649 | then throw("asset not available") | |
633 | 650 | else if ((color == "U")) | |
634 | 651 | then throw("use another function to unstake Jackpot NFT") | |
635 | 652 | else { | |
636 | 653 | let result = getUnstakeResult(address, assetId, assetRewardDelta, reward, assetFarmingPower) | |
637 | 654 | (result ++ [IntegerEntry(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color), (tryGetInteger(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color)) + 1)), ScriptTransfer(i.caller, reward, eggsAssetId), ScriptTransfer(i.caller, 1, assetId)]) | |
638 | 655 | } | |
639 | 656 | } | |
640 | 657 | ||
641 | 658 | ||
642 | 659 | ||
643 | 660 | @Callable(i) | |
644 | 661 | func stakeJackpot (color) = { | |
645 | 662 | let assetId = value(value(i.payments[0]).assetId) | |
646 | 663 | let address = toString(i.caller) | |
647 | 664 | let availablePerches = tryGetInteger(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color)) | |
648 | 665 | let assetIssuer = value(assetInfo(assetId)).issuer.bytes | |
649 | 666 | if (if ((assetIssuer == incubatorAddress)) | |
650 | 667 | then true | |
651 | 668 | else (assetIssuer == breederAddress)) | |
652 | 669 | then if ((takeRight(value(value(assetInfo(assetId)).name), 1) != "U")) | |
653 | 670 | then throw("jackpot only") | |
654 | 671 | else if ((0 >= availablePerches)) | |
655 | 672 | then throw(("no perches available for the color " + color)) | |
656 | 673 | else (getStakeResult(address, assetId, 100) ++ [IntegerEntry(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color), (availablePerches - 1)), StringEntry((((("address_" + toString(i.caller)) + "_asset_") + toBase58String(assetId)) + "_perchColor"), color)]) | |
657 | 674 | else throw("asset is not valid") | |
658 | 675 | } | |
659 | 676 | ||
660 | 677 | ||
661 | 678 | ||
662 | 679 | @Callable(i) | |
663 | 680 | func unstakeJackpot (asset) = { | |
664 | 681 | let assetId = fromBase58String(asset) | |
665 | 682 | let address = toString(i.caller) | |
666 | 683 | let color = tryGetString((((("address_" + address) + "_asset_") + asset) + "_perchColor")) | |
667 | 684 | let assetFarmingPower = getLastKnownAssetFarmingPower(address, asset) | |
668 | 685 | let assetRewardDelta = calcAssetRewardDelta(address, asset, assetFarmingPower) | |
669 | 686 | let farmedAmount = (assetRewardDelta + tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"))) | |
670 | 687 | let withdrawnAmount = tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount")) | |
671 | 688 | let reward = ((farmedAmount - withdrawnAmount) / (scale * 100)) | |
672 | 689 | if ((takeRight(value(value(assetInfo(assetId)).name), 1) != "U")) | |
673 | 690 | then throw("jackpot only") | |
674 | 691 | else if ((assetFarmingPower > 0)) | |
675 | 692 | then { | |
676 | 693 | let result = getUnstakeResult(address, assetId, assetRewardDelta, reward, assetFarmingPower) | |
677 | 694 | (result ++ [IntegerEntry(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color), (tryGetInteger(((("address_" + toString(i.caller)) + "_perchesAvailable_") + color)) + 1)), ScriptTransfer(i.caller, reward, eggsAssetId), ScriptTransfer(i.caller, 1, assetId)]) | |
678 | 695 | } | |
679 | 696 | else throw("") | |
680 | 697 | } | |
681 | 698 | ||
682 | 699 | ||
683 | 700 | ||
684 | 701 | @Callable(i) | |
685 | 702 | func claimReward (asset) = { | |
686 | 703 | let address = toString(i.caller) | |
687 | 704 | let assetId = fromBase58String(asset) | |
688 | 705 | let assetFarmingPower = getLastKnownAssetFarmingPower(address, asset) | |
689 | 706 | let assetRewardDelta = calcAssetRewardDelta(address, asset, assetFarmingPower) | |
690 | 707 | let farmedAmount = (assetRewardDelta + tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_lastCheckFarmedAmount"))) | |
691 | 708 | let withdrawnAmount = tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount")) | |
692 | 709 | let reward = ((farmedAmount - withdrawnAmount) / (scale * 100)) | |
693 | 710 | if ((0 >= reward)) | |
694 | 711 | then throw("you have no EGGs to withdraw") | |
695 | 712 | else [IntegerEntry((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount"), (tryGetInteger((((("address_" + address) + "_asset_") + asset) + "_withdrawnAmount")) + (reward * scale2))), ScriptTransfer(Address(fromBase58String(address)), reward, eggsAssetId)] | |
696 | 713 | } | |
697 | 714 | ||
698 | 715 | ||
699 | 716 | @Verifier(tx) | |
700 | 717 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
701 | 718 |
github/deemru/w8io/786bc32 280.81 ms ◑