tx · 2vVyrh4qeGrLf1nyytKgEopjPkhMQSwuCSa4myN5F6oM

3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC:  -0.01400000 Waves

2021.11.12 12:16 [1787592] smart account 3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC > SELF 0.00000000 Waves

{ "type": 13, "id": "2vVyrh4qeGrLf1nyytKgEopjPkhMQSwuCSa4myN5F6oM", "fee": 1400000, "feeAssetId": null, "timestamp": 1636708688723, "version": 2, "chainId": 84, "sender": "3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC", "senderPublicKey": "CSx1y2ADZAi6KvFZT2LoqQmX5qBxDVVGGZ6heDAGngHM", "proofs": [ "2hNHXcZwadJToRhnfjJdDBsYbu1J3tCFhcYiH2fmisZJ7MN9XXoQq6sSrqd9hAem51jh7wdWTQxjaxm8XiEkoiVe", "4rrUvTTunYSKgrLHrSWf7UAEC1o69bKuDxt6QGGgkShRpfFpuSPcbXukazMcPR3xDGE5Mx6ktNeihzq3fP5rN27w" ], "script": "base64:AAIFAAAAAAAAABwIAhIHCgUBERgRGBIAEgMKAQgSBAoCAQgSABIAAAAAHgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAADGtleUVuZEhlaWdodAIAAAAKZW5kX2hlaWdodAAAAAAPa2V5UHJpemVzUHJpY2VzAgAAAA1wcml6ZXNfcHJpY2VzAAAAAAxrZXlQcml6ZXNJZHMCAAAACnByaXplc19pZHMAAAAAEGtleVByaXplc0Ftb3VudHMCAAAADXByaXplc19hbW91bnQAAAAADmtleUxldmVsUHJpY2VzAgAAAAxsZXZlbF9wcmljZXMAAAAAC2tleUxldmVsSWRzAgAAAAlsZXZlbF9pZHMAAAAACWtleVNXT1BpZAIAAAAHU1dPUF9pZAAAAAAOa2V5VG90YWxCdXJuZWQCAAAADHRvdGFsX2J1cm5lZAAAAAANa2V5VmVyaWZ5SGFzaAIAAAALdmVyaWZ5X2hhc2gAAAAAEWtleUZpbmFsaXplSGVpZ2h0AgAAAA9maW5hbGl6ZV9oZWlnaHQAAAAAEmtleVVzZXJUb3RhbEJ1cm5lZAIAAAANX3RvdGFsX2J1cm5lZAAAAAAGb3JhY2xlCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU6UWqHpAvOq7xug7mLpqSXxqYhOHzYrMIAAAAAAdmYXJtaW5nCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFULEuCdkaN7xkyPSmpBMwL+vYh0o63mS9mAAAAAAxhY2hpZXZlbWVudHMJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQiHQmVKXpa2V1x3no7LADoqDY1EomRww8AAAAAD2tleUFkbWluUHViS2V5MQIAAAALYWRtaW5fcHViXzEAAAAAD2tleUFkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAAD2tleUFkbWluUHViS2V5MwIAAAALYWRtaW5fcHViXzMBAAAAC2dldEFkbWluUHViAAAAAQAAAAtrZXlBZG1pblB1YgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUFAAAAC2tleUFkbWluUHViAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJp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", "height": 1787592, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: JCwDdfoHgzJUMMFp9hNaRMurUfSicX2RrqBFKcNi6DYJ Next: 7oCh7fHPcS1P3JKrXndGXbZ34u99ZEosar2WUSbkzb3n Diff:
OldNewDifferences
282282
283283
284284 @Callable(i)
285-func finalise (vrfHeight,secretWord) = {
285+func finalize (vrfHeight,secretWord) = {
286286 let savedHash = getStringValue(this, keyVerifyHash)
287287 let calcHash = toBase58String(sha256((toBytes(vrfHeight) + toBytes(secretWord))))
288288 if (!(isActive))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyActive = "active"
55
66 let keyEndHeight = "end_height"
77
88 let keyPrizesPrices = "prizes_prices"
99
1010 let keyPrizesIds = "prizes_ids"
1111
1212 let keyPrizesAmounts = "prizes_amount"
1313
1414 let keyLevelPrices = "level_prices"
1515
1616 let keyLevelIds = "level_ids"
1717
1818 let keySWOPid = "SWOP_id"
1919
2020 let keyTotalBurned = "total_burned"
2121
2222 let keyVerifyHash = "verify_hash"
2323
2424 let keyFinalizeHeight = "finalize_height"
2525
2626 let keyUserTotalBurned = "_total_burned"
2727
2828 let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
2929
3030 let farming = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
3131
3232 let achievements = Address(base58'3Ms2TXzth4DtrGcKh5sXRtyQWBeokpXtj1p')
3333
3434 let keyAdminPubKey1 = "admin_pub_1"
3535
3636 let keyAdminPubKey2 = "admin_pub_2"
3737
3838 let keyAdminPubKey3 = "admin_pub_3"
3939
4040 func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) {
4141 case string: String =>
4242 fromBase58String(string)
4343 case nothing =>
4444 throw("Admin public key is empty")
4545 }
4646
4747
4848 let adminPubKey1 = getAdminPub(keyAdminPubKey1)
4949
5050 let adminPubKey2 = getAdminPub(keyAdminPubKey2)
5151
5252 let adminPubKey3 = getAdminPub(keyAdminPubKey3)
5353
5454 let adminPubKeyStaking = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5555
5656 let swopId = fromBase58String(getStringValue(farming, keySWOPid))
5757
5858 let isActive = valueOrElse(getBoolean(this, keyActive), true)
5959
6060 let totalBurned = valueOrElse(getInteger(this, keyTotalBurned), 0)
6161
6262 func inListToStr (acc,next) = if ((acc == ""))
6363 then (acc + toString(next))
6464 else ((acc + ",") + toString(next))
6565
6666
6767 func inListToInt (acc,next) = (acc :+ parseIntValue(next))
6868
6969
7070 func calcPrizesAmounts (acc,next) = (acc :+ (totalBurned / next))
7171
7272
7373 func calcLevel (burned) = {
7474 let levelPrices = {
7575 let $l = split(getStringValue(this, keyLevelPrices), ",")
7676 let $s = size($l)
7777 let $acc0 = nil
7878 func 1 ($a,$i) = if (($i >= $s))
7979 then $a
8080 else inListToInt($a, $l[$i])
8181
8282 func 2 ($a,$i) = if (($i >= $s))
8383 then $a
8484 else throw("List size exceeds 5")
8585
8686 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
8787 }
8888 if ((levelPrices[3] >= burned))
8989 then 4
9090 else if ((levelPrices[2] >= burned))
9191 then 3
9292 else if ((levelPrices[1] >= burned))
9393 then 2
9494 else if ((levelPrices[0] >= burned))
9595 then 1
9696 else 0
9797 }
9898
9999
100100 @Callable(i)
101101 func init (endHeight,prizePrices,prizeIds,levelPrices,levelIds) = if (isDefined(getInteger(this, keyEndHeight)))
102102 then throw("DApp is already inited")
103103 else {
104104 let prizePricesStr = {
105105 let $l = prizePrices
106106 let $s = size($l)
107107 let $acc0 = ""
108108 func 1 ($a,$i) = if (($i >= $s))
109109 then $a
110110 else inListToStr($a, $l[$i])
111111
112112 func 2 ($a,$i) = if (($i >= $s))
113113 then $a
114114 else throw("List size exceeds 5")
115115
116116 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
117117 }
118118 let prizeIdsStr = makeString(prizeIds, ",")
119119 let levelPricesStr = {
120120 let $l = levelPrices
121121 let $s = size($l)
122122 let $acc0 = ""
123123 func 1 ($a,$i) = if (($i >= $s))
124124 then $a
125125 else inListToStr($a, $l[$i])
126126
127127 func 2 ($a,$i) = if (($i >= $s))
128128 then $a
129129 else throw("List size exceeds 5")
130130
131131 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
132132 }
133133 let levelIdsStr = makeString(levelIds, ",")
134134 let prizesAmountStr = "0,0,0,0,0"
135135 [IntegerEntry(keyEndHeight, endHeight), StringEntry(keyPrizesPrices, prizePricesStr), StringEntry(keyPrizesIds, prizeIdsStr), StringEntry(keyLevelPrices, levelPricesStr), StringEntry(keyLevelIds, levelIdsStr), StringEntry(keyPrizesAmounts, prizesAmountStr)]
136136 }
137137
138138
139139
140140 @Callable(i)
141141 func add () = {
142142 let $t029313006 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
143143 let pmtAmount = $t029313006._1
144144 let pmtAssetId = $t029313006._2
145145 let endHeight = valueOrElse(getInteger(this, keyEndHeight), 0)
146146 if (!(isActive))
147147 then throw("DApp is inactive at this moment")
148148 else if (if ((endHeight > height))
149149 then true
150150 else (endHeight == 0))
151151 then throw("Swop burning are ended or not started yet")
152152 else if ((pmtAssetId != swopId))
153153 then throw("You can add only SWOP token")
154154 else {
155155 let userTotalBurned = valueOrElse(getInteger(this, (toString(this) + keyUserTotalBurned)), 0)
156156 let prizesAmounts = {
157157 let $l = split(getStringValue(this, keyPrizesAmounts), ",")
158158 let $s = size($l)
159159 let $acc0 = nil
160160 func 1 ($a,$i) = if (($i >= $s))
161161 then $a
162162 else inListToInt($a, $l[$i])
163163
164164 func 2 ($a,$i) = if (($i >= $s))
165165 then $a
166166 else throw("List size exceeds 5")
167167
168168 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
169169 }
170170 let prizesPrices = {
171171 let $l = split(getStringValue(this, keyPrizesPrices), ",")
172172 let $s = size($l)
173173 let $acc0 = nil
174174 func 1 ($a,$i) = if (($i >= $s))
175175 then $a
176176 else inListToInt($a, $l[$i])
177177
178178 func 2 ($a,$i) = if (($i >= $s))
179179 then $a
180180 else throw("List size exceeds 5")
181181
182182 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
183183 }
184184 let prizesIds = split(getStringValue(this, keyPrizesIds), ",")
185185 let levelIds = split(getStringValue(this, keyLevelIds), ",")
186186 let newPrizesAmounts = {
187187 let $l = prizesPrices
188188 let $s = size($l)
189189 let $acc0 = nil
190190 func 1 ($a,$i) = if (($i >= $s))
191191 then $a
192192 else calcPrizesAmounts($a, $l[$i])
193193
194194 func 2 ($a,$i) = if (($i >= $s))
195195 then $a
196196 else throw("List size exceeds 5")
197197
198198 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
199199 }
200200 let newPrizesAmountsStr = {
201201 let $l = newPrizesAmounts
202202 let $s = size($l)
203203 let $acc0 = ""
204204 func 1 ($a,$i) = if (($i >= $s))
205205 then $a
206206 else inListToStr($a, $l[$i])
207207
208208 func 2 ($a,$i) = if (($i >= $s))
209209 then $a
210210 else throw("List size exceeds 5")
211211
212212 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
213213 }
214214 let inv0 = if ((newPrizesAmounts[0] != prizesAmounts[0]))
215215 then {
216216 let achievementAmount = (newPrizesAmounts[0] - prizesAmounts[0])
217217 invoke(achievements, "add", [prizesIds[0], achievementAmount], nil)
218218 }
219219 else 0
220220 if ((inv0 == inv0))
221221 then {
222222 let inv1 = if ((newPrizesAmounts[1] != prizesAmounts[1]))
223223 then {
224224 let achievementAmount = (newPrizesAmounts[1] - prizesAmounts[1])
225225 invoke(achievements, "add", [prizesIds[1], achievementAmount], nil)
226226 }
227227 else 0
228228 if ((inv1 == inv1))
229229 then {
230230 let inv2 = if ((newPrizesAmounts[2] != prizesAmounts[2]))
231231 then {
232232 let achievementAmount = (newPrizesAmounts[2] - prizesAmounts[2])
233233 invoke(achievements, "add", [prizesIds[2], achievementAmount], nil)
234234 }
235235 else 0
236236 if ((inv2 == inv2))
237237 then {
238238 let inv3 = if ((newPrizesAmounts[3] != prizesAmounts[3]))
239239 then {
240240 let achievementAmount = (newPrizesAmounts[3] - prizesAmounts[3])
241241 invoke(achievements, "add", [prizesIds[3], achievementAmount], nil)
242242 }
243243 else 0
244244 if ((inv3 == inv3))
245245 then {
246246 let inv4 = if ((newPrizesAmounts[4] != prizesAmounts[4]))
247247 then {
248248 let achievementAmount = (newPrizesAmounts[4] - prizesAmounts[4])
249249 invoke(achievements, "add", [prizesIds[4], achievementAmount], nil)
250250 }
251251 else 0
252252 if ((inv4 == inv4))
253253 then {
254254 let oldLevel = calcLevel(userTotalBurned)
255255 let newLevel = calcLevel((userTotalBurned + pmtAmount))
256256 let inv5 = if ((oldLevel != newLevel))
257257 then invoke(achievements, "add", [levelIds[(newLevel - 1)], 1], nil)
258258 else 0
259259 [IntegerEntry(keyTotalBurned, (totalBurned + pmtAmount)), IntegerEntry((toString(this) + keyUserTotalBurned), (userTotalBurned + pmtAmount)), StringEntry(keyPrizesAmounts, newPrizesAmountsStr)]
260260 }
261261 else throw("Strict value is not equal to itself.")
262262 }
263263 else throw("Strict value is not equal to itself.")
264264 }
265265 else throw("Strict value is not equal to itself.")
266266 }
267267 else throw("Strict value is not equal to itself.")
268268 }
269269 else throw("Strict value is not equal to itself.")
270270 }
271271 }
272272
273273
274274
275275 @Callable(i)
276276 func hashingRandom (hash) = if (!(isActive))
277277 then throw("DApp is inactive at this moment")
278278 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
279279 then throw("Only admin can call this function")
280280 else [StringEntry(keyVerifyHash, hash)]
281281
282282
283283
284284 @Callable(i)
285-func finalise (vrfHeight,secretWord) = {
285+func finalize (vrfHeight,secretWord) = {
286286 let savedHash = getStringValue(this, keyVerifyHash)
287287 let calcHash = toBase58String(sha256((toBytes(vrfHeight) + toBytes(secretWord))))
288288 if (!(isActive))
289289 then throw("DApp is inactive at this moment")
290290 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
291291 then throw("Only admin can call this function")
292292 else if ((calcHash != savedHash))
293293 then throw("vrf Height hash not matching")
294294 else {
295295 let burnAmount = getIntegerValue(this, keyTotalBurned)
296296 [Burn(swopId, burnAmount), IntegerEntry(keyFinalizeHeight, height)]
297297 }
298298 }
299299
300300
301301
302302 @Callable(i)
303303 func shutdown () = if (!(isActive))
304304 then throw("DApp already inactive")
305305 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
306306 then throw("Only admin can call this function")
307307 else [BooleanEntry(keyActive, false)]
308308
309309
310310
311311 @Callable(i)
312312 func activate () = if (isActive)
313313 then throw("DApp already active")
314314 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
315315 then throw("Only admin can call this function")
316316 else [BooleanEntry(keyActive, true)]
317317
318318
319319 @Verifier(tx)
320320 func verify () = {
321321 let multiSignedByAdmins = {
322322 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
323323 then 1
324324 else 0
325325 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
326326 then 1
327327 else 0
328328 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
329329 then 1
330330 else 0
331331 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
332332 }
333333 let signedByAdmin = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
334334 then true
335335 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey2))
336336 then true
337337 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey3))
338338 then true
339339 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKeyStaking)
340340 match tx {
341341 case _ =>
342342 multiSignedByAdmins
343343 }
344344 }
345345

github/deemru/w8io/169f3d6 
38.83 ms