tx · AJy3WoVPhPodeF8TsZGEnTtMS9yvD2LzLMFLRwQxz1nh

3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC:  -0.01500000 Waves

2019.07.17 10:07 [589518] smart account 3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC > SELF 0.00000000 Waves

{ "type": 13, "id": "AJy3WoVPhPodeF8TsZGEnTtMS9yvD2LzLMFLRwQxz1nh", "fee": 1500000, "feeAssetId": null, "timestamp": 1563347236862, "version": 1, "sender": "3MrfW5HU9H1r5yAGY5Gzcr1A7ACNPLKsDcC", "senderPublicKey": "BDtnN9kD7UvV7LaFXb4HFhUc4ijcMMsbUJ7JU8ZUGv3t", "proofs": [ "3YH49oU18MusFbjxaf7qZimbCLrhtJReJ5V1RtovPjo46xSoZL9bvgWgaqM4tf7mHtd6VBFeGXCymsxQ7YpBAizr" ], "script": "base64:AAIDAAAAAAAAAAAAAABBAAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGPYmFzZTY0Ok1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbXB1WGNJL280cElCNXl3djlET09HYXBUQlV3UlZsTS82K0g2aEZlbE9YdGtyd1kvWUl0bVB4RURwejdyQWVyUVBRZTl0RFBFYUF2L0dubEV6dHliT0ZYZ3U5RHpEZThZb01SRDF2YWtnb0Fjb2dtYlk1OFFENktNajVIa29Wai95VE5JYzlzemo1cWhJbHJBZG1iM0tMTDZoUVU3eTgrSmo2OUJXVlBzYVFna3NwU2RlWXRiMXRIUWM3dDk1bjdPWjU2cjJBN0czK2JRZjZuU01rUGtBaElyRXBiQ201OG9pR0JjemRUZC9McUZTVm90WnNiTDdZaDZTSExmbkhlRCtRZ2NmSnJuYW04T0hNR0pFSlRSWGpJTGVIR2psUkNQOG9WcGlvSHJ5MVMyeFB4NXNWekltMk1NK0N6WWVuQUdsbzBqMjZhdEJoaVVMb1R1bHdEM3BRSURBUUFCAAAAAAZTRVJWRVIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM05DaUcyOExtV3lUaWdXRzEzRTVRbnZkSEJzWkZZWFNTMmoAAAAAE1JBTkRPUkFDTEVUSU1FRlJBTUUAAAAAAAAAEOAAAAAAB1dBVkVMRVQJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAApDT01NSVNTSU9OCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAABQUAAAAHV0FWRUxFVAAAAAAAAAAD6AAAAAAGQkVUTUlOCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAAQUAAAAHV0FWRUxFVAAAAAAAAAAAAgAAAAAGQkVUTUFYCQAAaAAAAAIAAAAAAAAAAAYFAAAAB1dBVkVMRVQAAAAAB0JFVFNURVAJAABpAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAAdXQVZFTEVUAAAAAAAAAAAKAAAAAAlQUkVDSVNJT04AAAAAAAAAJxAAAAAABVIxTUFYAAAAAAAAAABgAAAAAAVSMU1JTgAAAAAAAAAAXgAAAAADUjFLAAAAAAAAACaEAAAAAAVSMk1BWAAAAAAAAAAAXQAAAAAFUjJNSU4AAAAAAAAAAFcAAAAAA1IySwAAAAAAAAAmSAAAAAAFUjNNQVgAAAAAAAAAAFYAAAAABVIzTUlOAAAAAAAAAABWAAAAAANSM0sAAAAAAAAAJhYAAAAABVI0TUFYAAAAAAAAAABVAAAAAAVSNE1JTgAAAAAAAAAAVAAAAAADUjRLAAAAAAAAACXGAAAAAAVSNU1BWAAAAAAAAAAAUwAAAAAFUjVNSU4AAAAAAAAAAFMAAAAAA1I1SwAAAAAAAAAlngAAAAAFUjZNQVgAAAAAAAAAAFIAAAAABVI2TUlOAAAAAAAAAABDAAAAAANSNksAAAAAAAAAJYoAAAAABVI3TUFYAAAAAAAAAABCAAAAAAVSN01JTgAAAAAAAAAAOAAAAAADUjdLAAAAAAAAACVYAAAAAAVSOE1BWAAAAAAAAAAANwAAAAAFUjhNSU4AAAAAAAAAACYAAAAAA1I4SwAAAAAAAAAlHAAAAAAFUjlNQVgAAAAAAAAAACUAAAAABVI5TUlOAAAAAAAAAAADAAAAAANSOUsAAAAAAAAAJEoAAAAABlIxME1BWAAAAAAAAAAAAgAAAAAGUjEwTUlOAAAAAAAAAAABAAAAAARSMTBLAAAAAAAAACaEAAAAAAxJZHhHYW1lU3RhdGUAAAAAAAAAAAAAAAAAD0lkeFBsYXllckNob2ljZQAAAAAAAAAAAQAAAAARSWR4UGxheWVyUHViS2V5NTgAAAAAAAAAAAIAAAAAEElkeFN0YXJ0ZWRIZWlnaHQAAAAAAAAAAAMAAAAACUlkeFdpbkFtdAAAAAAAAAAABAAAAAAOSWR4UmFuZE9yRW1wdHkAAAAAAAAAAAUAAAAADlJFU0VSVkFUSU9OS0VZAgAAABAkUkVTRVJWRURfQU1PVU5UAAAAAA9HQU1FU0NPVU5URVJLRVkCAAAACSRHQU1FX05VTQAAAAAOU1RBVEVTVUJNSVRURUQCAAAACVNVQk1JVFRFRAAAAAAIU1RBVEVXT04CAAAAA1dPTgAAAAAJU1RBVEVMT1NUAgAAAARMT1NUAQAAABBJbmNyZW1lbnRHYW1lTnVtAAAAAAQAAAAHZ2FtZU51bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA9HQU1FU0NPVU5URVJLRVkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADbnVtBQAAAAckbWF0Y2gwBQAAAANudW0AAAAAAAAAAAAJAABkAAAAAgUAAAAHZ2FtZU51bQAAAAAAAAAAAQEAAAASRXh0cmFjdFJlc2VydmVkQW10AAAAAAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA5SRVNFUlZBVElPTktFWQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAB5WYWxpZGF0ZUFuZEluY3JlYXNlUmVzZXJ2ZWRBbXQAAAABAAAABndpbkFtdAQAAAARbmV3UmVzZXJ2ZWRBbW91bnQJAABkAAAAAgkBAAAAEkV4dHJhY3RSZXNlcnZlZEFtdAAAAAAFAAAABndpbkFtdAQAAAAHYmFsYW5jZQkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABHRoaXMDCQAAZgAAAAIFAAAAEW5ld1Jlc2VydmVkQW1vdW50BQAAAAdiYWxhbmNlCQAAAgAAAAECAAAAVEluc3VmZmljaWVudCBmdW5kcyBvbiBXYXZlcyBSaWRlciBhY2NvdW50LiBUcmFuc2FjdGlvbiB3YXMgcmVqZWN0ZWQgZm9yIHlvdXIgc2FmZXR5LgUAAAARbmV3UmVzZXJ2ZWRBbW91bnQBAAAAE0RlY3JlYXNlUmVzZXJ2ZWRBbXQAAAACAAAABmdhbWVJZAAAAAZ3aW5BbXQEAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAZQAAAAIJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAABQAAAAZ3aW5BbXQDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAAgAAAAECAAAAQkludmFsaWQgRGljZSBSb2xsZXIgYWNjb3VudCBzdGF0ZSAtIHJlc2VydmVkIGFtb3VudCBpcyBsZXNzIHRoYW4gMAkBAAAACURhdGFFbnRyeQAAAAIFAAAADlJFU0VSVkFUSU9OS0VZBQAAABFuZXdSZXNlcnZlZEFtb3VudAEAAAAaVmFsaWRhdGVCZXRBbmREZWZpbmVXaW5BbXQAAAACAAAABmJldEFtdAAAAAxwbGF5ZXJDaG9pY2UEAAAAA2JldAkAAGUAAAACBQAAAAZiZXRBbXQFAAAACkNPTU1JU1NJT04EAAAAC2JldEFtdFZhbGlkAwMJAABnAAAAAgUAAAADYmV0BQAAAAZCRVRNSU4JAABnAAAAAgUAAAAGQkVUTUFYBQAAAANiZXQHCQAAAAAAAAIJAABqAAAAAgUAAAADYmV0BQAAAAdCRVRTVEVQAAAAAAAAAAAABwMFAAAAC2JldEFtdFZhbGlkBAAAAA9wbGF5ZXJDaG9pY2VJbnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAMcGxheWVyQ2hvaWNlAwMJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50AAAAAAAAAAABCQAAZwAAAAIAAAAAAAAAAGAFAAAAD3BsYXllckNob2ljZUludAcEAAAADFJLeFByZWNpc2lvbgMDCQAAZwAAAAIFAAAABVIxTUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSMU1JTgcFAAAAA1IxSwMDCQAAZwAAAAIFAAAABVIyTUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSMk1JTgcFAAAAA1IySwMDCQAAZwAAAAIFAAAABVIzTUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSM01JTgcFAAAAA1IzSwMDCQAAZwAAAAIFAAAABVI0TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSNE1JTgcFAAAAA1I0SwMDCQAAZwAAAAIFAAAABVI1TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSNU1JTgcFAAAAA1I1SwMDCQAAZwAAAAIFAAAABVI2TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSNk1JTgcFAAAAA1I2SwMDCQAAZwAAAAIFAAAABVI3TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSN01JTgcFAAAAA1I3SwMDCQAAZwAAAAIFAAAABVI4TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSOE1JTgcFAAAAA1I4SwMDCQAAZwAAAAIFAAAABVI5TUFYBQAAAA9wbGF5ZXJDaG9pY2VJbnQJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAAVSOU1JTgcFAAAAA1I5SwMDCQAAZwAAAAIFAAAABlIxME1BWAUAAAAPcGxheWVyQ2hvaWNlSW50CQAAZwAAAAIFAAAAD3BsYXllckNob2ljZUludAUAAAAGUjEwTUlOBwUAAAAEUjEwSwkAAAIAAAABCQABLAAAAAICAAAAJENvdWxkbid0IGRlZmluZSByYW5nZTogcGxheWVyQ2hvaWNlPQUAAAAMcGxheWVyQ2hvaWNlCQAAaQAAAAIJAABoAAAAAgkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAGQFAAAADFJLeFByZWNpc2lvbgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAANiZXQFAAAACVBSRUNJU0lPTgkAAAIAAAABAgAAAD5QbGF5ZXIgY2hvaWNlIGlzIG91dCBvZiB0aGUgY29uZGl0aW9uIGJlbG93OiAxIDw9IGNob2ljZSA8PSA5NgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAjQmV0IGFtb3VudCBpcyBub3QgaW4gcmFuZ2U6IG1pbkJldD0JAAGkAAAAAQUAAAAGQkVUTUlOAgAAAAggbWF4QmV0PQkAAaQAAAABBQAAAAZCRVRNQVgCAAAACSBiZXRTdGVwPQkAAaQAAAABBQAAAAdCRVRTVEVQAQAAAAlSYW5kVG9TdHIAAAABAAAAAXIDAwkAAGcAAAACBQAAAAFyAAAAAAAAAAABCQAAZwAAAAIAAAAAAAAAAGQFAAAAAXIHCQABpAAAAAEFAAAAAXIJAAACAAAAAQkAASwAAAACAgAAADxVbnN1cHBvcnRlZCByIHBhcmFtZXRlciBwYXNzZWQ6IGV4cGVjdGVkPVsxLC4uLiwxMDBdIGFjdHVhbD0JAAGkAAAAAQUAAAABcgEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgAAAAZnYW1lSWQAAAAHcnNhU2lnbgQAAAALcnNhU2lnVmFsaWQJAAH4AAAABAUAAAAGU0hBMjU2CQABmwAAAAEFAAAABmdhbWVJZAUAAAAHcnNhU2lnbgUAAAAJUlNBUFVCTElDAwUAAAALcnNhU2lnVmFsaWQEAAAABHJhbmQJAABqAAAAAgkABLEAAAABCQAB9wAAAAEFAAAAB3JzYVNpZ24AAAAAAAAAAGQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHJhbmQJAABkAAAAAgkAAGgAAAACAP//////////BQAAAARyYW5kAAAAAAAAAAABCQAAZAAAAAIFAAAABHJhbmQAAAAAAAAAAAEJAAACAAAAAQIAAAAVSW52YWxpZCBSU0Egc2lnbmF0dXJlAQAAAAtJc1BsYXllcldpbgAAAAIAAAAMcGxheWVyQ2hvaWNlAAAABHJhbmQEAAAAD3BsYXllckNob2ljZUludAkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAAxwbGF5ZXJDaG9pY2UJAABnAAAAAgUAAAAPcGxheWVyQ2hvaWNlSW50BQAAAARyYW5kAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQAAAAFwBAAAAAFzCQABMQAAAAEFAAAAAXADCQAAAAAAAAIFAAAAAXMAAAAAAAAAAAAJAAACAAAAAQIAAAAlUGFyYW1ldGVyIHNpemUgbXVzdCBiZSBncmVhdGVyIHRoZW4gMAMJAABmAAAAAgUAAAABcwAAAAAAAAAAYwkAAAIAAAABAgAAACRQYXJhbWV0ZXIgc2l6ZSBtdXN0IGJlIGxlc3MgdGhlbiAxMDADCQAAZgAAAAIAAAAAAAAAAAoFAAAAAXMJAAEsAAAAAgkAASwAAAACAgAAAAEwCQABpAAAAAEFAAAAAXMFAAAAAXAJAAEsAAAAAgkAAaQAAAABBQAAAAFzBQAAAAFwAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYAAAAJZ2FtZVN0YXRlAAAADHBsYXllckNob2ljZQAAAA5wbGF5ZXJQdWJLZXk1OAAAAA1zdGFydGVkSGVpZ2h0AAAABndpbkFtdAAAAAtyYW5kT3JFbXB0eQQAAAAMZnVsbFN0YXRlU3RyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAE0Zvcm1hdEdhbWVEYXRhUGFyYW0AAAABBQAAAAlnYW1lU3RhdGUCAAAAAV8JAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQUAAAAMcGxheWVyQ2hvaWNlAgAAAAFfCQEAAAATRm9ybWF0R2FtZURhdGFQYXJhbQAAAAEFAAAADnBsYXllclB1YktleTU4AgAAAAFfCQEAAAATRm9ybWF0R2FtZURhdGFQYXJhbQAAAAEJAAGkAAAAAQUAAAANc3RhcnRlZEhlaWdodAIAAAABXwkBAAAAE0Zvcm1hdEdhbWVEYXRhUGFyYW0AAAABCQABpAAAAAEFAAAABndpbkFtdAMJAAAAAAAAAgUAAAALcmFuZE9yRW1wdHkCAAAAAAUAAAAMZnVsbFN0YXRlU3RyCQABLAAAAAIJAAEsAAAAAgUAAAAMZnVsbFN0YXRlU3RyAgAAAAFfCQEAAAATRm9ybWF0R2FtZURhdGFQYXJhbQAAAAEFAAAAC3JhbmRPckVtcHR5AQAAABlSZW1vdmVVbmRlcnNjb3JlSWZQcmVzZW50AAAAAQAAAAlyZW1haW5pbmcDCQAAZgAAAAIJAAExAAAAAQUAAAAJcmVtYWluaW5nAAAAAAAAAAAACQABMAAAAAIFAAAACXJlbWFpbmluZwAAAAAAAAAAAQUAAAAJcmVtYWluaW5nAQAAABJQYXJzZU5leHRBdHRyaWJ1dGUAAAABAAAACXJlbWFpbmluZwQAAAABcwkAATEAAAABBQAAAAlyZW1haW5pbmcDCQAAZgAAAAIFAAAAAXMAAAAAAAAAAAAEAAAAAm5uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAEvAAAAAgUAAAAJcmVtYWluaW5nAAAAAAAAAAACBAAAAAF2CQABLwAAAAIJAAEwAAAAAgUAAAAJcmVtYWluaW5nAAAAAAAAAAACBQAAAAJubgQAAAAMdG1wUmVtYWluaW5nCQABMAAAAAIFAAAACXJlbWFpbmluZwkAAGQAAAACBQAAAAJubgAAAAAAAAAAAgQAAAAOcmVtYWluaW5nU3RhdGUJAQAAABlSZW1vdmVVbmRlcnNjb3JlSWZQcmVzZW50AAAAAQUAAAAMdG1wUmVtYWluaW5nCQAETAAAAAIFAAAAAXYJAARMAAAAAgUAAAAOcmVtYWluaW5nU3RhdGUFAAAAA25pbAkAAAIAAAABAgAAADRFbXB0eSBzdHJpbmcgd2FzIHBhc3NlZCBpbnRvIHBhcnNlTmV4dEF0dHJpYnV0ZSBmdW5jAQAAABNQYXJzZUdhbWVSYXdEYXRhU3RyAAAAAQAAAAtyYXdTdGF0ZVN0cgQAAAAJZ2FtZVN0YXRlCQEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQUAAAALcmF3U3RhdGVTdHIEAAAADHBsYXllckNob2ljZQkBAAAAElBhcnNlTmV4dEF0dHJpYnV0ZQAAAAEJAAGRAAAAAgUAAAAJZ2FtZVN0YXRlAAAAAAAAAAABBAAAAA5wbGF5ZXJQdWJLZXk1OAkBAAAAElBhcnNlTmV4dEF0dHJpYnV0ZQAAAAEJAAGRAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAABBAAAAA1zdGFydGVkSGVpZ2h0CQEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQkAAZEAAAACBQAAAA5wbGF5ZXJQdWJLZXk1OAAAAAAAAAAAAQQAAAAGd2luQW10CQEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQkAAZEAAAACBQAAAA1zdGFydGVkSGVpZ2h0AAAAAAAAAAABCQAETAAAAAIJAAGRAAAAAgUAAAAJZ2FtZVN0YXRlAAAAAAAAAAAACQAETAAAAAIJAAGRAAAAAgUAAAAMcGxheWVyQ2hvaWNlAAAAAAAAAAAACQAETAAAAAIJAAGRAAAAAgUAAAAOcGxheWVyUHViS2V5NTgAAAAAAAAAAAAJAARMAAAAAgkAAZEAAAACBQAAAA1zdGFydGVkSGVpZ2h0AAAAAAAAAAAACQAETAAAAAIJAAGRAAAAAgUAAAAGd2luQW10AAAAAAAAAAAABQAAAANuaWwBAAAAE0V4dHJhY3RHYW1lRGF0YUxpc3QAAAABAAAABmdhbWVJZAQAAAAKcmF3RGF0YVN0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAAZnYW1lSWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAADc3RyBQAAAAckbWF0Y2gwBQAAAANzdHIJAAACAAAAAQkAASwAAAACAgAAABZDb3VsZG4ndCBmaW5kIGdhbWUgYnkgBQAAAAZnYW1lSWQJAQAAABNQYXJzZUdhbWVSYXdEYXRhU3RyAAAAAQUAAAAKcmF3RGF0YVN0cgEAAAAMV2luU2NyaXB0U2V0AAAABgAAAAZnYW1lSWQAAAANcGxheWVyQWRkcmVzcwAAAAZ3aW5BbXQAAAAObmV3R2FtZURhdGFTdHIAAAAMd2luQnlUaW1lb3V0AAAAEWRlY3JlYXNlZFJlc2VydmVzBAAAAA53U2V0Q29tbW9uRGF0YQkABEwAAAACBQAAABFkZWNyZWFzZWRSZXNlcnZlcwUAAAADbmlsBAAAAA50U2V0Q29tbW9uRGF0YQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAABHVuaXQFAAAAA25pbAMFAAAADHdpbkJ5VGltZW91dAQAAAAWbmV3R2FtZURhdGFTdHJBZGp1c3RlZAkAASwAAAACCQABLAAAAAIFAAAADm5ld0dhbWVEYXRhU3RyAgAAAAFfCQEAAAATRm9ybWF0R2FtZURhdGFQYXJhbQAAAAECAAAAB1RJTUVPVVQEAAAACGdhbWVEYXRhCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAABZuZXdHYW1lRGF0YVN0ckFkanVzdGVkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACBQAAAAhnYW1lRGF0YQUAAAAOd1NldENvbW1vbkRhdGEJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAADnRTZXRDb21tb25EYXRhBAAAAAhnYW1lRGF0YQkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIFAAAACGdhbWVEYXRhBQAAAA53U2V0Q29tbW9uRGF0YQkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAAOdFNldENvbW1vbkRhdGEAAAACAAAAAWkBAAAAA2JldAAAAAEAAAAMcGxheWVyQ2hvaWNlBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAABmdhbWVJZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAANYmV0Tm90SW5XYXZlcwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAANZmVlTm90SW5XYXZlcwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGd2luQW10CQEAAAAaVmFsaWRhdGVCZXRBbmREZWZpbmVXaW5BbXQAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAMcGxheWVyQ2hvaWNlBAAAAAh0eElkVXNlZAkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwUAAAAGZ2FtZUlkAwUAAAANYmV0Tm90SW5XYXZlcwkAAAIAAAABAgAAABtCZXQgYW1vdW50IG11c3QgYmUgaW4gV2F2ZXMDBQAAAA1mZWVOb3RJbldhdmVzCQAAAgAAAAECAAAAIlRyYW5zYWN0aW9uJ3MgZmVlIG11c3QgYmUgaW4gV2F2ZXMDBQAAAAh0eElkVXNlZAkAAAIAAAABAgAAAC9QYXNzZWQgdHhJZCBoYWQgYmVlbiB1c2VkIGJlZm9yZS4gR2FtZSBhYm9ydGVkLgQAAAAOcGxheWVyUHViS2V5NTgJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAtnYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAOU1RBVEVTVUJNSVRURUQFAAAADHBsYXllckNob2ljZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABmhlaWdodAUAAAAGd2luQW10AgAAAAAJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA5SRVNFUlZBVElPTktFWQkBAAAAHlZhbGlkYXRlQW5kSW5jcmVhc2VSZXNlcnZlZEFtdAAAAAEFAAAABndpbkFtdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAPR0FNRVNDT1VOVEVSS0VZBQAAAApuZXdHYW1lTnVtCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAAC2dhbWVEYXRhU3RyBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAGU0VSVkVSBQAAAApDT01NSVNTSU9OBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAACAAAABmdhbWVJZAAAAAdyc2FTaWduBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAADHBsYXllckNob2ljZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAD0lkeFBsYXllckNob2ljZQQAAAANc3RhcnRlZEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAQSWR4U3RhcnRlZEhlaWdodAQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAADHdpbkJ5VGltZW91dAkAAGYAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAANc3RhcnRlZEhlaWdodAUAAAATUkFORE9SQUNMRVRJTUVGUkFNRQQAAAARZGVjcmVhc2VkUmVzZXJ2ZXMJAQAAABNEZWNyZWFzZVJlc2VydmVkQW10AAAAAgUAAAAGZ2FtZUlkBQAAAAZ3aW5BbXQDCQEAAAACIT0AAAACBQAAAAlnYW1lU3RhdGUFAAAADlNUQVRFU1VCTUlUVEVECQAAAgAAAAECAAAAJEludmFsaWQgZ2FtZSBzdGF0ZSBmb3IgcGFzc2VkIGdhbWVJZAMFAAAADHdpbkJ5VGltZW91dAQAAAAHcmFuZFN0cgUAAAAMcGxheWVyQ2hvaWNlBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAIU1RBVEVXT04FAAAADHBsYXllckNob2ljZQUAAAAOcGxheWVyUHViS2V5NTgFAAAADXN0YXJ0ZWRIZWlnaHQFAAAABndpbkFtdAUAAAAHcmFuZFN0cgkBAAAADFdpblNjcmlwdFNldAAAAAYFAAAABmdhbWVJZAUAAAANcGxheWVyQWRkcmVzcwUAAAAGd2luQW10BQAAAA5uZXdHYW1lRGF0YVN0cgUAAAAMd2luQnlUaW1lb3V0BQAAABFkZWNyZWFzZWRSZXNlcnZlcwQAAAAEcmFuZAkBAAAAD0dlbmVyYXRlUmFuZEludAAAAAIFAAAABmdhbWVJZAUAAAAHcnNhU2lnbgQAAAAHcmFuZFN0cgkBAAAACVJhbmRUb1N0cgAAAAEFAAAABHJhbmQDCQEAAAALSXNQbGF5ZXJXaW4AAAACBQAAAAxwbGF5ZXJDaG9pY2UFAAAABHJhbmQEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAAhTVEFURVdPTgUAAAAMcGxheWVyQ2hvaWNlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAANc3RhcnRlZEhlaWdodAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABgUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBQAAAAx3aW5CeVRpbWVvdXQFAAAAEWRlY3JlYXNlZFJlc2VydmVzBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAJU1RBVEVMT1NUBQAAAAxwbGF5ZXJDaG9pY2UFAAAADnBsYXllclB1YktleTU4BQAAAA1zdGFydGVkSGVpZ2h0BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAARMAAAAAgUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAkAAGcAAAACCQAAZQAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzCAUAAAADdHR4AAAABmFtb3VudAkBAAAAEkV4dHJhY3RSZXNlcnZlZEFtdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAANzdHgFAAAAByRtYXRjaDAGBwfr9HtM", "chainId": 84, "height": 589518, "spentComplexity": 0 } View: original | compacted Prev: GppTPMRM1xD1vwAmv7ZUY39HwNGZ57WhsVm1yoeyrESz Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB")
4+let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmpuXcI/o4pIB5ywv9DOOGapTBUwRVlM/6+H6hFelOXtkrwY/YItmPxEDpz7rAerQPQe9tDPEaAv/GnlEztybOFXgu9DzDe8YoMRD1vakgoAcogmbY58QD6KMj5HkoVj/yTNIc9szj5qhIlrAdmb3KLL6hQU7y8+Jj69BWVPsaQgkspSdeYtb1tHQc7t95n7OZ56r2A7G3+bQf6nSMkPkAhIrEpbCm58oiGBczdTd/LqFSVotZsbL7Yh6SHLfnHeD+QgcfJrnam8OHMGJEJTRXjILeHGjlRCP8oVpioHry1S2xPx5sVzIm2MM+CzYenAGlo0j26atBhiULoTulwD3pQIDAQAB")
55
6-let b = addressFromStringValue("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH")
6+let b = addressFromStringValue("3NCiG28LmWyTigWG13E5QnvdHBsZFYXSS2j")
77
8-let c = 2880
8+let c = 4320
99
1010 let d = ((100 * 1000) * 1000)
1111
1212 let e = ((5 * d) / 1000)
1313
14-let f = (1 * d)
14+let f = ((1 * d) / 2)
1515
16-let g = (2 * d)
16+let g = (6 * d)
1717
18-let h = (4 * d)
18+let h = ((1 * d) / 10)
1919
20-let i = (8 * d)
20+let i = 10000
2121
22-let j = (14 * d)
22+let j = 96
2323
24-let k = 10000
24+let k = 94
2525
26-let l = 19000
26+let l = 9860
2727
28-let m = 0
28+let m = 93
2929
30-let n = 1
30+let n = 87
3131
32-let o = 2
32+let o = 9800
3333
34-let p = 3
34+let p = 86
3535
36-let q = 4
36+let q = 86
3737
38-let r = 5
38+let r = 9750
3939
40-let s = "$RESERVED_AMOUNT"
40+let s = 85
4141
42-let t = "$GAME_NUM"
42+let t = 84
4343
44-let u = "SUBMITTED"
44+let u = 9670
4545
46-let v = "WON"
46+let v = 83
4747
48-let w = "LOST"
48+let w = 83
4949
50-func x () = {
51- let y = {
52- let z = getInteger(this, t)
53- if ($isInstanceOf(z, "Int"))
50+let x = 9630
51+
52+let y = 82
53+
54+let z = 67
55+
56+let A = 9610
57+
58+let B = 66
59+
60+let C = 56
61+
62+let D = 9560
63+
64+let E = 55
65+
66+let F = 38
67+
68+let G = 9500
69+
70+let H = 37
71+
72+let I = 3
73+
74+let J = 9290
75+
76+let K = 2
77+
78+let L = 1
79+
80+let M = 9860
81+
82+let N = 0
83+
84+let O = 1
85+
86+let P = 2
87+
88+let Q = 3
89+
90+let R = 4
91+
92+let S = 5
93+
94+let T = "$RESERVED_AMOUNT"
95+
96+let U = "$GAME_NUM"
97+
98+let V = "SUBMITTED"
99+
100+let W = "WON"
101+
102+let X = "LOST"
103+
104+func Y () = {
105+ let Z = {
106+ let aa = getInteger(this, U)
107+ if ($isInstanceOf(aa, "Int"))
54108 then {
55- let A = z
56- A
109+ let ab = aa
110+ ab
57111 }
58112 else 0
59113 }
60- (y + 1)
114+ (Z + 1)
61115 }
62116
63117
64-func B () = {
65- let z = getInteger(this, s)
66- if ($isInstanceOf(z, "Int"))
118+func ac () = {
119+ let aa = getInteger(this, T)
120+ if ($isInstanceOf(aa, "Int"))
67121 then {
68- let C = z
69- C
122+ let ad = aa
123+ ad
70124 }
71125 else 0
72126 }
73127
74128
75-func D (E) = {
76- let F = (B() + E)
77- let G = wavesBalance(this)
78- if ((F > G))
79- then throw("Insufficient funds on Dice Roller account. Transaction was rejected for your safety.")
80- else F
129+func ae (af) = {
130+ let ag = (ac() + af)
131+ let ah = wavesBalance(this)
132+ if ((ag > ah))
133+ then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
134+ else ag
81135 }
82136
83137
84-func H (I,E) = {
85- let F = (B() - E)
86- if ((0 > F))
138+func ai (aj,af) = {
139+ let ag = (ac() - af)
140+ if ((0 > ag))
87141 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
88- else DataEntry(s, F)
142+ else DataEntry(T, ag)
89143 }
90144
91145
92-func J (K,L) = {
93- let M = if (if (if (if ((K == (f + e)))
94- then true
95- else (K == (g + e)))
96- then true
97- else (K == (h + e)))
98- then true
99- else (K == (i + e)))
100- then true
101- else (K == (j + e))
102- if (M)
146+func ak (al,am) = {
147+ let an = (al - e)
148+ let ao = if (if ((an >= f))
149+ then (g >= an)
150+ else false)
151+ then ((an % h) == 0)
152+ else false
153+ if (ao)
103154 then {
104- let N = size(L)
105- let O = (K - e)
106- if ((N == 1))
107- then ((O * l) / k)
108- else throw("Invalid player's choice format")
155+ let ap = parseIntValue(am)
156+ if (if ((ap >= 1))
157+ then (96 >= ap)
158+ else false)
159+ then {
160+ let aq = if (if ((j >= ap))
161+ then (ap >= k)
162+ else false)
163+ then l
164+ else if (if ((m >= ap))
165+ then (ap >= n)
166+ else false)
167+ then o
168+ else if (if ((p >= ap))
169+ then (ap >= q)
170+ else false)
171+ then r
172+ else if (if ((s >= ap))
173+ then (ap >= t)
174+ else false)
175+ then u
176+ else if (if ((v >= ap))
177+ then (ap >= w)
178+ else false)
179+ then x
180+ else if (if ((y >= ap))
181+ then (ap >= z)
182+ else false)
183+ then A
184+ else if (if ((B >= ap))
185+ then (ap >= C)
186+ else false)
187+ then D
188+ else if (if ((E >= ap))
189+ then (ap >= F)
190+ else false)
191+ then G
192+ else if (if ((H >= ap))
193+ then (ap >= I)
194+ else false)
195+ then J
196+ else if (if ((K >= ap))
197+ then (ap >= L)
198+ else false)
199+ then M
200+ else throw(("Couldn't define range: playerChoice=" + am))
201+ ((((100 * aq) / ap) * an) / i)
202+ }
203+ else throw("Player choice is out of the condition below: 1 <= choice <= 96")
109204 }
110- else throw("Bet amount is not in range")
205+ else throw(((((("Bet amount is not in range: minBet=" + toString(f)) + " maxBet=") + toString(g)) + " betStep=") + toString(h)))
111206 }
112207
113208
114-func P (Q) = if ((Q == 0))
115- then "0"
116- else if ((Q == 1))
117- then "1"
118- else throw(("Unsupported r parameter passed: expected=[0,...,1] actual=" + toString(Q)))
209+func ar (as) = if (if ((as >= 1))
210+ then (100 >= as)
211+ else false)
212+ then toString(as)
213+ else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(as)))
119214
120215
121-func R (I,S) = {
122- let T = rsaVerify(SHA256, toBytes(I), S, a)
123- if (T)
216+func at (aj,au) = {
217+ let av = rsaVerify(SHA256, toBytes(aj), au, a)
218+ if (av)
124219 then {
125- let U = (toInt(sha256(S)) % 2)
126- if ((0 > U))
127- then (-1 * U)
128- else U
220+ let aw = (toInt(sha256(au)) % 100)
221+ if ((0 > aw))
222+ then ((-1 * aw) + 1)
223+ else (aw + 1)
129224 }
130225 else throw("Invalid RSA signature")
131226 }
132227
133228
134-func V (L,W) = {
135- let X = size(L)
136- if ((X == 1))
137- then (L == W)
138- else false
229+func ax (am,aw) = {
230+ let ap = parseIntValue(am)
231+ (ap >= aw)
139232 }
140233
141234
142-func Y (Z) = {
143- let X = size(Z)
144- if ((X == 0))
235+func ay (az) = {
236+ let aA = size(az)
237+ if ((aA == 0))
145238 then throw("Parameter size must be greater then 0")
146- else if ((X > 99))
239+ else if ((aA > 99))
147240 then throw("Parameter size must be less then 100")
148- else if ((10 > X))
149- then (("0" + toString(X)) + Z)
150- else (toString(X) + Z)
241+ else if ((10 > aA))
242+ then (("0" + toString(aA)) + az)
243+ else (toString(aA) + az)
151244 }
152245
153246
154-func aa (ab,L,ac,ad,E,ae) = {
155- let af = ((((((((Y(ab) + "_") + Y(L)) + "_") + Y(ac)) + "_") + Y(toString(ad))) + "_") + Y(toString(E)))
156- if ((ae == ""))
157- then af
158- else ((af + "_") + Y(ae))
247+func aB (aC,am,aD,aE,af,aF) = {
248+ let aG = ((((((((ay(aC) + "_") + ay(am)) + "_") + ay(aD)) + "_") + ay(toString(aE))) + "_") + ay(toString(af)))
249+ if ((aF == ""))
250+ then aG
251+ else ((aG + "_") + ay(aF))
159252 }
160253
161254
162-func ag (ah) = if ((size(ah) > 0))
163- then drop(ah, 1)
164- else ah
255+func aH (aI) = if ((size(aI) > 0))
256+ then drop(aI, 1)
257+ else aI
165258
166259
167-func ai (ah) = {
168- let X = size(ah)
169- if ((X > 0))
260+func aJ (aI) = {
261+ let aA = size(aI)
262+ if ((aA > 0))
170263 then {
171- let aj = parseIntValue(take(ah, 2))
172- let ak = take(drop(ah, 2), aj)
173- let al = drop(ah, (aj + 2))
174- let am = ag(al)
175-[ak, am]
264+ let aK = parseIntValue(take(aI, 2))
265+ let aL = take(drop(aI, 2), aK)
266+ let aM = drop(aI, (aK + 2))
267+ let aN = aH(aM)
268+[aL, aN]
176269 }
177270 else throw("Empty string was passed into parseNextAttribute func")
178271 }
179272
180273
181-func an (ao) = {
182- let ab = ai(ao)
183- let L = ai(ab[1])
184- let ac = ai(L[1])
185- let ad = ai(ac[1])
186- let E = ai(ad[1])
187-[ab[0], L[0], ac[0], ad[0], E[0]]
274+func aO (aP) = {
275+ let aC = aJ(aP)
276+ let am = aJ(aC[1])
277+ let aD = aJ(am[1])
278+ let aE = aJ(aD[1])
279+ let af = aJ(aE[1])
280+[aC[0], am[0], aD[0], aE[0], af[0]]
188281 }
189282
190283
191-func ap (I) = {
192- let aq = {
193- let z = getString(this, I)
194- if ($isInstanceOf(z, "String"))
284+func aQ (aj) = {
285+ let aR = {
286+ let aa = getString(this, aj)
287+ if ($isInstanceOf(aa, "String"))
195288 then {
196- let ar = z
197- ar
289+ let aS = aa
290+ aS
198291 }
199- else throw(("Couldn't find game by " + I))
292+ else throw(("Couldn't find game by " + aj))
200293 }
201- an(aq)
294+ aO(aR)
202295 }
203296
204297
205-func as (I,at,E,au,av,aw) = {
206- let ax = [aw]
207- let ay = [ScriptTransfer(at, E, unit)]
208- if (av)
298+func aT (aj,aU,af,aV,aW,aX) = {
299+ let aY = [aX]
300+ let aZ = [ScriptTransfer(aU, af, unit)]
301+ if (aW)
209302 then {
210- let az = ((au + "_") + Y("TIMEOUT"))
211- let aA = DataEntry(I, az)
212- ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
303+ let ba = ((aV + "_") + ay("TIMEOUT"))
304+ let bb = DataEntry(aj, ba)
305+ ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
213306 }
214307 else {
215- let aA = DataEntry(I, au)
216- ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
308+ let bb = DataEntry(aj, aV)
309+ ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
217310 }
218311 }
219312
220313
221-@Callable(aB)
222-func withdraw (I,S) = {
223- let aC = ap(I)
224- let ab = aC[m]
225- let L = aC[n]
226- let ad = parseIntValue(aC[p])
227- let E = parseIntValue(aC[q])
228- let ac = aC[o]
229- let at = addressFromPublicKey(fromBase58String(ac))
230- let av = ((height - ad) > c)
231- let aw = H(I, E)
232- if ((ab != u))
314+@Callable(bc)
315+func bet (am) = {
316+ let bd = Y()
317+ let aj = toBase58String(bc.transactionId)
318+ let be = extract(bc.payment)
319+ let bf = isDefined(be.assetId)
320+ let bg = isDefined(be.assetId)
321+ let af = ak(be.amount, am)
322+ let bh = isDefined(getString(this, aj))
323+ if (bf)
324+ then throw("Bet amount must be in Waves")
325+ else if (bg)
326+ then throw("Transaction's fee must be in Waves")
327+ else if (bh)
328+ then throw("Passed txId had been used before. Game aborted.")
329+ else {
330+ let aD = toBase58String(bc.callerPublicKey)
331+ let bi = aB(V, am, aD, height, af, "")
332+ ScriptResult(WriteSet([DataEntry(T, ae(af)), DataEntry(U, bd), DataEntry(aj, bi)]), TransferSet([ScriptTransfer(b, e, unit)]))
333+ }
334+ }
335+
336+
337+
338+@Callable(bc)
339+func withdraw (aj,au) = {
340+ let bj = aQ(aj)
341+ let aC = bj[N]
342+ let am = bj[O]
343+ let aE = parseIntValue(bj[Q])
344+ let af = parseIntValue(bj[R])
345+ let aD = bj[P]
346+ let aU = addressFromPublicKey(fromBase58String(aD))
347+ let aW = ((height - aE) > c)
348+ let aX = ai(aj, af)
349+ if ((aC != V))
233350 then throw("Invalid game state for passed gameId")
234- else if (av)
351+ else if (aW)
235352 then {
236- let W = take(L, 1)
237- let au = aa(v, L, ac, ad, E, W)
238- as(I, at, E, au, av, aw)
353+ let bk = am
354+ let aV = aB(W, am, aD, aE, af, bk)
355+ aT(aj, aU, af, aV, aW, aX)
239356 }
240357 else {
241- let W = P(R(I, S))
242- if (V(L, W))
358+ let aw = at(aj, au)
359+ let bk = ar(aw)
360+ if (ax(am, aw))
243361 then {
244- let au = aa(v, L, ac, ad, E, W)
245- as(I, at, E, au, av, aw)
362+ let aV = aB(W, am, aD, aE, af, bk)
363+ aT(aj, aU, af, aV, aW, aX)
246364 }
247365 else {
248- let au = aa(w, L, ac, ad, E, W)
249- WriteSet([DataEntry(I, au), aw])
366+ let aV = aB(X, am, aD, aE, af, bk)
367+ WriteSet([DataEntry(aj, aV), aX])
250368 }
251369 }
252370 }
253371
254372
255-@Verifier(aD)
256-func aE () = if (sigVerify(aD.bodyBytes, aD.proofs[0], aD.senderPublicKey))
373+@Verifier(bl)
374+func bm () = if (sigVerify(bl.bodyBytes, bl.proofs[0], bl.senderPublicKey))
257375 then {
258- let z = aD
259- if ($isInstanceOf(z, "TransferTransaction"))
376+ let aa = bl
377+ if ($isInstanceOf(aa, "TransferTransaction"))
260378 then {
261- let aF = z
262- ((wavesBalance(this) - aF.amount) >= B())
379+ let bn = aa
380+ ((wavesBalance(this) - bn.amount) >= ac())
263381 }
264- else if ($isInstanceOf(z, "SetScriptTransaction"))
382+ else if ($isInstanceOf(aa, "SetScriptTransaction"))
265383 then {
266- let aG = z
384+ let bo = aa
267385 true
268386 }
269387 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB")
4+let a = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmpuXcI/o4pIB5ywv9DOOGapTBUwRVlM/6+H6hFelOXtkrwY/YItmPxEDpz7rAerQPQe9tDPEaAv/GnlEztybOFXgu9DzDe8YoMRD1vakgoAcogmbY58QD6KMj5HkoVj/yTNIc9szj5qhIlrAdmb3KLL6hQU7y8+Jj69BWVPsaQgkspSdeYtb1tHQc7t95n7OZ56r2A7G3+bQf6nSMkPkAhIrEpbCm58oiGBczdTd/LqFSVotZsbL7Yh6SHLfnHeD+QgcfJrnam8OHMGJEJTRXjILeHGjlRCP8oVpioHry1S2xPx5sVzIm2MM+CzYenAGlo0j26atBhiULoTulwD3pQIDAQAB")
55
6-let b = addressFromStringValue("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH")
6+let b = addressFromStringValue("3NCiG28LmWyTigWG13E5QnvdHBsZFYXSS2j")
77
8-let c = 2880
8+let c = 4320
99
1010 let d = ((100 * 1000) * 1000)
1111
1212 let e = ((5 * d) / 1000)
1313
14-let f = (1 * d)
14+let f = ((1 * d) / 2)
1515
16-let g = (2 * d)
16+let g = (6 * d)
1717
18-let h = (4 * d)
18+let h = ((1 * d) / 10)
1919
20-let i = (8 * d)
20+let i = 10000
2121
22-let j = (14 * d)
22+let j = 96
2323
24-let k = 10000
24+let k = 94
2525
26-let l = 19000
26+let l = 9860
2727
28-let m = 0
28+let m = 93
2929
30-let n = 1
30+let n = 87
3131
32-let o = 2
32+let o = 9800
3333
34-let p = 3
34+let p = 86
3535
36-let q = 4
36+let q = 86
3737
38-let r = 5
38+let r = 9750
3939
40-let s = "$RESERVED_AMOUNT"
40+let s = 85
4141
42-let t = "$GAME_NUM"
42+let t = 84
4343
44-let u = "SUBMITTED"
44+let u = 9670
4545
46-let v = "WON"
46+let v = 83
4747
48-let w = "LOST"
48+let w = 83
4949
50-func x () = {
51- let y = {
52- let z = getInteger(this, t)
53- if ($isInstanceOf(z, "Int"))
50+let x = 9630
51+
52+let y = 82
53+
54+let z = 67
55+
56+let A = 9610
57+
58+let B = 66
59+
60+let C = 56
61+
62+let D = 9560
63+
64+let E = 55
65+
66+let F = 38
67+
68+let G = 9500
69+
70+let H = 37
71+
72+let I = 3
73+
74+let J = 9290
75+
76+let K = 2
77+
78+let L = 1
79+
80+let M = 9860
81+
82+let N = 0
83+
84+let O = 1
85+
86+let P = 2
87+
88+let Q = 3
89+
90+let R = 4
91+
92+let S = 5
93+
94+let T = "$RESERVED_AMOUNT"
95+
96+let U = "$GAME_NUM"
97+
98+let V = "SUBMITTED"
99+
100+let W = "WON"
101+
102+let X = "LOST"
103+
104+func Y () = {
105+ let Z = {
106+ let aa = getInteger(this, U)
107+ if ($isInstanceOf(aa, "Int"))
54108 then {
55- let A = z
56- A
109+ let ab = aa
110+ ab
57111 }
58112 else 0
59113 }
60- (y + 1)
114+ (Z + 1)
61115 }
62116
63117
64-func B () = {
65- let z = getInteger(this, s)
66- if ($isInstanceOf(z, "Int"))
118+func ac () = {
119+ let aa = getInteger(this, T)
120+ if ($isInstanceOf(aa, "Int"))
67121 then {
68- let C = z
69- C
122+ let ad = aa
123+ ad
70124 }
71125 else 0
72126 }
73127
74128
75-func D (E) = {
76- let F = (B() + E)
77- let G = wavesBalance(this)
78- if ((F > G))
79- then throw("Insufficient funds on Dice Roller account. Transaction was rejected for your safety.")
80- else F
129+func ae (af) = {
130+ let ag = (ac() + af)
131+ let ah = wavesBalance(this)
132+ if ((ag > ah))
133+ then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
134+ else ag
81135 }
82136
83137
84-func H (I,E) = {
85- let F = (B() - E)
86- if ((0 > F))
138+func ai (aj,af) = {
139+ let ag = (ac() - af)
140+ if ((0 > ag))
87141 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
88- else DataEntry(s, F)
142+ else DataEntry(T, ag)
89143 }
90144
91145
92-func J (K,L) = {
93- let M = if (if (if (if ((K == (f + e)))
94- then true
95- else (K == (g + e)))
96- then true
97- else (K == (h + e)))
98- then true
99- else (K == (i + e)))
100- then true
101- else (K == (j + e))
102- if (M)
146+func ak (al,am) = {
147+ let an = (al - e)
148+ let ao = if (if ((an >= f))
149+ then (g >= an)
150+ else false)
151+ then ((an % h) == 0)
152+ else false
153+ if (ao)
103154 then {
104- let N = size(L)
105- let O = (K - e)
106- if ((N == 1))
107- then ((O * l) / k)
108- else throw("Invalid player's choice format")
155+ let ap = parseIntValue(am)
156+ if (if ((ap >= 1))
157+ then (96 >= ap)
158+ else false)
159+ then {
160+ let aq = if (if ((j >= ap))
161+ then (ap >= k)
162+ else false)
163+ then l
164+ else if (if ((m >= ap))
165+ then (ap >= n)
166+ else false)
167+ then o
168+ else if (if ((p >= ap))
169+ then (ap >= q)
170+ else false)
171+ then r
172+ else if (if ((s >= ap))
173+ then (ap >= t)
174+ else false)
175+ then u
176+ else if (if ((v >= ap))
177+ then (ap >= w)
178+ else false)
179+ then x
180+ else if (if ((y >= ap))
181+ then (ap >= z)
182+ else false)
183+ then A
184+ else if (if ((B >= ap))
185+ then (ap >= C)
186+ else false)
187+ then D
188+ else if (if ((E >= ap))
189+ then (ap >= F)
190+ else false)
191+ then G
192+ else if (if ((H >= ap))
193+ then (ap >= I)
194+ else false)
195+ then J
196+ else if (if ((K >= ap))
197+ then (ap >= L)
198+ else false)
199+ then M
200+ else throw(("Couldn't define range: playerChoice=" + am))
201+ ((((100 * aq) / ap) * an) / i)
202+ }
203+ else throw("Player choice is out of the condition below: 1 <= choice <= 96")
109204 }
110- else throw("Bet amount is not in range")
205+ else throw(((((("Bet amount is not in range: minBet=" + toString(f)) + " maxBet=") + toString(g)) + " betStep=") + toString(h)))
111206 }
112207
113208
114-func P (Q) = if ((Q == 0))
115- then "0"
116- else if ((Q == 1))
117- then "1"
118- else throw(("Unsupported r parameter passed: expected=[0,...,1] actual=" + toString(Q)))
209+func ar (as) = if (if ((as >= 1))
210+ then (100 >= as)
211+ else false)
212+ then toString(as)
213+ else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(as)))
119214
120215
121-func R (I,S) = {
122- let T = rsaVerify(SHA256, toBytes(I), S, a)
123- if (T)
216+func at (aj,au) = {
217+ let av = rsaVerify(SHA256, toBytes(aj), au, a)
218+ if (av)
124219 then {
125- let U = (toInt(sha256(S)) % 2)
126- if ((0 > U))
127- then (-1 * U)
128- else U
220+ let aw = (toInt(sha256(au)) % 100)
221+ if ((0 > aw))
222+ then ((-1 * aw) + 1)
223+ else (aw + 1)
129224 }
130225 else throw("Invalid RSA signature")
131226 }
132227
133228
134-func V (L,W) = {
135- let X = size(L)
136- if ((X == 1))
137- then (L == W)
138- else false
229+func ax (am,aw) = {
230+ let ap = parseIntValue(am)
231+ (ap >= aw)
139232 }
140233
141234
142-func Y (Z) = {
143- let X = size(Z)
144- if ((X == 0))
235+func ay (az) = {
236+ let aA = size(az)
237+ if ((aA == 0))
145238 then throw("Parameter size must be greater then 0")
146- else if ((X > 99))
239+ else if ((aA > 99))
147240 then throw("Parameter size must be less then 100")
148- else if ((10 > X))
149- then (("0" + toString(X)) + Z)
150- else (toString(X) + Z)
241+ else if ((10 > aA))
242+ then (("0" + toString(aA)) + az)
243+ else (toString(aA) + az)
151244 }
152245
153246
154-func aa (ab,L,ac,ad,E,ae) = {
155- let af = ((((((((Y(ab) + "_") + Y(L)) + "_") + Y(ac)) + "_") + Y(toString(ad))) + "_") + Y(toString(E)))
156- if ((ae == ""))
157- then af
158- else ((af + "_") + Y(ae))
247+func aB (aC,am,aD,aE,af,aF) = {
248+ let aG = ((((((((ay(aC) + "_") + ay(am)) + "_") + ay(aD)) + "_") + ay(toString(aE))) + "_") + ay(toString(af)))
249+ if ((aF == ""))
250+ then aG
251+ else ((aG + "_") + ay(aF))
159252 }
160253
161254
162-func ag (ah) = if ((size(ah) > 0))
163- then drop(ah, 1)
164- else ah
255+func aH (aI) = if ((size(aI) > 0))
256+ then drop(aI, 1)
257+ else aI
165258
166259
167-func ai (ah) = {
168- let X = size(ah)
169- if ((X > 0))
260+func aJ (aI) = {
261+ let aA = size(aI)
262+ if ((aA > 0))
170263 then {
171- let aj = parseIntValue(take(ah, 2))
172- let ak = take(drop(ah, 2), aj)
173- let al = drop(ah, (aj + 2))
174- let am = ag(al)
175-[ak, am]
264+ let aK = parseIntValue(take(aI, 2))
265+ let aL = take(drop(aI, 2), aK)
266+ let aM = drop(aI, (aK + 2))
267+ let aN = aH(aM)
268+[aL, aN]
176269 }
177270 else throw("Empty string was passed into parseNextAttribute func")
178271 }
179272
180273
181-func an (ao) = {
182- let ab = ai(ao)
183- let L = ai(ab[1])
184- let ac = ai(L[1])
185- let ad = ai(ac[1])
186- let E = ai(ad[1])
187-[ab[0], L[0], ac[0], ad[0], E[0]]
274+func aO (aP) = {
275+ let aC = aJ(aP)
276+ let am = aJ(aC[1])
277+ let aD = aJ(am[1])
278+ let aE = aJ(aD[1])
279+ let af = aJ(aE[1])
280+[aC[0], am[0], aD[0], aE[0], af[0]]
188281 }
189282
190283
191-func ap (I) = {
192- let aq = {
193- let z = getString(this, I)
194- if ($isInstanceOf(z, "String"))
284+func aQ (aj) = {
285+ let aR = {
286+ let aa = getString(this, aj)
287+ if ($isInstanceOf(aa, "String"))
195288 then {
196- let ar = z
197- ar
289+ let aS = aa
290+ aS
198291 }
199- else throw(("Couldn't find game by " + I))
292+ else throw(("Couldn't find game by " + aj))
200293 }
201- an(aq)
294+ aO(aR)
202295 }
203296
204297
205-func as (I,at,E,au,av,aw) = {
206- let ax = [aw]
207- let ay = [ScriptTransfer(at, E, unit)]
208- if (av)
298+func aT (aj,aU,af,aV,aW,aX) = {
299+ let aY = [aX]
300+ let aZ = [ScriptTransfer(aU, af, unit)]
301+ if (aW)
209302 then {
210- let az = ((au + "_") + Y("TIMEOUT"))
211- let aA = DataEntry(I, az)
212- ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
303+ let ba = ((aV + "_") + ay("TIMEOUT"))
304+ let bb = DataEntry(aj, ba)
305+ ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
213306 }
214307 else {
215- let aA = DataEntry(I, au)
216- ScriptResult(WriteSet(aA :: ax), TransferSet(ay))
308+ let bb = DataEntry(aj, aV)
309+ ScriptResult(WriteSet(bb :: aY), TransferSet(aZ))
217310 }
218311 }
219312
220313
221-@Callable(aB)
222-func withdraw (I,S) = {
223- let aC = ap(I)
224- let ab = aC[m]
225- let L = aC[n]
226- let ad = parseIntValue(aC[p])
227- let E = parseIntValue(aC[q])
228- let ac = aC[o]
229- let at = addressFromPublicKey(fromBase58String(ac))
230- let av = ((height - ad) > c)
231- let aw = H(I, E)
232- if ((ab != u))
314+@Callable(bc)
315+func bet (am) = {
316+ let bd = Y()
317+ let aj = toBase58String(bc.transactionId)
318+ let be = extract(bc.payment)
319+ let bf = isDefined(be.assetId)
320+ let bg = isDefined(be.assetId)
321+ let af = ak(be.amount, am)
322+ let bh = isDefined(getString(this, aj))
323+ if (bf)
324+ then throw("Bet amount must be in Waves")
325+ else if (bg)
326+ then throw("Transaction's fee must be in Waves")
327+ else if (bh)
328+ then throw("Passed txId had been used before. Game aborted.")
329+ else {
330+ let aD = toBase58String(bc.callerPublicKey)
331+ let bi = aB(V, am, aD, height, af, "")
332+ ScriptResult(WriteSet([DataEntry(T, ae(af)), DataEntry(U, bd), DataEntry(aj, bi)]), TransferSet([ScriptTransfer(b, e, unit)]))
333+ }
334+ }
335+
336+
337+
338+@Callable(bc)
339+func withdraw (aj,au) = {
340+ let bj = aQ(aj)
341+ let aC = bj[N]
342+ let am = bj[O]
343+ let aE = parseIntValue(bj[Q])
344+ let af = parseIntValue(bj[R])
345+ let aD = bj[P]
346+ let aU = addressFromPublicKey(fromBase58String(aD))
347+ let aW = ((height - aE) > c)
348+ let aX = ai(aj, af)
349+ if ((aC != V))
233350 then throw("Invalid game state for passed gameId")
234- else if (av)
351+ else if (aW)
235352 then {
236- let W = take(L, 1)
237- let au = aa(v, L, ac, ad, E, W)
238- as(I, at, E, au, av, aw)
353+ let bk = am
354+ let aV = aB(W, am, aD, aE, af, bk)
355+ aT(aj, aU, af, aV, aW, aX)
239356 }
240357 else {
241- let W = P(R(I, S))
242- if (V(L, W))
358+ let aw = at(aj, au)
359+ let bk = ar(aw)
360+ if (ax(am, aw))
243361 then {
244- let au = aa(v, L, ac, ad, E, W)
245- as(I, at, E, au, av, aw)
362+ let aV = aB(W, am, aD, aE, af, bk)
363+ aT(aj, aU, af, aV, aW, aX)
246364 }
247365 else {
248- let au = aa(w, L, ac, ad, E, W)
249- WriteSet([DataEntry(I, au), aw])
366+ let aV = aB(X, am, aD, aE, af, bk)
367+ WriteSet([DataEntry(aj, aV), aX])
250368 }
251369 }
252370 }
253371
254372
255-@Verifier(aD)
256-func aE () = if (sigVerify(aD.bodyBytes, aD.proofs[0], aD.senderPublicKey))
373+@Verifier(bl)
374+func bm () = if (sigVerify(bl.bodyBytes, bl.proofs[0], bl.senderPublicKey))
257375 then {
258- let z = aD
259- if ($isInstanceOf(z, "TransferTransaction"))
376+ let aa = bl
377+ if ($isInstanceOf(aa, "TransferTransaction"))
260378 then {
261- let aF = z
262- ((wavesBalance(this) - aF.amount) >= B())
379+ let bn = aa
380+ ((wavesBalance(this) - bn.amount) >= ac())
263381 }
264- else if ($isInstanceOf(z, "SetScriptTransaction"))
382+ else if ($isInstanceOf(aa, "SetScriptTransaction"))
265383 then {
266- let aG = z
384+ let bo = aa
267385 true
268386 }
269387 else false
270388 }
271389 else false
272390

github/deemru/w8io/873ac7e 
98.46 ms