tx · 4jdaVsnFUKrCNtGdLQa86YTMNggtpz3fYWcGaE9tD6Qb

3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8:  -0.01700000 Waves

2022.09.14 16:58 [2228861] smart account 3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8 > SELF 0.00000000 Waves

{ "type": 13, "id": "4jdaVsnFUKrCNtGdLQa86YTMNggtpz3fYWcGaE9tD6Qb", "fee": 1700000, "feeAssetId": null, "timestamp": 1663163963705, "version": 2, "chainId": 84, "sender": "3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8", "senderPublicKey": "4ja2PX5eqM576zv9KGzu5Qe7M92Z3jbuSmkLPdGjK4ue", "proofs": [ "3tcjrg23vZN3wUbbNsQkfUAnFazenDytuhCTz8T95q8Ejnbu1W349h9WbDv8V8RMgEtyiK78mwXXC3JhZa9aZZCv", "5GLokVKtYuJMdRWcVPS8JeB6W5DSVr4m5yA8WLRBVrWktPAxAKFvpnqyuaEQmVkHeumFc3h6ykcKVkYGTGZg6gev" ], "script": "base64:AAIFAAAAAAAAABAIAhIICgYYGBERGAESABIAAAAAJgAAAAAHa0FjdGl2ZQIAAAAGYWN0aXZlAAAAAAZrQ2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA1rUG9vbEluT3JhY2xlAgAAAAVwb29sXwAAAAAOa1VzZXJTd29wSW5Hb3YCAAAADF9TV09QX2Ftb3VudAAAAAAKa0Rpc2NvdW50cwIAAAAJZGlzY291bnRzAAAAAA9rRGlzY291bnRWYWx1ZXMCAAAAD2Rpc2NvdW50X3ZhbHVlcwAAAAALa1JvdXRpbmdGZWUCAAAAC3JvdXRpbmdfZmVlAAAAAA1rQWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAANa0FkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAADWtBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAABBrTW9uZXlCb3hBZGRyZXNzAgAAABFtb25leV9ib3hfYWRkcmVzcwAAAAALa0dvdkFkZHJlc3MCAAAAEmdvdmVybmFuY2VfYWRkcmVzcwAAAAAEa0ZlZQIAAAAKY29tbWlzc2lvbgAAAAASa011bHR5QXNzZXRCYWxhbmNlAgAAAAhfYmFsYW5jZQAAAAAHZGlnaXRzOAAAAAAAAAAACAAAAAAGc2NhbGU4AAAAAAAF9eEAAAAAAAdzY2FsZTE2AAAjhvJvwQAAAAAAAAVhbHBoYQAAAAAAAAAAMgAAAAALYWxwaGFEaWdpdHMAAAAAAAAAAAIAAAAABGJldGEAABBXrPX3gAAAAAAABm9yYWNsZQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOlFqh6QLzqu8boO5i6akl8amITh82KzCAEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQkAASwAAAACBQAAAANrZXkCAAAACGlzIGVtcHR5AAAAAAxhZG1pblB1YktleTEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAANa0FkbWluUHViS2V5MQAAAAAMYWRtaW5QdWJLZXkyCQEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEFAAAADWtBZG1pblB1YktleTIAAAAADGFkbWluUHViS2V5MwkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA1rQWRtaW5QdWJLZXkzAAAAAA9tb25leUJveEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAABBrTW9uZXlCb3hBZGRyZXNzAAAAAApnb3ZBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAALa0dvdkFkZHJlc3MAAAAABmFjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAdrQWN0aXZlBgAAAAAKcm91dGluZ0ZlZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABm9yYWNsZQUAAAALa1JvdXRpbmdGZWUCAAAAFHJvdXRpbmdfZmVlIGlzIGVtcHR5AAAAAAlmZWVTY2FsZTYAAAAAAAAPQkABAAAACGlzQWN0aXZlAAAAAAMFAAAABmFjdGl2ZQUAAAAEdW5pdAkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AQAAAAtpc0FkbWluQ2FsbAAAAAEAAAABaQMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAEdW5pdAkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BAAAADXRocm93SXNBY3RpdmUAAAAACQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUBAAAAB3N1c3BlbmQAAAAB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aWFudE5ldwkBAAAADWludmFyaWFudENhbGMAAAACCQAAZAAAAAIFAAAADWRBcHAyVG9rZW5QYXkFAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlCQAAZQAAAAIFAAAADWRBcHAyVG9rZW5HZXQFAAAAE21pbkFtb3VudFRvUmVjZWl2ZTIDCQAAZwAAAAIFAAAADGludmFyaWFudE5ldwUAAAAJaW52YXJpYW50BQAAABNtaW5BbW91bnRUb1JlY2VpdmUyCQAAAgAAAAECAAAAJ0ZsYXQgY29udHJhY3Q6IGludmFyaWFudE5ldyA8IGludmFyaWFudAkAAAIAAAABAgAAABdJbmNvcnJlY3QgZXhjaGFuZ2UgdHlwZQkAAGcAAAACBQAAABRnZXRGcm9tMlRyYWRlV2l0aEZlZQUAAAASbWluQW1vdW50VG9SZWNlaXZlAAAAAwAAAAFpAQAAAAxyb3V0aW5nVHJhZGUAAAAGAAAACmV4Y2hhbmdlcnMAAAAOZXhjaGFuZ2Vyc1R5cGUAAAAFYXJnczEAAAAFYXJnczIAAAARcm91dGluZ0Fzc2V0c0tleXMAAAASbWluQW1vdW50VG9SZWNlaXZlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAIaXNBY3RpdmUAAAAABAAAAAskdDA3NDQxNzUxNQkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDc0NDE3NTE1AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwNzQ0MTc1MTUAAAACXzIDCQEAAAABIQAAAAEJAQAAABBjaGVja1Bvc3NpYmlsaXR5AAAACAgFAAAAAWkAAAAGY2FsbGVyBQAAAAlwbXRBbW91bnQFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAKZXhjaGFuZ2VycwUAAAAOZXhjaGFuZ2Vyc1R5cGUFAAAAEXJvdXRpbmdBc3NldHNLZXlzBQAAAAVhcmdzMQUAAAAFYXJnczIJAAACAAAAAQIAAAAmQ2hlY2sgdHJhbnNhY3Rpb24gcG9zc2li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", "height": 2228861, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3LvLfCUn7h9EuUrVkC8gW3BsmyBWXW3UtdF1q9t3gpXr Next: 3bA72QJ957HiRsPsFMeD2K51ZQpa4ohQJbu6nwZBEp5C Diff:
OldNewDifferences
224224 let aK = addressFromStringValue(aC)
225225 if ((ad[aE] == "cpmm"))
226226 then {
227- let aL = {
227+ let aj = {
228228 let ak = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
229- if ($isInstanceOf(ak, "(Int, Int)"))
229+ if ($isInstanceOf(ak, "(Int, ByteVector|Unit)"))
230230 then ak
231- else throw("Couldn't cast Any to (Int, Int)")
231+ else throw("Couldn't cast Any to (Int, ByteVector|Unit)")
232232 }
233- if ((aL == aL))
234- then {
235- let aM = aL._2
236- let aN = aL._1
237- $Tuple3((aE + 1), aN, aM)
238- }
233+ if ((aj == aj))
234+ then $Tuple3((aE + 1), aj._1, aj._2)
239235 else throw("Strict value is not equal to itself.")
240236 }
241237 else if ((ad[aE] == "flat"))
267263 else aB
268264 }
269265
270- let aO = {
271- let aP = ac
272- let aQ = size(aP)
273- let aR = $Tuple3(0, 0, base58'')
274- func aS (aT,aU) = if ((aU >= aQ))
275- then aT
276- else aA(aT, aP[aU])
266+ let aL = {
267+ let aM = ac
268+ let aN = size(aM)
269+ let aO = $Tuple3(0, 0, base58'')
270+ func aP (aQ,aR) = if ((aR >= aN))
271+ then aQ
272+ else aA(aQ, aM[aR])
277273
278- func aV (aT,aU) = if ((aU >= aQ))
279- then aT
274+ func aS (aQ,aR) = if ((aR >= aN))
275+ then aQ
280276 else throw("List size exceeds 3")
281277
282- aV(aS(aS(aS(aR, 0), 1), 2), 3)
278+ aS(aP(aP(aP(aO, 0), 1), 2), 3)
283279 }
284- let aE = aO._1
285- let aW = aO._2
286- let aX = aO._3
287- let aY = fraction(aW, (H - G), H)
280+ let aE = aL._1
281+ let aT = aL._2
282+ let aU = aL._3
283+ let aV = fraction(aT, (H - G), H)
288284 if (if ((aE == az))
289- then (aY >= ab)
285+ then (aV >= ab)
290286 else false)
291- then [ScriptTransfer(K.caller, aY, aX), ScriptTransfer(D, (aW - aY), aX)]
287+ then [ScriptTransfer(K.caller, aV, aU), ScriptTransfer(D, (aT - aV), aU)]
292288 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
293289 }
294290 })
308304 else [BooleanEntry(a, true), DeleteEntry(b)])
309305
310306
311-@Verifier(aZ)
312-func ba () = {
313- let bb = {
314- let bc = if (sigVerify(aZ.bodyBytes, aZ.proofs[0], A))
307+@Verifier(aW)
308+func aX () = {
309+ let aY = {
310+ let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], A))
315311 then 1
316312 else 0
317- let bd = if (sigVerify(aZ.bodyBytes, aZ.proofs[1], B))
313+ let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], B))
318314 then 1
319315 else 0
320- let be = if (sigVerify(aZ.bodyBytes, aZ.proofs[2], C))
316+ let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], C))
321317 then 1
322318 else 0
323- (((bc + bd) + be) >= 2)
319+ (((aZ + ba) + bb) >= 2)
324320 }
325- let x = aZ
326- bb
321+ let x = aW
322+ aY
327323 }
328324
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "shutdown_cause"
77
88 let c = "pool_"
99
1010 let d = "_SWOP_amount"
1111
1212 let e = "discounts"
1313
1414 let f = "discount_values"
1515
1616 let g = "routing_fee"
1717
1818 let h = "admin_pub_1"
1919
2020 let i = "admin_pub_2"
2121
2222 let j = "admin_pub_3"
2323
2424 let k = "money_box_address"
2525
2626 let l = "governance_address"
2727
2828 let m = "commission"
2929
3030 let n = "_balance"
3131
3232 let o = 8
3333
3434 let p = 100000000
3535
3636 let q = 10000000000000000
3737
3838 let r = 50
3939
4040 let s = 2
4141
4242 let t = 4600000000000000
4343
4444 let u = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
4545
4646 func v (w) = {
4747 let x = getString(u, w)
4848 if ($isInstanceOf(x, "String"))
4949 then {
5050 let y = x
5151 fromBase58String(y)
5252 }
5353 else {
5454 let z = x
5555 throw((w + "is empty"))
5656 }
5757 }
5858
5959
6060 let A = v(h)
6161
6262 let B = v(i)
6363
6464 let C = v(j)
6565
6666 let D = Address(v(k))
6767
6868 let E = Address(v(l))
6969
7070 let F = valueOrElse(getBoolean(this, a), true)
7171
7272 let G = valueOrErrorMessage(getInteger(u, g), "routing_fee is empty")
7373
7474 let H = 1000000
7575
7676 func I () = if (F)
7777 then unit
7878 else throw("DApp is inactive at this moment")
7979
8080
8181 func J (K) = if (containsElement([A, B, C], K.callerPublicKey))
8282 then unit
8383 else throw("Only admin can call this function")
8484
8585
8686 func L () = throw("DApp is already active")
8787
8888
8989 func M (N) = [BooleanEntry(a, false), StringEntry(b, N)]
9090
9191
9292 func O (P,Q) = ((fraction(q, P, Q) + fraction(q, Q, P)) / 2)
9393
9494
9595 func R (P,Q) = {
9696 let S = O(P, Q)
9797 (fraction((P + Q), q, pow(S, o, r, s, o, CEILING)) + (2 * fraction(toInt(pow(fraction(toBigInt(P), toBigInt(Q), toBigInt(p)), 0, toBigInt(5), 1, (o / 2), DOWN)), pow((S - t), o, r, s, o, DOWN), p)))
9898 }
9999
100100
101101 func T (U) = {
102102 let V = valueOrElse(getInteger(E, (toString(U) + d)), 0)
103103 let W = split(getStringValue(u, f), ",")
104104 let X = split(getStringValue(u, e), ",")
105105 if (if ((V >= parseIntValue(W[0])))
106106 then (parseIntValue(W[1]) > V)
107107 else false)
108108 then (H - parseIntValue(X[0]))
109109 else if (if ((V >= parseIntValue(W[1])))
110110 then (parseIntValue(W[2]) > V)
111111 else false)
112112 then (H - parseIntValue(X[1]))
113113 else if (if ((V >= parseIntValue(W[2])))
114114 then (parseIntValue(W[3]) > V)
115115 else false)
116116 then (H - parseIntValue(X[2]))
117117 else if (if ((V >= parseIntValue(W[3])))
118118 then (parseIntValue(W[4]) > V)
119119 else false)
120120 then (H - parseIntValue(X[3]))
121121 else if ((V >= parseIntValue(W[4])))
122122 then (H - parseIntValue(X[4]))
123123 else H
124124 }
125125
126126
127127 func Y (Z,aa,ab,ac,ad,ae,af,ag) = {
128128 let ah = T(Z)
129129 let ai = if ((ad[0] == "curveMultyFlat"))
130130 then {
131131 let aj = {
132132 let ak = invoke(addressFromStringValue(ac[0]), "getDy", [ae[0], ae[1], aa, toString(Z)], nil)
133133 if ($isInstanceOf(ak, "(Int, Int)"))
134134 then ak
135135 else throw("Couldn't cast Any to (Int, Int)")
136136 }
137137 if ((aj == aj))
138138 then aj._1
139139 else throw("Strict value is not equal to itself.")
140140 }
141141 else {
142142 let al = getIntegerValue(addressFromStringValue(ac[0]), ae[0])
143143 let am = getIntegerValue(addressFromStringValue(ac[0]), ae[1])
144144 if ((ad[0] == "cpmm"))
145145 then {
146146 let an = getIntegerValue(addressFromStringValue(ac[0]), m)
147147 let ao = fraction(am, aa, (aa + al))
148148 fraction(ao, (H - fraction(an, ah, H)), H)
149149 }
150150 else if ((ad[0] == "flat"))
151151 then {
152152 let ap = R(al, am)
153153 let aq = ag[0]
154154 let ar = R((al + aa), (am - aq))
155155 if ((ar >= ap))
156156 then aq
157157 else throw("Flat contract: invariantNew < invariant")
158158 }
159159 else throw("Incorrect exchange type")
160160 }
161161 let as = if ((ad[1] == "curveMultyFlat"))
162162 then {
163163 let aj = {
164164 let ak = invoke(addressFromStringValue(ac[1]), "getDy", [ae[2], ae[3], ai, toString(Z)], nil)
165165 if ($isInstanceOf(ak, "(Int, Int)"))
166166 then ak
167167 else throw("Couldn't cast Any to (Int, Int)")
168168 }
169169 if ((aj == aj))
170170 then aj._1
171171 else throw("Strict value is not equal to itself.")
172172 }
173173 else {
174174 let at = getIntegerValue(addressFromStringValue(ac[1]), ae[2])
175175 let au = getIntegerValue(addressFromStringValue(ac[1]), ae[3])
176176 if ((ad[1] == "cpmm"))
177177 then {
178178 let av = fraction(au, ai, (ai + at))
179179 let an = getIntegerValue(addressFromStringValue(ac[1]), m)
180180 fraction(av, (H - fraction(an, ah, H)), H)
181181 }
182182 else if ((ad[1] == "flat"))
183183 then {
184184 let ap = R(at, au)
185185 let aw = ag[1]
186186 let ar = R((at + ai), (au - aw))
187187 if ((ar >= ap))
188188 then aw
189189 else throw("Flat contract: invariantNew < invariant")
190190 }
191191 else throw("Incorrect exchange type")
192192 }
193193 (as >= ab)
194194 }
195195
196196
197197 @Callable(K)
198198 func routingTrade (ac,ad,af,ag,ae,ab) = valueOrElse(I(), {
199199 let ax = $Tuple2(K.payments[0].amount, K.payments[0].assetId)
200200 let aa = ax._1
201201 let ay = ax._2
202202 if (!(Y(K.caller, aa, ab, ac, ad, ae, af, ag)))
203203 then throw("Check transaction possibilty: declined")
204204 else if (if (!(isDefined(getString(u, (c + ac[0])))))
205205 then true
206206 else !(isDefined(getString(u, (c + ac[1])))))
207207 then throw("Pool is not in oracle")
208208 else {
209209 let az = size(ac)
210210 func aA (aB,aC) = {
211211 let aD = aB
212212 let aE = aD._1
213213 let aF = aD._2
214214 let aG = aD._3
215215 let aH = if ((aE == 0))
216216 then $Tuple2(ay, aa)
217217 else $Tuple2(aG, aF)
218218 let aI = aH._1
219219 let aJ = aH._2
220220 if (((if ((aE >= 0))
221221 then (az > aE)
222222 else false) == true))
223223 then {
224224 let aK = addressFromStringValue(aC)
225225 if ((ad[aE] == "cpmm"))
226226 then {
227- let aL = {
227+ let aj = {
228228 let ak = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
229- if ($isInstanceOf(ak, "(Int, Int)"))
229+ if ($isInstanceOf(ak, "(Int, ByteVector|Unit)"))
230230 then ak
231- else throw("Couldn't cast Any to (Int, Int)")
231+ else throw("Couldn't cast Any to (Int, ByteVector|Unit)")
232232 }
233- if ((aL == aL))
234- then {
235- let aM = aL._2
236- let aN = aL._1
237- $Tuple3((aE + 1), aN, aM)
238- }
233+ if ((aj == aj))
234+ then $Tuple3((aE + 1), aj._1, aj._2)
239235 else throw("Strict value is not equal to itself.")
240236 }
241237 else if ((ad[aE] == "flat"))
242238 then {
243239 let aj = {
244240 let ak = invoke(aK, "exchange", [af[aE], ag[aE]], [AttachedPayment(aI, aJ)])
245241 if ($isInstanceOf(ak, "List[Any]"))
246242 then ak
247243 else throw("Couldn't cast Any to List[Any]")
248244 }
249245 if ((aj == aj))
250246 then $Tuple3((aE + 1), aj[0], aj[1])
251247 else throw("Strict value is not equal to itself.")
252248 }
253249 else if ((ad[aE] == "curveMultyFlat"))
254250 then {
255251 let aj = {
256252 let ak = invoke(aK, "exchange", [ae[((aE * 2) + 1)], ag[aE]], [AttachedPayment(aI, aJ)])
257253 if ($isInstanceOf(ak, "List[Any]"))
258254 then ak
259255 else throw("Couldn't cast Any to List[Any]")
260256 }
261257 if ((aj == aj))
262258 then $Tuple3((aE + 1), aj[0], aj[1])
263259 else throw("Strict value is not equal to itself.")
264260 }
265261 else throw("Incorrect exchange type")
266262 }
267263 else aB
268264 }
269265
270- let aO = {
271- let aP = ac
272- let aQ = size(aP)
273- let aR = $Tuple3(0, 0, base58'')
274- func aS (aT,aU) = if ((aU >= aQ))
275- then aT
276- else aA(aT, aP[aU])
266+ let aL = {
267+ let aM = ac
268+ let aN = size(aM)
269+ let aO = $Tuple3(0, 0, base58'')
270+ func aP (aQ,aR) = if ((aR >= aN))
271+ then aQ
272+ else aA(aQ, aM[aR])
277273
278- func aV (aT,aU) = if ((aU >= aQ))
279- then aT
274+ func aS (aQ,aR) = if ((aR >= aN))
275+ then aQ
280276 else throw("List size exceeds 3")
281277
282- aV(aS(aS(aS(aR, 0), 1), 2), 3)
278+ aS(aP(aP(aP(aO, 0), 1), 2), 3)
283279 }
284- let aE = aO._1
285- let aW = aO._2
286- let aX = aO._3
287- let aY = fraction(aW, (H - G), H)
280+ let aE = aL._1
281+ let aT = aL._2
282+ let aU = aL._3
283+ let aV = fraction(aT, (H - G), H)
288284 if (if ((aE == az))
289- then (aY >= ab)
285+ then (aV >= ab)
290286 else false)
291- then [ScriptTransfer(K.caller, aY, aX), ScriptTransfer(D, (aW - aY), aX)]
287+ then [ScriptTransfer(K.caller, aV, aU), ScriptTransfer(D, (aT - aV), aU)]
292288 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
293289 }
294290 })
295291
296292
297293
298294 @Callable(K)
299295 func shutdown () = valueOrElse(J(K), if (!(F))
300296 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
301297 else M("Paused by admin"))
302298
303299
304300
305301 @Callable(K)
306302 func activate () = valueOrElse(J(K), if (F)
307303 then L()
308304 else [BooleanEntry(a, true), DeleteEntry(b)])
309305
310306
311-@Verifier(aZ)
312-func ba () = {
313- let bb = {
314- let bc = if (sigVerify(aZ.bodyBytes, aZ.proofs[0], A))
307+@Verifier(aW)
308+func aX () = {
309+ let aY = {
310+ let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], A))
315311 then 1
316312 else 0
317- let bd = if (sigVerify(aZ.bodyBytes, aZ.proofs[1], B))
313+ let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], B))
318314 then 1
319315 else 0
320- let be = if (sigVerify(aZ.bodyBytes, aZ.proofs[2], C))
316+ let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], C))
321317 then 1
322318 else 0
323- (((bc + bd) + be) >= 2)
319+ (((aZ + ba) + bb) >= 2)
324320 }
325- let x = aZ
326- bb
321+ let x = aW
322+ aY
327323 }
328324

github/deemru/w8io/169f3d6 
72.73 ms