tx · hHr3BuKGa4KZC9qeeFqpq7vbWZS66GLrDd1DBqiy8Xp

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.09 09:12 [1390270] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "hHr3BuKGa4KZC9qeeFqpq7vbWZS66GLrDd1DBqiy8Xp", "fee": 1400000, "feeAssetId": null, "timestamp": 1612851155056, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "3ZzkCE9qKfCYHx9r8eZ7Tf1sJupLrGnV7ctZLM8D38nH4RkQxcHwGviKfC6QgJhVnQBgvTVuwemMALNtiSMCVgHc" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sA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cwQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAABaQQAAAANc2l6ZVRlbXBQcmljZQkBAAAAEWdldFNpemVQcmljZUFycmF5AAAAAAQAAAAJcHJpY2VMaXN0CQEAAAANZ2V0UHJpY2VBcnJheQAAAAAEAAAACnJhbmROdW1iZXIJAASxAAAAAQUAAAAIcmFuZGhhc2gEAAAADHdpbm5pbmdUb2tlbgQAAAANJGxpc3Q1MTM5NTE3NgUAAAAJcHJpY2VMaXN0BAAAAA0kc2l6ZTUxMzk1MTc2CQABkAAAAAEFAAAADSRsaXN0NTEzOTUxNzYEAAAADSRhY2MwNTEzOTUxNzYFAAAAA25pbAMJAAAAAAAAAgUAAAANJHNpemU1MTM5NTE3NgAAAAAAAAAAAAUAAAANJGFjYzA1MTM5NTE3NgQAAAANJGFjYzE1MTM5NTE3NgkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMDUxMzk1MTc2CQABkQAAAAIFAAAADSRsaXN0NTEzOTUxNzYAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplNTEzOTUxNzYAAAAAAAAAAAEFAAAADSRhY2MxNTEzOTUxNzYEAAAADSRhY2MyNTEzOTUxNzYJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzE1MTM5NTE3NgkAAZEAAAACBQAAAA0kbGlzdDUxMzk1MTc2AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTUxMzk1MTc2AAAAAAAAAAACBQAAAA0kYWNjMjUxMzk1MTc2BAAAAA0kYWNjMzUxMzk1MTc2CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2MyNTEzOTUxNzYJAAGRAAAAAgUAAAANJGxpc3Q1MTM5NTE3NgAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemU1MTM5NTE3NgAAAAAAAAAAAwUAAAANJGFjYzM1MTM5NTE3NgQAAAANJGFjYzQ1MTM5NTE3NgkBAAAADXByb2NlZExvdHRlcnkAAAACBQAAAA0kYWNjMzUxMzk1MTc2CQABkQAAAAIFAAAADSRsaXN0NTEzOTUxNzYAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplNTEzOTUxNzYAAAAAAAAAAAQFAAAADSRhY2M0NTEzOTUxNzYEAAAADSRhY2M1NTEzOTUxNzYJAQAAAA1wcm9jZWRMb3R0ZXJ5AAAAAgUAAAANJGFjYzQ1MTM5NTE3NgkAAZEAAAACBQAAAA0kbGlzdDUxMzk1MTc2AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTUxMzk1MTc2AAAAAAAAAAAFBQAAAA0kYWNjNTUxMzk1MTc2BAAAAA0kYWNjNjUxMzk1MTc2CQEAAAANcHJvY2VkTG90dGVyeQAAAAIFAAAADSRhY2M1NTEzOTUxNzYJAAGRAAAAAgUAAAANJGxpc3Q1MTM5NTE3NgAAAAAAAAAABQkAAAIAAAABAgAAABJMaXN0IHNpemUgZXhjZWVkIDUEAAAAD3NpemVPZldpblByaWNlcwkAAZAAAAABBQAAAAx3aW5uaW5nVG9rZW4DCQAAAAAAAAIFAAAAD3NpemVPZldpblByaWNlcwAAAAAAAAAAAQQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAQAAAAFdG9rZW4JAAGRAAAAAgUAAAAMd2lubmluZ1Rva2VuAAAAAAAAAAABBAAAAA1jdXJyZW50QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50AwkAAAAAAAACBQAAAA1jdXJyZW50QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAD0Ftb3VudCBleGNlZWRlZAQAAAAMYWN0dWFsQW1vdW50CQAAZQAAAAIFAAAADWN1cnJlbnRBbW91bnQAAAAAAAAAAAEEAAAACnRva2VuUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAFdG9rZW4FAAAADGxvdHRlcnlQcmljZQQAAAAMdG9rZW5Bc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXRva2VuBQAAAA5sb3R0ZXJ5QXNzZXRJZAMJAAAAAAAAAgUAAAAMYWN0dWFsQW1vdW50AAAAAAAAAAAABAAAABBhY3R1YWxMaXN0UHJpY2VzBAAAAA0kbGlzdDU5OTQ2MDQ0BQAAAAlwcmljZUxpc3QEAAAADSRzaXplNTk5NDYwNDQJAAGQAAAAAQUAAAANJGxpc3Q1OTk0NjA0NAQAAAANJGFjYzA1OTk0NjA0NAUAAAAFdG9rZW4DCQAAAAAAAAIFAAAADSRzaXplNTk5NDYwNDQAAAAAAAAAAAAFAAAADSRhY2MwNTk5NDYwNDQEAAAADSRhY2MxNTk5NDYwNDQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MwNTk5NDYwNDQJAAGRAAAAAgUAAAANJGxpc3Q1OTk0NjA0NAAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU1OTk0NjA0NAAAAAAAAAAAAQUAAAANJGFjYzE1OTk0NjA0NAQAAAANJGFjYzI1OTk0NjA0NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzE1OTk0NjA0NAkAAZEAAAACBQAAAA0kbGlzdDU5OTQ2MDQ0AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTU5OTQ2MDQ0AAAAAAAAAAACBQAAAA0kYWNjMjU5OTQ2MDQ0BAAAAA0kYWNjMzU5OTQ2MDQ0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjMjU5OTQ2MDQ0CQABkQAAAAIFAAAADSRsaXN0NTk5NDYwNDQAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNTk5NDYwNDQAAAAAAAAAAAMFAAAADSRhY2MzNTk5NDYwNDQEAAAADSRhY2M0NTk5NDYwNDQJAQAAABdnZW5lcmF0ZU5ld0xpc3RPZlByaWNlcwAAAAIFAAAADSRhY2MzNTk5NDYwNDQJAAGRAAAAAgUAAAANJGxpc3Q1OTk0NjA0NAAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU1OTk0NjA0NAAAAAAAAAAABAUAAAANJGFjYzQ1OTk0NjA0NAQAAAANJGFjYzU1OTk0NjA0NAkBAAAAF2dlbmVyYXRlTmV3TGlzdE9mUHJpY2VzAAAAAgUAAAANJGFjYzQ1OTk0NjA0NAkAAZEAAAACBQAAAA0kbGlzdDU5OTQ2MDQ0AAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTU5OTQ2MDQ0AAAAAAAAAAAFBQAAAA0kYWNjNTU5OTQ2MDQ0BAAAAA0kYWNjNjU5OTQ2MDQ0CQEAAAAXZ2VuZXJhdGVOZXdMaXN0T2ZQcmljZXMAAAACBQAAAA0kYWNjNTU5OTQ2MDQ0CQABkQAAAAIFAAAADSRsaXN0NTk5NDYwNDQAAAAAAAAAAAUJAAACAAAAAQIAAAASTGlzdCBzaXplIGV4Y2VlZCA1BAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAAPX3dpbm5pbmdfdG9rZW5fBQAAAAV0b2tlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAApjdXJyZW50S2V5AgAAABNfd2luaW5uaW5nX2FkZHJlc3NfBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABXRva2VuBQAAAA1sb3R0ZXJ5YW1vdW50BQAAAAxhY3R1YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAFdG9rZW4FAAAADWxvdHRlcnlQcmljZXMFAAAAEGFjdHVhbExpc3RQcmljZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyBQAAAApyYW5kTnVtYmVyBQAAAANuaWwDCQAAAAAAAAIFAAAADHRva2VuQXNzZXRJZAIAAAAABAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdG9rZW5QcmljZQUAAAAEdW5pdAUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACmN1cnJlbnRLZXkCAAAAD193aW5uaW5nX3Rva2VuXwUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAKY3VycmVudEtleQIAAAATX3dpbmlubmluZ19hZGRyZXNzXwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAV0b2tlbgUAAAANbG90dGVyeWFtb3VudAUAAAAMYWN0dWFsQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABRsYXN0SGFzaFJhbmRvbU51bWJlcgUAAAAKcmFuZE51bWJlcgUAAAADbmlsAwkAAAAAAAACBQAAAAx0b2tlbkFzc2V0SWQCAAAAAAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAp0b2tlblByaWNlBQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnRva2VuUHJpY2UFAAAABHVuaXQFAAAAA25pbAkBAAAADFNjcmlwdFJlc3VsdAAAAAIFAAAACXdyaXRlU2V0cwUAAAALd2luVHJhbnNmZXIAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleb2ZbQ4=", "height": 1390270, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BzJ9opbXA4UameXmFVgzczSXZhDKYg55BcLWRnS2SdEd Next: HqsATYCtEx6Y4MoJSxBDrouLGubVo3um4EMqBjGmJnj5 Diff:
OldNewDifferences
104104 then true
105105 else false
106106 if ((paymentIsDefined == true))
107- then throw(toString(paymentIsDefined))
108- else throw(toString(paymentIsDefined))
107+ then throw(toString(lotteryAssetTN))
108+ else {
109+ let totalRequiredAmount = (amount * poolprice)
110+ let tnBalance = wavesBalance(this)
111+ if ((totalRequiredAmount > tnBalance))
112+ then throw("Payment Balance is not equal price")
113+ else {
114+ let tempValue = match getString(this, lotteryPrices) {
115+ case a: String =>
116+ a
117+ case _ =>
118+ ""
119+ }
120+ let containKey = indexOf(tempValue, token)
121+ let storedTokensValues = match containKey {
122+ case _: Unit =>
123+ ((tempValue + token) + ",")
124+ case x: Int =>
125+ throw("Token is duplicated")
126+ case _ =>
127+ throw("Match error")
128+ }
129+ let countTokens = getSizePriceArray()
130+ 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)])
131+ ScriptResult(updateLotteryPool, TransferSet(nil))
132+ }
133+ }
109134 }
110135
111136
118143 let priceList = getPriceArray()
119144 let randNumber = toInt(randhash)
120145 let winningToken = {
121- let $list52765313 = priceList
122- let $size52765313 = size($list52765313)
123- let $acc052765313 = nil
124- if (($size52765313 == 0))
125- then $acc052765313
146+ let $list51395176 = priceList
147+ let $size51395176 = size($list51395176)
148+ let $acc051395176 = nil
149+ if (($size51395176 == 0))
150+ then $acc051395176
126151 else {
127- let $acc152765313 = procedLottery($acc052765313, $list52765313[0])
128- if (($size52765313 == 1))
129- then $acc152765313
152+ let $acc151395176 = procedLottery($acc051395176, $list51395176[0])
153+ if (($size51395176 == 1))
154+ then $acc151395176
130155 else {
131- let $acc252765313 = procedLottery($acc152765313, $list52765313[1])
132- if (($size52765313 == 2))
133- then $acc252765313
156+ let $acc251395176 = procedLottery($acc151395176, $list51395176[1])
157+ if (($size51395176 == 2))
158+ then $acc251395176
134159 else {
135- let $acc352765313 = procedLottery($acc252765313, $list52765313[2])
136- if (($size52765313 == 3))
137- then $acc352765313
160+ let $acc351395176 = procedLottery($acc251395176, $list51395176[2])
161+ if (($size51395176 == 3))
162+ then $acc351395176
138163 else {
139- let $acc452765313 = procedLottery($acc352765313, $list52765313[3])
140- if (($size52765313 == 4))
141- then $acc452765313
164+ let $acc451395176 = procedLottery($acc351395176, $list51395176[3])
165+ if (($size51395176 == 4))
166+ then $acc451395176
142167 else {
143- let $acc552765313 = procedLottery($acc452765313, $list52765313[4])
144- if (($size52765313 == 5))
145- then $acc552765313
168+ let $acc551395176 = procedLottery($acc451395176, $list51395176[4])
169+ if (($size51395176 == 5))
170+ then $acc551395176
146171 else {
147- let $acc652765313 = procedLottery($acc552765313, $list52765313[5])
172+ let $acc651395176 = procedLottery($acc551395176, $list51395176[5])
148173 throw("List size exceed 5")
149174 }
150175 }
171196 if ((actualAmount == 0))
172197 then {
173198 let actualListPrices = {
174- let $list61316181 = priceList
175- let $size61316181 = size($list61316181)
176- let $acc061316181 = token
177- if (($size61316181 == 0))
178- then $acc061316181
199+ let $list59946044 = priceList
200+ let $size59946044 = size($list59946044)
201+ let $acc059946044 = token
202+ if (($size59946044 == 0))
203+ then $acc059946044
179204 else {
180- let $acc161316181 = generateNewListOfPrices($acc061316181, $list61316181[0])
181- if (($size61316181 == 1))
182- then $acc161316181
205+ let $acc159946044 = generateNewListOfPrices($acc059946044, $list59946044[0])
206+ if (($size59946044 == 1))
207+ then $acc159946044
183208 else {
184- let $acc261316181 = generateNewListOfPrices($acc161316181, $list61316181[1])
185- if (($size61316181 == 2))
186- then $acc261316181
209+ let $acc259946044 = generateNewListOfPrices($acc159946044, $list59946044[1])
210+ if (($size59946044 == 2))
211+ then $acc259946044
187212 else {
188- let $acc361316181 = generateNewListOfPrices($acc261316181, $list61316181[2])
189- if (($size61316181 == 3))
190- then $acc361316181
213+ let $acc359946044 = generateNewListOfPrices($acc259946044, $list59946044[2])
214+ if (($size59946044 == 3))
215+ then $acc359946044
191216 else {
192- let $acc461316181 = generateNewListOfPrices($acc361316181, $list61316181[3])
193- if (($size61316181 == 4))
194- then $acc461316181
217+ let $acc459946044 = generateNewListOfPrices($acc359946044, $list59946044[3])
218+ if (($size59946044 == 4))
219+ then $acc459946044
195220 else {
196- let $acc561316181 = generateNewListOfPrices($acc461316181, $list61316181[4])
197- if (($size61316181 == 5))
198- then $acc561316181
221+ let $acc559946044 = generateNewListOfPrices($acc459946044, $list59946044[4])
222+ if (($size59946044 == 5))
223+ then $acc559946044
199224 else {
200- let $acc661316181 = generateNewListOfPrices($acc561316181, $list61316181[5])
225+ let $acc659946044 = generateNewListOfPrices($acc559946044, $list59946044[5])
201226 throw("List size exceed 5")
202227 }
203228 }
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))
107- then throw(toString(paymentIsDefined))
108- else throw(toString(paymentIsDefined))
107+ then throw(toString(lotteryAssetTN))
108+ else {
109+ let totalRequiredAmount = (amount * poolprice)
110+ let tnBalance = wavesBalance(this)
111+ if ((totalRequiredAmount > tnBalance))
112+ then throw("Payment Balance is not equal price")
113+ else {
114+ let tempValue = match getString(this, lotteryPrices) {
115+ case a: String =>
116+ a
117+ case _ =>
118+ ""
119+ }
120+ let containKey = indexOf(tempValue, token)
121+ let storedTokensValues = match containKey {
122+ case _: Unit =>
123+ ((tempValue + token) + ",")
124+ case x: Int =>
125+ throw("Token is duplicated")
126+ case _ =>
127+ throw("Match error")
128+ }
129+ let countTokens = getSizePriceArray()
130+ 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)])
131+ ScriptResult(updateLotteryPool, TransferSet(nil))
132+ }
133+ }
109134 }
110135
111136
112137
113138 @Callable(i)
114139 func startlotto () = {
115140 let currentKey = toBase58String(i.caller.bytes)
116141 let randhash = randomizer(i)
117142 let sizeTempPrice = getSizePriceArray()
118143 let priceList = getPriceArray()
119144 let randNumber = toInt(randhash)
120145 let winningToken = {
121- let $list52765313 = priceList
122- let $size52765313 = size($list52765313)
123- let $acc052765313 = nil
124- if (($size52765313 == 0))
125- then $acc052765313
146+ let $list51395176 = priceList
147+ let $size51395176 = size($list51395176)
148+ let $acc051395176 = nil
149+ if (($size51395176 == 0))
150+ then $acc051395176
126151 else {
127- let $acc152765313 = procedLottery($acc052765313, $list52765313[0])
128- if (($size52765313 == 1))
129- then $acc152765313
152+ let $acc151395176 = procedLottery($acc051395176, $list51395176[0])
153+ if (($size51395176 == 1))
154+ then $acc151395176
130155 else {
131- let $acc252765313 = procedLottery($acc152765313, $list52765313[1])
132- if (($size52765313 == 2))
133- then $acc252765313
156+ let $acc251395176 = procedLottery($acc151395176, $list51395176[1])
157+ if (($size51395176 == 2))
158+ then $acc251395176
134159 else {
135- let $acc352765313 = procedLottery($acc252765313, $list52765313[2])
136- if (($size52765313 == 3))
137- then $acc352765313
160+ let $acc351395176 = procedLottery($acc251395176, $list51395176[2])
161+ if (($size51395176 == 3))
162+ then $acc351395176
138163 else {
139- let $acc452765313 = procedLottery($acc352765313, $list52765313[3])
140- if (($size52765313 == 4))
141- then $acc452765313
164+ let $acc451395176 = procedLottery($acc351395176, $list51395176[3])
165+ if (($size51395176 == 4))
166+ then $acc451395176
142167 else {
143- let $acc552765313 = procedLottery($acc452765313, $list52765313[4])
144- if (($size52765313 == 5))
145- then $acc552765313
168+ let $acc551395176 = procedLottery($acc451395176, $list51395176[4])
169+ if (($size51395176 == 5))
170+ then $acc551395176
146171 else {
147- let $acc652765313 = procedLottery($acc552765313, $list52765313[5])
172+ let $acc651395176 = procedLottery($acc551395176, $list51395176[5])
148173 throw("List size exceed 5")
149174 }
150175 }
151176 }
152177 }
153178 }
154179 }
155180 }
156181 let sizeOfWinPrices = size(winningToken)
157182 if ((sizeOfWinPrices == 1))
158183 then {
159184 let writeSets = WriteSet(nil)
160185 ScriptResult(writeSets, TransferSet(nil))
161186 }
162187 else {
163188 let token = winningToken[1]
164189 let currentAmount = getIntegerValue(this, (token + lotteryamount))
165190 if ((currentAmount == 0))
166191 then throw("Amount exceeded")
167192 else {
168193 let actualAmount = (currentAmount - 1)
169194 let tokenPrice = getIntegerValue(this, (token + lotteryPrice))
170195 let tokenAssetId = getStringValue(this, (token + lotteryAssetId))
171196 if ((actualAmount == 0))
172197 then {
173198 let actualListPrices = {
174- let $list61316181 = priceList
175- let $size61316181 = size($list61316181)
176- let $acc061316181 = token
177- if (($size61316181 == 0))
178- then $acc061316181
199+ let $list59946044 = priceList
200+ let $size59946044 = size($list59946044)
201+ let $acc059946044 = token
202+ if (($size59946044 == 0))
203+ then $acc059946044
179204 else {
180- let $acc161316181 = generateNewListOfPrices($acc061316181, $list61316181[0])
181- if (($size61316181 == 1))
182- then $acc161316181
205+ let $acc159946044 = generateNewListOfPrices($acc059946044, $list59946044[0])
206+ if (($size59946044 == 1))
207+ then $acc159946044
183208 else {
184- let $acc261316181 = generateNewListOfPrices($acc161316181, $list61316181[1])
185- if (($size61316181 == 2))
186- then $acc261316181
209+ let $acc259946044 = generateNewListOfPrices($acc159946044, $list59946044[1])
210+ if (($size59946044 == 2))
211+ then $acc259946044
187212 else {
188- let $acc361316181 = generateNewListOfPrices($acc261316181, $list61316181[2])
189- if (($size61316181 == 3))
190- then $acc361316181
213+ let $acc359946044 = generateNewListOfPrices($acc259946044, $list59946044[2])
214+ if (($size59946044 == 3))
215+ then $acc359946044
191216 else {
192- let $acc461316181 = generateNewListOfPrices($acc361316181, $list61316181[3])
193- if (($size61316181 == 4))
194- then $acc461316181
217+ let $acc459946044 = generateNewListOfPrices($acc359946044, $list59946044[3])
218+ if (($size59946044 == 4))
219+ then $acc459946044
195220 else {
196- let $acc561316181 = generateNewListOfPrices($acc461316181, $list61316181[4])
197- if (($size61316181 == 5))
198- then $acc561316181
221+ let $acc559946044 = generateNewListOfPrices($acc459946044, $list59946044[4])
222+ if (($size59946044 == 5))
223+ then $acc559946044
199224 else {
200- let $acc661316181 = generateNewListOfPrices($acc561316181, $list61316181[5])
225+ let $acc659946044 = generateNewListOfPrices($acc559946044, $list59946044[5])
201226 throw("List size exceed 5")
202227 }
203228 }
204229 }
205230 }
206231 }
207232 }
208233 }
209234 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry((token + lotteryPrices), actualListPrices), DataEntry(lastHashRandomNumber, randNumber)])
210235 if ((tokenAssetId == ""))
211236 then {
212237 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
213238 ScriptResult(writeSets, winTransfer)
214239 }
215240 else {
216241 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
217242 ScriptResult(writeSets, winTransfer)
218243 }
219244 }
220245 else {
221246 let writeSets = WriteSet([DataEntry((currentKey + "_winning_token_"), token), DataEntry((currentKey + "_wininning_address_"), currentKey), DataEntry((token + lotteryamount), actualAmount), DataEntry(lastHashRandomNumber, randNumber)])
222247 if ((tokenAssetId == ""))
223248 then {
224249 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
225250 ScriptResult(writeSets, winTransfer)
226251 }
227252 else {
228253 let winTransfer = TransferSet([ScriptTransfer(i.caller, tokenPrice, unit)])
229254 ScriptResult(writeSets, winTransfer)
230255 }
231256 }
232257 }
233258 }
234259 }
235260
236261
237262 @Verifier(tx)
238263 func verify () = match tx {
239264 case _: DataTransaction =>
240265 true
241266 case _: SetScriptTransaction =>
242267 true
243268 case _ =>
244269 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
245270 }
246271

github/deemru/w8io/169f3d6 
83.51 ms