tx · CMRrFNaNYe52nc3yrqTYwramWxHuv8EpsSqmRkgiUr4k

3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1:  -0.01400000 Waves

2021.02.09 11:14 [1390388] smart account 3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1 > SELF 0.00000000 Waves

{ "type": 13, "id": "CMRrFNaNYe52nc3yrqTYwramWxHuv8EpsSqmRkgiUr4k", "fee": 1400000, "feeAssetId": null, "timestamp": 1612858513938, "version": 2, "chainId": 84, "sender": "3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1", "senderPublicKey": "4ZSmQKKSEVi7FUZVartg8PJgDtovcTaKW3HWpdXKkjx2", "proofs": [ "3fu4D6rGqAocfodoDMA8hZvBRqWurLwLAgAmBiv3GgBwjNquN7LtbD966TJ5mePSfU6m5255Rtad7FooX3NUmMv6" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAAAAABBhbGxvd1NpemVMb3R0ZXJ5AAAAAAAAAAAOAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGlt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CAUAAAANJGFjYzg3MjUwNzI4OAQAAAANJGFjYzk3MjUwNzI4OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjODcyNTA3Mjg4CQABkQAAAAIFAAAADSRsaXN0NzI1MDcyODgAAAAAAAAAAAgDCQAAAAAAAAIFAAAADSRzaXplNzI1MDcyODgAAAAAAAAAAAkFAAAADSRhY2M5NzI1MDcyODgEAAAADiRhY2MxMDcyNTA3Mjg4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M5NzI1MDcyODgJAAGRAAAAAgUAAAANJGxpc3Q3MjUwNzI4OAAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemU3MjUwNzI4OAAAAAAAAAAACgUAAAAOJGFjYzEwNzI1MDcyODgEAAAADiRhY2MxMTcyNTA3Mjg4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADiRhY2MxMDcyNTA3Mjg4CQABkQAAAAIFAAAADSRsaXN0NzI1MDcyODgAAAAAAAAAAAoDCQAAAAAAAAIFAAAADSRzaXplNzI1MDcyODgAAAAAAAAAAAsFAAAADiRhY2MxMTcyNTA3Mjg4BAAAAA4kYWNjMTI3MjUwNzI4OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA4kYWNjMTE3MjUwNzI4OAkAAZEAAAACBQAAAA0kbGlzdDcyNTA3Mjg4AAAAAAAAAAALAwkAAAAAAAACBQAAAA0kc2l6ZTcyNTA3Mjg4AAAAAAAAAAAMBQAAAA4kYWNjMTI3MjUwNzI4OAQAAAAOJGFjYzEzNzI1MDcyODgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAAOJGFjYzEyNzI1MDcyODgJAAGRAAAAAgUAAAANJGxpc3Q3MjUwNzI4OAAAAAAAAAAADAMJAAAAAAAAAgUAAAANJHNpemU3MjUwNzI4OAAAAAAAAAAADQUAAAAOJGFjYzEzNzI1MDcyODgEAAAADiRhY2MxNDcyNTA3Mjg4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADiRhY2MxMzcyNTA3Mjg4CQABkQAAAAIFAAAADSRsaXN0NzI1MDcyODgAAAAAAAAAAA0DCQAAAAAAAAIFAAAADSRzaXplNzI1MDcyODgAAAAAAAAAAA4FAAAADiRhY2MxNDcyNTA3Mjg4BAAAAA4kYWNjMTU3MjUwNzI4OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA4kYWNjMTQ3MjUwNzI4OAkAAZEAAAACBQAAAA0kbGlzdDcyNTA3Mjg4AAAAAAAAAAAOCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTQEAAAAD3NpemVPZldpblByaWNlcwkAAZAAAAABBQAAAAx3aW5uaW5nVG9rZW4DCQAAAAAAAAIFAAAAD3NpemVPZldpblByaWNlcwAAAAAAAAAAAAQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAQAAAAFdG9rZW4JAAGRAAAAAgUAAAAMd2lubmluZ1Rva2VuAAAAAAAAAAABBAAAAA1jdXJyZW50QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50AwkAAAAAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAD0Ftb3VudCBleGNlZWRlZAQAAAAMYWN0dWFsQW1vdW50CQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEEAAAACnRva2VuUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQQAAAAMdG9rZW5Bc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA5sb3R0ZXJ5QXNzZXRJZAMJAAAAAAAAAgUAAAAMYWN0dWFsQW1vdW50AAAAAAAAAAAABAAAABJzdG9yZWRUb2tlbnNWYWx1ZXMEAAAADSRsaXN0ODEyMzgxNzQFAAAACXByaWNlTGlzdAQAAAANJHNpemU4MTIzODE3NAkAAZAAAAABBQAAAA0kbGlzdDgxMjM4MTc0BAAAAA0kYWNjMDgxMjM4MTc0BQAAAAV0b2tlbgMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAAAAUAAAANJGFjYzA4MTIzODE3NAQAAAANJGFjYzE4MTIzODE3NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzA4MTIzODE3NAkAAZEAAAACBQAAAA0kbGlzdDgxMjM4MTc0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjM4MTc0AAAAAAAAAAABBQAAAA0kYWNjMTgxMjM4MTc0BAAAAA0kYWNjMjgxMjM4MTc0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMTgxMjM4MTc0CQABkQAAAAIFAAAADSRsaXN0ODEyMzgxNzQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplODEyMzgxNzQAAAAAAAAAAAIFAAAADSRhY2MyODEyMzgxNzQEAAAADSRhY2MzODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MyODEyMzgxNzQJAAGRAAAAAgUAAAANJGxpc3Q4MTIzODE3NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAAAwUAAAANJGFjYzM4MTIzODE3NAQAAAANJGFjYzQ4MTIzODE3NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzM4MTIzODE3NAkAAZEAAAACBQAAAA0kbGlzdDgxMjM4MTc0AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjM4MTc0AAAAAAAAAAAEBQAAAA0kYWNjNDgxMjM4MTc0BAAAAA0kYWNjNTgxMjM4MTc0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNDgxMjM4MTc0CQABkQAAAAIFAAAADSRsaXN0ODEyMzgxNzQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplODEyMzgxNzQAAAAAAAAAAAUFAAAADSRhY2M1ODEyMzgxNzQEAAAADSRhY2M2ODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M1ODEyMzgxNzQJAAGRAAAAAgUAAAANJGxpc3Q4MTIzODE3NAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAABgUAAAANJGFjYzY4MTIzODE3NAQAAAANJGFjYzc4MTIzODE3NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzY4MTIzODE3NAkAAZEAAAACBQAAAA0kbGlzdDgxMjM4MTc0AAAAAAAAAAAGAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjM4MTc0AAAAAAAAAAAHBQAAAA0kYWNjNzgxMjM4MTc0BAAAAA0kYWNjODgxMjM4MTc0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNzgxMjM4MTc0CQABkQAAAAIFAAAADSRsaXN0ODEyMzgxNzQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADSRzaXplODEyMzgxNzQAAAAAAAAAAAgFAAAADSRhY2M4ODEyMzgxNzQEAAAADSRhY2M5ODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M4ODEyMzgxNzQJAAGRAAAAAgUAAAANJGxpc3Q4MTIzODE3NAAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAACQUAAAANJGFjYzk4MTIzODE3NAQAAAAOJGFjYzEwODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M5ODEyMzgxNzQJAAGRAAAAAgUAAAANJGxpc3Q4MTIzODE3NAAAAAAAAAAACQMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAACgUAAAAOJGFjYzEwODEyMzgxNzQEAAAADiRhY2MxMTgxMjM4MTc0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA4kYWNjMTA4MTIzODE3NAkAAZEAAAACBQAAAA0kbGlzdDgxMjM4MTc0AAAAAAAAAAAKAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjM4MTc0AAAAAAAAAAALBQAAAA4kYWNjMTE4MTIzODE3NAQAAAAOJGFjYzEyODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADiRhY2MxMTgxMjM4MTc0CQABkQAAAAIFAAAADSRsaXN0ODEyMzgxNzQAAAAAAAAAAAsDCQAAAAAAAAIFAAAADSRzaXplODEyMzgxNzQAAAAAAAAAAAwFAAAADiRhY2MxMjgxMjM4MTc0BAAAAA4kYWNjMTM4MTIzODE3NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAAOJGFjYzEyODEyMzgxNzQJAAGRAAAAAgUAAAANJGxpc3Q4MTIzODE3NAAAAAAAAAAADAMJAAAAAAAAAgUAAAANJHNpemU4MTIzODE3NAAAAAAAAAAADQUAAAAOJGFjYzEzODEyMzgxNzQEAAAADiRhY2MxNDgxMjM4MTc0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA4kYWNjMTM4MTIzODE3NAkAAZEAAAACBQAAAA0kbGlzdDgxMjM4MTc0AAAAAAAAAAANAwkAAAAAAAACBQAAAA0kc2l6ZTgxMjM4MTc0AAAAAAAAAAAOBQAAAA4kYWNjMTQ4MTIzODE3NAQAAAAOJGFjYzE1ODEyMzgxNzQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADiRhY2MxNDgxMjM4MTc0CQABkQAAAAIFAAAADSRsaXN0ODEyMzgxNzQAAAAAAAAAAA4JAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxNAQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADndpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAATX3dpbmlubmluZ19hZGRyZXNzXwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANY291bnRPZlByaWNlcwkAAGUAAAACBQAAAAtjb3VudFRva2VucwAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANbG90dGVyeVByaWNlcwUAAAASc3RvcmVkVG9rZW5zVmFsdWVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAA9fd2lubmluZ190b2tlbl8FAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAE193aW5pbm5pbmdfYWRkcmVzc18FAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAADGFjdHVhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXIFAAAACnJhbmROdW1iZXIFAAAAA25pbAMJAAAAAAAAAgUAAAAMdG9rZW5Bc3NldElkAgAAAAAEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnkLw8L", "height": 1390388, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: GHweLyFPFfDCEsLBtc9veysBntj6MHWdHfYiD89Ms38c Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let lotteryamount = "_amount"
5+
6+let lotteryprobability = "_probability"
7+
8+let lotteryprobabilitydecimal = "_probability_decimal"
9+
10+let lotteryPrice = "_price"
11+
12+let lotteryPrices = "_lottery_prices"
13+
14+let lotteryAssetId = "_lottery_asset_id"
15+
16+let countOfPrices = "_count_prices"
17+
18+let lastHashRandomNumber = "last_spin_random_hash"
19+
20+let lastTokenRandomHash = "last_token_random_hash"
21+
22+let dAppAddres = "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV"
23+
24+let allowSizeLottery = 14
25+
26+func randomizer (inv) = {
27+ let lastPlay = match getBinary(this, lastHashRandomNumber) {
28+ case s: ByteVector =>
29+ s
30+ case _: Unit =>
31+ base58'2ee4oFDYriWJ9EMeR'
32+ case _ =>
33+ throw("Match error")
34+ }
35+ let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
36+ sha256(rand)
37+ }
38+
39+
40+func generatorRandomHash (inv) = {
41+ let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
42+ case s: ByteVector =>
43+ s
44+ case _: Unit =>
45+ base58'4dD7osCQzvuXJdTiGfKvTwnKT'
46+ case _ =>
47+ throw("Match error")
48+ }
49+ let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
50+ sha256(rand)
51+ }
52+
53+
54+func getPriceArray () = {
55+ let tempPrices = getStringValue(this, lotteryPrices)
56+ let trimPrices = take(tempPrices, (size(tempPrices) - 1))
57+ let newArray = split(trimPrices, ",")
58+ newArray
59+ }
60+
61+
62+func generateNewListOfPrices (token,val) = {
63+ let indexOfComma = indexOf(token, ",")
64+ if ((indexOfComma == unit))
65+ then (val + ",")
66+ else ((token + val) + ",")
67+ }
68+
69+
70+func procedLottery (win,token) = {
71+ let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
72+ let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
73+ let probabilityValue = (tokenProbabilityDecimal * 1000)
74+ let hash = (tokenProbabilityDecimal % probabilityValue)
75+ let sizeOfWin = size(win)
76+ if ((sizeOfWin == 1))
77+ then {
78+ let randomNumber = win[0]
79+ if ((probabilityValue > hash))
80+ then {
81+ let newList = token :: win
82+ newList
83+ }
84+ else win
85+ }
86+ else win
87+ }
88+
89+
90+@Callable(i)
91+func updateprobability (probability,amount,poolprice,probDecimal,assetId) = {
92+ let token = toBase64String(generatorRandomHash(i))
93+ let paymentIsDefined = if (!(isDefined(i.payment)))
94+ then false
95+ else true
96+ let lotteryAssetTN = if ((assetId == ""))
97+ then true
98+ else false
99+ let totalRequiredAmount = (amount * poolprice)
100+ if ((paymentIsDefined == true))
101+ then {
102+ let payment = extract(i.payment)
103+ let paymentAssetId = match payment.assetId {
104+ case a: ByteVector =>
105+ toBase64String(a)
106+ case _: Unit =>
107+ ""
108+ case _ =>
109+ throw("Match error")
110+ }
111+ let paymentAmount = payment.amount
112+ if ((paymentAssetId != assetId))
113+ then throw("Asset Id not matching with Payment Asset Id")
114+ else if ((totalRequiredAmount > paymentAmount))
115+ then throw("Not enough Asset Amount")
116+ else {
117+ let tempValue = match getString(this, lotteryPrices) {
118+ case a: String =>
119+ a
120+ case _: Unit =>
121+ ""
122+ case _ =>
123+ throw("Match error")
124+ }
125+ let containKey = indexOf(tempValue, token)
126+ let storedTokensValues = match containKey {
127+ case _: Unit =>
128+ ((tempValue + token) + ",")
129+ case x: Int =>
130+ throw("Token is duplicated")
131+ case _ =>
132+ throw("Match error")
133+ }
134+ let countTokens = match getInteger(this, countOfPrices) {
135+ case a: Int =>
136+ a
137+ case _: Unit =>
138+ 0
139+ case _ =>
140+ throw("Match error")
141+ }
142+ if ((allowSizeLottery > countTokens))
143+ then {
144+ 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)])
145+ ScriptResult(updateLotteryPool, TransferSet(nil))
146+ }
147+ else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
148+ }
149+ }
150+ else {
151+ let tnBalance = if (lotteryAssetTN)
152+ then wavesBalance(this)
153+ else assetBalance(this, fromBase64String(assetId))
154+ if ((totalRequiredAmount > tnBalance))
155+ then throw("Not enough Asset Amount")
156+ else {
157+ let tempValue = match getString(this, lotteryPrices) {
158+ case a: String =>
159+ a
160+ case _: Unit =>
161+ ""
162+ case _ =>
163+ throw("Match error")
164+ }
165+ let containKey = indexOf(tempValue, token)
166+ let storedTokensValues = match containKey {
167+ case _: Unit =>
168+ ((tempValue + token) + ",")
169+ case x: Int =>
170+ throw("Token is duplicated")
171+ case _ =>
172+ throw("Match error")
173+ }
174+ let countTokens = match getInteger(this, countOfPrices) {
175+ case a: Int =>
176+ a
177+ case _: Unit =>
178+ 0
179+ case _ =>
180+ throw("Match error")
181+ }
182+ if ((allowSizeLottery >= countTokens))
183+ then {
184+ 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)])
185+ ScriptResult(updateLotteryPool, TransferSet(nil))
186+ }
187+ else throw("Lottery prices has reached maximum 15")
188+ }
189+ }
190+ }
191+
192+
193+
194+@Callable(i)
195+func startlotto () = {
196+ let currentKey = toBase58String(i.caller.bytes)
197+ let randhash = randomizer(i)
198+ let countTokens = match getInteger(this, countOfPrices) {
199+ case a: Int =>
200+ a
201+ case _: Unit =>
202+ 0
203+ case _ =>
204+ throw("Match error")
205+ }
206+ let priceList = getPriceArray()
207+ let randNumber = toInt(randhash)
208+ let winningToken = {
209+ let $list72507288 = priceList
210+ let $size72507288 = size($list72507288)
211+ let $acc072507288 = nil
212+ if (($size72507288 == 0))
213+ then $acc072507288
214+ else {
215+ let $acc172507288 = procedLottery($acc072507288, $list72507288[0])
216+ if (($size72507288 == 1))
217+ then $acc172507288
218+ else {
219+ let $acc272507288 = procedLottery($acc172507288, $list72507288[1])
220+ if (($size72507288 == 2))
221+ then $acc272507288
222+ else {
223+ let $acc372507288 = procedLottery($acc272507288, $list72507288[2])
224+ if (($size72507288 == 3))
225+ then $acc372507288
226+ else {
227+ let $acc472507288 = procedLottery($acc372507288, $list72507288[3])
228+ if (($size72507288 == 4))
229+ then $acc472507288
230+ else {
231+ let $acc572507288 = procedLottery($acc472507288, $list72507288[4])
232+ if (($size72507288 == 5))
233+ then $acc572507288
234+ else {
235+ let $acc672507288 = procedLottery($acc572507288, $list72507288[5])
236+ if (($size72507288 == 6))
237+ then $acc672507288
238+ else {
239+ let $acc772507288 = procedLottery($acc672507288, $list72507288[6])
240+ if (($size72507288 == 7))
241+ then $acc772507288
242+ else {
243+ let $acc872507288 = procedLottery($acc772507288, $list72507288[7])
244+ if (($size72507288 == 8))
245+ then $acc872507288
246+ else {
247+ let $acc972507288 = procedLottery($acc872507288, $list72507288[8])
248+ if (($size72507288 == 9))
249+ then $acc972507288
250+ else {
251+ let $acc1072507288 = procedLottery($acc972507288, $list72507288[9])
252+ if (($size72507288 == 10))
253+ then $acc1072507288
254+ else {
255+ let $acc1172507288 = procedLottery($acc1072507288, $list72507288[10])
256+ if (($size72507288 == 11))
257+ then $acc1172507288
258+ else {
259+ let $acc1272507288 = procedLottery($acc1172507288, $list72507288[11])
260+ if (($size72507288 == 12))
261+ then $acc1272507288
262+ else {
263+ let $acc1372507288 = procedLottery($acc1272507288, $list72507288[12])
264+ if (($size72507288 == 13))
265+ then $acc1372507288
266+ else {
267+ let $acc1472507288 = procedLottery($acc1372507288, $list72507288[13])
268+ if (($size72507288 == 14))
269+ then $acc1472507288
270+ else {
271+ let $acc1572507288 = procedLottery($acc1472507288, $list72507288[14])
272+ throw("List size exceed 14")
273+ }
274+ }
275+ }
276+ }
277+ }
278+ }
279+ }
280+ }
281+ }
282+ }
283+ }
284+ }
285+ }
286+ }
287+ }
288+ }
289+ let sizeOfWinPrices = size(winningToken)
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 $list81238174 = priceList
308+ let $size81238174 = size($list81238174)
309+ let $acc081238174 = token
310+ if (($size81238174 == 0))
311+ then $acc081238174
312+ else {
313+ let $acc181238174 = generateNewListOfPrices($acc081238174, $list81238174[0])
314+ if (($size81238174 == 1))
315+ then $acc181238174
316+ else {
317+ let $acc281238174 = generateNewListOfPrices($acc181238174, $list81238174[1])
318+ if (($size81238174 == 2))
319+ then $acc281238174
320+ else {
321+ let $acc381238174 = generateNewListOfPrices($acc281238174, $list81238174[2])
322+ if (($size81238174 == 3))
323+ then $acc381238174
324+ else {
325+ let $acc481238174 = generateNewListOfPrices($acc381238174, $list81238174[3])
326+ if (($size81238174 == 4))
327+ then $acc481238174
328+ else {
329+ let $acc581238174 = generateNewListOfPrices($acc481238174, $list81238174[4])
330+ if (($size81238174 == 5))
331+ then $acc581238174
332+ else {
333+ let $acc681238174 = generateNewListOfPrices($acc581238174, $list81238174[5])
334+ if (($size81238174 == 6))
335+ then $acc681238174
336+ else {
337+ let $acc781238174 = generateNewListOfPrices($acc681238174, $list81238174[6])
338+ if (($size81238174 == 7))
339+ then $acc781238174
340+ else {
341+ let $acc881238174 = generateNewListOfPrices($acc781238174, $list81238174[7])
342+ if (($size81238174 == 8))
343+ then $acc881238174
344+ else {
345+ let $acc981238174 = generateNewListOfPrices($acc881238174, $list81238174[8])
346+ if (($size81238174 == 9))
347+ then $acc981238174
348+ else {
349+ let $acc1081238174 = generateNewListOfPrices($acc981238174, $list81238174[9])
350+ if (($size81238174 == 10))
351+ then $acc1081238174
352+ else {
353+ let $acc1181238174 = generateNewListOfPrices($acc1081238174, $list81238174[10])
354+ if (($size81238174 == 11))
355+ then $acc1181238174
356+ else {
357+ let $acc1281238174 = generateNewListOfPrices($acc1181238174, $list81238174[11])
358+ if (($size81238174 == 12))
359+ then $acc1281238174
360+ else {
361+ let $acc1381238174 = generateNewListOfPrices($acc1281238174, $list81238174[12])
362+ if (($size81238174 == 13))
363+ then $acc1381238174
364+ else {
365+ let $acc1481238174 = generateNewListOfPrices($acc1381238174, $list81238174[13])
366+ if (($size81238174 == 14))
367+ then $acc1481238174
368+ else {
369+ let $acc1581238174 = generateNewListOfPrices($acc1481238174, $list81238174[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+ }
412+ }
413+
414+
415+@Verifier(tx)
416+func verify () = match tx {
417+ case _: DataTransaction =>
418+ true
419+ case _: SetScriptTransaction =>
420+ true
421+ case _ =>
422+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
423+}
424+

github/deemru/w8io/169f3d6 
33.94 ms