tx · GHWTMhvPU4FDCmvJR1WnqoDHybpmzweD4XyjJgQHYdf1

3N6oaapvYkEryHUr4vAiPRXM3iS6kMYXito:  -0.05000000 Waves

2021.09.04 19:46 [1688565] smart account 3N6oaapvYkEryHUr4vAiPRXM3iS6kMYXito > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
81.65 ms