tx · GZimgHcdbPNpBBjH8Pque7HKwwUd7FMekniimPBTyazv

3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB:  -0.05000000 Waves

2021.08.19 16:57 [1665319] smart account 3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB > SELF 0.00000000 Waves

{ "type": 13, "id": "GZimgHcdbPNpBBjH8Pque7HKwwUd7FMekniimPBTyazv", "fee": 5000000, "feeAssetId": null, "timestamp": 1629381435750, "version": 2, "chainId": 84, "sender": "3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB", "senderPublicKey": "9Vbnf3b9hhuCerzPXf38mLo8mUGTPNVW3jtQRbymjaSw", "proofs": [ "2aK6qHZLUbysEW3ZWaeZjrHkb3zxCefV5U5rhmRNtLDsaXkDKtz7Gb7WPrgdAftmAXLp64HFHceJWd7N5biZFwac" ], "script": "base64:AAIFAAAAAAAAADoIAhIGCgQBAQEBEgMKAQESAwoBARIDCgEBEgMKAQESAwoBARIECgIBCBIFCgMBCAgSAwoBARIDCgEBAAAALAAAAAAQaW5jdWJhdG9yQWRkcmVzcwEAAAAaAVQu1YzRxAHn1ekAzs1AJJ6xFAc06V7PK6oAAAAADmJyZWVkZXJBZGRyZXNzAQAAABoBVC7VjNHEAefV6QDOzUAknrEUBzTpXs8rqgAAAAAOZmFybWluZ0FkZHJlc3MBAAAAGgFU8jY5wCvKx9IdZ1jq9byeNi+peiAgajPTAAAAAAtlZ2dzQXNzZXRJZAEAAAAgJQJlzPcEaMi+AVmReOVYWjhmFBOtSkxKt/4FF0gXFoMAAAAACG1ha2VyRmVlAAAAAAAAAAABAAAAAAh0YWtlckZlZQAAAAAAAAAAAQAAAAAFU0xPVFMAAAAAAAAAAAoAAAAAB1dBSVRJTkcAAAAAAAAAAAUAAAAADHN0ZXBEdXJhdGlvbgAAAAAAAAAAAwEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAAA10cnlHZXRCb29sZWFuAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiBwEAAAANZ2V0TmV4dEdhbWVJZAAAAAAEAAAABm5leHRJZAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAAxuZXh0X2dhbWVfaWQDCQAAAAAAAAIFAAAABm5leHRJZAAAAAAAAAAAAAAAAAAAAAAAAQUAAAAGbmV4dElkAQAAABVnZXRVc2VyQ3VycmVudEdhbWVLZXkAAAABAAAAB2FkZHJlc3MJAAEsAAAAAgIAAAANY3VycmVudF9nYW1lXwUAAAAHYWRkcmVzcwEAAAASZ2V0VXNlckN1cnJlbnRHYW1lAAAAAQAAAAdhZGRyZXNzCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABVnZXRVc2VyQ3VycmVudEdhbWVLZXkAAAABBQAAAAdhZGRyZXNzAQAAAApnZXRTbG90S2V5AAAAAQAAAARzbG90CQABLAAAAAICAAAABXNsb3RfCQABpAAAAAEFAAAABHNsb3QBAAAAB2dldFNsb3QAAAABAAAABHNsb3QJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAACmdldFNsb3RLZXkAAAABBQAAAARzbG90AQAAAA9nZXRHYW1lTWFrZXJLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABWdhbWVfCQABpAAAAAEFAAAABmdhbWVJZAIAAAAGX21ha2VyAQAAAAxnZXRHYW1lTWFrZXIAAAABAAAABmdhbWVJZAkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAAA9nZXRHYW1lTWFrZXJLZXkAAAABBQAAAAZnYW1lSWQBAAAAD2dldEdhbWVUYWtlcktleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAZfdGFrZXIBAAAADGdldEdhbWVUYWtlcgAAAAEAAAAGZ2FtZUlkCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkBAAAAD2dldEdhbWVUYWtlcktleQAAAAEFAAAABmdhbWVJZAEAAAANZ2V0QmV0RWdnc0tleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAlfYmV0X2VnZ3MBAAAACmdldEJldEVnZ3MAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAANZ2V0QmV0RWdnc0tleQAAAAEFAAAABmdhbWVJZAEAAAAaZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHRLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABWdhbWVfCQABpAAAAAEFAAAABmdhbWVJZAIAAAATX3dhaXRpbmdfZW5kX2hlaWdodAEAAAAXZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHQAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAaZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQBAAAAFGdldEdhbWVPdmVySGVpZ2h0S2V5AAAAAQAAAAZnYW1lSWQJAAEsAAAAAgkAASwAAAACAgAAAAVnYW1lXwkAAaQAAAABBQAAAAZnYW1lSWQCAAAADF9vdmVyX2hlaWdodAEAAAARZ2V0R2FtZU92ZXJIZWlnaHQAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAaZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQBAAAAFWdldEdhbWVSYXJpdHlSYW5nZUtleQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABWdhbWVfCQABpAAAAAEFAAAABmdhbWVJZAIAAAANX3Jhcml0eVJhbmdlXwUAAAANcmFuZ2VQb3NpdGlvbgEAAAASZ2V0R2FtZVJhcml0eVJhbmdlAAAAAgAAAAZnYW1lSWQAAAANcmFuZ2VQb3NpdGlvbgkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAVZ2V0R2FtZVJhcml0eVJhbmdlS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAA1yYW5nZVBvc2l0aW9uAQAAAA5nZXRHYW1lU3RlcEtleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAVfc3RlcAEAAAALZ2V0R2FtZVN0ZXAAAAABAAAABmdhbWVJZAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAOZ2V0R2FtZVN0ZXBLZXkAAAABBQAAAAZnYW1lSWQBAAAADGdldFJhcml0eUtleQAAAAMAAAAGZ2FtZUlkAAAABnBsYXllcgAAAA1yYW5nZVBvc2l0aW9uCQABLAAA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bnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0VXNlckN1cnJlbnRHYW1lS2V5AAAAAQUAAAANY2FsbGVyQWRkcmVzcwUAAAAGZ2FtZUlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9nZXRHYW1lTWFrZXJLZXkAAAABBQAAAAZnYW1lSWQFAAAADWNhbGxlckFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA1nZXRCZXRFZ2dzS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAARlZ2dzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0R2FtZVJhcml0eVJhbmdlS2V5AAAAAgUAAAAGZ2FtZUlkAgAAAAV3b3JzdAUAAAAQcmFyaXR5UmFuZ2VXb3JzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEdhbWVSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAGbWVkaXVtBQAAABFyYXJpdHlSYW5nZU1lZGl1bQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEdhbWVSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAEYmVzdAUAAAAPcmFyaXR5UmFuZ2VCZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAaZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAdXQUlUSU5HCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U2xvdEtleQAAAAEFAAAABHNsb3QFAAAABmdhbWVJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMbmV4dF9nYW1lX2lkCQAAZAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAQUAAAADbmlsAAAAAWkBAAAACHRha2VHYW1lAAAAAQAAAARzbG90BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmdhbWVJZAkBAAAAB2dldFNsb3QAAAABBQAAAARzbG90BAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkAAAAAAAACCQEAAAAHZ2V0U2xvdAAAAAEFAAAABHNsb3QAAAAAAAAAAAAJAAACAAAAAQIAAAASVGhpcyBzbG90IGlzIGVtcHR5AwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAALZWdnc0Fzc2V0SWQJAAACAAAAAQkAASwAAAACAgAAADxZb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJAAJYAAAAAQUAAAALZWdnc0Fzc2V0SWQDCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQJAABkAAAAAgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQFAAAACHRha2VyRmVlCQAAAgAAAAECAAAAGEluc3VmZmljaWVudCBlZ2dzIGFtb3VudAMJAQAAAAIhPQAAAAIJAQAAAAxnZXRHYW1lVGFrZXIAAAABBQAAAAZnYW1lSWQCAAAAAAkAAAIAAAABAgAAABpUaGlzIGdhbWUgaXMgYWxyZWFkeSB0YWtlbgMJAABnAAAAAgUAAAAGaGVpZ2h0CQEAAAAXZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHQAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAUVGhpcyBnYW1lIGlzIGV4cGlyZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRVc2VyQ3VycmVudEdhbWVLZXkAAAABBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldEdhbWVUYWtlcktleQAAAAEFAAAABmdhbWVJZAUAAAANY2FsbGVyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFGdldEdhbWVPdmVySGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAMc3RlcER1cmF0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAKZ2V0U2xvdEtleQAAAAEFAAAABHNsb3QAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAAAhraWNrR2FtZQAAAAEAAAAEc2xvdAQAAAAGZ2FtZUlkCQEAAAAHZ2V0U2xvdAAAAAEFAAAABHNsb3QDAwkAAGYAAAACAAAAAAAAAAAABQAAAARzbG90BgkAAGcAAAACBQAAAARzbG90BQAAAAVTTE9UUwkAAAIAAAABAgAAAAxJbnZhbGlkIHNsb3QDCQAAAAAAAAIFAAAABmdhbWVJZAAAAAAAAAAAAAkAAAIAAAABAgAAAA1TbG90IGlzIGVtcHR5AwkAAGYAAAACCQEAAAAXZ2V0R2FtZVdhaXRpbmdFbmRIZWlnaHQAAAABBQAAAAZnYW1lSWQFAAAABmhlaWdodAkAAAIAAAABAgAAABtXYWl0aW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQDCQEAAAACIT0AAAACCQEAAAAMZ2V0R2FtZVRha2VyAAAAAQUAAAAGZ2FtZUlkAgAAAAAJAAACAAAAAQIAAAAUVGhpcyBnYW1lIGlzIHN0YXJ0ZWQEAAAABW1ha2VyCQEAAAAMZ2V0R2FtZU1ha2VyAAAAAQUAAAAGZ2FtZUlkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAVZ2V0VXNlckN1cnJlbnRHYW1lS2V5AAAAAQUAAAAFbWFrZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAApnZXRTbG90S2V5AAAAAQUAAAAEc2xvdAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAGbAAAAAQUAAAAFbWFrZXIJAABkAAAAAgkBAAAACmdldEJldEVnZ3MAAAABBQAAAAZnYW1lSWQFAAAACG1ha2VyRmVlBQAAAAtlZ2dzQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAADXBpY2tXb3JzdER1Y2sAAAABAAAABmdhbWVJZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdhc3NldElkCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwMJAQAAAAIhPQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEFAAAADmJyZWVkZXJBZGRyZXNzCQEAAAACIT0AAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABmlzc3VlcgkBAAAAB0FkZHJlc3MAAAABBQAAABBpbmN1YmF0b3JBZGRyZXNzBwkAAAIAAAABAgAAAAtJbnZhbGlkIE5GVAMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAADCQEAAAACIT0AAAACBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAMZ2V0R2FtZVRha2VyAAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAIkl0IGlzIHRoZSB0YWtlcidzIHR1cm4gdG8gcGljayBub3cEAAAACWludm9rZVJlcwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADmZhcm1pbmdBZGRyZXNzAgAAABZnZXRBc3NldFJhcml0eUNhbGxhYmxlCQAETAAAAAIFAAAAB2Fzc2V0SWQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAlpbnZva2VSZXMFAAAACWludm9rZVJlcwQAAAAGcmFyaXR5BAAAAAckbWF0Y2gwBQAAAAlpbnZva2VSZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABcgUAAAAHJG1hdGNoMAUAAAABcgkAAAIAAAABAgAAABdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAkBAAAACHBpY2tEdWNrAAAABwUAAAAGZ2FtZUlkAgAAAAV0YWtlcggFAAAAAWkAAAAGY2FsbGVyBQAAAAdhc3NldElkBQAAAAZyYXJpdHkCAAAABXdvcnN0AAAAAAAAAAAACQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEDCQEAAAACIT0AAAACBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAMZ2V0R2FtZU1ha2VyAAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAIkl0IGlzIHRoZSBtYWtlcidzIHR1cm4gdG8gcGljayBub3cEAAAACWludm9rZVJlcwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADmZhcm1pbmdBZGRyZXNzAgAAABZnZXRBc3NldFJhcml0eUNhbGxhYmxlCQAETAAAAAIFAAAAB2Fzc2V0SWQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAlpbnZva2VSZXMFAAAACWludm9rZVJlcwQAAAAGcmFyaXR5BAAAAAckbWF0Y2gwBQAAAAlpbnZva2VSZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABcgUAAAAHJG1hdGNoMAUAAAABcgkAAAIAAAABAgAAABdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAkBAAAACHBpY2tEdWNrAAAABwUAAAAGZ2FtZUlkAgAAAAVtYWtlcggFAAAAAWkAAAAGY2FsbGVyBQAAAAdhc3NldElkBQAAAAZyYXJpdHkCAAAABXdvcnN0AAAAAAAAAAABCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACZUaGUgd29yc3QgZHVjayBoYXMgYWxyZWFkeSBiZWVuIHBpY2tlZAAAAAFpAQAAAA9waWNrTWVkaXVtdER1Y2sAAAABAAAABmdhbWVJZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdhc3NldElkCQEAAAAFdmFsdWUAAAABCAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwMJAQAAAAIhPQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEFAAAADmJyZWVkZXJBZGRyZXNzCQEAAAACIT0AAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABmlzc3VlcgkBAAAAB0FkZHJlc3MAAAABBQAAABBpbmN1YmF0b3JBZGRyZXNzBwkAAAIAAAABAgAAAAtJbnZhbGlkIE5GVAMJAABmAAAAAgAAAAAAAAAAAgUAAAAIZ2FtZVN0ZXAJAAACAAAAAQIAAAAyVGhlIG1lZGl1bSBkdWNrIG11c3QgYmUgcGlja2VkIGFmdGVyIHRoZSB3b3JzdCBvbmUDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAACAwkBAAAAAiE9AAAAAgUAAAANY2FsbGVyQWRkcmVzcwkBAAAADGdldEdhbWVNYWtlcgAAAAEFAAAABmdhbWVJZAkAAAIAAAABAgAAACJJdCBpcyB0aGUgbWFrZXIncyB0dXJuIHRvIHBpY2sgbm93BAAAAAlpbnZva2VSZXMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5mYXJtaW5nQWRkcmVzcwIAAAAWZ2V0QXNzZXRSYXJpdHlDYWxsYWJsZQkABEwAAAACBQAAAAdhc3NldElkBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAJaW52b2tlUmVzBQAAAAlpbnZva2VSZXMEAAAABnJhcml0eQQAAAAHJG1hdGNoMAUAAAAJaW52b2tlUmVzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAQAAAAhwaWNrRHVjawAAAAcFAAAABmdhbWVJZAIAAAAFbWFrZXIIBQAAAAFpAAAABmNhbGxlcgUAAAAHYXNzZXRJZAUAAAAGcmFyaXR5AgAAAAZtZWRpdW0AAAAAAAAAAAIJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAwMJAQAAAAIhPQAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lVGFrZXIAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAiSXQgaXMgdGhlIHRha2VyJ3MgdHVybiB0byBwaWNrIG5vdwQAAAAJaW52b2tlUmVzCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAOZmFybWluZ0FkZHJlc3MCAAAAFmdldEFzc2V0UmFyaXR5Q2FsbGFibGUJAARMAAAAAgUAAAAHYXNzZXRJZAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACWludm9rZVJlcwUAAAAJaW52b2tlUmVzBAAAAAZyYXJpdHkEAAAAByRtYXRjaDAFAAAACWludm9rZVJlcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFyBQAAAAckbWF0Y2gwBQAAAAFyCQAAAgAAAAECAAAAF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQEAAAAIcGlja0R1Y2sAAAAHBQAAAAZnYW1lSWQCAAAABXRha2VyCAUAAAABaQAAAAZjYWxsZXIFAAAAB2Fzc2V0SWQFAAAABnJhcml0eQIAAAAGbWVkaXVtAAAAAAAAAAADCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACdUaGUgbWVkaXVtIGR1Y2sgaGFzIGFscmVhZHkgYmVlbiBwaWNrZWQAAAABaQEAAAAMcGlja0Jlc3REdWNrAAAAAQAAAAZnYW1lSWQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYXNzZXRJZAkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAIZ2FtZVN0ZXAJAQAAAAtnZXRHYW1lU3RlcAAAAAEFAAAABmdhbWVJZAMDCQEAAAACIT0AAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABmlzc3VlcgkBAAAAB0FkZHJlc3MAAAABBQAAAA5icmVlZGVyQWRkcmVzcwkBAAAAAiE9AAAAAggJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQUAAAAQaW5jdWJhdG9yQWRkcmVzcwcJAAACAAAAAQIAAAALSW52YWxpZCBORlQDCQAAZgAAAAIAAAAAAAAAAAQFAAAACGdhbWVTdGVwCQAAAgAAAAECAAAAQFRoZSBiZXN0IGR1Y2sgbXVzdCBiZSBwaWNrZWQgYWZ0ZXIgdGhlIHdvcnN0IGFuZCB0aGUgbWVkaXVtIG9uZXMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAEAwkBAAAAAiE9AAAAAgUAAAANY2FsbGVyQWRkcmVzcwkBAAAADGdldEdhbWVUYWtlcgAAAAEFAAAABmdhbWVJZAkAAAIAAAABAgAAACJJdCBpcyB0aGUgdGFrZXIncyB0dXJuIHRvIHBpY2sgbm93BAAAAAlpbnZva2VSZXMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5mYXJtaW5nQWRkcmVzcwIAAAAWZ2V0QXNzZXRSYXJpdHlDYWxsYWJsZQkABEwAAAACBQAAAAdhc3NldElkBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAJaW52b2tlUmVzBQAAAAlpbnZva2VSZXMEAAAABnJhcml0eQQAAAAHJG1hdGNoMAUAAAAJaW52b2tlUmVzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAFAAAAAXIJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAQAAAAhwaWNrRHVjawAAAAcFAAAABmdhbWVJZAIAAAAFdGFrZXIIBQAAAAFpAAAABmNhbGxlcgUAAAAHYXNzZXRJZAUAAAAGcmFyaXR5AgAAAARiZXN0AAAAAAAAAAAECQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAUDCQEAAAACIT0AAAACBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAMZ2V0R2FtZU1ha2VyAAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAIkl0IGlzIHRoZSBtYWtlcidzIHR1cm4gdG8gcGljayBub3cEAAAACWludm9rZVJlcwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADmZhcm1pbmdBZGRyZXNzAgAAABZnZXRBc3NldFJhcml0eUNhbGxhYmxlCQAETAAAAAIFAAAAB2Fzc2V0SWQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAlpbnZva2VSZXMFAAAACWludm9rZVJlcwQAAAAGcmFyaXR5BAAAAAckbWF0Y2gwBQAAAAlpbnZva2VSZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABcgUAAAAHJG1hdGNoMAUAAAABcgkAAAIAAAABAgAAABdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAkBAAAACHBpY2tEdWNrAAAABwUAAAAGZ2FtZUlkAgAAAAVtYWtlcggFAAAAAWkAAAAGY2FsbGVyBQAAAAdhc3NldElkBQAAAAZyYXJpdHkCAAAABGJlc3QAAAAAAAAAAAUJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJVRoZSBiZXN0IGR1Y2sgaGFzIGFscmVhZHkgYmVlbiBwaWNrZWQAAAABaQEAAAAGY29tbWl0AAAAAgAAAAZnYW1lSWQAAAAEaGFzaAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwkAAGYAAAACAAAAAAAAAAAGBQAAAAhnYW1lU3RlcAkAAAIAAAABAgAAABxEdWNrcyBoYXNuJ3QgYmVlbiBwaWNrZWQgeWV0AwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAABgMJAQAAAAIhPQAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lTWFrZXIAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAkSXQgaXMgdGhlIG1ha2VyJ3MgdHVybiB0byBjb21taXQgbm93CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXRDb21taXRLZXkAAAACBQAAAAZnYW1lSWQCAAAABW1ha2VyBQAAAARoYXNoCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOZ2V0R2FtZVN0ZXBLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRnZXRHYW1lT3ZlckhlaWdodEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHN0ZXBEdXJhdGlvbgUAAAADbmlsAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAABwMJAQAAAAIhPQAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lVGFrZXIAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAkSXQgaXMgdGhlIHRha2VyJ3MgdHVybiB0byBjb21taXQgbm93CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxnZXRDb21taXRLZXkAAAACBQAAAAZnYW1lSWQCAAAABXRha2VyBQAAAARoYXNoCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOZ2V0R2FtZVN0ZXBLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRnZXRHYW1lT3ZlckhlaWdodEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAADHN0ZXBEdXJhdGlvbgUAAAADbmlsCQAAAgAAAAECAAAAEkNvbW1pdCBpcyBmaW5pc2hlZAAAAAFpAQAAAAZyZXZlYWwAAAADAAAABmdhbWVJZAAAAAlkdWNrT3JkZXIAAAAEc2FsdAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwkAAGYAAAACAAAAAAAAAAAIBQAAAAhnYW1lU3RlcAkAAAIAAAABAgAAABVSZXZlYWwgaXMgbm90IHN0YXJ0ZWQDAwMDAwMJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARd29yc3QsbWVkaXVtLGJlc3QGCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEXdvcnN0LGJlc3QsbWVkaXVtBgkBAAAAAiE9AAAAAgUAAAAJZHVja09yZGVyAgAAABFtZWRpdW0sd29yc3QsYmVzdAYJAQAAAAIhPQAAAAIFAAAACWR1Y2tPcmRlcgIAAAARbWVkaXVtLGJlc3Qsd29yc3QGCQEAAAACIT0AAAACBQAAAAlkdWNrT3JkZXICAAAAEWJlc3Qsd29yc3QsbWVkaXVtBgkBAAAAAiE9AAAAAgUAAAAJZHVja09yZGVyAgAAABFiZXN0LG1lZGl1bSx3b3JzdAkAAAIAAAABAgAAABFJbnZhbGlkIGR1Y2tPcmRlcgMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAgDCQEAAAACIT0AAAACBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAMZ2V0R2FtZU1ha2VyAAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAJEl0IGlzIHRoZSBtYWtlcidzIHR1cm4gdG8gcmV2ZWFsIG5vdwMJAQAAAAIhPQAAAAIJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAJZHVja09yZGVyBQAAAARzYWx0CQEAAAAJZ2V0Q29tbWl0AAAAAgUAAAAGZ2FtZUlkAgAAAAVtYWtlcgkAAAIAAAABAgAAABhyZXZlYWwgZGF0YSBpcyBub3QgdmFsaWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldER1Y2tPcmRlcktleQAAAAIFAAAABmdhbWVJZAIAAAAFbWFrZXIFAAAACWR1Y2tPcmRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmdldEdhbWVTdGVwS2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUZ2V0R2FtZU92ZXJIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24FAAAAA25pbAMJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAkDCQEAAAACIT0AAAACBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAMZ2V0R2FtZVRha2VyAAAAAQUAAAAGZ2FtZUlkCQAAAgAAAAECAAAAJEl0IGlzIHRoZSB0YWtlcidzIHR1cm4gdG8gcmV2ZWFsIG5vdwMJAQAAAAIhPQAAAAIJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAJZHVja09yZGVyBQAAAARzYWx0CQEAAAAJZ2V0Q29tbWl0AAAAAgUAAAAGZ2FtZUlkAgAAAAV0YWtlcgkAAAIAAAABAgAAABhyZXZlYWwgZGF0YSBpcyBub3QgdmFsaWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldER1Y2tPcmRlcktleQAAAAIFAAAABmdhbWVJZAIAAAAFdGFrZXIFAAAACWR1Y2tPcmRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmdldEdhbWVTdGVwS2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUZ2V0R2FtZU92ZXJIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24FAAAAA25pbAkAAAIAAAABAgAAABJSZXZlYWwgaXMgZmluaXNoZWQAAAABaQEAAAAIZ2V0UHJpemUAAAABAAAABmdhbWVJZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwkBAAAAAiE9AAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAoJAAACAAAAAQIAAAAUR2FtZSBpcyBub3QgZmluaXNoZWQDCQAAAAAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lTWFrZXIAAAABBQAAAAZnYW1lSWQJAQAAAAlzZW5kUHJpemUAAAAEBQAAAAZnYW1lSWQIBQAAAAFpAAAABmNhbGxlcgIAAAAFbWFrZXIJAQAAAAlnZXRXaW5uZXIAAAABBQAAAAZnYW1lSWQDCQAAAAAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lVGFrZXIAAAABBQAAAAZnYW1lSWQJAQAAAAlzZW5kUHJpemUAAAAEBQAAAAZnYW1lSWQIBQAAAAFpAAAABmNhbGxlcgIAAAAFdGFrZXIJAQAAAAlnZXRXaW5uZXIAAAABBQAAAAZnYW1lSWQJAAACAAAAAQIAAAAWSW52YWxpZCBjYWxsZXIgYWRkcmVzcwAAAAFpAQAAAA9nZXRQcml6ZUV4cGlyZWQAAAABAAAABmdhbWVJZAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhnYW1lU3RlcAkBAAAAC2dldEdhbWVTdGVwAAAAAQUAAAAGZ2FtZUlkAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAACgkAAAIAAAABAgAAACdHYW1lIGlzIGZpbmlzaGVkLCBjYWxsIGdldFByaXplIGluc3RlYWQDCQAAZgAAAAIJAQAAABFnZXRHYW1lT3ZlckhlaWdodAAAAAEFAAAABmdhbWVJZAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAE0dhbWUgaXMgbm90IGV4cGlyZWQDCQAAAAAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lTWFrZXIAAAABBQAAAAZnYW1lSWQJAQAAAAlzZW5kUHJpemUAAAAEBQAAAAZnYW1lSWQIBQAAAAFpAAAABmNhbGxlcgIAAAAFbWFrZXIJAQAAABBnZXRXaW5uZXJFeHBpcmVkAAAAAQUAAAAIZ2FtZVN0ZXADCQAAAAAAAAIFAAAADWNhbGxlckFkZHJlc3MJAQAAAAxnZXRHYW1lVGFrZXIAAAABBQAAAAZnYW1lSWQJAQAAAAlzZW5kUHJpemUAAAAEBQAAAAZnYW1lSWQIBQAAAAFpAAAABmNhbGxlcgIAAAAFdGFrZXIJAQAAABBnZXRXaW5uZXJFeHBpcmVkAAAAAQUAAAAIZ2FtZVN0ZXAJAAACAAAAAQIAAAAWSW52YWxpZCBjYWxsZXIgYWRkcmVzcwAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5FnoUuw==", "height": 1665319, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Y4n6CNaHLGhmgic5CfGH5Ux1MEDL2j2swvX64QS4odX Next: BPGo8qUvMF5T7MunpBFCoRcWvzUhxfCAUPtFu9Et3Pgc Diff:
OldNewDifferences
218218 let z = q()
219219 if ((az.assetId != d))
220220 then throw(("You can attach only EGGs with the following asset id: " + toBase58String(d)))
221- else if ((0 > aA))
221+ else if ((0 >= aA))
222222 then throw("Not enough EGGs")
223- else if ((aA == 0))
224- then throw("You can't bet 0 EGGs")
225- else if ((u(ax) != 0))
226- then throw("You already have an active game")
227- else if (if ((0 > w))
228- then true
229- else (w >= g))
230- then throw("Invalid slot")
231- else if ((ay != 0))
232- then throw("This slot is busy")
233- else if (if ((1 > au))
223+ else if ((u(ax) != 0))
224+ then throw("You already have an active game")
225+ else if (if ((0 > w))
226+ then true
227+ else (w >= g))
228+ then throw("Invalid slot")
229+ else if ((ay != 0))
230+ then throw("This slot is busy")
231+ else if (if ((1 > au))
232+ then true
233+ else (au > 5))
234+ then throw("Invalid rarity range for the worst duck")
235+ else if (if ((1 > av))
234236 then true
235- else (au > 5))
236- then throw("Insufficient rarity range for the worst duck")
237- else if (if ((1 > av))
237+ else (av > 5))
238+ then throw("Invalid rarity range for the medium duck")
239+ else if (if ((1 > aw))
238240 then true
239- else (av > 5))
240- then throw("Insufficient rarity range for the medium duck")
241- else if (if ((1 > aw))
242- then true
243- else (aw > 5))
244- then throw("Insufficient rarity range for the best duck")
245- else if ((au >= av))
246- then throw("The medium duck must be better than the worst one")
247- else if ((av >= aw))
248- then throw("The best duck must be better than the medium one")
249- else [IntegerEntry(s(ax), z), StringEntry(y(z), ax), IntegerEntry(D(z), aA), IntegerEntry(J(z, "worst"), au), IntegerEntry(J(z, "medium"), av), IntegerEntry(J(z, "best"), aw), IntegerEntry(F(z), (height + h)), IntegerEntry(v(w), z), IntegerEntry("next_game_id", (z + 1))]
241+ else (aw > 5))
242+ then throw("Invalid rarity range for the best duck")
243+ else if ((au >= av))
244+ then throw("The medium duck must be better than the worst one")
245+ else if ((av >= aw))
246+ then throw("The best duck must be better than the medium one")
247+ else [IntegerEntry(s(ax), z), StringEntry(y(z), ax), IntegerEntry(D(z), aA), IntegerEntry(J(z, "worst"), au), IntegerEntry(J(z, "medium"), av), IntegerEntry(J(z, "best"), aw), IntegerEntry(F(z), (height + h)), IntegerEntry(v(w), z), IntegerEntry("next_game_id", (z + 1))]
250248 }
251249
252250
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'3MtBigTsaeevrcJAEwVcr4quwkqcrtnjoAh'
55
66 let b = base58'3MtBigTsaeevrcJAEwVcr4quwkqcrtnjoAh'
77
88 let c = base58'3NBznG19rEYUAcnukTRTtwJHBVKQLbobVdC'
99
1010 let d = base58'3VUCuh9dWqe54SdzzNUkXhFXpc8UQynnJVh42B7MjNzN'
1111
1212 let e = 1
1313
1414 let f = 1
1515
1616 let g = 10
1717
1818 let h = 5
1919
2020 let i = 3
2121
2222 func j (k) = {
2323 let l = getInteger(this, k)
2424 if ($isInstanceOf(l, "Int"))
2525 then {
2626 let m = l
2727 m
2828 }
2929 else 0
3030 }
3131
3232
3333 func n (k) = {
3434 let l = getString(this, k)
3535 if ($isInstanceOf(l, "String"))
3636 then {
3737 let o = l
3838 o
3939 }
4040 else ""
4141 }
4242
4343
4444 func p (k) = {
4545 let l = getBoolean(this, k)
4646 if ($isInstanceOf(l, "Boolean"))
4747 then {
4848 let m = l
4949 m
5050 }
5151 else false
5252 }
5353
5454
5555 func q () = {
5656 let r = j("next_game_id")
5757 if ((r == 0))
5858 then 1
5959 else r
6060 }
6161
6262
6363 func s (t) = ("current_game_" + t)
6464
6565
6666 func u (t) = j(s(t))
6767
6868
6969 func v (w) = ("slot_" + toString(w))
7070
7171
7272 func x (w) = j(v(w))
7373
7474
7575 func y (z) = (("game_" + toString(z)) + "_maker")
7676
7777
7878 func A (z) = n(y(z))
7979
8080
8181 func B (z) = (("game_" + toString(z)) + "_taker")
8282
8383
8484 func C (z) = n(B(z))
8585
8686
8787 func D (z) = (("game_" + toString(z)) + "_bet_eggs")
8888
8989
9090 func E (z) = j(D(z))
9191
9292
9393 func F (z) = (("game_" + toString(z)) + "_waiting_end_height")
9494
9595
9696 func G (z) = j(F(z))
9797
9898
9999 func H (z) = (("game_" + toString(z)) + "_over_height")
100100
101101
102102 func I (z) = j(F(z))
103103
104104
105105 func J (z,K) = ((("game_" + toString(z)) + "_rarityRange_") + K)
106106
107107
108108 func L (z,K) = j(J(z, K))
109109
110110
111111 func M (z) = (("game_" + toString(z)) + "_step")
112112
113113
114114 func N (z) = j(M(z))
115115
116116
117117 func O (z,P,K) = (((((("game_" + toString(z)) + "_") + P) + "_") + K) + "Rarity")
118118
119119
120120 func Q (z,P,K) = j(O(z, P, K))
121121
122122
123123 func R (z,P) = (((("game_" + toString(z)) + "_") + P) + "_commit")
124124
125125
126126 func S (z,P) = n(R(z, P))
127127
128128
129129 func T (z,P) = (((("game_" + toString(z)) + "_") + P) + "_duckOrder")
130130
131131
132132 func U (z,P) = n(T(z, P))
133133
134134
135135 func V (z,P) = (((("game_" + toString(z)) + "_") + P) + "_withdrawStatus")
136136
137137
138138 func W (z,P) = p(V(z, P))
139139
140140
141141 func X (z,Y,Z,aa,ab,K,ac) = {
142142 let ad = L(z, K)
143143 if (if (if (if ((ad == 5))
144144 then (40 > ab)
145145 else false)
146146 then true
147147 else (ab >= (ad * 10)))
148148 then true
149149 else (((ad - 1) * 10) > ab))
150150 then throw("This duck doesn't fit the rarity range")
151151 else [IntegerEntry(O(z, Y, K), ab), IntegerEntry(M(z), (ac + 1)), IntegerEntry(H(z), (height + i)), ScriptTransfer(Z, 1, aa)]
152152 }
153153
154154
155155 func ae (o,m) = if ((o > m))
156156 then 1
157157 else if ((m > o))
158158 then -1
159159 else 0
160160
161161
162162 func af (z) = {
163163 let ag = split(U(z, "maker"), ",")
164164 let ah = split(U(z, "taker"), ",")
165165 let ai = Q(z, "maker", ag[0])
166166 let aj = Q(z, "maker", ag[1])
167167 let ak = Q(z, "maker", ag[2])
168168 let al = Q(z, "taker", ag[0])
169169 let am = Q(z, "taker", ag[1])
170170 let an = Q(z, "taker", ag[2])
171171 let ao = ((ae(ai, al) + ae(aj, am)) + ae(ak, an))
172172 if ((ao > 0))
173173 then "maker"
174174 else if ((0 > ao))
175175 then "taker"
176176 else "draw"
177177 }
178178
179179
180180 func ap (aq) = if (if (if (if (if ((aq == 0))
181181 then true
182182 else (aq == 3))
183183 then true
184184 else (aq == 4))
185185 then true
186186 else (aq == 7))
187187 then true
188188 else (aq == 9))
189189 then "maker"
190190 else if (if (if (if (if ((aq == 1))
191191 then true
192192 else (aq == 2))
193193 then true
194194 else (aq == 5))
195195 then true
196196 else (aq == 6))
197197 then true
198198 else (aq == 8))
199199 then "taker"
200200 else "draw"
201201
202202
203203 func ar (z,Z,Y,as) = if (W(z, Y))
204204 then throw("You have already got the prize")
205205 else if ((as == Y))
206206 then [BooleanEntry(V(z, Y), true), ScriptTransfer(Z, (E(z) * 2), d)]
207207 else if ((as == "draw"))
208208 then [BooleanEntry(V(z, Y), true), ScriptTransfer(Z, E(z), d)]
209209 else throw("You lose and don't have any prize")
210210
211211
212212 @Callable(at)
213213 func makeGame (w,au,av,aw) = {
214214 let ax = toBase58String(at.caller.bytes)
215215 let ay = x(w)
216216 let az = value(at.payments[0])
217217 let aA = (az.amount - e)
218218 let z = q()
219219 if ((az.assetId != d))
220220 then throw(("You can attach only EGGs with the following asset id: " + toBase58String(d)))
221- else if ((0 > aA))
221+ else if ((0 >= aA))
222222 then throw("Not enough EGGs")
223- else if ((aA == 0))
224- then throw("You can't bet 0 EGGs")
225- else if ((u(ax) != 0))
226- then throw("You already have an active game")
227- else if (if ((0 > w))
228- then true
229- else (w >= g))
230- then throw("Invalid slot")
231- else if ((ay != 0))
232- then throw("This slot is busy")
233- else if (if ((1 > au))
223+ else if ((u(ax) != 0))
224+ then throw("You already have an active game")
225+ else if (if ((0 > w))
226+ then true
227+ else (w >= g))
228+ then throw("Invalid slot")
229+ else if ((ay != 0))
230+ then throw("This slot is busy")
231+ else if (if ((1 > au))
232+ then true
233+ else (au > 5))
234+ then throw("Invalid rarity range for the worst duck")
235+ else if (if ((1 > av))
234236 then true
235- else (au > 5))
236- then throw("Insufficient rarity range for the worst duck")
237- else if (if ((1 > av))
237+ else (av > 5))
238+ then throw("Invalid rarity range for the medium duck")
239+ else if (if ((1 > aw))
238240 then true
239- else (av > 5))
240- then throw("Insufficient rarity range for the medium duck")
241- else if (if ((1 > aw))
242- then true
243- else (aw > 5))
244- then throw("Insufficient rarity range for the best duck")
245- else if ((au >= av))
246- then throw("The medium duck must be better than the worst one")
247- else if ((av >= aw))
248- then throw("The best duck must be better than the medium one")
249- else [IntegerEntry(s(ax), z), StringEntry(y(z), ax), IntegerEntry(D(z), aA), IntegerEntry(J(z, "worst"), au), IntegerEntry(J(z, "medium"), av), IntegerEntry(J(z, "best"), aw), IntegerEntry(F(z), (height + h)), IntegerEntry(v(w), z), IntegerEntry("next_game_id", (z + 1))]
241+ else (aw > 5))
242+ then throw("Invalid rarity range for the best duck")
243+ else if ((au >= av))
244+ then throw("The medium duck must be better than the worst one")
245+ else if ((av >= aw))
246+ then throw("The best duck must be better than the medium one")
247+ else [IntegerEntry(s(ax), z), StringEntry(y(z), ax), IntegerEntry(D(z), aA), IntegerEntry(J(z, "worst"), au), IntegerEntry(J(z, "medium"), av), IntegerEntry(J(z, "best"), aw), IntegerEntry(F(z), (height + h)), IntegerEntry(v(w), z), IntegerEntry("next_game_id", (z + 1))]
250248 }
251249
252250
253251
254252 @Callable(at)
255253 func takeGame (w) = {
256254 let ax = toBase58String(at.caller.bytes)
257255 let z = x(w)
258256 let az = value(at.payments[0])
259257 if ((x(w) == 0))
260258 then throw("This slot is empty")
261259 else if ((az.assetId != d))
262260 then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(d)))
263261 else if ((az.amount != (E(z) + f)))
264262 then throw("Insufficient eggs amount")
265263 else if ((C(z) != ""))
266264 then throw("This game is already taken")
267265 else if ((height >= G(z)))
268266 then throw("This game is expired")
269267 else [IntegerEntry(s(ax), z), StringEntry(B(z), ax), IntegerEntry(H(z), (height + i)), IntegerEntry(v(w), 0)]
270268 }
271269
272270
273271
274272 @Callable(at)
275273 func kickGame (w) = {
276274 let z = x(w)
277275 if (if ((0 > w))
278276 then true
279277 else (w >= g))
280278 then throw("Invalid slot")
281279 else if ((z == 0))
282280 then throw("Slot is empty")
283281 else if ((G(z) > height))
284282 then throw("Waiting is not finished yet")
285283 else if ((C(z) != ""))
286284 then throw("This game is started")
287285 else {
288286 let aB = A(z)
289287 [IntegerEntry(s(aB), 0), IntegerEntry(v(w), 0), ScriptTransfer(Address(toBytes(aB)), (E(z) + e), d)]
290288 }
291289 }
292290
293291
294292
295293 @Callable(at)
296294 func pickWorstDuck (z) = {
297295 let ax = toBase58String(at.caller.bytes)
298296 let aa = value(value(at.payments[0]).assetId)
299297 let aq = N(z)
300298 if (if ((value(assetInfo(aa)).issuer != Address(b)))
301299 then (value(assetInfo(aa)).issuer != Address(a))
302300 else false)
303301 then throw("Invalid NFT")
304302 else if ((aq == 0))
305303 then if ((ax != C(z)))
306304 then throw("It is the taker's turn to pick now")
307305 else {
308306 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
309307 if ((aC == aC))
310308 then {
311309 let ab = {
312310 let l = aC
313311 if ($isInstanceOf(l, "Int"))
314312 then {
315313 let aD = l
316314 aD
317315 }
318316 else throw("Incorrect invoke result")
319317 }
320318 X(z, "taker", at.caller, aa, ab, "worst", 0)
321319 }
322320 else throw("Strict value is not equal to itself.")
323321 }
324322 else if ((aq == 1))
325323 then if ((ax != A(z)))
326324 then throw("It is the maker's turn to pick now")
327325 else {
328326 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
329327 if ((aC == aC))
330328 then {
331329 let ab = {
332330 let l = aC
333331 if ($isInstanceOf(l, "Int"))
334332 then {
335333 let aD = l
336334 aD
337335 }
338336 else throw("Incorrect invoke result")
339337 }
340338 X(z, "maker", at.caller, aa, ab, "worst", 1)
341339 }
342340 else throw("Strict value is not equal to itself.")
343341 }
344342 else throw("The worst duck has already been picked")
345343 }
346344
347345
348346
349347 @Callable(at)
350348 func pickMediumtDuck (z) = {
351349 let ax = toBase58String(at.caller.bytes)
352350 let aa = value(value(at.payments[0]).assetId)
353351 let aq = N(z)
354352 if (if ((value(assetInfo(aa)).issuer != Address(b)))
355353 then (value(assetInfo(aa)).issuer != Address(a))
356354 else false)
357355 then throw("Invalid NFT")
358356 else if ((2 > aq))
359357 then throw("The medium duck must be picked after the worst one")
360358 else if ((aq == 2))
361359 then if ((ax != A(z)))
362360 then throw("It is the maker's turn to pick now")
363361 else {
364362 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
365363 if ((aC == aC))
366364 then {
367365 let ab = {
368366 let l = aC
369367 if ($isInstanceOf(l, "Int"))
370368 then {
371369 let aD = l
372370 aD
373371 }
374372 else throw("Incorrect invoke result")
375373 }
376374 X(z, "maker", at.caller, aa, ab, "medium", 2)
377375 }
378376 else throw("Strict value is not equal to itself.")
379377 }
380378 else if ((aq == 3))
381379 then if ((ax != C(z)))
382380 then throw("It is the taker's turn to pick now")
383381 else {
384382 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
385383 if ((aC == aC))
386384 then {
387385 let ab = {
388386 let l = aC
389387 if ($isInstanceOf(l, "Int"))
390388 then {
391389 let aD = l
392390 aD
393391 }
394392 else throw("Incorrect invoke result")
395393 }
396394 X(z, "taker", at.caller, aa, ab, "medium", 3)
397395 }
398396 else throw("Strict value is not equal to itself.")
399397 }
400398 else throw("The medium duck has already been picked")
401399 }
402400
403401
404402
405403 @Callable(at)
406404 func pickBestDuck (z) = {
407405 let ax = toBase58String(at.caller.bytes)
408406 let aa = value(value(at.payments[0]).assetId)
409407 let aq = N(z)
410408 if (if ((value(assetInfo(aa)).issuer != Address(b)))
411409 then (value(assetInfo(aa)).issuer != Address(a))
412410 else false)
413411 then throw("Invalid NFT")
414412 else if ((4 > aq))
415413 then throw("The best duck must be picked after the worst and the medium ones")
416414 else if ((aq == 4))
417415 then if ((ax != C(z)))
418416 then throw("It is the taker's turn to pick now")
419417 else {
420418 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
421419 if ((aC == aC))
422420 then {
423421 let ab = {
424422 let l = aC
425423 if ($isInstanceOf(l, "Int"))
426424 then {
427425 let aD = l
428426 aD
429427 }
430428 else throw("Incorrect invoke result")
431429 }
432430 X(z, "taker", at.caller, aa, ab, "best", 4)
433431 }
434432 else throw("Strict value is not equal to itself.")
435433 }
436434 else if ((aq == 5))
437435 then if ((ax != A(z)))
438436 then throw("It is the maker's turn to pick now")
439437 else {
440438 let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
441439 if ((aC == aC))
442440 then {
443441 let ab = {
444442 let l = aC
445443 if ($isInstanceOf(l, "Int"))
446444 then {
447445 let aD = l
448446 aD
449447 }
450448 else throw("Incorrect invoke result")
451449 }
452450 X(z, "maker", at.caller, aa, ab, "best", 5)
453451 }
454452 else throw("Strict value is not equal to itself.")
455453 }
456454 else throw("The best duck has already been picked")
457455 }
458456
459457
460458
461459 @Callable(at)
462460 func commit (z,aE) = {
463461 let ax = toBase58String(at.caller.bytes)
464462 let aq = N(z)
465463 if ((6 > aq))
466464 then throw("Ducks hasn't been picked yet")
467465 else if ((aq == 6))
468466 then if ((ax != A(z)))
469467 then throw("It is the maker's turn to commit now")
470468 else [StringEntry(R(z, "maker"), aE), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
471469 else if ((aq == 7))
472470 then if ((ax != C(z)))
473471 then throw("It is the taker's turn to commit now")
474472 else [StringEntry(R(z, "taker"), aE), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
475473 else throw("Commit is finished")
476474 }
477475
478476
479477
480478 @Callable(at)
481479 func reveal (z,aF,aG) = {
482480 let ax = toBase58String(at.caller.bytes)
483481 let aq = N(z)
484482 if ((8 > aq))
485483 then throw("Reveal is not started")
486484 else if (if (if (if (if (if ((aF != "worst,medium,best"))
487485 then true
488486 else (aF != "worst,best,medium"))
489487 then true
490488 else (aF != "medium,worst,best"))
491489 then true
492490 else (aF != "medium,best,worst"))
493491 then true
494492 else (aF != "best,worst,medium"))
495493 then true
496494 else (aF != "best,medium,worst"))
497495 then throw("Invalid duckOrder")
498496 else if ((aq == 8))
499497 then if ((ax != A(z)))
500498 then throw("It is the maker's turn to reveal now")
501499 else if ((toBase58String(sha256(toBytes((aF + aG)))) != S(z, "maker")))
502500 then throw("reveal data is not valid")
503501 else [StringEntry(T(z, "maker"), aF), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
504502 else if ((aq == 9))
505503 then if ((ax != C(z)))
506504 then throw("It is the taker's turn to reveal now")
507505 else if ((toBase58String(sha256(toBytes((aF + aG)))) != S(z, "taker")))
508506 then throw("reveal data is not valid")
509507 else [StringEntry(T(z, "taker"), aF), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
510508 else throw("Reveal is finished")
511509 }
512510
513511
514512
515513 @Callable(at)
516514 func getPrize (z) = {
517515 let ax = toBase58String(at.caller.bytes)
518516 let aq = N(z)
519517 if ((aq != 10))
520518 then throw("Game is not finished")
521519 else if ((ax == A(z)))
522520 then ar(z, at.caller, "maker", af(z))
523521 else if ((ax == C(z)))
524522 then ar(z, at.caller, "taker", af(z))
525523 else throw("Invalid caller address")
526524 }
527525
528526
529527
530528 @Callable(at)
531529 func getPrizeExpired (z) = {
532530 let ax = toBase58String(at.caller.bytes)
533531 let aq = N(z)
534532 if ((aq == 10))
535533 then throw("Game is finished, call getPrize instead")
536534 else if ((I(z) > height))
537535 then throw("Game is not expired")
538536 else if ((ax == A(z)))
539537 then ar(z, at.caller, "maker", ap(aq))
540538 else if ((ax == C(z)))
541539 then ar(z, at.caller, "taker", ap(aq))
542540 else throw("Invalid caller address")
543541 }
544542
545543
546544 @Verifier(aH)
547545 func aI () = sigVerify(aH.bodyBytes, aH.proofs[0], aH.senderPublicKey)
548546

github/deemru/w8io/169f3d6 
116.79 ms