tx · 3fbQaDV9FX8TZkuyPHZ5teXgbpYW2BXfH2XSYvVNnRFH

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 08:45 [1390244] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "3fbQaDV9FX8TZkuyPHZ5teXgbpYW2BXfH2XSYvVNnRFH", "fee": 1400000, "feeAssetId": null, "timestamp": 1612849572810, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "fhDPDr9kemSdwPyxpsTF11ozVLT3G5RJoUhsvWTLYaStUPStP9LYL8c2H7RRhpPXSPS4zEEQ3s8AKaYRFV6LEeA" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sA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AAATVG9rZW4gaXMgZHVwbGljYXRlZAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgQAAAALY291bnRUb2tlbnMJAQAAABFnZXRTaXplUHJpY2VBcnJheQAAAAAEAAAAEXVwZGF0ZUxvdHRlcnlQb29sCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAAEmxvdHRlcnlwcm9iYWJpbGl0eQUAAAALcHJvYmFiaWxpdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQUAAAAJcG9vbHByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5UHJpY2VzBQAAABJzdG9yZWRUb2tlbnNWYWx1ZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWNvdW50T2ZQcmljZXMFAAAAC2NvdW50VG9rZW5zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAABlsb3R0ZXJ5cHJvYmFiaWxpdHlkZWNpbWFsBQAAAAtwcm9iRGVjaW1hbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAAObG90dGVyeUFzc2V0SWQFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gFAAAABXRva2VuBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAABF1cGRhdGVMb3R0ZXJ5UG9vbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAACnN0YXJ0bG90dG8AAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACHJhbmRoYXNoCQEAAAAKcmFuZG9taXplcgAAAAEFAAAAAWkEAAAADXNpemVUZW1wUHJpY2UJAQAAABFnZXRTaXplUHJpY2VBcnJheQAAAAAEAAAACXByaWNlTGlzdAkBAAAADWdldFByaWNlQXJyYXkAAAAABAAAAApyYW5kTnVtYmVyCQAEsQAAAAEFAAAACHJhbmRoYXNoBAAAAAx3aW5uaW5nVG9rZW4EAAAADSRsaXN0NjM0MTYzNzgFAAAACXByaWNlTGlzdAQAAAANJHNpemU2MzQxNjM3OAkAAZAAAAABBQAAAA0kbGlzdDYzNDE2Mzc4BAAAAA0kYWNjMDYzNDE2Mzc4BQAAAANuaWwDCQAAAAAAAAIFAAAADSRzaXplNjM0MTYzNzgAAAAAAAAAAAAFAAAADSRhY2MwNjM0MTYzNzgEAAAADSRhY2MxNjM0MTYzNzgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzA2MzQxNjM3OAkAAZEAAAACBQAAAA0kbGlzdDYzNDE2Mzc4AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTYzNDE2Mzc4AAAAAAAAAAABBQAAAA0kYWNjMTYzNDE2Mzc4BAAAAA0kYWNjMjYzNDE2Mzc4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MxNjM0MTYzNzgJAAGRAAAAAgUAAAANJGxpc3Q2MzQxNjM3OAAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU2MzQxNjM3OAAAAAAAAAAAAgUAAAANJGFjYzI2MzQxNjM3OAQAAAANJGFjYzM2MzQxNjM3OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMjYzNDE2Mzc4CQABkQAAAAIFAAAADSRsaXN0NjM0MTYzNzgAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNjM0MTYzNzgAAAAAAAAAAAMFAAAADSRhY2MzNjM0MTYzNzgEAAAADSRhY2M0NjM0MTYzNzgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzM2MzQxNjM3OAkAAZEAAAACBQAAAA0kbGlzdDYzNDE2Mzc4AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTYzNDE2Mzc4AAAAAAAAAAAEBQAAAA0kYWNjNDYzNDE2Mzc4BAAAAA0kYWNjNTYzNDE2Mzc4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M0NjM0MTYzNzgJAAGRAAAAAgUAAAANJGxpc3Q2MzQxNjM3OAAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU2MzQxNjM3OAAAAAAAAAAABQUAAAANJGFjYzU2MzQxNjM3OAQAAAANJGFjYzY2MzQxNjM3OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjNTYzNDE2Mzc4CQABkQAAAAIFAAAADSRsaXN0NjM0MTYzNzgAAAAAAAAAAAUJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA1BAAAAA9zaXplT2ZXaW5QcmljZXMJAAGQAAAAAQUAAAAMd2lubmluZ1Rva2VuAwkAAAAAAAACBQAAAA9zaXplT2ZXaW5QcmljZXMAAAAAAAAAAAEEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwEAAAABXRva2VuCQABkQAAAAIFAAAADHdpbm5pbmdUb2tlbgAAAAAAAAAAAQQAAAANY3VycmVudEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAMJAAAAAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAA9BbW91bnQgZXhjZWVkZWQEAAAADGFjdHVhbEFtb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAABBAAAAAp0b2tlblByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAAxsb3R0ZXJ5UHJpY2UEAAAADHRva2VuQXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAObG90dGVyeUFzc2V0SWQDCQAAAAAAAAIFAAAADGFjdHVhbEFtb3VudAAAAAAAAAAAAAQAAAAQYWN0dWFsTGlzdFByaWNlcwQAAAANJGxpc3Q3MTk2NzI0NgUAAAAJcHJpY2VMaXN0BAAAAA0kc2l6ZTcxOTY3MjQ2CQABkAAAAAEFAAAADSRsaXN0NzE5NjcyNDYEAAAADSRhY2MwNzE5NjcyNDYFAAAABXRva2VuAwkAAAAAAAACBQAAAA0kc2l6ZTcxOTY3MjQ2AAAAAAAAAAAABQAAAA0kYWNjMDcxOTY3MjQ2BAAAAA0kYWNjMTcxOTY3MjQ2CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMDcxOTY3MjQ2CQABkQAAAAIFAAAADSRsaXN0NzE5NjcyNDYAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNzE5NjcyNDYAAAAAAAAAAAEFAAAADSRhY2MxNzE5NjcyNDYEAAAADSRhY2MyNzE5NjcyNDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MxNzE5NjcyNDYJAAGRAAAAAgUAAAANJGxpc3Q3MTk2NzI0NgAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemU3MTk2NzI0NgAAAAAAAAAAAgUAAAANJGFjYzI3MTk2NzI0NgQAAAANJGFjYzM3MTk2NzI0NgkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzI3MTk2NzI0NgkAAZEAAAACBQAAAA0kbGlzdDcxOTY3MjQ2AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTcxOTY3MjQ2AAAAAAAAAAADBQAAAA0kYWNjMzcxOTY3MjQ2BAAAAA0kYWNjNDcxOTY3MjQ2CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMzcxOTY3MjQ2CQABkQAAAAIFAAAADSRsaXN0NzE5NjcyNDYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNzE5NjcyNDYAAAAAAAAAAAQFAAAADSRhY2M0NzE5NjcyNDYEAAAADSRhY2M1NzE5NjcyNDYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M0NzE5NjcyNDYJAAGRAAAAAgUAAAANJGxpc3Q3MTk2NzI0NgAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemU3MTk2NzI0NgAAAAAAAAAABQUAAAANJGFjYzU3MTk2NzI0NgQAAAANJGFjYzY3MTk2NzI0NgkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzU3MTk2NzI0NgkAAZEAAAACBQAAAA0kbGlzdDcxOTY3MjQ2AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAD193aW5uaW5nX3Rva2VuXwUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAATX3dpbmlubmluZ19hZGRyZXNzXwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAUAAAAMYWN0dWFsQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5UHJpY2VzBQAAABBhY3R1YWxMaXN0UHJpY2VzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAA9fd2lubmluZ190b2tlbl8FAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAE193aW5pbm5pbmdfYWRkcmVzc18FAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAADGFjdHVhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXIFAAAACnJhbmROdW1iZXIFAAAAA25pbAMJAAAAAAAAAgUAAAAMdG9rZW5Bc3NldElkAgAAAAAEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmeMsvE", "height": 1390244, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: SZGVV3m2tPp4GKVrUQuF2N1eaL5VerZnvm7w7YFGYJF Next: kxr44ELuTr2kxKkMBmQ2HmjdA3uatVYrpx9kxUbBzTs Diff:
OldNewDifferences
104104 then true
105105 else false
106106 let currentAmountBalance = if ((paymentIsDefined == true))
107- then {
108- let tempPrice = 0
109- tempPrice
110- }
107+ then throw("fsdf")
111108 else {
112109 let balance = wavesBalance(this)
113110 balance
147144 let priceList = getPriceArray()
148145 let randNumber = toInt(randhash)
149146 let winningToken = {
150- let $list63666403 = priceList
151- let $size63666403 = size($list63666403)
152- let $acc063666403 = nil
153- if (($size63666403 == 0))
154- then $acc063666403
147+ let $list63416378 = priceList
148+ let $size63416378 = size($list63416378)
149+ let $acc063416378 = nil
150+ if (($size63416378 == 0))
151+ then $acc063416378
155152 else {
156- let $acc163666403 = procedLottery($acc063666403, $list63666403[0])
157- if (($size63666403 == 1))
158- then $acc163666403
153+ let $acc163416378 = procedLottery($acc063416378, $list63416378[0])
154+ if (($size63416378 == 1))
155+ then $acc163416378
159156 else {
160- let $acc263666403 = procedLottery($acc163666403, $list63666403[1])
161- if (($size63666403 == 2))
162- then $acc263666403
157+ let $acc263416378 = procedLottery($acc163416378, $list63416378[1])
158+ if (($size63416378 == 2))
159+ then $acc263416378
163160 else {
164- let $acc363666403 = procedLottery($acc263666403, $list63666403[2])
165- if (($size63666403 == 3))
166- then $acc363666403
161+ let $acc363416378 = procedLottery($acc263416378, $list63416378[2])
162+ if (($size63416378 == 3))
163+ then $acc363416378
167164 else {
168- let $acc463666403 = procedLottery($acc363666403, $list63666403[3])
169- if (($size63666403 == 4))
170- then $acc463666403
165+ let $acc463416378 = procedLottery($acc363416378, $list63416378[3])
166+ if (($size63416378 == 4))
167+ then $acc463416378
171168 else {
172- let $acc563666403 = procedLottery($acc463666403, $list63666403[4])
173- if (($size63666403 == 5))
174- then $acc563666403
169+ let $acc563416378 = procedLottery($acc463416378, $list63416378[4])
170+ if (($size63416378 == 5))
171+ then $acc563416378
175172 else {
176- let $acc663666403 = procedLottery($acc563666403, $list63666403[5])
173+ let $acc663416378 = procedLottery($acc563416378, $list63416378[5])
177174 throw("List size exceed 5")
178175 }
179176 }
200197 if ((actualAmount == 0))
201198 then {
202199 let actualListPrices = {
203- let $list72217271 = priceList
204- let $size72217271 = size($list72217271)
205- let $acc072217271 = token
206- if (($size72217271 == 0))
207- then $acc072217271
200+ let $list71967246 = priceList
201+ let $size71967246 = size($list71967246)
202+ let $acc071967246 = token
203+ if (($size71967246 == 0))
204+ then $acc071967246
208205 else {
209- let $acc172217271 = generateNewListOfPrices($acc072217271, $list72217271[0])
210- if (($size72217271 == 1))
211- then $acc172217271
206+ let $acc171967246 = generateNewListOfPrices($acc071967246, $list71967246[0])
207+ if (($size71967246 == 1))
208+ then $acc171967246
212209 else {
213- let $acc272217271 = generateNewListOfPrices($acc172217271, $list72217271[1])
214- if (($size72217271 == 2))
215- then $acc272217271
210+ let $acc271967246 = generateNewListOfPrices($acc171967246, $list71967246[1])
211+ if (($size71967246 == 2))
212+ then $acc271967246
216213 else {
217- let $acc372217271 = generateNewListOfPrices($acc272217271, $list72217271[2])
218- if (($size72217271 == 3))
219- then $acc372217271
214+ let $acc371967246 = generateNewListOfPrices($acc271967246, $list71967246[2])
215+ if (($size71967246 == 3))
216+ then $acc371967246
220217 else {
221- let $acc472217271 = generateNewListOfPrices($acc372217271, $list72217271[3])
222- if (($size72217271 == 4))
223- then $acc472217271
218+ let $acc471967246 = generateNewListOfPrices($acc371967246, $list71967246[3])
219+ if (($size71967246 == 4))
220+ then $acc471967246
224221 else {
225- let $acc572217271 = generateNewListOfPrices($acc472217271, $list72217271[4])
226- if (($size72217271 == 5))
227- then $acc572217271
222+ let $acc571967246 = generateNewListOfPrices($acc471967246, $list71967246[4])
223+ if (($size71967246 == 5))
224+ then $acc571967246
228225 else {
229- let $acc672217271 = generateNewListOfPrices($acc572217271, $list72217271[5])
226+ let $acc671967246 = generateNewListOfPrices($acc571967246, $list71967246[5])
230227 throw("List size exceed 5")
231228 }
232229 }
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))
107- then {
108- let tempPrice = 0
109- tempPrice
110- }
107+ then throw("fsdf")
111108 else {
112109 let balance = wavesBalance(this)
113110 balance
114111 }
115112 let totalRequiredAmount = (amount * poolprice)
116113 if ((totalRequiredAmount > currentAmountBalance))
117114 then throw("Payment Balance is not equal price")
118115 else {
119116 let tempValue = match getString(this, lotteryPrices) {
120117 case a: String =>
121118 a
122119 case _ =>
123120 ""
124121 }
125122 let containKey = indexOf(tempValue, token)
126123 let storedTokensValues = match containKey {
127124 case _: Unit =>
128125 ((tempValue + token) + ",")
129126 case x: Int =>
130127 throw("Token is duplicated")
131128 case _ =>
132129 throw("Match error")
133130 }
134131 let countTokens = getSizePriceArray()
135132 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)])
136133 ScriptResult(updateLotteryPool, TransferSet(nil))
137134 }
138135 }
139136
140137
141138
142139 @Callable(i)
143140 func startlotto () = {
144141 let currentKey = toBase58String(i.caller.bytes)
145142 let randhash = randomizer(i)
146143 let sizeTempPrice = getSizePriceArray()
147144 let priceList = getPriceArray()
148145 let randNumber = toInt(randhash)
149146 let winningToken = {
150- let $list63666403 = priceList
151- let $size63666403 = size($list63666403)
152- let $acc063666403 = nil
153- if (($size63666403 == 0))
154- then $acc063666403
147+ let $list63416378 = priceList
148+ let $size63416378 = size($list63416378)
149+ let $acc063416378 = nil
150+ if (($size63416378 == 0))
151+ then $acc063416378
155152 else {
156- let $acc163666403 = procedLottery($acc063666403, $list63666403[0])
157- if (($size63666403 == 1))
158- then $acc163666403
153+ let $acc163416378 = procedLottery($acc063416378, $list63416378[0])
154+ if (($size63416378 == 1))
155+ then $acc163416378
159156 else {
160- let $acc263666403 = procedLottery($acc163666403, $list63666403[1])
161- if (($size63666403 == 2))
162- then $acc263666403
157+ let $acc263416378 = procedLottery($acc163416378, $list63416378[1])
158+ if (($size63416378 == 2))
159+ then $acc263416378
163160 else {
164- let $acc363666403 = procedLottery($acc263666403, $list63666403[2])
165- if (($size63666403 == 3))
166- then $acc363666403
161+ let $acc363416378 = procedLottery($acc263416378, $list63416378[2])
162+ if (($size63416378 == 3))
163+ then $acc363416378
167164 else {
168- let $acc463666403 = procedLottery($acc363666403, $list63666403[3])
169- if (($size63666403 == 4))
170- then $acc463666403
165+ let $acc463416378 = procedLottery($acc363416378, $list63416378[3])
166+ if (($size63416378 == 4))
167+ then $acc463416378
171168 else {
172- let $acc563666403 = procedLottery($acc463666403, $list63666403[4])
173- if (($size63666403 == 5))
174- then $acc563666403
169+ let $acc563416378 = procedLottery($acc463416378, $list63416378[4])
170+ if (($size63416378 == 5))
171+ then $acc563416378
175172 else {
176- let $acc663666403 = procedLottery($acc563666403, $list63666403[5])
173+ let $acc663416378 = procedLottery($acc563416378, $list63416378[5])
177174 throw("List size exceed 5")
178175 }
179176 }
180177 }
181178 }
182179 }
183180 }
184181 }
185182 let sizeOfWinPrices = size(winningToken)
186183 if ((sizeOfWinPrices == 1))
187184 then {
188185 let writeSets = WriteSet(nil)
189186 ScriptResult(writeSets, TransferSet(nil))
190187 }
191188 else {
192189 let token = winningToken[1]
193190 let currentAmount = getIntegerValue(this, (token + lotteryamount))
194191 if ((currentAmount == 0))
195192 then throw("Amount exceeded")
196193 else {
197194 let actualAmount = (currentAmount - 1)
198195 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
199196 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
200197 if ((actualAmount == 0))
201198 then {
202199 let actualListPrices = {
203- let $list72217271 = priceList
204- let $size72217271 = size($list72217271)
205- let $acc072217271 = token
206- if (($size72217271 == 0))
207- then $acc072217271
200+ let $list71967246 = priceList
201+ let $size71967246 = size($list71967246)
202+ let $acc071967246 = token
203+ if (($size71967246 == 0))
204+ then $acc071967246
208205 else {
209- let $acc172217271 = generateNewListOfPrices($acc072217271, $list72217271[0])
210- if (($size72217271 == 1))
211- then $acc172217271
206+ let $acc171967246 = generateNewListOfPrices($acc071967246, $list71967246[0])
207+ if (($size71967246 == 1))
208+ then $acc171967246
212209 else {
213- let $acc272217271 = generateNewListOfPrices($acc172217271, $list72217271[1])
214- if (($size72217271 == 2))
215- then $acc272217271
210+ let $acc271967246 = generateNewListOfPrices($acc171967246, $list71967246[1])
211+ if (($size71967246 == 2))
212+ then $acc271967246
216213 else {
217- let $acc372217271 = generateNewListOfPrices($acc272217271, $list72217271[2])
218- if (($size72217271 == 3))
219- then $acc372217271
214+ let $acc371967246 = generateNewListOfPrices($acc271967246, $list71967246[2])
215+ if (($size71967246 == 3))
216+ then $acc371967246
220217 else {
221- let $acc472217271 = generateNewListOfPrices($acc372217271, $list72217271[3])
222- if (($size72217271 == 4))
223- then $acc472217271
218+ let $acc471967246 = generateNewListOfPrices($acc371967246, $list71967246[3])
219+ if (($size71967246 == 4))
220+ then $acc471967246
224221 else {
225- let $acc572217271 = generateNewListOfPrices($acc472217271, $list72217271[4])
226- if (($size72217271 == 5))
227- then $acc572217271
222+ let $acc571967246 = generateNewListOfPrices($acc471967246, $list71967246[4])
223+ if (($size71967246 == 5))
224+ then $acc571967246
228225 else {
229- let $acc672217271 = generateNewListOfPrices($acc572217271, $list72217271[5])
226+ let $acc671967246 = generateNewListOfPrices($acc571967246, $list71967246[5])
230227 throw("List size exceed 5")
231228 }
232229 }
233230 }
234231 }
235232 }
236233 }
237234 }
238235 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry((token + lotteryPrices), actualListPrices), DataEntry(lastHashRandomNumber, randNumber)])
239236 if ((tokenAssetId == ""))
240237 then {
241238 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
242239 ScriptResult(writeSets, winTransfer)
243240 }
244241 else {
245242 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
246243 ScriptResult(writeSets, winTransfer)
247244 }
248245 }
249246 else {
250247 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
251248 if ((tokenAssetId == ""))
252249 then {
253250 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
254251 ScriptResult(writeSets, winTransfer)
255252 }
256253 else {
257254 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
258255 ScriptResult(writeSets, winTransfer)
259256 }
260257 }
261258 }
262259 }
263260 }
264261
265262
266263 @Verifier(tx)
267264 func verify () = match tx {
268265 case _: DataTransaction =>
269266 true
270267 case _: SetScriptTransaction =>
271268 true
272269 case _ =>
273270 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
274271 }
275272

github/deemru/w8io/873ac7e 
97.43 ms