tx · BK6wg9BaXb2zvenjjL4qU9HW2ErRNoBNMa8LDwBfxuwn

3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt:  -0.03500000 Waves

2022.06.07 00:17 [2085020] smart account 3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt > SELF 0.00000000 Waves

{ "type": 13, "id": "BK6wg9BaXb2zvenjjL4qU9HW2ErRNoBNMa8LDwBfxuwn", "fee": 3500000, "feeAssetId": null, "timestamp": 1654550280757, "version": 1, "sender": "3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt", "senderPublicKey": "8RPibCyjGbPr7troJPW7WTXkrbynj8HwkrckopSZoYVn", "proofs": [ "CPcz374GAGUE7cDSvC1MgTPEzUapJe5SEWDD3bzaWZQWKmPvZ5Hj7k7qrijBxNWcfMcReqPzB6AoYzVHzgT1bJf" ], "script": "base64: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A3BjcBoQCgJibhIKYW1Bc3NldERjbRoQCgJibxIKcHJBc3NldERjbRoLCgJicBIFYW1BbXQaCwoCYnESBXByQW10GhEKAmJyEgthbXRBc0FtdFgxOBoQCgJicxIKcHJBc0FtdFgxOBoQCgJidBIKY2FsY1ByaWNlcxoLCgJidRIFbHBBbXQaCQoCYnYSA2NmZxoOCgJidxIIYW10QXNEY20aDQoCYngSB3ByQXNEY20aDgoCYnkSCHByaWNlWDE4Gg4KAmJ6EghscEFtdFgxOBoMCgFjEgdzY2FsZTE4GhMKAmNBEg1scEVtaXNzaW9uWDE4GhAKAmNCEgpwclZpYUFtWDE4GhAKAmNDEgphbVZpYVByWDE4GhIKAmNEEgxleHBlY3RlZEFtdHMaFwoCY0USEWV4cEFtdEFzc2V0QW10WDE4GhkKAmNGEhNleHBQcmljZUFzc2V0QW10WDE4Gg8KAmNHEgljYWxjTHBBbXQaFAoCY0gSDmNhbGNBbUFzc2V0UG10GhQKAmNJEg5jYWxjUHJBc3NldFBtdBoSCgJjShIMc2xpcHBhZ2VDYWxjGg8KAmNLEgllbWl0THBBbXQaDAoCY0wSBmFtRGlmZhoMCgJjTRIGcHJEaWZmGhMKAmNOEg0kdDAxNTU2ODE1OTEzGhAKAmNPEgp3cml0ZUFtQW10GhAKAmNQEgp3cml0ZVByQW10GhEKAmNREgtjb21tb25TdGF0ZRoJCgJjUhIDbW9hGgsKAmNTEgVvcmRlchoNCgJjVBIHYW10QXNJZBoMCgJjVRIGcHJBc0lkGhUKAmNWEg9hY2NBbXRBc0JhbGFuY2UaFAoCY1cSDmFjY1ByQXNCYWxhbmNlGhAKAmNYEgpvckFtdEFzc2V0GhAKAmNZEgpvckFtdEFzU3RyGg8KAmNaEglvclByQXNzZXQaDgoCY2ESCG91dEFtQW10Gg4KAmNiEghvdXRQckFtdBoLCgJjYxIFc3RhdGUaCQoCY2QSA2VwbxoNCgJjZRIHaW5BbUFtdBoMCgJjZhIGaW5BbUlkGg0KAmNnEgdpblByQW10GgwKAmNoEgZpblBySWQaDAoCY2kSBmlzRXZhbBoMCgJjahIGZW1pdExwGhAKAmNrEgppc09uZUFzc2V0GgwKAmNsEgZwbXRBbXQaCwoCY20SBXBtdElkGg0KAmNuEgdh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", "chainId": 84, "height": 2085020, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BxJYeJLQ3tGQJ9edXH5KCMb44aWG5un5d33AeeBxQpaW Next: G1LYSmd55Tu4CsTnGSv6iDND756Bi9N1ADRcsox4t8WH Diff:
OldNewDifferences
189189 let bj = if ((bg == d))
190190 then e
191191 else bg
192- let bd = fraction(bh, b, bg)
193- let bk = (bi > bd)
194- if (if (bk)
195- then true
196- else (bh > bg))
197- then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
198- else bk
192+ let bk = ("D1: " + throw(toString(bg)))
193+ if ((bk == bk))
194+ then {
195+ let bd = fraction(bh, b, bg)
196+ let bl = (bi > bd)
197+ if (if (bl)
198+ then true
199+ else (bh > bg))
200+ then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
201+ else bl
202+ }
203+ else throw("Strict value is not equal to itself.")
199204 }
200205
201206
202-func bl (bm,bn,bo,bp) = {
203- let bq = B(bo, bm)
207+func bm (bn,bo,bp,bq) = {
204208 let br = B(bp, bn)
205- aW(br, bq)
209+ let bs = B(bq, bo)
210+ aW(bs, br)
206211 }
207212
208213
209-func bs (bo,bp,bt) = {
210- let bu = aA()
211- let bv = parseIntValue(bu[t])
212- let bw = parseIntValue(bu[u])
213- let bx = bl(bv, bw, bo, bp)
214- let aY = B(bo, bv)
215- let aX = B(bp, bw)
216- let by = B(bt, a)
217- let bz = aW(aY, by)
218- let bA = aW(aX, by)
219-[bx, bz, bA]
214+func bt (bp,bq,bu) = {
215+ let bv = aA()
216+ let bw = parseIntValue(bv[t])
217+ let bx = parseIntValue(bv[u])
218+ let by = bm(bw, bx, bp, bq)
219+ let aY = B(bp, bw)
220+ let aX = B(bq, bx)
221+ let bz = B(bu, a)
222+ let bA = aW(aY, bz)
223+ let bB = aW(aX, bz)
224+[by, bA, bB]
220225 }
221226
222227
223-func bB (bo,bp,bt) = {
224- let bC = bs(bo, bp, bt)
225-[E(bC[0], a), E(bC[1], a), E(bC[2], a)]
228+func bC (bp,bq,bu) = {
229+ let bD = bt(bp, bq, bu)
230+[E(bD[0], a), E(bD[1], a), E(bD[2], a)]
226231 }
227232
228233
229-func bD (bE,bF,bG,bH) = {
230- let bu = aA()
231- let bI = bu[q]
232- let bJ = bu[r]
233- let bK = bu[s]
234- let bL = parseIntValue(bu[t])
235- let bM = parseIntValue(bu[u])
236- let bN = bu[p]
237- let bO = valueOrErrorMessage(assetInfo(fromBase58String(bI)), "Wrong LP id").quantity
238- if ((bI != bF))
234+func bE (bF,bG,bH,bI) = {
235+ let bv = aA()
236+ let bJ = bv[q]
237+ let bK = bv[r]
238+ let bL = bv[s]
239+ let bM = parseIntValue(bv[t])
240+ let bN = parseIntValue(bv[u])
241+ let bO = bv[p]
242+ let bP = valueOrErrorMessage(assetInfo(fromBase58String(bJ)), "Wrong LP id").quantity
243+ if ((bJ != bG))
239244 then throw("Wrong pmt asset")
240245 else {
241- let bP = aU(bJ)
242- let bQ = B(bP, bL)
243- let bR = aU(bK)
244- let bS = B(bR, bM)
245- let bT = aW(bS, bQ)
246- let bU = E(bT, a)
247- let bV = B(bG, a)
248- let bW = B(bO, a)
249- let bX = fraction(bQ, bV, bW)
250- let bY = fraction(bS, bV, bW)
251- let bZ = E(bX, bL)
246+ let bQ = aU(bK)
247+ let bR = B(bQ, bM)
248+ let bS = aU(bL)
249+ let bT = B(bS, bN)
250+ let bU = aW(bT, bR)
251+ let bV = E(bU, a)
252+ let bW = B(bH, a)
253+ let bX = B(bP, a)
254+ let bY = fraction(bR, bW, bX)
255+ let bZ = fraction(bT, bW, bX)
252256 let ca = E(bY, bM)
253- let cb = if ((bE == ""))
257+ let cb = E(bZ, bN)
258+ let cc = if ((bF == ""))
254259 then nil
255- else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
260+ else [ScriptTransfer(bI, ca, if ((bK == "WAVES"))
256261 then unit
257- else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
262+ else fromBase58String(bK)), ScriptTransfer(bI, cb, if ((bL == "WAVES"))
258263 then unit
259- else fromBase58String(bK)), StringEntry(W(toString(bH), bE), aQ(bZ, ca, bG, bU, height, lastBlock.timestamp)), IntegerEntry(P(), bU), IntegerEntry(Q(height, lastBlock.timestamp), bU)]
260- $Tuple10(bZ, ca, bJ, bK, bP, bR, bO, bT, bN, cb)
264+ else fromBase58String(bL)), StringEntry(W(toString(bI), bF), aQ(ca, cb, bH, bV, height, lastBlock.timestamp)), IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV)]
265+ $Tuple10(ca, cb, bK, bL, bQ, bS, bP, bU, bO, cc)
261266 }
262267 }
263268
264269
265-func cc (bE,bc,cd,ce,cf,cg,bH,ch,ci,cj,ck,cl) = {
266- let bu = aA()
267- let bI = fromBase58String(bu[q])
268- let cm = bu[r]
269- let cn = bu[s]
270- let co = bu[v]
271- let cp = bu[w]
272- let cq = parseIntValue(bu[t])
273- let cr = parseIntValue(bu[u])
274- let bN = bu[p]
275- let cs = valueOrErrorMessage(assetInfo(bI), "Wr lp as").quantity
276- let bP = if (ch)
277- then aU(cm)
278- else if (if (cj)
279- then (cl == cm)
270+func cd (bF,bc,ce,cf,cg,ch,bI,ci,cj,ck,cl,cm) = {
271+ let bv = aA()
272+ let bJ = fromBase58String(bv[q])
273+ let cn = bv[r]
274+ let co = bv[s]
275+ let cp = bv[v]
276+ let cq = bv[w]
277+ let cr = parseIntValue(bv[t])
278+ let cs = parseIntValue(bv[u])
279+ let bO = bv[p]
280+ let ct = valueOrErrorMessage(assetInfo(bJ), "Wr lp as").quantity
281+ let bQ = if (ci)
282+ then aU(cn)
283+ else if (if (ck)
284+ then (cm == cn)
280285 else false)
281- then (aU(cm) - ck)
282- else if (cj)
283- then aU(cm)
284- else (aU(cm) - cd)
285- let bR = if (ch)
286- then aU(cn)
287- else if (if (cj)
288- then (cl == cn)
286+ then (aU(cn) - cl)
287+ else if (ck)
288+ then aU(cn)
289+ else (aU(cn) - ce)
290+ let bS = if (ci)
291+ then aU(co)
292+ else if (if (ck)
293+ then (cm == co)
289294 else false)
290- then (aU(cn) - ck)
291- else if (cj)
292- then aU(cn)
293- else (aU(cn) - cf)
294- let ct = B(cd, cq)
295- let cu = B(cf, cr)
296- let cv = aW(cu, ct)
297- let bQ = B(bP, cq)
298- let bS = B(bR, cr)
299- let cw = if ((cs == 0))
295+ then (aU(co) - cl)
296+ else if (ck)
297+ then aU(co)
298+ else (aU(co) - cg)
299+ let cu = B(ce, cr)
300+ let cv = B(cg, cs)
301+ let cw = aW(cv, cu)
302+ let bR = B(bQ, cr)
303+ let bT = B(bS, cs)
304+ let cx = if ((ct == 0))
300305 then {
301- let bT = d
302- let cx = d
303- let by = pow((ct * cu), 0, toBigInt(5), 1, 0, DOWN)
304- $Tuple5(E(by, a), E(ct, cq), E(cu, cr), aW((bS + cu), (bQ + ct)), cx)
306+ let bU = d
307+ let cy = d
308+ let bz = pow((cu * cv), 0, toBigInt(5), 1, 0, DOWN)
309+ $Tuple5(E(bz, a), E(cu, cr), E(cv, cs), aW((bT + cv), (bR + cu)), cy)
305310 }
306311 else {
307- let bT = aW(bS, bQ)
308- let cy = fraction(L((bT - cv)), c, bT)
309- let cx = B(bc, a)
310- if (if ((bT != d))
311- then (cy > cx)
312+ let bU = aW(bT, bR)
313+ let cz = fraction(L((bU - cw)), c, bU)
314+ let cy = B(bc, a)
315+ if (if ((bU != d))
316+ then (cz > cy)
312317 else false)
313- then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
318+ then throw(((("Price slippage " + toString(cz)) + " > ") + toString(cy)))
314319 else {
315- let cz = B(cs, a)
316- let cA = fraction(ct, bT, c)
317- let cB = fraction(cu, c, bT)
318- let cC = if ((cA > cu))
319- then $Tuple2(cB, cu)
320- else $Tuple2(ct, cA)
321- let cD = cC._1
322- let cE = cC._2
323- let by = fraction(cz, cE, bS)
324- $Tuple5(E(by, a), E(cD, cq), E(cE, cr), bT, cx)
320+ let cA = B(ct, a)
321+ let cB = fraction(cu, bU, c)
322+ let cC = fraction(cv, c, bU)
323+ let cD = if ((cB > cv))
324+ then $Tuple2(cC, cv)
325+ else $Tuple2(cu, cB)
326+ let cE = cD._1
327+ let cF = cD._2
328+ let bz = fraction(cA, cF, bT)
329+ $Tuple5(E(bz, a), E(cE, cr), E(cF, cs), bU, cy)
325330 }
326331 }
327- let cF = cw._1
328- let cG = cw._2
329- let cH = cw._3
330- let bU = E(cw._4, a)
331- let cI = E(cw._5, a)
332- if ((0 >= cF))
332+ let cG = cx._1
333+ let cH = cx._2
334+ let cI = cx._3
335+ let bV = E(cx._4, a)
336+ let cJ = E(cx._5, a)
337+ if ((0 >= cG))
333338 then throw("LP <= 0")
334339 else {
335- let cJ = if (!(ci))
340+ let cK = if (!(cj))
336341 then 0
337- else cF
338- let cK = (cd - cG)
339- let cL = (cf - cH)
340- let cM = if (if (cj)
341- then (cl == cm)
342+ else cG
343+ let cL = (ce - cH)
344+ let cM = (cg - cI)
345+ let cN = if (if (ck)
346+ then (cm == cn)
342347 else false)
343- then $Tuple2(ck, 0)
344- else if (if (cj)
345- then (cl == cn)
348+ then $Tuple2(cl, 0)
349+ else if (if (ck)
350+ then (cm == co)
346351 else false)
347- then $Tuple2(0, ck)
348- else $Tuple2(cG, cH)
349- let cN = cM._1
350- let cO = cM._2
351- let cP = [IntegerEntry(P(), bU), IntegerEntry(Q(height, lastBlock.timestamp), bU), StringEntry(T(bH, bE), aF(cN, cO, cJ, bU, bc, cI, height, lastBlock.timestamp, cK, cL))]
352- $Tuple13(cF, cJ, bU, bP, bR, cs, bI, bN, cP, cK, cL, ce, cg)
352+ then $Tuple2(0, cl)
353+ else $Tuple2(cH, cI)
354+ let cO = cN._1
355+ let cP = cN._2
356+ let cQ = [IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV), StringEntry(T(bI, bF), aF(cO, cP, cK, bV, bc, cJ, height, lastBlock.timestamp, cL, cM))]
357+ $Tuple13(cG, cK, bV, bQ, bS, ct, bJ, bO, cQ, cL, cM, cf, ch)
353358 }
354359 }
355360
356361
357-func cQ (cR) = {
358- let bu = aA()
359- let cS = bu[r]
360- let cT = bu[s]
361- let bN = parseIntValue(bu[p])
362- let bv = parseIntValue(bu[t])
363- let bw = parseIntValue(bu[u])
364- let cU = aU(cS)
362+func cR (cS) = {
363+ let bv = aA()
364+ let cT = bv[r]
365+ let cU = bv[s]
366+ let bO = parseIntValue(bv[p])
367+ let bw = parseIntValue(bv[t])
368+ let bx = parseIntValue(bv[u])
365369 let cV = aU(cT)
366- let bT = if ((cR.orderType == Buy))
367- then bl(bv, bw, (cU + cR.amount), cV)
368- else bl(bv, bw, (cU - cR.amount), cV)
369- let bU = E(bT, a)
370+ let cW = aU(cU)
371+ let bU = if ((cS.orderType == Buy))
372+ then bm(bw, bx, (cV + cS.amount), cW)
373+ else bm(bw, bx, (cV - cS.amount), cW)
374+ let bV = E(bU, a)
370375 if (if (if (ay())
371376 then true
372- else (bN == m))
377+ else (bO == m))
373378 then true
374- else (bN == n))
379+ else (bO == n))
375380 then throw("Admin blocked")
376381 else {
377- let cW = cR.assetPair.amountAsset
378- let cX = if ((cW == unit))
382+ let cX = cS.assetPair.amountAsset
383+ let cY = if ((cX == unit))
379384 then "WAVES"
380- else toBase58String(value(cW))
381- let cY = cR.assetPair.priceAsset
382- let cZ = if ((cY == unit))
385+ else toBase58String(value(cX))
386+ let cZ = cS.assetPair.priceAsset
387+ let da = if ((cZ == unit))
383388 then "WAVES"
384- else toBase58String(value(cY))
385- if (if ((cX != cS))
389+ else toBase58String(value(cZ))
390+ if (if ((cY != cT))
386391 then true
387- else (cZ != cT))
392+ else (da != cU))
388393 then throw("Wr assets")
389394 else {
390- let da = cR.price
391- let cr = fraction(a, bw, bv)
392- let db = H(da, a, cr)
393- let dc = if ((cR.orderType == Buy))
394- then (bU >= db)
395- else (db >= bU)
395+ let db = cS.price
396+ let cs = fraction(a, bx, bw)
397+ let dc = H(db, a, cs)
398+ let dd = if ((cS.orderType == Buy))
399+ then (bV >= dc)
400+ else (dc >= bV)
396401 true
397402 }
398403 }
399404 }
400405
401406
402-func dd (de) = if ((size(de.payments) != 1))
407+func de (df) = if ((size(df.payments) != 1))
403408 then throw("1 pmnt exp")
404409 else {
405- let df = value(de.payments[0])
406- let bF = value(df.assetId)
407- let ck = df.amount
408- let cw = bD(toBase58String(de.transactionId), toBase58String(bF), ck, de.caller)
409- let bZ = cw._1
410- let ca = cw._2
411- let bN = parseIntValue(cw._9)
412- let cb = cw._10
410+ let dg = value(df.payments[0])
411+ let bG = value(dg.assetId)
412+ let cl = dg.amount
413+ let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
414+ let ca = cx._1
415+ let cb = cx._2
416+ let bO = parseIntValue(cx._9)
417+ let cc = cx._10
413418 if (if (ay())
414419 then true
415- else (bN == n))
416- then throw(("Admin blocked: " + toString(bN)))
417- else $Tuple5(bZ, ca, ck, bF, cb)
420+ else (bO == n))
421+ then throw(("Admin blocked: " + toString(bO)))
422+ else $Tuple5(ca, cb, cl, bG, cc)
418423 }
419424
420425
421-func dg (ac,V,dh,di,bc,ci,cj,ck,cl) = {
422- let cw = cc(V, bc, value(dh).amount, value(dh).assetId, value(di).amount, value(di).assetId, ac, false, ci, cj, ck, cl)
423- let bN = parseIntValue(cw._8)
426+func dh (ac,V,di,dj,bc,cj,ck,cl,cm) = {
427+ let cx = cd(V, bc, value(di).amount, value(di).assetId, value(dj).amount, value(dj).assetId, ac, false, cj, ck, cl, cm)
428+ let bO = parseIntValue(cx._8)
424429 if (if (if (ay())
425430 then true
426- else (bN == l))
431+ else (bO == l))
427432 then true
428- else (bN == n))
429- then throw(("Blocked:" + toString(bN)))
430- else cw
433+ else (bO == n))
434+ then throw(("Blocked:" + toString(bO)))
435+ else cx
431436 }
432437
433438
434-func dj () = {
439+func dk () = {
435440 let aq = getString(N())
436441 if ($isInstanceOf(aq, "String"))
437442 then {
438- let dk = aq
439- fromBase58String(dk)
443+ let dl = aq
444+ fromBase58String(dl)
440445 }
441446 else if ($isInstanceOf(aq, "Unit"))
442447 then unit
444449 }
445450
446451
447-func dl () = {
452+func dm () = {
448453 let aq = getString(O())
449454 if ($isInstanceOf(aq, "String"))
450455 then {
451- let dk = aq
452- fromBase58String(dk)
456+ let dl = aq
457+ fromBase58String(dl)
453458 }
454459 else if ($isInstanceOf(aq, "Unit"))
455460 then unit
457462 }
458463
459464
460-let dm = throw("Permission denied")
465+let dn = throw("Permission denied")
461466
462-func dn (de) = {
463- let aq = dj()
467+func do (df) = {
468+ let aq = dk()
464469 if ($isInstanceOf(aq, "ByteVector"))
465470 then {
466- let do = aq
467- if ((de.callerPublicKey == do))
471+ let dp = aq
472+ if ((df.callerPublicKey == dp))
468473 then true
469- else dm
474+ else dn
470475 }
471476 else if ($isInstanceOf(aq, "Unit"))
472- then if ((de.caller == this))
477+ then if ((df.caller == this))
473478 then true
474- else dm
479+ else dn
475480 else throw("Match error")
476481 }
477482
478483
479-@Callable(de)
484+@Callable(df)
480485 func constructor (M) = {
481- let dp = dn(de)
482- if ((dp == dp))
486+ let dq = do(df)
487+ if ((dq == dq))
483488 then [StringEntry(M(), M)]
484489 else throw("Strict value is not equal to itself.")
485490 }
486491
487492
488493
489-@Callable(de)
490-func setManager (dq) = {
491- let dp = dn(de)
492- if ((dp == dp))
494+@Callable(df)
495+func setManager (dr) = {
496+ let dq = do(df)
497+ if ((dq == dq))
493498 then {
494- let dr = fromBase58String(dq)
495- if ((dr == dr))
496- then [StringEntry(O(), dq)]
499+ let ds = fromBase58String(dr)
500+ if ((ds == ds))
501+ then [StringEntry(O(), dr)]
497502 else throw("Strict value is not equal to itself.")
498503 }
499504 else throw("Strict value is not equal to itself.")
501506
502507
503508
504-@Callable(de)
509+@Callable(df)
505510 func confirmManager () = {
506- let bC = dl()
507- let ds = if (isDefined(bC))
511+ let bD = dm()
512+ let dt = if (isDefined(bD))
508513 then true
509514 else throw("No pending manager")
510- if ((ds == ds))
515+ if ((dt == dt))
511516 then {
512- let dt = if ((de.callerPublicKey == value(bC)))
517+ let du = if ((df.callerPublicKey == value(bD)))
513518 then true
514519 else throw("You are not pending manager")
515- if ((dt == dt))
516- then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
520+ if ((du == du))
521+ then [StringEntry(N(), toBase58String(value(bD))), DeleteEntry(O())]
517522 else throw("Strict value is not equal to itself.")
518523 }
519524 else throw("Strict value is not equal to itself.")
521526
522527
523528
524-@Callable(de)
525-func put (du,dv) = {
526- let dw = aE()
527- let dx = valueOrErrorMessage(addressFromString(dw[x]), "Wr st addr")
528- let dy = valueOrErrorMessage(addressFromString(dw[y]), "Wr sl addr")
529- if ((0 > du))
529+@Callable(df)
530+func put (dv,dw) = {
531+ let dx = aE()
532+ let dy = valueOrErrorMessage(addressFromString(dx[x]), "Wr st addr")
533+ let dz = valueOrErrorMessage(addressFromString(dx[y]), "Wr sl addr")
534+ if ((0 > dv))
530535 then throw("Wrong slippage")
531- else if ((size(de.payments) != 2))
536+ else if ((size(df.payments) != 2))
532537 then throw("2 pmnts expd")
533538 else {
534- let dz = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(value(de.payments[0]).assetId, value(de.payments[0]).amount), de.payments[1], du, true, false, 0, "")
535- let cJ = dz._2
536- let dA = dz._7
537- let cb = dz._9
538- let cK = dz._10
539- let cL = dz._11
540- let bJ = dz._12
541- let bK = dz._13
542- let cw = invoke(aw, "emit", [cJ], nil)
543- if ((cw == cw))
539+ let dA = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], dv, true, false, 0, "")
540+ let cK = dA._2
541+ let dB = dA._7
542+ let cc = dA._9
543+ let cL = dA._10
544+ let cM = dA._11
545+ let bK = dA._12
546+ let bL = dA._13
547+ let cx = invoke(aw, "emit", [cK], nil)
548+ if ((cx == cx))
544549 then {
545- let dB = {
546- let aq = cw
550+ let dC = {
551+ let aq = cx
547552 if ($isInstanceOf(aq, "Address"))
548553 then {
549- let dC = aq
550- invoke(dC, "emit", [cJ], nil)
554+ let dD = aq
555+ invoke(dD, "emit", [cK], nil)
551556 }
552557 else unit
553558 }
554- if ((dB == dB))
559+ if ((dC == dC))
555560 then {
556- let dD = if ((cK > 0))
557- then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
561+ let dE = if ((cL > 0))
562+ then invoke(dz, "put", nil, [AttachedPayment(bK, cL)])
558563 else nil
559- if ((dD == dD))
564+ if ((dE == dE))
560565 then {
561- let dE = if ((cL > 0))
562- then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
566+ let dF = if ((cM > 0))
567+ then invoke(dz, "put", nil, [AttachedPayment(bL, cM)])
563568 else nil
564- if ((dE == dE))
569+ if ((dF == dF))
565570 then {
566- let dF = if (dv)
571+ let dG = if (dw)
567572 then {
568- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569- if ((dG == dG))
573+ let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
574+ if ((dH == dH))
570575 then nil
571576 else throw("Strict value is not equal to itself.")
572577 }
573- else [ScriptTransfer(de.caller, cJ, dA)]
574- (cb ++ dF)
578+ else [ScriptTransfer(df.caller, cK, dB)]
579+ (cc ++ dG)
575580 }
576581 else throw("Strict value is not equal to itself.")
577582 }
585590
586591
587592
588-@Callable(de)
589-func putOneTkn (dH,dI,dJ,bc,dv) = {
590- let bu = aE()
591- let dx = valueOrErrorMessage(addressFromString(bu[x]), "Wr st addr")
592- let dy = valueOrErrorMessage(addressFromString(bu[y]), "Wr sl addr")
593- let dK = valueOrErrorMessage(addressFromString(bu[z]), "Wr gwx addr")
594- let dL = aA()
595- let bJ = dL[r]
596- let bK = dL[s]
597- let bL = parseIntValue(dL[t])
598- let bM = parseIntValue(dL[u])
599- let dM = valueOrElse(getString(this, aa()), "")
600- let bH = if ((dM == toString(de.caller)))
601- then de.originCaller
602- else de.caller
603- let dN = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
604- let dO = reentrantInvoke(dN, "ensureCanGetOrPutOneTkn", [toString(bH)], nil)
605- if ((dO == dO))
593+@Callable(df)
594+func putOneTkn (dI,dJ,dK,bc,dw) = {
595+ let bv = aE()
596+ let dy = valueOrErrorMessage(addressFromString(bv[x]), "Wr st addr")
597+ let dz = valueOrErrorMessage(addressFromString(bv[y]), "Wr sl addr")
598+ let dL = valueOrErrorMessage(addressFromString(bv[z]), "Wr gwx addr")
599+ let dM = aA()
600+ let bK = dM[r]
601+ let bL = dM[s]
602+ let bM = parseIntValue(dM[t])
603+ let bN = parseIntValue(dM[u])
604+ let dN = valueOrElse(getString(this, aa()), "")
605+ let bI = if ((dN == toString(df.caller)))
606+ then df.originCaller
607+ else df.caller
608+ let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
609+ let dP = reentrantInvoke(dO, "ensureCanGetOrPutOneTkn", [toString(bI)], nil)
610+ if ((dP == dP))
606611 then if (if (if (if ((0 >= bc))
607- then true
608- else (0 >= dH))
609612 then true
610613 else (0 >= dI))
611614 then true
612615 else (0 >= dJ))
616+ then true
617+ else (0 >= dK))
613618 then throw("Wrong params")
614- else if ((size(de.payments) != 1))
619+ else if ((size(df.payments) != 1))
615620 then throw("1 pmnt expd")
616621 else {
617- let df = value(de.payments[0])
618- let bF = toBase58String(value(df.assetId))
619- let ck = df.amount
620- if (if (if ((dH > ck))
622+ let dg = value(df.payments[0])
623+ let bG = toBase58String(value(dg.assetId))
624+ let cl = dg.amount
625+ if (if (if ((dI > cl))
621626 then true
622- else (dI > ck))
627+ else (dJ > cl))
623628 then true
624- else (10000000 > ck))
629+ else (10000000 > cl))
625630 then throw("Wrong pmt amt")
626631 else {
627- let bP = aU(bJ)
628- let bR = aU(bK)
629- let dP = if ((bF == bJ))
630- then $Tuple6((bP - ck), bR, (ck - dH), dI, 0, 0)
631- else if ((bF == bK))
632- then $Tuple6(bP, (bR - ck), 0, 0, (ck - dI), dH)
632+ let bQ = aU(bK)
633+ let bS = aU(bL)
634+ let dQ = if ((bG == bK))
635+ then $Tuple6((bQ - cl), bS, (cl - dI), dJ, 0, 0)
636+ else if ((bG == bL))
637+ then $Tuple6(bQ, (bS - cl), 0, 0, (cl - dJ), dI)
633638 else throw("wrong pmtAssetId")
634- let dQ = dP._1
635- let dR = dP._2
636- let dS = dP._3
637- let dT = dP._4
638- let dU = dP._5
639- let dV = dP._6
640- let bh = invoke(dK, "calcD", [toString(dQ), toString(dR), ax, g, h], nil)
641- let bg = invoke(dK, "calcD", [toString(toBigInt(((dQ + dS) - dV))), toString(toBigInt(((dR + dU) - dT))), ax, g, h], nil)
642- let dW = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
643- if ((dW == dW))
639+ let dR = dQ._1
640+ let dS = dQ._2
641+ let dT = dQ._3
642+ let dU = dQ._4
643+ let dV = dQ._5
644+ let dW = dQ._6
645+ let bh = invoke(dL, "calcD", [toString(dR), toString(dS), ax, g, h], nil)
646+ let bg = invoke(dL, "calcD", [toString(toBigInt(((dR + dT) - dW))), toString(toBigInt(((dS + dV) - dU))), ax, g, h], nil)
647+ let dX = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
648+ if ((dX == dX))
644649 then {
645- let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(fromBase58String(bJ), dH), AttachedPayment(fromBase58String(bK), dI), bc, true, true, ck, bF)
646- let dY = dX._2
647- let dA = dX._7
648- let cb = dX._9
649- let cK = dX._10
650- let cL = dX._11
651- let dZ = aZ(toBigInt(dY), toBigInt(dJ), toBigInt(bc))
652- let cJ = toInt(dZ._2)
653- let dz = invoke(aw, "emit", [cJ], nil)
654- if ((dz == dz))
650+ let dY = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(fromBase58String(bK), dI), AttachedPayment(fromBase58String(bL), dJ), bc, true, true, cl, bG)
651+ let dZ = dY._2
652+ let dB = dY._7
653+ let cc = dY._9
654+ let cL = dY._10
655+ let cM = dY._11
656+ let ea = aZ(toBigInt(dZ), toBigInt(dK), toBigInt(bc))
657+ let cK = toInt(ea._2)
658+ let dA = invoke(aw, "emit", [cK], nil)
659+ if ((dA == dA))
655660 then {
656- let dB = {
657- let aq = dz
661+ let dC = {
662+ let aq = dA
658663 if ($isInstanceOf(aq, "Address"))
659664 then {
660- let dC = aq
661- invoke(dC, "emit", [cJ], nil)
665+ let dD = aq
666+ invoke(dD, "emit", [cK], nil)
662667 }
663668 else unit
664669 }
665- if ((dB == dB))
670+ if ((dC == dC))
666671 then {
667- let dD = if ((cK > 0))
668- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
672+ let dE = if ((cL > 0))
673+ then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
669674 else nil
670- if ((dD == dD))
675+ if ((dE == dE))
671676 then {
672- let dE = if ((cL > 0))
673- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
677+ let dF = if ((cM > 0))
678+ then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bL), cM)])
674679 else nil
675- if ((dE == dE))
680+ if ((dF == dF))
676681 then {
677- let dF = if (dv)
682+ let dG = if (dw)
678683 then {
679- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680- if ((dG == dG))
684+ let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
685+ if ((dH == dH))
681686 then nil
682687 else throw("Strict value is not equal to itself.")
683688 }
684- else [ScriptTransfer(de.caller, cJ, dA)]
685- (cb ++ dF)
689+ else [ScriptTransfer(df.caller, cK, dB)]
690+ (cc ++ dG)
686691 }
687692 else throw("Strict value is not equal to itself.")
688693 }
700705
701706
702707
703-@Callable(de)
704-func putForFree (ea) = if ((0 > ea))
708+@Callable(df)
709+func putForFree (eb) = if ((0 > eb))
705710 then throw("Wrong slpg")
706- else if ((size(de.payments) != 2))
711+ else if ((size(df.payments) != 2))
707712 then throw("2 pmnts expd")
708713 else {
709- let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(value(de.payments[0]).assetId, value(de.payments[0]).amount), de.payments[1], ea, false, false, 0, "")
710- dX._9
714+ let dY = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], eb, false, false, 0, "")
715+ dY._9
711716 }
712717
713718
714719
715-@Callable(de)
720+@Callable(df)
716721 func get () = {
717- let cw = dd(de)
718- let eb = cw._1
719- let ca = cw._2
720- let ck = cw._3
721- let bF = cw._4
722- let cb = cw._5
723- let ec = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
724- if ((ec == ec))
725- then cb
722+ let cx = de(df)
723+ let ec = cx._1
724+ let cb = cx._2
725+ let cl = cx._3
726+ let bG = cx._4
727+ let cc = cx._5
728+ let ed = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
729+ if ((ed == ed))
730+ then cc
726731 else throw("Strict value is not equal to itself.")
727732 }
728733
729734
730735
731-@Callable(de)
732-func getOneTkn (ed,ee,ef,eg,bc) = if ((size(de.payments) != 1))
736+@Callable(df)
737+func getOneTkn (ee,ef,eg,eh,bc) = if ((size(df.payments) != 1))
733738 then throw("1 pmnt expd")
734739 else {
735- let bu = aA()
736- let bI = bu[q]
737- let bJ = bu[r]
738- let bK = bu[s]
739- let bL = parseIntValue(bu[t])
740- let bM = parseIntValue(bu[u])
741- let bN = bu[p]
742- let dw = aE()
743- let dK = valueOrErrorMessage(addressFromString(dw[z]), "Wr sl addr")
744- let df = value(de.payments[0])
745- let dM = valueOrElse(getString(this, aa()), "")
746- let bH = if ((dM == toString(de.caller)))
747- then de.originCaller
748- else de.caller
749- let bE = toBase58String(de.transactionId)
750- let bF = value(df.assetId)
751- let ck = df.amount
752- let dN = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
753- let dO = reentrantInvoke(dN, "ensureCanGetOrPutOneTkn", [toString(bH)], nil)
754- if ((dO == dO))
755- then if ((1000000000 > ck))
740+ let bv = aA()
741+ let bJ = bv[q]
742+ let bK = bv[r]
743+ let bL = bv[s]
744+ let bM = parseIntValue(bv[t])
745+ let bN = parseIntValue(bv[u])
746+ let bO = bv[p]
747+ let dx = aE()
748+ let dL = valueOrErrorMessage(addressFromString(dx[z]), "Wr sl addr")
749+ let dg = value(df.payments[0])
750+ let dN = valueOrElse(getString(this, aa()), "")
751+ let bI = if ((dN == toString(df.caller)))
752+ then df.originCaller
753+ else df.caller
754+ let bF = toBase58String(df.transactionId)
755+ let bG = value(dg.assetId)
756+ let cl = dg.amount
757+ let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
758+ let dP = reentrantInvoke(dO, "ensureCanGetOrPutOneTkn", [toString(bI)], nil)
759+ if ((dP == dP))
760+ then if ((1000000000 > cl))
756761 then throw("Min pmt 10 LP")
757762 else if (if (if ((0 > bc))
758763 then true
759- else (0 > ed))
764+ else (0 > ee))
760765 then true
761- else (0 > ef))
766+ else (0 > eg))
762767 then throw("Wrong params")
763- else if ((bI != toBase58String(bF)))
768+ else if ((bJ != toBase58String(bG)))
764769 then throw("Wrong LP")
765770 else {
766- let cw = bD(toBase58String(de.transactionId), toBase58String(bF), ck, de.caller)
767- let eh = cw._1
768- let ei = cw._2
769- let bP = aU(bJ)
770- let bR = aU(bK)
771- let ej = if ((eg == bJ))
772- then $Tuple7((bP - eh), (bR - ei), ed, ei, 0, 0, (eh + ed))
773- else if ((eg == bK))
774- then $Tuple7((bP - eh), (bR - ei), 0, 0, ed, eh, (ei + ed))
771+ let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
772+ let ei = cx._1
773+ let ej = cx._2
774+ let bQ = aU(bK)
775+ let bS = aU(bL)
776+ let ek = if ((eh == bK))
777+ then $Tuple7((bQ - ei), (bS - ej), ee, ej, 0, 0, (ei + ee))
778+ else if ((eh == bL))
779+ then $Tuple7((bQ - ei), (bS - ej), 0, 0, ee, ei, (ej + ee))
775780 else throw("wrong outAssetId")
776- let dQ = ej._1
777- let dR = ej._2
778- let dS = ej._3
779- let dT = ej._4
780- let dU = ej._5
781- let dV = ej._6
782- let ek = ej._7
783- if (if ((0 > dS))
781+ let dR = ek._1
782+ let dS = ek._2
783+ let dT = ek._3
784+ let dU = ek._4
785+ let dV = ek._5
786+ let dW = ek._6
787+ let el = ek._7
788+ if (if ((0 > dT))
784789 then true
785- else (0 > dU))
790+ else (0 > dV))
786791 then throw("Wrong calc")
787792 else {
788- let bh = invoke(dK, "calcD", [toString(dQ), toString(dR), ax, g, h], nil)
789- let bg = invoke(dK, "calcD", [toString(((dQ - dS) + dV)), toString(((dR + dT) - dU)), ax, g, h], nil)
790- let dW = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
791- if ((dW == dW))
793+ let bh = invoke(dL, "calcD", [toString(dR), toString(dS), ax, g, h], nil)
794+ let bg = invoke(dL, "calcD", [toString(((dR - dT) + dW)), toString(((dS + dU) - dV)), ax, g, h], nil)
795+ let dX = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
796+ if ((dX == dX))
792797 then {
793- let el = aZ(toBigInt(ek), toBigInt(ef), toBigInt(bc))
794- if ((el == el))
798+ let em = aZ(toBigInt(el), toBigInt(eg), toBigInt(bc))
799+ if ((em == em))
795800 then {
796- let em = if ((eg == bJ))
797- then $Tuple2(toInt(el._2), 0)
798- else $Tuple2(0, toInt(el._2))
799- let en = em._1
800- let eo = em._2
801- let ep = aW(B(bR, bM), B(bP, bL))
802- let eq = E(ep, a)
803- let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
801+ let en = if ((eh == bK))
802+ then $Tuple2(toInt(em._2), 0)
803+ else $Tuple2(0, toInt(em._2))
804+ let eo = en._1
805+ let ep = en._2
806+ let eq = aW(B(bS, bN), B(bQ, bM))
807+ let er = E(eq, a)
808+ let cc = [ScriptTransfer(bI, (eo + ep), if ((eh == "WAVES"))
804809 then unit
805- else fromBase58String(eg)), StringEntry(W(toString(bH), bE), aQ(en, eo, ck, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
806- if ((cb == cb))
810+ else fromBase58String(eh)), StringEntry(W(toString(bI), bF), aQ(eo, ep, cl, er, height, lastBlock.timestamp)), IntegerEntry(P(), er), IntegerEntry(Q(height, lastBlock.timestamp), er)]
811+ if ((cc == cc))
807812 then {
808- let er = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
809- if ((er == er))
810- then cb
813+ let es = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
814+ if ((es == es))
815+ then cc
811816 else throw("Strict value is not equal to itself.")
812817 }
813818 else throw("Strict value is not equal to itself.")
822827
823828
824829
825-@Callable(de)
826-func getNoLess (es,et) = {
827- let cw = dd(de)
828- let bZ = cw._1
829- let ca = cw._2
830- let ck = cw._3
831- let bF = cw._4
832- let cb = cw._5
833- if ((es > bZ))
834- then throw(((("Failed: " + toString(bZ)) + " < ") + toString(es)))
835- else if ((et > ca))
836- then throw(((("Failed: " + toString(ca)) + " < ") + toString(et)))
830+@Callable(df)
831+func getNoLess (et,eu) = {
832+ let cx = de(df)
833+ let ca = cx._1
834+ let cb = cx._2
835+ let cl = cx._3
836+ let bG = cx._4
837+ let cc = cx._5
838+ if ((et > ca))
839+ then throw(((("Failed: " + toString(ca)) + " < ") + toString(et)))
840+ else if ((eu > cb))
841+ then throw(((("Failed: " + toString(cb)) + " < ") + toString(eu)))
837842 else {
838- let eu = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
839- if ((eu == eu))
840- then cb
843+ let ev = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
844+ if ((ev == ev))
845+ then cc
841846 else throw("Strict value is not equal to itself.")
842847 }
843848 }
844849
845850
846851
847-@Callable(de)
848-func unstakeAndGet (ev) = {
849- let ew = if ((size(de.payments) != 0))
852+@Callable(df)
853+func unstakeAndGet (ew) = {
854+ let ex = if ((size(df.payments) != 0))
850855 then throw("No pmnts expd")
851856 else true
852- if ((ew == ew))
857+ if ((ex == ex))
853858 then {
854- let bu = aA()
855- let ex = aE()
856- let dA = fromBase58String(bu[q])
857- let ey = valueOrErrorMessage(addressFromString(ex[x]), "Wr st addr")
858- let ez = invoke(ey, "unstake", [toBase58String(dA), ev], nil)
859- if ((ez == ez))
859+ let bv = aA()
860+ let ey = aE()
861+ let dB = fromBase58String(bv[q])
862+ let ez = valueOrErrorMessage(addressFromString(ey[x]), "Wr st addr")
863+ let eA = invoke(ez, "unstake", [toBase58String(dB), ew], nil)
864+ if ((eA == eA))
860865 then {
861- let cw = bD(toBase58String(de.transactionId), toBase58String(dA), ev, de.caller)
862- let bN = parseIntValue(cw._9)
863- let cb = cw._10
864- let eA = if (if (ay())
866+ let cx = bE(toBase58String(df.transactionId), toBase58String(dB), ew, df.caller)
867+ let bO = parseIntValue(cx._9)
868+ let cc = cx._10
869+ let eB = if (if (ay())
865870 then true
866- else (bN == n))
867- then throw(("Blocked: " + toString(bN)))
871+ else (bO == n))
872+ then throw(("Blocked: " + toString(bO)))
868873 else true
869- if ((eA == eA))
874+ if ((eB == eB))
870875 then {
871- let eB = invoke(aw, "burn", [ev], [AttachedPayment(dA, ev)])
872- if ((eB == eB))
873- then cb
876+ let eC = invoke(aw, "burn", [ew], [AttachedPayment(dB, ew)])
877+ if ((eC == eC))
878+ then cc
874879 else throw("Strict value is not equal to itself.")
875880 }
876881 else throw("Strict value is not equal to itself.")
882887
883888
884889
885-@Callable(de)
886-func activate (eC,eD) = if ((toString(de.caller) != toString(aw)))
890+@Callable(df)
891+func activate (eD,eE) = if ((toString(df.caller) != toString(aw)))
887892 then throw("denied")
888- else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
893+ else $Tuple2([StringEntry(X(), eD), StringEntry(Y(), eE)], "success")
889894
890895
891896
892-@Callable(de)
893-func setS (eE,eA) = if ((toString(de.caller) != as(this, aa())))
894- then dm
895- else [StringEntry(eE, eA)]
897+@Callable(df)
898+func setS (eF,eB) = if ((toString(df.caller) != as(this, aa())))
899+ then dn
900+ else [StringEntry(eF, eB)]
896901
897902
898903
899-@Callable(de)
900-func setI (eE,eA) = if ((toString(de.caller) != as(this, aa())))
901- then dm
902- else [IntegerEntry(eE, eA)]
904+@Callable(df)
905+func setI (eF,eB) = if ((toString(df.caller) != as(this, aa())))
906+ then dn
907+ else [IntegerEntry(eF, eB)]
903908
904909
905910
906-@Callable(de)
911+@Callable(df)
907912 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aA())
908913
909914
910915
911-@Callable(de)
916+@Callable(df)
912917 func getAccBalanceWrapperREADONLY (aV) = $Tuple2(nil, aU(aV))
913918
914919
915920
916-@Callable(de)
917-func calcPricesWrapperREADONLY (bo,bp,bt) = {
918- let eF = bs(bo, bp, bt)
919- $Tuple2(nil, [toString(eF[0]), toString(eF[1]), toString(eF[2])])
921+@Callable(df)
922+func calcPricesWrapperREADONLY (bp,bq,bu) = {
923+ let eG = bt(bp, bq, bu)
924+ $Tuple2(nil, [toString(eG[0]), toString(eG[1]), toString(eG[2])])
920925 }
921926
922927
923928
924-@Callable(de)
925-func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
929+@Callable(df)
930+func fromX18WrapperREADONLY (F,eH) = $Tuple2(nil, E(parseBigIntValue(F), eH))
926931
927932
928933
929-@Callable(de)
934+@Callable(df)
930935 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
931936
932937
933938
934-@Callable(de)
939+@Callable(df)
935940 func calcPriceBigIntWrapperREADONLY (aX,aY) = $Tuple2(nil, toString(aW(parseBigIntValue(aX), parseBigIntValue(aY))))
936941
937942
938943
939-@Callable(de)
940-func estimatePutOperationWrapperREADONLY (bE,bc,cd,ce,cf,cg,eH,ch,ci) = $Tuple2(nil, cc(bE, bc, cd, ce, cf, cg, eH, ch, ci, false, 0, ""))
944+@Callable(df)
945+func estimatePutOperationWrapperREADONLY (bF,bc,ce,cf,cg,ch,eI,ci,cj) = $Tuple2(nil, cd(bF, bc, ce, cf, cg, ch, eI, ci, cj, false, 0, ""))
941946
942947
943948
944-@Callable(de)
945-func estimateGetOperationWrapperREADONLY (bE,eI,bG,eH) = {
946- let cw = bD(bE, eI, bG, addressFromStringValue(eH))
947- $Tuple2(nil, $Tuple10(cw._1, cw._2, cw._3, cw._4, cw._5, cw._6, cw._7, toString(cw._8), cw._9, cw._10))
949+@Callable(df)
950+func estimateGetOperationWrapperREADONLY (bF,eJ,bH,eI) = {
951+ let cx = bE(bF, eJ, bH, addressFromStringValue(eI))
952+ $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
948953 }
949954
950955
951-@Verifier(eJ)
952-func eK () = {
953- let aq = eJ
956+@Verifier(eK)
957+func eL () = {
958+ let aq = eK
954959 if ($isInstanceOf(aq, "Order"))
955960 then {
956- let cR = aq
957- let eL = az()
958- let am = cQ(cR)
959- let eM = sigVerify(cR.bodyBytes, cR.proofs[0], cR.senderPublicKey)
960- let eN = sigVerify(cR.bodyBytes, cR.proofs[1], eL)
961+ let cS = aq
962+ let eM = az()
963+ let am = cR(cS)
964+ let eN = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
965+ let eO = sigVerify(cS.bodyBytes, cS.proofs[1], eM)
961966 if (if (if (am)
962- then eM
963- else false)
964967 then eN
965968 else false)
969+ then eO
970+ else false)
966971 then true
967- else al(am, eM, eN)
972+ else al(am, eN, eO)
968973 }
969974 else {
970- let eO = {
971- let eP = dj()
972- if ($isInstanceOf(eP, "ByteVector"))
975+ let eP = {
976+ let eQ = dk()
977+ if ($isInstanceOf(eQ, "ByteVector"))
973978 then {
974- let do = eP
975- do
979+ let dp = eQ
980+ dp
976981 }
977- else if ($isInstanceOf(eP, "Unit"))
978- then eJ.senderPublicKey
982+ else if ($isInstanceOf(eQ, "Unit"))
983+ then eK.senderPublicKey
979984 else throw("Match error")
980985 }
981- sigVerify(eJ.bodyBytes, eJ.proofs[0], eO)
986+ sigVerify(eK.bodyBytes, eK.proofs[0], eP)
982987 }
983988 }
984989
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = toBigInt(100000000)
77
88 let c = toBigInt(1000000000000000000)
99
1010 let d = toBigInt(0)
1111
1212 let e = toBigInt(1)
1313
1414 let f = toBigInt((a - ((a * 1) / a)))
1515
1616 let g = "100"
1717
1818 let h = "1"
1919
2020 let i = "__"
2121
2222 let j = ""
2323
2424 let k = 1
2525
2626 let l = 2
2727
2828 let m = 3
2929
3030 let n = 4
3131
3232 let o = 1
3333
3434 let p = 2
3535
3636 let q = 3
3737
3838 let r = 4
3939
4040 let s = 5
4141
4242 let t = 6
4343
4444 let u = 7
4545
4646 let v = 8
4747
4848 let w = 9
4949
5050 let x = 1
5151
5252 let y = 7
5353
5454 let z = 10
5555
5656 let A = "%s__delay"
5757
5858 func B (C,D) = fraction(toBigInt(C), c, toBigInt(D))
5959
6060
6161 func E (F,G) = toInt(fraction(F, toBigInt(G), c))
6262
6363
6464 func H (I,J,K) = fraction(I, J, K)
6565
6666
6767 func L (F) = if ((d > F))
6868 then -(F)
6969 else F
7070
7171
7272 func M () = "%s__factoryContract"
7373
7474
7575 func N () = "%s__managerPublicKey"
7676
7777
7878 func O () = "%s__pendingManagerPublicKey"
7979
8080
8181 func P () = "%s%s__price__last"
8282
8383
8484 func Q (R,S) = makeString(["%s%s%d%d__price__history", toString(R), toString(S)], i)
8585
8686
8787 func T (U,V) = ((("%s%s%s__P__" + U) + "__") + V)
8888
8989
9090 func W (U,V) = ((("%s%s%s__G__" + U) + "__") + V)
9191
9292
9393 func X () = "%s__amountAsset"
9494
9595
9696 func Y () = "%s__priceAsset"
9797
9898
9999 func Z () = "%s__amp"
100100
101101
102102 func aa () = "%s__addonAddr"
103103
104104
105105 func ab (ac) = makeString(["%s%s__lastGetOrPutOneTknCall", ac], i)
106106
107107
108108 func ad () = "%s__factoryConfig"
109109
110110
111111 func ae () = "%s%s__matcher__publicKey"
112112
113113
114114 func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
115115
116116
117117 func ai (aj) = ("%s%s%s__mappings__baseAsset2internalId__" + aj)
118118
119119
120120 func ak () = "%s__shutdown"
121121
122122
123123 func al (am,an,ao) = throw(((((("Failed: ordValid=" + toString(am)) + " sndrValid=") + toString(an)) + " mtchrValid=") + toString(ao)))
124124
125125
126126 func ap (F) = {
127127 let aq = F
128128 if ($isInstanceOf(aq, "String"))
129129 then {
130130 let ar = aq
131131 ar
132132 }
133133 else throw("fail cast to String")
134134 }
135135
136136
137137 func as (at,au) = valueOrErrorMessage(getString(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
138138
139139
140140 func av (at,au) = valueOrErrorMessage(getInteger(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
141141
142142
143143 let aw = addressFromStringValue(as(this, M()))
144144
145145 let ax = as(this, Z())
146146
147147 func ay () = valueOrElse(getBoolean(aw, ak()), false)
148148
149149
150150 func az () = fromBase58String(as(aw, ae()))
151151
152152
153153 func aA () = {
154154 let aB = as(this, X())
155155 let aC = as(this, Y())
156156 let aD = av(aw, ai(aC))
157157 let ag = av(aw, ai(aB))
158158 split(as(aw, af(toString(ag), toString(aD))), i)
159159 }
160160
161161
162162 func aE () = split(as(aw, ad()), i)
163163
164164
165165 func aF (aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(aG), toString(aH), toString(aI), toString(aJ), toString(aK), toString(aL), toString(aM), toString(aN), toString(aO), toString(aP)], i)
166166
167167
168168 func aQ (aR,aS,aT,aJ,aM,aN) = makeString(["%d%d%d%d%d%d", toString(aR), toString(aS), toString(aT), toString(aJ), toString(aM), toString(aN)], i)
169169
170170
171171 func aU (aV) = if ((aV == "WAVES"))
172172 then wavesBalance(this).available
173173 else assetBalance(this, fromBase58String(aV))
174174
175175
176176 func aW (aX,aY) = fraction(aX, c, aY)
177177
178178
179179 func aZ (ba,bb,bc) = {
180180 let bd = fraction((ba - bb), b, bb)
181181 let be = ((bc - L(bd)) > d)
182182 if (!(be))
183183 then throw(("Big slpg: " + toString(bd)))
184184 else $Tuple2(be, min([ba, bb]))
185185 }
186186
187187
188188 func bf (bg,bh,bi) = {
189189 let bj = if ((bg == d))
190190 then e
191191 else bg
192- let bd = fraction(bh, b, bg)
193- let bk = (bi > bd)
194- if (if (bk)
195- then true
196- else (bh > bg))
197- then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
198- else bk
192+ let bk = ("D1: " + throw(toString(bg)))
193+ if ((bk == bk))
194+ then {
195+ let bd = fraction(bh, b, bg)
196+ let bl = (bi > bd)
197+ if (if (bl)
198+ then true
199+ else (bh > bg))
200+ then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
201+ else bl
202+ }
203+ else throw("Strict value is not equal to itself.")
199204 }
200205
201206
202-func bl (bm,bn,bo,bp) = {
203- let bq = B(bo, bm)
207+func bm (bn,bo,bp,bq) = {
204208 let br = B(bp, bn)
205- aW(br, bq)
209+ let bs = B(bq, bo)
210+ aW(bs, br)
206211 }
207212
208213
209-func bs (bo,bp,bt) = {
210- let bu = aA()
211- let bv = parseIntValue(bu[t])
212- let bw = parseIntValue(bu[u])
213- let bx = bl(bv, bw, bo, bp)
214- let aY = B(bo, bv)
215- let aX = B(bp, bw)
216- let by = B(bt, a)
217- let bz = aW(aY, by)
218- let bA = aW(aX, by)
219-[bx, bz, bA]
214+func bt (bp,bq,bu) = {
215+ let bv = aA()
216+ let bw = parseIntValue(bv[t])
217+ let bx = parseIntValue(bv[u])
218+ let by = bm(bw, bx, bp, bq)
219+ let aY = B(bp, bw)
220+ let aX = B(bq, bx)
221+ let bz = B(bu, a)
222+ let bA = aW(aY, bz)
223+ let bB = aW(aX, bz)
224+[by, bA, bB]
220225 }
221226
222227
223-func bB (bo,bp,bt) = {
224- let bC = bs(bo, bp, bt)
225-[E(bC[0], a), E(bC[1], a), E(bC[2], a)]
228+func bC (bp,bq,bu) = {
229+ let bD = bt(bp, bq, bu)
230+[E(bD[0], a), E(bD[1], a), E(bD[2], a)]
226231 }
227232
228233
229-func bD (bE,bF,bG,bH) = {
230- let bu = aA()
231- let bI = bu[q]
232- let bJ = bu[r]
233- let bK = bu[s]
234- let bL = parseIntValue(bu[t])
235- let bM = parseIntValue(bu[u])
236- let bN = bu[p]
237- let bO = valueOrErrorMessage(assetInfo(fromBase58String(bI)), "Wrong LP id").quantity
238- if ((bI != bF))
234+func bE (bF,bG,bH,bI) = {
235+ let bv = aA()
236+ let bJ = bv[q]
237+ let bK = bv[r]
238+ let bL = bv[s]
239+ let bM = parseIntValue(bv[t])
240+ let bN = parseIntValue(bv[u])
241+ let bO = bv[p]
242+ let bP = valueOrErrorMessage(assetInfo(fromBase58String(bJ)), "Wrong LP id").quantity
243+ if ((bJ != bG))
239244 then throw("Wrong pmt asset")
240245 else {
241- let bP = aU(bJ)
242- let bQ = B(bP, bL)
243- let bR = aU(bK)
244- let bS = B(bR, bM)
245- let bT = aW(bS, bQ)
246- let bU = E(bT, a)
247- let bV = B(bG, a)
248- let bW = B(bO, a)
249- let bX = fraction(bQ, bV, bW)
250- let bY = fraction(bS, bV, bW)
251- let bZ = E(bX, bL)
246+ let bQ = aU(bK)
247+ let bR = B(bQ, bM)
248+ let bS = aU(bL)
249+ let bT = B(bS, bN)
250+ let bU = aW(bT, bR)
251+ let bV = E(bU, a)
252+ let bW = B(bH, a)
253+ let bX = B(bP, a)
254+ let bY = fraction(bR, bW, bX)
255+ let bZ = fraction(bT, bW, bX)
252256 let ca = E(bY, bM)
253- let cb = if ((bE == ""))
257+ let cb = E(bZ, bN)
258+ let cc = if ((bF == ""))
254259 then nil
255- else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
260+ else [ScriptTransfer(bI, ca, if ((bK == "WAVES"))
256261 then unit
257- else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
262+ else fromBase58String(bK)), ScriptTransfer(bI, cb, if ((bL == "WAVES"))
258263 then unit
259- else fromBase58String(bK)), StringEntry(W(toString(bH), bE), aQ(bZ, ca, bG, bU, height, lastBlock.timestamp)), IntegerEntry(P(), bU), IntegerEntry(Q(height, lastBlock.timestamp), bU)]
260- $Tuple10(bZ, ca, bJ, bK, bP, bR, bO, bT, bN, cb)
264+ else fromBase58String(bL)), StringEntry(W(toString(bI), bF), aQ(ca, cb, bH, bV, height, lastBlock.timestamp)), IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV)]
265+ $Tuple10(ca, cb, bK, bL, bQ, bS, bP, bU, bO, cc)
261266 }
262267 }
263268
264269
265-func cc (bE,bc,cd,ce,cf,cg,bH,ch,ci,cj,ck,cl) = {
266- let bu = aA()
267- let bI = fromBase58String(bu[q])
268- let cm = bu[r]
269- let cn = bu[s]
270- let co = bu[v]
271- let cp = bu[w]
272- let cq = parseIntValue(bu[t])
273- let cr = parseIntValue(bu[u])
274- let bN = bu[p]
275- let cs = valueOrErrorMessage(assetInfo(bI), "Wr lp as").quantity
276- let bP = if (ch)
277- then aU(cm)
278- else if (if (cj)
279- then (cl == cm)
270+func cd (bF,bc,ce,cf,cg,ch,bI,ci,cj,ck,cl,cm) = {
271+ let bv = aA()
272+ let bJ = fromBase58String(bv[q])
273+ let cn = bv[r]
274+ let co = bv[s]
275+ let cp = bv[v]
276+ let cq = bv[w]
277+ let cr = parseIntValue(bv[t])
278+ let cs = parseIntValue(bv[u])
279+ let bO = bv[p]
280+ let ct = valueOrErrorMessage(assetInfo(bJ), "Wr lp as").quantity
281+ let bQ = if (ci)
282+ then aU(cn)
283+ else if (if (ck)
284+ then (cm == cn)
280285 else false)
281- then (aU(cm) - ck)
282- else if (cj)
283- then aU(cm)
284- else (aU(cm) - cd)
285- let bR = if (ch)
286- then aU(cn)
287- else if (if (cj)
288- then (cl == cn)
286+ then (aU(cn) - cl)
287+ else if (ck)
288+ then aU(cn)
289+ else (aU(cn) - ce)
290+ let bS = if (ci)
291+ then aU(co)
292+ else if (if (ck)
293+ then (cm == co)
289294 else false)
290- then (aU(cn) - ck)
291- else if (cj)
292- then aU(cn)
293- else (aU(cn) - cf)
294- let ct = B(cd, cq)
295- let cu = B(cf, cr)
296- let cv = aW(cu, ct)
297- let bQ = B(bP, cq)
298- let bS = B(bR, cr)
299- let cw = if ((cs == 0))
295+ then (aU(co) - cl)
296+ else if (ck)
297+ then aU(co)
298+ else (aU(co) - cg)
299+ let cu = B(ce, cr)
300+ let cv = B(cg, cs)
301+ let cw = aW(cv, cu)
302+ let bR = B(bQ, cr)
303+ let bT = B(bS, cs)
304+ let cx = if ((ct == 0))
300305 then {
301- let bT = d
302- let cx = d
303- let by = pow((ct * cu), 0, toBigInt(5), 1, 0, DOWN)
304- $Tuple5(E(by, a), E(ct, cq), E(cu, cr), aW((bS + cu), (bQ + ct)), cx)
306+ let bU = d
307+ let cy = d
308+ let bz = pow((cu * cv), 0, toBigInt(5), 1, 0, DOWN)
309+ $Tuple5(E(bz, a), E(cu, cr), E(cv, cs), aW((bT + cv), (bR + cu)), cy)
305310 }
306311 else {
307- let bT = aW(bS, bQ)
308- let cy = fraction(L((bT - cv)), c, bT)
309- let cx = B(bc, a)
310- if (if ((bT != d))
311- then (cy > cx)
312+ let bU = aW(bT, bR)
313+ let cz = fraction(L((bU - cw)), c, bU)
314+ let cy = B(bc, a)
315+ if (if ((bU != d))
316+ then (cz > cy)
312317 else false)
313- then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
318+ then throw(((("Price slippage " + toString(cz)) + " > ") + toString(cy)))
314319 else {
315- let cz = B(cs, a)
316- let cA = fraction(ct, bT, c)
317- let cB = fraction(cu, c, bT)
318- let cC = if ((cA > cu))
319- then $Tuple2(cB, cu)
320- else $Tuple2(ct, cA)
321- let cD = cC._1
322- let cE = cC._2
323- let by = fraction(cz, cE, bS)
324- $Tuple5(E(by, a), E(cD, cq), E(cE, cr), bT, cx)
320+ let cA = B(ct, a)
321+ let cB = fraction(cu, bU, c)
322+ let cC = fraction(cv, c, bU)
323+ let cD = if ((cB > cv))
324+ then $Tuple2(cC, cv)
325+ else $Tuple2(cu, cB)
326+ let cE = cD._1
327+ let cF = cD._2
328+ let bz = fraction(cA, cF, bT)
329+ $Tuple5(E(bz, a), E(cE, cr), E(cF, cs), bU, cy)
325330 }
326331 }
327- let cF = cw._1
328- let cG = cw._2
329- let cH = cw._3
330- let bU = E(cw._4, a)
331- let cI = E(cw._5, a)
332- if ((0 >= cF))
332+ let cG = cx._1
333+ let cH = cx._2
334+ let cI = cx._3
335+ let bV = E(cx._4, a)
336+ let cJ = E(cx._5, a)
337+ if ((0 >= cG))
333338 then throw("LP <= 0")
334339 else {
335- let cJ = if (!(ci))
340+ let cK = if (!(cj))
336341 then 0
337- else cF
338- let cK = (cd - cG)
339- let cL = (cf - cH)
340- let cM = if (if (cj)
341- then (cl == cm)
342+ else cG
343+ let cL = (ce - cH)
344+ let cM = (cg - cI)
345+ let cN = if (if (ck)
346+ then (cm == cn)
342347 else false)
343- then $Tuple2(ck, 0)
344- else if (if (cj)
345- then (cl == cn)
348+ then $Tuple2(cl, 0)
349+ else if (if (ck)
350+ then (cm == co)
346351 else false)
347- then $Tuple2(0, ck)
348- else $Tuple2(cG, cH)
349- let cN = cM._1
350- let cO = cM._2
351- let cP = [IntegerEntry(P(), bU), IntegerEntry(Q(height, lastBlock.timestamp), bU), StringEntry(T(bH, bE), aF(cN, cO, cJ, bU, bc, cI, height, lastBlock.timestamp, cK, cL))]
352- $Tuple13(cF, cJ, bU, bP, bR, cs, bI, bN, cP, cK, cL, ce, cg)
352+ then $Tuple2(0, cl)
353+ else $Tuple2(cH, cI)
354+ let cO = cN._1
355+ let cP = cN._2
356+ let cQ = [IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV), StringEntry(T(bI, bF), aF(cO, cP, cK, bV, bc, cJ, height, lastBlock.timestamp, cL, cM))]
357+ $Tuple13(cG, cK, bV, bQ, bS, ct, bJ, bO, cQ, cL, cM, cf, ch)
353358 }
354359 }
355360
356361
357-func cQ (cR) = {
358- let bu = aA()
359- let cS = bu[r]
360- let cT = bu[s]
361- let bN = parseIntValue(bu[p])
362- let bv = parseIntValue(bu[t])
363- let bw = parseIntValue(bu[u])
364- let cU = aU(cS)
362+func cR (cS) = {
363+ let bv = aA()
364+ let cT = bv[r]
365+ let cU = bv[s]
366+ let bO = parseIntValue(bv[p])
367+ let bw = parseIntValue(bv[t])
368+ let bx = parseIntValue(bv[u])
365369 let cV = aU(cT)
366- let bT = if ((cR.orderType == Buy))
367- then bl(bv, bw, (cU + cR.amount), cV)
368- else bl(bv, bw, (cU - cR.amount), cV)
369- let bU = E(bT, a)
370+ let cW = aU(cU)
371+ let bU = if ((cS.orderType == Buy))
372+ then bm(bw, bx, (cV + cS.amount), cW)
373+ else bm(bw, bx, (cV - cS.amount), cW)
374+ let bV = E(bU, a)
370375 if (if (if (ay())
371376 then true
372- else (bN == m))
377+ else (bO == m))
373378 then true
374- else (bN == n))
379+ else (bO == n))
375380 then throw("Admin blocked")
376381 else {
377- let cW = cR.assetPair.amountAsset
378- let cX = if ((cW == unit))
382+ let cX = cS.assetPair.amountAsset
383+ let cY = if ((cX == unit))
379384 then "WAVES"
380- else toBase58String(value(cW))
381- let cY = cR.assetPair.priceAsset
382- let cZ = if ((cY == unit))
385+ else toBase58String(value(cX))
386+ let cZ = cS.assetPair.priceAsset
387+ let da = if ((cZ == unit))
383388 then "WAVES"
384- else toBase58String(value(cY))
385- if (if ((cX != cS))
389+ else toBase58String(value(cZ))
390+ if (if ((cY != cT))
386391 then true
387- else (cZ != cT))
392+ else (da != cU))
388393 then throw("Wr assets")
389394 else {
390- let da = cR.price
391- let cr = fraction(a, bw, bv)
392- let db = H(da, a, cr)
393- let dc = if ((cR.orderType == Buy))
394- then (bU >= db)
395- else (db >= bU)
395+ let db = cS.price
396+ let cs = fraction(a, bx, bw)
397+ let dc = H(db, a, cs)
398+ let dd = if ((cS.orderType == Buy))
399+ then (bV >= dc)
400+ else (dc >= bV)
396401 true
397402 }
398403 }
399404 }
400405
401406
402-func dd (de) = if ((size(de.payments) != 1))
407+func de (df) = if ((size(df.payments) != 1))
403408 then throw("1 pmnt exp")
404409 else {
405- let df = value(de.payments[0])
406- let bF = value(df.assetId)
407- let ck = df.amount
408- let cw = bD(toBase58String(de.transactionId), toBase58String(bF), ck, de.caller)
409- let bZ = cw._1
410- let ca = cw._2
411- let bN = parseIntValue(cw._9)
412- let cb = cw._10
410+ let dg = value(df.payments[0])
411+ let bG = value(dg.assetId)
412+ let cl = dg.amount
413+ let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
414+ let ca = cx._1
415+ let cb = cx._2
416+ let bO = parseIntValue(cx._9)
417+ let cc = cx._10
413418 if (if (ay())
414419 then true
415- else (bN == n))
416- then throw(("Admin blocked: " + toString(bN)))
417- else $Tuple5(bZ, ca, ck, bF, cb)
420+ else (bO == n))
421+ then throw(("Admin blocked: " + toString(bO)))
422+ else $Tuple5(ca, cb, cl, bG, cc)
418423 }
419424
420425
421-func dg (ac,V,dh,di,bc,ci,cj,ck,cl) = {
422- let cw = cc(V, bc, value(dh).amount, value(dh).assetId, value(di).amount, value(di).assetId, ac, false, ci, cj, ck, cl)
423- let bN = parseIntValue(cw._8)
426+func dh (ac,V,di,dj,bc,cj,ck,cl,cm) = {
427+ let cx = cd(V, bc, value(di).amount, value(di).assetId, value(dj).amount, value(dj).assetId, ac, false, cj, ck, cl, cm)
428+ let bO = parseIntValue(cx._8)
424429 if (if (if (ay())
425430 then true
426- else (bN == l))
431+ else (bO == l))
427432 then true
428- else (bN == n))
429- then throw(("Blocked:" + toString(bN)))
430- else cw
433+ else (bO == n))
434+ then throw(("Blocked:" + toString(bO)))
435+ else cx
431436 }
432437
433438
434-func dj () = {
439+func dk () = {
435440 let aq = getString(N())
436441 if ($isInstanceOf(aq, "String"))
437442 then {
438- let dk = aq
439- fromBase58String(dk)
443+ let dl = aq
444+ fromBase58String(dl)
440445 }
441446 else if ($isInstanceOf(aq, "Unit"))
442447 then unit
443448 else throw("Match error")
444449 }
445450
446451
447-func dl () = {
452+func dm () = {
448453 let aq = getString(O())
449454 if ($isInstanceOf(aq, "String"))
450455 then {
451- let dk = aq
452- fromBase58String(dk)
456+ let dl = aq
457+ fromBase58String(dl)
453458 }
454459 else if ($isInstanceOf(aq, "Unit"))
455460 then unit
456461 else throw("Match error")
457462 }
458463
459464
460-let dm = throw("Permission denied")
465+let dn = throw("Permission denied")
461466
462-func dn (de) = {
463- let aq = dj()
467+func do (df) = {
468+ let aq = dk()
464469 if ($isInstanceOf(aq, "ByteVector"))
465470 then {
466- let do = aq
467- if ((de.callerPublicKey == do))
471+ let dp = aq
472+ if ((df.callerPublicKey == dp))
468473 then true
469- else dm
474+ else dn
470475 }
471476 else if ($isInstanceOf(aq, "Unit"))
472- then if ((de.caller == this))
477+ then if ((df.caller == this))
473478 then true
474- else dm
479+ else dn
475480 else throw("Match error")
476481 }
477482
478483
479-@Callable(de)
484+@Callable(df)
480485 func constructor (M) = {
481- let dp = dn(de)
482- if ((dp == dp))
486+ let dq = do(df)
487+ if ((dq == dq))
483488 then [StringEntry(M(), M)]
484489 else throw("Strict value is not equal to itself.")
485490 }
486491
487492
488493
489-@Callable(de)
490-func setManager (dq) = {
491- let dp = dn(de)
492- if ((dp == dp))
494+@Callable(df)
495+func setManager (dr) = {
496+ let dq = do(df)
497+ if ((dq == dq))
493498 then {
494- let dr = fromBase58String(dq)
495- if ((dr == dr))
496- then [StringEntry(O(), dq)]
499+ let ds = fromBase58String(dr)
500+ if ((ds == ds))
501+ then [StringEntry(O(), dr)]
497502 else throw("Strict value is not equal to itself.")
498503 }
499504 else throw("Strict value is not equal to itself.")
500505 }
501506
502507
503508
504-@Callable(de)
509+@Callable(df)
505510 func confirmManager () = {
506- let bC = dl()
507- let ds = if (isDefined(bC))
511+ let bD = dm()
512+ let dt = if (isDefined(bD))
508513 then true
509514 else throw("No pending manager")
510- if ((ds == ds))
515+ if ((dt == dt))
511516 then {
512- let dt = if ((de.callerPublicKey == value(bC)))
517+ let du = if ((df.callerPublicKey == value(bD)))
513518 then true
514519 else throw("You are not pending manager")
515- if ((dt == dt))
516- then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
520+ if ((du == du))
521+ then [StringEntry(N(), toBase58String(value(bD))), DeleteEntry(O())]
517522 else throw("Strict value is not equal to itself.")
518523 }
519524 else throw("Strict value is not equal to itself.")
520525 }
521526
522527
523528
524-@Callable(de)
525-func put (du,dv) = {
526- let dw = aE()
527- let dx = valueOrErrorMessage(addressFromString(dw[x]), "Wr st addr")
528- let dy = valueOrErrorMessage(addressFromString(dw[y]), "Wr sl addr")
529- if ((0 > du))
529+@Callable(df)
530+func put (dv,dw) = {
531+ let dx = aE()
532+ let dy = valueOrErrorMessage(addressFromString(dx[x]), "Wr st addr")
533+ let dz = valueOrErrorMessage(addressFromString(dx[y]), "Wr sl addr")
534+ if ((0 > dv))
530535 then throw("Wrong slippage")
531- else if ((size(de.payments) != 2))
536+ else if ((size(df.payments) != 2))
532537 then throw("2 pmnts expd")
533538 else {
534- let dz = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(value(de.payments[0]).assetId, value(de.payments[0]).amount), de.payments[1], du, true, false, 0, "")
535- let cJ = dz._2
536- let dA = dz._7
537- let cb = dz._9
538- let cK = dz._10
539- let cL = dz._11
540- let bJ = dz._12
541- let bK = dz._13
542- let cw = invoke(aw, "emit", [cJ], nil)
543- if ((cw == cw))
539+ let dA = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], dv, true, false, 0, "")
540+ let cK = dA._2
541+ let dB = dA._7
542+ let cc = dA._9
543+ let cL = dA._10
544+ let cM = dA._11
545+ let bK = dA._12
546+ let bL = dA._13
547+ let cx = invoke(aw, "emit", [cK], nil)
548+ if ((cx == cx))
544549 then {
545- let dB = {
546- let aq = cw
550+ let dC = {
551+ let aq = cx
547552 if ($isInstanceOf(aq, "Address"))
548553 then {
549- let dC = aq
550- invoke(dC, "emit", [cJ], nil)
554+ let dD = aq
555+ invoke(dD, "emit", [cK], nil)
551556 }
552557 else unit
553558 }
554- if ((dB == dB))
559+ if ((dC == dC))
555560 then {
556- let dD = if ((cK > 0))
557- then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
561+ let dE = if ((cL > 0))
562+ then invoke(dz, "put", nil, [AttachedPayment(bK, cL)])
558563 else nil
559- if ((dD == dD))
564+ if ((dE == dE))
560565 then {
561- let dE = if ((cL > 0))
562- then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
566+ let dF = if ((cM > 0))
567+ then invoke(dz, "put", nil, [AttachedPayment(bL, cM)])
563568 else nil
564- if ((dE == dE))
569+ if ((dF == dF))
565570 then {
566- let dF = if (dv)
571+ let dG = if (dw)
567572 then {
568- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569- if ((dG == dG))
573+ let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
574+ if ((dH == dH))
570575 then nil
571576 else throw("Strict value is not equal to itself.")
572577 }
573- else [ScriptTransfer(de.caller, cJ, dA)]
574- (cb ++ dF)
578+ else [ScriptTransfer(df.caller, cK, dB)]
579+ (cc ++ dG)
575580 }
576581 else throw("Strict value is not equal to itself.")
577582 }
578583 else throw("Strict value is not equal to itself.")
579584 }
580585 else throw("Strict value is not equal to itself.")
581586 }
582587 else throw("Strict value is not equal to itself.")
583588 }
584589 }
585590
586591
587592
588-@Callable(de)
589-func putOneTkn (dH,dI,dJ,bc,dv) = {
590- let bu = aE()
591- let dx = valueOrErrorMessage(addressFromString(bu[x]), "Wr st addr")
592- let dy = valueOrErrorMessage(addressFromString(bu[y]), "Wr sl addr")
593- let dK = valueOrErrorMessage(addressFromString(bu[z]), "Wr gwx addr")
594- let dL = aA()
595- let bJ = dL[r]
596- let bK = dL[s]
597- let bL = parseIntValue(dL[t])
598- let bM = parseIntValue(dL[u])
599- let dM = valueOrElse(getString(this, aa()), "")
600- let bH = if ((dM == toString(de.caller)))
601- then de.originCaller
602- else de.caller
603- let dN = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
604- let dO = reentrantInvoke(dN, "ensureCanGetOrPutOneTkn", [toString(bH)], nil)
605- if ((dO == dO))
593+@Callable(df)
594+func putOneTkn (dI,dJ,dK,bc,dw) = {
595+ let bv = aE()
596+ let dy = valueOrErrorMessage(addressFromString(bv[x]), "Wr st addr")
597+ let dz = valueOrErrorMessage(addressFromString(bv[y]), "Wr sl addr")
598+ let dL = valueOrErrorMessage(addressFromString(bv[z]), "Wr gwx addr")
599+ let dM = aA()
600+ let bK = dM[r]
601+ let bL = dM[s]
602+ let bM = parseIntValue(dM[t])
603+ let bN = parseIntValue(dM[u])
604+ let dN = valueOrElse(getString(this, aa()), "")
605+ let bI = if ((dN == toString(df.caller)))
606+ then df.originCaller
607+ else df.caller
608+ let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
609+ let dP = reentrantInvoke(dO, "ensureCanGetOrPutOneTkn", [toString(bI)], nil)
610+ if ((dP == dP))
606611 then if (if (if (if ((0 >= bc))
607- then true
608- else (0 >= dH))
609612 then true
610613 else (0 >= dI))
611614 then true
612615 else (0 >= dJ))
616+ then true
617+ else (0 >= dK))
613618 then throw("Wrong params")
614- else if ((size(de.payments) != 1))
619+ else if ((size(df.payments) != 1))
615620 then throw("1 pmnt expd")
616621 else {
617- let df = value(de.payments[0])
618- let bF = toBase58String(value(df.assetId))
619- let ck = df.amount
620- if (if (if ((dH > ck))
622+ let dg = value(df.payments[0])
623+ let bG = toBase58String(value(dg.assetId))
624+ let cl = dg.amount
625+ if (if (if ((dI > cl))
621626 then true
622- else (dI > ck))
627+ else (dJ > cl))
623628 then true
624- else (10000000 > ck))
629+ else (10000000 > cl))
625630 then throw("Wrong pmt amt")
626631 else {
627- let bP = aU(bJ)
628- let bR = aU(bK)
629- let dP = if ((bF == bJ))
630- then $Tuple6((bP - ck), bR, (ck - dH), dI, 0, 0)
631- else if ((bF == bK))
632- then $Tuple6(bP, (bR - ck), 0, 0, (ck - dI), dH)
632+ let bQ = aU(bK)
633+ let bS = aU(bL)
634+ let dQ = if ((bG == bK))
635+ then $Tuple6((bQ - cl), bS, (cl - dI), dJ, 0, 0)
636+ else if ((bG == bL))
637+ then $Tuple6(bQ, (bS - cl), 0, 0, (cl - dJ), dI)
633638 else throw("wrong pmtAssetId")
634- let dQ = dP._1
635- let dR = dP._2
636- let dS = dP._3
637- let dT = dP._4
638- let dU = dP._5
639- let dV = dP._6
640- let bh = invoke(dK, "calcD", [toString(dQ), toString(dR), ax, g, h], nil)
641- let bg = invoke(dK, "calcD", [toString(toBigInt(((dQ + dS) - dV))), toString(toBigInt(((dR + dU) - dT))), ax, g, h], nil)
642- let dW = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
643- if ((dW == dW))
639+ let dR = dQ._1
640+ let dS = dQ._2
641+ let dT = dQ._3
642+ let dU = dQ._4
643+ let dV = dQ._5
644+ let dW = dQ._6
645+ let bh = invoke(dL, "calcD", [toString(dR), toString(dS), ax, g, h], nil)
646+ let bg = invoke(dL, "calcD", [toString(toBigInt(((dR + dT) - dW))), toString(toBigInt(((dS + dV) - dU))), ax, g, h], nil)
647+ let dX = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
648+ if ((dX == dX))
644649 then {
645- let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(fromBase58String(bJ), dH), AttachedPayment(fromBase58String(bK), dI), bc, true, true, ck, bF)
646- let dY = dX._2
647- let dA = dX._7
648- let cb = dX._9
649- let cK = dX._10
650- let cL = dX._11
651- let dZ = aZ(toBigInt(dY), toBigInt(dJ), toBigInt(bc))
652- let cJ = toInt(dZ._2)
653- let dz = invoke(aw, "emit", [cJ], nil)
654- if ((dz == dz))
650+ let dY = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(fromBase58String(bK), dI), AttachedPayment(fromBase58String(bL), dJ), bc, true, true, cl, bG)
651+ let dZ = dY._2
652+ let dB = dY._7
653+ let cc = dY._9
654+ let cL = dY._10
655+ let cM = dY._11
656+ let ea = aZ(toBigInt(dZ), toBigInt(dK), toBigInt(bc))
657+ let cK = toInt(ea._2)
658+ let dA = invoke(aw, "emit", [cK], nil)
659+ if ((dA == dA))
655660 then {
656- let dB = {
657- let aq = dz
661+ let dC = {
662+ let aq = dA
658663 if ($isInstanceOf(aq, "Address"))
659664 then {
660- let dC = aq
661- invoke(dC, "emit", [cJ], nil)
665+ let dD = aq
666+ invoke(dD, "emit", [cK], nil)
662667 }
663668 else unit
664669 }
665- if ((dB == dB))
670+ if ((dC == dC))
666671 then {
667- let dD = if ((cK > 0))
668- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
672+ let dE = if ((cL > 0))
673+ then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
669674 else nil
670- if ((dD == dD))
675+ if ((dE == dE))
671676 then {
672- let dE = if ((cL > 0))
673- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
677+ let dF = if ((cM > 0))
678+ then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bL), cM)])
674679 else nil
675- if ((dE == dE))
680+ if ((dF == dF))
676681 then {
677- let dF = if (dv)
682+ let dG = if (dw)
678683 then {
679- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680- if ((dG == dG))
684+ let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
685+ if ((dH == dH))
681686 then nil
682687 else throw("Strict value is not equal to itself.")
683688 }
684- else [ScriptTransfer(de.caller, cJ, dA)]
685- (cb ++ dF)
689+ else [ScriptTransfer(df.caller, cK, dB)]
690+ (cc ++ dG)
686691 }
687692 else throw("Strict value is not equal to itself.")
688693 }
689694 else throw("Strict value is not equal to itself.")
690695 }
691696 else throw("Strict value is not equal to itself.")
692697 }
693698 else throw("Strict value is not equal to itself.")
694699 }
695700 else throw("Strict value is not equal to itself.")
696701 }
697702 }
698703 else throw("Strict value is not equal to itself.")
699704 }
700705
701706
702707
703-@Callable(de)
704-func putForFree (ea) = if ((0 > ea))
708+@Callable(df)
709+func putForFree (eb) = if ((0 > eb))
705710 then throw("Wrong slpg")
706- else if ((size(de.payments) != 2))
711+ else if ((size(df.payments) != 2))
707712 then throw("2 pmnts expd")
708713 else {
709- let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(value(de.payments[0]).assetId, value(de.payments[0]).amount), de.payments[1], ea, false, false, 0, "")
710- dX._9
714+ let dY = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], eb, false, false, 0, "")
715+ dY._9
711716 }
712717
713718
714719
715-@Callable(de)
720+@Callable(df)
716721 func get () = {
717- let cw = dd(de)
718- let eb = cw._1
719- let ca = cw._2
720- let ck = cw._3
721- let bF = cw._4
722- let cb = cw._5
723- let ec = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
724- if ((ec == ec))
725- then cb
722+ let cx = de(df)
723+ let ec = cx._1
724+ let cb = cx._2
725+ let cl = cx._3
726+ let bG = cx._4
727+ let cc = cx._5
728+ let ed = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
729+ if ((ed == ed))
730+ then cc
726731 else throw("Strict value is not equal to itself.")
727732 }
728733
729734
730735
731-@Callable(de)
732-func getOneTkn (ed,ee,ef,eg,bc) = if ((size(de.payments) != 1))
736+@Callable(df)
737+func getOneTkn (ee,ef,eg,eh,bc) = if ((size(df.payments) != 1))
733738 then throw("1 pmnt expd")
734739 else {
735- let bu = aA()
736- let bI = bu[q]
737- let bJ = bu[r]
738- let bK = bu[s]
739- let bL = parseIntValue(bu[t])
740- let bM = parseIntValue(bu[u])
741- let bN = bu[p]
742- let dw = aE()
743- let dK = valueOrErrorMessage(addressFromString(dw[z]), "Wr sl addr")
744- let df = value(de.payments[0])
745- let dM = valueOrElse(getString(this, aa()), "")
746- let bH = if ((dM == toString(de.caller)))
747- then de.originCaller
748- else de.caller
749- let bE = toBase58String(de.transactionId)
750- let bF = value(df.assetId)
751- let ck = df.amount
752- let dN = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
753- let dO = reentrantInvoke(dN, "ensureCanGetOrPutOneTkn", [toString(bH)], nil)
754- if ((dO == dO))
755- then if ((1000000000 > ck))
740+ let bv = aA()
741+ let bJ = bv[q]
742+ let bK = bv[r]
743+ let bL = bv[s]
744+ let bM = parseIntValue(bv[t])
745+ let bN = parseIntValue(bv[u])
746+ let bO = bv[p]
747+ let dx = aE()
748+ let dL = valueOrErrorMessage(addressFromString(dx[z]), "Wr sl addr")
749+ let dg = value(df.payments[0])
750+ let dN = valueOrElse(getString(this, aa()), "")
751+ let bI = if ((dN == toString(df.caller)))
752+ then df.originCaller
753+ else df.caller
754+ let bF = toBase58String(df.transactionId)
755+ let bG = value(dg.assetId)
756+ let cl = dg.amount
757+ let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
758+ let dP = reentrantInvoke(dO, "ensureCanGetOrPutOneTkn", [toString(bI)], nil)
759+ if ((dP == dP))
760+ then if ((1000000000 > cl))
756761 then throw("Min pmt 10 LP")
757762 else if (if (if ((0 > bc))
758763 then true
759- else (0 > ed))
764+ else (0 > ee))
760765 then true
761- else (0 > ef))
766+ else (0 > eg))
762767 then throw("Wrong params")
763- else if ((bI != toBase58String(bF)))
768+ else if ((bJ != toBase58String(bG)))
764769 then throw("Wrong LP")
765770 else {
766- let cw = bD(toBase58String(de.transactionId), toBase58String(bF), ck, de.caller)
767- let eh = cw._1
768- let ei = cw._2
769- let bP = aU(bJ)
770- let bR = aU(bK)
771- let ej = if ((eg == bJ))
772- then $Tuple7((bP - eh), (bR - ei), ed, ei, 0, 0, (eh + ed))
773- else if ((eg == bK))
774- then $Tuple7((bP - eh), (bR - ei), 0, 0, ed, eh, (ei + ed))
771+ let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
772+ let ei = cx._1
773+ let ej = cx._2
774+ let bQ = aU(bK)
775+ let bS = aU(bL)
776+ let ek = if ((eh == bK))
777+ then $Tuple7((bQ - ei), (bS - ej), ee, ej, 0, 0, (ei + ee))
778+ else if ((eh == bL))
779+ then $Tuple7((bQ - ei), (bS - ej), 0, 0, ee, ei, (ej + ee))
775780 else throw("wrong outAssetId")
776- let dQ = ej._1
777- let dR = ej._2
778- let dS = ej._3
779- let dT = ej._4
780- let dU = ej._5
781- let dV = ej._6
782- let ek = ej._7
783- if (if ((0 > dS))
781+ let dR = ek._1
782+ let dS = ek._2
783+ let dT = ek._3
784+ let dU = ek._4
785+ let dV = ek._5
786+ let dW = ek._6
787+ let el = ek._7
788+ if (if ((0 > dT))
784789 then true
785- else (0 > dU))
790+ else (0 > dV))
786791 then throw("Wrong calc")
787792 else {
788- let bh = invoke(dK, "calcD", [toString(dQ), toString(dR), ax, g, h], nil)
789- let bg = invoke(dK, "calcD", [toString(((dQ - dS) + dV)), toString(((dR + dT) - dU)), ax, g, h], nil)
790- let dW = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
791- if ((dW == dW))
793+ let bh = invoke(dL, "calcD", [toString(dR), toString(dS), ax, g, h], nil)
794+ let bg = invoke(dL, "calcD", [toString(((dR - dT) + dW)), toString(((dS + dU) - dV)), ax, g, h], nil)
795+ let dX = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
796+ if ((dX == dX))
792797 then {
793- let el = aZ(toBigInt(ek), toBigInt(ef), toBigInt(bc))
794- if ((el == el))
798+ let em = aZ(toBigInt(el), toBigInt(eg), toBigInt(bc))
799+ if ((em == em))
795800 then {
796- let em = if ((eg == bJ))
797- then $Tuple2(toInt(el._2), 0)
798- else $Tuple2(0, toInt(el._2))
799- let en = em._1
800- let eo = em._2
801- let ep = aW(B(bR, bM), B(bP, bL))
802- let eq = E(ep, a)
803- let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
801+ let en = if ((eh == bK))
802+ then $Tuple2(toInt(em._2), 0)
803+ else $Tuple2(0, toInt(em._2))
804+ let eo = en._1
805+ let ep = en._2
806+ let eq = aW(B(bS, bN), B(bQ, bM))
807+ let er = E(eq, a)
808+ let cc = [ScriptTransfer(bI, (eo + ep), if ((eh == "WAVES"))
804809 then unit
805- else fromBase58String(eg)), StringEntry(W(toString(bH), bE), aQ(en, eo, ck, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
806- if ((cb == cb))
810+ else fromBase58String(eh)), StringEntry(W(toString(bI), bF), aQ(eo, ep, cl, er, height, lastBlock.timestamp)), IntegerEntry(P(), er), IntegerEntry(Q(height, lastBlock.timestamp), er)]
811+ if ((cc == cc))
807812 then {
808- let er = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
809- if ((er == er))
810- then cb
813+ let es = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
814+ if ((es == es))
815+ then cc
811816 else throw("Strict value is not equal to itself.")
812817 }
813818 else throw("Strict value is not equal to itself.")
814819 }
815820 else throw("Strict value is not equal to itself.")
816821 }
817822 else throw("Strict value is not equal to itself.")
818823 }
819824 }
820825 else throw("Strict value is not equal to itself.")
821826 }
822827
823828
824829
825-@Callable(de)
826-func getNoLess (es,et) = {
827- let cw = dd(de)
828- let bZ = cw._1
829- let ca = cw._2
830- let ck = cw._3
831- let bF = cw._4
832- let cb = cw._5
833- if ((es > bZ))
834- then throw(((("Failed: " + toString(bZ)) + " < ") + toString(es)))
835- else if ((et > ca))
836- then throw(((("Failed: " + toString(ca)) + " < ") + toString(et)))
830+@Callable(df)
831+func getNoLess (et,eu) = {
832+ let cx = de(df)
833+ let ca = cx._1
834+ let cb = cx._2
835+ let cl = cx._3
836+ let bG = cx._4
837+ let cc = cx._5
838+ if ((et > ca))
839+ then throw(((("Failed: " + toString(ca)) + " < ") + toString(et)))
840+ else if ((eu > cb))
841+ then throw(((("Failed: " + toString(cb)) + " < ") + toString(eu)))
837842 else {
838- let eu = invoke(aw, "burn", [ck], [AttachedPayment(bF, ck)])
839- if ((eu == eu))
840- then cb
843+ let ev = invoke(aw, "burn", [cl], [AttachedPayment(bG, cl)])
844+ if ((ev == ev))
845+ then cc
841846 else throw("Strict value is not equal to itself.")
842847 }
843848 }
844849
845850
846851
847-@Callable(de)
848-func unstakeAndGet (ev) = {
849- let ew = if ((size(de.payments) != 0))
852+@Callable(df)
853+func unstakeAndGet (ew) = {
854+ let ex = if ((size(df.payments) != 0))
850855 then throw("No pmnts expd")
851856 else true
852- if ((ew == ew))
857+ if ((ex == ex))
853858 then {
854- let bu = aA()
855- let ex = aE()
856- let dA = fromBase58String(bu[q])
857- let ey = valueOrErrorMessage(addressFromString(ex[x]), "Wr st addr")
858- let ez = invoke(ey, "unstake", [toBase58String(dA), ev], nil)
859- if ((ez == ez))
859+ let bv = aA()
860+ let ey = aE()
861+ let dB = fromBase58String(bv[q])
862+ let ez = valueOrErrorMessage(addressFromString(ey[x]), "Wr st addr")
863+ let eA = invoke(ez, "unstake", [toBase58String(dB), ew], nil)
864+ if ((eA == eA))
860865 then {
861- let cw = bD(toBase58String(de.transactionId), toBase58String(dA), ev, de.caller)
862- let bN = parseIntValue(cw._9)
863- let cb = cw._10
864- let eA = if (if (ay())
866+ let cx = bE(toBase58String(df.transactionId), toBase58String(dB), ew, df.caller)
867+ let bO = parseIntValue(cx._9)
868+ let cc = cx._10
869+ let eB = if (if (ay())
865870 then true
866- else (bN == n))
867- then throw(("Blocked: " + toString(bN)))
871+ else (bO == n))
872+ then throw(("Blocked: " + toString(bO)))
868873 else true
869- if ((eA == eA))
874+ if ((eB == eB))
870875 then {
871- let eB = invoke(aw, "burn", [ev], [AttachedPayment(dA, ev)])
872- if ((eB == eB))
873- then cb
876+ let eC = invoke(aw, "burn", [ew], [AttachedPayment(dB, ew)])
877+ if ((eC == eC))
878+ then cc
874879 else throw("Strict value is not equal to itself.")
875880 }
876881 else throw("Strict value is not equal to itself.")
877882 }
878883 else throw("Strict value is not equal to itself.")
879884 }
880885 else throw("Strict value is not equal to itself.")
881886 }
882887
883888
884889
885-@Callable(de)
886-func activate (eC,eD) = if ((toString(de.caller) != toString(aw)))
890+@Callable(df)
891+func activate (eD,eE) = if ((toString(df.caller) != toString(aw)))
887892 then throw("denied")
888- else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
893+ else $Tuple2([StringEntry(X(), eD), StringEntry(Y(), eE)], "success")
889894
890895
891896
892-@Callable(de)
893-func setS (eE,eA) = if ((toString(de.caller) != as(this, aa())))
894- then dm
895- else [StringEntry(eE, eA)]
897+@Callable(df)
898+func setS (eF,eB) = if ((toString(df.caller) != as(this, aa())))
899+ then dn
900+ else [StringEntry(eF, eB)]
896901
897902
898903
899-@Callable(de)
900-func setI (eE,eA) = if ((toString(de.caller) != as(this, aa())))
901- then dm
902- else [IntegerEntry(eE, eA)]
904+@Callable(df)
905+func setI (eF,eB) = if ((toString(df.caller) != as(this, aa())))
906+ then dn
907+ else [IntegerEntry(eF, eB)]
903908
904909
905910
906-@Callable(de)
911+@Callable(df)
907912 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aA())
908913
909914
910915
911-@Callable(de)
916+@Callable(df)
912917 func getAccBalanceWrapperREADONLY (aV) = $Tuple2(nil, aU(aV))
913918
914919
915920
916-@Callable(de)
917-func calcPricesWrapperREADONLY (bo,bp,bt) = {
918- let eF = bs(bo, bp, bt)
919- $Tuple2(nil, [toString(eF[0]), toString(eF[1]), toString(eF[2])])
921+@Callable(df)
922+func calcPricesWrapperREADONLY (bp,bq,bu) = {
923+ let eG = bt(bp, bq, bu)
924+ $Tuple2(nil, [toString(eG[0]), toString(eG[1]), toString(eG[2])])
920925 }
921926
922927
923928
924-@Callable(de)
925-func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
929+@Callable(df)
930+func fromX18WrapperREADONLY (F,eH) = $Tuple2(nil, E(parseBigIntValue(F), eH))
926931
927932
928933
929-@Callable(de)
934+@Callable(df)
930935 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
931936
932937
933938
934-@Callable(de)
939+@Callable(df)
935940 func calcPriceBigIntWrapperREADONLY (aX,aY) = $Tuple2(nil, toString(aW(parseBigIntValue(aX), parseBigIntValue(aY))))
936941
937942
938943
939-@Callable(de)
940-func estimatePutOperationWrapperREADONLY (bE,bc,cd,ce,cf,cg,eH,ch,ci) = $Tuple2(nil, cc(bE, bc, cd, ce, cf, cg, eH, ch, ci, false, 0, ""))
944+@Callable(df)
945+func estimatePutOperationWrapperREADONLY (bF,bc,ce,cf,cg,ch,eI,ci,cj) = $Tuple2(nil, cd(bF, bc, ce, cf, cg, ch, eI, ci, cj, false, 0, ""))
941946
942947
943948
944-@Callable(de)
945-func estimateGetOperationWrapperREADONLY (bE,eI,bG,eH) = {
946- let cw = bD(bE, eI, bG, addressFromStringValue(eH))
947- $Tuple2(nil, $Tuple10(cw._1, cw._2, cw._3, cw._4, cw._5, cw._6, cw._7, toString(cw._8), cw._9, cw._10))
949+@Callable(df)
950+func estimateGetOperationWrapperREADONLY (bF,eJ,bH,eI) = {
951+ let cx = bE(bF, eJ, bH, addressFromStringValue(eI))
952+ $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
948953 }
949954
950955
951-@Verifier(eJ)
952-func eK () = {
953- let aq = eJ
956+@Verifier(eK)
957+func eL () = {
958+ let aq = eK
954959 if ($isInstanceOf(aq, "Order"))
955960 then {
956- let cR = aq
957- let eL = az()
958- let am = cQ(cR)
959- let eM = sigVerify(cR.bodyBytes, cR.proofs[0], cR.senderPublicKey)
960- let eN = sigVerify(cR.bodyBytes, cR.proofs[1], eL)
961+ let cS = aq
962+ let eM = az()
963+ let am = cR(cS)
964+ let eN = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
965+ let eO = sigVerify(cS.bodyBytes, cS.proofs[1], eM)
961966 if (if (if (am)
962- then eM
963- else false)
964967 then eN
965968 else false)
969+ then eO
970+ else false)
966971 then true
967- else al(am, eM, eN)
972+ else al(am, eN, eO)
968973 }
969974 else {
970- let eO = {
971- let eP = dj()
972- if ($isInstanceOf(eP, "ByteVector"))
975+ let eP = {
976+ let eQ = dk()
977+ if ($isInstanceOf(eQ, "ByteVector"))
973978 then {
974- let do = eP
975- do
979+ let dp = eQ
980+ dp
976981 }
977- else if ($isInstanceOf(eP, "Unit"))
978- then eJ.senderPublicKey
982+ else if ($isInstanceOf(eQ, "Unit"))
983+ then eK.senderPublicKey
979984 else throw("Match error")
980985 }
981- sigVerify(eJ.bodyBytes, eJ.proofs[0], eO)
986+ sigVerify(eK.bodyBytes, eK.proofs[0], eP)
982987 }
983988 }
984989

github/deemru/w8io/026f985 
299.82 ms