tx · EsAskqaNm8Bk8vS95LsoW7jSVtqo2FNavA2wte5EjQ1n

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 08:58 [1390254] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "EsAskqaNm8Bk8vS95LsoW7jSVtqo2FNavA2wte5EjQ1n", "fee": 1400000, "feeAssetId": null, "timestamp": 1612850327946, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "5Jia7EcJeDGAmcvm7DzW55bB5i4A4ULRkuV6rcCgWCsQGtDQaEtvmSEGWvyGxX1Ncg9Wzp57pfSkM8991LvjMtD1" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sA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AAACBQAAAAV0b2tlbgUAAAAZbG90dGVyeXByb2JhYmlsaXR5ZGVjaW1hbAUAAAALcHJvYkRlY2ltYWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADmxvdHRlcnlBc3NldElkBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAABNsYXN0VG9rZW5SYW5kb21IYXNoBQAAAAV0b2tlbgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhyYW5kaGFzaAkBAAAACnJhbmRvbWl6ZXIAAAABBQAAAAFpBAAAAA1zaXplVGVtcFByaWNlCQEAAAARZ2V0U2l6ZVByaWNlQXJyYXkAAAAABAAAAAlwcmljZUxpc3QJAQAAAA1nZXRQcmljZUFycmF5AAAAAAQAAAAKcmFuZE51bWJlcgkABLEAAAABBQAAAAhyYW5kaGFzaAQAAAAMd2lubmluZ1Rva2VuBAAAAA0kbGlzdDc1NDU3NTgyBQAAAAlwcmljZUxpc3QEAAAADSRzaXplNzU0NTc1ODIJAAGQAAAAAQUAAAANJGxpc3Q3NTQ1NzU4MgQAAAANJGFjYzA3NTQ1NzU4MgUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTc1NDU3NTgyAAAAAAAAAAAABQAAAA0kYWNjMDc1NDU3NTgyBAAAAA0kYWNjMTc1NDU3NTgyCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MwNzU0NTc1ODIJAAGRAAAAAgUAAAANJGxpc3Q3NTQ1NzU4MgAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU3NTQ1NzU4MgAAAAAAAAAAAQUAAAANJGFjYzE3NTQ1NzU4MgQAAAANJGFjYzI3NTQ1NzU4MgkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMTc1NDU3NTgyCQABkQAAAAIFAAAADSRsaXN0NzU0NTc1ODIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNzU0NTc1ODIAAAAAAAAAAAIFAAAADSRhY2MyNzU0NTc1ODIEAAAADSRhY2MzNzU0NTc1ODIJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzI3NTQ1NzU4MgkAAZEAAAACBQAAAA0kbGlzdDc1NDU3NTgyAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTc1NDU3NTgyAAAAAAAAAAADBQAAAA0kYWNjMzc1NDU3NTgyBAAAAA0kYWNjNDc1NDU3NTgyCQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MzNzU0NTc1ODIJAAGRAAAAAgUAAAANJGxpc3Q3NTQ1NzU4MgAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU3NTQ1NzU4MgAAAAAAAAAABAUAAAANJGFjYzQ3NTQ1NzU4MgQAAAANJGFjYzU3NTQ1NzU4MgkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjNDc1NDU3NTgyCQABkQAAAAIFAAAADSRsaXN0NzU0NTc1ODIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNzU0NTc1ODIAAAAAAAAAAAUFAAAADSRhY2M1NzU0NTc1ODIEAAAADSRhY2M2NzU0NTc1ODIJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzU3NTQ1NzU4MgkAAZEAAAACBQAAAA0kbGlzdDc1NDU3NTgyAAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAPc2l6ZU9mV2luUHJpY2VzCQABkAAAAAEFAAAADHdpbm5pbmdUb2tlbgMJAAAAAAAAAgUAAAAPc2l6ZU9mV2luUHJpY2VzAAAAAAAAAAABBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsBAAAAAV0b2tlbgkAAZEAAAACBQAAAAx3aW5uaW5nVG9rZW4AAAAAAAAAAAEEAAAADWN1cnJlbnRBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQDCQAAAAAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAPQW1vdW50IGV4Y2VlZGVkBAAAAAxhY3R1YWxBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAQQAAAAKdG9rZW5QcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAMbG90dGVyeVByaWNlBAAAAAx0b2tlbkFzc2V0SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADmxvdHRlcnlBc3NldElkAwkAAAAAAAACBQAAAAxhY3R1YWxBbW91bnQAAAAAAAAAAAAEAAAAEGFjdHVhbExpc3RQcmljZXMEAAAADSRsaXN0ODQwMDg0NTAFAAAACXByaWNlTGlzdAQAAAANJHNpemU4NDAwODQ1MAkAAZAAAAABBQAAAA0kbGlzdDg0MDA4NDUwBAAAAA0kYWNjMDg0MDA4NDUwBQAAAAV0b2tlbgMJAAAAAAAAAgUAAAANJHNpemU4NDAwODQ1MAAAAAAAAAAAAAUAAAANJGFjYzA4NDAwODQ1MAQAAAANJGFjYzE4NDAwODQ1MAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzA4NDAwODQ1MAkAAZEAAAACBQAAAA0kbGlzdDg0MDA4NDUwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTg0MDA4NDUwAAAAAAAAAAABBQAAAA0kYWNjMTg0MDA4NDUwBAAAAA0kYWNjMjg0MDA4NDUwCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMTg0MDA4NDUwCQABkQAAAAIFAAAADSRsaXN0ODQwMDg0NTAAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplODQwMDg0NTAAAAAAAAAAAAIFAAAADSRhY2MyODQwMDg0NTAEAAAADSRhY2MzODQwMDg0NTAJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MyODQwMDg0NTAJAAGRAAAAAgUAAAANJGxpc3Q4NDAwODQ1MAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU4NDAwODQ1MAAAAAAAAAAAAwUAAAANJGFjYzM4NDAwODQ1MAQAAAANJGFjYzQ4NDAwODQ1MAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzM4NDAwODQ1MAkAAZEAAAACBQAAAA0kbGlzdDg0MDA4NDUwAAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTg0MDA4NDUwAAAAAAAAAAAEBQAAAA0kYWNjNDg0MDA4NDUwBAAAAA0kYWNjNTg0MDA4NDUwCQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNDg0MDA4NDUwCQABkQAAAAIFAAAADSRsaXN0ODQwMDg0NTAAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplODQwMDg0NTAAAAAAAAAAAAUFAAAADSRhY2M1ODQwMDg0NTAEAAAADSRhY2M2ODQwMDg0NTAJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M1ODQwMDg0NTAJAAGRAAAAAgUAAAANJGxpc3Q4NDAwODQ1MAAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAA9fd2lubmluZ190b2tlbl8FAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAE193aW5pbm5pbmdfYWRkcmVzc18FAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAADGFjdHVhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeVByaWNlcwUAAAAQYWN0dWFsTGlzdFByaWNlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXIFAAAACnJhbmROdW1iZXIFAAAAA25pbAMJAAAAAAAAAgUAAAAMdG9rZW5Bc3NldElkAgAAAAAEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAPX3dpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAABNfd2luaW5uaW5nX2FkZHJlc3NfBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50BQAAAAxhY3R1YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyBQAAAApyYW5kTnVtYmVyBQAAAANuaWwDCQAAAAAAAAIFAAAADHRva2VuQXNzZXRJZAIAAAAABAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5WMh4fQ==", "height": 1390254, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9fTgt4kJUsbeRE4Nb5ypjafjbJYZr9WyPkmPi1PHLG5K Next: 8kegKDMdQTX1Rnuze2TAE4c7G9i23CVZzGhHoJvzPGE4 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 if ((paymentIsDefined == true))
107107 then {
108108 let totalRequiredAmount = (amount * poolprice)
109109 if ((totalRequiredAmount > 0))
110110 then throw("Payment Balance is not equal price")
111111 else {
112112 let tempValue = match getString(this, lotteryPrices) {
113113 case a: String =>
114114 a
115115 case _ =>
116116 ""
117117 }
118118 let containKey = indexOf(tempValue, token)
119119 let storedTokensValues = match containKey {
120120 case _: Unit =>
121121 ((tempValue + token) + ",")
122122 case x: Int =>
123123 throw("Token is duplicated")
124124 case _ =>
125125 throw("Match error")
126126 }
127127 let countTokens = getSizePriceArray()
128128 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)])
129129 ScriptResult(updateLotteryPool, TransferSet(nil))
130130 }
131131 }
132132 else {
133133 let totalRequiredAmount = (amount * poolprice)
134134 if ((totalRequiredAmount > 10000))
135135 then throw("Payment Balance is not equal price")
136136 else {
137137 let tempValue = match getString(this, lotteryPrices) {
138138 case a: String =>
139139 a
140140 case _ =>
141141 ""
142142 }
143143 let containKey = indexOf(tempValue, token)
144144 let storedTokensValues = match containKey {
145145 case _: Unit =>
146146 ((tempValue + token) + ",")
147147 case x: Int =>
148148 throw("Token is duplicated")
149149 case _ =>
150150 throw("Match error")
151151 }
152152 let countTokens = getSizePriceArray()
153153 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)])
154154 ScriptResult(updateLotteryPool, TransferSet(nil))
155155 }
156156 }
157157 }
158158
159159
160160
161161 @Callable(i)
162162 func startlotto () = {
163163 let currentKey = toBase58String(i.caller.bytes)
164164 let randhash = randomizer(i)
165165 let sizeTempPrice = getSizePriceArray()
166166 let priceList = getPriceArray()
167167 let randNumber = toInt(randhash)
168168 let winningToken = {
169169 let $list75457582 = priceList
170170 let $size75457582 = size($list75457582)
171171 let $acc075457582 = nil
172172 if (($size75457582 == 0))
173173 then $acc075457582
174174 else {
175175 let $acc175457582 = procedLottery($acc075457582, $list75457582[0])
176176 if (($size75457582 == 1))
177177 then $acc175457582
178178 else {
179179 let $acc275457582 = procedLottery($acc175457582, $list75457582[1])
180180 if (($size75457582 == 2))
181181 then $acc275457582
182182 else {
183183 let $acc375457582 = procedLottery($acc275457582, $list75457582[2])
184184 if (($size75457582 == 3))
185185 then $acc375457582
186186 else {
187187 let $acc475457582 = procedLottery($acc375457582, $list75457582[3])
188188 if (($size75457582 == 4))
189189 then $acc475457582
190190 else {
191191 let $acc575457582 = procedLottery($acc475457582, $list75457582[4])
192192 if (($size75457582 == 5))
193193 then $acc575457582
194194 else {
195195 let $acc675457582 = procedLottery($acc575457582, $list75457582[5])
196196 throw("List size exceed 5")
197197 }
198198 }
199199 }
200200 }
201201 }
202202 }
203203 }
204204 let sizeOfWinPrices = size(winningToken)
205205 if ((sizeOfWinPrices == 1))
206206 then {
207207 let writeSets = WriteSet(nil)
208208 ScriptResult(writeSets, TransferSet(nil))
209209 }
210210 else {
211211 let token = winningToken[1]
212212 let currentAmount = getIntegerValue(this, (token + lotteryamount))
213213 if ((currentAmount == 0))
214214 then throw("Amount exceeded")
215215 else {
216216 let actualAmount = (currentAmount - 1)
217217 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
218218 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
219219 if ((actualAmount == 0))
220220 then {
221221 let actualListPrices = {
222222 let $list84008450 = priceList
223223 let $size84008450 = size($list84008450)
224224 let $acc084008450 = token
225225 if (($size84008450 == 0))
226226 then $acc084008450
227227 else {
228228 let $acc184008450 = generateNewListOfPrices($acc084008450, $list84008450[0])
229229 if (($size84008450 == 1))
230230 then $acc184008450
231231 else {
232232 let $acc284008450 = generateNewListOfPrices($acc184008450, $list84008450[1])
233233 if (($size84008450 == 2))
234234 then $acc284008450
235235 else {
236236 let $acc384008450 = generateNewListOfPrices($acc284008450, $list84008450[2])
237237 if (($size84008450 == 3))
238238 then $acc384008450
239239 else {
240240 let $acc484008450 = generateNewListOfPrices($acc384008450, $list84008450[3])
241241 if (($size84008450 == 4))
242242 then $acc484008450
243243 else {
244244 let $acc584008450 = generateNewListOfPrices($acc484008450, $list84008450[4])
245245 if (($size84008450 == 5))
246246 then $acc584008450
247247 else {
248248 let $acc684008450 = generateNewListOfPrices($acc584008450, $list84008450[5])
249249 throw("List size exceed 5")
250250 }
251251 }
252252 }
253253 }
254254 }
255255 }
256256 }
257257 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry((token + lotteryPrices), actualListPrices), DataEntry(lastHashRandomNumber, randNumber)])
258258 if ((tokenAssetId == ""))
259259 then {
260260 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
261261 ScriptResult(writeSets, winTransfer)
262262 }
263263 else {
264264 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
265265 ScriptResult(writeSets, winTransfer)
266266 }
267267 }
268268 else {
269269 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
270270 if ((tokenAssetId == ""))
271271 then {
272272 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
273273 ScriptResult(writeSets, winTransfer)
274274 }
275275 else {
276276 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
277277 ScriptResult(writeSets, winTransfer)
278278 }
279279 }
280280 }
281281 }
282282 }
283283
284284
285285 @Verifier(tx)
286286 func verify () = match tx {
287287 case _: DataTransaction =>
288288 true
289289 case _: SetScriptTransaction =>
290290 true
291291 case _ =>
292292 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
293293 }
294294

github/deemru/w8io/873ac7e 
36.03 ms