tx · CK7fBWG4sVZkVHuK6euNsAMVqneHsA48FoMuRUFVkrtp

3MsVkSVnheLpmqhgX8yhyyiMCEjTpGGkFYk:  -0.01000000 Waves

2021.12.03 14:24 [1818027] smart account 3MsVkSVnheLpmqhgX8yhyyiMCEjTpGGkFYk > SELF 0.00000000 Waves

{ "type": 13, "id": "CK7fBWG4sVZkVHuK6euNsAMVqneHsA48FoMuRUFVkrtp", "fee": 1000000, "feeAssetId": null, "timestamp": 1638530665807, "version": 2, "chainId": 84, "sender": "3MsVkSVnheLpmqhgX8yhyyiMCEjTpGGkFYk", "senderPublicKey": "9CSU5CUJffoJvfWYyr41EqCy4GLMNrPgMbn7j5GZyjwS", "proofs": [ "5tb1VGvwuNDHAHgCXmTYcR1Nz2hBg9dhGQWUUjXHgUMMkpuAw9hGoFNWa8pDpUihu8JYt5nUmvGK1eBPXEWzseRg" ], "script": "base64:AAIFAAAAAAAAABwIAhIHCgUBERgRGBIAEgMKAQgSBAoCAQgSABIAAAAAHQAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAADGtleUVuZEhlaWdodAIAAAAKZW5kX2hlaWdodAAAAAAPa2V5UHJpemVzUHJpY2VzAgAAAA1wcml6ZXNfcHJpY2VzAAAAAA1rZXlQcml6ZXNBSWRzAgAAABdwcml6ZXNfYWNoaWV2ZW1lbnRzX2lkcwAAAAAQa2V5UHJpemVzQW1vdW50cwIAAAANcHJpemVzX2Ftb3VudAAAAAAOa2V5TGV2ZWxQcmljZXMCAAAADGxldmVsX3ByaWNlcwAAAAAWa2V5TGV2ZWxBY2hpZXZlbW50c0lkcwIAAAAWbGV2ZWxfYWNoaWV2ZW1lbnRzX2lkcwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAA5rZXlUb3RhbEJ1cm5lZAIAAAAMdG90YWxfYnVybmVkAAAAAA1rZXlWZXJpZnlIYXNoAgAAAAt2ZXJpZnlfaGFzaAAAAAARa2V5RmluYWxpemVIZWlnaHQCAAAAD2ZpbmFsaXplX2hlaWdodAAAAAASa2V5VXNlclRvdGFsQnVybmVkAgAAAA1fdG90YWxfYnVybmVkAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgAAAAAB2Zhcm1pbmcJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAADGFjaGlldmVtZW50cwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVNg4tzVLGVeEhn5LFeLtkK2e00xkcZ3YYQAAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAthZG1pbl9wdWJfMgAAAAAPa2V5QWRtaW5QdWJLZXkzAgAAAAthZG1pbl9wdWJfMwEAAAALZ2V0QWRtaW5QdWIAAAABAAAAC2tleUFkbWluUHViBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAALa2V5QWRtaW5QdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQA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AA5rZXlUb3RhbEJ1cm5lZAUAAAAObmV3VG90YWxCdXJuZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQa2V5UHJpemVzQW1vdW50cwUAAAATbmV3UHJpemVzQW1vdW50c1N0cgUAAAADbmlsBQAAAANuaWwJAAROAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMa2V5RW5kSGVpZ2h0BQAAAAllbmRIZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPa2V5UHJpemVzUHJpY2VzBQAAAA5wcml6ZVByaWNlc1N0cgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1rZXlQcml6ZXNBSWRzBQAAABZwcml6ZUFjaGlldm1lbnRzSWRzU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADmtleUxldmVsUHJpY2VzBQAAAA5sZXZlbFByaWNlc1N0cgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABZrZXlMZXZlbEFjaGlldmVtbnRzSWRzBQAAABZsZXZlbEFjaGlldm1lbnRzSWRzU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEGtleVByaXplc0Ftb3VudHMFAAAAD3ByaXplc0Ftb3VudFN0cgUAAAADbmlsBQAAAA9maXJzdEFkZEVudHJpZXMAAAABaQEAAAADYWRkAAAAAAQAAAALJHQwNDA3OTQxNTQJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0MDc5NDE1NAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQwNzk0MTU0AAAAAl8yBAAAAAllbmRIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAMa2V5RW5kSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkA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", "height": 1818027, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 5uvjYnvjgagBjM7GsPUNhpeDMhjDKX3o2ohgFcnUvi4t Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let keyActive = "active"
5+
6+let keyEndHeight = "end_height"
7+
8+let keyPrizesPrices = "prizes_prices"
9+
10+let keyPrizesAIds = "prizes_achievements_ids"
11+
12+let keyPrizesAmounts = "prizes_amount"
13+
14+let keyLevelPrices = "level_prices"
15+
16+let keyLevelAchievemntsIds = "level_achievements_ids"
17+
18+let keySWOPid = "SWOP_id"
19+
20+let keyTotalBurned = "total_burned"
21+
22+let keyVerifyHash = "verify_hash"
23+
24+let keyFinalizeHeight = "finalize_height"
25+
26+let keyUserTotalBurned = "_total_burned"
27+
28+let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
29+
30+let farming = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
31+
32+let achievements = Address(base58'3N9dMg2dGxUmy6RjnP61ZQVBYgf1EKqWn5W')
33+
34+let keyAdminPubKey1 = "admin_pub_1"
35+
36+let keyAdminPubKey2 = "admin_pub_2"
37+
38+let keyAdminPubKey3 = "admin_pub_3"
39+
40+func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) {
41+ case string: String =>
42+ fromBase58String(string)
43+ case nothing =>
44+ throw("Admin public key is empty")
45+}
46+
47+
48+let adminPubKey1 = getAdminPub(keyAdminPubKey1)
49+
50+let adminPubKey2 = getAdminPub(keyAdminPubKey2)
51+
52+let adminPubKey3 = getAdminPub(keyAdminPubKey3)
53+
54+let adminPubKeyStaking = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55+
56+let swopId = fromBase58String(getStringValue(farming, keySWOPid))
57+
58+let isActive = valueOrElse(getBoolean(this, keyActive), true)
59+
60+func inListToStr (acc,next) = if ((acc == ""))
61+ then (acc + toString(next))
62+ else ((acc + ",") + toString(next))
63+
64+
65+func inListToInt (acc,next) = (acc :+ parseIntValue(next))
66+
67+
68+func calcPrizesAmounts (acc,next) = {
69+ let $t016901715 = acc
70+ let total = $t016901715._1
71+ let result = $t016901715._2
72+ $Tuple2(total, (result :+ (total / next)))
73+ }
74+
75+
76+func calcLevel (burned) = {
77+ let levelPrices = {
78+ let $l = split(getStringValue(this, keyLevelPrices), ",")
79+ let $s = size($l)
80+ let $acc0 = nil
81+ func 1 ($a,$i) = if (($i >= $s))
82+ then $a
83+ else inListToInt($a, $l[$i])
84+
85+ func 2 ($a,$i) = if (($i >= $s))
86+ then $a
87+ else throw("List size exceeds 5")
88+
89+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
90+ }
91+ if ((burned >= levelPrices[3]))
92+ then 4
93+ else if ((burned >= levelPrices[2]))
94+ then 3
95+ else if ((burned >= levelPrices[1]))
96+ then 2
97+ else if ((burned >= levelPrices[0]))
98+ then 1
99+ else 0
100+ }
101+
102+
103+@Callable(i)
104+func init (endHeight,prizePrices,prizeAchievmentsIds,levelPrices,levelAchievmentsIds) = if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
105+ then throw("Only admin can call this function")
106+ else if (isDefined(getInteger(this, keyEndHeight)))
107+ then throw("DApp is already inited")
108+ else if ((height > endHeight))
109+ then throw("Burning ending must be greater than current height")
110+ else if (if ((size(prizePrices) != 5))
111+ then true
112+ else (size(prizeAchievmentsIds) != 5))
113+ then throw("Amount of prizes achievemts lists must equal to 5")
114+ else if (if ((size(levelPrices) != 4))
115+ then true
116+ else (size(levelAchievmentsIds) != 4))
117+ then throw("Amount of levels lists must equal to 4")
118+ else {
119+ let prizePricesStr = {
120+ let $l = prizePrices
121+ let $s = size($l)
122+ let $acc0 = ""
123+ func 1 ($a,$i) = if (($i >= $s))
124+ then $a
125+ else inListToStr($a, $l[$i])
126+
127+ func 2 ($a,$i) = if (($i >= $s))
128+ then $a
129+ else throw("List size exceeds 5")
130+
131+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
132+ }
133+ let prizeAchievmentsIdsStr = makeString(prizeAchievmentsIds, ",")
134+ let levelPricesStr = {
135+ let $l = levelPrices
136+ let $s = size($l)
137+ let $acc0 = ""
138+ func 1 ($a,$i) = if (($i >= $s))
139+ then $a
140+ else inListToStr($a, $l[$i])
141+
142+ func 2 ($a,$i) = if (($i >= $s))
143+ then $a
144+ else throw("List size exceeds 5")
145+
146+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
147+ }
148+ let levelAchievmentsIdsStr = makeString(levelAchievmentsIds, ",")
149+ let prizesAmountStr = "0,0,0,0,0"
150+ let firstAddEntries = if (if ((size(i.payments) == 1))
151+ then (i.payments[0].assetId == swopId)
152+ else false)
153+ then {
154+ let newTotalBurned = i.payments[0].amount
155+ let res = {
156+ let $l = prizePrices
157+ let $s = size($l)
158+ let $acc0 = $Tuple2(newTotalBurned, nil)
159+ func 1 ($a,$i) = if (($i >= $s))
160+ then $a
161+ else calcPrizesAmounts($a, $l[$i])
162+
163+ func 2 ($a,$i) = if (($i >= $s))
164+ then $a
165+ else throw("List size exceeds 5")
166+
167+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
168+ }
169+ let newPrizesAmounts = res._2
170+ let newPrizesAmountsStr = {
171+ let $l = newPrizesAmounts
172+ let $s = size($l)
173+ let $acc0 = ""
174+ func 1 ($a,$i) = if (($i >= $s))
175+ then $a
176+ else inListToStr($a, $l[$i])
177+
178+ func 2 ($a,$i) = if (($i >= $s))
179+ then $a
180+ else throw("List size exceeds 5")
181+
182+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
183+ }
184+[IntegerEntry(keyTotalBurned, newTotalBurned), StringEntry(keyPrizesAmounts, newPrizesAmountsStr)]
185+ }
186+ else nil
187+ ([IntegerEntry(keyEndHeight, endHeight), StringEntry(keyPrizesPrices, prizePricesStr), StringEntry(keyPrizesAIds, prizeAchievmentsIdsStr), StringEntry(keyLevelPrices, levelPricesStr), StringEntry(keyLevelAchievemntsIds, levelAchievmentsIdsStr), StringEntry(keyPrizesAmounts, prizesAmountStr)] ++ firstAddEntries)
188+ }
189+
190+
191+
192+@Callable(i)
193+func add () = {
194+ let $t040794154 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
195+ let pmtAmount = $t040794154._1
196+ let pmtAssetId = $t040794154._2
197+ let endHeight = valueOrElse(getInteger(this, keyEndHeight), 0)
198+ if (!(isActive))
199+ then throw("DApp is inactive at this moment")
200+ else if (if ((height > endHeight))
201+ then true
202+ else (endHeight == 0))
203+ then throw("Swop burning are ended or not started yet")
204+ else if ((pmtAssetId != swopId))
205+ then throw("You can add only SWOP token")
206+ else {
207+ let newTotalBurned = (valueOrElse(getInteger(this, keyTotalBurned), 0) + pmtAmount)
208+ let userTotalBurned = valueOrElse(getInteger(this, (toString(i.caller) + keyUserTotalBurned)), 0)
209+ let prizesAmounts = {
210+ let $l = split(getStringValue(this, keyPrizesAmounts), ",")
211+ let $s = size($l)
212+ let $acc0 = nil
213+ func 1 ($a,$i) = if (($i >= $s))
214+ then $a
215+ else inListToInt($a, $l[$i])
216+
217+ func 2 ($a,$i) = if (($i >= $s))
218+ then $a
219+ else throw("List size exceeds 5")
220+
221+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
222+ }
223+ let prizesPrices = {
224+ let $l = split(getStringValue(this, keyPrizesPrices), ",")
225+ let $s = size($l)
226+ let $acc0 = nil
227+ func 1 ($a,$i) = if (($i >= $s))
228+ then $a
229+ else inListToInt($a, $l[$i])
230+
231+ func 2 ($a,$i) = if (($i >= $s))
232+ then $a
233+ else throw("List size exceeds 5")
234+
235+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
236+ }
237+ let prizesAchievementsIds = split(getStringValue(this, keyPrizesAIds), ",")
238+ let levelAchievementsIds = split(getStringValue(this, keyLevelAchievemntsIds), ",")
239+ let res = {
240+ let $l = prizesPrices
241+ let $s = size($l)
242+ let $acc0 = $Tuple2(newTotalBurned, nil)
243+ func 1 ($a,$i) = if (($i >= $s))
244+ then $a
245+ else calcPrizesAmounts($a, $l[$i])
246+
247+ func 2 ($a,$i) = if (($i >= $s))
248+ then $a
249+ else throw("List size exceeds 5")
250+
251+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
252+ }
253+ let newPrizesAmounts = res._2
254+ let newPrizesAmountsStr = {
255+ let $l = newPrizesAmounts
256+ let $s = size($l)
257+ let $acc0 = ""
258+ func 1 ($a,$i) = if (($i >= $s))
259+ then $a
260+ else inListToStr($a, $l[$i])
261+
262+ func 2 ($a,$i) = if (($i >= $s))
263+ then $a
264+ else throw("List size exceeds 5")
265+
266+ 2(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5)
267+ }
268+ let inv0 = if ((newPrizesAmounts[0] != prizesAmounts[0]))
269+ then {
270+ let achievementAmount = (newPrizesAmounts[0] - prizesAmounts[0])
271+ invoke(achievements, "add", [prizesAchievementsIds[0], achievementAmount], nil)
272+ }
273+ else 0
274+ if ((inv0 == inv0))
275+ then {
276+ let inv1 = if ((newPrizesAmounts[1] != prizesAmounts[1]))
277+ then {
278+ let achievementAmount = (newPrizesAmounts[1] - prizesAmounts[1])
279+ invoke(achievements, "add", [prizesAchievementsIds[1], achievementAmount], nil)
280+ }
281+ else 0
282+ if ((inv1 == inv1))
283+ then {
284+ let inv2 = if ((newPrizesAmounts[2] != prizesAmounts[2]))
285+ then {
286+ let achievementAmount = (newPrizesAmounts[2] - prizesAmounts[2])
287+ invoke(achievements, "add", [prizesAchievementsIds[2], achievementAmount], nil)
288+ }
289+ else 0
290+ if ((inv2 == inv2))
291+ then {
292+ let inv3 = if ((newPrizesAmounts[3] != prizesAmounts[3]))
293+ then {
294+ let achievementAmount = (newPrizesAmounts[3] - prizesAmounts[3])
295+ invoke(achievements, "add", [prizesAchievementsIds[3], achievementAmount], nil)
296+ }
297+ else 0
298+ if ((inv3 == inv3))
299+ then {
300+ let inv4 = if ((newPrizesAmounts[4] != prizesAmounts[4]))
301+ then {
302+ let achievementAmount = (newPrizesAmounts[4] - prizesAmounts[4])
303+ invoke(achievements, "add", [prizesAchievementsIds[4], achievementAmount], nil)
304+ }
305+ else 0
306+ if ((inv4 == inv4))
307+ then {
308+ let baseEntry = [IntegerEntry(keyTotalBurned, newTotalBurned), IntegerEntry((toString(i.caller) + keyUserTotalBurned), (userTotalBurned + pmtAmount)), StringEntry(keyPrizesAmounts, newPrizesAmountsStr)]
309+ let oldLevel = calcLevel(userTotalBurned)
310+ let newLevel = calcLevel(newTotalBurned)
311+ let levelDiff = (newLevel - oldLevel)
312+ if ((levelDiff > 0))
313+ then {
314+ let inv5 = if ((levelDiff == 1))
315+ then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 1)], 1], nil)
316+ else 0
317+ if ((inv5 == inv5))
318+ then {
319+ let inv6 = if ((levelDiff >= 2))
320+ then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 2)], 1], nil)
321+ else 0
322+ if ((inv6 == inv6))
323+ then {
324+ let inv7 = if ((levelDiff >= 3))
325+ then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 3)], 1], nil)
326+ else 0
327+ if ((inv7 == inv7))
328+ then {
329+ let inv8 = if ((levelDiff == 4))
330+ then invoke(achievements, "add", [levelAchievementsIds[(newLevel - 4)], 1], nil)
331+ else 0
332+ if ((inv8 == inv8))
333+ then baseEntry
334+ else throw("Strict value is not equal to itself.")
335+ }
336+ else throw("Strict value is not equal to itself.")
337+ }
338+ else throw("Strict value is not equal to itself.")
339+ }
340+ else throw("Strict value is not equal to itself.")
341+ }
342+ else baseEntry
343+ }
344+ else throw("Strict value is not equal to itself.")
345+ }
346+ else throw("Strict value is not equal to itself.")
347+ }
348+ else throw("Strict value is not equal to itself.")
349+ }
350+ else throw("Strict value is not equal to itself.")
351+ }
352+ else throw("Strict value is not equal to itself.")
353+ }
354+ }
355+
356+
357+
358+@Callable(i)
359+func hashingRandom (hash) = if (!(isActive))
360+ then throw("DApp is inactive at this moment")
361+ else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
362+ then throw("Only admin can call this function")
363+ else [StringEntry(keyVerifyHash, hash)]
364+
365+
366+
367+@Callable(i)
368+func finalize (vrfHeight,secretWord) = {
369+ let savedHash = getStringValue(this, keyVerifyHash)
370+ let calcHash = toBase58String(sha256((toBytes(vrfHeight) + toBytes(secretWord))))
371+ if (!(isActive))
372+ then throw("DApp is inactive at this moment")
373+ else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
374+ then throw("Only admin can call this function")
375+ else if ((calcHash != savedHash))
376+ then throw("vrf Height hash not matching")
377+ else {
378+ let burnAmount = getIntegerValue(this, keyTotalBurned)
379+[Burn(swopId, burnAmount), IntegerEntry(keyFinalizeHeight, height)]
380+ }
381+ }
382+
383+
384+
385+@Callable(i)
386+func shutdown () = if (!(isActive))
387+ then throw("DApp already inactive")
388+ else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
389+ then throw("Only admin can call this function")
390+ else [BooleanEntry(keyActive, false)]
391+
392+
393+
394+@Callable(i)
395+func activate () = if (isActive)
396+ then throw("DApp already active")
397+ else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3], i.callerPublicKey)))
398+ then throw("Only admin can call this function")
399+ else [BooleanEntry(keyActive, true)]
400+
401+
402+@Verifier(tx)
403+func verify () = {
404+ let multiSignedByAdmins = {
405+ let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
406+ then 1
407+ else 0
408+ let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
409+ then 1
410+ else 0
411+ let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
412+ then 1
413+ else 0
414+ (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
415+ }
416+ let signedByAdmin = if (if (if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
417+ then true
418+ else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey2))
419+ then true
420+ else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey3))
421+ then true
422+ else sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKeyStaking)
423+ match tx {
424+ case _ =>
425+ multiSignedByAdmins
426+ }
427+ }
428+

github/deemru/w8io/169f3d6 
42.92 ms