tx · BQLVUSingR3ksRXjVSUkSbf6pEs3vwRF2d7rpidjn2QV

3N6oaapvYkEryHUr4vAiPRXM3iS6kMYXito:  -0.05000000 Waves

2021.09.01 22:57 [1684418] smart account 3N6oaapvYkEryHUr4vAiPRXM3iS6kMYXito > SELF 0.00000000 Waves

{ "type": 13, "id": "BQLVUSingR3ksRXjVSUkSbf6pEs3vwRF2d7rpidjn2QV", "fee": 5000000, "feeAssetId": null, "timestamp": 1630526313578, "version": 2, "chainId": 84, "sender": "3N6oaapvYkEryHUr4vAiPRXM3iS6kMYXito", "senderPublicKey": "7PMrxEzirv6h9Z2zqLE47qrZd6v1AbRZER5Aqfo95Eyr", "proofs": [ "5UbKBcvuud7eVrgVC8dS1xyLLqKemzNM3LtgjCiFrwmbs8SCnPe2ybAqRrkcB5Pq2HDmxGWBJfUGiM47HQ3desRG" ], "script": "base64:AAIFAAAAAAAAACMIAhIGCgQBAQEBEgMKAQESAwoBARIAEgMKAQgSBAoCCAgSAAAAADgAAAAAEGluY3ViYXRvckFkZHJlc3MBAAAAGgFULtWM0cQB59XpAM7NQCSesRQHNOlezyuqAAAAAA5icmVlZGVyQWRkcmVzcwEAAAAaAVSF5nsrInT2j7D/pShyLfVcPKxPpUuOW44AAAAAC2VnZ3NBc3NldElkAQAAACAlAmXM9wRoyL4BWZF45VhaOGYUE61KTEq3/gUXSBcWgwAAAAAIbWFrZXJGZWUAAAAAAAAAAAEAAAAACHRha2VyRmVlAAAAAAAAAAABAAAAAAVTTE9UUwAAAAAAAAAACgAAAAAHV0FJVElORwAAAAAAAAAABQAAAAAMc3RlcER1cmF0aW9uAAAAAAAAAAADAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAABAAAADHRyeUdldFN0cmluZwAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADXRyeUdldEJvb2xlYW4AAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIHAQAAAA1nZXROZXh0R2FtZUlkAAAAAAQAAAAGbmV4dElkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAACm5leHRHYW1lSWQDCQAAAAAAAAIFAAAABm5leHRJZAAAAAAAAAAAAAAAAAAAAAAAAQUAAAAGbmV4dElkAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEAAAANcGxheWVyQWRkcmVzcwkAASwAAAACAgAAAAxjdXJyZW50R2FtZV8FAAAADXBsYXllckFkZHJlc3MBAAAAFGdldFBsYXllckN1cnJlbnRHYW1lAAAAAQAAAA1wbGF5ZXJBZGRyZXNzCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADXBsYXllckFkZHJlc3MBAAAACmdldFNsb3RLZXkAAAABAAAABHNsb3QJAAEsAAAAAgIAAAAEc2xvdAkAAaQAAAABBQAAAARzbG90AQAAAAdnZXRTbG90AAAAAQAAAARzbG90CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAEAAAAQZ2V0UGxheWVyUm9sZUtleQAAAAIAAAAGZ2FtZUlkAAAADXBsYXllckFkZHJlc3MJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAFfBQAAAA1wbGF5ZXJBZGRyZXNzAQAAAA1nZXRQbGF5ZXJSb2xlAAAAAgAAAAZnYW1lSWQAAAANcGxheWVyQWRkcmVzcwkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABBnZXRQbGF5ZXJSb2xlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzAQAAAAtnZXRNYWtlcktleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAEZ2FtZQkAAaQAAAABBQAAAAZnYW1lSWQCAAAABl9tYWtlcgEAAAAIZ2V0TWFrZXIAAAABAAAABmdhbWVJZAkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAAAtnZXRNYWtlcktleQAAAAEFAAAABmdhbWVJZAEAAAALZ2V0VGFrZXJLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAZfdGFrZXIBAAAACGdldFRha2VyAAAAAQAAAAZnYW1lSWQJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAALZ2V0VGFrZXJLZXkAAAABBQAAAAZnYW1lSWQBAAAADWdldEJldEVnZ3NLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAhfYmV0RWdncwEAAAAKZ2V0QmV0RWdncwAAAAEAAAAGZ2FtZUlkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA1nZXRCZXRFZ2dzS2V5AAAAAQUAAAAGZ2FtZUlkAQAAAB1nZXRXYWl0aW5nRXhwaXJhdGlvbkhlaWdodEtleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAEZ2FtZQkAAaQAAAABBQAAAAZnYW1lSWQCAAAAGF93YWl0aW5nRXhwaXJhdGlvbkhlaWdodAEAAAAaZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHQAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAdZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQBAAAAFmdldEV4cGlyYXRpb25IZWlnaHRLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAABFfZXhwaXJhdGlvbkhlaWdodAEAAAATZ2V0RXhwaXJhdGlvbkhlaWdodAAAAAEAAAAGZ2FtZUlkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABZnZXRFeHBpcmF0aW9uSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAA1fcmFyaXR5UmFuZ2VfBQAAAA1yYW5nZVBvc2l0aW9uAQAAAA5nZXRSYXJpdHlSYW5nZQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAEWdldFJhcml0eVJhbmdlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1yYW5nZVBvc2l0aW9uAQAAAApnZXRTdGVwS2V5AAAAAQAAAAZnYW1lSWQJAAEsAAAAAgkAASwAAAACAgAAAARnYW1lCQAB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b2xCAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABQgkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xDAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABQwkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xEAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRAkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xFAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xGAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRgkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xHAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABRwkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAJaXNTeW1ib2xIAAAAAgAAAAthY2N1bXVsYXRlZAAAAANzeW0DCQAAAAAAAAIFAAAAA3N5bQIAAAABSAkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAQkAAGQAAAACBQAAAAthY2N1bXVsYXRlZAAAAAAAAAAAAAEAAAAQZ2V0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AwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAABQAAAA0kYWNjMDU4Njc1ODk4BAAAAA0kYWNjMTU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzA1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAABBQAAAA0kYWNjMTU4Njc1ODk4BAAAAA0kYWNjMjU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzE1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAACBQAAAA0kYWNjMjU4Njc1ODk4BAAAAA0kYWNjMzU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzI1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAADBQAAAA0kYWNjMzU4Njc1ODk4BAAAAA0kYWNjNDU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzM1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAEBQAAAA0kYWNjNDU4Njc1ODk4BAAAAA0kYWNjNTU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzQ1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAFBQAAAA0kYWNjNTU4Njc1ODk4BAAAAA0kYWNjNjU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzU1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAGBQAAAA0kYWNjNjU4Njc1ODk4BAAAAA0kYWNjNzU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzY1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAHBQAAAA0kYWNjNzU4Njc1ODk4BAAAAA0kYWNjODU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzc1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTU4Njc1ODk4AAAAAAAAAAAIBQAAAA0kYWNjODU4Njc1ODk4BAAAAA0kYWNjOTU4Njc1ODk4CQEAAAAJaXNTeW1ib2xFAAAAAgUAAAANJGFjYzg1ODY3NTg5OAkAAZEAAAACBQAAAA0kbGlzdDU4Njc1ODk4AAAAAAAAAAAICQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgOAIAAAABRQkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQQAAAANJGxpc3Q1OTM1NTk2NgUAAAAIZ2Vub3R5cGUEAAAADSRzaXplNTkzNTU5NjYJAAGQAAAAAQUAAAANJGxpc3Q1OTM1NTk2NgQAAAANJGFjYzA1OTM1NTk2NgAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAAAAUAAAANJGFjYzA1OTM1NTk2NgQAAAANJGFjYzE1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2MwNTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAAAQUAAAANJGFjYzE1OTM1NTk2NgQAAAANJGFjYzI1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2MxNTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAAAgUAAAANJGFjYzI1OTM1NTk2NgQAAAANJGFjYzM1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2MyNTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAAAwUAAAANJGFjYzM1OTM1NTk2NgQAAAANJGFjYzQ1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2MzNTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAABAUAAAANJGFjYzQ1OTM1NTk2NgQAAAANJGFjYzU1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2M0NTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAABQUAAAANJGFjYzU1OTM1NTk2NgQAAAANJGFjYzY1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2M1NTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAABgUAAAANJGFjYzY1OTM1NTk2NgQAAAANJGFjYzc1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2M2NTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAABgMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAABwUAAAANJGFjYzc1OTM1NTk2NgQAAAANJGFjYzg1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2M3NTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAABwMJAAAAAAAAAgUAAAANJHNpemU1OTM1NTk2NgAAAAAAAAAACAUAAAANJGFjYzg1OTM1NTk2NgQAAAANJGFjYzk1OTM1NTk2NgkBAAAACWlzU3ltYm9sRgAAAAIFAAAADSRhY2M4NTkzNTU5NjYJAAGRAAAAAgUAAAANJGxpc3Q1OTM1NTk2NgAAAAAAAAAACAkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDgCAAAAAUYJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEEAAAADSRsaXN0NjAwNTYwMzYFAAAACGdlbm90eXBlBAAAAA0kc2l6ZTYwMDU2MDM2CQABkAAAAAEFAAAADSRsaXN0NjAwNTYwMzYEAAAADSRhY2MwNjAwNTYwMzYAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAAFAAAADSRhY2MwNjAwNTYwMzYEAAAADSRhY2MxNjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjMDYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAEFAAAADSRhY2MxNjAwNTYwMzYEAAAADSRhY2MyNjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjMTYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAIFAAAADSRhY2MyNjAwNTYwMzYEAAAADSRhY2MzNjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjMjYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAMFAAAADSRhY2MzNjAwNTYwMzYEAAAADSRhY2M0NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjMzYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAQFAAAADSRhY2M0NjAwNTYwMzYEAAAADSRhY2M1NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjNDYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAUFAAAADSRhY2M1NjAwNTYwMzYEAAAADSRhY2M2NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjNTYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAYFAAAADSRhY2M2NjAwNTYwMzYEAAAADSRhY2M3NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjNjYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAcFAAAADSRhY2M3NjAwNTYwMzYEAAAADSRhY2M4NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjNzYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplNjAwNTYwMzYAAAAAAAAAAAgFAAAADSRhY2M4NjAwNTYwMzYEAAAADSRhY2M5NjAwNTYwMzYJAQAAAAlpc1N5bWJvbEcAAAACBQAAAA0kYWNjODYwMDU2MDM2CQABkQAAAAIFAAAADSRsaXN0NjAwNTYwMzYAAAAAAAAAAAgJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA4AgAAAAFHCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABBAAAAA0kbGlzdDYwNzM2MTA0BQAAAAhnZW5vdHlwZQQAAAANJHNpemU2MDczNjEwNAkAAZAAAAABBQAAAA0kbGlzdDYwNzM2MTA0BAAAAA0kYWNjMDYwNzM2MTA0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAAABQAAAA0kYWNjMDYwNzM2MTA0BAAAAA0kYWNjMTYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzA2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAABBQAAAA0kYWNjMTYwNzM2MTA0BAAAAA0kYWNjMjYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzE2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAACBQAAAA0kYWNjMjYwNzM2MTA0BAAAAA0kYWNjMzYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzI2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAADBQAAAA0kYWNjMzYwNzM2MTA0BAAAAA0kYWNjNDYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzM2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAAEBQAAAA0kYWNjNDYwNzM2MTA0BAAAAA0kYWNjNTYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzQ2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAAFBQAAAA0kYWNjNTYwNzM2MTA0BAAAAA0kYWNjNjYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzU2MDczNjEwNAkAAZEAAAACBQAAAA0kbGlzdDYwNzM2MTA0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTYwNzM2MTA0AAAAAAAAAAAGBQAAAA0kYWNjNjYwNzM2MTA0BAAAAA0kYWNjNzYwNzM2MTA0CQEAAAAJaXNTeW1ib2xIAAAAAgUAAAANJGFjYzY2MDcz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AAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAAABAAAAAxtYWtlclJhcml0eTIJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAABBAAAAAxtYWtlclJhcml0eTMJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAACBAAAAAx0YWtlclJhcml0eTEJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADnRha2VyRHVja09yZGVyAAAAAAAAAAAABAAAAAx0YWtlclJhcml0eTIJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADnRha2VyRHVja09yZGVyAAAAAAAAAAABBAAAAAx0YWtlclJhcml0eTMJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADnRha2VyRHVja09yZGVyAAAAAAAAAAACBAAAAAptYWtlclNjb3JlCQAAZAAAAAIJAABkAAAAAgkBAAAACGdldFNjb3JlAAAAAgUAAAAMbWFrZXJSYXJpdHkxBQAAAAx0YWtlclJhcml0eTEJAQAAAAhnZXRTY29yZQAAAAIFAAAADG1ha2VyUmFyaXR5MgUAAAAMdGFrZXJSYXJpdHkyCQEAAAAIZ2V0U2NvcmUAAAACBQAAAAxtYWtlclJhcml0eTMFAAAADHRha2VyUmFyaXR5MwMJAABmAAAAAgUAAAAKbWFrZXJTY29yZQAAAAAAAAAAAAIAAAAFbWFrZXIDCQAAZgAAAAIAAAAAAAAAAAAFAAAACm1ha2VyU2NvcmUCAAAABXRha2VyAgAAAARkcmF3AAAABwAAAAFpAQAAAAhtYWtlR2FtZQAAAAQAAAAEc2xvdAAAABByYXJpdHlSYW5nZVdvcnN0AAAAEXJhcml0eVJhbmdlTWVkaXVtAAAAD3Jhcml0eVJhbmdlQmVzdAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAApzbG90R2FtZUlkCQEAAAAHZ2V0U2xvdAAAAAEFAAAABHNsb3QEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABGVnZ3MJAABlAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAhtYWtlckZlZQQAAAAGZ2FtZUlkCQEAAAANZ2V0TmV4dEdhbWVJZAAAAAADCQEAAAACIT0AAAACCQEAAAAUZ2V0UGxheWVyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzAAAAAAAAAAAACQAAAgAAAAECAAAAH1lvdSBhbHJlYWR5IGhhdmUgYW4gYWN0aXZlIGdhbWUDAwkAAGYAAAACAAAAAAAAAAAABQAAAARzbG90BgkAAGcAAAACBQAAAARzbG90BQAAAAVTTE9UUwkAAAIAAAABAgAAAAxJbnZhbGlkIHNsb3QDCQEAAAACIT0AAAACBQAAAApzbG90R2FtZUlkAAAAAAAAAAAACQAAAgAAAAECAAAAEVRoaXMgc2xvdCBpcyBidXN5AwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAALZWdnc0Fzc2V0SWQJAAACAAAAAQkAASwAAAACAgAAADZZb3UgY2FuIGF0dGFjaCBvbmx5IEVHR3Mgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJAAJYAAAAAQUAAAALZWdnc0Fzc2V0SWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAABGVnZ3MJAAACAAAAAQIAAAAPTm90IGVub3VnaCBFR0dzAwMJAABmAAAAAgAAAAAAAAAAAQUAAAAQcmFyaXR5UmFuZ2VXb3JzdAYJAABmAAAAAgUAAAAQcmFyaXR5UmFuZ2VXb3JzdAAAAAAAAAAABQkAAAIAAAABAgAAACdJbnZhbGlkIHJhcml0eSByYW5nZSBmb3IgdGhlIHdvcnN0IGR1Y2sDAwkAAGYAAAACAAAAAAAAAAABBQAAABFyYXJpdHlSYW5nZU1lZGl1bQYJAABmAAAAAgUAAAARcmFyaXR5UmFuZ2VNZWRpdW0AAAAAAAAAAAUJAAACAAAAAQIAAAAoSW52YWxpZCByYXJpdHkgcmFuZ2UgZm9yIHRoZSBtZWRpdW0gZHVjawMDCQAAZgAAAAIAAAAAAAAAAAEFAAAAD3Jhcml0eVJhbmdlQmVzdAYJAABmAAAAAgUAAAAPcmFyaXR5UmFuZ2VCZXN0AAAAAAAAAAAFCQAAAgAAAAECAAAAJkludmFsaWQgcmFyaXR5IHJhbmdlIGZvciB0aGUgYmVzdCBkdWNrAwkAAGcAAAACBQAAABByYXJpdHlSYW5nZVdvcnN0BQAAABFyYXJpdHlSYW5nZU1lZGl1bQkAAAIAAAABAgAAADFUaGUgbWVkaXVtIGR1Y2sgbXVzdCBiZSBiZXR0ZXIgdGhhbiB0aGUgd29yc3Qgb25lAwkAAGcAAAACBQAAABFyYXJpdHlSYW5nZU1lZGl1bQUAAAAPcmFyaXR5UmFuZ2VCZXN0CQAAAgAAAAECAAAAMFRoZSBiZXN0IGR1Y2sgbXVzdCBiZSBiZXR0ZXIgdGhhbiB0aGUgbWVkaXVtIG9uZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAF2dldFBsYXllckN1cnJlbnRHYW1lS2V5AAAAAQUAAAANY2FsbGVyQWRkcmVzcwUAAAAGZ2FtZUlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtnZXRNYWtlcktleQAAAAEFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQZ2V0UGxheWVyUm9sZUtleQAAAAIFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwIAAAAFbWFrZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA1nZXRCZXRFZ2dzS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAARlZ2dzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0UmFyaXR5UmFuZ2VLZXkAAAACBQAAAAZnYW1lSWQCAAAABXdvcnN0BQAAABByYXJpdHlSYW5nZVdvcnN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0UmFyaXR5UmFuZ2VLZXkAAAACBQAAAAZnYW1lSWQCAAAABm1lZGl1bQUAAAARcmFyaXR5UmFuZ2VNZWRpdW0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAEYmVzdAUAAAAPcmFyaXR5UmFuZ2VCZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAdZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAdXQUlUSU5HCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U2xvdEtleQAAAAEFAAAABHNsb3QFAAAABmdhbWVJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAKbmV4dEdhbWVJZAkAAGQAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAEFAAAAA25pbAAAAAFpAQAAAAh0YWtlR2FtZQAAAAEAAAAEc2xvdAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZnYW1lSWQJAQAAAAdnZXRTbG90AAAAAQUAAAAEc2xvdAQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIJAQAAABRnZXRQbGF5ZXJDdXJyZW50R2FtZQAAAAEFAAAADWNhbGxlckFkZHJlc3MAAAAAAAAAAAAJAAACAAAAAQIAAAAfWW91IGFscmVhZHkgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHNsb3QGCQAAZwAAAAIFAAAABHNsb3QFAAAABVNMT1RTCQAAAgAAAAECAAAADEludmFsaWQgc2xvdAMJAAAAAAAAAgkBAAAAB2dldFNsb3QAAAABBQAAAARzbG90AAAAAAAAAAAACQAAAgAAAAECAAAAElRoaXMgc2xvdCBpcyBlbXB0eQMJAQAAAAIhPQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAAC2VnZ3NBc3NldElkCQAAAgAAAAEJAAEsAAAAAgIAAAA8WW91IGNhbiBhdHRhY2ggb25seSBFR0cgdG9rZW5zIHdpdGggdGhlIGZvbGxvd2luZyBhc3NldCBpZDogCQACWAAAAAEFAAAAC2VnZ3NBc3NldElkAwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAAZAAAAAIJAQAAAApnZXRCZXRFZ2dzAAAAAQUAAAAGZ2FtZUlkBQAAAAh0YWtlckZlZQkAAAIAAAABAgAAABhJbnN1ZmZpY2llbnQgZWdncyBhbW91bnQDCQAAZwAAAAIFAAAABmhlaWdodAkBAAAAGmdldFdhaXRpbmdFeHBpcmF0aW9uSGVpZ2h0AAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAFFRoaXMgZ2FtZSBpcyBleHBpcmVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAXZ2V0UGxheWVyQ3VycmVudEdhbWVLZXkAAAABBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2dldFRha2VyS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRQbGF5ZXJSb2xlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAV0YWtlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACmdldFN0ZXBLZXkAAAABBQAAAAZnYW1lSWQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRFeHBpcmF0aW9uSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAMc3RlcER1cmF0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U2xvdEtleQAAAAEFAAAABHNsb3QAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAAAhraWNrR2FtZQAAAAEAAAAEc2xvdAQAAAAGZ2FtZUlkCQEAAAAHZ2V0U2xvdAAAAAEFAAAABHNsb3QDAwkAAGYAAAACAAAAAAAAAAAABQAAAARzbG90BgkAAGcAAAACBQAAAARzbG90BQAAAAVTTE9UUwkAAAIAAAABAgAAAAxJbnZhbGlkIHNsb3QDCQAAAAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAAA1TbG90IGlzIGVtcHR5AwkAAGYAAAACCQEAAAAaZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHQAAAABBQAAAAZnYW1lSWQFAAAABmhlaWdodAkAAAIAAAABAgAAABtXYWl0aW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQEAAAABW1ha2VyCQEAAAAIZ2V0TWFrZXIAAAABBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAABW1ha2VyAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U2xvdEtleQAAAAEFAAAABHNsb3QAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAABW1ha2VyCQAAZAAAAAIJAQAAAApnZXRCZXRFZ2dzAAAAAQUAAAAGZ2FtZUlkBQAAAAhtYWtlckZlZQUAAAALZWdnc0Fzc2V0SWQFAAAAA25pbAAAAAFpAQAAAAlwaWNrRHVja3MAAAAABAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmdhbWVJZAkBAAAAFGdldFBsYXllckN1cnJlbnRHYW1lAAAAAQUAAAANY2FsbGVyQWRkcmVzcwQAAAAKcGxheWVyUm9sZQkBAAAADWdldFBsYXllclJvbGUAAAACBQAAAAZnYW1lSWQFAAAADWNhbGxlckFkZHJlc3MEAAAACGdhbWVTdGVwCQEAAAAHZ2V0U3RlcAAAAAEFAAAABmdhbWVJZAQAAAAQd29yc3RSYXJpdHlSYW5nZQkBAAAADmdldFJhcml0eVJhbmdlAAAAAgUAAAAGZ2FtZUlkAgAAAAV3b3JzdAQAAAARbWVkaXVtUmFyaXR5UmFuZ2UJAQAAAA5nZXRSYXJpdHlSYW5nZQAAAAIFAAAABmdhbWVJZAIAAAAGbWVkaXVtBAAAAA9iZXN0UmFyaXR5UmFuZ2UJAQAAAA5nZXRSYXJpdHlSYW5nZQAAAAIFAAAABmdhbWVJZAIAAAAEYmVzdAQAAAALd29yc3REdWNrSWQJAQAAAAV2YWx1ZQAAAAEICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAADG1lZGl1bUR1Y2tJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAHYXNzZXRJZAQAAAAKYmVzdER1Y2tJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAIAAAAHYXNzZXRJZAQAAAALd29yc3RSYXJpdHkJAQAAAA5nZXRBc3NldFJhcml0eQAAAAEFAAAAC3dvcnN0RHVja0lkBAAAAAxtZWRpdW1SYXJpdHkJAQAAAA5nZXRBc3NldFJhcml0eQAAAAEFAAAADG1lZGl1bUR1Y2tJZAQAAAAKYmVzdFJhcml0eQkBAAAADmdldEFzc2V0UmFyaXR5AAAAAQUAAAAKYmVzdER1Y2tJZAMJAAAAAAAAAgUAAAAGZ2FtZUlkAAAAAAAAAAAACQAAAgAAAAECAAAAHVlvdSBkb24ndCBoYXZlIGFuIGFjdGl2ZSBnYW1lAwkAAAAAAAACCQEAAAATZ2V0RXhwaXJhdGlvbkhlaWdodAAAAAEFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAABNHYW1lIGlzIG5vdCBzdGFydGVkAwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAAJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABXRha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgdGFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABW1ha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgbWFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwkAAGYAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAQkAAAIAAAABAgAAAB5EdWNrcyBoYXZlIGFscmVhZHkgYmVlbiBwaWNrZWQDAwkAAGcAAAACBQAAAAt3b3JzdFJhcml0eQkAAGgAAAACBQAAABB3b3JzdFJhcml0eVJhbmdlAAAAAAAAAAAKBgkAAGYAAAACCQAAaAAAAAIJAABlAAAAAgUAAAAQd29yc3RSYXJpdHlSYW5nZQAAAAAAAAAAAQAAAAAAAAAACgUAAAALd29yc3RSYXJpdHkJAAACAAAAAQIAAAAjV29yc3QgZHVjayBkb2Vzbid0IGZpdCByYXJpdHkgcmFuZ2UDAwkAAGcAAAACBQAAAAxtZWRpdW1SYXJpdHkJAABoAAAAAgUAAAARbWVkaXVtUmFyaXR5UmFuZ2UAAAAAAAAAAAoGCQAAZgAAAAIJAABoAAAAAgkAAGUAAAACBQAAABFtZWRpdW1SYXJpdHlSYW5nZQAAAAAAAAAAAQAAAAAAAAAACgUAAAAMbWVkaXVtUmFyaXR5CQAAAgAAAAECAAAAJE1lZGl1bSBkdWNrIGRvZXNuJ3QgZml0IHJhcml0eSByYW5nZQMDAwMJAAAAAAAAAgUAAAAPYmVzdFJhcml0eVJhbmdlAAAAAAAAAAAFCQAAZgAAAAIAAAAAAAAAACgFAAAACmJlc3RSYXJpdHkHBgkAAGcAAAACBQAAAApiZXN0UmFyaXR5CQAAaAAAAAIFAAAAD2Jlc3RSYXJpdHlSYW5nZQAAAAAAAAAACgYJAABmAAAAAgkAAGgAAAACCQAAZQAAAAIFAAAAD2Jlc3RSYXJpdHlSYW5nZQAAAAAAAAAAAQAAAAAAAAAACgUAAAAKYmVzdFJhcml0eQkAAAIAAAABAgAAACJCZXN0IGR1Y2sgZG9lc24ndCBmaXQgcmFyaXR5IHJhbmdlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMZ2V0UmFyaXR5S2V5AAAAAwUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlAgAAAAV3b3JzdAUAAAALd29yc3RSYXJpdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxnZXRSYXJpdHlLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABm1lZGl1bQUAAAAMbWVkaXVtUmFyaXR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMZ2V0UmFyaXR5S2V5AAAAAwUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlAgAAAARiZXN0BQAAAApiZXN0UmFyaXR5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXREdWNrSWRLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABXdvcnN0CQACWAAAAAEFAAAAC3dvcnN0RHVja0lkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXREdWNrSWRLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABm1lZGl1bQkAAlgAAAABBQAAAAxtZWRpdW1EdWNrSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGdldER1Y2tJZEtleQAAAAMFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQIAAAAEYmVzdAkAAlgAAAABBQAAAApiZXN0RHVja0lkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U3RlcEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmdldEV4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBQAAAAt3b3JzdER1Y2tJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEFAAAADG1lZGl1bUR1Y2tJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEFAAAACmJlc3REdWNrSWQFAAAAA25pbAAAAAFpAQAAAAZjb21taXQAAAABAAAABGhhc2gEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGZ2FtZUlkCQEAAAAUZ2V0UGxheWVyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzBAAAAApwbGF5ZXJSb2xlCQEAAAANZ2V0UGxheWVyUm9sZQAAAAIFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwQAAAAIZ2FtZVN0ZXAJAQAAAAdnZXRTdGVwAAAAAQUAAAAGZ2FtZUlkAwkAAAAAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAAdWW91IGRvbid0IGhhdmUgYW4gYWN0aXZlIGdhbWUDCQAAZgAAAAIAAAAAAAAAAAIFAAAACGdhbWVTdGVwCQAAAgAAAAECAAAAFUNvbW1pdCBpcyBub3Qgc3RhcnRlZAMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAACCQEAAAACIT0AAAACBQAAAApwbGF5ZXJSb2xlAgAAAAV0YWtlcgcJAAACAAAAAQIAAAAiSXQgaXMgdGhlIHRha2VyJ3MgdHVybiB0byBwaWNrIG5vdwMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAADCQEAAAACIT0AAAACBQAAAApwbGF5ZXJSb2xlAgAAAAVtYWtlcgcJAAACAAAAAQIAAAAiSXQgaXMgdGhlIG1ha2VyJ3MgdHVybiB0byBwaWNrIG5vdwMJAABmAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAMJAAACAAAAAQIAAAASQ29tbWl0IGlzIGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXRDb21taXRLZXkAAAACBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUFAAAABGhhc2gJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTdGVwS2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWZ2V0RXhwaXJhdGlvbkhlaWdodEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHN0ZXBEdXJhdGlvbgUAAAADbmlsAAAAAWkBAAAABnJldmVhbAAAAAIAAAAJZHVja09yZGVyAAAABHNhbHQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGZ2FtZUlkCQEAAAAUZ2V0UGxheWVyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzBAAAAApwbGF5ZXJSb2xlCQEAAAANZ2V0UGxheWVyUm9sZQAAAAIFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwQAAAAIZ2FtZVN0ZXAJAQAAAAdnZXRTdGVwAAAAAQUAAAAGZ2FtZUlkAwkAAAAAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAAdWW91IGRvbid0IGhhdmUgYW4gYWN0aXZlIGdhbWUDCQAAZgAAAAIAAAAAAAAAAAQFAAAACGdhbWVTdGVwCQAAAgAAAAECAAAAFVJldmVhbCBpcyBub3Qgc3RhcnRlZAMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAECQEAAAACIT0AAAACBQAAAApwbGF5ZXJSb2xlAgAAAAV0YWtlcgcJAAACAAAAAQIAAAAiSXQgaXMgdGhlIHRha2VyJ3MgdHVybiB0byBwaWNrIG5vdwMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAFCQEAAAACIT0AAAACBQAAAApwbGF5ZXJSb2xlAgAAAAVtYWtlcgcJAAACAAAAAQIAAAAiSXQgaXMgdGhlIG1ha2VyJ3MgdHVybiB0byBwaWNrIG5vdwMJAABmAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAUJAAACAAAAAQIAAAASUmV2ZWFsIGlzIGZpbmlzaGVkAwMDAwMDCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEXdvcnN0LG1lZGl1bSxiZXN0CQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEXdvcnN0LGJlc3QsbWVkaXVtBwkBAAAAAiE9AAAAAgUAAAAJZHVja09yZGVyAgAAABFtZWRpdW0sd29yc3QsYmVzdAcJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARbWVkaXVtLGJlc3Qsd29yc3QHCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEWJlc3Qsd29yc3QsbWVkaXVtBwkBAAAAAiE9AAAAAgUAAAAJZHVja09yZGVyAgAAABFiZXN0LG1lZGl1bSx3b3JzdAcJAAACAAAAAQIAAAAYUmV2ZWFsIGRhdGEgaXMgbm90IHZhbGlkAwkBAAAAAiE9AAAAAgkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAlkdWNrT3JkZXIFAAAABHNhbHQJAQAAAAlnZXRDb21taXQAAAACBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUJAAACAAAAAQIAAAAbUmV2ZWFsIGRvZXNuJ3QgbWF0Y2ggY29tbWl0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9nZXREdWNrT3JkZXJLZXkAAAACBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUFAAAACWR1Y2tPcmRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACmdldFN0ZXBLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRFeHBpcmF0aW9uSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAMc3RlcER1cmF0aW9uBQAAAANuaWwAAAABaQEAAAAIZ2V0UHJpemUAAAAABAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmdhbWVJZAkBAAAAFGdldFBsYXllckN1cnJlbnRHYW1lAAAAAQUAAAANY2FsbGVyQWRkcmVzcwQAAAAKcGxheWVyUm9sZQkBAAAADWdldFBsYXllclJvbGUAAAACBQAAAAZnYW1lSWQFAAAADWNhbGxlckFkZHJlc3MEAAAADG1ha2VyQWRkcmVzcwkBAAAACGdldE1ha2VyAAAAAQUAAAAGZ2FtZUlkBAAAAAx0YWtlckFkZHJlc3MJAQAAAAhnZXRUYWtlcgAAAAEFAAAABmdhbWVJZAQAAAAGd2lubmVyCQEAAAAJZ2V0V2lubmVyAAAAAQUAAAAGZ2FtZUlkAwkAAAAAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAAdWW91IGRvbid0IGhhdmUgYW4gYWN0aXZlIGdhbWUDCQEAAAAMZ2V0UHJpemVTZW50AAAAAgUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlCQAAAgAAAAECAAAAHllvdSBoYXZlIGFscmVhZHkgZ290IHRoZSBwcml6ZQMJAAAAAAAAAgUAAAAGd2lubmVyBQAAAApwbGF5ZXJSb2xlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAXZ2V0UGxheWVyQ3VycmVudEdhbWVLZXkAAAABBQAAAAxtYWtlckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADHRha2VyQWRkcmVzcwAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAD2dldFByaXplU2VudEtleQAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaAAAAAIJAQAAAApnZXRCZXRFZ2dzAAAAAQUAAAAGZ2FtZUlkAAAAAAAAAAACBQAAAAtlZ2dzQXNzZXRJZAUAAAADbmlsAwkAAAAAAAACBQAAAAZ3aW5uZXICAAAABGRyYXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADWNhbGxlckFkZHJlc3MAAAAAAAAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAA9nZXRQcml6ZVNlbnRLZXkAAAACBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQFAAAAC2VnZ3NBc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAhWW91IGxvc2UgYW5kIGRvbid0IGhhdmUgYW55IHByaXplAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnjDO+w", "height": 1684418, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HBmccLhWRMHuPKT4gQabqmQYopPyo8GEdi4Pcr2yJ5FC Next: BWk6rBfEbx27WyovjYbJCtXxnEzEsUSGqoXbG2whmDYM Diff:
OldNewDifferences
637637 let makerRarity1 = getRarity(gameId, "maker", makerDuckOrder[0])
638638 let makerRarity2 = getRarity(gameId, "maker", makerDuckOrder[1])
639639 let makerRarity3 = getRarity(gameId, "maker", makerDuckOrder[2])
640- let takerRarity1 = getRarity(gameId, "taker", makerDuckOrder[0])
641- let takerRarity2 = getRarity(gameId, "taker", makerDuckOrder[1])
642- let takerRarity3 = getRarity(gameId, "taker", makerDuckOrder[2])
640+ let takerRarity1 = getRarity(gameId, "taker", takerDuckOrder[0])
641+ let takerRarity2 = getRarity(gameId, "taker", takerDuckOrder[1])
642+ let takerRarity3 = getRarity(gameId, "taker", takerDuckOrder[2])
643643 let makerScore = ((getScore(makerRarity1, takerRarity1) + getScore(makerRarity2, takerRarity2)) + getScore(makerRarity3, takerRarity3))
644644 if ((makerScore > 0))
645645 then "maker"
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let incubatorAddress = base58'3MtBigTsaeevrcJAEwVcr4quwkqcrtnjoAh'
55
66 let breederAddress = base58'3N285kYUMxPi6oZsdWrxhSY34dJHyu4kRN5'
77
88 let eggsAssetId = base58'3VUCuh9dWqe54SdzzNUkXhFXpc8UQynnJVh42B7MjNzN'
99
1010 let makerFee = 1
1111
1212 let takerFee = 1
1313
1414 let SLOTS = 10
1515
1616 let WAITING = 5
1717
1818 let stepDuration = 3
1919
2020 func tryGetInteger (key) = match getInteger(this, key) {
2121 case b: Int =>
2222 b
2323 case _ =>
2424 0
2525 }
2626
2727
2828 func tryGetString (key) = match getString(this, key) {
2929 case a: String =>
3030 a
3131 case _ =>
3232 ""
3333 }
3434
3535
3636 func tryGetBoolean (key) = match getBoolean(this, key) {
3737 case b: Boolean =>
3838 b
3939 case _ =>
4040 false
4141 }
4242
4343
4444 func getNextGameId () = {
4545 let nextId = tryGetInteger("nextGameId")
4646 if ((nextId == 0))
4747 then 1
4848 else nextId
4949 }
5050
5151
5252 func getPlayerCurrentGameKey (playerAddress) = ("currentGame_" + playerAddress)
5353
5454
5555 func getPlayerCurrentGame (playerAddress) = tryGetInteger(getPlayerCurrentGameKey(playerAddress))
5656
5757
5858 func getSlotKey (slot) = ("slot" + toString(slot))
5959
6060
6161 func getSlot (slot) = tryGetInteger(getSlotKey(slot))
6262
6363
6464 func getPlayerRoleKey (gameId,playerAddress) = ((("game" + toString(gameId)) + "_") + playerAddress)
6565
6666
6767 func getPlayerRole (gameId,playerAddress) = tryGetString(getPlayerRoleKey(gameId, playerAddress))
6868
6969
7070 func getMakerKey (gameId) = (("game" + toString(gameId)) + "_maker")
7171
7272
7373 func getMaker (gameId) = tryGetString(getMakerKey(gameId))
7474
7575
7676 func getTakerKey (gameId) = (("game" + toString(gameId)) + "_taker")
7777
7878
7979 func getTaker (gameId) = tryGetString(getTakerKey(gameId))
8080
8181
8282 func getBetEggsKey (gameId) = (("game" + toString(gameId)) + "_betEggs")
8383
8484
8585 func getBetEggs (gameId) = tryGetInteger(getBetEggsKey(gameId))
8686
8787
8888 func getWaitingExpirationHeightKey (gameId) = (("game" + toString(gameId)) + "_waitingExpirationHeight")
8989
9090
9191 func getWaitingExpirationHeight (gameId) = tryGetInteger(getWaitingExpirationHeightKey(gameId))
9292
9393
9494 func getExpirationHeightKey (gameId) = (("game" + toString(gameId)) + "_expirationHeight")
9595
9696
9797 func getExpirationHeight (gameId) = tryGetInteger(getExpirationHeightKey(gameId))
9898
9999
100100 func getRarityRangeKey (gameId,rangePosition) = ((("game" + toString(gameId)) + "_rarityRange_") + rangePosition)
101101
102102
103103 func getRarityRange (gameId,rangePosition) = tryGetInteger(getRarityRangeKey(gameId, rangePosition))
104104
105105
106106 func getStepKey (gameId) = (("game" + toString(gameId)) + "_step")
107107
108108
109109 func getStep (gameId) = tryGetInteger(getStepKey(gameId))
110110
111111
112112 func getRarityKey (gameId,playerRole,rangePosition) = (((((("game" + toString(gameId)) + "_") + playerRole) + "_") + rangePosition) + "Rarity")
113113
114114
115115 func getRarity (gameId,playerRole,rangePosition) = tryGetInteger(getRarityKey(gameId, playerRole, rangePosition))
116116
117117
118118 func getDuckIdKey (gameId,playerRole,rangePosition) = (((((("game" + toString(gameId)) + "_") + playerRole) + "_") + rangePosition) + "DuckId")
119119
120120
121121 func getDuckId (gameId,playerRole,rangePosition) = tryGetString(getDuckIdKey(gameId, playerRole, rangePosition))
122122
123123
124124 func getCommitKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_commit")
125125
126126
127127 func getCommit (gameId,playerRole) = tryGetString(getCommitKey(gameId, playerRole))
128128
129129
130130 func getDuckOrderKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_duckOrder")
131131
132132
133133 func getDuckOrder (gameId,playerRole) = tryGetString(getDuckOrderKey(gameId, playerRole))
134134
135135
136136 func getPrizeSentKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_prizeSent")
137137
138138
139139 func getPrizeSent (gameId,playerRole) = tryGetBoolean(getPrizeSentKey(gameId, playerRole))
140140
141141
142142 func getScore (a,b) = if ((a > b))
143143 then 1
144144 else if ((b > a))
145145 then -1
146146 else 0
147147
148148
149149 func isSymbolA (accumulated,sym) = if ((sym == "A"))
150150 then (accumulated + 1)
151151 else (accumulated + 0)
152152
153153
154154 func isSymbolB (accumulated,sym) = if ((sym == "B"))
155155 then (accumulated + 1)
156156 else (accumulated + 0)
157157
158158
159159 func isSymbolC (accumulated,sym) = if ((sym == "C"))
160160 then (accumulated + 1)
161161 else (accumulated + 0)
162162
163163
164164 func isSymbolD (accumulated,sym) = if ((sym == "D"))
165165 then (accumulated + 1)
166166 else (accumulated + 0)
167167
168168
169169 func isSymbolE (accumulated,sym) = if ((sym == "E"))
170170 then (accumulated + 1)
171171 else (accumulated + 0)
172172
173173
174174 func isSymbolF (accumulated,sym) = if ((sym == "F"))
175175 then (accumulated + 1)
176176 else (accumulated + 0)
177177
178178
179179 func isSymbolG (accumulated,sym) = if ((sym == "G"))
180180 then (accumulated + 1)
181181 else (accumulated + 0)
182182
183183
184184 func isSymbolH (accumulated,sym) = if ((sym == "H"))
185185 then (accumulated + 1)
186186 else (accumulated + 0)
187187
188188
189189 func getAmountOrClear (amount) = if (contains(amount, "0"))
190190 then ""
191191 else amount
192192
193193
194194 func getGen (assetName) = {
195195 let genotype = split(dropRight(drop(assetName, 5), 3), "")
196196 (((((((getAmountOrClear((toString({
197197 let $list55935624 = genotype
198198 let $size55935624 = size($list55935624)
199199 let $acc055935624 = 0
200200 if (($size55935624 == 0))
201201 then $acc055935624
202202 else {
203203 let $acc155935624 = isSymbolA($acc055935624, $list55935624[0])
204204 if (($size55935624 == 1))
205205 then $acc155935624
206206 else {
207207 let $acc255935624 = isSymbolA($acc155935624, $list55935624[1])
208208 if (($size55935624 == 2))
209209 then $acc255935624
210210 else {
211211 let $acc355935624 = isSymbolA($acc255935624, $list55935624[2])
212212 if (($size55935624 == 3))
213213 then $acc355935624
214214 else {
215215 let $acc455935624 = isSymbolA($acc355935624, $list55935624[3])
216216 if (($size55935624 == 4))
217217 then $acc455935624
218218 else {
219219 let $acc555935624 = isSymbolA($acc455935624, $list55935624[4])
220220 if (($size55935624 == 5))
221221 then $acc555935624
222222 else {
223223 let $acc655935624 = isSymbolA($acc555935624, $list55935624[5])
224224 if (($size55935624 == 6))
225225 then $acc655935624
226226 else {
227227 let $acc755935624 = isSymbolA($acc655935624, $list55935624[6])
228228 if (($size55935624 == 7))
229229 then $acc755935624
230230 else {
231231 let $acc855935624 = isSymbolA($acc755935624, $list55935624[7])
232232 if (($size55935624 == 8))
233233 then $acc855935624
234234 else {
235235 let $acc955935624 = isSymbolA($acc855935624, $list55935624[8])
236236 throw("List size exceed 8")
237237 }
238238 }
239239 }
240240 }
241241 }
242242 }
243243 }
244244 }
245245 }
246246 }) + "A")) + getAmountOrClear((toString({
247247 let $list56615692 = genotype
248248 let $size56615692 = size($list56615692)
249249 let $acc056615692 = 0
250250 if (($size56615692 == 0))
251251 then $acc056615692
252252 else {
253253 let $acc156615692 = isSymbolB($acc056615692, $list56615692[0])
254254 if (($size56615692 == 1))
255255 then $acc156615692
256256 else {
257257 let $acc256615692 = isSymbolB($acc156615692, $list56615692[1])
258258 if (($size56615692 == 2))
259259 then $acc256615692
260260 else {
261261 let $acc356615692 = isSymbolB($acc256615692, $list56615692[2])
262262 if (($size56615692 == 3))
263263 then $acc356615692
264264 else {
265265 let $acc456615692 = isSymbolB($acc356615692, $list56615692[3])
266266 if (($size56615692 == 4))
267267 then $acc456615692
268268 else {
269269 let $acc556615692 = isSymbolB($acc456615692, $list56615692[4])
270270 if (($size56615692 == 5))
271271 then $acc556615692
272272 else {
273273 let $acc656615692 = isSymbolB($acc556615692, $list56615692[5])
274274 if (($size56615692 == 6))
275275 then $acc656615692
276276 else {
277277 let $acc756615692 = isSymbolB($acc656615692, $list56615692[6])
278278 if (($size56615692 == 7))
279279 then $acc756615692
280280 else {
281281 let $acc856615692 = isSymbolB($acc756615692, $list56615692[7])
282282 if (($size56615692 == 8))
283283 then $acc856615692
284284 else {
285285 let $acc956615692 = isSymbolB($acc856615692, $list56615692[8])
286286 throw("List size exceed 8")
287287 }
288288 }
289289 }
290290 }
291291 }
292292 }
293293 }
294294 }
295295 }
296296 }) + "B"))) + getAmountOrClear((toString({
297297 let $list57295760 = genotype
298298 let $size57295760 = size($list57295760)
299299 let $acc057295760 = 0
300300 if (($size57295760 == 0))
301301 then $acc057295760
302302 else {
303303 let $acc157295760 = isSymbolC($acc057295760, $list57295760[0])
304304 if (($size57295760 == 1))
305305 then $acc157295760
306306 else {
307307 let $acc257295760 = isSymbolC($acc157295760, $list57295760[1])
308308 if (($size57295760 == 2))
309309 then $acc257295760
310310 else {
311311 let $acc357295760 = isSymbolC($acc257295760, $list57295760[2])
312312 if (($size57295760 == 3))
313313 then $acc357295760
314314 else {
315315 let $acc457295760 = isSymbolC($acc357295760, $list57295760[3])
316316 if (($size57295760 == 4))
317317 then $acc457295760
318318 else {
319319 let $acc557295760 = isSymbolC($acc457295760, $list57295760[4])
320320 if (($size57295760 == 5))
321321 then $acc557295760
322322 else {
323323 let $acc657295760 = isSymbolC($acc557295760, $list57295760[5])
324324 if (($size57295760 == 6))
325325 then $acc657295760
326326 else {
327327 let $acc757295760 = isSymbolC($acc657295760, $list57295760[6])
328328 if (($size57295760 == 7))
329329 then $acc757295760
330330 else {
331331 let $acc857295760 = isSymbolC($acc757295760, $list57295760[7])
332332 if (($size57295760 == 8))
333333 then $acc857295760
334334 else {
335335 let $acc957295760 = isSymbolC($acc857295760, $list57295760[8])
336336 throw("List size exceed 8")
337337 }
338338 }
339339 }
340340 }
341341 }
342342 }
343343 }
344344 }
345345 }
346346 }) + "C"))) + getAmountOrClear((toString({
347347 let $list57995830 = genotype
348348 let $size57995830 = size($list57995830)
349349 let $acc057995830 = 0
350350 if (($size57995830 == 0))
351351 then $acc057995830
352352 else {
353353 let $acc157995830 = isSymbolD($acc057995830, $list57995830[0])
354354 if (($size57995830 == 1))
355355 then $acc157995830
356356 else {
357357 let $acc257995830 = isSymbolD($acc157995830, $list57995830[1])
358358 if (($size57995830 == 2))
359359 then $acc257995830
360360 else {
361361 let $acc357995830 = isSymbolD($acc257995830, $list57995830[2])
362362 if (($size57995830 == 3))
363363 then $acc357995830
364364 else {
365365 let $acc457995830 = isSymbolD($acc357995830, $list57995830[3])
366366 if (($size57995830 == 4))
367367 then $acc457995830
368368 else {
369369 let $acc557995830 = isSymbolD($acc457995830, $list57995830[4])
370370 if (($size57995830 == 5))
371371 then $acc557995830
372372 else {
373373 let $acc657995830 = isSymbolD($acc557995830, $list57995830[5])
374374 if (($size57995830 == 6))
375375 then $acc657995830
376376 else {
377377 let $acc757995830 = isSymbolD($acc657995830, $list57995830[6])
378378 if (($size57995830 == 7))
379379 then $acc757995830
380380 else {
381381 let $acc857995830 = isSymbolD($acc757995830, $list57995830[7])
382382 if (($size57995830 == 8))
383383 then $acc857995830
384384 else {
385385 let $acc957995830 = isSymbolD($acc857995830, $list57995830[8])
386386 throw("List size exceed 8")
387387 }
388388 }
389389 }
390390 }
391391 }
392392 }
393393 }
394394 }
395395 }
396396 }) + "D"))) + getAmountOrClear((toString({
397397 let $list58675898 = genotype
398398 let $size58675898 = size($list58675898)
399399 let $acc058675898 = 0
400400 if (($size58675898 == 0))
401401 then $acc058675898
402402 else {
403403 let $acc158675898 = isSymbolE($acc058675898, $list58675898[0])
404404 if (($size58675898 == 1))
405405 then $acc158675898
406406 else {
407407 let $acc258675898 = isSymbolE($acc158675898, $list58675898[1])
408408 if (($size58675898 == 2))
409409 then $acc258675898
410410 else {
411411 let $acc358675898 = isSymbolE($acc258675898, $list58675898[2])
412412 if (($size58675898 == 3))
413413 then $acc358675898
414414 else {
415415 let $acc458675898 = isSymbolE($acc358675898, $list58675898[3])
416416 if (($size58675898 == 4))
417417 then $acc458675898
418418 else {
419419 let $acc558675898 = isSymbolE($acc458675898, $list58675898[4])
420420 if (($size58675898 == 5))
421421 then $acc558675898
422422 else {
423423 let $acc658675898 = isSymbolE($acc558675898, $list58675898[5])
424424 if (($size58675898 == 6))
425425 then $acc658675898
426426 else {
427427 let $acc758675898 = isSymbolE($acc658675898, $list58675898[6])
428428 if (($size58675898 == 7))
429429 then $acc758675898
430430 else {
431431 let $acc858675898 = isSymbolE($acc758675898, $list58675898[7])
432432 if (($size58675898 == 8))
433433 then $acc858675898
434434 else {
435435 let $acc958675898 = isSymbolE($acc858675898, $list58675898[8])
436436 throw("List size exceed 8")
437437 }
438438 }
439439 }
440440 }
441441 }
442442 }
443443 }
444444 }
445445 }
446446 }) + "E"))) + getAmountOrClear((toString({
447447 let $list59355966 = genotype
448448 let $size59355966 = size($list59355966)
449449 let $acc059355966 = 0
450450 if (($size59355966 == 0))
451451 then $acc059355966
452452 else {
453453 let $acc159355966 = isSymbolF($acc059355966, $list59355966[0])
454454 if (($size59355966 == 1))
455455 then $acc159355966
456456 else {
457457 let $acc259355966 = isSymbolF($acc159355966, $list59355966[1])
458458 if (($size59355966 == 2))
459459 then $acc259355966
460460 else {
461461 let $acc359355966 = isSymbolF($acc259355966, $list59355966[2])
462462 if (($size59355966 == 3))
463463 then $acc359355966
464464 else {
465465 let $acc459355966 = isSymbolF($acc359355966, $list59355966[3])
466466 if (($size59355966 == 4))
467467 then $acc459355966
468468 else {
469469 let $acc559355966 = isSymbolF($acc459355966, $list59355966[4])
470470 if (($size59355966 == 5))
471471 then $acc559355966
472472 else {
473473 let $acc659355966 = isSymbolF($acc559355966, $list59355966[5])
474474 if (($size59355966 == 6))
475475 then $acc659355966
476476 else {
477477 let $acc759355966 = isSymbolF($acc659355966, $list59355966[6])
478478 if (($size59355966 == 7))
479479 then $acc759355966
480480 else {
481481 let $acc859355966 = isSymbolF($acc759355966, $list59355966[7])
482482 if (($size59355966 == 8))
483483 then $acc859355966
484484 else {
485485 let $acc959355966 = isSymbolF($acc859355966, $list59355966[8])
486486 throw("List size exceed 8")
487487 }
488488 }
489489 }
490490 }
491491 }
492492 }
493493 }
494494 }
495495 }
496496 }) + "F"))) + getAmountOrClear((toString({
497497 let $list60056036 = genotype
498498 let $size60056036 = size($list60056036)
499499 let $acc060056036 = 0
500500 if (($size60056036 == 0))
501501 then $acc060056036
502502 else {
503503 let $acc160056036 = isSymbolG($acc060056036, $list60056036[0])
504504 if (($size60056036 == 1))
505505 then $acc160056036
506506 else {
507507 let $acc260056036 = isSymbolG($acc160056036, $list60056036[1])
508508 if (($size60056036 == 2))
509509 then $acc260056036
510510 else {
511511 let $acc360056036 = isSymbolG($acc260056036, $list60056036[2])
512512 if (($size60056036 == 3))
513513 then $acc360056036
514514 else {
515515 let $acc460056036 = isSymbolG($acc360056036, $list60056036[3])
516516 if (($size60056036 == 4))
517517 then $acc460056036
518518 else {
519519 let $acc560056036 = isSymbolG($acc460056036, $list60056036[4])
520520 if (($size60056036 == 5))
521521 then $acc560056036
522522 else {
523523 let $acc660056036 = isSymbolG($acc560056036, $list60056036[5])
524524 if (($size60056036 == 6))
525525 then $acc660056036
526526 else {
527527 let $acc760056036 = isSymbolG($acc660056036, $list60056036[6])
528528 if (($size60056036 == 7))
529529 then $acc760056036
530530 else {
531531 let $acc860056036 = isSymbolG($acc760056036, $list60056036[7])
532532 if (($size60056036 == 8))
533533 then $acc860056036
534534 else {
535535 let $acc960056036 = isSymbolG($acc860056036, $list60056036[8])
536536 throw("List size exceed 8")
537537 }
538538 }
539539 }
540540 }
541541 }
542542 }
543543 }
544544 }
545545 }
546546 }) + "G"))) + getAmountOrClear((toString({
547547 let $list60736104 = genotype
548548 let $size60736104 = size($list60736104)
549549 let $acc060736104 = 0
550550 if (($size60736104 == 0))
551551 then $acc060736104
552552 else {
553553 let $acc160736104 = isSymbolH($acc060736104, $list60736104[0])
554554 if (($size60736104 == 1))
555555 then $acc160736104
556556 else {
557557 let $acc260736104 = isSymbolH($acc160736104, $list60736104[1])
558558 if (($size60736104 == 2))
559559 then $acc260736104
560560 else {
561561 let $acc360736104 = isSymbolH($acc260736104, $list60736104[2])
562562 if (($size60736104 == 3))
563563 then $acc360736104
564564 else {
565565 let $acc460736104 = isSymbolH($acc360736104, $list60736104[3])
566566 if (($size60736104 == 4))
567567 then $acc460736104
568568 else {
569569 let $acc560736104 = isSymbolH($acc460736104, $list60736104[4])
570570 if (($size60736104 == 5))
571571 then $acc560736104
572572 else {
573573 let $acc660736104 = isSymbolH($acc560736104, $list60736104[5])
574574 if (($size60736104 == 6))
575575 then $acc660736104
576576 else {
577577 let $acc760736104 = isSymbolH($acc660736104, $list60736104[6])
578578 if (($size60736104 == 7))
579579 then $acc760736104
580580 else {
581581 let $acc860736104 = isSymbolH($acc760736104, $list60736104[7])
582582 if (($size60736104 == 8))
583583 then $acc860736104
584584 else {
585585 let $acc960736104 = isSymbolH($acc860736104, $list60736104[8])
586586 throw("List size exceed 8")
587587 }
588588 }
589589 }
590590 }
591591 }
592592 }
593593 }
594594 }
595595 }
596596 }) + "H")))
597597 }
598598
599599
600600 func getAssetOrigin (generation) = if ((generation == "G"))
601601 then incubatorAddress
602602 else breederAddress
603603
604604
605605 func getAssetRarity (assetId) = if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress)))
606606 then true
607607 else (value(assetInfo(assetId)).issuer == Address(incubatorAddress)))
608608 then {
609609 let assetName = value(assetInfo(assetId)).name
610610 let generation = take(takeRight(assetName, 2), 1)
611611 let gen = ((getGen(assetName) + "-") + generation)
612612 let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + gen) + "_quantity"))
613613 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
614614 if ((power > 0))
615615 then power
616616 else 2
617617 }
618618 else throw("not valid NFT")
619619
620620
621621 func getWinner (gameId) = {
622622 let gameStep = getStep(gameId)
623623 if ((6 > gameStep))
624624 then {
625625 let expirationHeight = getExpirationHeight(gameId)
626626 if ((expirationHeight == 0))
627627 then throw("Game is not started")
628628 else if ((expirationHeight > height))
629629 then throw("Game is not finished or expired")
630630 else if (((getStep(gameId) % 2) == 0))
631631 then "maker"
632632 else "taker"
633633 }
634634 else {
635635 let makerDuckOrder = split(getDuckOrder(gameId, "maker"), ",")
636636 let takerDuckOrder = split(getDuckOrder(gameId, "taker"), ",")
637637 let makerRarity1 = getRarity(gameId, "maker", makerDuckOrder[0])
638638 let makerRarity2 = getRarity(gameId, "maker", makerDuckOrder[1])
639639 let makerRarity3 = getRarity(gameId, "maker", makerDuckOrder[2])
640- let takerRarity1 = getRarity(gameId, "taker", makerDuckOrder[0])
641- let takerRarity2 = getRarity(gameId, "taker", makerDuckOrder[1])
642- let takerRarity3 = getRarity(gameId, "taker", makerDuckOrder[2])
640+ let takerRarity1 = getRarity(gameId, "taker", takerDuckOrder[0])
641+ let takerRarity2 = getRarity(gameId, "taker", takerDuckOrder[1])
642+ let takerRarity3 = getRarity(gameId, "taker", takerDuckOrder[2])
643643 let makerScore = ((getScore(makerRarity1, takerRarity1) + getScore(makerRarity2, takerRarity2)) + getScore(makerRarity3, takerRarity3))
644644 if ((makerScore > 0))
645645 then "maker"
646646 else if ((0 > makerScore))
647647 then "taker"
648648 else "draw"
649649 }
650650 }
651651
652652
653653 @Callable(i)
654654 func makeGame (slot,rarityRangeWorst,rarityRangeMedium,rarityRangeBest) = {
655655 let callerAddress = toBase58String(i.caller.bytes)
656656 let slotGameId = getSlot(slot)
657657 let payment = value(i.payments[0])
658658 let eggs = (payment.amount - makerFee)
659659 let gameId = getNextGameId()
660660 if ((getPlayerCurrentGame(callerAddress) != 0))
661661 then throw("You already have an active game")
662662 else if (if ((0 > slot))
663663 then true
664664 else (slot >= SLOTS))
665665 then throw("Invalid slot")
666666 else if ((slotGameId != 0))
667667 then throw("This slot is busy")
668668 else if ((payment.assetId != eggsAssetId))
669669 then throw(("You can attach only EGGs with the following asset id: " + toBase58String(eggsAssetId)))
670670 else if ((0 >= eggs))
671671 then throw("Not enough EGGs")
672672 else if (if ((1 > rarityRangeWorst))
673673 then true
674674 else (rarityRangeWorst > 5))
675675 then throw("Invalid rarity range for the worst duck")
676676 else if (if ((1 > rarityRangeMedium))
677677 then true
678678 else (rarityRangeMedium > 5))
679679 then throw("Invalid rarity range for the medium duck")
680680 else if (if ((1 > rarityRangeBest))
681681 then true
682682 else (rarityRangeBest > 5))
683683 then throw("Invalid rarity range for the best duck")
684684 else if ((rarityRangeWorst >= rarityRangeMedium))
685685 then throw("The medium duck must be better than the worst one")
686686 else if ((rarityRangeMedium >= rarityRangeBest))
687687 then throw("The best duck must be better than the medium one")
688688 else [IntegerEntry(getPlayerCurrentGameKey(callerAddress), gameId), StringEntry(getMakerKey(gameId), callerAddress), StringEntry(getPlayerRoleKey(gameId, callerAddress), "maker"), IntegerEntry(getBetEggsKey(gameId), eggs), IntegerEntry(getRarityRangeKey(gameId, "worst"), rarityRangeWorst), IntegerEntry(getRarityRangeKey(gameId, "medium"), rarityRangeMedium), IntegerEntry(getRarityRangeKey(gameId, "best"), rarityRangeBest), IntegerEntry(getWaitingExpirationHeightKey(gameId), (height + WAITING)), IntegerEntry(getSlotKey(slot), gameId), IntegerEntry("nextGameId", (gameId + 1))]
689689 }
690690
691691
692692
693693 @Callable(i)
694694 func takeGame (slot) = {
695695 let callerAddress = toBase58String(i.caller.bytes)
696696 let gameId = getSlot(slot)
697697 let payment = value(i.payments[0])
698698 if ((getPlayerCurrentGame(callerAddress) != 0))
699699 then throw("You already have an active game")
700700 else if (if ((0 > slot))
701701 then true
702702 else (slot >= SLOTS))
703703 then throw("Invalid slot")
704704 else if ((getSlot(slot) == 0))
705705 then throw("This slot is empty")
706706 else if ((payment.assetId != eggsAssetId))
707707 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(eggsAssetId)))
708708 else if ((payment.amount != (getBetEggs(gameId) + takerFee)))
709709 then throw("Insufficient eggs amount")
710710 else if ((height >= getWaitingExpirationHeight(gameId)))
711711 then throw("This game is expired")
712712 else [IntegerEntry(getPlayerCurrentGameKey(callerAddress), gameId), StringEntry(getTakerKey(gameId), callerAddress), StringEntry(getPlayerRoleKey(gameId, callerAddress), "taker"), IntegerEntry(getStepKey(gameId), 0), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration)), IntegerEntry(getSlotKey(slot), 0)]
713713 }
714714
715715
716716
717717 @Callable(i)
718718 func kickGame (slot) = {
719719 let gameId = getSlot(slot)
720720 if (if ((0 > slot))
721721 then true
722722 else (slot >= SLOTS))
723723 then throw("Invalid slot")
724724 else if ((gameId == 0))
725725 then throw("Slot is empty")
726726 else if ((getWaitingExpirationHeight(gameId) > height))
727727 then throw("Waiting is not finished yet")
728728 else {
729729 let maker = getMaker(gameId)
730730 [IntegerEntry(getPlayerCurrentGameKey(maker), 0), IntegerEntry(getSlotKey(slot), 0), ScriptTransfer(Address(fromBase58String(maker)), (getBetEggs(gameId) + makerFee), eggsAssetId)]
731731 }
732732 }
733733
734734
735735
736736 @Callable(i)
737737 func pickDucks () = {
738738 let callerAddress = toBase58String(i.caller.bytes)
739739 let gameId = getPlayerCurrentGame(callerAddress)
740740 let playerRole = getPlayerRole(gameId, callerAddress)
741741 let gameStep = getStep(gameId)
742742 let worstRarityRange = getRarityRange(gameId, "worst")
743743 let mediumRarityRange = getRarityRange(gameId, "medium")
744744 let bestRarityRange = getRarityRange(gameId, "best")
745745 let worstDuckId = value(value(i.payments[0]).assetId)
746746 let mediumDuckId = value(value(i.payments[1]).assetId)
747747 let bestDuckId = value(value(i.payments[2]).assetId)
748748 let worstRarity = getAssetRarity(worstDuckId)
749749 let mediumRarity = getAssetRarity(mediumDuckId)
750750 let bestRarity = getAssetRarity(bestDuckId)
751751 if ((gameId == 0))
752752 then throw("You don't have an active game")
753753 else if ((getExpirationHeight(gameId) == 0))
754754 then throw("Game is not started")
755755 else if (if ((gameStep == 0))
756756 then (playerRole != "taker")
757757 else false)
758758 then throw("It is the taker's turn to pick now")
759759 else if (if ((gameStep == 1))
760760 then (playerRole != "maker")
761761 else false)
762762 then throw("It is the maker's turn to pick now")
763763 else if ((gameStep > 1))
764764 then throw("Ducks have already been picked")
765765 else if (if ((worstRarity >= (worstRarityRange * 10)))
766766 then true
767767 else (((worstRarityRange - 1) * 10) > worstRarity))
768768 then throw("Worst duck doesn't fit rarity range")
769769 else if (if ((mediumRarity >= (mediumRarityRange * 10)))
770770 then true
771771 else (((mediumRarityRange - 1) * 10) > mediumRarity))
772772 then throw("Medium duck doesn't fit rarity range")
773773 else if (if (if (if ((bestRarityRange == 5))
774774 then (40 > bestRarity)
775775 else false)
776776 then true
777777 else (bestRarity >= (bestRarityRange * 10)))
778778 then true
779779 else (((bestRarityRange - 1) * 10) > bestRarity))
780780 then throw("Best duck doesn't fit rarity range")
781781 else [IntegerEntry(getRarityKey(gameId, playerRole, "worst"), worstRarity), IntegerEntry(getRarityKey(gameId, playerRole, "medium"), mediumRarity), IntegerEntry(getRarityKey(gameId, playerRole, "best"), bestRarity), StringEntry(getDuckIdKey(gameId, playerRole, "worst"), toBase58String(worstDuckId)), StringEntry(getDuckIdKey(gameId, playerRole, "medium"), toBase58String(mediumDuckId)), StringEntry(getDuckIdKey(gameId, playerRole, "best"), toBase58String(bestDuckId)), IntegerEntry(getStepKey(gameId), (gameStep + 1)), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration)), ScriptTransfer(i.caller, 1, worstDuckId), ScriptTransfer(i.caller, 1, mediumDuckId), ScriptTransfer(i.caller, 1, bestDuckId)]
782782 }
783783
784784
785785
786786 @Callable(i)
787787 func commit (hash) = {
788788 let callerAddress = toBase58String(i.caller.bytes)
789789 let gameId = getPlayerCurrentGame(callerAddress)
790790 let playerRole = getPlayerRole(gameId, callerAddress)
791791 let gameStep = getStep(gameId)
792792 if ((gameId == 0))
793793 then throw("You don't have an active game")
794794 else if ((2 > gameStep))
795795 then throw("Commit is not started")
796796 else if (if ((gameStep == 2))
797797 then (playerRole != "taker")
798798 else false)
799799 then throw("It is the taker's turn to pick now")
800800 else if (if ((gameStep == 3))
801801 then (playerRole != "maker")
802802 else false)
803803 then throw("It is the maker's turn to pick now")
804804 else if ((gameStep > 3))
805805 then throw("Commit is finished")
806806 else [StringEntry(getCommitKey(gameId, playerRole), hash), IntegerEntry(getStepKey(gameId), (gameStep + 1)), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration))]
807807 }
808808
809809
810810
811811 @Callable(i)
812812 func reveal (duckOrder,salt) = {
813813 let callerAddress = toBase58String(i.caller.bytes)
814814 let gameId = getPlayerCurrentGame(callerAddress)
815815 let playerRole = getPlayerRole(gameId, callerAddress)
816816 let gameStep = getStep(gameId)
817817 if ((gameId == 0))
818818 then throw("You don't have an active game")
819819 else if ((4 > gameStep))
820820 then throw("Reveal is not started")
821821 else if (if ((gameStep == 4))
822822 then (playerRole != "taker")
823823 else false)
824824 then throw("It is the taker's turn to pick now")
825825 else if (if ((gameStep == 5))
826826 then (playerRole != "maker")
827827 else false)
828828 then throw("It is the maker's turn to pick now")
829829 else if ((gameStep > 5))
830830 then throw("Reveal is finished")
831831 else if (if (if (if (if (if ((duckOrder != "worst,medium,best"))
832832 then (duckOrder != "worst,best,medium")
833833 else false)
834834 then (duckOrder != "medium,worst,best")
835835 else false)
836836 then (duckOrder != "medium,best,worst")
837837 else false)
838838 then (duckOrder != "best,worst,medium")
839839 else false)
840840 then (duckOrder != "best,medium,worst")
841841 else false)
842842 then throw("Reveal data is not valid")
843843 else if ((toBase58String(sha256(toBytes((duckOrder + salt)))) != getCommit(gameId, playerRole)))
844844 then throw("Reveal doesn't match commit")
845845 else [StringEntry(getDuckOrderKey(gameId, playerRole), duckOrder), IntegerEntry(getStepKey(gameId), (gameStep + 1)), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration))]
846846 }
847847
848848
849849
850850 @Callable(i)
851851 func getPrize () = {
852852 let callerAddress = toBase58String(i.caller.bytes)
853853 let gameId = getPlayerCurrentGame(callerAddress)
854854 let playerRole = getPlayerRole(gameId, callerAddress)
855855 let makerAddress = getMaker(gameId)
856856 let takerAddress = getTaker(gameId)
857857 let winner = getWinner(gameId)
858858 if ((gameId == 0))
859859 then throw("You don't have an active game")
860860 else if (getPrizeSent(gameId, playerRole))
861861 then throw("You have already got the prize")
862862 else if ((winner == playerRole))
863863 then [IntegerEntry(getPlayerCurrentGameKey(makerAddress), 0), IntegerEntry(getPlayerCurrentGameKey(takerAddress), 0), BooleanEntry(getPrizeSentKey(gameId, playerRole), true), ScriptTransfer(i.caller, (getBetEggs(gameId) * 2), eggsAssetId)]
864864 else if ((winner == "draw"))
865865 then [IntegerEntry(getPlayerCurrentGameKey(callerAddress), 0), BooleanEntry(getPrizeSentKey(gameId, playerRole), true), ScriptTransfer(i.caller, getBetEggs(gameId), eggsAssetId)]
866866 else throw("You lose and don't have any prize")
867867 }
868868
869869
870870 @Verifier(tx)
871871 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
872872

github/deemru/w8io/169f3d6 
80.28 ms