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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AAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAAEAAAADG1ha2VyUmFyaXR5MgkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAEEAAAADG1ha2VyUmFyaXR5MwkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFbWFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAIEAAAADHRha2VyUmFyaXR5MQkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAAEAAAADHRha2VyUmFyaXR5MgkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAEEAAAADHRha2VyUmFyaXR5MwkBAAAACWdldFJhcml0eQAAAAMFAAAABmdhbWVJZAIAAAAFdGFrZXIJAAGRAAAAAgUAAAAObWFrZXJEdWNrT3JkZXIAAAAAAAAAAAIEAAAACm1ha2VyU2NvcmUJAABkAAAAAgkAAGQAAAACCQEAAAAIZ2V0U2NvcmUAAAACBQAAAAxtYWtlclJhcml0eTEFAAAADHRha2VyUmFyaXR5MQkBAAAACGdldFNjb3JlAAAAAgUAAAAMbWFrZXJSYXJpdHkyBQAAAAx0YWtlclJhcml0eTIJAQAAAAhnZXRTY29yZQAAAAIFAAAADG1ha2VyUmFyaXR5MwUAAAAMdGFrZXJSYXJpdHkzAwkAAGYAAAACBQAAAAptYWtlclNjb3JlAAAAAAAAAAAAAgAAAAVtYWtlcgMJAABmAAAAAgAAAAAAAAAAAAUAAAAKbWFrZXJTY29yZQIAAAAFdGFrZXICAAAABGRyYXcAAAAHAAAAAWkBAAAACG1ha2VHYW1lAAAABAAAAARzbG90AAAAEHJhcml0eVJhbmdlV29yc3QAAAARcmFyaXR5UmFuZ2VNZWRpdW0AAAAPcmFyaXR5UmFuZ2VCZXN0BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACnNsb3RHYW1lSWQJAQAAAAdnZXRTbG90AAAAAQUAAAAEc2xvdAQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEZWdncwkAAGUAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACG1ha2VyRmVlBAAAAAZnYW1lSWQJAQAAAA1nZXROZXh0R2FtZUlkAAAAAAMJAQAAAAIhPQAAAAIJAQAAABRnZXRQbGF5ZXJDdXJyZW50R2FtZQAAAAEFAAAADWNhbGxlckFkZHJlc3MAAAAAAAAAAAAJAAACAAAAAQIAAAAfWW91IGFscmVhZHkgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHNsb3QGCQAAZwAAAAIFAAAABHNsb3QFAAAABVNMT1RTCQAAAgAAAAECAAAADEludmFsaWQgc2xvdAMJAQAAAAIhPQAAAAIFAAAACnNsb3RHYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAARVGhpcyBzbG90IGlzIGJ1c3kDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBQAAAAtlZ2dzQXNzZXRJZAkAAAIAAAABCQABLAAAAAICAAAANllvdSBjYW4gYXR0YWNoIG9ubHkgRUdHcyB3aXRoIHRoZSBmb2xsb3dpbmcgYXNzZXQgaWQ6IAkAAlgAAAABBQAAAAtlZ2dzQXNzZXRJZAMJAABnAAAAAgAAAAAAAAAAAAUAAAAEZWdncwkAAAIAAAABAgAAAA9Ob3QgZW5vdWdoIEVHR3MDAwkAAGYAAAACAAAAAAAAAAABBQAAABByYXJpdHlSYW5nZVdvcnN0BgkAAGYAAAACBQAAABByYXJpdHlSYW5nZVdvcnN0AAAAAAAAAAAFCQAAAgAAAAECAAAAJ0ludmFsaWQgcmFyaXR5IHJhbmdlIGZvciB0aGUgd29yc3QgZHVjawMDCQAAZgAAAAIAAAAAAAAAAAEFAAAAEXJhcml0eVJhbmdlTWVkaXVtBgkAAGYAAAACBQAAABFyYXJpdHlSYW5nZU1lZGl1bQAAAAAAAAAABQkAAAIAAAABAgAAAChJbnZhbGlkIHJhcml0eSByYW5nZSBmb3IgdGhlIG1lZGl1bSBkdWNrAwMJAABmAAAAAgAAAAAAAAAAAQUAAAAPcmFyaXR5UmFuZ2VCZXN0BgkAAGYAAAACBQAAAA9yYXJpdHlSYW5nZUJlc3QAAAAAAAAAAAUJAAACAAAAAQIAAAAmSW52YWxpZCByYXJpdHkgcmFuZ2UgZm9yIHRoZSBiZXN0IGR1Y2sDCQAAZwAAAAIFAAAAEHJhcml0eVJhbmdlV29yc3QFAAAAEXJhcml0eVJhbmdlTWVkaXVtCQAAAgAAAAECAAAAMVRoZSBtZWRpdW0gZHVjayBtdXN0IGJlIGJldHRlciB0aGFuIHRoZSB3b3JzdCBvbmUDCQAAZwAAAAIFAAAAEXJhcml0eVJhbmdlTWVkaXVtBQAAAA9yYXJpdHlSYW5nZUJlc3QJAAACAAAAAQIAAAAwVGhlIGJlc3QgZHVjayBtdXN0IGJlIGJldHRlciB0aGFuIHRoZSBtZWRpdW0gb25lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAXZ2V0UGxheWVyQ3VycmVudEdhbWVLZXkAAAABBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2dldE1ha2VyS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRQbGF5ZXJSb2xlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVtYWtlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWdldEJldEVnZ3NLZXkAAAABBQAAAAZnYW1lSWQFAAAABGVnZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAFd29yc3QFAAAAEHJhcml0eVJhbmdlV29yc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAGbWVkaXVtBQAAABFyYXJpdHlSYW5nZU1lZGl1bQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldFJhcml0eVJhbmdlS2V5AAAAAgUAAAAGZ2FtZUlkAgAAAARiZXN0BQAAAA9yYXJpdHlSYW5nZUJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAB1nZXRXYWl0aW5nRXhwaXJhdGlvbkhlaWdodEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAAB1dBSVRJTkcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAUAAAAGZ2FtZUlkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApuZXh0R2FtZUlkCQAAZAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAQUAAAADbmlsAAAAAWkBAAAACHRha2VHYW1lAAAAAQAAAARzbG90BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmdhbWVJZAkBAAAAB2dldFNsb3QAAAABBQAAAARzbG90BAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAAAiE9AAAAAgkBAAAAFGdldFBsYXllckN1cnJlbnRHYW1lAAAAAQUAAAANY2FsbGVyQWRkcmVzcwAAAAAAAAAAAAkAAAIAAAABAgAAAB9Zb3UgYWxyZWFkeSBoYXZlIGFuIGFjdGl2ZSBnYW1lAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAEc2xvdAYJAABnAAAAAgUAAAAEc2xvdAUAAAAFU0xPVFMJAAACAAAAAQIAAAAMSW52YWxpZCBzbG90AwkAAAAAAAACCQEAAAAHZ2V0U2xvdAAAAAEFAAAABHNsb3QAAAAAAAAAAAAJAAACAAAAAQIAAAASVGhpcyBzbG90IGlzIGVtcHR5AwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAALZWdnc0Fzc2V0SWQJAAACAAAAAQkAASwAAAACAgAAADxZb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJAAJYAAAAAQUAAAALZWdnc0Fzc2V0SWQDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQJAABkAAAAAgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQFAAAACHRha2VyRmVlCQAAAgAAAAECAAAAGEluc3VmZmljaWVudCBlZ2dzIGFtb3VudAMJAABnAAAAAgUAAAAGaGVpZ2h0CQEAAAAaZ2V0V2FpdGluZ0V4cGlyYXRpb25IZWlnaHQAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAUVGhpcyBnYW1lIGlzIGV4cGlyZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADWNhbGxlckFkZHJlc3MFAAAABmdhbWVJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALZ2V0VGFrZXJLZXkAAAABBQAAAAZnYW1lSWQFAAAADWNhbGxlckFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldFBsYXllclJvbGVLZXkAAAACBQAAAAZnYW1lSWQFAAAADWNhbGxlckFkZHJlc3MCAAAABXRha2VyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U3RlcEtleQAAAAEFAAAABmdhbWVJZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmdldEV4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAAAAAAAAAAAAAUAAAADbmlsAAAAAWkBAAAACGtpY2tHYW1lAAAAAQAAAARzbG90BAAAAAZnYW1lSWQJAQAAAAdnZXRTbG90AAAAAQUAAAAEc2xvdAMDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHNsb3QGCQAAZwAAAAIFAAAABHNsb3QFAAAABVNMT1RTCQAAAgAAAAECAAAADEludmFsaWQgc2xvdAMJAAAAAAAAAgUAAAAGZ2FtZUlkAAAAAAAAAAAACQAAAgAAAAECAAAADVNsb3QgaXMgZW1wdHkDCQAAZgAAAAIJAQAAABpnZXRXYWl0aW5nRXhwaXJhdGlvbkhlaWdodAAAAAEFAAAABmdhbWVJZAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAG1dhaXRpbmcgaXMgbm90IGZpbmlzaGVkIHlldAQAAAAFbWFrZXIJAQAAAAhnZXRNYWtlcgAAAAEFAAAABmdhbWVJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAF2dldFBsYXllckN1cnJlbnRHYW1lS2V5AAAAAQUAAAAFbWFrZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAFbWFrZXIJAABkAAAAAgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQFAAAACG1ha2VyRmVlBQAAAAtlZ2dzQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAACXBpY2tEdWNrcwAAAAAEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGZ2FtZUlkCQEAAAAUZ2V0UGxheWVyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzBAAAAApwbGF5ZXJSb2xlCQEAAAANZ2V0UGxheWVyUm9sZQAAAAIFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwQAAAAIZ2FtZVN0ZXAJAQAAAAdnZXRTdGVwAAAAAQUAAAAGZ2FtZUlkBAAAABB3b3JzdFJhcml0eVJhbmdlCQEAAAAOZ2V0UmFyaXR5UmFuZ2UAAAACBQAAAAZnYW1lSWQCAAAABXdvcnN0BAAAABFtZWRpdW1SYXJpdHlSYW5nZQkBAAAADmdldFJhcml0eVJhbmdlAAAAAgUAAAAGZ2FtZUlkAgAAAAZtZWRpdW0EAAAAD2Jlc3RSYXJpdHlSYW5nZQkBAAAADmdldFJhcml0eVJhbmdlAAAAAgUAAAAGZ2FtZUlkAgAAAARiZXN0BAAAAAt3b3JzdER1Y2tJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAMbWVkaXVtRHVja0lkCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQAAAAdhc3NldElkBAAAAApiZXN0RHVja0lkCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAgAAAAdhc3NldElkBAAAAAt3b3JzdFJhcml0eQkBAAAADmdldEFzc2V0UmFyaXR5AAAAAQUAAAALd29yc3REdWNrSWQEAAAADG1lZGl1bVJhcml0eQkBAAAADmdldEFzc2V0UmFyaXR5AAAAAQUAAAAMbWVkaXVtRHVja0lkBAAAAApiZXN0UmFyaXR5CQEAAAAOZ2V0QXNzZXRSYXJpdHkAAAABBQAAAApiZXN0RHVja0lkAwkAAAAAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAAJAAACAAAAAQIAAAAdWW91IGRvbid0IGhhdmUgYW4gYWN0aXZlIGdhbWUDCQAAAAAAAAIJAQAAABNnZXRFeHBpcmF0aW9uSGVpZ2h0AAAAAQUAAAAGZ2FtZUlkAAAAAAAAAAAACQAAAgAAAAECAAAAE0dhbWUgaXMgbm90IHN0YXJ0ZWQDAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAAKcGxheWVyUm9sZQIAAAAFdGFrZXIHCQAAAgAAAAECAAAAIkl0IGlzIHRoZSB0YWtlcidzIHR1cm4gdG8gcGljayBub3cDAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAQkBAAAAAiE9AAAAAgUAAAAKcGxheWVyUm9sZQIAAAAFbWFrZXIHCQAAAgAAAAECAAAAIkl0IGlzIHRoZSBtYWtlcidzIHR1cm4gdG8gcGljayBub3cDCQAAZgAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAABCQAAAgAAAAECAAAAHkR1Y2tzIGhhdmUgYWxyZWFkeSBiZWVuIHBpY2tlZAMDCQAAZwAAAAIFAAAAC3dvcnN0UmFyaXR5CQAAaAAAAAIFAAAAEHdvcnN0UmFyaXR5UmFuZ2UAAAAAAAAAAAoGCQAAZgAAAAIJAABoAAAAAgkAAGUAAAACBQAAABB3b3JzdFJhcml0eVJhbmdlAAAAAAAAAAABAAAAAAAAAAAKBQAAAAt3b3JzdFJhcml0eQkAAAIAAAABAgAAACNXb3JzdCBkdWNrIGRvZXNuJ3QgZml0IHJhcml0eSByYW5nZQMDCQAAZwAAAAIFAAAADG1lZGl1bVJhcml0eQkAAGgAAAACBQAAABFtZWRpdW1SYXJpdHlSYW5nZQAAAAAAAAAACgYJAABmAAAAAgkAAGgAAAACCQAAZQAAAAIFAAAAEW1lZGl1bVJhcml0eVJhbmdlAAAAAAAAAAABAAAAAAAAAAAKBQAAAAxtZWRpdW1SYXJpdHkJAAACAAAAAQIAAAAkTWVkaXVtIGR1Y2sgZG9lc24ndCBmaXQgcmFyaXR5IHJhbmdlAwMDAwkAAAAAAAACBQAAAA9iZXN0UmFyaXR5UmFuZ2UAAAAAAAAAAAUJAABmAAAAAgAAAAAAAAAAKAUAAAAKYmVzdFJhcml0eQcGCQAAZwAAAAIFAAAACmJlc3RSYXJpdHkJAABoAAAAAgUAAAAPYmVzdFJhcml0eVJhbmdlAAAAAAAAAAAKBgkAAGYAAAACCQAAaAAAAAIJAABlAAAAAgUAAAAPYmVzdFJhcml0eVJhbmdlAAAAAAAAAAABAAAAAAAAAAAKBQAAAApiZXN0UmFyaXR5CQAAAgAAAAECAAAAIkJlc3QgZHVjayBkb2Vzbid0IGZpdCByYXJpdHkgcmFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxnZXRSYXJpdHlLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABXdvcnN0BQAAAAt3b3JzdFJhcml0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGdldFJhcml0eUtleQAAAAMFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQIAAAAGbWVkaXVtBQAAAAxtZWRpdW1SYXJpdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxnZXRSYXJpdHlLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABGJlc3QFAAAACmJlc3RSYXJpdHkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWdldEFzc2V0SWRLZXkAAAADBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUCAAAABXdvcnN0CQACWAAAAAEFAAAAC3dvcnN0RHVja0lkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1nZXRBc3NldElkS2V5AAAAAwUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlAgAAAAZtZWRpdW0JAAJYAAAAAQUAAAAMbWVkaXVtRHVja0lkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1nZXRBc3NldElkS2V5AAAAAwUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlAgAAAARiZXN0CQACWAAAAAEFAAAACmJlc3REdWNrSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTdGVwS2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWZ2V0RXhwaXJhdGlvbkhlaWdodEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHN0ZXBEdXJhdGlvbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEFAAAAC3dvcnN0RHVja0lkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAMbWVkaXVtRHVja0lkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAAQUAAAAKYmVzdER1Y2tJZAUAAAADbmlsAAAAAWkBAAAABmNvbW1pdAAAAAEAAAAEaGFzaAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZnYW1lSWQJAQAAABRnZXRQbGF5ZXJDdXJyZW50R2FtZQAAAAEFAAAADWNhbGxlckFkZHJlc3MEAAAACnBsYXllclJvbGUJAQAAAA1nZXRQbGF5ZXJSb2xlAAAAAgUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAhnYW1lU3RlcAkBAAAAB2dldFN0ZXAAAAABBQAAAAZnYW1lSWQDCQAAAAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAAB1Zb3UgZG9uJ3QgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMJAABmAAAAAgAAAAAAAAAAAgUAAAAIZ2FtZVN0ZXAJAAACAAAAAQIAAAAVQ29tbWl0IGlzIG5vdCBzdGFydGVkAwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAIJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABXRha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgdGFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAMJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABW1ha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgbWFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwkAAGYAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAwkAAAIAAAABAgAAABJDb21taXQgaXMgZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGdldENvbW1pdEtleQAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQUAAAAEaGFzaAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACmdldFN0ZXBLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRFeHBpcmF0aW9uSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAMc3RlcER1cmF0aW9uBQAAAANuaWwAAAABaQEAAAAGcmV2ZWFsAAAAAgAAAAlkdWNrT3JkZXIAAAAEc2FsdAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZnYW1lSWQJAQAAABRnZXRQbGF5ZXJDdXJyZW50R2FtZQAAAAEFAAAADWNhbGxlckFkZHJlc3MEAAAACnBsYXllclJvbGUJAQAAAA1nZXRQbGF5ZXJSb2xlAAAAAgUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAhnYW1lU3RlcAkBAAAAB2dldFN0ZXAAAAABBQAAAAZnYW1lSWQDCQAAAAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAAB1Zb3UgZG9uJ3QgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMJAABmAAAAAgAAAAAAAAAABAUAAAAIZ2FtZVN0ZXAJAAACAAAAAQIAAAAVUmV2ZWFsIGlzIG5vdCBzdGFydGVkAwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAQJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABXRha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgdGFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAUJAQAAAAIhPQAAAAIFAAAACnBsYXllclJvbGUCAAAABW1ha2VyBwkAAAIAAAABAgAAACJJdCBpcyB0aGUgbWFrZXIncyB0dXJuIHRvIHBpY2sgbm93AwkAAGYAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAABQkAAAIAAAABAgAAABJSZXZlYWwgaXMgZmluaXNoZWQDAwMDAwMJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARd29yc3QsbWVkaXVtLGJlc3QJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARd29yc3QsYmVzdCxtZWRpdW0HCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEW1lZGl1bSx3b3JzdCxiZXN0BwkBAAAAAiE9AAAAAgUAAAAJZHVja09yZGVyAgAAABFtZWRpdW0sYmVzdCx3b3JzdAcJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARYmVzdCx3b3JzdCxtZWRpdW0HCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEWJlc3QsbWVkaXVtLHdvcnN0BwkAAAIAAAABAgAAABhSZXZlYWwgZGF0YSBpcyBub3QgdmFsaWQDCQEAAAACIT0AAAACCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACWR1Y2tPcmRlcgUAAAAEc2FsdAkBAAAACWdldENvbW1pdAAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQkAAAIAAAABAgAAABtSZXZlYWwgZG9lc24ndCBtYXRjaCBjb21taXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldER1Y2tPcmRlcktleQAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQUAAAAJZHVja09yZGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U3RlcEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmdldEV4cGlyYXRpb25IZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24FAAAAA25pbAAAAAFpAQAAAAhnZXRQcml6ZQAAAAAEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGZ2FtZUlkCQEAAAAUZ2V0UGxheWVyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzBAAAAApwbGF5ZXJSb2xlCQEAAAANZ2V0UGxheWVyUm9sZQAAAAIFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwQAAAAMbWFrZXJBZGRyZXNzCQEAAAAIZ2V0TWFrZXIAAAABBQAAAAZnYW1lSWQEAAAADHRha2VyQWRkcmVzcwkBAAAACGdldFRha2VyAAAAAQUAAAAGZ2FtZUlkBAAAAAZ3aW5uZXIJAQAAAAlnZXRXaW5uZXIAAAABBQAAAAZnYW1lSWQDCQAAAAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAAB1Zb3UgZG9uJ3QgaGF2ZSBhbiBhY3RpdmUgZ2FtZQMJAQAAAAxnZXRQcml6ZVNlbnQAAAACBQAAAAZnYW1lSWQFAAAACnBsYXllclJvbGUJAAACAAAAAQIAAAAeWW91IGhhdmUgYWxyZWFkeSBnb3QgdGhlIHByaXplAwkAAAAAAAACBQAAAAZ3aW5uZXIFAAAACnBsYXllclJvbGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdnZXRQbGF5ZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADG1ha2VyQWRkcmVzcwAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAF2dldFBsYXllckN1cnJlbnRHYW1lS2V5AAAAAQUAAAAMdGFrZXJBZGRyZXNzAAAAAAAAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAPZ2V0UHJpemVTZW50S2V5AAAAAgUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABoAAAAAgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQAAAAAAAAAAAIFAAAAC2VnZ3NBc3NldElkBQAAAANuaWwDCQAAAAAAAAIFAAAABndpbm5lcgIAAAAEZHJhdwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAF2dldFBsYXllckN1cnJlbnRHYW1lS2V5AAAAAQUAAAANY2FsbGVyQWRkcmVzcwAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAD2dldFByaXplU2VudEtleQAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQEAAAAKZ2V0QmV0RWdncwAAAAEFAAAABmdhbWVJZAUAAAALZWdnc0Fzc2V0SWQFAAAAA25pbAkAAAIAAAABAgAAACFZb3UgbG9zZSBhbmQgZG9uJ3QgaGF2ZSBhbnkgcHJpemUAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleUdlRHo=", "height": 1679717, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3vxi4Ky44hv8kPd4utdt4GLx6aVhS4Nndxr3nayXsbgk Full:
Old | New | Differences | |
---|---|---|---|
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 ◑