tx · DErxq6oDxGdmY9y9JAQYQWmpuv5q8cqUvdtrQysG3Shc

3Mrxey5agrfiXBaaSkYzSd8ouZCUZ3zK3kE:  -0.01000000 Waves

2021.08.29 16:35 [1679717] smart account 3Mrxey5agrfiXBaaSkYzSd8ouZCUZ3zK3kE > SELF 0.00000000 Waves

{ "type": 13, "id": "DErxq6oDxGdmY9y9JAQYQWmpuv5q8cqUvdtrQysG3Shc", "fee": 1000000, "feeAssetId": null, "timestamp": 1630244263483, "version": 2, "chainId": 84, "sender": "3Mrxey5agrfiXBaaSkYzSd8ouZCUZ3zK3kE", "senderPublicKey": "8nyGkhzP1cnDe7zwt1dN73wyiTqZ1U5kmjP7ijcMoBGL", "proofs": [ "5NVdE9f138qoAeVJN5fK3L9hEuRarRidDUtjJuNQWHJvcbEehQ5AXQWMfA4FoYDYVQdR1xdwL5NcsKCdcqhq9FFk" ], "script": "base64:AAIFAAAAAAAAACMIAhIGCgQBAQEBEgMKAQESAwoBARIAEgMKAQgSBAoCCAgSAAAAADgAAAAAEGluY3ViYXRvckFkZHJlc3MBAAAAGgFULtWM0cQB59XpAM7NQCSesRQHNOlezyuqAAAAAA5icmVlZGVyQWRkcmVzcwEAAAAaAVSF5nsrInT2j7D/pShyLfVcPKxPpUuOW44AAAAAC2VnZ3NBc3NldElkAQAAACAlAmXM9wRoyL4BWZF45VhaOGYUE61KTEq3/gUXSBcWgwAAAAAIbWFrZXJGZWUAAAAAAAAAAAEAAAAACHRha2VyRmVlAAAAAAAAAAABAAAAAAVTTE9UUwAAAAAAAAAACgAAAAAHV0FJVElORwAAAAAAAAAABQAAAAAMc3RlcER1cmF0aW9uAAAAAAAAAAADAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAABAAAADHRyeUdldFN0cmluZwAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADXRyeUdldEJvb2xlYW4AAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIHAQAAAA1nZXROZXh0R2FtZUlkAAAAAAQAAAAGbmV4dElkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAACm5leHRHYW1lSWQDCQAAAAAAAAIFAAAABm5leHRJZAAAAAAAAAAAAAAAAAAAAAAAAQUAAAAGbmV4dElkAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEAAAANcGxheWVyQWRkcmVzcwkAASwAAAACAgAAAAxjdXJyZW50R2FtZV8FAAAADXBsYXllckFkZHJlc3MBAAAAFGdldFBsYXllckN1cnJlbnRHYW1lAAAAAQAAAA1wbGF5ZXJBZGRyZXNzCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADXBsYXllckFkZHJlc3MBAAAACmdldFNsb3RLZXkAAAABAAAABHNsb3QJAAEsAAAAAgIAAAAEc2xvdAkAAaQAAAABBQAAAARzbG90AQAAAAdnZXRTbG90AAAAAQAAAARzbG90CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAEAAAAQZ2V0UGxheWVyUm9sZUtleQAAAAIAAAAGZ2FtZUlkAAAADXBsYXllckFkZHJlc3MJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAFfBQAAAA1wbGF5ZXJBZGRyZXNzAQAAAA1nZXRQbGF5ZXJSb2xlAAAAAgAAAAZnYW1lSWQAAAANcGxheWVyQWRkcmVzcwkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABBnZXRQbGF5ZXJSb2xlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzAQAAAAtnZXRNYWtlcktleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAEZ2FtZQkAAaQAAAABBQAAAAZnYW1lSWQCAAAABl9tYWtlcgEAAAAIZ2V0TWFrZXIAAAABAAAABmdhbWVJZAkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAAAtnZXRNYWtlcktleQAAAAEFAAAABmdhbWVJZAEAAAALZ2V0VGFrZXJLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAZfdGFrZXIBAAAACGdldFRha2VyAAAAAQAAAAZnYW1lSWQJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAALZ2V0VGFrZXJLZXkAAAABBQAAAAZnYW1lSWQBAAAADWdldEJldEVnZ3NLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAhfYmV0RWdncwEAAAAKZ2V0QmV0RWdncwAAAAEAAAAGZ2FtZUlkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAAA1nZXRCZXRFZ2dzS2V5AAAAAQUAAAAGZ2FtZUlkAQAAAB1nZXRXYWl0aW5nRXhwaXJhdGlvbkhlaWdodEtleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAEZ2FtZQkAAaQAAAABBQAAAAZnYW1lSWQCAAAAGF93YWl0aW5nRXhwaXJhdGlvbkhlaWdodAEAAAAaZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHQAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAdZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQBAAAAFmdldEV4cGlyYXRpb25IZWlnaHRLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAABFfZXhwaXJhdGlvbkhlaWdodAEAAAATZ2V0RXhwaXJhdGlvbkhlaWdodAAAAAEAAAAGZ2FtZUlkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABZnZXRFeHBpcmF0aW9uSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABGdhbWUJAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAA1fcmFyaXR5UmFuZ2VfBQAAAA1yYW5nZVBvc2l0aW9uAQAAAA5nZXRSYXJpdHlSYW5nZQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAEWdldFJhcml0eVJhbmdlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1yYW5nZVBvc2l0aW9uAQAAAApnZXRTdGVwS2V5AAAAAQAAAAZnYW1lSWQJAAEsAAAAAgkAASwAAAACAgAAAARnYW1lCQAB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c1N5bWJvbEIAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFCCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEMAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFDCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEQAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFECQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEUAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFFCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEYAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFGCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEcAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFHCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEgAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFICQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAA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NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAACBQAAAA0kYWNjMjU3MzQ1NzY1BAAAAA0kYWNjMzU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzI1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAADBQAAAA0kYWNjMzU3MzQ1NzY1BAAAAA0kYWNjNDU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzM1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAAEBQAAAA0kYWNjNDU3MzQ1NzY1BAAAAA0kYWNjNTU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzQ1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAAFBQAAAA0kYWNjNTU3MzQ1NzY1BAAAAA0kYWNjNjU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzU1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAAGBQAAAA0kYWNjNjU3MzQ1NzY1BAAAAA0kYWNjNzU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzY1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTU3MzQ1NzY1AAAAAAAAAAAHBQAAAA0kYWNjNzU3MzQ1NzY1BAAAAA0kYWNjODU3MzQ1NzY1CQEAAAAJaXNTeW1ib2xDAAAAAgUAAAANJGFjYzc1NzM0NTc2NQkAAZEAAAACBQAAAA0kbGlzdDU3MzQ1NzY1AAAAAAAA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AAAAAAACBQAAAA0kYWNjMjU5NDA1OTcxBAAAAA0kYWNjMzU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzI1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAADBQAAAA0kYWNjMzU5NDA1OTcxBAAAAA0kYWNjNDU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzM1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAAEBQAAAA0kYWNjNDU5NDA1OTcxBAAAAA0kYWNjNTU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzQ1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAAFBQAAAA0kYWNjNTU5NDA1OTcxBAAAAA0kYWNjNjU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzU1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAAFAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAAGBQAAAA0kYWNjNjU5NDA1OTcxBAAAAA0kYWNjNzU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzY1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAAHBQAAAA0kYWNjNzU5NDA1OTcxBAAAAA0kYWNjODU5NDA1OTcxCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAANJGFjYzc1OTQwNTk3MQkAAZEAAAACBQAAAA0kbGlzdDU5NDA1OTcxAAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTU5NDA1OTcxAAAAAAAAAAAIBQAAAA0kYWNjODU5NDA1OTcxBAAAAA0kYWNjOTU5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NjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMDYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAEFAAAADSRhY2MxNjA3ODYxMDkEAAAADSRhY2MyNjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMTYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAIFAAAADSRhY2MyNjA3ODYxMDkEAAAADSRhY2MzNjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMjYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAMFAAAADSRhY2MzNjA3ODYxMDkEAAAADSRhY2M0NjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjMzYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAQFAAAADSRhY2M0NjA3ODYxMDkEAAAADSRhY2M1NjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNDYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAUFAAAADSRhY2M1NjA3ODYxMDkEAAAADSRhY2M2NjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNjNTYwNzg2MTA5CQABkQAAAAIFAAAADSRsaXN0NjA3ODYxMDkAAAAAAAAAAAUDCQAAAAAAAAIFAAAADSRzaXplNjA3ODYxMDkAAAAAAAAAAAYFAAAADSRhY2M2NjA3ODYxMDkEAAAADSRhY2M3NjA3ODYxMDkJAQAAAAlpc1N5bWJvbEgAAAACBQAAAA0kYWNj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AAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAAEAAAADG1ha2VyUmFyaXR5MgkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAEEAAAADG1ha2VyUmFyaXR5MwkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAIEAAAADHRha2VyUmFyaXR5MQkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAAEAAAADHRha2VyUmFyaXR5MgkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAEEAAAADHRha2VyUmFyaXR5MwkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAIEAAAACm1ha2VyU2NvcmUJAABkAAAAAgkAAGQAAAACCQEAAAAIZ2V0U2NvcmUAAAACBQAAAAxtYWtlclJhcml0eTEFAAAADHRha2VyUmFyaXR5MQkBAAAACGdldFNjb3JlAAAAAgUAAAAMbWFrZXJSYXJpdHkyBQAAAAx0YWtlclJhcml0eTIJAQAAAAhnZXRTY29yZQAAAAIFAAAADG1ha2VyUmFyaXR5MwUAAAAMdGFrZXJSYXJpdHkzAwkAAGYAAAACBQAAAAptYWtlclNjb3JlAAAAAAAAAAAAAgAAAAVtYWtlcgMJAABmAAAAAgAAAAAAAAAAAAUAAAAKbWFrZXJTY29yZQIAAAAFdGFrZXICAAAABGRyYXcAAAAHAAAAAWkBAAAACG1ha2VHYW1lAAAABAAAAARzbG90AAAAEHJhcml0eVJhbmdlV29yc3QAAAARcmFyaXR5UmFuZ2VNZWRpdW0AAAAPcmFyaXR5UmFuZ2VCZXN0BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACnNsb3RHYW1lSWQJAQAAAAdnZXRTbG90AAAAAQUAAAAEc2xvdAQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEZWdncwkAAGUAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACG1ha2VyRmVlBAAAAAZnYW1lSWQJAQAAAA1nZXROZXh0R2FtZUlkAAAAAAMJAQAAAAIhPQAAAAIJAQAAABRnZXRQbGF5ZXJDdXJyZW50R2FtZQAAAAEFAAAADWNhbGxlckFkZHJlc3MAAAAAAAAAAAAJAAACAAAAAQIAAAAfWW91IGFscmVhZHkgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHNsb3QGCQAAZwAAAAIFAAAABHNsb3QFAAAABVNMT1RTCQAAAgAAAAECAAAADEludmFsaWQgc2xvdAMJAQAAAAIhPQAAAAIFAAAACnNsb3RHYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAARVGhpcyBzbG90IGlzIGJ1c3kDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAtlZ2dzQXNzZXRJZAkAAAIAAAABCQABLAAAAAICAAAANllvdSBjYW4gYXR0YWNoIG9ubHkgRUdHcyB3aXRoIHRoZSBmb2xsb3dpbmcgYXNzZXQgaWQ6IAkAAlgAAAABBQAAAAtlZ2dzQXNzZXRJZAMJAABnAAAAAgAAAAAAAAAAAAUAAAAEZWdncwkAAAIAAAABAgAAAA9Ob3QgZW5vdWdoIEVHR3MDAwkAAGYAAAACAAAAAAAAAAABBQAAABByYXJpdHlSYW5nZVdvcnN0BgkAAGYAAAACBQAAABByYXJpdHlSYW5nZVdvcnN0AAAAAAAAAAAFCQAAAgAAAAECAAAAJ0ludmFsaWQgcmFyaXR5IHJhbmdlIGZvciB0aGUgd29yc3QgZHVjawMDCQAAZgAAAAIAAAAAAAAAAAEFAAAAEXJhcml0eVJhbmdlTWVkaXVtBgkAAGYAAAACBQAAABFyYXJpdHlSYW5nZU1lZGl1bQAAAAAAAAAABQkAAAIAAAABAgAAAChJbnZhbGlkIHJhcml0eSByYW5nZSBmb3IgdGhlIG1lZGl1bSBkdWNrAwMJAABmAAAAAgAAAAAAAAAAAQUAAAAPcmFyaXR5UmFuZ2VCZXN0BgkAAGYAAAACBQAAAA9yYXJpdHlSYW5nZUJlc3QAAAAAAAAAAAUJAAACAAAAAQIAAAAmSW52YWxpZCByYXJpdHkgcmFuZ2UgZm9yIHRoZSBiZXN0IGR1Y2sDCQAAZwAAAAIFAAAAEHJhcml0eVJhbmdlV29yc3QFAAAAEXJhcml0eVJhbmdlTWVkaXVtCQAAAgAAAAECAAAAMVRoZSBtZWRpdW0gZHVjayBtdXN0IGJlIGJldHRlciB0aGFuIHRoZSB3b3JzdCBvbmUDCQAAZwAAAAIFAAAAEXJhcml0eVJhbmdlTWVkaXVtBQAAAA9yYXJpdHlSYW5nZUJlc3QJAAACAAAAAQIAAAAwVGhlIGJlc3QgZHVjayBtdXN0IGJlIGJldHRlciB0aGFuIHRoZSBtZWRpdW0gb25lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAXZ2V0UGxheWVyQ3VycmVudEdhbWVLZXkAAAABBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2dldE1ha2VyS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRQbGF5ZXJSb2xlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVtYWtlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWdldEJldEVnZ3NLZXkAAAABBQAAAAZnYW1lSWQFAAAABGVnZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAFd29yc3QFAAAAEHJhcml0eVJhbmdlV29yc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJ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", "height": 1679717, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3vxi4Ky44hv8kPd4utdt4GLx6aVhS4Nndxr3nayXsbgk Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let incubatorAddress = base58'3MtBigTsaeevrcJAEwVcr4quwkqcrtnjoAh'
5+
6+let breederAddress = base58'3N285kYUMxPi6oZsdWrxhSY34dJHyu4kRN5'
7+
8+let eggsAssetId = base58'3VUCuh9dWqe54SdzzNUkXhFXpc8UQynnJVh42B7MjNzN'
9+
10+let makerFee = 1
11+
12+let takerFee = 1
13+
14+let SLOTS = 10
15+
16+let WAITING = 5
17+
18+let stepDuration = 3
19+
20+func tryGetInteger (key) = match getInteger(this, key) {
21+ case b: Int =>
22+ b
23+ case _ =>
24+ 0
25+}
26+
27+
28+func tryGetString (key) = match getString(this, key) {
29+ case a: String =>
30+ a
31+ case _ =>
32+ ""
33+}
34+
35+
36+func tryGetBoolean (key) = match getBoolean(this, key) {
37+ case b: Boolean =>
38+ b
39+ case _ =>
40+ false
41+}
42+
43+
44+func getNextGameId () = {
45+ let nextId = tryGetInteger("nextGameId")
46+ if ((nextId == 0))
47+ then 1
48+ else nextId
49+ }
50+
51+
52+func getPlayerCurrentGameKey (playerAddress) = ("currentGame_" + playerAddress)
53+
54+
55+func getPlayerCurrentGame (playerAddress) = tryGetInteger(getPlayerCurrentGameKey(playerAddress))
56+
57+
58+func getSlotKey (slot) = ("slot" + toString(slot))
59+
60+
61+func getSlot (slot) = tryGetInteger(getSlotKey(slot))
62+
63+
64+func getPlayerRoleKey (gameId,playerAddress) = ((("game" + toString(gameId)) + "_") + playerAddress)
65+
66+
67+func getPlayerRole (gameId,playerAddress) = tryGetString(getPlayerRoleKey(gameId, playerAddress))
68+
69+
70+func getMakerKey (gameId) = (("game" + toString(gameId)) + "_maker")
71+
72+
73+func getMaker (gameId) = tryGetString(getMakerKey(gameId))
74+
75+
76+func getTakerKey (gameId) = (("game" + toString(gameId)) + "_taker")
77+
78+
79+func getTaker (gameId) = tryGetString(getTakerKey(gameId))
80+
81+
82+func getBetEggsKey (gameId) = (("game" + toString(gameId)) + "_betEggs")
83+
84+
85+func getBetEggs (gameId) = tryGetInteger(getBetEggsKey(gameId))
86+
87+
88+func getWaitingExpirationHeightKey (gameId) = (("game" + toString(gameId)) + "_waitingExpirationHeight")
89+
90+
91+func getWaitingExpirationHeight (gameId) = tryGetInteger(getWaitingExpirationHeightKey(gameId))
92+
93+
94+func getExpirationHeightKey (gameId) = (("game" + toString(gameId)) + "_expirationHeight")
95+
96+
97+func getExpirationHeight (gameId) = tryGetInteger(getExpirationHeightKey(gameId))
98+
99+
100+func getRarityRangeKey (gameId,rangePosition) = ((("game" + toString(gameId)) + "_rarityRange_") + rangePosition)
101+
102+
103+func getRarityRange (gameId,rangePosition) = tryGetInteger(getRarityRangeKey(gameId, rangePosition))
104+
105+
106+func getStepKey (gameId) = (("game" + toString(gameId)) + "_step")
107+
108+
109+func getStep (gameId) = tryGetInteger(getStepKey(gameId))
110+
111+
112+func getRarityKey (gameId,playerRole,rangePosition) = (((((("game" + toString(gameId)) + "_") + playerRole) + "_") + rangePosition) + "Rarity")
113+
114+
115+func getRarity (gameId,playerRole,rangePosition) = tryGetInteger(getRarityKey(gameId, playerRole, rangePosition))
116+
117+
118+func getAssetIdKey (gameId,playerRole,rangePosition) = (((((("game" + toString(gameId)) + "_") + playerRole) + "_") + rangePosition) + "AssetId")
119+
120+
121+func getAssetId (gameId,playerRole,rangePosition) = tryGetInteger(getAssetIdKey(gameId, playerRole, rangePosition))
122+
123+
124+func getCommitKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_commit")
125+
126+
127+func getCommit (gameId,playerRole) = tryGetString(getCommitKey(gameId, playerRole))
128+
129+
130+func getDuckOrderKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_duckOrder")
131+
132+
133+func getDuckOrder (gameId,playerRole) = tryGetString(getDuckOrderKey(gameId, playerRole))
134+
135+
136+func getPrizeSentKey (gameId,playerRole) = (((("game" + toString(gameId)) + "_") + playerRole) + "_prizeSent")
137+
138+
139+func getPrizeSent (gameId,playerRole) = tryGetBoolean(getPrizeSentKey(gameId, playerRole))
140+
141+
142+func getScore (a,b) = if ((a > b))
143+ then 1
144+ else if ((b > a))
145+ then -1
146+ else 0
147+
148+
149+func isSymbolA (accumulated,sym) = if ((sym == "A"))
150+ then (accumulated + 1)
151+ else (accumulated + 0)
152+
153+
154+func isSymbolB (accumulated,sym) = if ((sym == "B"))
155+ then (accumulated + 1)
156+ else (accumulated + 0)
157+
158+
159+func isSymbolC (accumulated,sym) = if ((sym == "C"))
160+ then (accumulated + 1)
161+ else (accumulated + 0)
162+
163+
164+func isSymbolD (accumulated,sym) = if ((sym == "D"))
165+ then (accumulated + 1)
166+ else (accumulated + 0)
167+
168+
169+func isSymbolE (accumulated,sym) = if ((sym == "E"))
170+ then (accumulated + 1)
171+ else (accumulated + 0)
172+
173+
174+func isSymbolF (accumulated,sym) = if ((sym == "F"))
175+ then (accumulated + 1)
176+ else (accumulated + 0)
177+
178+
179+func isSymbolG (accumulated,sym) = if ((sym == "G"))
180+ then (accumulated + 1)
181+ else (accumulated + 0)
182+
183+
184+func isSymbolH (accumulated,sym) = if ((sym == "H"))
185+ then (accumulated + 1)
186+ else (accumulated + 0)
187+
188+
189+func getAmountOrClear (amount) = if (contains(amount, "0"))
190+ then ""
191+ else amount
192+
193+
194+func getGen (assetName) = {
195+ let genotype = split(dropRight(drop(assetName, 5), 3), "")
196+ (((((((getAmountOrClear((toString({
197+ let $list55985629 = genotype
198+ let $size55985629 = size($list55985629)
199+ let $acc055985629 = 0
200+ if (($size55985629 == 0))
201+ then $acc055985629
202+ else {
203+ let $acc155985629 = isSymbolA($acc055985629, $list55985629[0])
204+ if (($size55985629 == 1))
205+ then $acc155985629
206+ else {
207+ let $acc255985629 = isSymbolA($acc155985629, $list55985629[1])
208+ if (($size55985629 == 2))
209+ then $acc255985629
210+ else {
211+ let $acc355985629 = isSymbolA($acc255985629, $list55985629[2])
212+ if (($size55985629 == 3))
213+ then $acc355985629
214+ else {
215+ let $acc455985629 = isSymbolA($acc355985629, $list55985629[3])
216+ if (($size55985629 == 4))
217+ then $acc455985629
218+ else {
219+ let $acc555985629 = isSymbolA($acc455985629, $list55985629[4])
220+ if (($size55985629 == 5))
221+ then $acc555985629
222+ else {
223+ let $acc655985629 = isSymbolA($acc555985629, $list55985629[5])
224+ if (($size55985629 == 6))
225+ then $acc655985629
226+ else {
227+ let $acc755985629 = isSymbolA($acc655985629, $list55985629[6])
228+ if (($size55985629 == 7))
229+ then $acc755985629
230+ else {
231+ let $acc855985629 = isSymbolA($acc755985629, $list55985629[7])
232+ if (($size55985629 == 8))
233+ then $acc855985629
234+ else {
235+ let $acc955985629 = isSymbolA($acc855985629, $list55985629[8])
236+ throw("List size exceed 8")
237+ }
238+ }
239+ }
240+ }
241+ }
242+ }
243+ }
244+ }
245+ }
246+ }) + "A")) + getAmountOrClear((toString({
247+ let $list56665697 = genotype
248+ let $size56665697 = size($list56665697)
249+ let $acc056665697 = 0
250+ if (($size56665697 == 0))
251+ then $acc056665697
252+ else {
253+ let $acc156665697 = isSymbolB($acc056665697, $list56665697[0])
254+ if (($size56665697 == 1))
255+ then $acc156665697
256+ else {
257+ let $acc256665697 = isSymbolB($acc156665697, $list56665697[1])
258+ if (($size56665697 == 2))
259+ then $acc256665697
260+ else {
261+ let $acc356665697 = isSymbolB($acc256665697, $list56665697[2])
262+ if (($size56665697 == 3))
263+ then $acc356665697
264+ else {
265+ let $acc456665697 = isSymbolB($acc356665697, $list56665697[3])
266+ if (($size56665697 == 4))
267+ then $acc456665697
268+ else {
269+ let $acc556665697 = isSymbolB($acc456665697, $list56665697[4])
270+ if (($size56665697 == 5))
271+ then $acc556665697
272+ else {
273+ let $acc656665697 = isSymbolB($acc556665697, $list56665697[5])
274+ if (($size56665697 == 6))
275+ then $acc656665697
276+ else {
277+ let $acc756665697 = isSymbolB($acc656665697, $list56665697[6])
278+ if (($size56665697 == 7))
279+ then $acc756665697
280+ else {
281+ let $acc856665697 = isSymbolB($acc756665697, $list56665697[7])
282+ if (($size56665697 == 8))
283+ then $acc856665697
284+ else {
285+ let $acc956665697 = isSymbolB($acc856665697, $list56665697[8])
286+ throw("List size exceed 8")
287+ }
288+ }
289+ }
290+ }
291+ }
292+ }
293+ }
294+ }
295+ }
296+ }) + "B"))) + getAmountOrClear((toString({
297+ let $list57345765 = genotype
298+ let $size57345765 = size($list57345765)
299+ let $acc057345765 = 0
300+ if (($size57345765 == 0))
301+ then $acc057345765
302+ else {
303+ let $acc157345765 = isSymbolC($acc057345765, $list57345765[0])
304+ if (($size57345765 == 1))
305+ then $acc157345765
306+ else {
307+ let $acc257345765 = isSymbolC($acc157345765, $list57345765[1])
308+ if (($size57345765 == 2))
309+ then $acc257345765
310+ else {
311+ let $acc357345765 = isSymbolC($acc257345765, $list57345765[2])
312+ if (($size57345765 == 3))
313+ then $acc357345765
314+ else {
315+ let $acc457345765 = isSymbolC($acc357345765, $list57345765[3])
316+ if (($size57345765 == 4))
317+ then $acc457345765
318+ else {
319+ let $acc557345765 = isSymbolC($acc457345765, $list57345765[4])
320+ if (($size57345765 == 5))
321+ then $acc557345765
322+ else {
323+ let $acc657345765 = isSymbolC($acc557345765, $list57345765[5])
324+ if (($size57345765 == 6))
325+ then $acc657345765
326+ else {
327+ let $acc757345765 = isSymbolC($acc657345765, $list57345765[6])
328+ if (($size57345765 == 7))
329+ then $acc757345765
330+ else {
331+ let $acc857345765 = isSymbolC($acc757345765, $list57345765[7])
332+ if (($size57345765 == 8))
333+ then $acc857345765
334+ else {
335+ let $acc957345765 = isSymbolC($acc857345765, $list57345765[8])
336+ throw("List size exceed 8")
337+ }
338+ }
339+ }
340+ }
341+ }
342+ }
343+ }
344+ }
345+ }
346+ }) + "C"))) + getAmountOrClear((toString({
347+ let $list58045835 = genotype
348+ let $size58045835 = size($list58045835)
349+ let $acc058045835 = 0
350+ if (($size58045835 == 0))
351+ then $acc058045835
352+ else {
353+ let $acc158045835 = isSymbolD($acc058045835, $list58045835[0])
354+ if (($size58045835 == 1))
355+ then $acc158045835
356+ else {
357+ let $acc258045835 = isSymbolD($acc158045835, $list58045835[1])
358+ if (($size58045835 == 2))
359+ then $acc258045835
360+ else {
361+ let $acc358045835 = isSymbolD($acc258045835, $list58045835[2])
362+ if (($size58045835 == 3))
363+ then $acc358045835
364+ else {
365+ let $acc458045835 = isSymbolD($acc358045835, $list58045835[3])
366+ if (($size58045835 == 4))
367+ then $acc458045835
368+ else {
369+ let $acc558045835 = isSymbolD($acc458045835, $list58045835[4])
370+ if (($size58045835 == 5))
371+ then $acc558045835
372+ else {
373+ let $acc658045835 = isSymbolD($acc558045835, $list58045835[5])
374+ if (($size58045835 == 6))
375+ then $acc658045835
376+ else {
377+ let $acc758045835 = isSymbolD($acc658045835, $list58045835[6])
378+ if (($size58045835 == 7))
379+ then $acc758045835
380+ else {
381+ let $acc858045835 = isSymbolD($acc758045835, $list58045835[7])
382+ if (($size58045835 == 8))
383+ then $acc858045835
384+ else {
385+ let $acc958045835 = isSymbolD($acc858045835, $list58045835[8])
386+ throw("List size exceed 8")
387+ }
388+ }
389+ }
390+ }
391+ }
392+ }
393+ }
394+ }
395+ }
396+ }) + "D"))) + getAmountOrClear((toString({
397+ let $list58725903 = genotype
398+ let $size58725903 = size($list58725903)
399+ let $acc058725903 = 0
400+ if (($size58725903 == 0))
401+ then $acc058725903
402+ else {
403+ let $acc158725903 = isSymbolE($acc058725903, $list58725903[0])
404+ if (($size58725903 == 1))
405+ then $acc158725903
406+ else {
407+ let $acc258725903 = isSymbolE($acc158725903, $list58725903[1])
408+ if (($size58725903 == 2))
409+ then $acc258725903
410+ else {
411+ let $acc358725903 = isSymbolE($acc258725903, $list58725903[2])
412+ if (($size58725903 == 3))
413+ then $acc358725903
414+ else {
415+ let $acc458725903 = isSymbolE($acc358725903, $list58725903[3])
416+ if (($size58725903 == 4))
417+ then $acc458725903
418+ else {
419+ let $acc558725903 = isSymbolE($acc458725903, $list58725903[4])
420+ if (($size58725903 == 5))
421+ then $acc558725903
422+ else {
423+ let $acc658725903 = isSymbolE($acc558725903, $list58725903[5])
424+ if (($size58725903 == 6))
425+ then $acc658725903
426+ else {
427+ let $acc758725903 = isSymbolE($acc658725903, $list58725903[6])
428+ if (($size58725903 == 7))
429+ then $acc758725903
430+ else {
431+ let $acc858725903 = isSymbolE($acc758725903, $list58725903[7])
432+ if (($size58725903 == 8))
433+ then $acc858725903
434+ else {
435+ let $acc958725903 = isSymbolE($acc858725903, $list58725903[8])
436+ throw("List size exceed 8")
437+ }
438+ }
439+ }
440+ }
441+ }
442+ }
443+ }
444+ }
445+ }
446+ }) + "E"))) + getAmountOrClear((toString({
447+ let $list59405971 = genotype
448+ let $size59405971 = size($list59405971)
449+ let $acc059405971 = 0
450+ if (($size59405971 == 0))
451+ then $acc059405971
452+ else {
453+ let $acc159405971 = isSymbolF($acc059405971, $list59405971[0])
454+ if (($size59405971 == 1))
455+ then $acc159405971
456+ else {
457+ let $acc259405971 = isSymbolF($acc159405971, $list59405971[1])
458+ if (($size59405971 == 2))
459+ then $acc259405971
460+ else {
461+ let $acc359405971 = isSymbolF($acc259405971, $list59405971[2])
462+ if (($size59405971 == 3))
463+ then $acc359405971
464+ else {
465+ let $acc459405971 = isSymbolF($acc359405971, $list59405971[3])
466+ if (($size59405971 == 4))
467+ then $acc459405971
468+ else {
469+ let $acc559405971 = isSymbolF($acc459405971, $list59405971[4])
470+ if (($size59405971 == 5))
471+ then $acc559405971
472+ else {
473+ let $acc659405971 = isSymbolF($acc559405971, $list59405971[5])
474+ if (($size59405971 == 6))
475+ then $acc659405971
476+ else {
477+ let $acc759405971 = isSymbolF($acc659405971, $list59405971[6])
478+ if (($size59405971 == 7))
479+ then $acc759405971
480+ else {
481+ let $acc859405971 = isSymbolF($acc759405971, $list59405971[7])
482+ if (($size59405971 == 8))
483+ then $acc859405971
484+ else {
485+ let $acc959405971 = isSymbolF($acc859405971, $list59405971[8])
486+ throw("List size exceed 8")
487+ }
488+ }
489+ }
490+ }
491+ }
492+ }
493+ }
494+ }
495+ }
496+ }) + "F"))) + getAmountOrClear((toString({
497+ let $list60106041 = genotype
498+ let $size60106041 = size($list60106041)
499+ let $acc060106041 = 0
500+ if (($size60106041 == 0))
501+ then $acc060106041
502+ else {
503+ let $acc160106041 = isSymbolG($acc060106041, $list60106041[0])
504+ if (($size60106041 == 1))
505+ then $acc160106041
506+ else {
507+ let $acc260106041 = isSymbolG($acc160106041, $list60106041[1])
508+ if (($size60106041 == 2))
509+ then $acc260106041
510+ else {
511+ let $acc360106041 = isSymbolG($acc260106041, $list60106041[2])
512+ if (($size60106041 == 3))
513+ then $acc360106041
514+ else {
515+ let $acc460106041 = isSymbolG($acc360106041, $list60106041[3])
516+ if (($size60106041 == 4))
517+ then $acc460106041
518+ else {
519+ let $acc560106041 = isSymbolG($acc460106041, $list60106041[4])
520+ if (($size60106041 == 5))
521+ then $acc560106041
522+ else {
523+ let $acc660106041 = isSymbolG($acc560106041, $list60106041[5])
524+ if (($size60106041 == 6))
525+ then $acc660106041
526+ else {
527+ let $acc760106041 = isSymbolG($acc660106041, $list60106041[6])
528+ if (($size60106041 == 7))
529+ then $acc760106041
530+ else {
531+ let $acc860106041 = isSymbolG($acc760106041, $list60106041[7])
532+ if (($size60106041 == 8))
533+ then $acc860106041
534+ else {
535+ let $acc960106041 = isSymbolG($acc860106041, $list60106041[8])
536+ throw("List size exceed 8")
537+ }
538+ }
539+ }
540+ }
541+ }
542+ }
543+ }
544+ }
545+ }
546+ }) + "G"))) + getAmountOrClear((toString({
547+ let $list60786109 = genotype
548+ let $size60786109 = size($list60786109)
549+ let $acc060786109 = 0
550+ if (($size60786109 == 0))
551+ then $acc060786109
552+ else {
553+ let $acc160786109 = isSymbolH($acc060786109, $list60786109[0])
554+ if (($size60786109 == 1))
555+ then $acc160786109
556+ else {
557+ let $acc260786109 = isSymbolH($acc160786109, $list60786109[1])
558+ if (($size60786109 == 2))
559+ then $acc260786109
560+ else {
561+ let $acc360786109 = isSymbolH($acc260786109, $list60786109[2])
562+ if (($size60786109 == 3))
563+ then $acc360786109
564+ else {
565+ let $acc460786109 = isSymbolH($acc360786109, $list60786109[3])
566+ if (($size60786109 == 4))
567+ then $acc460786109
568+ else {
569+ let $acc560786109 = isSymbolH($acc460786109, $list60786109[4])
570+ if (($size60786109 == 5))
571+ then $acc560786109
572+ else {
573+ let $acc660786109 = isSymbolH($acc560786109, $list60786109[5])
574+ if (($size60786109 == 6))
575+ then $acc660786109
576+ else {
577+ let $acc760786109 = isSymbolH($acc660786109, $list60786109[6])
578+ if (($size60786109 == 7))
579+ then $acc760786109
580+ else {
581+ let $acc860786109 = isSymbolH($acc760786109, $list60786109[7])
582+ if (($size60786109 == 8))
583+ then $acc860786109
584+ else {
585+ let $acc960786109 = isSymbolH($acc860786109, $list60786109[8])
586+ throw("List size exceed 8")
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ }
596+ }) + "H")))
597+ }
598+
599+
600+func getAssetOrigin (generation) = if ((generation == "G"))
601+ then incubatorAddress
602+ else breederAddress
603+
604+
605+func getAssetRarity (assetId) = if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress)))
606+ then true
607+ else (value(assetInfo(assetId)).issuer == Address(incubatorAddress)))
608+ then {
609+ let assetName = value(assetInfo(assetId)).name
610+ let generation = take(takeRight(assetName, 2), 1)
611+ let gen = ((getGen(assetName) + "-") + generation)
612+ let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + gen) + "_quantity"))
613+ let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
614+ if ((power > 0))
615+ then power
616+ else 2
617+ }
618+ else throw("not valid NFT")
619+
620+
621+func getWinner (gameId) = {
622+ let gameStep = getStep(gameId)
623+ if ((6 > gameStep))
624+ then {
625+ let expirationHeight = getExpirationHeight(gameId)
626+ if ((expirationHeight == 0))
627+ then throw("Game is not started")
628+ else if ((expirationHeight > height))
629+ then throw("Game is not finished or expired")
630+ else if (((getStep(gameId) % 2) == 0))
631+ then "maker"
632+ else "taker"
633+ }
634+ else {
635+ let makerDuckOrder = split(getDuckOrder(gameId, "maker"), ",")
636+ let takerDuckOrder = split(getDuckOrder(gameId, "taker"), ",")
637+ let makerRarity1 = getRarity(gameId, "maker", makerDuckOrder[0])
638+ let makerRarity2 = getRarity(gameId, "maker", makerDuckOrder[1])
639+ 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])
643+ let makerScore = ((getScore(makerRarity1, takerRarity1) + getScore(makerRarity2, takerRarity2)) + getScore(makerRarity3, takerRarity3))
644+ if ((makerScore > 0))
645+ then "maker"
646+ else if ((0 > makerScore))
647+ then "taker"
648+ else "draw"
649+ }
650+ }
651+
652+
653+@Callable(i)
654+func makeGame (slot,rarityRangeWorst,rarityRangeMedium,rarityRangeBest) = {
655+ let callerAddress = toBase58String(i.caller.bytes)
656+ let slotGameId = getSlot(slot)
657+ let payment = value(i.payments[0])
658+ let eggs = (payment.amount - makerFee)
659+ let gameId = getNextGameId()
660+ if ((getPlayerCurrentGame(callerAddress) != 0))
661+ then throw("You already have an active game")
662+ else if (if ((0 > slot))
663+ then true
664+ else (slot >= SLOTS))
665+ then throw("Invalid slot")
666+ else if ((slotGameId != 0))
667+ then throw("This slot is busy")
668+ else if ((payment.assetId != eggsAssetId))
669+ then throw(("You can attach only EGGs with the following asset id: " + toBase58String(eggsAssetId)))
670+ else if ((0 >= eggs))
671+ then throw("Not enough EGGs")
672+ else if (if ((1 > rarityRangeWorst))
673+ then true
674+ else (rarityRangeWorst > 5))
675+ then throw("Invalid rarity range for the worst duck")
676+ else if (if ((1 > rarityRangeMedium))
677+ then true
678+ else (rarityRangeMedium > 5))
679+ then throw("Invalid rarity range for the medium duck")
680+ else if (if ((1 > rarityRangeBest))
681+ then true
682+ else (rarityRangeBest > 5))
683+ then throw("Invalid rarity range for the best duck")
684+ else if ((rarityRangeWorst >= rarityRangeMedium))
685+ then throw("The medium duck must be better than the worst one")
686+ else if ((rarityRangeMedium >= rarityRangeBest))
687+ then throw("The best duck must be better than the medium one")
688+ 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))]
689+ }
690+
691+
692+
693+@Callable(i)
694+func takeGame (slot) = {
695+ let callerAddress = toBase58String(i.caller.bytes)
696+ let gameId = getSlot(slot)
697+ let payment = value(i.payments[0])
698+ if ((getPlayerCurrentGame(callerAddress) != 0))
699+ then throw("You already have an active game")
700+ else if (if ((0 > slot))
701+ then true
702+ else (slot >= SLOTS))
703+ then throw("Invalid slot")
704+ else if ((getSlot(slot) == 0))
705+ then throw("This slot is empty")
706+ else if ((payment.assetId != eggsAssetId))
707+ then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(eggsAssetId)))
708+ else if ((payment.amount != (getBetEggs(gameId) + takerFee)))
709+ then throw("Insufficient eggs amount")
710+ else if ((height >= getWaitingExpirationHeight(gameId)))
711+ then throw("This game is expired")
712+ 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)]
713+ }
714+
715+
716+
717+@Callable(i)
718+func kickGame (slot) = {
719+ let gameId = getSlot(slot)
720+ if (if ((0 > slot))
721+ then true
722+ else (slot >= SLOTS))
723+ then throw("Invalid slot")
724+ else if ((gameId == 0))
725+ then throw("Slot is empty")
726+ else if ((getWaitingExpirationHeight(gameId) > height))
727+ then throw("Waiting is not finished yet")
728+ else {
729+ let maker = getMaker(gameId)
730+[IntegerEntry(getPlayerCurrentGameKey(maker), 0), IntegerEntry(getSlotKey(slot), 0), ScriptTransfer(Address(fromBase58String(maker)), (getBetEggs(gameId) + makerFee), eggsAssetId)]
731+ }
732+ }
733+
734+
735+
736+@Callable(i)
737+func pickDucks () = {
738+ let callerAddress = toBase58String(i.caller.bytes)
739+ let gameId = getPlayerCurrentGame(callerAddress)
740+ let playerRole = getPlayerRole(gameId, callerAddress)
741+ let gameStep = getStep(gameId)
742+ let worstRarityRange = getRarityRange(gameId, "worst")
743+ let mediumRarityRange = getRarityRange(gameId, "medium")
744+ let bestRarityRange = getRarityRange(gameId, "best")
745+ let worstDuckId = value(value(i.payments[0]).assetId)
746+ let mediumDuckId = value(value(i.payments[1]).assetId)
747+ let bestDuckId = value(value(i.payments[2]).assetId)
748+ let worstRarity = getAssetRarity(worstDuckId)
749+ let mediumRarity = getAssetRarity(mediumDuckId)
750+ let bestRarity = getAssetRarity(bestDuckId)
751+ if ((gameId == 0))
752+ then throw("You don't have an active game")
753+ else if ((getExpirationHeight(gameId) == 0))
754+ then throw("Game is not started")
755+ else if (if ((gameStep == 0))
756+ then (playerRole != "taker")
757+ else false)
758+ then throw("It is the taker's turn to pick now")
759+ else if (if ((gameStep == 1))
760+ then (playerRole != "maker")
761+ else false)
762+ then throw("It is the maker's turn to pick now")
763+ else if ((gameStep > 1))
764+ then throw("Ducks have already been picked")
765+ else if (if ((worstRarity >= (worstRarityRange * 10)))
766+ then true
767+ else (((worstRarityRange - 1) * 10) > worstRarity))
768+ then throw("Worst duck doesn't fit rarity range")
769+ else if (if ((mediumRarity >= (mediumRarityRange * 10)))
770+ then true
771+ else (((mediumRarityRange - 1) * 10) > mediumRarity))
772+ then throw("Medium duck doesn't fit rarity range")
773+ else if (if (if (if ((bestRarityRange == 5))
774+ then (40 > bestRarity)
775+ else false)
776+ then true
777+ else (bestRarity >= (bestRarityRange * 10)))
778+ then true
779+ else (((bestRarityRange - 1) * 10) > bestRarity))
780+ then throw("Best duck doesn't fit rarity range")
781+ else [IntegerEntry(getRarityKey(gameId, playerRole, "worst"), worstRarity), IntegerEntry(getRarityKey(gameId, playerRole, "medium"), mediumRarity), IntegerEntry(getRarityKey(gameId, playerRole, "best"), bestRarity), StringEntry(getAssetIdKey(gameId, playerRole, "worst"), toBase58String(worstDuckId)), StringEntry(getAssetIdKey(gameId, playerRole, "medium"), toBase58String(mediumDuckId)), StringEntry(getAssetIdKey(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)]
782+ }
783+
784+
785+
786+@Callable(i)
787+func commit (hash) = {
788+ let callerAddress = toBase58String(i.caller.bytes)
789+ let gameId = getPlayerCurrentGame(callerAddress)
790+ let playerRole = getPlayerRole(gameId, callerAddress)
791+ let gameStep = getStep(gameId)
792+ if ((gameId == 0))
793+ then throw("You don't have an active game")
794+ else if ((2 > gameStep))
795+ then throw("Commit is not started")
796+ else if (if ((gameStep == 2))
797+ then (playerRole != "taker")
798+ else false)
799+ then throw("It is the taker's turn to pick now")
800+ else if (if ((gameStep == 3))
801+ then (playerRole != "maker")
802+ else false)
803+ then throw("It is the maker's turn to pick now")
804+ else if ((gameStep > 3))
805+ then throw("Commit is finished")
806+ else [StringEntry(getCommitKey(gameId, playerRole), hash), IntegerEntry(getStepKey(gameId), (gameStep + 1)), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration))]
807+ }
808+
809+
810+
811+@Callable(i)
812+func reveal (duckOrder,salt) = {
813+ let callerAddress = toBase58String(i.caller.bytes)
814+ let gameId = getPlayerCurrentGame(callerAddress)
815+ let playerRole = getPlayerRole(gameId, callerAddress)
816+ let gameStep = getStep(gameId)
817+ if ((gameId == 0))
818+ then throw("You don't have an active game")
819+ else if ((4 > gameStep))
820+ then throw("Reveal is not started")
821+ else if (if ((gameStep == 4))
822+ then (playerRole != "taker")
823+ else false)
824+ then throw("It is the taker's turn to pick now")
825+ else if (if ((gameStep == 5))
826+ then (playerRole != "maker")
827+ else false)
828+ then throw("It is the maker's turn to pick now")
829+ else if ((gameStep > 5))
830+ then throw("Reveal is finished")
831+ else if (if (if (if (if (if ((duckOrder != "worst,medium,best"))
832+ then (duckOrder != "worst,best,medium")
833+ else false)
834+ then (duckOrder != "medium,worst,best")
835+ else false)
836+ then (duckOrder != "medium,best,worst")
837+ else false)
838+ then (duckOrder != "best,worst,medium")
839+ else false)
840+ then (duckOrder != "best,medium,worst")
841+ else false)
842+ then throw("Reveal data is not valid")
843+ else if ((toBase58String(sha256(toBytes((duckOrder + salt)))) != getCommit(gameId, playerRole)))
844+ then throw("Reveal doesn't match commit")
845+ else [StringEntry(getDuckOrderKey(gameId, playerRole), duckOrder), IntegerEntry(getStepKey(gameId), (gameStep + 1)), IntegerEntry(getExpirationHeightKey(gameId), (height + stepDuration))]
846+ }
847+
848+
849+
850+@Callable(i)
851+func getPrize () = {
852+ let callerAddress = toBase58String(i.caller.bytes)
853+ let gameId = getPlayerCurrentGame(callerAddress)
854+ let playerRole = getPlayerRole(gameId, callerAddress)
855+ let makerAddress = getMaker(gameId)
856+ let takerAddress = getTaker(gameId)
857+ let winner = getWinner(gameId)
858+ if ((gameId == 0))
859+ then throw("You don't have an active game")
860+ else if (getPrizeSent(gameId, playerRole))
861+ then throw("You have already got the prize")
862+ else if ((winner == playerRole))
863+ then [IntegerEntry(getPlayerCurrentGameKey(makerAddress), 0), IntegerEntry(getPlayerCurrentGameKey(takerAddress), 0), BooleanEntry(getPrizeSentKey(gameId, playerRole), true), ScriptTransfer(i.caller, (getBetEggs(gameId) * 2), eggsAssetId)]
864+ else if ((winner == "draw"))
865+ then [IntegerEntry(getPlayerCurrentGameKey(callerAddress), 0), BooleanEntry(getPrizeSentKey(gameId, playerRole), true), ScriptTransfer(i.caller, getBetEggs(gameId), eggsAssetId)]
866+ else throw("You lose and don't have any prize")
867+ }
868+
869+
870+@Verifier(tx)
871+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
872+

github/deemru/w8io/169f3d6 
45.65 ms