tx · EQz5S3wdxrnZDf4FkTRubUiMe3eYwix5hBBpxwz7SvWM

3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9:  -0.01100000 Waves

2023.10.06 14:19 [2786691] smart account 3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9 > SELF 0.00000000 Waves

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

github/deemru/w8io/169f3d6 
64.78 ms