tx · 54CZLDCgVHrgGpa5uHB5BXC5Geb1HYrXtQt8SMbTpDNx

3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt:  -0.03600000 Waves

2022.06.06 23:39 [2084983] smart account 3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt > SELF 0.00000000 Waves

{ "type": 13, "id": "54CZLDCgVHrgGpa5uHB5BXC5Geb1HYrXtQt8SMbTpDNx", "fee": 3600000, "feeAssetId": null, "timestamp": 1654548013875, "version": 1, "sender": "3Mz51suw3H98TBYJHSra1k2uSYQMv2vUkzt", "senderPublicKey": "8RPibCyjGbPr7troJPW7WTXkrbynj8HwkrckopSZoYVn", "proofs": [ "5ixDHjBmc8GTLwwezvpcsfsAyDMdCefTXGGoEGABXpanedXfykS7f62SqjzrqM6GfdwPTZ4MTKhAi9Y3QRG8fN8w" ], "script": "base64:AAIFAAAAAAAAEo8IAhIDCgEIEgMKAQgSABIECgIBBBIHCgUBAQEBBBIDCgEBEgASBwoFAQEBCAESBAoCAQESAwoBARIECgIICBIECgIICBIECgIIARIAEgMKAQgSBQoDAQEBEgQKAggBEgQKAgEBEgQKAggIEgsKCQgBAQIBAggEBBIGCgQICAEIGgoKAUESBWRlbGF5GgcKAUISAnQxGgwKAUMSB29yaWdWYWwaEgoBRBINb3JpZ1NjYWxlTXVsdBoHCgFFEgJmMRoICgFGEgN2YWwaFAoBRxIPcmVzdWx0U2NhbGVNdWx0GgcKAUgSAnRzGggKAUkSA2FtdBoNCgFKEghyZXNTY2FsZRoNCgFLEghjdXJTY2FsZRoICgFMEgNhYnMaBwoBTRICZmMaCAoBThIDbXBrGgkKAU8SBHBtcGsaBwoBUBICcGwaBwoBURICcGgaBgoBUhIBaBoGCgFTEgF0GggKAVQSA3BhdRoHCgFVEgJ1YRoJCgFWEgR0eElkGggKAVcSA2dhdRoHCgFYEgJhYRoHCgFZEgJwYRoICgFaEgNhbXAaCwoBYRIGc2NhbGU4GggKAmFBEgJtcBoJCgJhQhIDZ3BjGgsKAmFDEgVhbXRBcxoNCgJhRBIHcHJpY2VBcxoOCgJhRRIIaVByaWNlQXMaCQoCYUYSA2dmYxoXCgJhRxIRZGF0YVB1dEFjdGlvbkluZm8aEwoCYUgSDWluQW10QXNzZXRBbXQaFQoCYUkSD2luUHJpY2VBc3NldEFtdBoOCgJhShIIb3V0THBBbXQaCwoCYUsSBXByaWNlGhAKAmFMEgpzbGlwQnlVc2VyGhIKAmFNEgxzbGlwcGFnZVJlYWwaDgoCYU4SCHR4SGVpZ2h0GhEKAmFPEgt0eFRpbWVzdGFtcBoSCgJhUBIMc2xpcGFnZUFtQW10GhIKAmFREgxzbGlwYWdlUHJBbXQaFwoCYVISEWRhdGFHZXRBY3Rpb25JbmZvGhQKAmFTEg5vdXRBbXRBc3NldEFtdBoWCgJhVBIQb3V0UHJpY2VBc3NldEFtdBoNCgJhVRIHaW5McEFtdBoTCgJhVhINZ2V0QWNjQmFsYW5jZRoNCgJhVxIHYXNzZXRJZBoKCgJhWBIEY3BiaRoOCgJhWRIIcHJBbXRYMTgaDgoCYVoSCGFtQW10WDE4GgkKAmFhEgNhZGEaCwoCYWISBWxnb3RjGgwKAmFjEgZjYWxsZXIaCwoCYWQSBWxzb3RjGgoKAmFlEgRmY2ZnGgoKAmFmEgRtdHBrGggKAmFnEgJwYxoMCgJhaBIGaUFtdEFzGgsKAmFpEgVpUHJBcxoJCgJhahIDbWJhGgsKAmFrEgViQVN0choJCgJhbBIDYXBzGgkKAmFtEgN0b2UaCQoCYW4SA29yVhoMCgJhbxIGc2VuZHJWGgwKAmFwEgZtYXRjaFYaCQoCYXESA3N0choNCgJhchIHJG1hdGNoMBoMCgJhcxIGdmFsU3RyGgoKAmF0EgRzdHJmGgoKAmF1EgRhZGRyGgkKAmF2EgNrZXkaCgoCYXcSBGludGYaCQoCYXgSA2ZjYRoHCgJheRIBQRoJCgJhehIDaWdzGhEKAWISDHNjYWxlOEJpZ0ludBoTCgJiQRINbHBQckluUHJBc1gxOBoVCgJiQhIPY2FsY3VsYXRlUHJpY2VzGgcKAmJDEgFwGgkKAmJEEgNlZ28aDAoCYkUSBnR4SWQ1OBoQCgJiRhIKcG10QXNzZXRJZBoOCgJiRxIIcG10THBBbXQaEQoCYkgSC3VzZXJBZGRyZXNzGgoKAmJJEgRscElkGgoKAmJKEgRhbUlkGgoKAmJLEgRwcklkGgsKAmJMEgVhbURjbRoLCgJiTRIFcHJEY20aCQoCYk4SA3N0cxoNCgJiTxIHbHBFbWlzcxoPCgJiUBIJYW1CYWxhbmNlGhIKAmJREgxhbUJhbGFuY2VYMTgaDwoCYlISCXByQmFsYW5jZRoSCgJiUxIMcHJCYWxhbmNlWDE4GhEKAmJUEgtjdXJQcmljZVgxOBoOCgJiVRIIY3VyUHJpY2UaEQoCYlYSC3BtdExwQW10WDE4GhAKAmJXEgpscEVtaXNzWDE4GhEKAmJYEgtvdXRBbUFtdFgxOBoRCgJiWRILb3V0UHJBbXRYMTgaDgoCYloSCG91dEFtQW10GgkKAmJhEgN2YWQaCAoCYmISAkExGggKAmJjEgJBMhoOCgJiZBIIc2xpcHBhZ2UaCgoCYmUSBGRpZmYaCgoCYmYSBHBhc3MaCAoCYmcSAnZkGggKAmJoEgJEMRoICgJiaRICRDAaCgoCYmoSBHNscGcaCgoCYmsSBGZhaWwaCQoCYmwSA3BjcBoQCgJibRIKYW1Bc3NldERjbRoQCgJibhIKcHJBc3NldERjbRoLCgJibxIFYW1BbXQaCwoCYnASBXByQW10GhEKAmJxEgthbXRBc0FtdFgxOBoQCgJichIKcHJBc0FtdFgxOBoQCgJicxIKY2FsY1ByaWNlcxoLCgJidBIFbHBBbXQaCQoCYnUSA2NmZxoOCgJidhIIYW10QXNEY20aDQoCYncSB3ByQXNEY20aDgoCYngSCHByaWNlWDE4Gg4KAmJ5EghscEFtdFgxOBoTCgJiehINbHBQckluQW1Bc1gxOBoMCgFjEgdzY2FsZTE4GhAKAmNBEgpwclZpYUFtWDE4GhAKAmNCEgphbVZpYVByWDE4GhIKAmNDEgxleHBlY3RlZEFtdHMaFwoCY0QSEWV4cEFtdEFzc2V0QW10WDE4GhkKAmNFEhNleHBQcmljZUFzc2V0QW10WDE4Gg8KAmNGEgljYWxjTHBBbXQaFAoCY0cSDmNhbGNBbUFzc2V0UG10GhQKAmNIEg5jYWxjUHJBc3NldFBtdBoSCgJjSRIMc2xpcHBhZ2VDYWxjGg8KAmNKEgllbWl0THBBbXQaDAoCY0sSBmFtRGlmZhoMCgJjTBIGcHJEaWZmGhMKAmNNEg0kdDAxNTUzMTE1ODc2GhAKAmNOEgp3cml0ZUFtQW10GhAKAmNPEgp3cml0ZVByQW10GhEKAmNQEgtjb21tb25TdGF0ZRoJCgJjURIDbW9hGgsKAmNSEgVvcmRlchoNCgJjUxIHYW10QXNJZBoMCgJjVBIGcHJBc0lkGhUKAmNVEg9hY2NBbXRBc0JhbGFuY2UaFAoCY1YSDmFjY1ByQXNCYWxhbmNlGhAKAmNXEgpvckFtdEFzc2V0GhAKAmNYEgpvckFtdEFzU3RyGg8KAmNZEglvclByQXNzZXQaDwoCY1oSCW9yUHJBc1N0choOCgJjYRIIb3V0UHJBbXQaCwoCY2ISBXN0YXRlGgkKAmNjEgNlcG8aDQoCY2QSB2luQW1BbXQaDAoCY2USBmluQW1JZBoNCgJjZhIHaW5QckFtdBoMCgJjZxIGaW5QcklkGgwKAmNoEgZpc0V2YWwaDAoCY2kSBmVtaXRMcBoQCgJjahIKaXNPbmVBc3NldBoMCgJjaxIGcG10QW10GgsKAmNsEgVwbXRJZBoNCgJjbRIHYW1JZFN0choNCgJjbhIHcHJJZFN0choP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", "chainId": 84, "height": 2084983, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C484A7DPDaRJEqhvW9bet9MHSAxLUuTSKtfFxbhqqU2d Next: 62d83Zvmpq7eF9FjcGYKqtzQkVeTziJzH9mqowoE4Zuk Diff:
OldNewDifferences
190190
191191 func bg (bh,bi,bj) = {
192192 let be = fraction(bi, b, bh)
193- if ((be == be))
194- then {
195- let bk = throw("after diff error")
196- if ((bk == bk))
197- then {
198- let bl = (bj > be)
199- if (if (bl)
200- then true
201- else (bi > bh))
202- then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
203- else bl
204- }
205- else throw("Strict value is not equal to itself.")
206- }
207- else throw("Strict value is not equal to itself.")
193+ let bk = (bj > be)
194+ if (if (bk)
195+ then true
196+ else (bi > bh))
197+ then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
198+ else bk
208199 }
209200
210201
211-func bm (bn,bo,bp,bq) = {
202+func bl (bm,bn,bo,bp) = {
203+ let bq = B(bo, bm)
212204 let br = B(bp, bn)
213- let bs = B(bq, bo)
214- aX(bs, br)
205+ aX(br, bq)
215206 }
216207
217208
218-func bt (bp,bq,bu) = {
219- let bv = aB()
220- let bw = parseIntValue(bv[t])
221- let bx = parseIntValue(bv[u])
222- let by = bm(bw, bx, bp, bq)
223- let aZ = B(bp, bw)
224- let aY = B(bq, bx)
225- let bz = B(bu, a)
226- let bA = aX(aZ, bz)
227- let bB = aX(aY, bz)
228-[by, bA, bB]
209+func bs (bo,bp,bt) = {
210+ let bu = aB()
211+ let bv = parseIntValue(bu[t])
212+ let bw = parseIntValue(bu[u])
213+ let bx = bl(bv, bw, bo, bp)
214+ let aZ = B(bo, bv)
215+ let aY = B(bp, bw)
216+ let by = B(bt, a)
217+ let bz = aX(aZ, by)
218+ let bA = aX(aY, by)
219+[bx, bz, bA]
229220 }
230221
231222
232-func bC (bp,bq,bu) = {
233- let bD = bt(bp, bq, bu)
234-[E(bD[0], a), E(bD[1], a), E(bD[2], a)]
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)]
235226 }
236227
237228
238-func bE (bF,bG,bH,bI) = {
239- let bv = aB()
240- let bJ = bv[q]
241- let bK = bv[r]
242- let bL = bv[s]
243- let bM = parseIntValue(bv[t])
244- let bN = parseIntValue(bv[u])
245- let bO = bv[p]
246- let bP = valueOrErrorMessage(assetInfo(fromBase58String(bJ)), "Wrong LP id").quantity
247- if ((bJ != bG))
229+func bD (bE,bF,bG,bH) = {
230+ let bu = aB()
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))
248239 then throw("Wrong pmt asset")
249240 else {
250- let bQ = aV(bK)
251- let bR = B(bQ, bM)
252- let bS = aV(bL)
253- let bT = B(bS, bN)
254- let bU = aX(bT, bR)
255- let bV = E(bU, a)
256- let bW = B(bH, a)
257- let bX = B(bP, a)
258- let bY = fraction(bR, bW, bX)
259- let bZ = fraction(bT, bW, bX)
241+ let bP = aV(bJ)
242+ let bQ = B(bP, bL)
243+ let bR = aV(bK)
244+ let bS = B(bR, bM)
245+ let bT = aX(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)
260252 let ca = E(bY, bM)
261- let cb = E(bZ, bN)
262- let cc = if ((bF == ""))
253+ let cb = if ((bE == ""))
263254 then nil
264- else [ScriptTransfer(bI, ca, if ((bK == "WAVES"))
255+ else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
265256 then unit
266- else fromBase58String(bK)), ScriptTransfer(bI, cb, if ((bL == "WAVES"))
257+ else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
267258 then unit
268- else fromBase58String(bL)), StringEntry(W(toString(bI), bF), aR(ca, cb, bH, bV, height, lastBlock.timestamp)), IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV)]
269- $Tuple10(ca, cb, bK, bL, bQ, bS, bP, bU, bO, cc)
259+ else fromBase58String(bK)), StringEntry(W(toString(bH), bE), aR(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)
270261 }
271262 }
272263
273264
274-func cd (bF,bd,ce,cf,cg,ch,bI,ci,cj,ck,cl,cm) = {
275- let bv = aB()
276- let bJ = fromBase58String(bv[q])
277- let cn = bv[r]
278- let co = bv[s]
279- let cp = bv[v]
280- let cq = bv[w]
281- let cr = parseIntValue(bv[t])
282- let cs = parseIntValue(bv[u])
283- let bO = bv[p]
284- let ct = valueOrErrorMessage(assetInfo(bJ), "Wr lp as").quantity
285- let bQ = if (ci)
265+func cc (bE,bd,cd,ce,cf,cg,bH,ch,ci,cj,ck,cl) = {
266+ let bu = aB()
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 aV(cm)
278+ else if (if (cj)
279+ then (cl == cm)
280+ else false)
281+ then (aV(cm) - ck)
282+ else if (cj)
283+ then aV(cm)
284+ else (aV(cm) - cd)
285+ let bR = if (ch)
286286 then aV(cn)
287- else if (if (ck)
288- then (cm == cn)
287+ else if (if (cj)
288+ then (cl == cn)
289289 else false)
290- then (aV(cn) - cl)
291- else if (ck)
290+ then (aV(cn) - ck)
291+ else if (cj)
292292 then aV(cn)
293- else (aV(cn) - ce)
294- let bS = if (ci)
295- then aV(co)
296- else if (if (ck)
297- then (cm == co)
298- else false)
299- then (aV(co) - cl)
300- else if (ck)
301- then aV(co)
302- else (aV(co) - cg)
303- let cu = B(ce, cr)
304- let cv = B(cg, cs)
305- let cw = aX(cv, cu)
306- let bR = B(bQ, cr)
307- let bT = B(bS, cs)
308- let cx = if ((ct == 0))
293+ else (aV(cn) - cf)
294+ let ct = B(cd, cq)
295+ let cu = B(cf, cr)
296+ let cv = aX(cu, ct)
297+ let bQ = B(bP, cq)
298+ let bS = B(bR, cr)
299+ let cw = if ((cs == 0))
309300 then {
310- let bU = d
311- let cy = d
312- let bz = pow((cu * cv), 0, toBigInt(5), 1, 0, DOWN)
313- $Tuple5(E(bz, a), E(cu, cr), E(cv, cs), aX((bT + cv), (bR + cu)), cy)
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), aX((bS + cu), (bQ + ct)), cx)
314305 }
315306 else {
316- let bU = aX(bT, bR)
317- let cz = fraction(L((bU - cw)), c, bU)
318- let cy = B(bd, a)
319- if (if ((bU != d))
320- then (cz > cy)
307+ let bT = aX(bS, bQ)
308+ let cy = fraction(L((bT - cv)), c, bT)
309+ let cx = B(bd, a)
310+ if (if ((bT != d))
311+ then (cy > cx)
321312 else false)
322- then throw(((("Price slippage " + toString(cz)) + " > ") + toString(cy)))
313+ then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
323314 else {
324- let cA = B(ct, a)
325- let cB = fraction(cu, bU, c)
326- let cC = fraction(cv, c, bU)
327- let cD = if ((cB > cv))
328- then $Tuple2(cC, cv)
329- else $Tuple2(cu, cB)
330- let cE = cD._1
331- let cF = cD._2
332- let bz = fraction(cA, cF, bT)
333- $Tuple5(E(bz, a), E(cE, cr), E(cF, cs), bU, cy)
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)
334325 }
335326 }
336- let cG = cx._1
337- let cH = cx._2
338- let cI = cx._3
339- let bV = E(cx._4, a)
340- let cJ = E(cx._5, a)
341- if ((0 >= cG))
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))
342333 then throw("LP <= 0")
343334 else {
344- let cK = if (!(cj))
335+ let cJ = if (!(ci))
345336 then 0
346- else cG
347- let cL = (ce - cH)
348- let cM = (cg - cI)
349- let cN = if (if (ck)
350- then (cm == cn)
337+ else cF
338+ let cK = (cd - cG)
339+ let cL = (cf - cH)
340+ let cM = if (if (cj)
341+ then (cl == cm)
351342 else false)
352- then $Tuple2(cl, 0)
353- else if (if (ck)
354- then (cm == co)
343+ then $Tuple2(ck, 0)
344+ else if (if (cj)
345+ then (cl == cn)
355346 else false)
356- then $Tuple2(0, cl)
357- else $Tuple2(cH, cI)
358- let cO = cN._1
359- let cP = cN._2
360- let cQ = [IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV), StringEntry(T(bI, bF), aG(cO, cP, cK, bV, bd, cJ, height, lastBlock.timestamp, cL, cM))]
361- $Tuple13(cG, cK, bV, bQ, bS, ct, bJ, bO, cQ, cL, cM, cf, ch)
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), aG(cN, cO, cJ, bU, bd, cI, height, lastBlock.timestamp, cK, cL))]
352+ $Tuple13(cF, cJ, bU, bP, bR, cs, bI, bN, cP, cK, cL, ce, cg)
362353 }
363354 }
364355
365356
366-func cR (cS) = {
367- let bv = aB()
368- let cT = bv[r]
369- let cU = bv[s]
370- let bO = parseIntValue(bv[p])
371- let bw = parseIntValue(bv[t])
372- let bx = parseIntValue(bv[u])
357+func cQ (cR) = {
358+ let bu = aB()
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 = aV(cS)
373365 let cV = aV(cT)
374- let cW = aV(cU)
375- let bU = if ((cS.orderType == Buy))
376- then bm(bw, bx, (cV + cS.amount), cW)
377- else bm(bw, bx, (cV - cS.amount), cW)
378- let bV = E(bU, a)
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)
379370 if (if (if (az())
380371 then true
381- else (bO == m))
372+ else (bN == m))
382373 then true
383- else (bO == n))
374+ else (bN == n))
384375 then throw("Admin blocked")
385376 else {
386- let cX = cS.assetPair.amountAsset
387- let cY = if ((cX == unit))
377+ let cW = cR.assetPair.amountAsset
378+ let cX = if ((cW == unit))
388379 then "WAVES"
389- else toBase58String(value(cX))
390- let cZ = cS.assetPair.priceAsset
391- let da = if ((cZ == unit))
380+ else toBase58String(value(cW))
381+ let cY = cR.assetPair.priceAsset
382+ let cZ = if ((cY == unit))
392383 then "WAVES"
393- else toBase58String(value(cZ))
394- if (if ((cY != cT))
384+ else toBase58String(value(cY))
385+ if (if ((cX != cS))
395386 then true
396- else (da != cU))
387+ else (cZ != cT))
397388 then throw("Wr assets")
398389 else {
399- let db = cS.price
400- let cs = fraction(a, bx, bw)
401- let dc = H(db, a, cs)
402- let dd = if ((cS.orderType == Buy))
403- then (bV >= dc)
404- else (dc >= bV)
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)
405396 true
406397 }
407398 }
408399 }
409400
410401
411-func de (df) = if ((size(df.payments) != 1))
402+func dd (de) = if ((size(de.payments) != 1))
412403 then throw("1 pmnt exp")
413404 else {
414- let dg = value(df.payments[0])
415- let bG = value(dg.assetId)
416- let cl = dg.amount
417- let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
418- let ca = cx._1
419- let cb = cx._2
420- let bO = parseIntValue(cx._9)
421- let cc = cx._10
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
422413 if (if (az())
423414 then true
424- else (bO == n))
425- then throw(("Admin blocked: " + toString(bO)))
426- else $Tuple5(ca, cb, cl, bG, cc)
415+ else (bN == n))
416+ then throw(("Admin blocked: " + toString(bN)))
417+ else $Tuple5(bZ, ca, ck, bF, cb)
427418 }
428419
429420
430-func dh (ac,V,di,dj,bd,cj,ck,cl,cm) = {
431- let cx = cd(V, bd, value(di).amount, value(di).assetId, value(dj).amount, value(dj).assetId, ac, false, cj, ck, cl, cm)
432- let bO = parseIntValue(cx._8)
421+func dg (ac,V,dh,di,bd,ci,cj,ck,cl) = {
422+ let cw = cc(V, bd, value(dh).amount, value(dh).assetId, value(di).amount, value(di).assetId, ac, false, ci, cj, ck, cl)
423+ let bN = parseIntValue(cw._8)
433424 if (if (if (az())
434425 then true
435- else (bO == l))
426+ else (bN == l))
436427 then true
437- else (bO == n))
438- then throw(("Blocked:" + toString(bO)))
439- else cx
428+ else (bN == n))
429+ then throw(("Blocked:" + toString(bN)))
430+ else cw
440431 }
441432
442433
443-func dk () = {
434+func dj () = {
444435 let ar = getString(N())
445436 if ($isInstanceOf(ar, "String"))
446437 then {
447- let dl = ar
448- fromBase58String(dl)
438+ let dk = ar
439+ fromBase58String(dk)
449440 }
450441 else if ($isInstanceOf(ar, "Unit"))
451442 then unit
453444 }
454445
455446
456-func dm () = {
447+func dl () = {
457448 let ar = getString(O())
458449 if ($isInstanceOf(ar, "String"))
459450 then {
460- let dl = ar
461- fromBase58String(dl)
451+ let dk = ar
452+ fromBase58String(dk)
462453 }
463454 else if ($isInstanceOf(ar, "Unit"))
464455 then unit
466457 }
467458
468459
469-let dn = throw("Permission denied")
460+let dm = throw("Permission denied")
470461
471-func do (df) = {
472- let ar = dk()
462+func dn (de) = {
463+ let ar = dj()
473464 if ($isInstanceOf(ar, "ByteVector"))
474465 then {
475- let dp = ar
476- if ((df.callerPublicKey == dp))
466+ let do = ar
467+ if ((de.callerPublicKey == do))
477468 then true
478- else dn
469+ else dm
479470 }
480471 else if ($isInstanceOf(ar, "Unit"))
481- then if ((df.caller == this))
472+ then if ((de.caller == this))
482473 then true
483- else dn
474+ else dm
484475 else throw("Match error")
485476 }
486477
487478
488-@Callable(df)
479+@Callable(de)
489480 func constructor (M) = {
490- let dq = do(df)
491- if ((dq == dq))
481+ let dp = dn(de)
482+ if ((dp == dp))
492483 then [StringEntry(M(), M)]
493484 else throw("Strict value is not equal to itself.")
494485 }
495486
496487
497488
498-@Callable(df)
499-func setManager (dr) = {
500- let dq = do(df)
501- if ((dq == dq))
489+@Callable(de)
490+func setManager (dq) = {
491+ let dp = dn(de)
492+ if ((dp == dp))
502493 then {
503- let ds = fromBase58String(dr)
504- if ((ds == ds))
505- then [StringEntry(O(), dr)]
494+ let dr = fromBase58String(dq)
495+ if ((dr == dr))
496+ then [StringEntry(O(), dq)]
506497 else throw("Strict value is not equal to itself.")
507498 }
508499 else throw("Strict value is not equal to itself.")
510501
511502
512503
513-@Callable(df)
504+@Callable(de)
514505 func confirmManager () = {
515- let bD = dm()
516- let dt = if (isDefined(bD))
506+ let bC = dl()
507+ let ds = if (isDefined(bC))
517508 then true
518509 else throw("No pending manager")
519- if ((dt == dt))
510+ if ((ds == ds))
520511 then {
521- let du = if ((df.callerPublicKey == value(bD)))
512+ let dt = if ((de.callerPublicKey == value(bC)))
522513 then true
523514 else throw("You are not pending manager")
524- if ((du == du))
525- then [StringEntry(N(), toBase58String(value(bD))), DeleteEntry(O())]
515+ if ((dt == dt))
516+ then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
526517 else throw("Strict value is not equal to itself.")
527518 }
528519 else throw("Strict value is not equal to itself.")
530521
531522
532523
533-@Callable(df)
534-func put (dv,dw) = {
535- let dx = aF()
536- let dy = valueOrErrorMessage(addressFromString(dx[x]), "Wr st addr")
537- let dz = valueOrErrorMessage(addressFromString(dx[y]), "Wr sl addr")
538- if ((0 > dv))
524+@Callable(de)
525+func put (du,dv) = {
526+ let dw = aF()
527+ let dx = valueOrErrorMessage(addressFromString(dw[x]), "Wr st addr")
528+ let dy = valueOrErrorMessage(addressFromString(dw[y]), "Wr sl addr")
529+ if ((0 > du))
539530 then throw("Wrong slippage")
540- else if ((size(df.payments) != 2))
531+ else if ((size(de.payments) != 2))
541532 then throw("2 pmnts expd")
542533 else {
543- 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, "")
544- let cK = dA._2
545- let dB = dA._7
546- let cc = dA._9
547- let cL = dA._10
548- let cM = dA._11
549- let bK = dA._12
550- let bL = dA._13
551- let cx = invoke(ax, "emit", [cK], nil)
552- if ((cx == cx))
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(ax, "emit", [cJ], nil)
543+ if ((cw == cw))
553544 then {
554- let dC = {
555- let ar = cx
545+ let dB = {
546+ let ar = cw
556547 if ($isInstanceOf(ar, "Address"))
557548 then {
558- let dD = ar
559- invoke(dD, "emit", [cK], nil)
549+ let dC = ar
550+ invoke(dC, "emit", [cJ], nil)
560551 }
561552 else unit
562553 }
563- if ((dC == dC))
554+ if ((dB == dB))
564555 then {
565- let dE = if ((cL > 0))
566- then invoke(dz, "put", nil, [AttachedPayment(bK, cL)])
556+ let dD = if ((cK > 0))
557+ then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
567558 else nil
568- if ((dE == dE))
559+ if ((dD == dD))
569560 then {
570- let dF = if ((cM > 0))
571- then invoke(dz, "put", nil, [AttachedPayment(bL, cM)])
561+ let dE = if ((cL > 0))
562+ then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
572563 else nil
573- if ((dF == dF))
564+ if ((dE == dE))
574565 then {
575- let dG = if (dw)
566+ let dF = if (dv)
576567 then {
577- let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
578- if ((dH == dH))
568+ let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569+ if ((dG == dG))
579570 then nil
580571 else throw("Strict value is not equal to itself.")
581572 }
582- else [ScriptTransfer(df.caller, cK, dB)]
583- (cc ++ dG)
573+ else [ScriptTransfer(de.caller, cJ, dA)]
574+ (cb ++ dF)
584575 }
585576 else throw("Strict value is not equal to itself.")
586577 }
594585
595586
596587
597-@Callable(df)
598-func putOneTkn (dI,dJ,dK,bd,dw) = {
599- let bv = aF()
600- let dy = valueOrErrorMessage(addressFromString(bv[x]), "Wr st addr")
601- let dz = valueOrErrorMessage(addressFromString(bv[y]), "Wr sl addr")
602- let dL = valueOrErrorMessage(addressFromString(bv[z]), "Wr gwx addr")
603- let dM = aB()
604- let bK = dM[r]
605- let bL = dM[s]
606- let bM = parseIntValue(dM[t])
607- let bN = parseIntValue(dM[u])
608- let dN = valueOrElse(getString(this, aa()), "")
609- let bI = if ((dN == toString(df.caller)))
610- then df.originCaller
611- else df.caller
612- let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
613- let dP = reentrantInvoke(dO, "ensureCanPutOneTkn", [toString(bI)], nil)
614- if ((dP == dP))
615- then {
616- let dQ = throw("after check")
617- if ((dQ == dQ))
618- then if (if (if (if ((0 >= bd))
619- then true
620- else (0 >= dI))
621- then true
622- else (0 >= dJ))
623- then true
624- else (0 >= dK))
625- then throw("Wrong params")
626- else if ((size(df.payments) != 1))
627- then throw("1 pmnt expd")
588+@Callable(de)
589+func putOneTkn (dH,dI,dJ,bd,dv) = {
590+ let bu = aF()
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 = aB()
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))
606+ then if (if (if (if ((0 >= bd))
607+ then true
608+ else (0 >= dH))
609+ then true
610+ else (0 >= dI))
611+ then true
612+ else (0 >= dJ))
613+ then throw("Wrong params")
614+ else if ((size(de.payments) != 1))
615+ then throw("1 pmnt expd")
616+ 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))
621+ then true
622+ else (dI > ck))
623+ then true
624+ else (10000000 > ck))
625+ then throw("Wrong pmt amt")
628626 else {
629- let dg = value(df.payments[0])
630- let bG = toBase58String(value(dg.assetId))
631- let cl = dg.amount
632- if (if (if ((dI > cl))
633- then true
634- else (dJ > cl))
635- then true
636- else (10000000 > cl))
637- then throw("Wrong pmt amt")
638- else {
639- let bQ = aV(bK)
640- let bS = aV(bL)
641- let dR = if ((bG == bK))
642- then $Tuple6((bQ - cl), bS, (cl - dI), dJ, 0, 0)
643- else if ((bG == bL))
644- then $Tuple6(bQ, (bS - cl), 0, 0, (cl - dJ), dI)
645- else throw("wrong pmtAssetId")
646- let dS = dR._1
647- let dT = dR._2
648- let dU = dR._3
649- let dV = dR._4
650- let dW = dR._5
651- let dX = dR._6
652- let bi = invoke(dL, "calcD", [toString(dS), toString(dT), ay, g, h], nil)
653- let dY = throw("error after D0")
654- if ((dY == dY))
627+ let bP = aV(bJ)
628+ let bR = aV(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)
633+ 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 bi = invoke(dK, "calcD", [toString(dQ), toString(dR), ay, g, h], nil)
641+ let bh = invoke(dK, "calcD", [toString(toBigInt(((dQ + dS) - dV))), toString(toBigInt(((dR + dU) - dT))), ay, g, h], nil)
642+ let dW = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
643+ if ((dW == dW))
644+ then {
645+ let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(fromBase58String(bJ), dH), AttachedPayment(fromBase58String(bK), dI), bd, 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 = ba(toBigInt(dY), toBigInt(dJ), toBigInt(bd))
652+ let cJ = toInt(dZ._2)
653+ let dz = invoke(ax, "emit", [cJ], nil)
654+ if ((dz == dz))
655655 then {
656- let bh = invoke(dL, "calcD", [toString(toBigInt(((dS + dU) - dX))), toString(toBigInt(((dT + dW) - dV))), ay, g, h], nil)
657- let dZ = throw("error after D1")
658- if ((dZ == dZ))
656+ let dB = {
657+ let ar = dz
658+ if ($isInstanceOf(ar, "Address"))
659+ then {
660+ let dC = ar
661+ invoke(dC, "emit", [cJ], nil)
662+ }
663+ else unit
664+ }
665+ if ((dB == dB))
659666 then {
660- let ea = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
661- if ((ea == ea))
667+ let dD = if ((cK > 0))
668+ then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
669+ else nil
670+ if ((dD == dD))
662671 then {
663- let eb = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(fromBase58String(bK), dI), AttachedPayment(fromBase58String(bL), dJ), bd, true, true, cl, bG)
664- let ec = eb._2
665- let dB = eb._7
666- let cc = eb._9
667- let cL = eb._10
668- let cM = eb._11
669- let ed = ba(toBigInt(ec), toBigInt(dK), toBigInt(bd))
670- let cK = toInt(ed._2)
671- let dA = invoke(ax, "emit", [cK], nil)
672- if ((dA == dA))
672+ let dE = if ((cL > 0))
673+ then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
674+ else nil
675+ if ((dE == dE))
673676 then {
674- let dC = {
675- let ar = dA
676- if ($isInstanceOf(ar, "Address"))
677- then {
678- let dD = ar
679- invoke(dD, "emit", [cK], nil)
680- }
681- else unit
682- }
683- if ((dC == dC))
677+ let dF = if (dv)
684678 then {
685- let dE = if ((cL > 0))
686- then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
687- else nil
688- if ((dE == dE))
689- then {
690- let dF = if ((cM > 0))
691- then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bL), cM)])
692- else nil
693- if ((dF == dF))
694- then {
695- let dG = if (dw)
696- then {
697- let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
698- if ((dH == dH))
699- then nil
700- else throw("Strict value is not equal to itself.")
701- }
702- else [ScriptTransfer(df.caller, cK, dB)]
703- (cc ++ dG)
704- }
705- else throw("Strict value is not equal to itself.")
706- }
679+ let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680+ if ((dG == dG))
681+ then nil
707682 else throw("Strict value is not equal to itself.")
708683 }
709- else throw("Strict value is not equal to itself.")
684+ else [ScriptTransfer(de.caller, cJ, dA)]
685+ (cb ++ dF)
710686 }
711687 else throw("Strict value is not equal to itself.")
712688 }
716692 }
717693 else throw("Strict value is not equal to itself.")
718694 }
695+ else throw("Strict value is not equal to itself.")
719696 }
720- else throw("Strict value is not equal to itself.")
721- }
697+ }
722698 else throw("Strict value is not equal to itself.")
723699 }
724700
725701
726702
727-@Callable(df)
728-func putForFree (ee) = if ((0 > ee))
703+@Callable(de)
704+func putForFree (ea) = if ((0 > ea))
729705 then throw("Wrong slpg")
730- else if ((size(df.payments) != 2))
706+ else if ((size(de.payments) != 2))
731707 then throw("2 pmnts expd")
732708 else {
733- let eb = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], ee, false, false, 0, "")
734- eb._9
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
735711 }
736712
737713
738714
739-@Callable(df)
715+@Callable(de)
740716 func get () = {
741- let cx = de(df)
742- let ef = cx._1
743- let cb = cx._2
744- let cl = cx._3
745- let bG = cx._4
746- let cc = cx._5
747- let eg = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
748- if ((eg == eg))
749- then cc
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(ax, "burn", [ck], [AttachedPayment(bF, ck)])
724+ if ((ec == ec))
725+ then cb
750726 else throw("Strict value is not equal to itself.")
751727 }
752728
753729
754730
755-@Callable(df)
756-func getOneTkn (eh,ei,ej,ek,bd) = if ((size(df.payments) != 1))
731+@Callable(de)
732+func getOneTkn (ed,ee,ef,eg,bd) = if ((size(de.payments) != 1))
757733 then throw("1 pmnt expd")
758734 else {
759- let bv = aB()
760- let bJ = bv[q]
761- let bK = bv[r]
762- let bL = bv[s]
763- let bM = parseIntValue(bv[t])
764- let bN = parseIntValue(bv[u])
765- let bO = bv[p]
766- let dx = aF()
767- let dL = valueOrErrorMessage(addressFromString(dx[z]), "Wr sl addr")
768- let dg = value(df.payments[0])
769- let dN = valueOrElse(getString(this, aa()), "")
770- let bI = if ((dN == toString(df.caller)))
771- then df.originCaller
772- else df.caller
773- let bF = toBase58String(df.transactionId)
774- let bG = value(dg.assetId)
775- let cl = dg.amount
776- let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
777- let dP = reentrantInvoke(dO, "ensureCanGetOneTkn", [toString(bI)], nil)
778- if ((dP == dP))
779- then if ((1000000000 > cl))
735+ let bu = aB()
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 = aF()
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))
780756 then throw("Min pmt 10 LP")
781757 else if (if (if ((0 > bd))
782758 then true
783- else (0 > eh))
759+ else (0 > ed))
784760 then true
785- else (0 > ej))
761+ else (0 > ef))
786762 then throw("Wrong params")
787- else if ((bJ != toBase58String(bG)))
763+ else if ((bI != toBase58String(bF)))
788764 then throw("Wrong LP")
789765 else {
790- let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
791- let el = cx._1
792- let em = cx._2
793- let bQ = aV(bK)
794- let bS = aV(bL)
795- let en = if ((ek == bK))
796- then $Tuple7((bQ - el), (bS - em), eh, em, 0, 0, (el + eh))
797- else if ((ek == bL))
798- then $Tuple7((bQ - el), (bS - em), 0, 0, eh, el, (em + eh))
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 = aV(bJ)
770+ let bR = aV(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))
799775 else throw("wrong outAssetId")
800- let dS = en._1
801- let dT = en._2
802- let dU = en._3
803- let dV = en._4
804- let dW = en._5
805- let dX = en._6
806- let eo = en._7
807- if (if ((0 > dU))
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))
808784 then true
809- else (0 > dW))
785+ else (0 > dU))
810786 then throw("Wrong calc")
811787 else {
812- let bi = invoke(dL, "calcD", [toString(dS), toString(dT), ay, g, h], nil)
813- let bh = invoke(dL, "calcD", [toString(((dS - dU) + dX)), toString(((dT + dV) - dW)), ay, g, h], nil)
814- let ea = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
815- if ((ea == ea))
788+ let bi = invoke(dK, "calcD", [toString(dQ), toString(dR), ay, g, h], nil)
789+ let bh = invoke(dK, "calcD", [toString(((dQ - dS) + dV)), toString(((dR + dT) - dU)), ay, g, h], nil)
790+ let dW = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
791+ if ((dW == dW))
816792 then {
817- let ep = ba(toBigInt(eo), toBigInt(ej), toBigInt(bd))
818- if ((ep == ep))
793+ let el = ba(toBigInt(ek), toBigInt(ef), toBigInt(bd))
794+ if ((el == el))
819795 then {
820- let eq = if ((ek == bK))
821- then $Tuple2(toInt(ep._2), 0)
822- else $Tuple2(0, toInt(ep._2))
823- let er = eq._1
824- let es = eq._2
825- let et = aX(B(bS, bN), B(bQ, bM))
826- let eu = E(et, a)
827- let cc = [ScriptTransfer(bI, (er + es), if ((ek == "WAVES"))
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 = aX(B(bR, bM), B(bP, bL))
802+ let eq = E(ep, a)
803+ let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
828804 then unit
829- else fromBase58String(ek)), StringEntry(W(toString(bI), bF), aR(er, es, cl, eu, height, lastBlock.timestamp)), IntegerEntry(P(), eu), IntegerEntry(Q(height, lastBlock.timestamp), eu)]
830- if ((cc == cc))
805+ else fromBase58String(eg)), StringEntry(W(toString(bH), bE), aR(en, eo, ck, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
806+ if ((cb == cb))
831807 then {
832- let ev = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
833- if ((ev == ev))
834- then cc
808+ let er = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
809+ if ((er == er))
810+ then cb
835811 else throw("Strict value is not equal to itself.")
836812 }
837813 else throw("Strict value is not equal to itself.")
846822
847823
848824
849-@Callable(df)
850-func getNoLess (ew,ex) = {
851- let cx = de(df)
852- let ca = cx._1
853- let cb = cx._2
854- let cl = cx._3
855- let bG = cx._4
856- let cc = cx._5
857- if ((ew > ca))
858- then throw(((("Failed: " + toString(ca)) + " < ") + toString(ew)))
859- else if ((ex > cb))
860- then throw(((("Failed: " + toString(cb)) + " < ") + toString(ex)))
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)))
861837 else {
862- let ey = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
863- if ((ey == ey))
864- then cc
838+ let eu = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
839+ if ((eu == eu))
840+ then cb
865841 else throw("Strict value is not equal to itself.")
866842 }
867843 }
868844
869845
870846
871-@Callable(df)
872-func unstakeAndGet (ez) = {
873- let eA = if ((size(df.payments) != 0))
847+@Callable(de)
848+func unstakeAndGet (ev) = {
849+ let ew = if ((size(de.payments) != 0))
874850 then throw("No pmnts expd")
875851 else true
876- if ((eA == eA))
852+ if ((ew == ew))
877853 then {
878- let bv = aB()
879- let eB = aF()
880- let dB = fromBase58String(bv[q])
881- let eC = valueOrErrorMessage(addressFromString(eB[x]), "Wr st addr")
882- let eD = invoke(eC, "unstake", [toBase58String(dB), ez], nil)
883- if ((eD == eD))
854+ let bu = aB()
855+ let ex = aF()
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))
884860 then {
885- let cx = bE(toBase58String(df.transactionId), toBase58String(dB), ez, df.caller)
886- let bO = parseIntValue(cx._9)
887- let cc = cx._10
888- let eE = if (if (az())
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 (az())
889865 then true
890- else (bO == n))
891- then throw(("Blocked: " + toString(bO)))
866+ else (bN == n))
867+ then throw(("Blocked: " + toString(bN)))
892868 else true
893- if ((eE == eE))
869+ if ((eA == eA))
894870 then {
895- let eF = invoke(ax, "burn", [ez], [AttachedPayment(dB, ez)])
896- if ((eF == eF))
897- then cc
871+ let eB = invoke(ax, "burn", [ev], [AttachedPayment(dA, ev)])
872+ if ((eB == eB))
873+ then cb
898874 else throw("Strict value is not equal to itself.")
899875 }
900876 else throw("Strict value is not equal to itself.")
906882
907883
908884
909-@Callable(df)
910-func activate (eG,eH) = if ((toString(df.caller) != toString(ax)))
885+@Callable(de)
886+func activate (eC,eD) = if ((toString(de.caller) != toString(ax)))
911887 then throw("denied")
912- else $Tuple2([StringEntry(X(), eG), StringEntry(Y(), eH)], "success")
888+ else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
913889
914890
915891
916-@Callable(df)
917-func setS (eI,eE) = if ((toString(df.caller) != at(this, aa())))
918- then dn
919- else [StringEntry(eI, eE)]
892+@Callable(de)
893+func setS (eE,eA) = if ((toString(de.caller) != at(this, aa())))
894+ then dm
895+ else [StringEntry(eE, eA)]
920896
921897
922898
923-@Callable(df)
924-func setI (eI,eE) = if ((toString(df.caller) != at(this, aa())))
925- then dn
926- else [IntegerEntry(eI, eE)]
899+@Callable(de)
900+func setI (eE,eA) = if ((toString(de.caller) != at(this, aa())))
901+ then dm
902+ else [IntegerEntry(eE, eA)]
927903
928904
929905
930-@Callable(df)
906+@Callable(de)
931907 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aB())
932908
933909
934910
935-@Callable(df)
911+@Callable(de)
936912 func getAccBalanceWrapperREADONLY (aW) = $Tuple2(nil, aV(aW))
937913
938914
939915
940-@Callable(df)
941-func calcPricesWrapperREADONLY (bp,bq,bu) = {
942- let eJ = bt(bp, bq, bu)
943- $Tuple2(nil, [toString(eJ[0]), toString(eJ[1]), toString(eJ[2])])
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])])
944920 }
945921
946922
947923
948-@Callable(df)
949-func fromX18WrapperREADONLY (F,eK) = $Tuple2(nil, E(parseBigIntValue(F), eK))
924+@Callable(de)
925+func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
950926
951927
952928
953-@Callable(df)
929+@Callable(de)
954930 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
955931
956932
957933
958-@Callable(df)
934+@Callable(de)
959935 func calcPriceBigIntWrapperREADONLY (aY,aZ) = $Tuple2(nil, toString(aX(parseBigIntValue(aY), parseBigIntValue(aZ))))
960936
961937
962938
963-@Callable(df)
964-func estimatePutOperationWrapperREADONLY (bF,bd,ce,cf,cg,ch,eL,ci,cj) = $Tuple2(nil, cd(bF, bd, ce, cf, cg, ch, eL, ci, cj, false, 0, ""))
939+@Callable(de)
940+func estimatePutOperationWrapperREADONLY (bE,bd,cd,ce,cf,cg,eH,ch,ci) = $Tuple2(nil, cc(bE, bd, cd, ce, cf, cg, eH, ch, ci, false, 0, ""))
965941
966942
967943
968-@Callable(df)
969-func estimateGetOperationWrapperREADONLY (bF,eM,bH,eL) = {
970- let cx = bE(bF, eM, bH, addressFromStringValue(eL))
971- $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
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))
972948 }
973949
974950
975-@Verifier(eN)
976-func eO () = {
977- let ar = eN
951+@Verifier(eJ)
952+func eK () = {
953+ let ar = eJ
978954 if ($isInstanceOf(ar, "Order"))
979955 then {
980- let cS = ar
981- let eP = aA()
982- let an = cR(cS)
983- let eQ = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
984- let eR = sigVerify(cS.bodyBytes, cS.proofs[1], eP)
956+ let cR = ar
957+ let eL = aA()
958+ let an = cQ(cR)
959+ let eM = sigVerify(cR.bodyBytes, cR.proofs[0], cR.senderPublicKey)
960+ let eN = sigVerify(cR.bodyBytes, cR.proofs[1], eL)
985961 if (if (if (an)
986- then eQ
962+ then eM
987963 else false)
988- then eR
964+ then eN
989965 else false)
990966 then true
991- else am(an, eQ, eR)
967+ else am(an, eM, eN)
992968 }
993969 else {
994- let eS = {
995- let eT = dk()
996- if ($isInstanceOf(eT, "ByteVector"))
970+ let eO = {
971+ let eP = dj()
972+ if ($isInstanceOf(eP, "ByteVector"))
997973 then {
998- let dp = eT
999- dp
974+ let do = eP
975+ do
1000976 }
1001- else if ($isInstanceOf(eT, "Unit"))
1002- then eN.senderPublicKey
977+ else if ($isInstanceOf(eP, "Unit"))
978+ then eJ.senderPublicKey
1003979 else throw("Match error")
1004980 }
1005- sigVerify(eN.bodyBytes, eN.proofs[0], eS)
981+ sigVerify(eJ.bodyBytes, eJ.proofs[0], eO)
1006982 }
1007983 }
1008984
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__lastGetOneTknCall", ac], i)
106106
107107
108108 func ad (ac) = makeString(["%s%s__lastPutOneTknCall", ac], i)
109109
110110
111111 func ae () = "%s__factoryConfig"
112112
113113
114114 func af () = "%s%s__matcher__publicKey"
115115
116116
117117 func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
118118
119119
120120 func aj (ak) = ("%s%s%s__mappings__baseAsset2internalId__" + ak)
121121
122122
123123 func al () = "%s__shutdown"
124124
125125
126126 func am (an,ao,ap) = throw(((((("Failed: ordValid=" + toString(an)) + " sndrValid=") + toString(ao)) + " mtchrValid=") + toString(ap)))
127127
128128
129129 func aq (F) = {
130130 let ar = F
131131 if ($isInstanceOf(ar, "String"))
132132 then {
133133 let as = ar
134134 as
135135 }
136136 else throw("fail cast to String")
137137 }
138138
139139
140140 func at (au,av) = valueOrErrorMessage(getString(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
141141
142142
143143 func aw (au,av) = valueOrErrorMessage(getInteger(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
144144
145145
146146 let ax = addressFromStringValue(at(this, M()))
147147
148148 let ay = at(this, Z())
149149
150150 func az () = valueOrElse(getBoolean(ax, al()), false)
151151
152152
153153 func aA () = fromBase58String(at(ax, af()))
154154
155155
156156 func aB () = {
157157 let aC = at(this, X())
158158 let aD = at(this, Y())
159159 let aE = aw(ax, aj(aD))
160160 let ah = aw(ax, aj(aC))
161161 split(at(ax, ag(toString(ah), toString(aE))), i)
162162 }
163163
164164
165165 func aF () = split(at(ax, ae()), i)
166166
167167
168168 func aG (aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(aH), toString(aI), toString(aJ), toString(aK), toString(aL), toString(aM), toString(aN), toString(aO), toString(aP), toString(aQ)], i)
169169
170170
171171 func aR (aS,aT,aU,aK,aN,aO) = makeString(["%d%d%d%d%d%d", toString(aS), toString(aT), toString(aU), toString(aK), toString(aN), toString(aO)], i)
172172
173173
174174 func aV (aW) = if ((aW == "WAVES"))
175175 then wavesBalance(this).available
176176 else assetBalance(this, fromBase58String(aW))
177177
178178
179179 func aX (aY,aZ) = fraction(aY, c, aZ)
180180
181181
182182 func ba (bb,bc,bd) = {
183183 let be = fraction((bb - bc), b, bc)
184184 let bf = ((bd - L(be)) > d)
185185 if (!(bf))
186186 then throw(("Big slpg: " + toString(be)))
187187 else $Tuple2(bf, min([bb, bc]))
188188 }
189189
190190
191191 func bg (bh,bi,bj) = {
192192 let be = fraction(bi, b, bh)
193- if ((be == be))
194- then {
195- let bk = throw("after diff error")
196- if ((bk == bk))
197- then {
198- let bl = (bj > be)
199- if (if (bl)
200- then true
201- else (bi > bh))
202- then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
203- else bl
204- }
205- else throw("Strict value is not equal to itself.")
206- }
207- else throw("Strict value is not equal to itself.")
193+ let bk = (bj > be)
194+ if (if (bk)
195+ then true
196+ else (bi > bh))
197+ then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
198+ else bk
208199 }
209200
210201
211-func bm (bn,bo,bp,bq) = {
202+func bl (bm,bn,bo,bp) = {
203+ let bq = B(bo, bm)
212204 let br = B(bp, bn)
213- let bs = B(bq, bo)
214- aX(bs, br)
205+ aX(br, bq)
215206 }
216207
217208
218-func bt (bp,bq,bu) = {
219- let bv = aB()
220- let bw = parseIntValue(bv[t])
221- let bx = parseIntValue(bv[u])
222- let by = bm(bw, bx, bp, bq)
223- let aZ = B(bp, bw)
224- let aY = B(bq, bx)
225- let bz = B(bu, a)
226- let bA = aX(aZ, bz)
227- let bB = aX(aY, bz)
228-[by, bA, bB]
209+func bs (bo,bp,bt) = {
210+ let bu = aB()
211+ let bv = parseIntValue(bu[t])
212+ let bw = parseIntValue(bu[u])
213+ let bx = bl(bv, bw, bo, bp)
214+ let aZ = B(bo, bv)
215+ let aY = B(bp, bw)
216+ let by = B(bt, a)
217+ let bz = aX(aZ, by)
218+ let bA = aX(aY, by)
219+[bx, bz, bA]
229220 }
230221
231222
232-func bC (bp,bq,bu) = {
233- let bD = bt(bp, bq, bu)
234-[E(bD[0], a), E(bD[1], a), E(bD[2], a)]
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)]
235226 }
236227
237228
238-func bE (bF,bG,bH,bI) = {
239- let bv = aB()
240- let bJ = bv[q]
241- let bK = bv[r]
242- let bL = bv[s]
243- let bM = parseIntValue(bv[t])
244- let bN = parseIntValue(bv[u])
245- let bO = bv[p]
246- let bP = valueOrErrorMessage(assetInfo(fromBase58String(bJ)), "Wrong LP id").quantity
247- if ((bJ != bG))
229+func bD (bE,bF,bG,bH) = {
230+ let bu = aB()
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))
248239 then throw("Wrong pmt asset")
249240 else {
250- let bQ = aV(bK)
251- let bR = B(bQ, bM)
252- let bS = aV(bL)
253- let bT = B(bS, bN)
254- let bU = aX(bT, bR)
255- let bV = E(bU, a)
256- let bW = B(bH, a)
257- let bX = B(bP, a)
258- let bY = fraction(bR, bW, bX)
259- let bZ = fraction(bT, bW, bX)
241+ let bP = aV(bJ)
242+ let bQ = B(bP, bL)
243+ let bR = aV(bK)
244+ let bS = B(bR, bM)
245+ let bT = aX(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)
260252 let ca = E(bY, bM)
261- let cb = E(bZ, bN)
262- let cc = if ((bF == ""))
253+ let cb = if ((bE == ""))
263254 then nil
264- else [ScriptTransfer(bI, ca, if ((bK == "WAVES"))
255+ else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
265256 then unit
266- else fromBase58String(bK)), ScriptTransfer(bI, cb, if ((bL == "WAVES"))
257+ else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
267258 then unit
268- else fromBase58String(bL)), StringEntry(W(toString(bI), bF), aR(ca, cb, bH, bV, height, lastBlock.timestamp)), IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV)]
269- $Tuple10(ca, cb, bK, bL, bQ, bS, bP, bU, bO, cc)
259+ else fromBase58String(bK)), StringEntry(W(toString(bH), bE), aR(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)
270261 }
271262 }
272263
273264
274-func cd (bF,bd,ce,cf,cg,ch,bI,ci,cj,ck,cl,cm) = {
275- let bv = aB()
276- let bJ = fromBase58String(bv[q])
277- let cn = bv[r]
278- let co = bv[s]
279- let cp = bv[v]
280- let cq = bv[w]
281- let cr = parseIntValue(bv[t])
282- let cs = parseIntValue(bv[u])
283- let bO = bv[p]
284- let ct = valueOrErrorMessage(assetInfo(bJ), "Wr lp as").quantity
285- let bQ = if (ci)
265+func cc (bE,bd,cd,ce,cf,cg,bH,ch,ci,cj,ck,cl) = {
266+ let bu = aB()
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 aV(cm)
278+ else if (if (cj)
279+ then (cl == cm)
280+ else false)
281+ then (aV(cm) - ck)
282+ else if (cj)
283+ then aV(cm)
284+ else (aV(cm) - cd)
285+ let bR = if (ch)
286286 then aV(cn)
287- else if (if (ck)
288- then (cm == cn)
287+ else if (if (cj)
288+ then (cl == cn)
289289 else false)
290- then (aV(cn) - cl)
291- else if (ck)
290+ then (aV(cn) - ck)
291+ else if (cj)
292292 then aV(cn)
293- else (aV(cn) - ce)
294- let bS = if (ci)
295- then aV(co)
296- else if (if (ck)
297- then (cm == co)
298- else false)
299- then (aV(co) - cl)
300- else if (ck)
301- then aV(co)
302- else (aV(co) - cg)
303- let cu = B(ce, cr)
304- let cv = B(cg, cs)
305- let cw = aX(cv, cu)
306- let bR = B(bQ, cr)
307- let bT = B(bS, cs)
308- let cx = if ((ct == 0))
293+ else (aV(cn) - cf)
294+ let ct = B(cd, cq)
295+ let cu = B(cf, cr)
296+ let cv = aX(cu, ct)
297+ let bQ = B(bP, cq)
298+ let bS = B(bR, cr)
299+ let cw = if ((cs == 0))
309300 then {
310- let bU = d
311- let cy = d
312- let bz = pow((cu * cv), 0, toBigInt(5), 1, 0, DOWN)
313- $Tuple5(E(bz, a), E(cu, cr), E(cv, cs), aX((bT + cv), (bR + cu)), cy)
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), aX((bS + cu), (bQ + ct)), cx)
314305 }
315306 else {
316- let bU = aX(bT, bR)
317- let cz = fraction(L((bU - cw)), c, bU)
318- let cy = B(bd, a)
319- if (if ((bU != d))
320- then (cz > cy)
307+ let bT = aX(bS, bQ)
308+ let cy = fraction(L((bT - cv)), c, bT)
309+ let cx = B(bd, a)
310+ if (if ((bT != d))
311+ then (cy > cx)
321312 else false)
322- then throw(((("Price slippage " + toString(cz)) + " > ") + toString(cy)))
313+ then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
323314 else {
324- let cA = B(ct, a)
325- let cB = fraction(cu, bU, c)
326- let cC = fraction(cv, c, bU)
327- let cD = if ((cB > cv))
328- then $Tuple2(cC, cv)
329- else $Tuple2(cu, cB)
330- let cE = cD._1
331- let cF = cD._2
332- let bz = fraction(cA, cF, bT)
333- $Tuple5(E(bz, a), E(cE, cr), E(cF, cs), bU, cy)
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)
334325 }
335326 }
336- let cG = cx._1
337- let cH = cx._2
338- let cI = cx._3
339- let bV = E(cx._4, a)
340- let cJ = E(cx._5, a)
341- if ((0 >= cG))
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))
342333 then throw("LP <= 0")
343334 else {
344- let cK = if (!(cj))
335+ let cJ = if (!(ci))
345336 then 0
346- else cG
347- let cL = (ce - cH)
348- let cM = (cg - cI)
349- let cN = if (if (ck)
350- then (cm == cn)
337+ else cF
338+ let cK = (cd - cG)
339+ let cL = (cf - cH)
340+ let cM = if (if (cj)
341+ then (cl == cm)
351342 else false)
352- then $Tuple2(cl, 0)
353- else if (if (ck)
354- then (cm == co)
343+ then $Tuple2(ck, 0)
344+ else if (if (cj)
345+ then (cl == cn)
355346 else false)
356- then $Tuple2(0, cl)
357- else $Tuple2(cH, cI)
358- let cO = cN._1
359- let cP = cN._2
360- let cQ = [IntegerEntry(P(), bV), IntegerEntry(Q(height, lastBlock.timestamp), bV), StringEntry(T(bI, bF), aG(cO, cP, cK, bV, bd, cJ, height, lastBlock.timestamp, cL, cM))]
361- $Tuple13(cG, cK, bV, bQ, bS, ct, bJ, bO, cQ, cL, cM, cf, ch)
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), aG(cN, cO, cJ, bU, bd, cI, height, lastBlock.timestamp, cK, cL))]
352+ $Tuple13(cF, cJ, bU, bP, bR, cs, bI, bN, cP, cK, cL, ce, cg)
362353 }
363354 }
364355
365356
366-func cR (cS) = {
367- let bv = aB()
368- let cT = bv[r]
369- let cU = bv[s]
370- let bO = parseIntValue(bv[p])
371- let bw = parseIntValue(bv[t])
372- let bx = parseIntValue(bv[u])
357+func cQ (cR) = {
358+ let bu = aB()
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 = aV(cS)
373365 let cV = aV(cT)
374- let cW = aV(cU)
375- let bU = if ((cS.orderType == Buy))
376- then bm(bw, bx, (cV + cS.amount), cW)
377- else bm(bw, bx, (cV - cS.amount), cW)
378- let bV = E(bU, a)
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)
379370 if (if (if (az())
380371 then true
381- else (bO == m))
372+ else (bN == m))
382373 then true
383- else (bO == n))
374+ else (bN == n))
384375 then throw("Admin blocked")
385376 else {
386- let cX = cS.assetPair.amountAsset
387- let cY = if ((cX == unit))
377+ let cW = cR.assetPair.amountAsset
378+ let cX = if ((cW == unit))
388379 then "WAVES"
389- else toBase58String(value(cX))
390- let cZ = cS.assetPair.priceAsset
391- let da = if ((cZ == unit))
380+ else toBase58String(value(cW))
381+ let cY = cR.assetPair.priceAsset
382+ let cZ = if ((cY == unit))
392383 then "WAVES"
393- else toBase58String(value(cZ))
394- if (if ((cY != cT))
384+ else toBase58String(value(cY))
385+ if (if ((cX != cS))
395386 then true
396- else (da != cU))
387+ else (cZ != cT))
397388 then throw("Wr assets")
398389 else {
399- let db = cS.price
400- let cs = fraction(a, bx, bw)
401- let dc = H(db, a, cs)
402- let dd = if ((cS.orderType == Buy))
403- then (bV >= dc)
404- else (dc >= bV)
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)
405396 true
406397 }
407398 }
408399 }
409400
410401
411-func de (df) = if ((size(df.payments) != 1))
402+func dd (de) = if ((size(de.payments) != 1))
412403 then throw("1 pmnt exp")
413404 else {
414- let dg = value(df.payments[0])
415- let bG = value(dg.assetId)
416- let cl = dg.amount
417- let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
418- let ca = cx._1
419- let cb = cx._2
420- let bO = parseIntValue(cx._9)
421- let cc = cx._10
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
422413 if (if (az())
423414 then true
424- else (bO == n))
425- then throw(("Admin blocked: " + toString(bO)))
426- else $Tuple5(ca, cb, cl, bG, cc)
415+ else (bN == n))
416+ then throw(("Admin blocked: " + toString(bN)))
417+ else $Tuple5(bZ, ca, ck, bF, cb)
427418 }
428419
429420
430-func dh (ac,V,di,dj,bd,cj,ck,cl,cm) = {
431- let cx = cd(V, bd, value(di).amount, value(di).assetId, value(dj).amount, value(dj).assetId, ac, false, cj, ck, cl, cm)
432- let bO = parseIntValue(cx._8)
421+func dg (ac,V,dh,di,bd,ci,cj,ck,cl) = {
422+ let cw = cc(V, bd, value(dh).amount, value(dh).assetId, value(di).amount, value(di).assetId, ac, false, ci, cj, ck, cl)
423+ let bN = parseIntValue(cw._8)
433424 if (if (if (az())
434425 then true
435- else (bO == l))
426+ else (bN == l))
436427 then true
437- else (bO == n))
438- then throw(("Blocked:" + toString(bO)))
439- else cx
428+ else (bN == n))
429+ then throw(("Blocked:" + toString(bN)))
430+ else cw
440431 }
441432
442433
443-func dk () = {
434+func dj () = {
444435 let ar = getString(N())
445436 if ($isInstanceOf(ar, "String"))
446437 then {
447- let dl = ar
448- fromBase58String(dl)
438+ let dk = ar
439+ fromBase58String(dk)
449440 }
450441 else if ($isInstanceOf(ar, "Unit"))
451442 then unit
452443 else throw("Match error")
453444 }
454445
455446
456-func dm () = {
447+func dl () = {
457448 let ar = getString(O())
458449 if ($isInstanceOf(ar, "String"))
459450 then {
460- let dl = ar
461- fromBase58String(dl)
451+ let dk = ar
452+ fromBase58String(dk)
462453 }
463454 else if ($isInstanceOf(ar, "Unit"))
464455 then unit
465456 else throw("Match error")
466457 }
467458
468459
469-let dn = throw("Permission denied")
460+let dm = throw("Permission denied")
470461
471-func do (df) = {
472- let ar = dk()
462+func dn (de) = {
463+ let ar = dj()
473464 if ($isInstanceOf(ar, "ByteVector"))
474465 then {
475- let dp = ar
476- if ((df.callerPublicKey == dp))
466+ let do = ar
467+ if ((de.callerPublicKey == do))
477468 then true
478- else dn
469+ else dm
479470 }
480471 else if ($isInstanceOf(ar, "Unit"))
481- then if ((df.caller == this))
472+ then if ((de.caller == this))
482473 then true
483- else dn
474+ else dm
484475 else throw("Match error")
485476 }
486477
487478
488-@Callable(df)
479+@Callable(de)
489480 func constructor (M) = {
490- let dq = do(df)
491- if ((dq == dq))
481+ let dp = dn(de)
482+ if ((dp == dp))
492483 then [StringEntry(M(), M)]
493484 else throw("Strict value is not equal to itself.")
494485 }
495486
496487
497488
498-@Callable(df)
499-func setManager (dr) = {
500- let dq = do(df)
501- if ((dq == dq))
489+@Callable(de)
490+func setManager (dq) = {
491+ let dp = dn(de)
492+ if ((dp == dp))
502493 then {
503- let ds = fromBase58String(dr)
504- if ((ds == ds))
505- then [StringEntry(O(), dr)]
494+ let dr = fromBase58String(dq)
495+ if ((dr == dr))
496+ then [StringEntry(O(), dq)]
506497 else throw("Strict value is not equal to itself.")
507498 }
508499 else throw("Strict value is not equal to itself.")
509500 }
510501
511502
512503
513-@Callable(df)
504+@Callable(de)
514505 func confirmManager () = {
515- let bD = dm()
516- let dt = if (isDefined(bD))
506+ let bC = dl()
507+ let ds = if (isDefined(bC))
517508 then true
518509 else throw("No pending manager")
519- if ((dt == dt))
510+ if ((ds == ds))
520511 then {
521- let du = if ((df.callerPublicKey == value(bD)))
512+ let dt = if ((de.callerPublicKey == value(bC)))
522513 then true
523514 else throw("You are not pending manager")
524- if ((du == du))
525- then [StringEntry(N(), toBase58String(value(bD))), DeleteEntry(O())]
515+ if ((dt == dt))
516+ then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
526517 else throw("Strict value is not equal to itself.")
527518 }
528519 else throw("Strict value is not equal to itself.")
529520 }
530521
531522
532523
533-@Callable(df)
534-func put (dv,dw) = {
535- let dx = aF()
536- let dy = valueOrErrorMessage(addressFromString(dx[x]), "Wr st addr")
537- let dz = valueOrErrorMessage(addressFromString(dx[y]), "Wr sl addr")
538- if ((0 > dv))
524+@Callable(de)
525+func put (du,dv) = {
526+ let dw = aF()
527+ let dx = valueOrErrorMessage(addressFromString(dw[x]), "Wr st addr")
528+ let dy = valueOrErrorMessage(addressFromString(dw[y]), "Wr sl addr")
529+ if ((0 > du))
539530 then throw("Wrong slippage")
540- else if ((size(df.payments) != 2))
531+ else if ((size(de.payments) != 2))
541532 then throw("2 pmnts expd")
542533 else {
543- 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, "")
544- let cK = dA._2
545- let dB = dA._7
546- let cc = dA._9
547- let cL = dA._10
548- let cM = dA._11
549- let bK = dA._12
550- let bL = dA._13
551- let cx = invoke(ax, "emit", [cK], nil)
552- if ((cx == cx))
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(ax, "emit", [cJ], nil)
543+ if ((cw == cw))
553544 then {
554- let dC = {
555- let ar = cx
545+ let dB = {
546+ let ar = cw
556547 if ($isInstanceOf(ar, "Address"))
557548 then {
558- let dD = ar
559- invoke(dD, "emit", [cK], nil)
549+ let dC = ar
550+ invoke(dC, "emit", [cJ], nil)
560551 }
561552 else unit
562553 }
563- if ((dC == dC))
554+ if ((dB == dB))
564555 then {
565- let dE = if ((cL > 0))
566- then invoke(dz, "put", nil, [AttachedPayment(bK, cL)])
556+ let dD = if ((cK > 0))
557+ then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
567558 else nil
568- if ((dE == dE))
559+ if ((dD == dD))
569560 then {
570- let dF = if ((cM > 0))
571- then invoke(dz, "put", nil, [AttachedPayment(bL, cM)])
561+ let dE = if ((cL > 0))
562+ then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
572563 else nil
573- if ((dF == dF))
564+ if ((dE == dE))
574565 then {
575- let dG = if (dw)
566+ let dF = if (dv)
576567 then {
577- let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
578- if ((dH == dH))
568+ let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569+ if ((dG == dG))
579570 then nil
580571 else throw("Strict value is not equal to itself.")
581572 }
582- else [ScriptTransfer(df.caller, cK, dB)]
583- (cc ++ dG)
573+ else [ScriptTransfer(de.caller, cJ, dA)]
574+ (cb ++ dF)
584575 }
585576 else throw("Strict value is not equal to itself.")
586577 }
587578 else throw("Strict value is not equal to itself.")
588579 }
589580 else throw("Strict value is not equal to itself.")
590581 }
591582 else throw("Strict value is not equal to itself.")
592583 }
593584 }
594585
595586
596587
597-@Callable(df)
598-func putOneTkn (dI,dJ,dK,bd,dw) = {
599- let bv = aF()
600- let dy = valueOrErrorMessage(addressFromString(bv[x]), "Wr st addr")
601- let dz = valueOrErrorMessage(addressFromString(bv[y]), "Wr sl addr")
602- let dL = valueOrErrorMessage(addressFromString(bv[z]), "Wr gwx addr")
603- let dM = aB()
604- let bK = dM[r]
605- let bL = dM[s]
606- let bM = parseIntValue(dM[t])
607- let bN = parseIntValue(dM[u])
608- let dN = valueOrElse(getString(this, aa()), "")
609- let bI = if ((dN == toString(df.caller)))
610- then df.originCaller
611- else df.caller
612- let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
613- let dP = reentrantInvoke(dO, "ensureCanPutOneTkn", [toString(bI)], nil)
614- if ((dP == dP))
615- then {
616- let dQ = throw("after check")
617- if ((dQ == dQ))
618- then if (if (if (if ((0 >= bd))
619- then true
620- else (0 >= dI))
621- then true
622- else (0 >= dJ))
623- then true
624- else (0 >= dK))
625- then throw("Wrong params")
626- else if ((size(df.payments) != 1))
627- then throw("1 pmnt expd")
588+@Callable(de)
589+func putOneTkn (dH,dI,dJ,bd,dv) = {
590+ let bu = aF()
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 = aB()
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))
606+ then if (if (if (if ((0 >= bd))
607+ then true
608+ else (0 >= dH))
609+ then true
610+ else (0 >= dI))
611+ then true
612+ else (0 >= dJ))
613+ then throw("Wrong params")
614+ else if ((size(de.payments) != 1))
615+ then throw("1 pmnt expd")
616+ 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))
621+ then true
622+ else (dI > ck))
623+ then true
624+ else (10000000 > ck))
625+ then throw("Wrong pmt amt")
628626 else {
629- let dg = value(df.payments[0])
630- let bG = toBase58String(value(dg.assetId))
631- let cl = dg.amount
632- if (if (if ((dI > cl))
633- then true
634- else (dJ > cl))
635- then true
636- else (10000000 > cl))
637- then throw("Wrong pmt amt")
638- else {
639- let bQ = aV(bK)
640- let bS = aV(bL)
641- let dR = if ((bG == bK))
642- then $Tuple6((bQ - cl), bS, (cl - dI), dJ, 0, 0)
643- else if ((bG == bL))
644- then $Tuple6(bQ, (bS - cl), 0, 0, (cl - dJ), dI)
645- else throw("wrong pmtAssetId")
646- let dS = dR._1
647- let dT = dR._2
648- let dU = dR._3
649- let dV = dR._4
650- let dW = dR._5
651- let dX = dR._6
652- let bi = invoke(dL, "calcD", [toString(dS), toString(dT), ay, g, h], nil)
653- let dY = throw("error after D0")
654- if ((dY == dY))
627+ let bP = aV(bJ)
628+ let bR = aV(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)
633+ 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 bi = invoke(dK, "calcD", [toString(dQ), toString(dR), ay, g, h], nil)
641+ let bh = invoke(dK, "calcD", [toString(toBigInt(((dQ + dS) - dV))), toString(toBigInt(((dR + dU) - dT))), ay, g, h], nil)
642+ let dW = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
643+ if ((dW == dW))
644+ then {
645+ let dX = dg(toString(de.caller), toBase58String(de.transactionId), AttachedPayment(fromBase58String(bJ), dH), AttachedPayment(fromBase58String(bK), dI), bd, 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 = ba(toBigInt(dY), toBigInt(dJ), toBigInt(bd))
652+ let cJ = toInt(dZ._2)
653+ let dz = invoke(ax, "emit", [cJ], nil)
654+ if ((dz == dz))
655655 then {
656- let bh = invoke(dL, "calcD", [toString(toBigInt(((dS + dU) - dX))), toString(toBigInt(((dT + dW) - dV))), ay, g, h], nil)
657- let dZ = throw("error after D1")
658- if ((dZ == dZ))
656+ let dB = {
657+ let ar = dz
658+ if ($isInstanceOf(ar, "Address"))
659+ then {
660+ let dC = ar
661+ invoke(dC, "emit", [cJ], nil)
662+ }
663+ else unit
664+ }
665+ if ((dB == dB))
659666 then {
660- let ea = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
661- if ((ea == ea))
667+ let dD = if ((cK > 0))
668+ then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
669+ else nil
670+ if ((dD == dD))
662671 then {
663- let eb = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(fromBase58String(bK), dI), AttachedPayment(fromBase58String(bL), dJ), bd, true, true, cl, bG)
664- let ec = eb._2
665- let dB = eb._7
666- let cc = eb._9
667- let cL = eb._10
668- let cM = eb._11
669- let ed = ba(toBigInt(ec), toBigInt(dK), toBigInt(bd))
670- let cK = toInt(ed._2)
671- let dA = invoke(ax, "emit", [cK], nil)
672- if ((dA == dA))
672+ let dE = if ((cL > 0))
673+ then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
674+ else nil
675+ if ((dE == dE))
673676 then {
674- let dC = {
675- let ar = dA
676- if ($isInstanceOf(ar, "Address"))
677- then {
678- let dD = ar
679- invoke(dD, "emit", [cK], nil)
680- }
681- else unit
682- }
683- if ((dC == dC))
677+ let dF = if (dv)
684678 then {
685- let dE = if ((cL > 0))
686- then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
687- else nil
688- if ((dE == dE))
689- then {
690- let dF = if ((cM > 0))
691- then invoke(dz, "put", nil, [AttachedPayment(fromBase58String(bL), cM)])
692- else nil
693- if ((dF == dF))
694- then {
695- let dG = if (dw)
696- then {
697- let dH = invoke(dy, "stake", nil, [AttachedPayment(dB, cK)])
698- if ((dH == dH))
699- then nil
700- else throw("Strict value is not equal to itself.")
701- }
702- else [ScriptTransfer(df.caller, cK, dB)]
703- (cc ++ dG)
704- }
705- else throw("Strict value is not equal to itself.")
706- }
679+ let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680+ if ((dG == dG))
681+ then nil
707682 else throw("Strict value is not equal to itself.")
708683 }
709- else throw("Strict value is not equal to itself.")
684+ else [ScriptTransfer(de.caller, cJ, dA)]
685+ (cb ++ dF)
710686 }
711687 else throw("Strict value is not equal to itself.")
712688 }
713689 else throw("Strict value is not equal to itself.")
714690 }
715691 else throw("Strict value is not equal to itself.")
716692 }
717693 else throw("Strict value is not equal to itself.")
718694 }
695+ else throw("Strict value is not equal to itself.")
719696 }
720- else throw("Strict value is not equal to itself.")
721- }
697+ }
722698 else throw("Strict value is not equal to itself.")
723699 }
724700
725701
726702
727-@Callable(df)
728-func putForFree (ee) = if ((0 > ee))
703+@Callable(de)
704+func putForFree (ea) = if ((0 > ea))
729705 then throw("Wrong slpg")
730- else if ((size(df.payments) != 2))
706+ else if ((size(de.payments) != 2))
731707 then throw("2 pmnts expd")
732708 else {
733- let eb = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], ee, false, false, 0, "")
734- eb._9
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
735711 }
736712
737713
738714
739-@Callable(df)
715+@Callable(de)
740716 func get () = {
741- let cx = de(df)
742- let ef = cx._1
743- let cb = cx._2
744- let cl = cx._3
745- let bG = cx._4
746- let cc = cx._5
747- let eg = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
748- if ((eg == eg))
749- then cc
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(ax, "burn", [ck], [AttachedPayment(bF, ck)])
724+ if ((ec == ec))
725+ then cb
750726 else throw("Strict value is not equal to itself.")
751727 }
752728
753729
754730
755-@Callable(df)
756-func getOneTkn (eh,ei,ej,ek,bd) = if ((size(df.payments) != 1))
731+@Callable(de)
732+func getOneTkn (ed,ee,ef,eg,bd) = if ((size(de.payments) != 1))
757733 then throw("1 pmnt expd")
758734 else {
759- let bv = aB()
760- let bJ = bv[q]
761- let bK = bv[r]
762- let bL = bv[s]
763- let bM = parseIntValue(bv[t])
764- let bN = parseIntValue(bv[u])
765- let bO = bv[p]
766- let dx = aF()
767- let dL = valueOrErrorMessage(addressFromString(dx[z]), "Wr sl addr")
768- let dg = value(df.payments[0])
769- let dN = valueOrElse(getString(this, aa()), "")
770- let bI = if ((dN == toString(df.caller)))
771- then df.originCaller
772- else df.caller
773- let bF = toBase58String(df.transactionId)
774- let bG = value(dg.assetId)
775- let cl = dg.amount
776- let dO = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
777- let dP = reentrantInvoke(dO, "ensureCanGetOneTkn", [toString(bI)], nil)
778- if ((dP == dP))
779- then if ((1000000000 > cl))
735+ let bu = aB()
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 = aF()
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))
780756 then throw("Min pmt 10 LP")
781757 else if (if (if ((0 > bd))
782758 then true
783- else (0 > eh))
759+ else (0 > ed))
784760 then true
785- else (0 > ej))
761+ else (0 > ef))
786762 then throw("Wrong params")
787- else if ((bJ != toBase58String(bG)))
763+ else if ((bI != toBase58String(bF)))
788764 then throw("Wrong LP")
789765 else {
790- let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
791- let el = cx._1
792- let em = cx._2
793- let bQ = aV(bK)
794- let bS = aV(bL)
795- let en = if ((ek == bK))
796- then $Tuple7((bQ - el), (bS - em), eh, em, 0, 0, (el + eh))
797- else if ((ek == bL))
798- then $Tuple7((bQ - el), (bS - em), 0, 0, eh, el, (em + eh))
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 = aV(bJ)
770+ let bR = aV(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))
799775 else throw("wrong outAssetId")
800- let dS = en._1
801- let dT = en._2
802- let dU = en._3
803- let dV = en._4
804- let dW = en._5
805- let dX = en._6
806- let eo = en._7
807- if (if ((0 > dU))
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))
808784 then true
809- else (0 > dW))
785+ else (0 > dU))
810786 then throw("Wrong calc")
811787 else {
812- let bi = invoke(dL, "calcD", [toString(dS), toString(dT), ay, g, h], nil)
813- let bh = invoke(dL, "calcD", [toString(((dS - dU) + dX)), toString(((dT + dV) - dW)), ay, g, h], nil)
814- let ea = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
815- if ((ea == ea))
788+ let bi = invoke(dK, "calcD", [toString(dQ), toString(dR), ay, g, h], nil)
789+ let bh = invoke(dK, "calcD", [toString(((dQ - dS) + dV)), toString(((dR + dT) - dU)), ay, g, h], nil)
790+ let dW = bg(parseBigIntValue(aq(bh)), parseBigIntValue(aq(bi)), f)
791+ if ((dW == dW))
816792 then {
817- let ep = ba(toBigInt(eo), toBigInt(ej), toBigInt(bd))
818- if ((ep == ep))
793+ let el = ba(toBigInt(ek), toBigInt(ef), toBigInt(bd))
794+ if ((el == el))
819795 then {
820- let eq = if ((ek == bK))
821- then $Tuple2(toInt(ep._2), 0)
822- else $Tuple2(0, toInt(ep._2))
823- let er = eq._1
824- let es = eq._2
825- let et = aX(B(bS, bN), B(bQ, bM))
826- let eu = E(et, a)
827- let cc = [ScriptTransfer(bI, (er + es), if ((ek == "WAVES"))
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 = aX(B(bR, bM), B(bP, bL))
802+ let eq = E(ep, a)
803+ let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
828804 then unit
829- else fromBase58String(ek)), StringEntry(W(toString(bI), bF), aR(er, es, cl, eu, height, lastBlock.timestamp)), IntegerEntry(P(), eu), IntegerEntry(Q(height, lastBlock.timestamp), eu)]
830- if ((cc == cc))
805+ else fromBase58String(eg)), StringEntry(W(toString(bH), bE), aR(en, eo, ck, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
806+ if ((cb == cb))
831807 then {
832- let ev = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
833- if ((ev == ev))
834- then cc
808+ let er = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
809+ if ((er == er))
810+ then cb
835811 else throw("Strict value is not equal to itself.")
836812 }
837813 else throw("Strict value is not equal to itself.")
838814 }
839815 else throw("Strict value is not equal to itself.")
840816 }
841817 else throw("Strict value is not equal to itself.")
842818 }
843819 }
844820 else throw("Strict value is not equal to itself.")
845821 }
846822
847823
848824
849-@Callable(df)
850-func getNoLess (ew,ex) = {
851- let cx = de(df)
852- let ca = cx._1
853- let cb = cx._2
854- let cl = cx._3
855- let bG = cx._4
856- let cc = cx._5
857- if ((ew > ca))
858- then throw(((("Failed: " + toString(ca)) + " < ") + toString(ew)))
859- else if ((ex > cb))
860- then throw(((("Failed: " + toString(cb)) + " < ") + toString(ex)))
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)))
861837 else {
862- let ey = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
863- if ((ey == ey))
864- then cc
838+ let eu = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
839+ if ((eu == eu))
840+ then cb
865841 else throw("Strict value is not equal to itself.")
866842 }
867843 }
868844
869845
870846
871-@Callable(df)
872-func unstakeAndGet (ez) = {
873- let eA = if ((size(df.payments) != 0))
847+@Callable(de)
848+func unstakeAndGet (ev) = {
849+ let ew = if ((size(de.payments) != 0))
874850 then throw("No pmnts expd")
875851 else true
876- if ((eA == eA))
852+ if ((ew == ew))
877853 then {
878- let bv = aB()
879- let eB = aF()
880- let dB = fromBase58String(bv[q])
881- let eC = valueOrErrorMessage(addressFromString(eB[x]), "Wr st addr")
882- let eD = invoke(eC, "unstake", [toBase58String(dB), ez], nil)
883- if ((eD == eD))
854+ let bu = aB()
855+ let ex = aF()
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))
884860 then {
885- let cx = bE(toBase58String(df.transactionId), toBase58String(dB), ez, df.caller)
886- let bO = parseIntValue(cx._9)
887- let cc = cx._10
888- let eE = if (if (az())
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 (az())
889865 then true
890- else (bO == n))
891- then throw(("Blocked: " + toString(bO)))
866+ else (bN == n))
867+ then throw(("Blocked: " + toString(bN)))
892868 else true
893- if ((eE == eE))
869+ if ((eA == eA))
894870 then {
895- let eF = invoke(ax, "burn", [ez], [AttachedPayment(dB, ez)])
896- if ((eF == eF))
897- then cc
871+ let eB = invoke(ax, "burn", [ev], [AttachedPayment(dA, ev)])
872+ if ((eB == eB))
873+ then cb
898874 else throw("Strict value is not equal to itself.")
899875 }
900876 else throw("Strict value is not equal to itself.")
901877 }
902878 else throw("Strict value is not equal to itself.")
903879 }
904880 else throw("Strict value is not equal to itself.")
905881 }
906882
907883
908884
909-@Callable(df)
910-func activate (eG,eH) = if ((toString(df.caller) != toString(ax)))
885+@Callable(de)
886+func activate (eC,eD) = if ((toString(de.caller) != toString(ax)))
911887 then throw("denied")
912- else $Tuple2([StringEntry(X(), eG), StringEntry(Y(), eH)], "success")
888+ else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
913889
914890
915891
916-@Callable(df)
917-func setS (eI,eE) = if ((toString(df.caller) != at(this, aa())))
918- then dn
919- else [StringEntry(eI, eE)]
892+@Callable(de)
893+func setS (eE,eA) = if ((toString(de.caller) != at(this, aa())))
894+ then dm
895+ else [StringEntry(eE, eA)]
920896
921897
922898
923-@Callable(df)
924-func setI (eI,eE) = if ((toString(df.caller) != at(this, aa())))
925- then dn
926- else [IntegerEntry(eI, eE)]
899+@Callable(de)
900+func setI (eE,eA) = if ((toString(de.caller) != at(this, aa())))
901+ then dm
902+ else [IntegerEntry(eE, eA)]
927903
928904
929905
930-@Callable(df)
906+@Callable(de)
931907 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aB())
932908
933909
934910
935-@Callable(df)
911+@Callable(de)
936912 func getAccBalanceWrapperREADONLY (aW) = $Tuple2(nil, aV(aW))
937913
938914
939915
940-@Callable(df)
941-func calcPricesWrapperREADONLY (bp,bq,bu) = {
942- let eJ = bt(bp, bq, bu)
943- $Tuple2(nil, [toString(eJ[0]), toString(eJ[1]), toString(eJ[2])])
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])])
944920 }
945921
946922
947923
948-@Callable(df)
949-func fromX18WrapperREADONLY (F,eK) = $Tuple2(nil, E(parseBigIntValue(F), eK))
924+@Callable(de)
925+func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
950926
951927
952928
953-@Callable(df)
929+@Callable(de)
954930 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
955931
956932
957933
958-@Callable(df)
934+@Callable(de)
959935 func calcPriceBigIntWrapperREADONLY (aY,aZ) = $Tuple2(nil, toString(aX(parseBigIntValue(aY), parseBigIntValue(aZ))))
960936
961937
962938
963-@Callable(df)
964-func estimatePutOperationWrapperREADONLY (bF,bd,ce,cf,cg,ch,eL,ci,cj) = $Tuple2(nil, cd(bF, bd, ce, cf, cg, ch, eL, ci, cj, false, 0, ""))
939+@Callable(de)
940+func estimatePutOperationWrapperREADONLY (bE,bd,cd,ce,cf,cg,eH,ch,ci) = $Tuple2(nil, cc(bE, bd, cd, ce, cf, cg, eH, ch, ci, false, 0, ""))
965941
966942
967943
968-@Callable(df)
969-func estimateGetOperationWrapperREADONLY (bF,eM,bH,eL) = {
970- let cx = bE(bF, eM, bH, addressFromStringValue(eL))
971- $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
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))
972948 }
973949
974950
975-@Verifier(eN)
976-func eO () = {
977- let ar = eN
951+@Verifier(eJ)
952+func eK () = {
953+ let ar = eJ
978954 if ($isInstanceOf(ar, "Order"))
979955 then {
980- let cS = ar
981- let eP = aA()
982- let an = cR(cS)
983- let eQ = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
984- let eR = sigVerify(cS.bodyBytes, cS.proofs[1], eP)
956+ let cR = ar
957+ let eL = aA()
958+ let an = cQ(cR)
959+ let eM = sigVerify(cR.bodyBytes, cR.proofs[0], cR.senderPublicKey)
960+ let eN = sigVerify(cR.bodyBytes, cR.proofs[1], eL)
985961 if (if (if (an)
986- then eQ
962+ then eM
987963 else false)
988- then eR
964+ then eN
989965 else false)
990966 then true
991- else am(an, eQ, eR)
967+ else am(an, eM, eN)
992968 }
993969 else {
994- let eS = {
995- let eT = dk()
996- if ($isInstanceOf(eT, "ByteVector"))
970+ let eO = {
971+ let eP = dj()
972+ if ($isInstanceOf(eP, "ByteVector"))
997973 then {
998- let dp = eT
999- dp
974+ let do = eP
975+ do
1000976 }
1001- else if ($isInstanceOf(eT, "Unit"))
1002- then eN.senderPublicKey
977+ else if ($isInstanceOf(eP, "Unit"))
978+ then eJ.senderPublicKey
1003979 else throw("Match error")
1004980 }
1005- sigVerify(eN.bodyBytes, eN.proofs[0], eS)
981+ sigVerify(eJ.bodyBytes, eJ.proofs[0], eO)
1006982 }
1007983 }
1008984

github/deemru/w8io/026f985 
290.63 ms