tx · SZGVV3m2tPp4GKVrUQuF2N1eaL5VerZnvm7w7YFGYJF

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 08:44 [1390241] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "SZGVV3m2tPp4GKVrUQuF2N1eaL5VerZnvm7w7YFGYJF", "fee": 1400000, "feeAssetId": null, "timestamp": 1612849439355, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "3irezJuwukR1AWWxmGX2YQmtSSyDN5oLwNwnwkDR7eU6PETfkfzYB1RhRdgskiU3Hvb2rV1myhpdWEXvTcJmbYCx" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sA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EXVwZGF0ZXByb2JhYmlsaXR5AAAABQAAAAtwcm9iYWJpbGl0eQAAAAZhbW91bnQAAAAJcG9vbHByaWNlAAAAC3Byb2JEZWNpbWFsAAAAB2Fzc2V0SWQEAAAABXRva2VuCQACWgAAAAEJAQAAABNnZW5lcmF0b3JSYW5kb21IYXNoAAAAAQUAAAABaQQAAAAQcGF5bWVudElzRGVmaW5lZAMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAFpAAAAB3BheW1lbnQHBgQAAAAObG90dGVyeUFzc2V0VE4DCQAAAAAAAAIFAAAAB2Fzc2V0SWQCAAAAAAYHBAAAABRjdXJyZW50QW1vdW50QmFsYW5jZQMJAAAAAAAAAgUAAAAQcGF5bWVudElzRGVmaW5lZAYEAAAACXRlbXBQcmljZQAAAAAAAAAAAAUAAAAJdGVtcFByaWNlBAAAAAdiYWxhbmNlCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwUAAAAHYmFsYW5jZQQAAAATdG90YWxSZXF1aXJlZEFtb3VudAkAAGgAAAACBQAAAAZhbW91bnQFAAAACXBvb2xwcmljZQMJAABmAAAAAgUAAAATdG90YWxSZXF1aXJlZEFtb3VudAUAAAAUY3VycmVudEFtb3VudEJhbGFuY2UJAAACAAAAAQIAAAAiUGF5bWVudCBCYWxhbmNlIGlzIG5vdCBlcXVhbCBwcmljZQQAAAAJdGVtcFZhbHVlBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAADWxvdHRlcnlQcmljZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAABAAAAApjb250YWluS2V5CQAEswAAAAIFAAAACXRlbXBWYWx1ZQUAAAAFdG9rZW4EAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwQAAAAHJG1hdGNoMAUAAAAKY29udGFpbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAkAASwAAAACCQABLAAAAAIFAAAACXRlbXBWYWx1ZQUAAAAFdG9rZW4CAAAAASwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABeAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAABNUb2tlbiBpcyBkdXBsaWNhdGVkCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAAtjb3VudFRva2VucwkBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAASbG90dGVyeXByb2JhYmlsaXR5BQAAAAtwcm9iYWJpbGl0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAAMbG90dGVyeVByaWNlBQAAAAlwb29scHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlQcmljZXMFAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANY291bnRPZlByaWNlcwUAAAALY291bnRUb2tlbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwFAAAAC3Byb2JEZWNpbWFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA5sb3R0ZXJ5QXNzZXRJZAUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAATbGFzdFRva2VuUmFuZG9tSGFzaAUAAAAFdG9rZW4FAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAAEXVwZGF0ZUxvdHRlcnlQb29sCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwAAAABaQEAAAAKc3RhcnRsb3R0bwAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAABaQQAAAANc2l6ZVRlbXBQcmljZQkBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAAJcHJpY2VMaXN0CQEAAAANZ2V0UHJpY2VBcnJheQAAAAAEAAAACnJhbmROdW1iZXIJAASxAAAAAQUAAAAIcmFuZGhhc2gEAAAADHdpbm5pbmdUb2tlbgQAAAANJGxpc3Q2MzY2NjQwMwUAAAAJcHJpY2VMaXN0BAAAAA0kc2l6ZTYzNjY2NDAzCQABkAAAAAEFAAAADSRsaXN0NjM2NjY0MDMEAAAADSRhY2MwNjM2NjY0MDMFAAAAA25pbAMJAAAAAAAAAgUAAAANJHNpemU2MzY2NjQwMwAAAAAAAAAAAAUAAAANJGFjYzA2MzY2NjQwMwQAAAANJGFjYzE2MzY2NjQwMwkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMDYzNjY2NDAzCQABkQAAAAIFAAAADSRsaXN0NjM2NjY0MDMAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNjM2NjY0MDMAAAAAAAAAAAEFAAAADSRhY2MxNjM2NjY0MDMEAAAADSRhY2MyNjM2NjY0MDMJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzE2MzY2NjQwMwkAAZEAAAACBQAAAA0kbGlzdDYzNjY2NDAzAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTYzNjY2NDAzAAAAAAAAAAACBQAAAA0kYWNjMjYzNjY2NDAzBAAAAA0kYWNjMzYzNjY2NDAzCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MyNjM2NjY0MDMJAAGRAAAAAgUAAAANJGxpc3Q2MzY2NjQwMwAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU2MzY2NjQwMwAAAAAAAAAAAwUAAAANJGFjYzM2MzY2NjQwMwQAAAANJGFjYzQ2MzY2NjQwMwkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMzYzNjY2NDAzCQABkQAAAAIFAAAADSRsaXN0NjM2NjY0MDMAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNjM2NjY0MDMAAAAAAAAAAAQFAAAADSRhY2M0NjM2NjY0MDMEAAAADSRhY2M1NjM2NjY0MDMJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzQ2MzY2NjQwMwkAAZEAAAACBQAAAA0kbGlzdDYzNjY2NDAzAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTYzNjY2NDAzAAAAAAAAAAAFBQAAAA0kYWNjNTYzNjY2NDAzBAAAAA0kYWNjNjYzNjY2NDAzCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M1NjM2NjY0MDMJAAGRAAAAAgUAAAANJGxpc3Q2MzY2NjQwMwAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAAD3NpemVPZldpblByaWNlcwkAAZAAAAABBQAAAAx3aW5uaW5nVG9rZW4DCQAAAAAAAAIFAAAAD3NpemVPZldpblByaWNlcwAAAAAAAAAAAQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAQAAAAFdG9rZW4JAAGRAAAAAgUAAAAMd2lubmluZ1Rva2VuAAAAAAAAAAABBAAAAA1jdXJyZW50QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50AwkAAAAAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAD0Ftb3VudCBleGNlZWRlZAQAAAAMYWN0dWFsQW1vdW50CQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEEAAAACnRva2VuUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQQAAAAMdG9rZW5Bc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA5sb3R0ZXJ5QXNzZXRJZAMJAAAAAAAAAgUAAAAMYWN0dWFsQW1vdW50AAAAAAAAAAAABAAAABBhY3R1YWxMaXN0UHJpY2VzBAAAAA0kbGlzdDcyMjE3MjcxBQAAAAlwcmljZUxpc3QEAAAADSRzaXplNzIyMTcyNzEJAAGQAAAAAQUAAAANJGxpc3Q3MjIxNzI3MQQAAAANJGFjYzA3MjIxNzI3MQUAAAAFdG9rZW4DCQAAAAAAAAIFAAAADSRzaXplNzIyMTcyNzEAAAAAAAAAAAAFAAAADSRhY2MwNzIyMTcyNzEEAAAADSRhY2MxNzIyMTcyNzEJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MwNzIyMTcyNzEJAAGRAAAAAgUAAAANJGxpc3Q3MjIxNzI3MQAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU3MjIxNzI3MQAAAAAAAAAAAQUAAAANJGFjYzE3MjIxNzI3MQQAAAANJGFjYzI3MjIxNzI3MQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzE3MjIxNzI3MQkAAZEAAAACBQAAAA0kbGlzdDcyMjE3MjcxAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTcyMjE3MjcxAAAAAAAAAAACBQAAAA0kYWNjMjcyMjE3MjcxBAAAAA0kYWNjMzcyMjE3MjcxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMjcyMjE3MjcxCQABkQAAAAIFAAAADSRsaXN0NzIyMTcyNzEAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNzIyMTcyNzEAAAAAAAAAAAMFAAAADSRhY2MzNzIyMTcyNzEEAAAADSRhY2M0NzIyMTcyNzEJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MzNzIyMTcyNzEJAAGRAAAAAgUAAAANJGxpc3Q3MjIxNzI3MQAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU3MjIxNzI3MQAAAAAAAAAABAUAAAANJGFjYzQ3MjIxNzI3MQQAAAANJGFjYzU3MjIxNzI3MQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzQ3MjIxNzI3MQkAAZEAAAACBQAAAA0kbGlzdDcyMjE3MjcxAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTcyMjE3MjcxAAAAAAAAAAAFBQAAAA0kYWNjNTcyMjE3MjcxBAAAAA0kYWNjNjcyMjE3MjcxCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNTcyMjE3MjcxCQABkQAAAAIFAAAADSRsaXN0NzIyMTcyNzEAAAAAAAAAAAUJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA1BAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAPX3dpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAABNfd2luaW5uaW5nX2FkZHJlc3NfBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50BQAAAAxhY3R1YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlQcmljZXMFAAAAEGFjdHVhbExpc3RQcmljZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyBQAAAApyYW5kTnVtYmVyBQAAAANuaWwDCQAAAAAAAAIFAAAADHRva2VuQXNzZXRJZAIAAAAABAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAD193aW5uaW5nX3Rva2VuXwUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAATX3dpbmlubmluZ19hZGRyZXNzXwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAUAAAAMYWN0dWFsQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlebRwXFg=", "height": 1390241, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3B18MqpYUD5VPpMv8T36cTVCNJYD2Bef4zFvRARezPqj Next: 3fbQaDV9FX8TZkuyPHZ5teXgbpYW2BXfH2XSYvVNnRFH Diff:
OldNewDifferences
105105 else false
106106 let currentAmountBalance = if ((paymentIsDefined == true))
107107 then {
108- let tempPrice = 120
108+ let tempPrice = 0
109109 tempPrice
110110 }
111111 else {
113113 balance
114114 }
115115 let totalRequiredAmount = (amount * poolprice)
116- if ((totalRequiredAmount > 0))
116+ if ((totalRequiredAmount > currentAmountBalance))
117117 then throw("Payment Balance is not equal price")
118118 else {
119119 let tempValue = match getString(this, lotteryPrices) {
147147 let priceList = getPriceArray()
148148 let randNumber = toInt(randhash)
149149 let winningToken = {
150- let $list63496386 = priceList
151- let $size63496386 = size($list63496386)
152- let $acc063496386 = nil
153- if (($size63496386 == 0))
154- then $acc063496386
150+ let $list63666403 = priceList
151+ let $size63666403 = size($list63666403)
152+ let $acc063666403 = nil
153+ if (($size63666403 == 0))
154+ then $acc063666403
155155 else {
156- let $acc163496386 = procedLottery($acc063496386, $list63496386[0])
157- if (($size63496386 == 1))
158- then $acc163496386
156+ let $acc163666403 = procedLottery($acc063666403, $list63666403[0])
157+ if (($size63666403 == 1))
158+ then $acc163666403
159159 else {
160- let $acc263496386 = procedLottery($acc163496386, $list63496386[1])
161- if (($size63496386 == 2))
162- then $acc263496386
160+ let $acc263666403 = procedLottery($acc163666403, $list63666403[1])
161+ if (($size63666403 == 2))
162+ then $acc263666403
163163 else {
164- let $acc363496386 = procedLottery($acc263496386, $list63496386[2])
165- if (($size63496386 == 3))
166- then $acc363496386
164+ let $acc363666403 = procedLottery($acc263666403, $list63666403[2])
165+ if (($size63666403 == 3))
166+ then $acc363666403
167167 else {
168- let $acc463496386 = procedLottery($acc363496386, $list63496386[3])
169- if (($size63496386 == 4))
170- then $acc463496386
168+ let $acc463666403 = procedLottery($acc363666403, $list63666403[3])
169+ if (($size63666403 == 4))
170+ then $acc463666403
171171 else {
172- let $acc563496386 = procedLottery($acc463496386, $list63496386[4])
173- if (($size63496386 == 5))
174- then $acc563496386
172+ let $acc563666403 = procedLottery($acc463666403, $list63666403[4])
173+ if (($size63666403 == 5))
174+ then $acc563666403
175175 else {
176- let $acc663496386 = procedLottery($acc563496386, $list63496386[5])
176+ let $acc663666403 = procedLottery($acc563666403, $list63666403[5])
177177 throw("List size exceed 5")
178178 }
179179 }
200200 if ((actualAmount == 0))
201201 then {
202202 let actualListPrices = {
203- let $list72047254 = priceList
204- let $size72047254 = size($list72047254)
205- let $acc072047254 = token
206- if (($size72047254 == 0))
207- then $acc072047254
203+ let $list72217271 = priceList
204+ let $size72217271 = size($list72217271)
205+ let $acc072217271 = token
206+ if (($size72217271 == 0))
207+ then $acc072217271
208208 else {
209- let $acc172047254 = generateNewListOfPrices($acc072047254, $list72047254[0])
210- if (($size72047254 == 1))
211- then $acc172047254
209+ let $acc172217271 = generateNewListOfPrices($acc072217271, $list72217271[0])
210+ if (($size72217271 == 1))
211+ then $acc172217271
212212 else {
213- let $acc272047254 = generateNewListOfPrices($acc172047254, $list72047254[1])
214- if (($size72047254 == 2))
215- then $acc272047254
213+ let $acc272217271 = generateNewListOfPrices($acc172217271, $list72217271[1])
214+ if (($size72217271 == 2))
215+ then $acc272217271
216216 else {
217- let $acc372047254 = generateNewListOfPrices($acc272047254, $list72047254[2])
218- if (($size72047254 == 3))
219- then $acc372047254
217+ let $acc372217271 = generateNewListOfPrices($acc272217271, $list72217271[2])
218+ if (($size72217271 == 3))
219+ then $acc372217271
220220 else {
221- let $acc472047254 = generateNewListOfPrices($acc372047254, $list72047254[3])
222- if (($size72047254 == 4))
223- then $acc472047254
221+ let $acc472217271 = generateNewListOfPrices($acc372217271, $list72217271[3])
222+ if (($size72217271 == 4))
223+ then $acc472217271
224224 else {
225- let $acc572047254 = generateNewListOfPrices($acc472047254, $list72047254[4])
226- if (($size72047254 == 5))
227- then $acc572047254
225+ let $acc572217271 = generateNewListOfPrices($acc472217271, $list72217271[4])
226+ if (($size72217271 == 5))
227+ then $acc572217271
228228 else {
229- let $acc672047254 = generateNewListOfPrices($acc572047254, $list72047254[5])
229+ let $acc672217271 = generateNewListOfPrices($acc572217271, $list72217271[5])
230230 throw("List size exceed 5")
231231 }
232232 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lotteryamount = "_amount"
55
66 let lotteryprobability = "_probability"
77
88 let lotteryprobabilitydecimal = "_probability_decimal"
99
1010 let lotteryPrice = "_price"
1111
1212 let lotteryPrices = "_lottery_prices"
1313
1414 let lotteryAssetId = "_lottery_asset_id"
1515
1616 let countOfPrices = "_count_prices"
1717
1818 let lastHashRandomNumber = "last_spin_random_hash"
1919
2020 let lastTokenRandomHash = "last_token_random_hash"
2121
2222 let dAppAddres = "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV"
2323
2424 func randomizer (inv) = {
2525 let lastPlay = match getBinary(this, lastHashRandomNumber) {
2626 case s: ByteVector =>
2727 s
2828 case _: Unit =>
2929 base58'2ee4oFDYriWJ9EMeR'
3030 case _ =>
3131 throw("Match error")
3232 }
3333 let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
3434 sha256(rand)
3535 }
3636
3737
3838 func generatorRandomHash (inv) = {
3939 let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
4040 case s: ByteVector =>
4141 s
4242 case _: Unit =>
4343 base58'4dD7osCQzvuXJdTiGfKvTwnKT'
4444 case _ =>
4545 throw("Match error")
4646 }
4747 let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
4848 sha256(rand)
4949 }
5050
5151
5252 func getSizePriceArray () = {
5353 let tempPrices = getStringValue(this, lotteryPrices)
5454 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5555 let pricesArray = split(trimPrices, ",")
5656 let listSize = size(pricesArray)
5757 listSize
5858 }
5959
6060
6161 func getPriceArray () = {
6262 let tempPrices = getStringValue(this, lotteryPrices)
6363 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
6464 let newArray = split(trimPrices, ",")
6565 newArray
6666 }
6767
6868
6969 func generateNewListOfPrices (token,val) = {
7070 let indexOfComma = indexOf(token, ",")
7171 if ((indexOfComma == unit))
7272 then (val + ",")
7373 else ((token + val) + ",")
7474 }
7575
7676
7777 func procedLottery (win,token) = {
7878 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
7979 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
8080 let probabilityValue = (tokenProbabilityDecimal * 1000)
8181 let hash = (tokenProbabilityDecimal % probabilityValue)
8282 let sizeOfWin = size(win)
8383 if ((sizeOfWin == 1))
8484 then {
8585 let randomNumber = win[0]
8686 if ((probabilityValue > hash))
8787 then {
8888 let newList = token :: win
8989 newList
9090 }
9191 else win
9292 }
9393 else win
9494 }
9595
9696
9797 @Callable(i)
9898 func updateprobability (probability,amount,poolprice,probDecimal,assetId) = {
9999 let token = toBase64String(generatorRandomHash(i))
100100 let paymentIsDefined = if (!(isDefined(i.payment)))
101101 then false
102102 else true
103103 let lotteryAssetTN = if ((assetId == ""))
104104 then true
105105 else false
106106 let currentAmountBalance = if ((paymentIsDefined == true))
107107 then {
108- let tempPrice = 120
108+ let tempPrice = 0
109109 tempPrice
110110 }
111111 else {
112112 let balance = wavesBalance(this)
113113 balance
114114 }
115115 let totalRequiredAmount = (amount * poolprice)
116- if ((totalRequiredAmount > 0))
116+ if ((totalRequiredAmount > currentAmountBalance))
117117 then throw("Payment Balance is not equal price")
118118 else {
119119 let tempValue = match getString(this, lotteryPrices) {
120120 case a: String =>
121121 a
122122 case _ =>
123123 ""
124124 }
125125 let containKey = indexOf(tempValue, token)
126126 let storedTokensValues = match containKey {
127127 case _: Unit =>
128128 ((tempValue + token) + ",")
129129 case x: Int =>
130130 throw("Token is duplicated")
131131 case _ =>
132132 throw("Match error")
133133 }
134134 let countTokens = getSizePriceArray()
135135 let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry((token + lotteryPrices), storedTokensValues), DataEntry((token + countOfPrices), countTokens), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry((token + lastTokenRandomHash), token)])
136136 ScriptResult(updateLotteryPool, TransferSet(nil))
137137 }
138138 }
139139
140140
141141
142142 @Callable(i)
143143 func startlotto () = {
144144 let currentKey = toBase58String(i.caller.bytes)
145145 let randhash = randomizer(i)
146146 let sizeTempPrice = getSizePriceArray()
147147 let priceList = getPriceArray()
148148 let randNumber = toInt(randhash)
149149 let winningToken = {
150- let $list63496386 = priceList
151- let $size63496386 = size($list63496386)
152- let $acc063496386 = nil
153- if (($size63496386 == 0))
154- then $acc063496386
150+ let $list63666403 = priceList
151+ let $size63666403 = size($list63666403)
152+ let $acc063666403 = nil
153+ if (($size63666403 == 0))
154+ then $acc063666403
155155 else {
156- let $acc163496386 = procedLottery($acc063496386, $list63496386[0])
157- if (($size63496386 == 1))
158- then $acc163496386
156+ let $acc163666403 = procedLottery($acc063666403, $list63666403[0])
157+ if (($size63666403 == 1))
158+ then $acc163666403
159159 else {
160- let $acc263496386 = procedLottery($acc163496386, $list63496386[1])
161- if (($size63496386 == 2))
162- then $acc263496386
160+ let $acc263666403 = procedLottery($acc163666403, $list63666403[1])
161+ if (($size63666403 == 2))
162+ then $acc263666403
163163 else {
164- let $acc363496386 = procedLottery($acc263496386, $list63496386[2])
165- if (($size63496386 == 3))
166- then $acc363496386
164+ let $acc363666403 = procedLottery($acc263666403, $list63666403[2])
165+ if (($size63666403 == 3))
166+ then $acc363666403
167167 else {
168- let $acc463496386 = procedLottery($acc363496386, $list63496386[3])
169- if (($size63496386 == 4))
170- then $acc463496386
168+ let $acc463666403 = procedLottery($acc363666403, $list63666403[3])
169+ if (($size63666403 == 4))
170+ then $acc463666403
171171 else {
172- let $acc563496386 = procedLottery($acc463496386, $list63496386[4])
173- if (($size63496386 == 5))
174- then $acc563496386
172+ let $acc563666403 = procedLottery($acc463666403, $list63666403[4])
173+ if (($size63666403 == 5))
174+ then $acc563666403
175175 else {
176- let $acc663496386 = procedLottery($acc563496386, $list63496386[5])
176+ let $acc663666403 = procedLottery($acc563666403, $list63666403[5])
177177 throw("List size exceed 5")
178178 }
179179 }
180180 }
181181 }
182182 }
183183 }
184184 }
185185 let sizeOfWinPrices = size(winningToken)
186186 if ((sizeOfWinPrices == 1))
187187 then {
188188 let writeSets = WriteSet(nil)
189189 ScriptResult(writeSets, TransferSet(nil))
190190 }
191191 else {
192192 let token = winningToken[1]
193193 let currentAmount = getIntegerValue(this, (token + lotteryamount))
194194 if ((currentAmount == 0))
195195 then throw("Amount exceeded")
196196 else {
197197 let actualAmount = (currentAmount - 1)
198198 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
199199 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
200200 if ((actualAmount == 0))
201201 then {
202202 let actualListPrices = {
203- let $list72047254 = priceList
204- let $size72047254 = size($list72047254)
205- let $acc072047254 = token
206- if (($size72047254 == 0))
207- then $acc072047254
203+ let $list72217271 = priceList
204+ let $size72217271 = size($list72217271)
205+ let $acc072217271 = token
206+ if (($size72217271 == 0))
207+ then $acc072217271
208208 else {
209- let $acc172047254 = generateNewListOfPrices($acc072047254, $list72047254[0])
210- if (($size72047254 == 1))
211- then $acc172047254
209+ let $acc172217271 = generateNewListOfPrices($acc072217271, $list72217271[0])
210+ if (($size72217271 == 1))
211+ then $acc172217271
212212 else {
213- let $acc272047254 = generateNewListOfPrices($acc172047254, $list72047254[1])
214- if (($size72047254 == 2))
215- then $acc272047254
213+ let $acc272217271 = generateNewListOfPrices($acc172217271, $list72217271[1])
214+ if (($size72217271 == 2))
215+ then $acc272217271
216216 else {
217- let $acc372047254 = generateNewListOfPrices($acc272047254, $list72047254[2])
218- if (($size72047254 == 3))
219- then $acc372047254
217+ let $acc372217271 = generateNewListOfPrices($acc272217271, $list72217271[2])
218+ if (($size72217271 == 3))
219+ then $acc372217271
220220 else {
221- let $acc472047254 = generateNewListOfPrices($acc372047254, $list72047254[3])
222- if (($size72047254 == 4))
223- then $acc472047254
221+ let $acc472217271 = generateNewListOfPrices($acc372217271, $list72217271[3])
222+ if (($size72217271 == 4))
223+ then $acc472217271
224224 else {
225- let $acc572047254 = generateNewListOfPrices($acc472047254, $list72047254[4])
226- if (($size72047254 == 5))
227- then $acc572047254
225+ let $acc572217271 = generateNewListOfPrices($acc472217271, $list72217271[4])
226+ if (($size72217271 == 5))
227+ then $acc572217271
228228 else {
229- let $acc672047254 = generateNewListOfPrices($acc572047254, $list72047254[5])
229+ let $acc672217271 = generateNewListOfPrices($acc572217271, $list72217271[5])
230230 throw("List size exceed 5")
231231 }
232232 }
233233 }
234234 }
235235 }
236236 }
237237 }
238238 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry((token + lotteryPrices), actualListPrices), DataEntry(lastHashRandomNumber, randNumber)])
239239 if ((tokenAssetId == ""))
240240 then {
241241 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
242242 ScriptResult(writeSets, winTransfer)
243243 }
244244 else {
245245 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
246246 ScriptResult(writeSets, winTransfer)
247247 }
248248 }
249249 else {
250250 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
251251 if ((tokenAssetId == ""))
252252 then {
253253 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
254254 ScriptResult(writeSets, winTransfer)
255255 }
256256 else {
257257 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
258258 ScriptResult(writeSets, winTransfer)
259259 }
260260 }
261261 }
262262 }
263263 }
264264
265265
266266 @Verifier(tx)
267267 func verify () = match tx {
268268 case _: DataTransaction =>
269269 true
270270 case _: SetScriptTransaction =>
271271 true
272272 case _ =>
273273 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
274274 }
275275

github/deemru/w8io/c3f4982 
65.17 ms