tx · BhwyR6Lt6r2hK1KaUiyLhvcuykF7kfxmUrhPQWuttXZM

3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1:  -0.01400000 Waves

2021.02.09 16:59 [1390746] smart account 3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1 > SELF 0.00000000 Waves

{ "type": 13, "id": "BhwyR6Lt6r2hK1KaUiyLhvcuykF7kfxmUrhPQWuttXZM", "fee": 1400000, "feeAssetId": null, "timestamp": 1612879272589, "version": 2, "chainId": 84, "sender": "3N54JoRXk5QW3xx9xDpxUpUkoDzriibARu1", "senderPublicKey": "4ZSmQKKSEVi7FUZVartg8PJgDtovcTaKW3HWpdXKkjx2", "proofs": [ "2NssP74q3WRCZvbqtMi1wwCRKvYdhT7vANuAJ26fgeAct4QFLsH423n8pAZfMWnsAeKs4JeCWCsAWtvh45ryyEfs" ], "script": "base64:AAIDAAAAAAAAAA0IARIHCgUBAQEBCBIAAAAAEAAAAAANbG90dGVyeWFtb3VudAIAAAAHX2Ftb3VudAAAAAASbG90dGVyeXByb2JhYmlsaXR5AgAAAAxfcHJvYmFiaWxpdHkAAAAAGWxvdHRlcnlwcm9iYWJpbGl0eWRlY2ltYWwCAAAAFF9wcm9iYWJpbGl0eV9kZWNpbWFsAAAAAAxsb3R0ZXJ5UHJpY2UCAAAABl9wcmljZQAAAAANbG90dGVyeVByaWNlcwIAAAAPX2xvdHRlcnlfcHJpY2VzAAAAAA5sb3R0ZXJ5QXNzZXRJZAIAAAARX2xvdHRlcnlfYXNzZXRfaWQAAAAADWNvdW50T2ZQcmljZXMCAAAADV9jb3VudF9wcmljZXMAAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAgAAABVsYXN0X3NwaW5fcmFuZG9tX2hhc2gAAAAAE2xhc3RUb2tlblJhbmRvbUhhc2gCAAAAFmxhc3RfdG9rZW5fcmFuZG9tX2hhc2gAAAAACmRBcHBBZGRyZXMCAAAALDNCS0ZRTGVvNUV4WjVZMXB0OUZ0enNubzdhUnd6RDk2em9ZVkhQM3RjTGdWAAAAABBhbGxvd1NpemVMb3R0ZXJ5AAAAAAAAAAAFAQAAAApyYW5kb21pemVyAAAAAQAAAANpbnYEAAAACGxhc3RQbGF5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAFGxhc3RIYXNoUmFuZG9tTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AQAAAAxXYXZlc0xvdHRvVjIJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAABHJhbmQJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAhsYXN0UGxheQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkCAUAAAADaW52AAAAD2NhbGxlclB1YmxpY0tleQgFAAAACWxhc3RCbG9jawAAABNnZW5lcmF0aW9uU2lnbmF0dXJlCQABmgAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGlt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", "height": 1390746, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 31bjaN1YfGZPDNYwMk5LS453WySmxRiNfZFT9TirEvzp Next: none Diff:
OldNewDifferences
6767 }
6868
6969
70-func procedLottery (win,token) = if (isDefined(token))
70+func procedLottery (win,token) = if (if (isDefined(token))
71+ then true
72+ else (token != ""))
7173 then {
7274 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
7375 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
206208 let priceList = getPriceArray()
207209 let randNumber = toBase64String(randhash)
208210 let winningToken = {
209- let $list75077554 = priceList
210- let $size75077554 = size($list75077554)
211- let $acc075077554 = [randNumber]
212- if (($size75077554 == 0))
213- then $acc075077554
211+ let $list75227569 = priceList
212+ let $size75227569 = size($list75227569)
213+ let $acc075227569 = [randNumber]
214+ if (($size75227569 == 0))
215+ then $acc075227569
214216 else {
215- let $acc175077554 = procedLottery($acc075077554, $list75077554[0])
216- if (($size75077554 == 1))
217- then $acc175077554
217+ let $acc175227569 = procedLottery($acc075227569, $list75227569[0])
218+ if (($size75227569 == 1))
219+ then $acc175227569
218220 else {
219- let $acc275077554 = procedLottery($acc175077554, $list75077554[1])
220- if (($size75077554 == 2))
221- then $acc275077554
221+ let $acc275227569 = procedLottery($acc175227569, $list75227569[1])
222+ if (($size75227569 == 2))
223+ then $acc275227569
222224 else {
223- let $acc375077554 = procedLottery($acc275077554, $list75077554[2])
224- if (($size75077554 == 3))
225- then $acc375077554
225+ let $acc375227569 = procedLottery($acc275227569, $list75227569[2])
226+ if (($size75227569 == 3))
227+ then $acc375227569
226228 else {
227- let $acc475077554 = procedLottery($acc375077554, $list75077554[3])
228- if (($size75077554 == 4))
229- then $acc475077554
229+ let $acc475227569 = procedLottery($acc375227569, $list75227569[3])
230+ if (($size75227569 == 4))
231+ then $acc475227569
230232 else {
231- let $acc575077554 = procedLottery($acc475077554, $list75077554[4])
232- if (($size75077554 == 5))
233- then $acc575077554
233+ let $acc575227569 = procedLottery($acc475227569, $list75227569[4])
234+ if (($size75227569 == 5))
235+ then $acc575227569
234236 else {
235- let $acc675077554 = procedLottery($acc575077554, $list75077554[5])
237+ let $acc675227569 = procedLottery($acc575227569, $list75227569[5])
236238 throw("List size exceed 5")
237239 }
238240 }
242244 }
243245 }
244246 let sizeOfWinPrices = size(winningToken)
245- if ((sizeOfWinPrices == 0))
247+ if ((sizeOfWinPrices == 1))
246248 then {
247249 let writeSets = WriteSet(nil)
248250 ScriptResult(writeSets, TransferSet(nil))
249251 }
250252 else {
251- let token = winningToken[1]
252- throw(token)
253+ let token = winningToken[0]
254+ let currentAmount = getIntegerValue(this, (token + lotteryamount))
255+ throw(toString(currentAmount))
253256 }
254257 }
255258
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 let allowSizeLottery = 5
2525
2626 func randomizer (inv) = {
2727 let lastPlay = match getBinary(this, lastHashRandomNumber) {
2828 case s: ByteVector =>
2929 s
3030 case _: Unit =>
3131 base58'2ee4oFDYriWJ9EMeR'
3232 case _ =>
3333 throw("Match error")
3434 }
3535 let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
3636 sha256(rand)
3737 }
3838
3939
4040 func generatorRandomHash (inv) = {
4141 let lastHashForToken = match getBinary(this, lastTokenRandomHash) {
4242 case s: ByteVector =>
4343 s
4444 case _: Unit =>
4545 base58'4dD7osCQzvuXJdTiGfKvTwnKT'
4646 case _ =>
4747 throw("Match error")
4848 }
4949 let rand = (((((lastHashForToken + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
5050 sha256(rand)
5151 }
5252
5353
5454 func getPriceArray () = {
5555 let tempPrices = getStringValue(this, lotteryPrices)
5656 let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5757 let newArray = split(trimPrices, ",")
5858 newArray
5959 }
6060
6161
6262 func generateNewListOfPrices (token,val) = {
6363 let indexOfComma = indexOf(token, ",")
6464 if ((indexOfComma == unit))
6565 then (val + ",")
6666 else ((token + val) + ",")
6767 }
6868
6969
70-func procedLottery (win,token) = if (isDefined(token))
70+func procedLottery (win,token) = if (if (isDefined(token))
71+ then true
72+ else (token != ""))
7173 then {
7274 let tokenProbability = getIntegerValue(this, (token + lotteryprobability))
7375 let tokenProbabilityDecimal = getIntegerValue(this, (token + lotteryprobabilitydecimal))
7476 let probabilityValue = (tokenProbabilityDecimal * 1000)
7577 let probCompare = (tokenProbabilityDecimal % probabilityValue)
7678 let sizeOfWin = size(win)
7779 if ((sizeOfWin == 1))
7880 then {
7981 let randomNumber = win[0]
8082 let comp = toInt(fromBase64String(randomNumber))
8183 if ((probCompare > comp))
8284 then token :: win
8385 else win
8486 }
8587 else win
8688 }
8789 else win
8890
8991
9092 @Callable(i)
9193 func updateprobability (probability,amount,poolprice,probDecimal,assetId) = {
9294 let token = toBase64String(generatorRandomHash(i))
9395 let paymentIsDefined = if (!(isDefined(i.payment)))
9496 then false
9597 else true
9698 let lotteryAssetTN = if ((assetId == ""))
9799 then true
98100 else false
99101 let totalRequiredAmount = (amount * poolprice)
100102 if ((paymentIsDefined == true))
101103 then {
102104 let payment = extract(i.payment)
103105 let paymentAssetId = match payment.assetId {
104106 case a: ByteVector =>
105107 toBase64String(a)
106108 case _: Unit =>
107109 ""
108110 case _ =>
109111 throw("Match error")
110112 }
111113 let paymentAmount = payment.amount
112114 if ((paymentAssetId != assetId))
113115 then throw("Asset Id not matching with Payment Asset Id")
114116 else if ((totalRequiredAmount > paymentAmount))
115117 then throw("Not enough Asset Amount")
116118 else {
117119 let tempValue = match getString(this, lotteryPrices) {
118120 case a: String =>
119121 a
120122 case _: Unit =>
121123 ""
122124 case _ =>
123125 throw("Match error")
124126 }
125127 let containKey = indexOf(tempValue, token)
126128 let storedTokensValues = match containKey {
127129 case _: Unit =>
128130 ((tempValue + token) + ",")
129131 case x: Int =>
130132 throw("Token is duplicated")
131133 case _ =>
132134 throw("Match error")
133135 }
134136 let countTokens = match getInteger(this, countOfPrices) {
135137 case a: Int =>
136138 a
137139 case _: Unit =>
138140 0
139141 case _ =>
140142 throw("Match error")
141143 }
142144 if ((allowSizeLottery > countTokens))
143145 then {
144146 let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token)])
145147 ScriptResult(updateLotteryPool, TransferSet(nil))
146148 }
147149 else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
148150 }
149151 }
150152 else {
151153 let tnBalance = if (lotteryAssetTN)
152154 then wavesBalance(this)
153155 else assetBalance(this, fromBase64String(assetId))
154156 if ((totalRequiredAmount > tnBalance))
155157 then throw("Not enough Asset Amount")
156158 else {
157159 let tempValue = match getString(this, lotteryPrices) {
158160 case a: String =>
159161 a
160162 case _: Unit =>
161163 ""
162164 case _ =>
163165 throw("Match error")
164166 }
165167 let containKey = indexOf(tempValue, token)
166168 let storedTokensValues = match containKey {
167169 case _: Unit =>
168170 ((tempValue + token) + ",")
169171 case x: Int =>
170172 throw("Token is duplicated")
171173 case _ =>
172174 throw("Match error")
173175 }
174176 let countTokens = match getInteger(this, countOfPrices) {
175177 case a: Int =>
176178 a
177179 case _: Unit =>
178180 0
179181 case _ =>
180182 throw("Match error")
181183 }
182184 if ((allowSizeLottery > countTokens))
183185 then {
184186 let updateLotteryPool = WriteSet([DataEntry((token + lotteryamount), amount), DataEntry((token + lotteryprobability), probability), DataEntry((token + lotteryPrice), poolprice), DataEntry(lotteryPrices, storedTokensValues), DataEntry(countOfPrices, (countTokens + 1)), DataEntry((token + lotteryprobabilitydecimal), probDecimal), DataEntry((token + lotteryAssetId), assetId), DataEntry(lastTokenRandomHash, token)])
185187 ScriptResult(updateLotteryPool, TransferSet(nil))
186188 }
187189 else throw(("Lottery prices has reached maximum " + toString(allowSizeLottery)))
188190 }
189191 }
190192 }
191193
192194
193195
194196 @Callable(i)
195197 func startlotto () = {
196198 let currentKey = toBase58String(i.caller.bytes)
197199 let randhash = randomizer(i)
198200 let countTokens = match getInteger(this, countOfPrices) {
199201 case a: Int =>
200202 a
201203 case _: Unit =>
202204 0
203205 case _ =>
204206 throw("Match error")
205207 }
206208 let priceList = getPriceArray()
207209 let randNumber = toBase64String(randhash)
208210 let winningToken = {
209- let $list75077554 = priceList
210- let $size75077554 = size($list75077554)
211- let $acc075077554 = [randNumber]
212- if (($size75077554 == 0))
213- then $acc075077554
211+ let $list75227569 = priceList
212+ let $size75227569 = size($list75227569)
213+ let $acc075227569 = [randNumber]
214+ if (($size75227569 == 0))
215+ then $acc075227569
214216 else {
215- let $acc175077554 = procedLottery($acc075077554, $list75077554[0])
216- if (($size75077554 == 1))
217- then $acc175077554
217+ let $acc175227569 = procedLottery($acc075227569, $list75227569[0])
218+ if (($size75227569 == 1))
219+ then $acc175227569
218220 else {
219- let $acc275077554 = procedLottery($acc175077554, $list75077554[1])
220- if (($size75077554 == 2))
221- then $acc275077554
221+ let $acc275227569 = procedLottery($acc175227569, $list75227569[1])
222+ if (($size75227569 == 2))
223+ then $acc275227569
222224 else {
223- let $acc375077554 = procedLottery($acc275077554, $list75077554[2])
224- if (($size75077554 == 3))
225- then $acc375077554
225+ let $acc375227569 = procedLottery($acc275227569, $list75227569[2])
226+ if (($size75227569 == 3))
227+ then $acc375227569
226228 else {
227- let $acc475077554 = procedLottery($acc375077554, $list75077554[3])
228- if (($size75077554 == 4))
229- then $acc475077554
229+ let $acc475227569 = procedLottery($acc375227569, $list75227569[3])
230+ if (($size75227569 == 4))
231+ then $acc475227569
230232 else {
231- let $acc575077554 = procedLottery($acc475077554, $list75077554[4])
232- if (($size75077554 == 5))
233- then $acc575077554
233+ let $acc575227569 = procedLottery($acc475227569, $list75227569[4])
234+ if (($size75227569 == 5))
235+ then $acc575227569
234236 else {
235- let $acc675077554 = procedLottery($acc575077554, $list75077554[5])
237+ let $acc675227569 = procedLottery($acc575227569, $list75227569[5])
236238 throw("List size exceed 5")
237239 }
238240 }
239241 }
240242 }
241243 }
242244 }
243245 }
244246 let sizeOfWinPrices = size(winningToken)
245- if ((sizeOfWinPrices == 0))
247+ if ((sizeOfWinPrices == 1))
246248 then {
247249 let writeSets = WriteSet(nil)
248250 ScriptResult(writeSets, TransferSet(nil))
249251 }
250252 else {
251- let token = winningToken[1]
252- throw(token)
253+ let token = winningToken[0]
254+ let currentAmount = getIntegerValue(this, (token + lotteryamount))
255+ throw(toString(currentAmount))
253256 }
254257 }
255258
256259
257260 @Verifier(tx)
258261 func verify () = match tx {
259262 case _: DataTransaction =>
260263 true
261264 case _: SetScriptTransaction =>
262265 true
263266 case _ =>
264267 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
265268 }
266269

github/deemru/w8io/c3f4982 
49.38 ms