tx · EmgAvuhRknuiKRvjrYgSmCVBFbk8Uju4iHUtrqH1EKUL

3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9:  -0.01100000 Waves

2023.10.06 11:58 [2786552] smart account 3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9 > SELF 0.00000000 Waves

{ "type": 13, "id": "EmgAvuhRknuiKRvjrYgSmCVBFbk8Uju4iHUtrqH1EKUL", "fee": 1100000, "feeAssetId": null, "timestamp": 1696582629704, "version": 2, "chainId": 84, "sender": "3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9", "senderPublicKey": "4AVkL2DQJ8sngCNyArYueNuPS7cvygnakPJhU65LfPfu", "proofs": [ "36bT7bsMEuHDgsPEgcns4JzFqwz9sEsBpP7GyK26kBs58QzkMyaR4MCXc319FM52uSZcAH8fBzDcztCiaiFXBrWV", "5tQFWNmQEk4pkpqakyWHqWcw1reXfGKzosRxM8gTPZNabegsoTQVKHAUtq5xL9XM4ftExKmxorPpQYBcHxzEz4m9" ], "script": "base64:BgIOCAISAwoBGBIDCgEYEgAcAA5BWExZX01BSU5fQUREUgkBB0FkZHJlc3MBARoBVEdh0UpNzn/72+6l9L3Wwi2aSOpC0rlhmwAMQVhMWV9GQVJNSU5HCQEHQWRkcmVzcwEBGgFUiFrCGKZVQmFa0TmuSd5FGDc6uNWQtIjpAA5BWExZX1RPS0VOT01JQwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDEFYTFlfRkFSTUlORwIRdG9rZW5vbWljQ29udHJhY3QCGENhbid0IGdldCB0b2tlbm9taWMgYWRkcgANQVhMWV9URUFNX0JPWAkBB0FkZHJlc3MBARoBVOklXEf1z5bkgzXbUQsFjOvwGd12KKCp+gAMQVhMWV9TVEFLSU5HCQEHQWRkcmVzcwEBGgFUoahv7LNLfrTJXgHTjP0PfUhduUwxjCRLAAdTRl9QT09MAgJTRgAHV1hfUE9PTAICV1gAFEFNT1VOVF9XQVZFU19GT1JfRkVFAIDC1y8AD1BFUkNFTlRfVE9fVEVBTQAyAAlrQXhseVBvb2wCCGF4bHlQb29sAAxrQVhMWVRva2VuSWQCC2F4bHlUb2tlbklkAAprU2hhcmVQb29sAgxfcG9vbFNoYXJlSWQABWtQb29sAgVwb29sXwAJa0FkbWluMVBLAhVncm91cDFfYWRtaW4xX3B1Yl9rZXkACWtBZG1pbjJQSwIVZ3JvdXAxX2FkbWluMl9wdWJfa2V5AAlrQWRtaW4zUEsCFWdyb3VwMV9hZG1pbjNfcHViX2tleQAPa09wZXJhdG9yQ2FsbFBLAhJhZG1pbl9jYWxsX3B1Yl9rZXkACGFkbWluMVBLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluMVBLAhJDYW4ndCBnZXQgYWRtaW4xUEsACGFkbWluMlBLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluMlBLAhJDYW4ndCBnZXQgYWRtaW4yUEsACGFkbWluM1BLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluM1BLAhJDYW4ndCBnZXQgYWRtaW4zUEsACm9wZXJhdG9yUEsJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfTUFJTl9BRERSBQ9rT3BlcmF0b3JDYWxsUEsCFENhbid0IGdldCBvcGVyYXRvclBLAAZheGx5SWQJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfVE9LRU5PTUlDBQxrQVhMWVRva2VuSWQCF0Nhbid0IGdldCBheGx5IHRva2VuIGlkAAhheGx5UG9vbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQxBWExZX0ZBUk1JTkcFCWtBeGx5UG9vbAIWQ2FuJ3QgZ2V0IGF4bHlQb29sIGtleQITQ2FuJ3QgZ2V0IGF4bHkgcG9vbAEPdW5rbm93blBvb2xUeXBlAAkAAgECD1dyb25nIHBvb2wgdHlwZQEKaXNTZWxmQ2FsbAEBaQMJAAACCAUBaQZjYWxsZXIFBHRoaXMFBHVuaXQJAAIBAitPbmx5IGNvbnRyYWN0IGl0c2VsZiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAQlsaXN0VG9JbnQCAWEEaXRlbQkAzQgCBQFhCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0BEGRpcmVjdFN3b3BmaUNQTU0BBXJBcmdzBARkQXBwCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFBXJBcmdzAAEEA3BtdAQEcG10UAkAtQkCCQCRAwIFBXJBcmdzAAICAXwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQkAkQMCBQRwbXRQAAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRwbXRQAAEFA25pbAQLbWluVG9SZWNpdmUJAJEDAgUFckFyZ3MAAwkA/AcEBQRkQXBwAgxjYWxsRnVuY3Rpb24JAMwIAgIIZXhjaGFuZ2UJAMwIAgkAzAgCBQttaW5Ub1JlY2l2ZQUDbmlsBQNuaWwFA3BtdAETZGlyZWN0Um91dGluZ1N3b3BmaQEFckFyZ3MEBGRBcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUFckFyZ3MAAQQDcG10BARwbXRQ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cmRyb3AEA2ludgkA/AcEBQhheGx5UG9vbAIMY2FsbEZ1bmN0aW9uCQDMCAICCGV4Y2hhbmdlCQDMCAIJAMwIAgIBMAUDbmlsBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFCXRvU3Rha2luZwUDbmlsAwkAAAIFA2ludgUDaW52BAtheGx5QmFsYW5jZQkA8AcCBQR0aGlzBQZheGx5SWQDCQAAAgULYXhseUJhbGFuY2UFC2F4bHlCYWxhbmNlBARpbnZBCQD8BwQFDEFYTFlfU1RBS0lORwIHYWlyZHJvcAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZheGx5SWQFC2F4bHlCYWxhbmNlBQNuaWwDCQAAAgUEaW52QQUEaW52QQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ1BWExZX1RFQU1fQk9YBQZ0b1RlYW0FBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAEByRtYXRjaDAFAnR4AwkAAQIFByRtYXRjaDACF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBANpbnYFByRtYXRjaDAECmlzUmlnaHRGZWUDCQAAAggFA2ludgNmZWUAoPc2CQAAAggFA2ludgpmZWVBc3NldElkBQR1bml0BwQKaXNFeExwQ2FsbAkAAAIIBQNpbnYIZnVuY3Rpb24CC2V4Y2hhbmdlTHBzBA5pc0V4VG9rZW5zQ2FsbAkAAAIIBQNpbnYIZnVuY3Rpb24CDmV4Y2hhbmdlVG9rZW5zBBBpc0FpcmRyb3BTdGFraW5nCQAAAggFA2ludghmdW5jdGlvbgIOYWlyZHJvcFN0YWtpbmcEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCGFkbWluMVBLAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUIYWRtaW4yUEsAAQAABBJhZG1pblB1YktleTNTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQhhZG1pbjNQSwABAAAEFWFkbWluUHViS2V5Q2FsbFNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCm9wZXJhdG9yUEsAAQAABBBzaWduZWRCeU9uZUFkbWluCQBnAgkAZAIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAUVYWRtaW5QdWJLZXlDYWxsU2lnbmVkAAEDAwUKaXNSaWdodEZlZQMDBQppc0V4THBDYWxsBgUOaXNFeFRva2Vuc0NhbGwGBRBpc0FpcmRyb3BTdGFraW5nBwUQc2lnbmVkQnlPbmVBZG1pbgcEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCGFkbWluMVBLAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUIYWRtaW4yUEsAAQAABBJhZG1pblB1YktleTNTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQhhZG1pbjNQSwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAAlr2jUE=", "height": 2786552, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AEWQDPGy8gZPtmCjHCTbEmw7MYrNENUFpeUekH5LXinY Next: 8gFnpGLG8kyBB79WmacHiX6EWmBBh3aAFHFvVCrShpLB Diff:
OldNewDifferences
199199
200200
201201 @Callable(i)
202-func airdropStaking (routes) = valueOrElse(isSelfCall(i), {
202+func airdropStaking () = valueOrElse(isSelfCall(i), {
203203 let wBalance = wavesBalance(this).available
204204 let bAirdrop = (wBalance - AMOUNT_WAVES_FOR_FEE)
205205 let toTeam = fraction(bAirdrop, PERCENT_TO_TEAM, 100)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let AXLY_MAIN_ADDR = Address(base58'3MvRWw2FPEimFCTGtK7qY9uAJbM7XJ4ZfJS')
55
66 let AXLY_FARMING = Address(base58'3N2M4PztorHwrfENp7D6LhYGgGodjiD1fjn')
77
88 let AXLY_TOKENOMIC = addressFromStringValue(valueOrErrorMessage(getString(AXLY_FARMING, "tokenomicContract"), "Can't get tokenomic addr"))
99
1010 let AXLY_TEAM_BOX = Address(base58'3NBAqyU7HpCjXtX7ymiEGiUkrw7qe9bSdxm')
1111
1212 let AXLY_STAKING = Address(base58'3N4erM2YbPHzpzNT31KQbgHxQoRdiJdFFTY')
1313
1414 let SF_POOL = "SF"
1515
1616 let WX_POOL = "WX"
1717
1818 let AMOUNT_WAVES_FOR_FEE = 100000000
1919
2020 let PERCENT_TO_TEAM = 50
2121
2222 let kAxlyPool = "axlyPool"
2323
2424 let kAXLYTokenId = "axlyTokenId"
2525
2626 let kSharePool = "_poolShareId"
2727
2828 let kPool = "pool_"
2929
3030 let kAdmin1PK = "group1_admin1_pub_key"
3131
3232 let kAdmin2PK = "group1_admin2_pub_key"
3333
3434 let kAdmin3PK = "group1_admin3_pub_key"
3535
3636 let kOperatorCallPK = "admin_call_pub_key"
3737
3838 let admin1PK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kAdmin1PK), "Can't get admin1PK"))
3939
4040 let admin2PK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kAdmin2PK), "Can't get admin2PK"))
4141
4242 let admin3PK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kAdmin3PK), "Can't get admin3PK"))
4343
4444 let operatorPK = fromBase58String(valueOrErrorMessage(getString(AXLY_MAIN_ADDR, kOperatorCallPK), "Can't get operatorPK"))
4545
4646 let axlyId = fromBase58String(valueOrErrorMessage(getString(AXLY_TOKENOMIC, kAXLYTokenId), "Can't get axly token id"))
4747
4848 let axlyPool = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(AXLY_FARMING, kAxlyPool), "Can't get axlyPool key")), "Can't get axly pool")
4949
5050 func unknownPoolType () = throw("Wrong pool type")
5151
5252
5353 func isSelfCall (i) = if ((i.caller == this))
5454 then unit
5555 else throw("Only contract itself can call this function")
5656
5757
5858 func listToInt (a,item) = (a :+ parseIntValue(item))
5959
6060
6161 func directSwopfiCPMM (rArgs) = {
6262 let dApp = addressFromStringValue(rArgs[1])
6363 let pmt = {
6464 let pmtP = split(rArgs[2], "|")
6565 [AttachedPayment(fromBase58String(pmtP[0]), parseIntValue(pmtP[1]))]
6666 }
6767 let minToRecive = rArgs[3]
6868 invoke(dApp, "callFunction", ["exchange", [minToRecive]], pmt)
6969 }
7070
7171
7272 func directRoutingSwopfi (rArgs) = {
7373 let dApp = addressFromStringValue(rArgs[1])
7474 let pmt = {
7575 let pmtP = split(rArgs[2], "|")
7676 [AttachedPayment(fromBase58String(pmtP[0]), parseIntValue(pmtP[1]))]
7777 }
7878 let args = {
7979 let eArgs = split(rArgs[3], "|")
8080 let exchangers = split(eArgs[0], ",")
8181 let exchangersType = split(eArgs[1], ",")
8282 let args1 = {
8383 let $l = split(eArgs[2], ",")
8484 let $s = size($l)
8585 let $acc0 = nil
8686 func $f0_1 ($a,$i) = if (($i >= $s))
8787 then $a
8888 else listToInt($a, $l[$i])
8989
9090 func $f0_2 ($a,$i) = if (($i >= $s))
9191 then $a
9292 else throw("List size exceeds 3")
9393
9494 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
9595 }
9696 let args2 = {
9797 let $l = split(eArgs[3], ",")
9898 let $s = size($l)
9999 let $acc0 = nil
100100 func $f1_1 ($a,$i) = if (($i >= $s))
101101 then $a
102102 else listToInt($a, $l[$i])
103103
104104 func $f1_2 ($a,$i) = if (($i >= $s))
105105 then $a
106106 else throw("List size exceeds 3")
107107
108108 $f1_2($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3)
109109 }
110110 let routingAssetsKeys = split(eArgs[4], ",")
111111 let minToRecive = parseIntValue(eArgs[5])
112112 [exchangers, exchangersType, args1, args2, routingAssetsKeys, minToRecive]
113113 }
114114 invoke(dApp, "routingTrade", args, pmt)
115115 }
116116
117117
118118 @Callable(i)
119119 func exchangeLps (lps) = valueOrElse(isSelfCall(i), {
120120 func exLP (a,lp) = {
121121 let lpB = fromBase58String(lp)
122122 let balance = assetBalance(this, lpB)
123123 let pool = valueOrErrorMessage(getString(AXLY_MAIN_ADDR, (lp + kSharePool)), ("Can't get pool of lp:" + lp))
124124 let pType = valueOrErrorMessage(getString(AXLY_MAIN_ADDR, (kPool + pool)), "Pool is not inited")
125125 let poolAddr = valueOrErrorMessage(addressFromString(pool), "unknown addr")
126126 if ((balance > 0))
127127 then {
128128 let inv = if ((pType == SF_POOL))
129129 then invoke(poolAddr, "callFunction", ["withdraw", ["0"]], [AttachedPayment(lpB, balance)])
130130 else if ((pType == WX_POOL))
131131 then invoke(poolAddr, "get", nil, [AttachedPayment(lpB, balance)])
132132 else unknownPoolType()
133133 if ((inv == inv))
134134 then (a :+ true)
135135 else throw("Strict value is not equal to itself.")
136136 }
137137 else (a :+ false)
138138 }
139139
140140 let res = {
141141 let $l = lps
142142 let $s = size($l)
143143 let $acc0 = nil
144144 func $f0_1 ($a,$i) = if (($i >= $s))
145145 then $a
146146 else exLP($a, $l[$i])
147147
148148 func $f0_2 ($a,$i) = if (($i >= $s))
149149 then $a
150150 else throw("List size exceeds 50")
151151
152152 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
153153 }
154154 $Tuple2(nil, res)
155155 })
156156
157157
158158
159159 @Callable(i)
160160 func exchangeTokens (routes) = valueOrElse(isSelfCall(i), {
161161 func exchangeToken (r,route) = {
162162 let rArgs = split(route, "__")
163163 if ((rArgs[0] == "directSwopfiCPMM"))
164164 then {
165165 let inv = directSwopfiCPMM(rArgs)
166166 if ((inv == inv))
167167 then (r :+ inv)
168168 else throw("Strict value is not equal to itself.")
169169 }
170170 else if ((rArgs[0] == "routingSwopfi"))
171171 then {
172172 let inv = directRoutingSwopfi(rArgs)
173173 if ((inv == inv))
174174 then (r :+ inv)
175175 else throw("Strict value is not equal to itself.")
176176 }
177177 else throw("Unknown route type")
178178 }
179179
180180 let res = {
181181 let $l = routes
182182 let $s = size($l)
183183 let $acc0 = nil
184184 func $f0_1 ($a,$i) = if (($i >= $s))
185185 then $a
186186 else exchangeToken($a, $l[$i])
187187
188188 func $f0_2 ($a,$i) = if (($i >= $s))
189189 then $a
190190 else throw("List size exceeds 30")
191191
192192 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
193193 }
194194 if ((res == res))
195195 then nil
196196 else throw("Strict value is not equal to itself.")
197197 })
198198
199199
200200
201201 @Callable(i)
202-func airdropStaking (routes) = valueOrElse(isSelfCall(i), {
202+func airdropStaking () = valueOrElse(isSelfCall(i), {
203203 let wBalance = wavesBalance(this).available
204204 let bAirdrop = (wBalance - AMOUNT_WAVES_FOR_FEE)
205205 let toTeam = fraction(bAirdrop, PERCENT_TO_TEAM, 100)
206206 let toStaking = (bAirdrop - toTeam)
207207 if ((0 >= bAirdrop))
208208 then throw("No tokens to airdrop")
209209 else if ((0 >= toStaking))
210210 then throw("No tokens to airdrop")
211211 else {
212212 let inv = invoke(axlyPool, "callFunction", ["exchange", ["0"]], [AttachedPayment(unit, toStaking)])
213213 if ((inv == inv))
214214 then {
215215 let axlyBalance = assetBalance(this, axlyId)
216216 if ((axlyBalance == axlyBalance))
217217 then {
218218 let invA = invoke(AXLY_STAKING, "airdrop", nil, [AttachedPayment(axlyId, axlyBalance)])
219219 if ((invA == invA))
220220 then [ScriptTransfer(AXLY_TEAM_BOX, toTeam, unit)]
221221 else throw("Strict value is not equal to itself.")
222222 }
223223 else throw("Strict value is not equal to itself.")
224224 }
225225 else throw("Strict value is not equal to itself.")
226226 }
227227 })
228228
229229
230230 @Verifier(tx)
231231 func verify () = match tx {
232232 case inv: InvokeScriptTransaction =>
233233 let isRightFee = if ((inv.fee == 900000))
234234 then (inv.feeAssetId == unit)
235235 else false
236236 let isExLpCall = (inv.function == "exchangeLps")
237237 let isExTokensCall = (inv.function == "exchangeTokens")
238238 let isAirdropStaking = (inv.function == "airdropStaking")
239239 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], admin1PK))
240240 then 1
241241 else 0
242242 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], admin2PK))
243243 then 1
244244 else 0
245245 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], admin3PK))
246246 then 1
247247 else 0
248248 let adminPubKeyCallSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], operatorPK))
249249 then 1
250250 else 0
251251 let signedByOneAdmin = ((((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) + adminPubKeyCallSigned) >= 1)
252252 if (if (isRightFee)
253253 then if (if (isExLpCall)
254254 then true
255255 else isExTokensCall)
256256 then true
257257 else isAirdropStaking
258258 else false)
259259 then signedByOneAdmin
260260 else false
261261 case _ =>
262262 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], admin1PK))
263263 then 1
264264 else 0
265265 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], admin2PK))
266266 then 1
267267 else 0
268268 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], admin3PK))
269269 then 1
270270 else 0
271271 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
272272 }
273273

github/deemru/w8io/026f985 
38.95 ms