tx · DmHSTaPo8z5rjFfJJrPYbovJpzFGUkskWZdTUxwdcJHk

3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y:  -0.01400000 Waves

2021.11.25 17:29 [2871617] smart account 3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y > SELF 0.00000000 Waves

{ "type": 13, "id": "DmHSTaPo8z5rjFfJJrPYbovJpzFGUkskWZdTUxwdcJHk", "fee": 1400000, "feeAssetId": null, "timestamp": 1637850562958, "version": 2, "chainId": 87, "sender": "3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y", "senderPublicKey": "4o7Wphn2swW4DxuPY7UcT6YpsZniEMnDH818h1pC3BeX", "proofs": [ "32ivPgQqTZ594Pm6EtbgWgT4MLfrnQH38EeP6eTBF8tS7S7jHx4XPhGTB51hohw1YCKFwJr7ytBDZ8ib5yPcEQru" ], "script": "base64:AAIFAAAAAAAAAA8IAhIAEgMKAQgSBAoCCAgAAAAgAAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAAAAAAAAA9IYXRjaGluZ1N0YXJ0ZWQCAAAAEEJSRUVESU5HX1NUQVJURUQAAAAAEEhhdGNoaW5nRmluaXNoZWQCAAAAEUJSRUVESU5HX0ZJTklTSEVEAAAAABBpbmN1YmF0b3JBZGRyZXNzAQAAABoBVzG/mmi5MDJ8KLMUgT61fi6VglLk6UbbgAAAAAAER0VOUwkABEwAAAACAgAAAAFBCQAETAAAAAICAAAAAUIJAARMAAAAAgIAAAABQwkABEwAAAACAgAAAAFECQAETAAAAAICAAAAAUUJAARMAAAAAgIAAAABRgkABEwAAAACAgAAAAFHCQAETAAAAAICAAAAAUgJAARMAAAAAgIAAAABSQUAAAADbmlsAAAAAA1NYXhHZW5lcmF0aW9uAAAAAAAAAAAHAAAAAAtHZW5lcmF0aW9ucwkABEwAAAACAgAAAAFHCQAETAAAAAICAAAAAUgJAARMAAAAAgIAAAABSQkABEwAAAACAgAAAAFLCQAETAAAAAICAAAAAUwJAARMAAAAAgIAAAABTQkABEwAAAACAgAAAAFOCQAETAAAAAICAAAAAU8FAAAAA25pbAAAAAAOcmViaXJ0aEFkZHJlc3MBAAAAGgFXvuBcw7Z3jAaO4uQTGGUu6t8ucJ8wjyb5AQAAABNnZXRQcm9jZXNzU3RhdHVzS2V5AAAAAgAAAAdhZGRyZXNzAAAABHR4SWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAB2FkZHJlc3MCAAAAAV8JAAJYAAAAAQUAAAAEdHhJZAIAAAAHX3N0YXR1cwEAAAAZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQAAAAIAAAAHYWRkcmVzcwAAAAR0eElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAFfCQACWAAAAAEFAAAABHR4SWQCAAAAA19maAEAAAAQZ2V0RHVja1BhcmVudEtleQAAAAIAAAAEdHhJZAAAAAlwYXJlbnROdW0JAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB2luaXR0eF8JAAJYAAAAAQUAAAAEdHhJZAIAAAAHX3BhcmVudAkAAaQAAAABBQAAAAlwYXJlbnROdW0BAAAADGdldER1Y2tJZEtleQAAAAIAAAAHYWRkcmVzcwAAAAR0eElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAFfCQACWAAAAAEFAAAABHR4SWQCAAAAA19kaQEAAAAPZ2V0RHVja1N0YXRzS2V5AAAAAQAAAAlnZW5TdHJpbmcJAAEsAAAAAgkAASwAAAACAgAAAAZzdGF0c18FAAAACWdlblN0cmluZwIAAAAHX2Ftb3VudAEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAN2YWwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAAFAAAAA3ZhbAEAAAAMdHJ5R2V0U3RyaW5nAAAAAQAAAANrZXkEAAAAA3ZhbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgIAAAAABQAAAAN2YWwBAAAAE2RldGVybWluZUdlbmVyYXRpb24AAAACAAAAAmcxAAAAAmcyBAAAAAZnSW5kZXgJAAGWAAAAAQkABEwAAAACCQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAAC0dlbmVyYXRpb25zBQAAAAJnMQkABEwAAAACCQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAAC0dlbmVyYXRpb25zBQAAAAJnMgUAAAADbmlsCQABkQAAAAIFAAAAC0dlbmVyYXRpb25zCQAAZAAAAAIFAAAABmdJbmRleAAAAAAAAAAAAQEAAAAPZ2V0UmFuZG9tTnVtYmVyAAAABAAAAAh2YXJpYW50cwAAAAR0eElkAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAAABm9mZnNldAQAAAAPcmFuZG9tU2VlZEJsb2NrCQEAAAAFdmFsdWUAAAABCQAD7QAAAAEJAABlAAAAAgUAAAAUaGF0Y2hpbmdGaW5pc2hIZWlnaHQAAAAAAAAAAAEEAAAACnJhbmRvbUhhc2gJAAtUAAAAAQkAAMsAAAACBQAAAAR0eElkCQEAAAAFdmFsdWUAAAABCAUAAAAPcmFuZG9tU2VlZEJsb2NrAAAAA3ZyZgkAAGoAAAACCQAEsgAAAAIFAAAACnJhbmRvbUhhc2gFAAAABm9mZnNldAUAAAAIdmFyaWFudHMBAAAADGdldFJhbmRvbUdlbgAAAAUAAAAEZ2VuMQAAAARnZW4yAAAABHN0ZXAAAAAEdHhJZAAAABRoYXRjaGluZ0ZpbmlzaEhlaWdodAQAAAAJcmFuZG9tTnVtCQEAAAAPZ2V0UmFuZG9tTnVtYmVyAAAABAAAAAAAAAAAAgUAAAAEdHhJZAUAAAAUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFAAAABHN0ZXAEAAAAA2dlbgMJAAAAAAAAAgUAAAAJcmFuZG9tTnVtAAAAAAAAAAAABQAAAARnZW4xBQAAAARnZW4yBQAAAANnZW4BAAAADGdlbmVyYXRlRHVjawAAAAIAAAAEdHhJZAAAABRoYXRjaGluZ0ZpbmlzaEhlaWdodAQAAAALY29sb3JSYW5kb20JAQAAAA9nZXRSYW5kb21OdW1iZXIAAAAEAAAAAAAAAAAEBQAAAAR0eElkBQAAABRoYXRjaGluZ0ZpbmlzaEhlaWdodAAAAAAAAAAACwQAAAAFY29sb3IDCQAAAAAAAAIFAAAAC2NvbG9yUmFuZG9tAAAAAAAAAAAAAgAAAAFZAwkAAAAAAAACBQAAAAtjb2xvclJhbmRvbQAAAAAAAAAAAQIAAAABRwMJAAAAAAAAAgUAAAALY29sb3JSYW5kb20AAAAAAAAAAAICAAAAAUICAAAAAVIEAAAACXBhcmVudDFJZAkAAlkAAAABCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkBAAAAEGdldER1Y2tQYXJlbnRLZXkAAAACBQAAAAR0eElkAAAAAAAAAAABBAAAAAlwYXJlbnQySWQJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABBnZXREdWNrUGFyZW50S2V5AAAAAgUAAAAEdHhJZAAAAAAAAAAAAgQAAAAKcGFyZW50MUdlbgkABLUAAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAlwYXJlbnQxSWQAAAAEbmFtZQIAAAAABAAAAApwYXJlbnQyR2VuCQAEtQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAACXBhcmVudDJJZAAAAARuYW1lAgAAAAAEAAAAA2dlbgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABURVQ0stCQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAFCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAUAAAAAAAAAAAAFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAGCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAYAAAAAAAAAAAEFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAHCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAcAAAAAAAAAAAIFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAICQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAgAAAAAAAAAAAMFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAJCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAkAAAAAAAAAAAQFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAKCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAoAAAAAAAAAAAUFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAALCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAwAAAAAAAAAAAYFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0CQEAAAAMZ2V0UmFuZG9tR2VuAAAABQkAAZEAAAACBQAAAApwYXJlbnQxR2VuAAAAAAAAAAAMCQABkQAAAAIFAAAACnBhcmVudDJHZW4AAAAAAAAAAAwAAAAAAAAAAAcFAAAABHR4SWQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0AgAAAAEtCQEAAAATZGV0ZXJtaW5lR2VuZXJhdGlvbgAAAAIJAAGRAAAAAgUAAAAKcGFyZW50MUdlbgAAAAAAAAAADgkAAZEAAAACBQAAAApwYXJlbnQyR2VuAAAAAAAAAAAOBQAAAAVjb2xvcgUAAAADZ2VuAQAAABVjaGVja0Fzc2V0SW5JbmN1YmF0b3IAAAABAAAAB2Fzc2V0SWQEAAAABnJlc3VsdAQAAAAHJG1hdGNoMAkABB0AAAACCQEAAAAHQWRkcmVzcwAAAAEFAAAAEGluY3ViYXRvckFkZHJlc3MFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYgUAAAAHJG1hdGNoMAYHBAAAAAdyZXN1bHQyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYwUAAAAHJG1hdGNoMAYHAwUAAAAGcmVzdWx0BgUAAAAHcmVzdWx0MgEAAAAMY2FuQmVCcmVlZGVkAAAAAgAAAAhhc3NldDFJZAAAAAhhc3NldDJJZAQAAAAJYXNzZXQxR2VuCQAEtQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAACGFzc2V0MUlkAAAABG5hbWUCAAAAAAQAAAAJYXNzZXQyR2VuCQAEtQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAACGFzc2V0MklkAAAABG5hbWUCAAAAAAMJAABnAAAAAgkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAtHZW5lcmF0aW9ucwkAAZEAAAACBQAAAAlhc3NldDFHZW4AAAAAAAAAAA4FAAAADU1heEdlbmVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAACl5b3UgY2FuIG9ubHkgYnJlZWQgZHVja3Mgd2l0aCBnZW5lcmF0aW9uIAkAAZEAAAACBQAAAAtHZW5lcmF0aW9ucwUAAAANTWF4R2VuZXJhdGlvbgIAAAAKIGFuZCBsb3dlcgMJAABnAAAAAgkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAtHZW5lcmF0aW9ucwkAAZEAAAACBQAAAAlhc3NldDJHZW4AAAAAAAAAAA4FAAAADU1heEdlbmVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAACl5b3UgY2FuIG9ubHkgYnJlZWQgZHVja3Mgd2l0aCBnZW5lcmF0aW9uIAkAAZEAAAACBQAAAAtHZW5lcmF0aW9ucwUAAAANTWF4R2VuZXJhdGlvbgIAAAAKIGFuZCBsb3dlcgIAAAAEdHJ1ZQEAAAAJaXNTeW1ib2xBAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABQQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xCAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABQgkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xDAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABQwkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xEAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRAkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xFAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xGAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRgkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xHAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRwkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xIAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABSAkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xJAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABSQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEAAAAGYW1vdW50AwkBAAAACGNvbnRhaW5zAAAAAgUAAAAGYW1vdW50AgAAAAEwAgAAAAAFAAAABmFtb3VudAEAAAAGZ2V0R2VuAAAAAQAAAAlhc3NldE5hbWUEAAAACmdlbmVyYXRpb24JAAGRAAAAAgkABLUAAAACBQAAAAlhc3NldE5hbWUCAAAAAAAAAAAAAAAADgQAAAAIZ2Vub3R5cGUJAAS1AAAAAgkBAAAACWRyb3BSaWdodAAAAAIJAAEwAAAAAgUAAAAJYXNzZXROYW1lAAAAAAAAAAAFAAAAAAAAAAADAgAAAAAJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAExAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sQQAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAAATIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAEyAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFBCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAAATEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xCAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAABMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAAATIAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUIJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAABMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEMAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAEyAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAABMgAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABQwkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAExAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sRAAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAAATIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAEyAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFECQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAAATEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xFAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAABMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAAATIAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUUJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAABMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEYAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAEyAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAABMgAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABRgkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAExAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sRwAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAAATIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAEyAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFHCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAAATEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xIAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAABMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAAATIAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUgJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAABMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEkAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAEyAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAABMgAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACCQEAAAABMQAAAAIJAQAAAAExAAAAAgkBAAAAATEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABSQIAAAABLQUAAAAKZ2VuZXJhdGlvbgAAAAMAAAABaQEAAAARc3RhcnREdWNrQnJlZWRpbmcAAAAABAAAAAxmaXJzdEFzc2V0SWQJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAANc2Vjb25kQXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAdhc3NldElkAwkBAAAAASEAAAABAwkBAAAAFWNoZWNrQXNzZXRJbkluY3ViYXRvcgAAAAEFAAAADGZpcnN0QXNzZXRJZAkBAAAAFWNoZWNrQXNzZXRJbkluY3ViYXRvcgAAAAEFAAAADXNlY29uZEFzc2V0SWQHCQAAAgAAAAECAAAAJVlvdSBuZWVkIHRvIGF0dGFjaCAyIHZhbGlkIE5GVC1kdWNrcy4DAwkAAGYAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZhc3NldF8FAAAADGZpcnN0QXNzZXRJZAIAAAAJX2NoaWxkcmVuAAAAAAAAAAAABgkAAGYAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZhc3NldF8FAAAADXNlY29uZEFzc2V0SWQCAAAACV9jaGlsZHJlbgAAAAAAAAAAAAkAAAIAAAABAgAAADxPbmUgZHVjayBjYW4gYmUgdXNlZCBmb3IgYnJlZWRpbmcgb25seSBvbmNlIGluIGl0cyBsaWZldGltZS4EAAAADWJyZWVkZWRTdGF0dXMJAQAAAAxjYW5CZUJyZWVkZWQAAAACCQACWQAAAAEFAAAADGZpcnN0QXNzZXRJZAkAAlkAAAABBQAAAA1zZWNvbmRBc3NldElkAwkBAAAAAiE9AAAAAgUAAAANYnJlZWRlZFN0YXR1cwIAAAAEdHJ1ZQkAAAIAAAABCQABLAAAAAICAAAAH1RoZXNlIGR1Y2tzIGNhbm5vdCBiZSBicmVlZGVkOiAFAAAADWJyZWVkZWRTdGF0dXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldER1Y2tQYXJlbnRLZXkAAAACCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAAAAAAAAAAABBQAAAAxmaXJzdEFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldER1Y2tQYXJlbnRLZXkAAAACCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAAAAAAAAAAACBQAAAA1zZWNvbmRBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNnZXRQcm9jZXNzU3RhdHVzS2V5AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAD0hhdGNoaW5nU3RhcnRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGWdldFByb2Nlc3NGaW5pc2hIZWlnaHRLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAAEGRlbGF5Rm9ySGF0Y2hpbmcFAAAAA25pbAAAAAFpAQAAABJmaW5pc2hEdWNrSGF0Y2hpbmcAAAABAAAAB3R4SWRTdHIEAAAABHR4SWQJAAJZAAAAAQUAAAAHdHhJZFN0cgQAAAAQcHJvY2Vzc1N0YXR1c0tleQkBAAAAE2dldFByb2Nlc3NTdGF0dXNLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAPZmluaXNoSGVpZ2h0S2V5CQEAAAAZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAR0eElkBAAAAAlkdWNrSWRLZXkJAQAAAAxnZXREdWNrSWRLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAPcHJvY2Vzc1R4U3RhdHVzCQEAAAARQGV4dHJO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", "height": 2871617, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H6BxX5qfrKhQ8C9nWKt1mCGq4JKUGJacZhY4LczqH9oL Next: 4t9fN2c7ajgR3TamtAPfL1oAFRJQPpoE25TWmxCS5dvr Diff:
OldNewDifferences
99
1010 let incubatorAddress = base58'3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM'
1111
12-let GENS = ["A", "B", "C", "D", "E", "F", "G", "H"]
12+let GENS = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
1313
1414 let MaxGeneration = 7
1515
164164 else (accumulated + 0)
165165
166166
167+func isSymbolI (accumulated,sym) = if ((sym == "I"))
168+ then (accumulated + 1)
169+ else (accumulated + 0)
170+
171+
167172 func getAmountOrClear (amount) = if (contains(amount, "0"))
168173 then ""
169174 else amount
172177 func getGen (assetName) = {
173178 let generation = split(assetName, "")[14]
174179 let genotype = split(dropRight(drop(assetName, 5), 3), "")
175- (((((((((getAmountOrClear((toString({
176- let $list55805611 = genotype
177- let $size55805611 = size($list55805611)
178- let $acc055805611 = 0
179- if (($size55805611 == 0))
180- then $acc055805611
181- else {
182- let $acc155805611 = isSymbolA($acc055805611, $list55805611[0])
183- if (($size55805611 == 1))
184- then $acc155805611
185- else {
186- let $acc255805611 = isSymbolA($acc155805611, $list55805611[1])
187- if (($size55805611 == 2))
188- then $acc255805611
189- else {
190- let $acc355805611 = isSymbolA($acc255805611, $list55805611[2])
191- if (($size55805611 == 3))
192- then $acc355805611
193- else {
194- let $acc455805611 = isSymbolA($acc355805611, $list55805611[3])
195- if (($size55805611 == 4))
196- then $acc455805611
197- else {
198- let $acc555805611 = isSymbolA($acc455805611, $list55805611[4])
199- if (($size55805611 == 5))
200- then $acc555805611
201- else {
202- let $acc655805611 = isSymbolA($acc555805611, $list55805611[5])
203- if (($size55805611 == 6))
204- then $acc655805611
205- else {
206- let $acc755805611 = isSymbolA($acc655805611, $list55805611[6])
207- if (($size55805611 == 7))
208- then $acc755805611
209- else {
210- let $acc855805611 = isSymbolA($acc755805611, $list55805611[7])
211- if (($size55805611 == 8))
212- then $acc855805611
213- else {
214- let $acc955805611 = isSymbolA($acc855805611, $list55805611[8])
215- throw("List size exceed 8")
216- }
217- }
218- }
219- }
220- }
221- }
222- }
223- }
224- }
180+ ((((((((((getAmountOrClear((toString({
181+ let $l = genotype
182+ let $s = size($l)
183+ let $acc0 = 0
184+ func 1 ($a,$i) = if (($i >= $s))
185+ then $a
186+ else isSymbolA($a, $l[$i])
187+
188+ func 2 ($a,$i) = if (($i >= $s))
189+ then $a
190+ else throw("List size exceeds 8")
191+
192+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
225193 }) + "A")) + getAmountOrClear((toString({
226- let $list56485679 = genotype
227- let $size56485679 = size($list56485679)
228- let $acc056485679 = 0
229- if (($size56485679 == 0))
230- then $acc056485679
231- else {
232- let $acc156485679 = isSymbolB($acc056485679, $list56485679[0])
233- if (($size56485679 == 1))
234- then $acc156485679
235- else {
236- let $acc256485679 = isSymbolB($acc156485679, $list56485679[1])
237- if (($size56485679 == 2))
238- then $acc256485679
239- else {
240- let $acc356485679 = isSymbolB($acc256485679, $list56485679[2])
241- if (($size56485679 == 3))
242- then $acc356485679
243- else {
244- let $acc456485679 = isSymbolB($acc356485679, $list56485679[3])
245- if (($size56485679 == 4))
246- then $acc456485679
247- else {
248- let $acc556485679 = isSymbolB($acc456485679, $list56485679[4])
249- if (($size56485679 == 5))
250- then $acc556485679
251- else {
252- let $acc656485679 = isSymbolB($acc556485679, $list56485679[5])
253- if (($size56485679 == 6))
254- then $acc656485679
255- else {
256- let $acc756485679 = isSymbolB($acc656485679, $list56485679[6])
257- if (($size56485679 == 7))
258- then $acc756485679
259- else {
260- let $acc856485679 = isSymbolB($acc756485679, $list56485679[7])
261- if (($size56485679 == 8))
262- then $acc856485679
263- else {
264- let $acc956485679 = isSymbolB($acc856485679, $list56485679[8])
265- throw("List size exceed 8")
266- }
267- }
268- }
269- }
270- }
271- }
272- }
273- }
274- }
194+ let $l = genotype
195+ let $s = size($l)
196+ let $acc0 = 0
197+ func 1 ($a,$i) = if (($i >= $s))
198+ then $a
199+ else isSymbolB($a, $l[$i])
200+
201+ func 2 ($a,$i) = if (($i >= $s))
202+ then $a
203+ else throw("List size exceeds 8")
204+
205+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
275206 }) + "B"))) + getAmountOrClear((toString({
276- let $list57165747 = genotype
277- let $size57165747 = size($list57165747)
278- let $acc057165747 = 0
279- if (($size57165747 == 0))
280- then $acc057165747
281- else {
282- let $acc157165747 = isSymbolC($acc057165747, $list57165747[0])
283- if (($size57165747 == 1))
284- then $acc157165747
285- else {
286- let $acc257165747 = isSymbolC($acc157165747, $list57165747[1])
287- if (($size57165747 == 2))
288- then $acc257165747
289- else {
290- let $acc357165747 = isSymbolC($acc257165747, $list57165747[2])
291- if (($size57165747 == 3))
292- then $acc357165747
293- else {
294- let $acc457165747 = isSymbolC($acc357165747, $list57165747[3])
295- if (($size57165747 == 4))
296- then $acc457165747
297- else {
298- let $acc557165747 = isSymbolC($acc457165747, $list57165747[4])
299- if (($size57165747 == 5))
300- then $acc557165747
301- else {
302- let $acc657165747 = isSymbolC($acc557165747, $list57165747[5])
303- if (($size57165747 == 6))
304- then $acc657165747
305- else {
306- let $acc757165747 = isSymbolC($acc657165747, $list57165747[6])
307- if (($size57165747 == 7))
308- then $acc757165747
309- else {
310- let $acc857165747 = isSymbolC($acc757165747, $list57165747[7])
311- if (($size57165747 == 8))
312- then $acc857165747
313- else {
314- let $acc957165747 = isSymbolC($acc857165747, $list57165747[8])
315- throw("List size exceed 8")
316- }
317- }
318- }
319- }
320- }
321- }
322- }
323- }
324- }
207+ let $l = genotype
208+ let $s = size($l)
209+ let $acc0 = 0
210+ func 1 ($a,$i) = if (($i >= $s))
211+ then $a
212+ else isSymbolC($a, $l[$i])
213+
214+ func 2 ($a,$i) = if (($i >= $s))
215+ then $a
216+ else throw("List size exceeds 8")
217+
218+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
325219 }) + "C"))) + getAmountOrClear((toString({
326- let $list57865817 = genotype
327- let $size57865817 = size($list57865817)
328- let $acc057865817 = 0
329- if (($size57865817 == 0))
330- then $acc057865817
331- else {
332- let $acc157865817 = isSymbolD($acc057865817, $list57865817[0])
333- if (($size57865817 == 1))
334- then $acc157865817
335- else {
336- let $acc257865817 = isSymbolD($acc157865817, $list57865817[1])
337- if (($size57865817 == 2))
338- then $acc257865817
339- else {
340- let $acc357865817 = isSymbolD($acc257865817, $list57865817[2])
341- if (($size57865817 == 3))
342- then $acc357865817
343- else {
344- let $acc457865817 = isSymbolD($acc357865817, $list57865817[3])
345- if (($size57865817 == 4))
346- then $acc457865817
347- else {
348- let $acc557865817 = isSymbolD($acc457865817, $list57865817[4])
349- if (($size57865817 == 5))
350- then $acc557865817
351- else {
352- let $acc657865817 = isSymbolD($acc557865817, $list57865817[5])
353- if (($size57865817 == 6))
354- then $acc657865817
355- else {
356- let $acc757865817 = isSymbolD($acc657865817, $list57865817[6])
357- if (($size57865817 == 7))
358- then $acc757865817
359- else {
360- let $acc857865817 = isSymbolD($acc757865817, $list57865817[7])
361- if (($size57865817 == 8))
362- then $acc857865817
363- else {
364- let $acc957865817 = isSymbolD($acc857865817, $list57865817[8])
365- throw("List size exceed 8")
366- }
367- }
368- }
369- }
370- }
371- }
372- }
373- }
374- }
220+ let $l = genotype
221+ let $s = size($l)
222+ let $acc0 = 0
223+ func 1 ($a,$i) = if (($i >= $s))
224+ then $a
225+ else isSymbolD($a, $l[$i])
226+
227+ func 2 ($a,$i) = if (($i >= $s))
228+ then $a
229+ else throw("List size exceeds 8")
230+
231+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
375232 }) + "D"))) + getAmountOrClear((toString({
376- let $list58545885 = genotype
377- let $size58545885 = size($list58545885)
378- let $acc058545885 = 0
379- if (($size58545885 == 0))
380- then $acc058545885
381- else {
382- let $acc158545885 = isSymbolE($acc058545885, $list58545885[0])
383- if (($size58545885 == 1))
384- then $acc158545885
385- else {
386- let $acc258545885 = isSymbolE($acc158545885, $list58545885[1])
387- if (($size58545885 == 2))
388- then $acc258545885
389- else {
390- let $acc358545885 = isSymbolE($acc258545885, $list58545885[2])
391- if (($size58545885 == 3))
392- then $acc358545885
393- else {
394- let $acc458545885 = isSymbolE($acc358545885, $list58545885[3])
395- if (($size58545885 == 4))
396- then $acc458545885
397- else {
398- let $acc558545885 = isSymbolE($acc458545885, $list58545885[4])
399- if (($size58545885 == 5))
400- then $acc558545885
401- else {
402- let $acc658545885 = isSymbolE($acc558545885, $list58545885[5])
403- if (($size58545885 == 6))
404- then $acc658545885
405- else {
406- let $acc758545885 = isSymbolE($acc658545885, $list58545885[6])
407- if (($size58545885 == 7))
408- then $acc758545885
409- else {
410- let $acc858545885 = isSymbolE($acc758545885, $list58545885[7])
411- if (($size58545885 == 8))
412- then $acc858545885
413- else {
414- let $acc958545885 = isSymbolE($acc858545885, $list58545885[8])
415- throw("List size exceed 8")
416- }
417- }
418- }
419- }
420- }
421- }
422- }
423- }
424- }
233+ let $l = genotype
234+ let $s = size($l)
235+ let $acc0 = 0
236+ func 1 ($a,$i) = if (($i >= $s))
237+ then $a
238+ else isSymbolE($a, $l[$i])
239+
240+ func 2 ($a,$i) = if (($i >= $s))
241+ then $a
242+ else throw("List size exceeds 8")
243+
244+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
425245 }) + "E"))) + getAmountOrClear((toString({
426- let $list59225953 = genotype
427- let $size59225953 = size($list59225953)
428- let $acc059225953 = 0
429- if (($size59225953 == 0))
430- then $acc059225953
431- else {
432- let $acc159225953 = isSymbolF($acc059225953, $list59225953[0])
433- if (($size59225953 == 1))
434- then $acc159225953
435- else {
436- let $acc259225953 = isSymbolF($acc159225953, $list59225953[1])
437- if (($size59225953 == 2))
438- then $acc259225953
439- else {
440- let $acc359225953 = isSymbolF($acc259225953, $list59225953[2])
441- if (($size59225953 == 3))
442- then $acc359225953
443- else {
444- let $acc459225953 = isSymbolF($acc359225953, $list59225953[3])
445- if (($size59225953 == 4))
446- then $acc459225953
447- else {
448- let $acc559225953 = isSymbolF($acc459225953, $list59225953[4])
449- if (($size59225953 == 5))
450- then $acc559225953
451- else {
452- let $acc659225953 = isSymbolF($acc559225953, $list59225953[5])
453- if (($size59225953 == 6))
454- then $acc659225953
455- else {
456- let $acc759225953 = isSymbolF($acc659225953, $list59225953[6])
457- if (($size59225953 == 7))
458- then $acc759225953
459- else {
460- let $acc859225953 = isSymbolF($acc759225953, $list59225953[7])
461- if (($size59225953 == 8))
462- then $acc859225953
463- else {
464- let $acc959225953 = isSymbolF($acc859225953, $list59225953[8])
465- throw("List size exceed 8")
466- }
467- }
468- }
469- }
470- }
471- }
472- }
473- }
474- }
246+ let $l = genotype
247+ let $s = size($l)
248+ let $acc0 = 0
249+ func 1 ($a,$i) = if (($i >= $s))
250+ then $a
251+ else isSymbolF($a, $l[$i])
252+
253+ func 2 ($a,$i) = if (($i >= $s))
254+ then $a
255+ else throw("List size exceeds 8")
256+
257+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
475258 }) + "F"))) + getAmountOrClear((toString({
476- let $list59926023 = genotype
477- let $size59926023 = size($list59926023)
478- let $acc059926023 = 0
479- if (($size59926023 == 0))
480- then $acc059926023
481- else {
482- let $acc159926023 = isSymbolG($acc059926023, $list59926023[0])
483- if (($size59926023 == 1))
484- then $acc159926023
485- else {
486- let $acc259926023 = isSymbolG($acc159926023, $list59926023[1])
487- if (($size59926023 == 2))
488- then $acc259926023
489- else {
490- let $acc359926023 = isSymbolG($acc259926023, $list59926023[2])
491- if (($size59926023 == 3))
492- then $acc359926023
493- else {
494- let $acc459926023 = isSymbolG($acc359926023, $list59926023[3])
495- if (($size59926023 == 4))
496- then $acc459926023
497- else {
498- let $acc559926023 = isSymbolG($acc459926023, $list59926023[4])
499- if (($size59926023 == 5))
500- then $acc559926023
501- else {
502- let $acc659926023 = isSymbolG($acc559926023, $list59926023[5])
503- if (($size59926023 == 6))
504- then $acc659926023
505- else {
506- let $acc759926023 = isSymbolG($acc659926023, $list59926023[6])
507- if (($size59926023 == 7))
508- then $acc759926023
509- else {
510- let $acc859926023 = isSymbolG($acc759926023, $list59926023[7])
511- if (($size59926023 == 8))
512- then $acc859926023
513- else {
514- let $acc959926023 = isSymbolG($acc859926023, $list59926023[8])
515- throw("List size exceed 8")
516- }
517- }
518- }
519- }
520- }
521- }
522- }
523- }
524- }
259+ let $l = genotype
260+ let $s = size($l)
261+ let $acc0 = 0
262+ func 1 ($a,$i) = if (($i >= $s))
263+ then $a
264+ else isSymbolG($a, $l[$i])
265+
266+ func 2 ($a,$i) = if (($i >= $s))
267+ then $a
268+ else throw("List size exceeds 8")
269+
270+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
525271 }) + "G"))) + getAmountOrClear((toString({
526- let $list60606091 = genotype
527- let $size60606091 = size($list60606091)
528- let $acc060606091 = 0
529- if (($size60606091 == 0))
530- then $acc060606091
531- else {
532- let $acc160606091 = isSymbolH($acc060606091, $list60606091[0])
533- if (($size60606091 == 1))
534- then $acc160606091
535- else {
536- let $acc260606091 = isSymbolH($acc160606091, $list60606091[1])
537- if (($size60606091 == 2))
538- then $acc260606091
539- else {
540- let $acc360606091 = isSymbolH($acc260606091, $list60606091[2])
541- if (($size60606091 == 3))
542- then $acc360606091
543- else {
544- let $acc460606091 = isSymbolH($acc360606091, $list60606091[3])
545- if (($size60606091 == 4))
546- then $acc460606091
547- else {
548- let $acc560606091 = isSymbolH($acc460606091, $list60606091[4])
549- if (($size60606091 == 5))
550- then $acc560606091
551- else {
552- let $acc660606091 = isSymbolH($acc560606091, $list60606091[5])
553- if (($size60606091 == 6))
554- then $acc660606091
555- else {
556- let $acc760606091 = isSymbolH($acc660606091, $list60606091[6])
557- if (($size60606091 == 7))
558- then $acc760606091
559- else {
560- let $acc860606091 = isSymbolH($acc760606091, $list60606091[7])
561- if (($size60606091 == 8))
562- then $acc860606091
563- else {
564- let $acc960606091 = isSymbolH($acc860606091, $list60606091[8])
565- throw("List size exceed 8")
566- }
567- }
568- }
569- }
570- }
571- }
572- }
573- }
574- }
575- }) + "H"))) + "-") + generation)
272+ let $l = genotype
273+ let $s = size($l)
274+ let $acc0 = 0
275+ func 1 ($a,$i) = if (($i >= $s))
276+ then $a
277+ else isSymbolH($a, $l[$i])
278+
279+ func 2 ($a,$i) = if (($i >= $s))
280+ then $a
281+ else throw("List size exceeds 8")
282+
283+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
284+ }) + "H"))) + getAmountOrClear((toString({
285+ let $l = genotype
286+ let $s = size($l)
287+ let $acc0 = 0
288+ func 1 ($a,$i) = if (($i >= $s))
289+ then $a
290+ else isSymbolI($a, $l[$i])
291+
292+ func 2 ($a,$i) = if (($i >= $s))
293+ then $a
294+ else throw("List size exceeds 8")
295+
296+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
297+ }) + "I"))) + "-") + generation)
576298 }
577299
578300
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let delayForHatching = 0
55
66 let HatchingStarted = "BREEDING_STARTED"
77
88 let HatchingFinished = "BREEDING_FINISHED"
99
1010 let incubatorAddress = base58'3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM'
1111
12-let GENS = ["A", "B", "C", "D", "E", "F", "G", "H"]
12+let GENS = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
1313
1414 let MaxGeneration = 7
1515
1616 let Generations = ["G", "H", "I", "K", "L", "M", "N", "O"]
1717
1818 let rebirthAddress = base58'3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba'
1919
2020 func getProcessStatusKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_status")
2121
2222
2323 func getProcessFinishHeightKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_fh")
2424
2525
2626 func getDuckParentKey (txId,parentNum) = ((("inittx_" + toBase58String(txId)) + "_parent") + toString(parentNum))
2727
2828
2929 func getDuckIdKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_di")
3030
3131
3232 func getDuckStatsKey (genString) = (("stats_" + genString) + "_amount")
3333
3434
3535 func tryGetInteger (key) = {
3636 let val = match getInteger(this, key) {
3737 case b: Int =>
3838 b
3939 case _ =>
4040 0
4141 }
4242 val
4343 }
4444
4545
4646 func tryGetString (key) = {
4747 let val = match getString(this, key) {
4848 case b: String =>
4949 b
5050 case _ =>
5151 ""
5252 }
5353 val
5454 }
5555
5656
5757 func determineGeneration (g1,g2) = {
5858 let gIndex = max([value(indexOf(Generations, g1)), value(indexOf(Generations, g2))])
5959 Generations[(gIndex + 1)]
6060 }
6161
6262
6363 func getRandomNumber (variants,txId,hatchingFinishHeight,offset) = {
6464 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
6565 let randomHash = sha256_16Kb((txId + value(randomSeedBlock.vrf)))
6666 (toInt(randomHash, offset) % variants)
6767 }
6868
6969
7070 func getRandomGen (gen1,gen2,step,txId,hatchingFinishHeight) = {
7171 let randomNum = getRandomNumber(2, txId, hatchingFinishHeight, step)
7272 let gen = if ((randomNum == 0))
7373 then gen1
7474 else gen2
7575 gen
7676 }
7777
7878
7979 func generateDuck (txId,hatchingFinishHeight) = {
8080 let colorRandom = getRandomNumber(4, txId, hatchingFinishHeight, 11)
8181 let color = if ((colorRandom == 0))
8282 then "Y"
8383 else if ((colorRandom == 1))
8484 then "G"
8585 else if ((colorRandom == 2))
8686 then "B"
8787 else "R"
8888 let parent1Id = fromBase58String(tryGetString(getDuckParentKey(txId, 1)))
8989 let parent2Id = fromBase58String(tryGetString(getDuckParentKey(txId, 2)))
9090 let parent1Gen = split(value(assetInfo(parent1Id)).name, "")
9191 let parent2Gen = split(value(assetInfo(parent2Id)).name, "")
9292 let gen = ((((((((((("DUCK-" + getRandomGen(parent1Gen[5], parent2Gen[5], 0, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[6], parent2Gen[6], 1, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[7], parent2Gen[7], 2, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[8], parent2Gen[8], 3, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[9], parent2Gen[9], 4, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[10], parent2Gen[10], 5, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[11], parent2Gen[12], 6, txId, hatchingFinishHeight)) + getRandomGen(parent1Gen[12], parent2Gen[12], 7, txId, hatchingFinishHeight)) + "-") + determineGeneration(parent1Gen[14], parent2Gen[14])) + color)
9393 gen
9494 }
9595
9696
9797 func checkAssetInIncubator (assetId) = {
9898 let result = match getString(Address(incubatorAddress), assetId) {
9999 case b: String =>
100100 true
101101 case _ =>
102102 false
103103 }
104104 let result2 = match getString(this, assetId) {
105105 case c: String =>
106106 true
107107 case _ =>
108108 false
109109 }
110110 if (result)
111111 then true
112112 else result2
113113 }
114114
115115
116116 func canBeBreeded (asset1Id,asset2Id) = {
117117 let asset1Gen = split(value(assetInfo(asset1Id)).name, "")
118118 let asset2Gen = split(value(assetInfo(asset2Id)).name, "")
119119 if ((value(indexOf(Generations, asset1Gen[14])) >= MaxGeneration))
120120 then (("you can only breed ducks with generation " + Generations[MaxGeneration]) + " and lower")
121121 else if ((value(indexOf(Generations, asset2Gen[14])) >= MaxGeneration))
122122 then (("you can only breed ducks with generation " + Generations[MaxGeneration]) + " and lower")
123123 else "true"
124124 }
125125
126126
127127 func isSymbolA (accumulated,sym) = if ((sym == "A"))
128128 then (accumulated + 1)
129129 else (accumulated + 0)
130130
131131
132132 func isSymbolB (accumulated,sym) = if ((sym == "B"))
133133 then (accumulated + 1)
134134 else (accumulated + 0)
135135
136136
137137 func isSymbolC (accumulated,sym) = if ((sym == "C"))
138138 then (accumulated + 1)
139139 else (accumulated + 0)
140140
141141
142142 func isSymbolD (accumulated,sym) = if ((sym == "D"))
143143 then (accumulated + 1)
144144 else (accumulated + 0)
145145
146146
147147 func isSymbolE (accumulated,sym) = if ((sym == "E"))
148148 then (accumulated + 1)
149149 else (accumulated + 0)
150150
151151
152152 func isSymbolF (accumulated,sym) = if ((sym == "F"))
153153 then (accumulated + 1)
154154 else (accumulated + 0)
155155
156156
157157 func isSymbolG (accumulated,sym) = if ((sym == "G"))
158158 then (accumulated + 1)
159159 else (accumulated + 0)
160160
161161
162162 func isSymbolH (accumulated,sym) = if ((sym == "H"))
163163 then (accumulated + 1)
164164 else (accumulated + 0)
165165
166166
167+func isSymbolI (accumulated,sym) = if ((sym == "I"))
168+ then (accumulated + 1)
169+ else (accumulated + 0)
170+
171+
167172 func getAmountOrClear (amount) = if (contains(amount, "0"))
168173 then ""
169174 else amount
170175
171176
172177 func getGen (assetName) = {
173178 let generation = split(assetName, "")[14]
174179 let genotype = split(dropRight(drop(assetName, 5), 3), "")
175- (((((((((getAmountOrClear((toString({
176- let $list55805611 = genotype
177- let $size55805611 = size($list55805611)
178- let $acc055805611 = 0
179- if (($size55805611 == 0))
180- then $acc055805611
181- else {
182- let $acc155805611 = isSymbolA($acc055805611, $list55805611[0])
183- if (($size55805611 == 1))
184- then $acc155805611
185- else {
186- let $acc255805611 = isSymbolA($acc155805611, $list55805611[1])
187- if (($size55805611 == 2))
188- then $acc255805611
189- else {
190- let $acc355805611 = isSymbolA($acc255805611, $list55805611[2])
191- if (($size55805611 == 3))
192- then $acc355805611
193- else {
194- let $acc455805611 = isSymbolA($acc355805611, $list55805611[3])
195- if (($size55805611 == 4))
196- then $acc455805611
197- else {
198- let $acc555805611 = isSymbolA($acc455805611, $list55805611[4])
199- if (($size55805611 == 5))
200- then $acc555805611
201- else {
202- let $acc655805611 = isSymbolA($acc555805611, $list55805611[5])
203- if (($size55805611 == 6))
204- then $acc655805611
205- else {
206- let $acc755805611 = isSymbolA($acc655805611, $list55805611[6])
207- if (($size55805611 == 7))
208- then $acc755805611
209- else {
210- let $acc855805611 = isSymbolA($acc755805611, $list55805611[7])
211- if (($size55805611 == 8))
212- then $acc855805611
213- else {
214- let $acc955805611 = isSymbolA($acc855805611, $list55805611[8])
215- throw("List size exceed 8")
216- }
217- }
218- }
219- }
220- }
221- }
222- }
223- }
224- }
180+ ((((((((((getAmountOrClear((toString({
181+ let $l = genotype
182+ let $s = size($l)
183+ let $acc0 = 0
184+ func 1 ($a,$i) = if (($i >= $s))
185+ then $a
186+ else isSymbolA($a, $l[$i])
187+
188+ func 2 ($a,$i) = if (($i >= $s))
189+ then $a
190+ else throw("List size exceeds 8")
191+
192+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
225193 }) + "A")) + getAmountOrClear((toString({
226- let $list56485679 = genotype
227- let $size56485679 = size($list56485679)
228- let $acc056485679 = 0
229- if (($size56485679 == 0))
230- then $acc056485679
231- else {
232- let $acc156485679 = isSymbolB($acc056485679, $list56485679[0])
233- if (($size56485679 == 1))
234- then $acc156485679
235- else {
236- let $acc256485679 = isSymbolB($acc156485679, $list56485679[1])
237- if (($size56485679 == 2))
238- then $acc256485679
239- else {
240- let $acc356485679 = isSymbolB($acc256485679, $list56485679[2])
241- if (($size56485679 == 3))
242- then $acc356485679
243- else {
244- let $acc456485679 = isSymbolB($acc356485679, $list56485679[3])
245- if (($size56485679 == 4))
246- then $acc456485679
247- else {
248- let $acc556485679 = isSymbolB($acc456485679, $list56485679[4])
249- if (($size56485679 == 5))
250- then $acc556485679
251- else {
252- let $acc656485679 = isSymbolB($acc556485679, $list56485679[5])
253- if (($size56485679 == 6))
254- then $acc656485679
255- else {
256- let $acc756485679 = isSymbolB($acc656485679, $list56485679[6])
257- if (($size56485679 == 7))
258- then $acc756485679
259- else {
260- let $acc856485679 = isSymbolB($acc756485679, $list56485679[7])
261- if (($size56485679 == 8))
262- then $acc856485679
263- else {
264- let $acc956485679 = isSymbolB($acc856485679, $list56485679[8])
265- throw("List size exceed 8")
266- }
267- }
268- }
269- }
270- }
271- }
272- }
273- }
274- }
194+ let $l = genotype
195+ let $s = size($l)
196+ let $acc0 = 0
197+ func 1 ($a,$i) = if (($i >= $s))
198+ then $a
199+ else isSymbolB($a, $l[$i])
200+
201+ func 2 ($a,$i) = if (($i >= $s))
202+ then $a
203+ else throw("List size exceeds 8")
204+
205+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
275206 }) + "B"))) + getAmountOrClear((toString({
276- let $list57165747 = genotype
277- let $size57165747 = size($list57165747)
278- let $acc057165747 = 0
279- if (($size57165747 == 0))
280- then $acc057165747
281- else {
282- let $acc157165747 = isSymbolC($acc057165747, $list57165747[0])
283- if (($size57165747 == 1))
284- then $acc157165747
285- else {
286- let $acc257165747 = isSymbolC($acc157165747, $list57165747[1])
287- if (($size57165747 == 2))
288- then $acc257165747
289- else {
290- let $acc357165747 = isSymbolC($acc257165747, $list57165747[2])
291- if (($size57165747 == 3))
292- then $acc357165747
293- else {
294- let $acc457165747 = isSymbolC($acc357165747, $list57165747[3])
295- if (($size57165747 == 4))
296- then $acc457165747
297- else {
298- let $acc557165747 = isSymbolC($acc457165747, $list57165747[4])
299- if (($size57165747 == 5))
300- then $acc557165747
301- else {
302- let $acc657165747 = isSymbolC($acc557165747, $list57165747[5])
303- if (($size57165747 == 6))
304- then $acc657165747
305- else {
306- let $acc757165747 = isSymbolC($acc657165747, $list57165747[6])
307- if (($size57165747 == 7))
308- then $acc757165747
309- else {
310- let $acc857165747 = isSymbolC($acc757165747, $list57165747[7])
311- if (($size57165747 == 8))
312- then $acc857165747
313- else {
314- let $acc957165747 = isSymbolC($acc857165747, $list57165747[8])
315- throw("List size exceed 8")
316- }
317- }
318- }
319- }
320- }
321- }
322- }
323- }
324- }
207+ let $l = genotype
208+ let $s = size($l)
209+ let $acc0 = 0
210+ func 1 ($a,$i) = if (($i >= $s))
211+ then $a
212+ else isSymbolC($a, $l[$i])
213+
214+ func 2 ($a,$i) = if (($i >= $s))
215+ then $a
216+ else throw("List size exceeds 8")
217+
218+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
325219 }) + "C"))) + getAmountOrClear((toString({
326- let $list57865817 = genotype
327- let $size57865817 = size($list57865817)
328- let $acc057865817 = 0
329- if (($size57865817 == 0))
330- then $acc057865817
331- else {
332- let $acc157865817 = isSymbolD($acc057865817, $list57865817[0])
333- if (($size57865817 == 1))
334- then $acc157865817
335- else {
336- let $acc257865817 = isSymbolD($acc157865817, $list57865817[1])
337- if (($size57865817 == 2))
338- then $acc257865817
339- else {
340- let $acc357865817 = isSymbolD($acc257865817, $list57865817[2])
341- if (($size57865817 == 3))
342- then $acc357865817
343- else {
344- let $acc457865817 = isSymbolD($acc357865817, $list57865817[3])
345- if (($size57865817 == 4))
346- then $acc457865817
347- else {
348- let $acc557865817 = isSymbolD($acc457865817, $list57865817[4])
349- if (($size57865817 == 5))
350- then $acc557865817
351- else {
352- let $acc657865817 = isSymbolD($acc557865817, $list57865817[5])
353- if (($size57865817 == 6))
354- then $acc657865817
355- else {
356- let $acc757865817 = isSymbolD($acc657865817, $list57865817[6])
357- if (($size57865817 == 7))
358- then $acc757865817
359- else {
360- let $acc857865817 = isSymbolD($acc757865817, $list57865817[7])
361- if (($size57865817 == 8))
362- then $acc857865817
363- else {
364- let $acc957865817 = isSymbolD($acc857865817, $list57865817[8])
365- throw("List size exceed 8")
366- }
367- }
368- }
369- }
370- }
371- }
372- }
373- }
374- }
220+ let $l = genotype
221+ let $s = size($l)
222+ let $acc0 = 0
223+ func 1 ($a,$i) = if (($i >= $s))
224+ then $a
225+ else isSymbolD($a, $l[$i])
226+
227+ func 2 ($a,$i) = if (($i >= $s))
228+ then $a
229+ else throw("List size exceeds 8")
230+
231+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
375232 }) + "D"))) + getAmountOrClear((toString({
376- let $list58545885 = genotype
377- let $size58545885 = size($list58545885)
378- let $acc058545885 = 0
379- if (($size58545885 == 0))
380- then $acc058545885
381- else {
382- let $acc158545885 = isSymbolE($acc058545885, $list58545885[0])
383- if (($size58545885 == 1))
384- then $acc158545885
385- else {
386- let $acc258545885 = isSymbolE($acc158545885, $list58545885[1])
387- if (($size58545885 == 2))
388- then $acc258545885
389- else {
390- let $acc358545885 = isSymbolE($acc258545885, $list58545885[2])
391- if (($size58545885 == 3))
392- then $acc358545885
393- else {
394- let $acc458545885 = isSymbolE($acc358545885, $list58545885[3])
395- if (($size58545885 == 4))
396- then $acc458545885
397- else {
398- let $acc558545885 = isSymbolE($acc458545885, $list58545885[4])
399- if (($size58545885 == 5))
400- then $acc558545885
401- else {
402- let $acc658545885 = isSymbolE($acc558545885, $list58545885[5])
403- if (($size58545885 == 6))
404- then $acc658545885
405- else {
406- let $acc758545885 = isSymbolE($acc658545885, $list58545885[6])
407- if (($size58545885 == 7))
408- then $acc758545885
409- else {
410- let $acc858545885 = isSymbolE($acc758545885, $list58545885[7])
411- if (($size58545885 == 8))
412- then $acc858545885
413- else {
414- let $acc958545885 = isSymbolE($acc858545885, $list58545885[8])
415- throw("List size exceed 8")
416- }
417- }
418- }
419- }
420- }
421- }
422- }
423- }
424- }
233+ let $l = genotype
234+ let $s = size($l)
235+ let $acc0 = 0
236+ func 1 ($a,$i) = if (($i >= $s))
237+ then $a
238+ else isSymbolE($a, $l[$i])
239+
240+ func 2 ($a,$i) = if (($i >= $s))
241+ then $a
242+ else throw("List size exceeds 8")
243+
244+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
425245 }) + "E"))) + getAmountOrClear((toString({
426- let $list59225953 = genotype
427- let $size59225953 = size($list59225953)
428- let $acc059225953 = 0
429- if (($size59225953 == 0))
430- then $acc059225953
431- else {
432- let $acc159225953 = isSymbolF($acc059225953, $list59225953[0])
433- if (($size59225953 == 1))
434- then $acc159225953
435- else {
436- let $acc259225953 = isSymbolF($acc159225953, $list59225953[1])
437- if (($size59225953 == 2))
438- then $acc259225953
439- else {
440- let $acc359225953 = isSymbolF($acc259225953, $list59225953[2])
441- if (($size59225953 == 3))
442- then $acc359225953
443- else {
444- let $acc459225953 = isSymbolF($acc359225953, $list59225953[3])
445- if (($size59225953 == 4))
446- then $acc459225953
447- else {
448- let $acc559225953 = isSymbolF($acc459225953, $list59225953[4])
449- if (($size59225953 == 5))
450- then $acc559225953
451- else {
452- let $acc659225953 = isSymbolF($acc559225953, $list59225953[5])
453- if (($size59225953 == 6))
454- then $acc659225953
455- else {
456- let $acc759225953 = isSymbolF($acc659225953, $list59225953[6])
457- if (($size59225953 == 7))
458- then $acc759225953
459- else {
460- let $acc859225953 = isSymbolF($acc759225953, $list59225953[7])
461- if (($size59225953 == 8))
462- then $acc859225953
463- else {
464- let $acc959225953 = isSymbolF($acc859225953, $list59225953[8])
465- throw("List size exceed 8")
466- }
467- }
468- }
469- }
470- }
471- }
472- }
473- }
474- }
246+ let $l = genotype
247+ let $s = size($l)
248+ let $acc0 = 0
249+ func 1 ($a,$i) = if (($i >= $s))
250+ then $a
251+ else isSymbolF($a, $l[$i])
252+
253+ func 2 ($a,$i) = if (($i >= $s))
254+ then $a
255+ else throw("List size exceeds 8")
256+
257+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
475258 }) + "F"))) + getAmountOrClear((toString({
476- let $list59926023 = genotype
477- let $size59926023 = size($list59926023)
478- let $acc059926023 = 0
479- if (($size59926023 == 0))
480- then $acc059926023
481- else {
482- let $acc159926023 = isSymbolG($acc059926023, $list59926023[0])
483- if (($size59926023 == 1))
484- then $acc159926023
485- else {
486- let $acc259926023 = isSymbolG($acc159926023, $list59926023[1])
487- if (($size59926023 == 2))
488- then $acc259926023
489- else {
490- let $acc359926023 = isSymbolG($acc259926023, $list59926023[2])
491- if (($size59926023 == 3))
492- then $acc359926023
493- else {
494- let $acc459926023 = isSymbolG($acc359926023, $list59926023[3])
495- if (($size59926023 == 4))
496- then $acc459926023
497- else {
498- let $acc559926023 = isSymbolG($acc459926023, $list59926023[4])
499- if (($size59926023 == 5))
500- then $acc559926023
501- else {
502- let $acc659926023 = isSymbolG($acc559926023, $list59926023[5])
503- if (($size59926023 == 6))
504- then $acc659926023
505- else {
506- let $acc759926023 = isSymbolG($acc659926023, $list59926023[6])
507- if (($size59926023 == 7))
508- then $acc759926023
509- else {
510- let $acc859926023 = isSymbolG($acc759926023, $list59926023[7])
511- if (($size59926023 == 8))
512- then $acc859926023
513- else {
514- let $acc959926023 = isSymbolG($acc859926023, $list59926023[8])
515- throw("List size exceed 8")
516- }
517- }
518- }
519- }
520- }
521- }
522- }
523- }
524- }
259+ let $l = genotype
260+ let $s = size($l)
261+ let $acc0 = 0
262+ func 1 ($a,$i) = if (($i >= $s))
263+ then $a
264+ else isSymbolG($a, $l[$i])
265+
266+ func 2 ($a,$i) = if (($i >= $s))
267+ then $a
268+ else throw("List size exceeds 8")
269+
270+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
525271 }) + "G"))) + getAmountOrClear((toString({
526- let $list60606091 = genotype
527- let $size60606091 = size($list60606091)
528- let $acc060606091 = 0
529- if (($size60606091 == 0))
530- then $acc060606091
531- else {
532- let $acc160606091 = isSymbolH($acc060606091, $list60606091[0])
533- if (($size60606091 == 1))
534- then $acc160606091
535- else {
536- let $acc260606091 = isSymbolH($acc160606091, $list60606091[1])
537- if (($size60606091 == 2))
538- then $acc260606091
539- else {
540- let $acc360606091 = isSymbolH($acc260606091, $list60606091[2])
541- if (($size60606091 == 3))
542- then $acc360606091
543- else {
544- let $acc460606091 = isSymbolH($acc360606091, $list60606091[3])
545- if (($size60606091 == 4))
546- then $acc460606091
547- else {
548- let $acc560606091 = isSymbolH($acc460606091, $list60606091[4])
549- if (($size60606091 == 5))
550- then $acc560606091
551- else {
552- let $acc660606091 = isSymbolH($acc560606091, $list60606091[5])
553- if (($size60606091 == 6))
554- then $acc660606091
555- else {
556- let $acc760606091 = isSymbolH($acc660606091, $list60606091[6])
557- if (($size60606091 == 7))
558- then $acc760606091
559- else {
560- let $acc860606091 = isSymbolH($acc760606091, $list60606091[7])
561- if (($size60606091 == 8))
562- then $acc860606091
563- else {
564- let $acc960606091 = isSymbolH($acc860606091, $list60606091[8])
565- throw("List size exceed 8")
566- }
567- }
568- }
569- }
570- }
571- }
572- }
573- }
574- }
575- }) + "H"))) + "-") + generation)
272+ let $l = genotype
273+ let $s = size($l)
274+ let $acc0 = 0
275+ func 1 ($a,$i) = if (($i >= $s))
276+ then $a
277+ else isSymbolH($a, $l[$i])
278+
279+ func 2 ($a,$i) = if (($i >= $s))
280+ then $a
281+ else throw("List size exceeds 8")
282+
283+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
284+ }) + "H"))) + getAmountOrClear((toString({
285+ let $l = genotype
286+ let $s = size($l)
287+ let $acc0 = 0
288+ func 1 ($a,$i) = if (($i >= $s))
289+ then $a
290+ else isSymbolI($a, $l[$i])
291+
292+ func 2 ($a,$i) = if (($i >= $s))
293+ then $a
294+ else throw("List size exceeds 8")
295+
296+ 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
297+ }) + "I"))) + "-") + generation)
576298 }
577299
578300
579301 @Callable(i)
580302 func startDuckBreeding () = {
581303 let firstAssetId = toBase58String(value(value(i.payments[0]).assetId))
582304 let secondAssetId = toBase58String(value(value(i.payments[1]).assetId))
583305 if (!(if (checkAssetInIncubator(firstAssetId))
584306 then checkAssetInIncubator(secondAssetId)
585307 else false))
586308 then throw("You need to attach 2 valid NFT-ducks.")
587309 else if (if ((tryGetInteger((("asset_" + firstAssetId) + "_children")) > 0))
588310 then true
589311 else (tryGetInteger((("asset_" + secondAssetId) + "_children")) > 0))
590312 then throw("One duck can be used for breeding only once in its lifetime.")
591313 else {
592314 let breededStatus = canBeBreeded(fromBase58String(firstAssetId), fromBase58String(secondAssetId))
593315 if ((breededStatus != "true"))
594316 then throw(("These ducks cannot be breeded: " + breededStatus))
595317 else [StringEntry(getDuckParentKey(i.transactionId, 1), firstAssetId), StringEntry(getDuckParentKey(i.transactionId, 2), secondAssetId), StringEntry(getProcessStatusKey(toString(i.caller), i.transactionId), HatchingStarted), IntegerEntry(getProcessFinishHeightKey(toString(i.caller), i.transactionId), (height + delayForHatching))]
596318 }
597319 }
598320
599321
600322
601323 @Callable(i)
602324 func finishDuckHatching (txIdStr) = {
603325 let txId = fromBase58String(txIdStr)
604326 let processStatusKey = getProcessStatusKey(toString(i.caller), txId)
605327 let finishHeightKey = getProcessFinishHeightKey(toString(i.caller), txId)
606328 let duckIdKey = getDuckIdKey(toString(i.caller), txId)
607329 let processTxStatus = getStringValue(this, processStatusKey)
608330 let processFinishHeight = getIntegerValue(this, finishHeightKey)
609331 if ((processTxStatus == HatchingFinished))
610332 then {
611333 let duckId = getStringValue(this, getDuckIdKey(toString(i.caller), txId))
612334 throw(("The duck was breeded and claimed already, here is the folowing: " + duckId))
613335 }
614336 else if ((processFinishHeight > height))
615337 then throw((((("Breeding is not finished yet " + toString((processFinishHeight - height))) + " blocks remaining, it will take around ") + toString((processFinishHeight - height))) + " minutes"))
616338 else {
617339 let duckGen = generateDuck(txId, processFinishHeight)
618340 let farmGen = getGen(duckGen)
619341 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
620342 let asset = Issue(duckGen, description, 1, 0, false, unit, processFinishHeight)
621343 let assetId = calculateAssetId(asset)
622344 let amount = (tryGetInteger(getDuckStatsKey(duckGen)) + 1)
623345 let quantities = tryGetInteger((("stats_" + farmGen) + "_quantity"))
624346 let parent1Id = tryGetString(getDuckParentKey(txId, 1))
625347 let parent2Id = tryGetString(getDuckParentKey(txId, 2))
626348 [StringEntry(processStatusKey, HatchingFinished), StringEntry(duckIdKey, toBase58String(assetId)), StringEntry(toBase58String(assetId), duckIdKey), IntegerEntry(getDuckStatsKey(duckGen), amount), IntegerEntry((("stats_" + farmGen) + "_quantity"), (quantities + 1)), IntegerEntry((("asset_" + parent1Id) + "_children"), 1), IntegerEntry((("asset_" + parent2Id) + "_children"), 1), asset, ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(i.caller, 1, fromBase58String(parent1Id)), ScriptTransfer(i.caller, 1, fromBase58String(parent2Id))]
627349 }
628350 }
629351
630352
631353
632354 @Callable(i)
633355 func reduceRarity (assetId,farmGen) = {
634356 let asset = fromBase58String(assetId)
635357 if (if ((i.caller != Address(rebirthAddress)))
636358 then (i.caller != this)
637359 else false)
638360 then throw("admin or rebirth only")
639361 else {
640362 let duckGen = value(assetInfo(asset)).name
641363 [IntegerEntry(getDuckStatsKey(duckGen), (tryGetInteger(getDuckStatsKey(duckGen)) - 1)), IntegerEntry((("stats_" + farmGen) + "_quantity"), (tryGetInteger((("stats_" + farmGen) + "_quantity")) - 1))]
642364 }
643365 }
644366
645367
646368 @Verifier(tx)
647369 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
648370

github/deemru/w8io/3ef1775 
73.75 ms