tx · Gwom37S7gprg6h2BrmNsEGXxzsPjxMKZhxXVgpyTTaGr

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 09:41 [1390302] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "Gwom37S7gprg6h2BrmNsEGXxzsPjxMKZhxXVgpyTTaGr", "fee": 1400000, "feeAssetId": null, "timestamp": 1612852894445, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "452bCLfnDEVFB7JYRqDxhnp6oNPoGxV1wXjRvWNkWuKKjQAXLaNy92cC7Sn3WWSxpsGBjBU4wn1Hj9h4Uak3NJcr" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sA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AAV0b2tlbgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAhyYW5kaGFzaAkBAAAACnJhbmRvbWl6ZXIAAAABBQAAAAFpBAAAAA1zaXplVGVtcFByaWNlCQEAAAARZ2V0U2l6ZVByaWNlQXJyYXkAAAAABAAAAAlwcmljZUxpc3QJAQAAAA1nZXRQcmljZUFycmF5AAAAAAQAAAAKcmFuZE51bWJlcgkABLEAAAABBQAAAAhyYW5kaGFzaAQAAAAMd2lubmluZ1Rva2VuBAAAAA0kbGlzdDY3MjE2NzU4BQAAAAlwcmljZUxpc3QEAAAADSRzaXplNjcyMTY3NTgJAAGQAAAAAQUAAAANJGxpc3Q2NzIxNjc1OAQAAAANJGFjYzA2NzIxNjc1OAUAAAADbmlsAwkAAAAAAAACBQAAAA0kc2l6ZTY3MjE2NzU4AAAAAAAAAAAABQAAAA0kYWNjMDY3MjE2NzU4BAAAAA0kYWNjMTY3MjE2NzU4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MwNjcyMTY3NTgJAAGRAAAAAgUAAAANJGxpc3Q2NzIxNjc1OAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU2NzIxNjc1OAAAAAAAAAAAAQUAAAANJGFjYzE2NzIxNjc1OAQAAAANJGFjYzI2NzIxNjc1OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMTY3MjE2NzU4CQABkQAAAAIFAAAADSRsaXN0NjcyMTY3NTgAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNjcyMTY3NTgAAAAAAAAAAAIFAAAADSRhY2MyNjcyMTY3NTgEAAAADSRhY2MzNjcyMTY3NTgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzI2NzIxNjc1OAkAAZEAAAACBQAAAA0kbGlzdDY3MjE2NzU4AAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTY3MjE2NzU4AAAAAAAAAAADBQAAAA0kYWNjMzY3MjE2NzU4BAAAAA0kYWNjNDY3MjE2NzU4CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MzNjcyMTY3NTgJAAGRAAAAAgUAAAANJGxpc3Q2NzIxNjc1OAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU2NzIxNjc1OAAAAAAAAAAABAUAAAANJGFjYzQ2NzIxNjc1OAQAAAANJGFjYzU2NzIxNjc1OAkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjNDY3MjE2NzU4CQABkQAAAAIFAAAADSRsaXN0NjcyMTY3NTgAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNjcyMTY3NTgAAAAAAAAAAAUFAAAADSRhY2M1NjcyMTY3NTgEAAAADSRhY2M2NjcyMTY3NTgJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzU2NzIxNjc1OAkAAZEAAAACBQAAAA0kbGlzdDY3MjE2NzU4AAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQQAAAAPc2l6ZU9mV2luUHJpY2VzCQABkAAAAAEFAAAADHdpbm5pbmdUb2tlbgMJAAAAAAAAAgUAAAAPc2l6ZU9mV2luUHJpY2VzAAAAAAAAAAABBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsBAAAAAV0b2tlbgkAAZEAAAACBQAAAAx3aW5uaW5nVG9rZW4AAAAAAAAAAAEEAAAADWN1cnJlbnRBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQDCQAAAAAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAPQW1vdW50IGV4Y2VlZGVkBAAAAAxhY3R1YWxBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAAAAAAAQQAAAAKdG9rZW5QcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAV0b2tlbgUAAAAMbG90dGVyeVByaWNlBAAAAAx0b2tlbkFzc2V0SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADmxvdHRlcnlBc3NldElkAwkAAAAAAAACBQAAAAxhY3R1YWxBbW91bnQAAAAAAAAAAAAEAAAAEGFjdHVhbExpc3RQcmljZXMEAAAADSRsaXN0NzU3Njc2MjYFAAAACXByaWNlTGlzdAQAAAANJHNpemU3NTc2NzYyNgkAAZAAAAABBQAAAA0kbGlzdDc1NzY3NjI2BAAAAA0kYWNjMDc1NzY3NjI2BQAAAAV0b2tlbgMJAAAAAAAAAgUAAAANJHNpemU3NTc2NzYyNgAAAAAAAAAAAAUAAAANJGFjYzA3NTc2NzYyNgQAAAANJGFjYzE3NTc2NzYyNgkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzA3NTc2NzYyNgkAAZEAAAACBQAAAA0kbGlzdDc1NzY3NjI2AAAAAAAAAAAAAwkAAAAAAAACBQAAAA0kc2l6ZTc1NzY3NjI2AAAAAAAAAAABBQAAAA0kYWNjMTc1NzY3NjI2BAAAAA0kYWNjMjc1NzY3NjI2CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMTc1NzY3NjI2CQABkQAAAAIFAAAADSRsaXN0NzU3Njc2MjYAAAAAAAAAAAEDCQAAAAAAAAIFAAAADSRzaXplNzU3Njc2MjYAAAAAAAAAAAIFAAAADSRhY2MyNzU3Njc2MjYEAAAADSRhY2MzNzU3Njc2MjYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MyNzU3Njc2MjYJAAGRAAAAAgUAAAANJGxpc3Q3NTc2NzYyNgAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU3NTc2NzYyNgAAAAAAAAAAAwUAAAANJGFjYzM3NTc2NzYyNgQAAAANJGFjYzQ3NTc2NzYyNgkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzM3NTc2NzYyNgkAAZEAAAACBQAAAA0kbGlzdDc1NzY3NjI2AAAAAAAAAAADAwkAAAAAAAACBQAAAA0kc2l6ZTc1NzY3NjI2AAAAAAAAAAAEBQAAAA0kYWNjNDc1NzY3NjI2BAAAAA0kYWNjNTc1NzY3NjI2CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNDc1NzY3NjI2CQABkQAAAAIFAAAADSRsaXN0NzU3Njc2MjYAAAAAAAAAAAQDCQAAAAAAAAIFAAAADSRzaXplNzU3Njc2MjYAAAAAAAAAAAUFAAAADSRhY2M1NzU3Njc2MjYEAAAADSRhY2M2NzU3Njc2MjYJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2M1NzU3Njc2MjYJAAGRAAAAAgUAAAANJGxpc3Q3NTc2NzYyNgAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAAA9fd2lubmluZ190b2tlbl8FAAAABXRva2VuCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAE193aW5pbm5pbmdfYWRkcmVzc18FAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlhbW91bnQFAAAADGFjdHVhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeVByaWNlcwUAAAAQYWN0dWFsTGlzdFByaWNlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAUbGFzdEhhc2hSYW5kb21OdW1iZXIFAAAACnJhbmROdW1iZXIFAAAAA25pbAMJAAAAAAAAAgUAAAAMdG9rZW5Bc3NldElkAgAAAAAEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAPX3dpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAABNfd2luaW5uaW5nX2FkZHJlc3NfBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50BQAAAAxhY3R1YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyBQAAAApyYW5kTnVtYmVyBQAAAANuaWwDCQAAAAAAAAIFAAAADHRva2VuQXNzZXRJZAIAAAAABAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5GPoHXw==", "height": 1390302, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CsRzp41RPSCW5R3p8pm3D5nKEEtHGc8Q85kzdKFHf9RH Next: CWZQCtvwmzHYhqN23EvDLcfr32myGy8kxs7ZtrcbJedd Diff:
OldNewDifferences
134134 let val = if (isDefined(countTokens))
135135 then countTokens
136136 else 1
137- let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry((token + lotteryPrices), storedTokensValues), DataEntry((token + countOfPrices), 4), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry((token + lastTokenRandomHash), token)])
137+ let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry((token + lotteryPrices), storedTokensValues), DataEntry((token + countOfPrices), val), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry((token + lastTokenRandomHash), token)])
138138 ScriptResult(updateLotteryPool, TransferSet(nil))
139139 }
140140 }
150150 let priceList = getPriceArray()
151151 let randNumber = toInt(randhash)
152152 let winningToken = {
153- let $list67196756 = priceList
154- let $size67196756 = size($list67196756)
155- let $acc067196756 = nil
156- if (($size67196756 == 0))
157- then $acc067196756
153+ let $list67216758 = priceList
154+ let $size67216758 = size($list67216758)
155+ let $acc067216758 = nil
156+ if (($size67216758 == 0))
157+ then $acc067216758
158158 else {
159- let $acc167196756 = procedLottery($acc067196756, $list67196756[0])
160- if (($size67196756 == 1))
161- then $acc167196756
159+ let $acc167216758 = procedLottery($acc067216758, $list67216758[0])
160+ if (($size67216758 == 1))
161+ then $acc167216758
162162 else {
163- let $acc267196756 = procedLottery($acc167196756, $list67196756[1])
164- if (($size67196756 == 2))
165- then $acc267196756
163+ let $acc267216758 = procedLottery($acc167216758, $list67216758[1])
164+ if (($size67216758 == 2))
165+ then $acc267216758
166166 else {
167- let $acc367196756 = procedLottery($acc267196756, $list67196756[2])
168- if (($size67196756 == 3))
169- then $acc367196756
167+ let $acc367216758 = procedLottery($acc267216758, $list67216758[2])
168+ if (($size67216758 == 3))
169+ then $acc367216758
170170 else {
171- let $acc467196756 = procedLottery($acc367196756, $list67196756[3])
172- if (($size67196756 == 4))
173- then $acc467196756
171+ let $acc467216758 = procedLottery($acc367216758, $list67216758[3])
172+ if (($size67216758 == 4))
173+ then $acc467216758
174174 else {
175- let $acc567196756 = procedLottery($acc467196756, $list67196756[4])
176- if (($size67196756 == 5))
177- then $acc567196756
175+ let $acc567216758 = procedLottery($acc467216758, $list67216758[4])
176+ if (($size67216758 == 5))
177+ then $acc567216758
178178 else {
179- let $acc667196756 = procedLottery($acc567196756, $list67196756[5])
179+ let $acc667216758 = procedLottery($acc567216758, $list67216758[5])
180180 throw("List size exceed 5")
181181 }
182182 }
203203 if ((actualAmount == 0))
204204 then {
205205 let actualListPrices = {
206- let $list75747624 = priceList
207- let $size75747624 = size($list75747624)
208- let $acc075747624 = token
209- if (($size75747624 == 0))
210- then $acc075747624
206+ let $list75767626 = priceList
207+ let $size75767626 = size($list75767626)
208+ let $acc075767626 = token
209+ if (($size75767626 == 0))
210+ then $acc075767626
211211 else {
212- let $acc175747624 = generateNewListOfPrices($acc075747624, $list75747624[0])
213- if (($size75747624 == 1))
214- then $acc175747624
212+ let $acc175767626 = generateNewListOfPrices($acc075767626, $list75767626[0])
213+ if (($size75767626 == 1))
214+ then $acc175767626
215215 else {
216- let $acc275747624 = generateNewListOfPrices($acc175747624, $list75747624[1])
217- if (($size75747624 == 2))
218- then $acc275747624
216+ let $acc275767626 = generateNewListOfPrices($acc175767626, $list75767626[1])
217+ if (($size75767626 == 2))
218+ then $acc275767626
219219 else {
220- let $acc375747624 = generateNewListOfPrices($acc275747624, $list75747624[2])
221- if (($size75747624 == 3))
222- then $acc375747624
220+ let $acc375767626 = generateNewListOfPrices($acc275767626, $list75767626[2])
221+ if (($size75767626 == 3))
222+ then $acc375767626
223223 else {
224- let $acc475747624 = generateNewListOfPrices($acc375747624, $list75747624[3])
225- if (($size75747624 == 4))
226- then $acc475747624
224+ let $acc475767626 = generateNewListOfPrices($acc375767626, $list75767626[3])
225+ if (($size75767626 == 4))
226+ then $acc475767626
227227 else {
228- let $acc575747624 = generateNewListOfPrices($acc475747624, $list75747624[4])
229- if (($size75747624 == 5))
230- then $acc575747624
228+ let $acc575767626 = generateNewListOfPrices($acc475767626, $list75767626[4])
229+ if (($size75767626 == 5))
230+ then $acc575767626
231231 else {
232- let $acc675747624 = generateNewListOfPrices($acc575747624, $list75747624[5])
232+ let $acc675767626 = generateNewListOfPrices($acc575767626, $list75767626[5])
233233 throw("List size exceed 5")
234234 }
235235 }
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 throw(toString(lotteryAssetTN))
108108 else {
109109 let tnBalance = if (lotteryAssetTN)
110110 then wavesBalance(this)
111111 else assetBalance(this, fromBase64String(assetId))
112112 let totalRequiredAmount = (amount * poolprice)
113113 if ((totalRequiredAmount > tnBalance))
114114 then throw("Not enough Asset Amount")
115115 else {
116116 let tempValue = match getString(this, lotteryPrices) {
117117 case a: String =>
118118 a
119119 case _: Unit =>
120120 ""
121121 case _ =>
122122 throw("Match error")
123123 }
124124 let containKey = indexOf(tempValue, token)
125125 let storedTokensValues = match containKey {
126126 case _: Unit =>
127127 ((tempValue + token) + ",")
128128 case x: Int =>
129129 throw("Token is duplicated")
130130 case _ =>
131131 throw("Match error")
132132 }
133133 let countTokens = getSizePriceArray()
134134 let val = if (isDefined(countTokens))
135135 then countTokens
136136 else 1
137- let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry((token + lotteryPrices), storedTokensValues), DataEntry((token + countOfPrices), 4), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry((token + lastTokenRandomHash), token)])
137+ let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry((token + lotteryPrices), storedTokensValues), DataEntry((token + countOfPrices), val), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry((token + lastTokenRandomHash), token)])
138138 ScriptResult(updateLotteryPool, TransferSet(nil))
139139 }
140140 }
141141 }
142142
143143
144144
145145 @Callable(i)
146146 func startlotto () = {
147147 let currentKey = toBase58String(i.caller.bytes)
148148 let randhash = randomizer(i)
149149 let sizeTempPrice = getSizePriceArray()
150150 let priceList = getPriceArray()
151151 let randNumber = toInt(randhash)
152152 let winningToken = {
153- let $list67196756 = priceList
154- let $size67196756 = size($list67196756)
155- let $acc067196756 = nil
156- if (($size67196756 == 0))
157- then $acc067196756
153+ let $list67216758 = priceList
154+ let $size67216758 = size($list67216758)
155+ let $acc067216758 = nil
156+ if (($size67216758 == 0))
157+ then $acc067216758
158158 else {
159- let $acc167196756 = procedLottery($acc067196756, $list67196756[0])
160- if (($size67196756 == 1))
161- then $acc167196756
159+ let $acc167216758 = procedLottery($acc067216758, $list67216758[0])
160+ if (($size67216758 == 1))
161+ then $acc167216758
162162 else {
163- let $acc267196756 = procedLottery($acc167196756, $list67196756[1])
164- if (($size67196756 == 2))
165- then $acc267196756
163+ let $acc267216758 = procedLottery($acc167216758, $list67216758[1])
164+ if (($size67216758 == 2))
165+ then $acc267216758
166166 else {
167- let $acc367196756 = procedLottery($acc267196756, $list67196756[2])
168- if (($size67196756 == 3))
169- then $acc367196756
167+ let $acc367216758 = procedLottery($acc267216758, $list67216758[2])
168+ if (($size67216758 == 3))
169+ then $acc367216758
170170 else {
171- let $acc467196756 = procedLottery($acc367196756, $list67196756[3])
172- if (($size67196756 == 4))
173- then $acc467196756
171+ let $acc467216758 = procedLottery($acc367216758, $list67216758[3])
172+ if (($size67216758 == 4))
173+ then $acc467216758
174174 else {
175- let $acc567196756 = procedLottery($acc467196756, $list67196756[4])
176- if (($size67196756 == 5))
177- then $acc567196756
175+ let $acc567216758 = procedLottery($acc467216758, $list67216758[4])
176+ if (($size67216758 == 5))
177+ then $acc567216758
178178 else {
179- let $acc667196756 = procedLottery($acc567196756, $list67196756[5])
179+ let $acc667216758 = procedLottery($acc567216758, $list67216758[5])
180180 throw("List size exceed 5")
181181 }
182182 }
183183 }
184184 }
185185 }
186186 }
187187 }
188188 let sizeOfWinPrices = size(winningToken)
189189 if ((sizeOfWinPrices == 1))
190190 then {
191191 let writeSets = WriteSet(nil)
192192 ScriptResult(writeSets, TransferSet(nil))
193193 }
194194 else {
195195 let token = winningToken[1]
196196 let currentAmount = getIntegerValue(this, (token + lotteryamount))
197197 if ((currentAmount == 0))
198198 then throw("Amount exceeded")
199199 else {
200200 let actualAmount = (currentAmount - 1)
201201 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
202202 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
203203 if ((actualAmount == 0))
204204 then {
205205 let actualListPrices = {
206- let $list75747624 = priceList
207- let $size75747624 = size($list75747624)
208- let $acc075747624 = token
209- if (($size75747624 == 0))
210- then $acc075747624
206+ let $list75767626 = priceList
207+ let $size75767626 = size($list75767626)
208+ let $acc075767626 = token
209+ if (($size75767626 == 0))
210+ then $acc075767626
211211 else {
212- let $acc175747624 = generateNewListOfPrices($acc075747624, $list75747624[0])
213- if (($size75747624 == 1))
214- then $acc175747624
212+ let $acc175767626 = generateNewListOfPrices($acc075767626, $list75767626[0])
213+ if (($size75767626 == 1))
214+ then $acc175767626
215215 else {
216- let $acc275747624 = generateNewListOfPrices($acc175747624, $list75747624[1])
217- if (($size75747624 == 2))
218- then $acc275747624
216+ let $acc275767626 = generateNewListOfPrices($acc175767626, $list75767626[1])
217+ if (($size75767626 == 2))
218+ then $acc275767626
219219 else {
220- let $acc375747624 = generateNewListOfPrices($acc275747624, $list75747624[2])
221- if (($size75747624 == 3))
222- then $acc375747624
220+ let $acc375767626 = generateNewListOfPrices($acc275767626, $list75767626[2])
221+ if (($size75767626 == 3))
222+ then $acc375767626
223223 else {
224- let $acc475747624 = generateNewListOfPrices($acc375747624, $list75747624[3])
225- if (($size75747624 == 4))
226- then $acc475747624
224+ let $acc475767626 = generateNewListOfPrices($acc375767626, $list75767626[3])
225+ if (($size75767626 == 4))
226+ then $acc475767626
227227 else {
228- let $acc575747624 = generateNewListOfPrices($acc475747624, $list75747624[4])
229- if (($size75747624 == 5))
230- then $acc575747624
228+ let $acc575767626 = generateNewListOfPrices($acc475767626, $list75767626[4])
229+ if (($size75767626 == 5))
230+ then $acc575767626
231231 else {
232- let $acc675747624 = generateNewListOfPrices($acc575747624, $list75747624[5])
232+ let $acc675767626 = generateNewListOfPrices($acc575767626, $list75767626[5])
233233 throw("List size exceed 5")
234234 }
235235 }
236236 }
237237 }
238238 }
239239 }
240240 }
241241 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry((token + lotteryPrices), actualListPrices), DataEntry(lastHashRandomNumber, randNumber)])
242242 if ((tokenAssetId == ""))
243243 then {
244244 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
245245 ScriptResult(writeSets, winTransfer)
246246 }
247247 else {
248248 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
249249 ScriptResult(writeSets, winTransfer)
250250 }
251251 }
252252 else {
253253 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
254254 if ((tokenAssetId == ""))
255255 then {
256256 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
257257 ScriptResult(writeSets, winTransfer)
258258 }
259259 else {
260260 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
261261 ScriptResult(writeSets, winTransfer)
262262 }
263263 }
264264 }
265265 }
266266 }
267267
268268
269269 @Verifier(tx)
270270 func verify () = match tx {
271271 case _: DataTransaction =>
272272 true
273273 case _: SetScriptTransaction =>
274274 true
275275 case _ =>
276276 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
277277 }
278278

github/deemru/w8io/169f3d6 
96.67 ms