tx · 8HKchhVj7ZwafJEU2dgQduXAmsW58UxLw2yNykZfBQFn

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 03:21 [1389939] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "8HKchhVj7ZwafJEU2dgQduXAmsW58UxLw2yNykZfBQFn", "fee": 1400000, "feeAssetId": null, "timestamp": 1612830176156, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "4LyUDutPwv2FFFRpV2Y9WJE1mszFPbUs6TA3DuXauDzSLN5KDLksXYQUG8HQ3Hqxf5wVNLK2n4rTzaNRmewmqmmT" ], "script": "base64:AAIDAAAAAAAAAAwIARIGCgQBAQEBEgAAAAAPAAAAAA1sb3R0ZXJ5YW1vdW50AgAAAAdfYW1vdW50AAAAABJsb3R0ZXJ5cHJvYmFiaWxpdHkCAAAADF9wcm9iYWJpbGl0eQAAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAIAAAAUX3Byb2JhYmlsaXR5X2RlY2ltYWwAAAAADGxvdHRlcnlQcmljZQIAAAAGX3ByaWNlAAAAAA1sb3R0ZXJ5UHJpY2VzAgAAAA9fbG90dGVyeV9wcmljZXMAAAAADmxvdHRlcnlBc3NldElkAgAAABFfbG90dGVyeV9hc3NldF9pZAAAAAANY291bnRPZlByaWNlcwIAAAANX2NvdW50X3ByaWNlcwAAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXICAAAAFWxhc3Rfc3Bpbl9yYW5kb21faGFzaAAAAAATbGFzdFRva2VuUmFuZG9tSGFzaAIAAAAWbGFzdF90b2tlbl9yYW5kb21faGFzaAEAAAAKcmFuZG9taXplcgAAAAEAAAADaW52BAAAAAhsYXN0UGxheQQAAAAHJG1hdGNoMAkABBwAAAACBQAAAAR0aGlzBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAEAAAAMV2F2ZXNMb3R0b1YyCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgUAAAAIbGFzdFBsYXkIBQAAAANpbnYAAAANdHJhbnNhY3Rpb25JZAgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkIBQAAAAlsYXN0QmxvY2sAAAATZ2VuZXJhdGlvblNpZ25hdHVyZQkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAfcAAAABBQAAAARyYW5kAQAAABNnZW5lcmF0b3JSYW5kb21IYXNoAAAAAQAAAANpbnYEAAAAEGxhc3RIYXNoRm9yVG9rZW4EAAAAByRtYXRjaDAJAAQcAAAAAgUAAAAEdGhpcwUAAAATbGFzdFRva2VuUmFuZG9tSGFzaAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAEAAAASV2F2ZXNMb345TGHY76R0b1YyCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgUAAAAQbGFzdEhhc2hGb3JUb2tlbggFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAB9wAAAAEFAAAABHJhbmQBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAAKdGVtcFByaWNlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwQAAAAKdHJpbVByaWNlcwkAAS8AAAACBQAAAAp0ZW1wUHJpY2VzCQAAZQAAAAIJAAExAAAAAQUAAAAKdGVtcFByaWNlcwAAAAAAAAAAAQQAAAALcHJpY2VzQXJyYXkJAAS1AAAAAgUAAAAKdHJpbVByaWNlcwIAAAABLAQAAAAIbGlzdFNpemUJAAGQAAAAAQUAAAALcHJpY2VzQXJyYXkFAAAACGxpc3RTaXplAQAAAA1nZXRQcmljZUFycmF5AAAAAAQAAAAKdGVtcFByaWNlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeVByaWNlcwQAAAAKdHJpbVByaWNlcwkAAS8AAAACBQAAAAp0ZW1wUHJpY2VzCQAAZQAAAAIJAAExAAAAAQUAAAAKdGVtcFByaWNlcwAAAAAAAAAAAQQAAAAIbmV3QXJyYXkJAAS1AAAAAgUAAAAKdHJpbVByaWNlcwIAAAABLAUAAAAIbmV3QXJyYXkBAAAAFmdldEFtb3VudENsYWltRm9yVG9rZW4AAAACAAAABXRva2VuAAAABnVwZGF0ZQQAAAANY3VycmVudEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAMJAAAAAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAA9BbW91bnQgZXhjZWVkZWQDCQAAAAAAAAIFAAAABnVwZGF0ZQYDCQAAAAAAAAIFAAAADWN1cnJlbnRBbW91bnQA//////////8FAAAADWN1cnJlbnRBbW91bnQEAAAAC3JldHVyblZhbHVlCQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEFAAAAC3JldHVyblZhbHVlBQAAAA1jdXJyZW50QW1vdW50AQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgAAAAN3aW4AAAAFdG9rZW4EAAAACnRva2VuUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQQAAAAQdG9rZW5Qcm9iYWJpbGl0eQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAASbG90dGVyeXByb2JhYmlsaXR5BAAAABd0b2tlblByb2JhYmlsaXR5RGVjaW1hbAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAQAAAAQcHJvYmFiaWxpdHlWYWx1ZQkAAGgAAAACBQAAABd0b2tlblByb2JhYmlsaXR5RGVjaW1hbAAAAAAAAAAD6AQAAAAEaGFzaAkAAGoAAAACBQAAABd0b2tlblByb2JhYmlsaXR5RGVjaW1hbAUAAAAQcHJvYmFiaWxpdHlWYWx1ZQQAAAAMcmFuZG9tTnVtYmVyCQABkQAAAAIFAAAAA3dpbgAAAAAAAAAAAAQAAAAJc2l6ZU9mV2luCQABkAAAAAEFAAAAA3dpbgMJAAAAAAAAAgUAAAAJc2l6ZU9mV2luAAAAAAAAAAABAwkAAGYAAAACBQAAABBwcm9iYWJpbGl0eVZhbHVlBQAAAARoYXNoBAAAAAduZXdMaXN0CQAETAAAAAIFAAAABXRva2VuBQAAAAN3aW4FAAAAB25ld0xpc3QFAAAAA3dpbgUAAAADd2luAAAAAgAAAAFpAQAAABF1cGRhdGVwcm9iYWJpbGl0eQAAAAQAAAALcHJvYmFiaWxpdHkAAAAGYW1vdW50AAAACXBvb2xwcmljZQAAAAtwcm9iRGVjaW1hbAQAAAAFdG9rZW4JAAJaAAAAAQkBAAAAE2dlbmVyYXRvclJhbmRvbUhhc2gAAAABBQAAAAFpBAAAAAdwYXltZW50CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAAE3RvdGFsUmVxdWlyZWRBbW91bnQJAABoAAAAAgUAAAAGYW1vdW50BQAAAAlwb29scHJpY2UDCQAAZgAAAAIFAAAAE3RvdGFsUmVxdWlyZWRBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAkAAAIAAAABAgAAABpQYXltZW50IGlzIG5vdCBlcXVhbCBwcmljZQQAAAAJdGVtcFZhbHVlBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAADWxvdHRlcnlQcmljZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAABAAAAApjb250YWluS2V5CQAEswAAAAIFAAAACXRlbXBWYWx1ZQUAAAAFdG9rZW4EAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwQAAAAHJG1hdGNoMAUAAAAKY29udGFpbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAkAASwAAAACCQABLAAAAAIFAAAACXRlbXBWYWx1ZQUAAAAFdG9rZW4CAAAAASwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABeAUAAAAHJG1hdGNoMAkAAAIAAAABAgAAABNUb2tlbiBpcyBkdXBsaWNhdGVkCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAAtjb3VudFRva2VucwkBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAASbG90dGVyeXByb2JhYmlsaXR5BQAAAAtwcm9iYWJpbGl0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAAMbG90dGVyeVByaWNlBQAAAAlwb29scHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlQcmljZXMFAAAAEnN0b3JlZFRva2Vuc1ZhbHVlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANY291bnRPZlByaWNlcwUAAAALY291bnRUb2tlbnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwFAAAAC3Byb2JEZWNpbWFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAABNsYXN0VG9rZW5SYW5kb21IYXNoBQAAAAV0b2tlbgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhyYW5kaGFzaAkBAAAACnJhbmRvbWl6ZXIAAAABBQAAAAFpBAAAAA1zaXplVGVtcFByaWNlCQEAAAARZ2V0U2l6ZVByaWNlQXJyYXkAAAAABAAAAAlwcmljZUxpc3QJAQAAAA1nZXRQcmljZUFycmF5AAAAAAQAAAAKcmFuZE51bWJlcgkABLEAAAABBQAAAAhyYW5kaGFzaAQAAAAMd2lubmluZ1Rva2VuBAAAAA0kbGlzdDQ5NTA0OTg3BQAAAAlwcmljZUxpc3QEAAAADSRzaXplNDk1MDQ5ODcJAAGQAAAAAQUAAAANJGxpc3Q0OTUwNDk4NwQAAAANJGFjYzA0OTUwNDk4NwUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTQ5NTA0OTg3AAAAAAAAAAAABQAAAA0kYWNjMDQ5NTA0OTg3BAAAAA0kYWNjMTQ5NTA0OTg3CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MwNDk1MDQ5ODcJAAGRAAAAAgUAAAANJGxpc3Q0OTUwNDk4NwAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU0OTUwNDk4NwAAAAAAAAAAAQUAAAANJGFjYzE0OTUwNDk4NwQAAAANJGFjYzI0OTUwNDk4NwkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMTQ5NTA0OTg3CQABkQAAAAIFAAAADSRsaXN0NDk1MDQ5ODcAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNDk1MDQ5ODcAAAAAAAAAAAIFAAAADSRhY2MyNDk1MDQ5ODcEAAAADSRhY2MzNDk1MDQ5ODcJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzI0OTUwNDk4NwkAAZEAAAACBQAAAA0kbGlzdDQ5NTA0OTg3AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTQ5NTA0OTg3AAAAAAAAAAADBQAAAA0kYWNjMzQ5NTA0OTg3BAAAAA0kYWNjNDQ5NTA0OTg3CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MzNDk1MDQ5ODcJAAGRAAAAAgUAAAANJGxpc3Q0OTUwNDk4NwAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU0OTUwNDk4NwAAAAAAAAAABAUAAAANJGFjYzQ0OTUwNDk4NwQAAAANJGFjYzU0OTUwNDk4NwkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjNDQ5NTA0OTg3CQABkQAAAAIFAAAADSRsaXN0NDk1MDQ5ODcAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNDk1MDQ5ODcAAAAAAAAAAAUFAAAADSRhY2M1NDk1MDQ5ODcEAAAADSRhY2M2NDk1MDQ5ODcJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzU0OTUwNDk4NwkAAZEAAAACBQAAAA0kbGlzdDQ5NTA0OTg3AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Mdwbcw==", "height": 1389939, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Br7Qhwfx9Xv8wdALM1XA1bUwTvHhq4hYksc4pSZmGLJF Next: k4siu5QKsU4Vej33Bar6dRSijNYz8ZF5LqJt2ka2waJ Diff:
OldNewDifferences
8585 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
8686 let probabilityValue = (tokenProbabilityDecimal * 1000)
8787 let hash = (tokenProbabilityDecimal % probabilityValue)
88+ let randomNumber = win[0]
8889 let sizeOfWin = size(win)
8990 if ((sizeOfWin == 1))
9091 then if ((probabilityValue > hash))
136137 let priceList = getPriceArray()
137138 let randNumber = toInt(randhash)
138139 let winningToken = {
139- let $list49034940 = priceList
140- let $size49034940 = size($list49034940)
141- let $acc049034940 = nil
142- if (($size49034940 == 0))
143- then $acc049034940
140+ let $list49504987 = priceList
141+ let $size49504987 = size($list49504987)
142+ let $acc049504987 = nil
143+ if (($size49504987 == 0))
144+ then $acc049504987
144145 else {
145- let $acc149034940 = procedLottery($acc049034940, $list49034940[0])
146- if (($size49034940 == 1))
147- then $acc149034940
146+ let $acc149504987 = procedLottery($acc049504987, $list49504987[0])
147+ if (($size49504987 == 1))
148+ then $acc149504987
148149 else {
149- let $acc249034940 = procedLottery($acc149034940, $list49034940[1])
150- if (($size49034940 == 2))
151- then $acc249034940
150+ let $acc249504987 = procedLottery($acc149504987, $list49504987[1])
151+ if (($size49504987 == 2))
152+ then $acc249504987
152153 else {
153- let $acc349034940 = procedLottery($acc249034940, $list49034940[2])
154- if (($size49034940 == 3))
155- then $acc349034940
154+ let $acc349504987 = procedLottery($acc249504987, $list49504987[2])
155+ if (($size49504987 == 3))
156+ then $acc349504987
156157 else {
157- let $acc449034940 = procedLottery($acc349034940, $list49034940[3])
158- if (($size49034940 == 4))
159- then $acc449034940
158+ let $acc449504987 = procedLottery($acc349504987, $list49504987[3])
159+ if (($size49504987 == 4))
160+ then $acc449504987
160161 else {
161- let $acc549034940 = procedLottery($acc449034940, $list49034940[4])
162- if (($size49034940 == 5))
163- then $acc549034940
162+ let $acc549504987 = procedLottery($acc449504987, $list49504987[4])
163+ if (($size49504987 == 5))
164+ then $acc549504987
164165 else {
165- let $acc649034940 = procedLottery($acc549034940, $list49034940[5])
166+ let $acc649504987 = procedLottery($acc549504987, $list49504987[5])
166167 throw("List size exceed 5")
167168 }
168169 }
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 (win,token) = {
8383 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
8484 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
8585 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
8686 let probabilityValue = (tokenProbabilityDecimal * 1000)
8787 let hash = (tokenProbabilityDecimal % probabilityValue)
88+ let randomNumber = win[0]
8889 let sizeOfWin = size(win)
8990 if ((sizeOfWin == 1))
9091 then if ((probabilityValue > hash))
9192 then {
9293 let newList = token :: win
9394 newList
9495 }
9596 else win
9697 else win
9798 }
9899
99100
100101 @Callable(i)
101102 func updateprobability (probability,amount,poolprice,probDecimal) = {
102103 let token = toBase64String(generatorRandomHash(i))
103104 let payment = extract(i.payment)
104105 let totalRequiredAmount = (amount * poolprice)
105106 if ((totalRequiredAmount > payment.amount))
106107 then throw("Payment is not equal price")
107108 else {
108109 let tempValue = match getString(this, lotteryPrices) {
109110 case a: String =>
110111 a
111112 case _ =>
112113 ""
113114 }
114115 let containKey = indexOf(tempValue, token)
115116 let storedTokensValues = match containKey {
116117 case _: Unit =>
117118 ((tempValue + token) + ",")
118119 case x: Int =>
119120 throw("Token is duplicated")
120121 case _ =>
121122 throw("Match error")
122123 }
123124 let countTokens = getSizePriceArray()
124125 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)])
125126 ScriptResult(updateLotteryPool, TransferSet(nil))
126127 }
127128 }
128129
129130
130131
131132 @Callable(i)
132133 func startlotto () = {
133134 let currentKey = toBase58String(i.caller.bytes)
134135 let randhash = randomizer(i)
135136 let sizeTempPrice = getSizePriceArray()
136137 let priceList = getPriceArray()
137138 let randNumber = toInt(randhash)
138139 let winningToken = {
139- let $list49034940 = priceList
140- let $size49034940 = size($list49034940)
141- let $acc049034940 = nil
142- if (($size49034940 == 0))
143- then $acc049034940
140+ let $list49504987 = priceList
141+ let $size49504987 = size($list49504987)
142+ let $acc049504987 = nil
143+ if (($size49504987 == 0))
144+ then $acc049504987
144145 else {
145- let $acc149034940 = procedLottery($acc049034940, $list49034940[0])
146- if (($size49034940 == 1))
147- then $acc149034940
146+ let $acc149504987 = procedLottery($acc049504987, $list49504987[0])
147+ if (($size49504987 == 1))
148+ then $acc149504987
148149 else {
149- let $acc249034940 = procedLottery($acc149034940, $list49034940[1])
150- if (($size49034940 == 2))
151- then $acc249034940
150+ let $acc249504987 = procedLottery($acc149504987, $list49504987[1])
151+ if (($size49504987 == 2))
152+ then $acc249504987
152153 else {
153- let $acc349034940 = procedLottery($acc249034940, $list49034940[2])
154- if (($size49034940 == 3))
155- then $acc349034940
154+ let $acc349504987 = procedLottery($acc249504987, $list49504987[2])
155+ if (($size49504987 == 3))
156+ then $acc349504987
156157 else {
157- let $acc449034940 = procedLottery($acc349034940, $list49034940[3])
158- if (($size49034940 == 4))
159- then $acc449034940
158+ let $acc449504987 = procedLottery($acc349504987, $list49504987[3])
159+ if (($size49504987 == 4))
160+ then $acc449504987
160161 else {
161- let $acc549034940 = procedLottery($acc449034940, $list49034940[4])
162- if (($size49034940 == 5))
163- then $acc549034940
162+ let $acc549504987 = procedLottery($acc449504987, $list49504987[4])
163+ if (($size49504987 == 5))
164+ then $acc549504987
164165 else {
165- let $acc649034940 = procedLottery($acc549034940, $list49034940[5])
166+ let $acc649504987 = procedLottery($acc549504987, $list49504987[5])
166167 throw("List size exceed 5")
167168 }
168169 }
169170 }
170171 }
171172 }
172173 }
173174 }
174175 let writeSets = WriteSet(nil)
175176 ScriptResult(writeSets, TransferSet(nil))
176177 }
177178
178179
179180 @Verifier(tx)
180181 func verify () = match tx {
181182 case _: DataTransaction =>
182183 true
183184 case _: SetScriptTransaction =>
184185 true
185186 case _ =>
186187 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
187188 }
188189

github/deemru/w8io/03bedc9 
42.34 ms