tx · J2ika7oekDoT5BiA9iZf2hhs7oeSgt8X9hxGDNacJvgR

3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD:  -0.01400000 Waves

2021.02.09 11:08 [1390382] smart account 3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD > SELF 0.00000000 Waves

{ "type": 13, "id": "J2ika7oekDoT5BiA9iZf2hhs7oeSgt8X9hxGDNacJvgR", "fee": 1400000, "feeAssetId": null, "timestamp": 1612858124779, "version": 2, "chainId": 84, "sender": "3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD", "senderPublicKey": "Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8", "proofs": [ "4YzWg6Y1qwoi3nqXxbFnXTaZ42GEpCN9WEBZLohzqDbYaGDy5bSCtrSaRLPGA8NkLSpTdXDA5F2VswEEF44dsEgn" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAAAAABBhbGxvd1NpemVMb3R0ZXJ5AAAAAAAAAAAOAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGlt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CAUAAAANJGFjYzg3MjUxNzI4OQQAAAANJGFjYzk3MjUxNzI4OQkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjODcyNTE3Mjg5CQABkQAAAAIFAAAADSRsaXN0NzI1MTcyODkAAAAAAAAAAAgDCQAAAAAAAAIFAAAADSRzaXplNzI1MTcyODkAAAAAAAAAAAkFAAAADSRhY2M5NzI1MTcyODkEAAAADiRhY2MxMDcyNTE3Mjg5CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M5NzI1MTcyODkJAAGRAAAAAgUAAAANJGxpc3Q3MjUxNzI4OQAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemU3MjUxNzI4OQAAAAAAAAAACgUAAAAOJGFjYzEwNzI1MTcyODkEAAAADiRhY2MxMTcyNTE3Mjg5CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADiRhY2MxMDcyNTE3Mjg5CQABkQAAAAIFAAAADSRsaXN0NzI1MTcyODkAAAAAAAAAAAoDCQAAAAAAAAIFAAAADSRzaXplNzI1MTcyODkAAAAAAAAAAAsFAAAADiRhY2MxMTcyNTE3Mjg5BAAAAA4kYWNjMTI3MjUxNzI4OQkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA4kYWNjMTE3MjUxNzI4OQkAAZEAAAACBQAAAA0kbGlzdDcyNTE3Mjg5AAAAAAAAAAALAwkAAAAAAAACBQAAAA0kc2l6ZTcyNTE3Mjg5AAAAAAAAAAAMBQAAAA4kYWNjMTI3MjUxNzI4OQQAAAAOJGFjYzEzNzI1MTcyODkJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAAOJGFjYzEyNzI1MTcyODkJAAGRAAAAAgUAAAANJGxpc3Q3MjUxNzI4OQAAAAAAAAAADAMJAAAAAAAAAgUAAAANJHNpemU3MjUxNzI4OQAAAAAAAAAADQUAAAAOJGFjYzEzNzI1MTcyODkEAAAADiRhY2MxNDcyNTE3Mjg5CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADiRhY2MxMzcyNTE3Mjg5CQABkQAAAAIFAAAADSRsaXN0NzI1MTcyODkAAAAAAAAAAA0DCQAAAAAAAAIFAAAADSRzaXplNzI1MTcyODkAAAAAAAAAAA4FAAAADiRhY2MxNDcyNTE3Mjg5BAAAAA4kYWNjMTU3MjUxNzI4OQkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA4kYWNjMTQ3MjUxNzI4OQkAAZEAAAACBQAAAA0kbGlzdDcyNTE3Mjg5AAAAAAAAAAAOCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTQEAAAAD3NpemVPZldpblByaWNlcwkAAZAAAAABBQAAAAx3aW5uaW5nVG9rZW4DCQAAAAAAAAIFAAAAD3NpemVPZldpblByaWNlcwAAAAAAAAAAAAQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAQAAAAFdG9rZW4JAAGRAAAAAgUAAAAMd2lubmluZ1Rva2VuAAAAAAAAAAABBAAAAA1jdXJyZW50QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50AwkAAAAAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAD0Ftb3VudCBleGNlZWRlZAQAAAAMYWN0dWFsQW1vdW50CQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEEAAAACnRva2VuUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQQAAAAMdG9rZW5Bc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA5sb3R0ZXJ5QXNzZXRJZAMJAAAAAAAAAgUAAAAMYWN0dWFsQW1vdW50AAAAAAAAAAAABAAAABJzdG9yZWRUb2tlbnNWYWx1ZXMEAAAADSRsaXN0ODEyNDgxNzUFAAAACXByaWNlTGlzdAQAAAANJHNpemU4MTI0ODE3NQkAAZAAAAABBQAAAA0kbGlzdDgxMjQ4MTc1BAAAAA0kYWNjMDgxMjQ4MTc1BQAAAAV0b2tlbgMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAAAAUAAAANJGFjYzA4MTI0ODE3NQQAAAANJGFjYzE4MTI0ODE3NQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzA4MTI0ODE3NQkAAZEAAAACBQAAAA0kbGlzdDgxMjQ4MTc1AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjQ4MTc1AAAAAAAAAAABBQAAAA0kYWNjMTgxMjQ4MTc1BAAAAA0kYWNjMjgxMjQ4MTc1CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMTgxMjQ4MTc1CQABkQAAAAIFAAAADSRsaXN0ODEyNDgxNzUAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplODEyNDgxNzUAAAAAAAAAAAIFAAAADSRhY2MyODEyNDgxNzUEAAAADSRhY2MzODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MyODEyNDgxNzUJAAGRAAAAAgUAAAANJGxpc3Q4MTI0ODE3NQAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAAAwUAAAANJGFjYzM4MTI0ODE3NQQAAAANJGFjYzQ4MTI0ODE3NQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzM4MTI0ODE3NQkAAZEAAAACBQAAAA0kbGlzdDgxMjQ4MTc1AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjQ4MTc1AAAAAAAAAAAEBQAAAA0kYWNjNDgxMjQ4MTc1BAAAAA0kYWNjNTgxMjQ4MTc1CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNDgxMjQ4MTc1CQABkQAAAAIFAAAADSRsaXN0ODEyNDgxNzUAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplODEyNDgxNzUAAAAAAAAAAAUFAAAADSRhY2M1ODEyNDgxNzUEAAAADSRhY2M2ODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M1ODEyNDgxNzUJAAGRAAAAAgUAAAANJGxpc3Q4MTI0ODE3NQAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAABgUAAAANJGFjYzY4MTI0ODE3NQQAAAANJGFjYzc4MTI0ODE3NQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzY4MTI0ODE3NQkAAZEAAAACBQAAAA0kbGlzdDgxMjQ4MTc1AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjQ4MTc1AAAAAAAAAAAHBQAAAA0kYWNjNzgxMjQ4MTc1BAAAAA0kYWNjODgxMjQ4MTc1CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNzgxMjQ4MTc1CQABkQAAAAIFAAAADSRsaXN0ODEyNDgxNzUAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplODEyNDgxNzUAAAAAAAAAAAgFAAAADSRhY2M4ODEyNDgxNzUEAAAADSRhY2M5ODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M4ODEyNDgxNzUJAAGRAAAAAgUAAAANJGxpc3Q4MTI0ODE3NQAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAACQUAAAANJGFjYzk4MTI0ODE3NQQAAAAOJGFjYzEwODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M5ODEyNDgxNzUJAAGRAAAAAgUAAAANJGxpc3Q4MTI0ODE3NQAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAACgUAAAAOJGFjYzEwODEyNDgxNzUEAAAADiRhY2MxMTgxMjQ4MTc1CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA4kYWNjMTA4MTI0ODE3NQkAAZEAAAACBQAAAA0kbGlzdDgxMjQ4MTc1AAAAAAAAAAAKAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjQ4MTc1AAAAAAAAAAALBQAAAA4kYWNjMTE4MTI0ODE3NQQAAAAOJGFjYzEyODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADiRhY2MxMTgxMjQ4MTc1CQABkQAAAAIFAAAADSRsaXN0ODEyNDgxNzUAAAAAAAAAAAsDCQAAAAAAAAIFAAAADSRzaXplODEyNDgxNzUAAAAAAAAAAAwFAAAADiRhY2MxMjgxMjQ4MTc1BAAAAA4kYWNjMTM4MTI0ODE3NQkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAAOJGFjYzEyODEyNDgxNzUJAAGRAAAAAgUAAAANJGxpc3Q4MTI0ODE3NQAAAAAAAAAADAMJAAAAAAAAAgUAAAANJHNpemU4MTI0ODE3NQAAAAAAAAAADQUAAAAOJGFjYzEzODEyNDgxNzUEAAAADiRhY2MxNDgxMjQ4MTc1CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA4kYWNjMTM4MTI0ODE3NQkAAZEAAAACBQAAAA0kbGlzdDgxMjQ4MTc1AAAAAAAAAAANAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjQ4MTc1AAAAAAAAAAAOBQAAAA4kYWNjMTQ4MTI0ODE3NQQAAAAOJGFjYzE1ODEyNDgxNzUJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADiRhY2MxNDgxMjQ4MTc1CQABkQAAAAIFAAAADSRsaXN0ODEyNDgxNzUAAAAAAAAAAA4JAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxNAQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADndpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAATX3dpbmlubmluZ19hZGRyZXNzXwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANY291bnRPZlByaWNlcwkAAGUAAAACBQAAAAtjb3VudFRva2VucwAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANbG90dGVyeVByaWNlcwUAAAASc3RvcmVkVG9rZW5zVmFsdWVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAA9fd2lubmluZ190b2tlbl8FAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAE193aW5pbm5pbmdfYWRkcmVzc18FAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAADGFjdHVhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXIFAAAACnJhbmROdW1iZXIFAAAAA25pbAMJAAAAAAAAAgUAAAAMdG9rZW5Bc3NldElkAgAAAAAEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmZdzLY", "height": 1390382, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FZCHWo1py5UZ3pgmtu48BC4PWThgv1frGR63gyE73xvE Next: 5SL6sDSaHkwyy4XR2U9bqF38LhCmZeVLTdyJivHc5UDc Diff:
OldNewDifferences
287287 }
288288 }
289289 let sizeOfWinPrices = size(winningToken)
290- throw(toString(sizeOfWinPrices))
290+ if ((sizeOfWinPrices == 0))
291+ then {
292+ let writeSets = WriteSet(nil)
293+ ScriptResult(writeSets, TransferSet(nil))
294+ }
295+ else {
296+ let token = winningToken[1]
297+ let currentAmount = getIntegerValue(this, (token + lotteryamount))
298+ if ((currentAmount == 0))
299+ then throw("Amount exceeded")
300+ else {
301+ let actualAmount = (currentAmount - 1)
302+ let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
303+ let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
304+ if ((actualAmount == 0))
305+ then {
306+ let storedTokensValues = {
307+ let $list81248175 = priceList
308+ let $size81248175 = size($list81248175)
309+ let $acc081248175 = token
310+ if (($size81248175 == 0))
311+ then $acc081248175
312+ else {
313+ let $acc181248175 = generateNewListOfPrices($acc081248175, $list81248175[0])
314+ if (($size81248175 == 1))
315+ then $acc181248175
316+ else {
317+ let $acc281248175 = generateNewListOfPrices($acc181248175, $list81248175[1])
318+ if (($size81248175 == 2))
319+ then $acc281248175
320+ else {
321+ let $acc381248175 = generateNewListOfPrices($acc281248175, $list81248175[2])
322+ if (($size81248175 == 3))
323+ then $acc381248175
324+ else {
325+ let $acc481248175 = generateNewListOfPrices($acc381248175, $list81248175[3])
326+ if (($size81248175 == 4))
327+ then $acc481248175
328+ else {
329+ let $acc581248175 = generateNewListOfPrices($acc481248175, $list81248175[4])
330+ if (($size81248175 == 5))
331+ then $acc581248175
332+ else {
333+ let $acc681248175 = generateNewListOfPrices($acc581248175, $list81248175[5])
334+ if (($size81248175 == 6))
335+ then $acc681248175
336+ else {
337+ let $acc781248175 = generateNewListOfPrices($acc681248175, $list81248175[6])
338+ if (($size81248175 == 7))
339+ then $acc781248175
340+ else {
341+ let $acc881248175 = generateNewListOfPrices($acc781248175, $list81248175[7])
342+ if (($size81248175 == 8))
343+ then $acc881248175
344+ else {
345+ let $acc981248175 = generateNewListOfPrices($acc881248175, $list81248175[8])
346+ if (($size81248175 == 9))
347+ then $acc981248175
348+ else {
349+ let $acc1081248175 = generateNewListOfPrices($acc981248175, $list81248175[9])
350+ if (($size81248175 == 10))
351+ then $acc1081248175
352+ else {
353+ let $acc1181248175 = generateNewListOfPrices($acc1081248175, $list81248175[10])
354+ if (($size81248175 == 11))
355+ then $acc1181248175
356+ else {
357+ let $acc1281248175 = generateNewListOfPrices($acc1181248175, $list81248175[11])
358+ if (($size81248175 == 12))
359+ then $acc1281248175
360+ else {
361+ let $acc1381248175 = generateNewListOfPrices($acc1281248175, $list81248175[12])
362+ if (($size81248175 == 13))
363+ then $acc1381248175
364+ else {
365+ let $acc1481248175 = generateNewListOfPrices($acc1381248175, $list81248175[13])
366+ if (($size81248175 == 14))
367+ then $acc1481248175
368+ else {
369+ let $acc1581248175 = generateNewListOfPrices($acc1481248175, $list81248175[14])
370+ throw("List size exceed 14")
371+ }
372+ }
373+ }
374+ }
375+ }
376+ }
377+ }
378+ }
379+ }
380+ }
381+ }
382+ }
383+ }
384+ }
385+ }
386+ }
387+ let writeSets = WriteSet([DataEntry(("winning_token_" + token), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry(countOfPrices, (countTokens - 1)), DataEntry(lotteryPrices, storedTokensValues), DataEntry(lastHashRandomNumber, randNumber)])
388+ if ((tokenAssetId == ""))
389+ then {
390+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
391+ ScriptResult(writeSets, winTransfer)
392+ }
393+ else {
394+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
395+ ScriptResult(writeSets, winTransfer)
396+ }
397+ }
398+ else {
399+ let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
400+ if ((tokenAssetId == ""))
401+ then {
402+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
403+ ScriptResult(writeSets, winTransfer)
404+ }
405+ else {
406+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
407+ ScriptResult(writeSets, winTransfer)
408+ }
409+ }
410+ }
411+ }
291412 }
292413
293414
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 let allowSizeLottery = 14
2525
2626 func randomizer (inv) = {
2727 let lastPlay = match getBinary(this, lastHashRandomNumber) {
2828 case s: ByteVector =>
2929 s
3030 case _: Unit =>
3131 base58'2ee4oFDYriWJ9EMeR'
3232 case _ =>
3333 throw("Match error")
3434 }
3535 let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
3636 sha256(rand)
3737 }
3838
3939
4040 func generatorRandomHash (inv) = {
4141 let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
4242 case s: ByteVector =>
4343 s
4444 case _: Unit =>
4545 base58'4dD7osCQzvuXJdTiGfKvTwnKT'
4646 case _ =>
4747 throw("Match error")
4848 }
4949 let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
5050 sha256(rand)
5151 }
5252
5353
5454 func getPriceArray () = {
5555 let tempPrices = getStringValue(this, lotteryPrices)
5656 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5757 let newArray = split(trimPrices, ",")
5858 newArray
5959 }
6060
6161
6262 func generateNewListOfPrices (token,val) = {
6363 let indexOfComma = indexOf(token, ",")
6464 if ((indexOfComma == unit))
6565 then (val + ",")
6666 else ((token + val) + ",")
6767 }
6868
6969
7070 func procedLottery (win,token) = {
7171 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
7272 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
7373 let probabilityValue = (tokenProbabilityDecimal * 1000)
7474 let hash = (tokenProbabilityDecimal % probabilityValue)
7575 let sizeOfWin = size(win)
7676 if ((sizeOfWin == 1))
7777 then {
7878 let randomNumber = win[0]
7979 if ((probabilityValue > hash))
8080 then {
8181 let newList = token :: win
8282 newList
8383 }
8484 else win
8585 }
8686 else win
8787 }
8888
8989
9090 @Callable(i)
9191 func updateprobability (probability,amount,poolprice,probDecimal,assetId) = {
9292 let token = toBase64String(generatorRandomHash(i))
9393 let paymentIsDefined = if (!(isDefined(i.payment)))
9494 then false
9595 else true
9696 let lotteryAssetTN = if ((assetId == ""))
9797 then true
9898 else false
9999 let totalRequiredAmount = (amount * poolprice)
100100 if ((paymentIsDefined == true))
101101 then {
102102 let payment = extract(i.payment)
103103 let paymentAssetId = match payment.assetId {
104104 case a: ByteVector =>
105105 toBase64String(a)
106106 case _: Unit =>
107107 ""
108108 case _ =>
109109 throw("Match error")
110110 }
111111 let paymentAmount = payment.amount
112112 if ((paymentAssetId != assetId))
113113 then throw("Asset Id not matching with Payment Asset Id")
114114 else if ((totalRequiredAmount > paymentAmount))
115115 then throw("Not enough Asset Amount")
116116 else {
117117 let tempValue = match getString(this, lotteryPrices) {
118118 case a: String =>
119119 a
120120 case _: Unit =>
121121 ""
122122 case _ =>
123123 throw("Match error")
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 = match getInteger(this, countOfPrices) {
135135 case a: Int =>
136136 a
137137 case _: Unit =>
138138 0
139139 case _ =>
140140 throw("Match error")
141141 }
142142 if ((allowSizeLottery >= countTokens))
143143 then {
144144 let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token)])
145145 ScriptResult(updateLotteryPool, TransferSet(nil))
146146 }
147147 else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
148148 }
149149 }
150150 else {
151151 let tnBalance = if (lotteryAssetTN)
152152 then wavesBalance(this)
153153 else assetBalance(this, fromBase64String(assetId))
154154 if ((totalRequiredAmount > tnBalance))
155155 then throw("Not enough Asset Amount")
156156 else {
157157 let tempValue = match getString(this, lotteryPrices) {
158158 case a: String =>
159159 a
160160 case _: Unit =>
161161 ""
162162 case _ =>
163163 throw("Match error")
164164 }
165165 let containKey = indexOf(tempValue, token)
166166 let storedTokensValues = match containKey {
167167 case _: Unit =>
168168 ((tempValue + token) + ",")
169169 case x: Int =>
170170 throw("Token is duplicated")
171171 case _ =>
172172 throw("Match error")
173173 }
174174 let countTokens = match getInteger(this, countOfPrices) {
175175 case a: Int =>
176176 a
177177 case _: Unit =>
178178 0
179179 case _ =>
180180 throw("Match error")
181181 }
182182 if ((allowSizeLottery >= countTokens))
183183 then {
184184 let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token)])
185185 ScriptResult(updateLotteryPool, TransferSet(nil))
186186 }
187187 else throw("Lottery prices has reached maximum 15")
188188 }
189189 }
190190 }
191191
192192
193193
194194 @Callable(i)
195195 func startlotto () = {
196196 let currentKey = toBase58String(i.caller.bytes)
197197 let randhash = randomizer(i)
198198 let countTokens = match getInteger(this, countOfPrices) {
199199 case a: Int =>
200200 a
201201 case _: Unit =>
202202 0
203203 case _ =>
204204 throw("Match error")
205205 }
206206 let priceList = getPriceArray()
207207 let randNumber = toInt(randhash)
208208 let winningToken = {
209209 let $list72517289 = priceList
210210 let $size72517289 = size($list72517289)
211211 let $acc072517289 = nil
212212 if (($size72517289 == 0))
213213 then $acc072517289
214214 else {
215215 let $acc172517289 = procedLottery($acc072517289, $list72517289[0])
216216 if (($size72517289 == 1))
217217 then $acc172517289
218218 else {
219219 let $acc272517289 = procedLottery($acc172517289, $list72517289[1])
220220 if (($size72517289 == 2))
221221 then $acc272517289
222222 else {
223223 let $acc372517289 = procedLottery($acc272517289, $list72517289[2])
224224 if (($size72517289 == 3))
225225 then $acc372517289
226226 else {
227227 let $acc472517289 = procedLottery($acc372517289, $list72517289[3])
228228 if (($size72517289 == 4))
229229 then $acc472517289
230230 else {
231231 let $acc572517289 = procedLottery($acc472517289, $list72517289[4])
232232 if (($size72517289 == 5))
233233 then $acc572517289
234234 else {
235235 let $acc672517289 = procedLottery($acc572517289, $list72517289[5])
236236 if (($size72517289 == 6))
237237 then $acc672517289
238238 else {
239239 let $acc772517289 = procedLottery($acc672517289, $list72517289[6])
240240 if (($size72517289 == 7))
241241 then $acc772517289
242242 else {
243243 let $acc872517289 = procedLottery($acc772517289, $list72517289[7])
244244 if (($size72517289 == 8))
245245 then $acc872517289
246246 else {
247247 let $acc972517289 = procedLottery($acc872517289, $list72517289[8])
248248 if (($size72517289 == 9))
249249 then $acc972517289
250250 else {
251251 let $acc1072517289 = procedLottery($acc972517289, $list72517289[9])
252252 if (($size72517289 == 10))
253253 then $acc1072517289
254254 else {
255255 let $acc1172517289 = procedLottery($acc1072517289, $list72517289[10])
256256 if (($size72517289 == 11))
257257 then $acc1172517289
258258 else {
259259 let $acc1272517289 = procedLottery($acc1172517289, $list72517289[11])
260260 if (($size72517289 == 12))
261261 then $acc1272517289
262262 else {
263263 let $acc1372517289 = procedLottery($acc1272517289, $list72517289[12])
264264 if (($size72517289 == 13))
265265 then $acc1372517289
266266 else {
267267 let $acc1472517289 = procedLottery($acc1372517289, $list72517289[13])
268268 if (($size72517289 == 14))
269269 then $acc1472517289
270270 else {
271271 let $acc1572517289 = procedLottery($acc1472517289, $list72517289[14])
272272 throw("List size exceed 14")
273273 }
274274 }
275275 }
276276 }
277277 }
278278 }
279279 }
280280 }
281281 }
282282 }
283283 }
284284 }
285285 }
286286 }
287287 }
288288 }
289289 let sizeOfWinPrices = size(winningToken)
290- throw(toString(sizeOfWinPrices))
290+ if ((sizeOfWinPrices == 0))
291+ then {
292+ let writeSets = WriteSet(nil)
293+ ScriptResult(writeSets, TransferSet(nil))
294+ }
295+ else {
296+ let token = winningToken[1]
297+ let currentAmount = getIntegerValue(this, (token + lotteryamount))
298+ if ((currentAmount == 0))
299+ then throw("Amount exceeded")
300+ else {
301+ let actualAmount = (currentAmount - 1)
302+ let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
303+ let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
304+ if ((actualAmount == 0))
305+ then {
306+ let storedTokensValues = {
307+ let $list81248175 = priceList
308+ let $size81248175 = size($list81248175)
309+ let $acc081248175 = token
310+ if (($size81248175 == 0))
311+ then $acc081248175
312+ else {
313+ let $acc181248175 = generateNewListOfPrices($acc081248175, $list81248175[0])
314+ if (($size81248175 == 1))
315+ then $acc181248175
316+ else {
317+ let $acc281248175 = generateNewListOfPrices($acc181248175, $list81248175[1])
318+ if (($size81248175 == 2))
319+ then $acc281248175
320+ else {
321+ let $acc381248175 = generateNewListOfPrices($acc281248175, $list81248175[2])
322+ if (($size81248175 == 3))
323+ then $acc381248175
324+ else {
325+ let $acc481248175 = generateNewListOfPrices($acc381248175, $list81248175[3])
326+ if (($size81248175 == 4))
327+ then $acc481248175
328+ else {
329+ let $acc581248175 = generateNewListOfPrices($acc481248175, $list81248175[4])
330+ if (($size81248175 == 5))
331+ then $acc581248175
332+ else {
333+ let $acc681248175 = generateNewListOfPrices($acc581248175, $list81248175[5])
334+ if (($size81248175 == 6))
335+ then $acc681248175
336+ else {
337+ let $acc781248175 = generateNewListOfPrices($acc681248175, $list81248175[6])
338+ if (($size81248175 == 7))
339+ then $acc781248175
340+ else {
341+ let $acc881248175 = generateNewListOfPrices($acc781248175, $list81248175[7])
342+ if (($size81248175 == 8))
343+ then $acc881248175
344+ else {
345+ let $acc981248175 = generateNewListOfPrices($acc881248175, $list81248175[8])
346+ if (($size81248175 == 9))
347+ then $acc981248175
348+ else {
349+ let $acc1081248175 = generateNewListOfPrices($acc981248175, $list81248175[9])
350+ if (($size81248175 == 10))
351+ then $acc1081248175
352+ else {
353+ let $acc1181248175 = generateNewListOfPrices($acc1081248175, $list81248175[10])
354+ if (($size81248175 == 11))
355+ then $acc1181248175
356+ else {
357+ let $acc1281248175 = generateNewListOfPrices($acc1181248175, $list81248175[11])
358+ if (($size81248175 == 12))
359+ then $acc1281248175
360+ else {
361+ let $acc1381248175 = generateNewListOfPrices($acc1281248175, $list81248175[12])
362+ if (($size81248175 == 13))
363+ then $acc1381248175
364+ else {
365+ let $acc1481248175 = generateNewListOfPrices($acc1381248175, $list81248175[13])
366+ if (($size81248175 == 14))
367+ then $acc1481248175
368+ else {
369+ let $acc1581248175 = generateNewListOfPrices($acc1481248175, $list81248175[14])
370+ throw("List size exceed 14")
371+ }
372+ }
373+ }
374+ }
375+ }
376+ }
377+ }
378+ }
379+ }
380+ }
381+ }
382+ }
383+ }
384+ }
385+ }
386+ }
387+ let writeSets = WriteSet([DataEntry(("winning_token_" + token), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry(countOfPrices, (countTokens - 1)), DataEntry(lotteryPrices, storedTokensValues), DataEntry(lastHashRandomNumber, randNumber)])
388+ if ((tokenAssetId == ""))
389+ then {
390+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
391+ ScriptResult(writeSets, winTransfer)
392+ }
393+ else {
394+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
395+ ScriptResult(writeSets, winTransfer)
396+ }
397+ }
398+ else {
399+ let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
400+ if ((tokenAssetId == ""))
401+ then {
402+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
403+ ScriptResult(writeSets, winTransfer)
404+ }
405+ else {
406+ let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
407+ ScriptResult(writeSets, winTransfer)
408+ }
409+ }
410+ }
411+ }
291412 }
292413
293414
294415 @Verifier(tx)
295416 func verify () = match tx {
296417 case _: DataTransaction =>
297418 true
298419 case _: SetScriptTransaction =>
299420 true
300421 case _ =>
301422 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
302423 }
303424

github/deemru/w8io/873ac7e 
51.84 ms