tx · J5vauBFarKrNb9bGH138BkaH3n3GJYc2cvDqMFVsMJL4

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.08 16:48 [1389302] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "J5vauBFarKrNb9bGH138BkaH3n3GJYc2cvDqMFVsMJL4", "fee": 1400000, "feeAssetId": null, "timestamp": 1612792134471, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "3rJo4A729572ahJn27vjU9edAdSH9AQkT76asp4CAJFptR1Nj9dQGHPpaBmW2mqHJCjdbg4qfYJzxvfTVaBRNu5G" ], "script": "base64:AAIDAAAAAAAAAAwIARIGCgQBAQEBEgAAAAAPAAAAAA1sb3R0ZXJ5YW1vdW50AgAAAAdfYW1vdW50AAAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkCAAAADF9wcm9iYWJpbGl0eQAAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAIAAAAUX3Byb2JhYmlsaXR5X2RlY2ltYWwAAAAADGxvdHRlcnlQcmljZQIAAAAGX3ByaWNlAAAAAA1sb3R0ZXJ5UHJpY2VzAgAAAA9fbG90dGVyeV9wcmljZXMAAAAADmxvdHRlcnlBc3NldElkAgAAABFfbG90dGVyeV9hc3NldF9pZAAAAAANY291bnRPZlByaWNlcwIAAAANX2NvdW50X3ByaWNlcwAAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXICAAAAFWxhc3Rfc3Bpbl9yYW5kb21faGFzaAAAAAATbGFzdFRva2VuUmFuZG9tSGFzaAIAAAAWbGFzdF90b2tlbl9yYW5kb21faGFzaAEAAAAKcmFuZG9taXplcgAAAAEAAAADaW52BAAAAAhsYXN0UGxheQQAAAAHJG1hdGNoMAkABBwAAAACBQAAAAR0aGlzBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAEAAAAMV2F2ZXNMb3R0b1YyCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgUAAAAIbGFzdFBsYXkIBQAAAANpbnYAAAANdHJhbnNhY3Rpb25JZAgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkIBQAAAAlsYXN0QmxvY2sAAAATZ2VuZXJhdGlvblNpZ25hdHVyZQkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAfcAAAABBQAAAARyYW5kAQAAABNnZW5lcmF0b3JSYW5kb21IYXNoAAAAAQAAAANpbnYEAAAAEGxhc3RIYXNoRm9yVG9rZW4EAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAATbGFzdFRva2VuUmFuZG9tSGFzaAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAEAAAASV2F2ZXNMb345TGHY76R0b1YyCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgUAAAAQbGFzdEhhc2hGb3JUb2tlbggFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAB9wAAAAEFAAAABHJhbmQBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAAKdGVtcFByaWNlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwQAAAAKdHJpbVByaWNlcwkAAS8AAAACBQAAAAp0ZW1wUHJpY2VzCQAAZQAAAAIJAAExAAAAAQUAAAAKdGVtcFByaWNlcwAAAAAAAAAAAQQAAAALcHJpY2VzQXJyYXkJAAS1AAAAAgUAAAAKdHJpbVByaWNlcwIAAAABLAQAAAAIbGlzdFNpemUJAAGQAAAAAQUAAAALcHJpY2VzQXJyYXkFAAAACGxpc3RTaXplAQAAAA1nZXRQcmljZUFycmF5AAAAAAQAAAAKdGVtcFByaWNlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwQAAAAKdHJpbVByaWNlcwkAAS8AAAACBQAAAAp0ZW1wUHJpY2VzCQAAZQAAAAIJAAExAAAAAQUAAAAKdGVtcFByaWNlcwAAAAAAAAAAAQQAAAAIbmV3QXJyYXkJAAS1AAAAAgUAAAAKdHJpbVByaWNlcwIAAAABLAUAAAAIbmV3QXJyYXkBAAAAFmdldEFtb3VudENsYWltRm9yVG9rZW4AAAACAAAABXRva2VuAAAABnVwZGF0ZQQAAAANY3VycmVudEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAMJAAAAAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAA9BbW91bnQgZXhjZWVkZWQDCQAAAAAAAAIFAAAABnVwZGF0ZQYDCQAAAAAAAAIFAAAADWN1cnJlbnRBbW91bnQA//////////8FAAAADWN1cnJlbnRBbW91bnQEAAAAC3JldHVyblZhbHVlCQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEFAAAAC3JldHVyblZhbHVlBQAAAA1jdXJyZW50QW1vdW50AQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgAAAAtyYW5kb21WYWx1ZQAAAAV0b2tlbgQAAAAKdG9rZW5QcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAMbG90dGVyeVByaWNlBAAAABB0b2tlblByb2JhYmlsaXR5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkEAAAADHRva2VuQXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAObG90dGVyeUFzc2V0SWQEAAAAF3Rva2VuUHJvYmFiaWxpdHlEZWNpbWFsCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAABlsb3R0ZXJ5cHJvYmFiaWxpdHlkZWNpbWFsBAAAABBwcm9iYWJpbGl0eVZhbHVlCQAAaAAAAAIFAAAAF3Rva2VuUHJvYmFiaWxpdHlEZWNpbWFsAAAAAAAAAAPoBAAAAARoYXNoCQAAagAAAAIFAAAAC3JhbmRvbVZhbHVlBQAAABBwcm9iYWJpbGl0eVZhbHVlAwkAAGYAAAACBQAAABBwcm9iYWJpbGl0eVZhbHVlBQAAAARoYXNoBQAAAAtyYW5kb21WYWx1ZQUAAAALcmFuZG9tVmFsdWUAAAACAAAAAWkBAAAAEXVwZGF0ZXByb2JhYmlsaXR5AAAABAAAAAtwcm9iYWJpbGl0eQAAAAZhbW91bnQAAAAJcG9vbHByaWNlAAAAC3Byb2JEZWNpbWFsBAAAAAV0b2tlbgkAAloAAAABCQEAAAATZ2VuZXJhdG9yUmFuZG9tSGFzaAAAAAEFAAAAAWkEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAATdG90YWxSZXF1aXJlZEFtb3VudAkAAGgAAAACBQAAAAZhbW91bnQFAAAACXBvb2xwcmljZQMJAABmAAAAAgUAAAATdG90YWxSZXF1aXJlZEFtb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAAAgAAAAECAAAAGlBheW1lbnQgaXMgbm90IGVxdWFsIHByaWNlBAAAAAl0ZW1wVmFsdWUEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAAEAAAACmNvbnRhaW5LZXkJAASzAAAAAgUAAAAJdGVtcFZhbHVlBQAAAAV0b2tlbgQAAAASc3RvcmVkVG9rZW5zVmFsdWVzBAAAAAckbWF0Y2gwBQAAAApjb250YWluS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0CQABLAAAAAIJAAEsAAAAAgUAAAAJdGVtcFZhbHVlBQAAAAV0b2tlbgIAAAABLAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF4BQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAE1Rva2VuIGlzIGR1cGxpY2F0ZWQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAAC2NvdW50VG9rZW5zCQEAAAARZ2V0U2l6ZVByaWNlQXJyYXkAAAAABAAAABF1cGRhdGVMb3R0ZXJ5UG9vbAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkFAAAAC3Byb2JhYmlsaXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAAxsb3R0ZXJ5UHJpY2UFAAAACXBvb2xwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeVByaWNlcwUAAAASc3RvcmVkVG9rZW5zVmFsdWVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1jb3VudE9mUHJpY2VzBQAAAAtjb3VudFRva2VucwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAUAAAALcHJvYkRlY2ltYWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gFAAAABXRva2VuBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAABF1cGRhdGVMb3R0ZXJ5UG9vbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAACnN0YXJ0bG90dG8AAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACHJhbmRoYXNoCQEAAAAKcmFuZG9taXplcgAAAAEFAAAAAWkEAAAADXNpemVUZW1wUHJpY2UJAQAAABFnZXRTaXplUHJpY2VBcnJheQAAAAAEAAAACXByaWNlTGlzdAkBAAAADWdldFByaWNlQXJyYXkAAAAABAAAAApyYW5kTnVtYmVyCQAEsQAAAAEFAAAACHJhbmRoYXNoBAAAAAx3aW5uaW5nVG9rZW4EAAAADSRsaXN0NDc5MzQ4MzgFAAAACXByaWNlTGlzdAQAAAANJHNpemU0NzkzNDgzOAkAAZAAAAABBQAAAA0kbGlzdDQ3OTM0ODM4BAAAAA0kYWNjMDQ3OTM0ODM4BQAAAApyYW5kTnVtYmVyAwkAAAAAAAACBQAAAA0kc2l6ZTQ3OTM0ODM4AAAAAAAAAAAABQAAAA0kYWNjMDQ3OTM0ODM4BAAAAA0kYWNjMTQ3OTM0ODM4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MwNDc5MzQ4MzgJAAGRAAAAAgUAAAANJGxpc3Q0NzkzNDgzOAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU0NzkzNDgzOAAAAAAAAAAAAQUAAAANJGFjYzE0NzkzNDgzOAQAAAANJGFjYzI0NzkzNDgzOAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMTQ3OTM0ODM4CQABkQAAAAIFAAAADSRsaXN0NDc5MzQ4MzgAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNDc5MzQ4MzgAAAAAAAAAAAIFAAAADSRhY2MyNDc5MzQ4MzgEAAAADSRhY2MzNDc5MzQ4MzgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzI0NzkzNDgzOAkAAZEAAAACBQAAAA0kbGlzdDQ3OTM0ODM4AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTQ3OTM0ODM4AAAAAAAAAAADBQAAAA0kYWNjMzQ3OTM0ODM4BAAAAA0kYWNjNDQ3OTM0ODM4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MzNDc5MzQ4MzgJAAGRAAAAAgUAAAANJGxpc3Q0NzkzNDgzOAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU0NzkzNDgzOAAAAAAAAAAABAUAAAANJGFjYzQ0NzkzNDgzOAQAAAANJGFjYzU0NzkzNDgzOAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjNDQ3OTM0ODM4CQABkQAAAAIFAAAADSRsaXN0NDc5MzQ4MzgAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNDc5MzQ4MzgAAAAAAAAAAAUFAAAADSRhY2M1NDc5MzQ4MzgEAAAADSRhY2M2NDc5MzQ4MzgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzU0NzkzNDgzOAkAAZEAAAACBQAAAA0kbGlzdDQ3OTM0ODM4AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V52LgBCw==", "height": 1389302, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DRjeegUvhhr5Yr38iKtoEf3NmwMJxRD2WyuJYUkHFCDJ Next: Br7Qhwfx9Xv8wdALM1XA1bUwTvHhq4hYksc4pSZmGLJF Diff:
OldNewDifferences
8787 let probabilityValue = (tokenProbabilityDecimal * 1000)
8888 let hash = (randomValue % probabilityValue)
8989 if ((probabilityValue > hash))
90- then 1
91- else 1
90+ then randomValue
91+ else randomValue
9292 }
9393
9494
129129 let randhash = randomizer(i)
130130 let sizeTempPrice = getSizePriceArray()
131131 let priceList = getPriceArray()
132- let defaultValue = 1000
133132 let randNumber = toInt(randhash)
134133 let winningToken = {
135- let $list48014846 = priceList
136- let $size48014846 = size($list48014846)
137- let $acc048014846 = randNumber
138- if (($size48014846 == 0))
139- then $acc048014846
134+ let $list47934838 = priceList
135+ let $size47934838 = size($list47934838)
136+ let $acc047934838 = randNumber
137+ if (($size47934838 == 0))
138+ then $acc047934838
140139 else {
141- let $acc148014846 = procedLottery($acc048014846, $list48014846[0])
142- if (($size48014846 == 1))
143- then $acc148014846
140+ let $acc147934838 = procedLottery($acc047934838, $list47934838[0])
141+ if (($size47934838 == 1))
142+ then $acc147934838
144143 else {
145- let $acc248014846 = procedLottery($acc148014846, $list48014846[1])
146- if (($size48014846 == 2))
147- then $acc248014846
144+ let $acc247934838 = procedLottery($acc147934838, $list47934838[1])
145+ if (($size47934838 == 2))
146+ then $acc247934838
148147 else {
149- let $acc348014846 = procedLottery($acc248014846, $list48014846[2])
150- if (($size48014846 == 3))
151- then $acc348014846
148+ let $acc347934838 = procedLottery($acc247934838, $list47934838[2])
149+ if (($size47934838 == 3))
150+ then $acc347934838
152151 else {
153- let $acc448014846 = procedLottery($acc348014846, $list48014846[3])
154- if (($size48014846 == 4))
155- then $acc448014846
152+ let $acc447934838 = procedLottery($acc347934838, $list47934838[3])
153+ if (($size47934838 == 4))
154+ then $acc447934838
156155 else {
157- let $acc548014846 = procedLottery($acc448014846, $list48014846[4])
158- if (($size48014846 == 5))
159- then $acc548014846
156+ let $acc547934838 = procedLottery($acc447934838, $list47934838[4])
157+ if (($size47934838 == 5))
158+ then $acc547934838
160159 else {
161- let $acc648014846 = procedLottery($acc548014846, $list48014846[5])
160+ let $acc647934838 = procedLottery($acc547934838, $list47934838[5])
162161 throw("List size exceed 5")
163162 }
164163 }
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 func randomizer (inv) = {
2323 let lastPlay = match getBinary(this, lastHashRandomNumber) {
2424 case s: ByteVector =>
2525 s
2626 case _: Unit =>
2727 base58'2ee4oFDYriWJ9EMeR'
2828 case _ =>
2929 throw("Match error")
3030 }
3131 let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
3232 sha256(rand)
3333 }
3434
3535
3636 func generatorRandomHash (inv) = {
3737 let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
3838 case s: ByteVector =>
3939 s
4040 case _: Unit =>
4141 base58'4dD7osCQzvuXJdTiGfKvTwnKT'
4242 case _ =>
4343 throw("Match error")
4444 }
4545 let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
4646 sha256(rand)
4747 }
4848
4949
5050 func getSizePriceArray () = {
5151 let tempPrices = getStringValue(this, lotteryPrices)
5252 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5353 let pricesArray = split(trimPrices, ",")
5454 let listSize = size(pricesArray)
5555 listSize
5656 }
5757
5858
5959 func getPriceArray () = {
6060 let tempPrices = getStringValue(this, lotteryPrices)
6161 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
6262 let newArray = split(trimPrices, ",")
6363 newArray
6464 }
6565
6666
6767 func getAmountClaimForToken (token,update) = {
6868 let currentAmount = getIntegerValue(this, (token + lotteryamount))
6969 if ((currentAmount == 0))
7070 then throw("Amount exceeded")
7171 else if ((update == true))
7272 then if ((currentAmount == -1))
7373 then currentAmount
7474 else {
7575 let returnValue = (currentAmount - 1)
7676 returnValue
7777 }
7878 else currentAmount
7979 }
8080
8181
8282 func procedLottery (randomValue,token) = {
8383 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
8484 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
8585 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
8686 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
8787 let probabilityValue = (tokenProbabilityDecimal * 1000)
8888 let hash = (randomValue % probabilityValue)
8989 if ((probabilityValue > hash))
90- then 1
91- else 1
90+ then randomValue
91+ else randomValue
9292 }
9393
9494
9595 @Callable(i)
9696 func updateprobability (probability,amount,poolprice,probDecimal) = {
9797 let token = toBase64String(generatorRandomHash(i))
9898 let payment = extract(i.payment)
9999 let totalRequiredAmount = (amount * poolprice)
100100 if ((totalRequiredAmount > payment.amount))
101101 then throw("Payment is not equal price")
102102 else {
103103 let tempValue = match getString(this, lotteryPrices) {
104104 case a: String =>
105105 a
106106 case _ =>
107107 ""
108108 }
109109 let containKey = indexOf(tempValue, token)
110110 let storedTokensValues = match containKey {
111111 case _: Unit =>
112112 ((tempValue + token) + ",")
113113 case x: Int =>
114114 throw("Token is duplicated")
115115 case _ =>
116116 throw("Match error")
117117 }
118118 let countTokens = getSizePriceArray()
119119 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 + lastTokenRandomHash), token)])
120120 ScriptResult(updateLotteryPool, TransferSet(nil))
121121 }
122122 }
123123
124124
125125
126126 @Callable(i)
127127 func startlotto () = {
128128 let currentKey = toBase58String(i.caller.bytes)
129129 let randhash = randomizer(i)
130130 let sizeTempPrice = getSizePriceArray()
131131 let priceList = getPriceArray()
132- let defaultValue = 1000
133132 let randNumber = toInt(randhash)
134133 let winningToken = {
135- let $list48014846 = priceList
136- let $size48014846 = size($list48014846)
137- let $acc048014846 = randNumber
138- if (($size48014846 == 0))
139- then $acc048014846
134+ let $list47934838 = priceList
135+ let $size47934838 = size($list47934838)
136+ let $acc047934838 = randNumber
137+ if (($size47934838 == 0))
138+ then $acc047934838
140139 else {
141- let $acc148014846 = procedLottery($acc048014846, $list48014846[0])
142- if (($size48014846 == 1))
143- then $acc148014846
140+ let $acc147934838 = procedLottery($acc047934838, $list47934838[0])
141+ if (($size47934838 == 1))
142+ then $acc147934838
144143 else {
145- let $acc248014846 = procedLottery($acc148014846, $list48014846[1])
146- if (($size48014846 == 2))
147- then $acc248014846
144+ let $acc247934838 = procedLottery($acc147934838, $list47934838[1])
145+ if (($size47934838 == 2))
146+ then $acc247934838
148147 else {
149- let $acc348014846 = procedLottery($acc248014846, $list48014846[2])
150- if (($size48014846 == 3))
151- then $acc348014846
148+ let $acc347934838 = procedLottery($acc247934838, $list47934838[2])
149+ if (($size47934838 == 3))
150+ then $acc347934838
152151 else {
153- let $acc448014846 = procedLottery($acc348014846, $list48014846[3])
154- if (($size48014846 == 4))
155- then $acc448014846
152+ let $acc447934838 = procedLottery($acc347934838, $list47934838[3])
153+ if (($size47934838 == 4))
154+ then $acc447934838
156155 else {
157- let $acc548014846 = procedLottery($acc448014846, $list48014846[4])
158- if (($size48014846 == 5))
159- then $acc548014846
156+ let $acc547934838 = procedLottery($acc447934838, $list47934838[4])
157+ if (($size47934838 == 5))
158+ then $acc547934838
160159 else {
161- let $acc648014846 = procedLottery($acc548014846, $list48014846[5])
160+ let $acc647934838 = procedLottery($acc547934838, $list47934838[5])
162161 throw("List size exceed 5")
163162 }
164163 }
165164 }
166165 }
167166 }
168167 }
169168 }
170169 let writeSets = WriteSet(nil)
171170 ScriptResult(writeSets, TransferSet(nil))
172171 }
173172
174173
175174 @Verifier(tx)
176175 func verify () = match tx {
177176 case _: DataTransaction =>
178177 true
179178 case _: SetScriptTransaction =>
180179 true
181180 case _ =>
182181 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
183182 }
184183

github/deemru/w8io/873ac7e 
48.23 ms