tx · 5bGLFJE8q3u6BTaGvAQ4S1xyXizZCnvxSFNGsvFDCsPQ

3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC:  -0.01400000 Waves

2021.12.06 17:21 [1822505] smart account 3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC > SELF 0.00000000 Waves

{ "type": 13, "id": "5bGLFJE8q3u6BTaGvAQ4S1xyXizZCnvxSFNGsvFDCsPQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1638800478259, "version": 2, "chainId": 84, "sender": "3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC", "senderPublicKey": "CSx1y2ADZAi6KvFZT2LoqQmX5qBxDVVGGZ6heDAGngHM", "proofs": [ "4dhyoMcayAm2grQbnTihxPhw4a5V5Rqyu8yx5XZVSNj6odDfSfbetfaURaNQyhL13yJzv2gj7UvsHsBNzjtUf9Ng", "DiaA9Kc3L9uHKgusCi4bSYg6bZ4N29hmdreFdUps4AzAta5bHfCMSYuS1xXcxJ5dWeSNnUgscRvKijPmgaXiVsQ" ], "script": "base64:AAIFAAAAAAAAABwIAhIHCgUBERgRGBIAEgMKAQgSBAoCAQgSABIAAAAAHQAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAADGtleUVuZEhlaWdodAIAAAAKZW5kX2hlaWdodAAAAAAPa2V5UHJpemVzUHJpY2VzAgAAAA1wcml6ZXNfcHJpY2VzAAAAAA1rZXlQcml6ZXNBSWRzAgAAABdwcml6ZXNfYWNoaWV2ZW1lbnRzX2lkcwAAAAAQa2V5UHJpemVzQW1vdW50cwIAAAANcHJpemVzX2Ftb3VudAAAAAAOa2V5TGV2ZWxQcmljZXMCAAAADGxldmVsX3ByaWNlcwAAAAAWa2V5TGV2ZWxBY2hpZXZlbW50c0lkcwIAAAAWbGV2ZWxfYWNoaWV2ZW1lbnRzX2lkcwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAA5rZXlUb3RhbEJ1cm5lZAIAAAAMdG90YWxfYnVybmVkAAAAAA1rZXlWZXJpZnlIYXNoAgAAAAt2ZXJpZnlfaGFzaAAAAAARa2V5RmluYWxpemVIZWlnaHQCAAAAD2ZpbmFsaXplX2hlaWdodAAAAAASa2V5VXNlclRvdGFsQnVybmVkAgAAAA1fdG90YWxfYnVybmVkAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgAAAAAB2Zhcm1pbmcJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAADGFjaGlldmVtZW50cwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVNg4tzVLGVeEhn5LFeLtkK2e00xkcZ3YYQAAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAthZG1pbl9wdWJfMgAAAAAPa2V5QWRtaW5QdWJLZXkzAgAAAAthZG1pbl9wdWJfMwEAAAALZ2V0QWRtaW5QdWIAAAABAAAAC2tleUFkbWluUHViBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAALa2V5QWRtaW5QdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQA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AA5rZXlUb3RhbEJ1cm5lZAUAAAAObmV3VG90YWxCdXJuZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQa2V5UHJpemVzQW1vdW50cwUAAAATbmV3UHJpemVzQW1vdW50c1N0cgUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEGtleVByaXplc0Ftb3VudHMFAAAAD3ByaXplc0Ftb3VudFN0cgUAAAADbmlsCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADGtleUVuZEhlaWdodAUAAAAJZW5kSGVpZ2h0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2tleVByaXplc1ByaWNlcwUAAAAOcHJpemVQcmljZXNTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANa2V5UHJpemVzQUlkcwUAAAAWcHJpemVBY2hpZXZtZW50c0lkc1N0cgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA5rZXlMZXZlbFByaWNlcwUAAAAObGV2ZWxQcmljZXNTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAWa2V5TGV2ZWxBY2hpZXZlbW50c0lkcwUAAAAWbGV2ZWxBY2hpZXZtZW50c0lkc1N0cgUAAAADbmlsBQAAAA9maXJzdEFkZEVudHJpZXMAAAABaQEAAAADYWRkAAAAAAQAAAALJHQwNDA3NTQxNTAJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0MDc1NDE1MAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQwNzU0MTUwAAAAAl8yBAAAAAllbmRIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAMa2V5RW5kSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkA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", "height": 1822505, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DyfVjne47oHXsdn2Dw7xEYVD7ZGDUmFVx62haxzJSMcc Next: CbMYue2mawHMSaUGwwqTVeGHqULXAXvFbgzakMy6vsDS Diff:
OldNewDifferences
6666
6767
6868 func calcPrizesAmounts (acc,next) = {
69- let $t016921717 = acc
70- let total = $t016921717._1
71- let result = $t016921717._2
69+ let $t016941719 = acc
70+ let total = $t016941719._1
71+ let result = $t016941719._2
7272 $Tuple2(total, (result :+ (total / next)))
7373 }
7474
191191
192192 @Callable(i)
193193 func add () = {
194- let $t040734148 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
195- let pmtAmount = $t040734148._1
196- let pmtAssetId = $t040734148._2
194+ let $t040754150 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
195+ let pmtAmount = $t040754150._1
196+ let pmtAssetId = $t040754150._2
197197 let endHeight = valueOrElse(getInteger(this, keyEndHeight), 0)
198198 if (!(isActive))
199199 then throw("DApp is inactive at this moment")
311311 let levelDiff = (newLevel - oldLevel)
312312 if ((levelDiff > 0))
313313 then {
314- let inv5 = if ((levelDiff == 1))
314+ let inv5 = if ((levelDiff >= 1))
315315 then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 1)], 1], nil)
316316 else 0
317317 if ((inv5 == inv5))
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 keyPrizesAIds = "prizes_achievements_ids"
1111
1212 let keyPrizesAmounts = "prizes_amount"
1313
1414 let keyLevelPrices = "level_prices"
1515
1616 let keyLevelAchievemntsIds = "level_achievements_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'3N9dMg2dGxUmy6RjnP61ZQVBYgf1EKqWn5W')
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 func inListToStr (acc,next) = if ((acc == ""))
6161 then (acc + toString(next))
6262 else ((acc + ",") + toString(next))
6363
6464
6565 func inListToInt (acc,next) = (acc :+ parseIntValue(next))
6666
6767
6868 func calcPrizesAmounts (acc,next) = {
69- let $t016921717 = acc
70- let total = $t016921717._1
71- let result = $t016921717._2
69+ let $t016941719 = acc
70+ let total = $t016941719._1
71+ let result = $t016941719._2
7272 $Tuple2(total, (result :+ (total / next)))
7373 }
7474
7575
7676 func calcLevel (burned) = {
7777 let levelPrices = {
7878 let $l = split(getStringValue(this, keyLevelPrices), ",")
7979 let $s = size($l)
8080 let $acc0 = nil
8181 func 1 ($a,$i) = if (($i >= $s))
8282 then $a
8383 else inListToInt($a, $l[$i])
8484
8585 func 2 ($a,$i) = if (($i >= $s))
8686 then $a
8787 else throw("List size exceeds 5")
8888
8989 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
9090 }
9191 if ((burned >= levelPrices[3]))
9292 then 4
9393 else if ((burned >= levelPrices[2]))
9494 then 3
9595 else if ((burned >= levelPrices[1]))
9696 then 2
9797 else if ((burned >= levelPrices[0]))
9898 then 1
9999 else 0
100100 }
101101
102102
103103 @Callable(i)
104104 func init (endHeight,prizePrices,prizeAchievmentsIds,levelPrices,levelAchievmentsIds) = if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
105105 then throw("Only admin can call this function")
106106 else if (isDefined(getInteger(this, keyEndHeight)))
107107 then throw("DApp is already inited")
108108 else if ((height > endHeight))
109109 then throw("Burning ending must be greater than current height")
110110 else if (if ((size(prizePrices) != 5))
111111 then true
112112 else (size(prizeAchievmentsIds) != 5))
113113 then throw("Amount of prizes achievemts lists must equal to 5")
114114 else if (if ((size(levelPrices) != 4))
115115 then true
116116 else (size(levelAchievmentsIds) != 4))
117117 then throw("Amount of levels lists must equal to 4")
118118 else {
119119 let prizePricesStr = {
120120 let $l = prizePrices
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 prizeAchievmentsIdsStr = makeString(prizeAchievmentsIds, ",")
134134 let levelPricesStr = {
135135 let $l = levelPrices
136136 let $s = size($l)
137137 let $acc0 = ""
138138 func 1 ($a,$i) = if (($i >= $s))
139139 then $a
140140 else inListToStr($a, $l[$i])
141141
142142 func 2 ($a,$i) = if (($i >= $s))
143143 then $a
144144 else throw("List size exceeds 5")
145145
146146 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
147147 }
148148 let levelAchievmentsIdsStr = makeString(levelAchievmentsIds, ",")
149149 let prizesAmountStr = "0,0,0,0,0"
150150 let firstAddEntries = if (if ((size(i.payments) == 1))
151151 then (i.payments[0].assetId == swopId)
152152 else false)
153153 then {
154154 let newTotalBurned = i.payments[0].amount
155155 let res = {
156156 let $l = prizePrices
157157 let $s = size($l)
158158 let $acc0 = $Tuple2(newTotalBurned, nil)
159159 func 1 ($a,$i) = if (($i >= $s))
160160 then $a
161161 else calcPrizesAmounts($a, $l[$i])
162162
163163 func 2 ($a,$i) = if (($i >= $s))
164164 then $a
165165 else throw("List size exceeds 5")
166166
167167 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
168168 }
169169 let newPrizesAmounts = res._2
170170 let newPrizesAmountsStr = {
171171 let $l = newPrizesAmounts
172172 let $s = size($l)
173173 let $acc0 = ""
174174 func 1 ($a,$i) = if (($i >= $s))
175175 then $a
176176 else inListToStr($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 [IntegerEntry(keyTotalBurned, newTotalBurned), StringEntry(keyPrizesAmounts, newPrizesAmountsStr)]
185185 }
186186 else [StringEntry(keyPrizesAmounts, prizesAmountStr)]
187187 ([IntegerEntry(keyEndHeight, endHeight), StringEntry(keyPrizesPrices, prizePricesStr), StringEntry(keyPrizesAIds, prizeAchievmentsIdsStr), StringEntry(keyLevelPrices, levelPricesStr), StringEntry(keyLevelAchievemntsIds, levelAchievmentsIdsStr)] ++ firstAddEntries)
188188 }
189189
190190
191191
192192 @Callable(i)
193193 func add () = {
194- let $t040734148 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
195- let pmtAmount = $t040734148._1
196- let pmtAssetId = $t040734148._2
194+ let $t040754150 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
195+ let pmtAmount = $t040754150._1
196+ let pmtAssetId = $t040754150._2
197197 let endHeight = valueOrElse(getInteger(this, keyEndHeight), 0)
198198 if (!(isActive))
199199 then throw("DApp is inactive at this moment")
200200 else if (if ((height > endHeight))
201201 then true
202202 else (endHeight == 0))
203203 then throw("Swop burning are ended or not started yet")
204204 else if ((pmtAssetId != swopId))
205205 then throw("You can add only SWOP token")
206206 else {
207207 let newTotalBurned = (valueOrElse(getInteger(this, keyTotalBurned), 0) + pmtAmount)
208208 let userTotalBurned = valueOrElse(getInteger(this, (toString(i.caller) + keyUserTotalBurned)), 0)
209209 let prizesAmounts = {
210210 let $l = split(getStringValue(this, keyPrizesAmounts), ",")
211211 let $s = size($l)
212212 let $acc0 = nil
213213 func 1 ($a,$i) = if (($i >= $s))
214214 then $a
215215 else inListToInt($a, $l[$i])
216216
217217 func 2 ($a,$i) = if (($i >= $s))
218218 then $a
219219 else throw("List size exceeds 5")
220220
221221 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
222222 }
223223 let prizesPrices = {
224224 let $l = split(getStringValue(this, keyPrizesPrices), ",")
225225 let $s = size($l)
226226 let $acc0 = nil
227227 func 1 ($a,$i) = if (($i >= $s))
228228 then $a
229229 else inListToInt($a, $l[$i])
230230
231231 func 2 ($a,$i) = if (($i >= $s))
232232 then $a
233233 else throw("List size exceeds 5")
234234
235235 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
236236 }
237237 let prizesAchievementsIds = split(getStringValue(this, keyPrizesAIds), ",")
238238 let levelAchievementsIds = split(getStringValue(this, keyLevelAchievemntsIds), ",")
239239 let res = {
240240 let $l = prizesPrices
241241 let $s = size($l)
242242 let $acc0 = $Tuple2(newTotalBurned, nil)
243243 func 1 ($a,$i) = if (($i >= $s))
244244 then $a
245245 else calcPrizesAmounts($a, $l[$i])
246246
247247 func 2 ($a,$i) = if (($i >= $s))
248248 then $a
249249 else throw("List size exceeds 5")
250250
251251 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
252252 }
253253 let newPrizesAmounts = res._2
254254 let newPrizesAmountsStr = {
255255 let $l = newPrizesAmounts
256256 let $s = size($l)
257257 let $acc0 = ""
258258 func 1 ($a,$i) = if (($i >= $s))
259259 then $a
260260 else inListToStr($a, $l[$i])
261261
262262 func 2 ($a,$i) = if (($i >= $s))
263263 then $a
264264 else throw("List size exceeds 5")
265265
266266 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
267267 }
268268 let inv0 = if ((newPrizesAmounts[0] != prizesAmounts[0]))
269269 then {
270270 let achievementAmount = (newPrizesAmounts[0] - prizesAmounts[0])
271271 invoke(achievements, "add", [prizesAchievementsIds[0], achievementAmount], nil)
272272 }
273273 else 0
274274 if ((inv0 == inv0))
275275 then {
276276 let inv1 = if ((newPrizesAmounts[1] != prizesAmounts[1]))
277277 then {
278278 let achievementAmount = (newPrizesAmounts[1] - prizesAmounts[1])
279279 invoke(achievements, "add", [prizesAchievementsIds[1], achievementAmount], nil)
280280 }
281281 else 0
282282 if ((inv1 == inv1))
283283 then {
284284 let inv2 = if ((newPrizesAmounts[2] != prizesAmounts[2]))
285285 then {
286286 let achievementAmount = (newPrizesAmounts[2] - prizesAmounts[2])
287287 invoke(achievements, "add", [prizesAchievementsIds[2], achievementAmount], nil)
288288 }
289289 else 0
290290 if ((inv2 == inv2))
291291 then {
292292 let inv3 = if ((newPrizesAmounts[3] != prizesAmounts[3]))
293293 then {
294294 let achievementAmount = (newPrizesAmounts[3] - prizesAmounts[3])
295295 invoke(achievements, "add", [prizesAchievementsIds[3], achievementAmount], nil)
296296 }
297297 else 0
298298 if ((inv3 == inv3))
299299 then {
300300 let inv4 = if ((newPrizesAmounts[4] != prizesAmounts[4]))
301301 then {
302302 let achievementAmount = (newPrizesAmounts[4] - prizesAmounts[4])
303303 invoke(achievements, "add", [prizesAchievementsIds[4], achievementAmount], nil)
304304 }
305305 else 0
306306 if ((inv4 == inv4))
307307 then {
308308 let baseEntry = [IntegerEntry(keyTotalBurned, newTotalBurned), IntegerEntry((toString(i.caller) + keyUserTotalBurned), (userTotalBurned + pmtAmount)), StringEntry(keyPrizesAmounts, newPrizesAmountsStr)]
309309 let oldLevel = calcLevel(userTotalBurned)
310310 let newLevel = calcLevel(newTotalBurned)
311311 let levelDiff = (newLevel - oldLevel)
312312 if ((levelDiff > 0))
313313 then {
314- let inv5 = if ((levelDiff == 1))
314+ let inv5 = if ((levelDiff >= 1))
315315 then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 1)], 1], nil)
316316 else 0
317317 if ((inv5 == inv5))
318318 then {
319319 let inv6 = if ((levelDiff >= 2))
320320 then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 2)], 1], nil)
321321 else 0
322322 if ((inv6 == inv6))
323323 then {
324324 let inv7 = if ((levelDiff >= 3))
325325 then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 3)], 1], nil)
326326 else 0
327327 if ((inv7 == inv7))
328328 then {
329329 let inv8 = if ((levelDiff == 4))
330330 then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 4)], 1], nil)
331331 else 0
332332 if ((inv8 == inv8))
333333 then baseEntry
334334 else throw("Strict value is not equal to itself.")
335335 }
336336 else throw("Strict value is not equal to itself.")
337337 }
338338 else throw("Strict value is not equal to itself.")
339339 }
340340 else throw("Strict value is not equal to itself.")
341341 }
342342 else baseEntry
343343 }
344344 else throw("Strict value is not equal to itself.")
345345 }
346346 else throw("Strict value is not equal to itself.")
347347 }
348348 else throw("Strict value is not equal to itself.")
349349 }
350350 else throw("Strict value is not equal to itself.")
351351 }
352352 else throw("Strict value is not equal to itself.")
353353 }
354354 }
355355
356356
357357
358358 @Callable(i)
359359 func hashingRandom (hash) = if (!(isActive))
360360 then throw("DApp is inactive at this moment")
361361 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
362362 then throw("Only admin can call this function")
363363 else [StringEntry(keyVerifyHash, hash)]
364364
365365
366366
367367 @Callable(i)
368368 func finalize (vrfHeight,secretWord) = {
369369 let savedHash = getStringValue(this, keyVerifyHash)
370370 let calcHash = toBase58String(sha256((toBytes(vrfHeight) + toBytes(secretWord))))
371371 if (!(isActive))
372372 then throw("DApp is inactive at this moment")
373373 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
374374 then throw("Only admin can call this function")
375375 else if ((calcHash != savedHash))
376376 then throw("vrf Height hash not matching")
377377 else {
378378 let burnAmount = getIntegerValue(this, keyTotalBurned)
379379 [Burn(swopId, burnAmount), IntegerEntry(keyFinalizeHeight, height)]
380380 }
381381 }
382382
383383
384384
385385 @Callable(i)
386386 func shutdown () = if (!(isActive))
387387 then throw("DApp already inactive")
388388 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
389389 then throw("Only admin can call this function")
390390 else [BooleanEntry(keyActive, false)]
391391
392392
393393
394394 @Callable(i)
395395 func activate () = if (isActive)
396396 then throw("DApp already active")
397397 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
398398 then throw("Only admin can call this function")
399399 else [BooleanEntry(keyActive, true)]
400400
401401
402402 @Verifier(tx)
403403 func verify () = {
404404 let multiSignedByAdmins = {
405405 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
406406 then 1
407407 else 0
408408 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
409409 then 1
410410 else 0
411411 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
412412 then 1
413413 else 0
414414 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
415415 }
416416 let signedByAdmin = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
417417 then true
418418 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey2))
419419 then true
420420 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey3))
421421 then true
422422 else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKeyStaking)
423423 match tx {
424424 case _ =>
425425 multiSignedByAdmins
426426 }
427427 }
428428

github/deemru/w8io/03bedc9 
64.10 ms