tx · 28ND4mpNE8xut96V6QiYLoireEaHVaCTwQjqUsAzcFbn

3NAwbpcPsGSxuaojbBpYgdUYsGbrNauJ57J:  -0.03500000 Waves

2022.06.07 10:12 [2085626] smart account 3NAwbpcPsGSxuaojbBpYgdUYsGbrNauJ57J > SELF 0.00000000 Waves

{ "type": 13, "id": "28ND4mpNE8xut96V6QiYLoireEaHVaCTwQjqUsAzcFbn", "fee": 3500000, "feeAssetId": null, "timestamp": 1654585963195, "version": 1, "sender": "3NAwbpcPsGSxuaojbBpYgdUYsGbrNauJ57J", "senderPublicKey": "F3cz73sYXXXQegEA2JLAqUWZViMB9jmE26svEgk9PUFm", "proofs": [ "4RpU8TxEaaxBZwpXRWagauX33irSX5nQV6gsc3ThgM65EQ7Z5zdDQ7TzpCN8kLbjg3hASMGRAR7tu5DiWzk9L3Cr" ], "script": "base64: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bRoLCgJibhIFYW1BbXQaCwoCYm8SBXByQW10GhEKAmJwEgthbXRBc0FtdFgxOBoQCgJicRIKcHJBc0FtdFgxOBoQCgJichIKY2FsY1ByaWNlcxoLCgJicxIFbHBBbXQaCQoCYnQSA2NmZxoOCgJidRIIYW10QXNEY20aDQoCYnYSB3ByQXNEY20aDgoCYncSCHByaWNlWDE4Gg4KAmJ4EghscEFtdFgxOBoTCgJieRINbHBQckluQW1Bc1gxOBoTCgJiehINbHBQckluUHJBc1gxOBoMCgFjEgdzY2FsZTE4GhAKAmNBEgphbVZpYVByWDE4GhIKAmNCEgxleHBlY3RlZEFtdHMaFwoCY0MSEWV4cEFtdEFzc2V0QW10WDE4GhkKAmNEEhNleHBQcmljZUFzc2V0QW10WDE4Gg8KAmNFEgljYWxjTHBBbXQaFAoCY0YSDmNhbGNBbUFzc2V0UG10GhQKAmNHEg5jYWxjUHJBc3NldFBtdBoSCgJjSBIMc2xpcHBhZ2VDYWxjGg8KAmNJEgllbWl0THBBbXQaDAoCY0oSBmFtRGlmZhoMCgJjSxIGcHJEaWZmGhMKAmNMEg0kdDAxNTcyNTE2MDcwGhAKAmNNEgp3cml0ZUFtQW10GhAKAmNOEgp3cml0ZVByQW10GhEKAmNPEgtjb21tb25TdGF0ZRoJCgJjUBIDbW9hGgsKAmNREgVvcmRlchoNCgJjUhIHYW10QXNJZBoMCgJjUxIGcHJBc0lkGhUKAmNUEg9hY2NBbXRBc0JhbGFuY2UaFAoCY1USDmFjY1ByQXNCYWxhbmNlGhAKAmNWEgpvckFtdEFzc2V0GhAKAmNXEgpvckFtdEFzU3RyGg8KAmNYEglvclByQXNzZXQaDwoCY1kSCW9yUHJBc1N0choQCgJjWhIKb3JkZXJQcmljZRoLCgJjYRIFc3RhdGUaCQoCY2ISA2VwbxoNCgJjYxIHaW5BbUFtdBoMCgJjZBIGaW5BbUlkGg0KAmNlEgdpblByQW10GgwKAmNmEgZpblBySWQaDAoCY2cSBmlzRXZhbBoMCgJjaBIGZW1pdExwGhAKAmNpEgppc09uZUFzc2V0GgwKAmNqEgZwbXRBbXQaCwoCY2sSBXBtdElkGg0KAmNsEgdhbUlkU3RyGg0KAmNtEgdwcklkU3RyGg8KAmNuEglpbkFt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", "chainId": 84, "height": 2085626, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H2DqrHCxwycpKw3sCRabBpAESvTwzkQ3baULK5cfwPFT Next: GmrMbXESxUPhH7mc57bNcCspdbNAVsandzdbuPJoXErr Diff:
OldNewDifferences
102102 func aa () = "%s__addonAddr"
103103
104104
105-func ab (ac) = makeString(["%s%s__lastGetOneTknCall", ac], i)
105+func ab (ac) = makeString(["%s%s__lastGetOrPutOneTknCall", ac], i)
106106
107107
108-func ad (ac) = makeString(["%s%s__lastPutOneTknCall", ac], i)
108+func ad () = "%s__factoryConfig"
109109
110110
111-func ae () = "%s__factoryConfig"
111+func ae () = "%s%s__matcher__publicKey"
112112
113113
114-func af () = "%s%s__matcher__publicKey"
114+func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
115115
116116
117-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
117+func ai (aj) = ("%s%s%s__mappings__baseAsset2internalId__" + aj)
118118
119119
120-func aj (ak) = ("%s%s%s__mappings__baseAsset2internalId__" + ak)
120+func ak () = "%s__shutdown"
121121
122122
123-func al () = "%s__shutdown"
123+func al (am,an,ao) = throw(((((("Failed: ordValid=" + toString(am)) + " sndrValid=") + toString(an)) + " mtchrValid=") + toString(ao)))
124124
125125
126-func am (an,ao,ap) = throw(((((("Failed: ordValid=" + toString(an)) + " sndrValid=") + toString(ao)) + " mtchrValid=") + toString(ap)))
127-
128-
129-func aq (F) = {
130- let ar = F
131- if ($isInstanceOf(ar, "String"))
126+func ap (F) = {
127+ let aq = F
128+ if ($isInstanceOf(aq, "String"))
132129 then {
133- let as = ar
134- as
130+ let ar = aq
131+ ar
135132 }
136133 else throw("fail cast to String")
137134 }
138135
139136
140-func at (au,av) = valueOrErrorMessage(getString(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
137+func as (at,au) = valueOrErrorMessage(getString(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
141138
142139
143-func aw (au,av) = valueOrErrorMessage(getInteger(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
140+func av (at,au) = valueOrErrorMessage(getInteger(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
144141
145142
146-let ax = addressFromStringValue(at(this, M()))
143+let aw = addressFromStringValue(as(this, M()))
147144
148-let ay = at(this, Z())
145+let ax = as(this, Z())
149146
150-func az () = valueOrElse(getBoolean(ax, al()), false)
147+func ay () = valueOrElse(getBoolean(aw, ak()), false)
151148
152149
153-func aA () = fromBase58String(at(ax, af()))
150+func az () = fromBase58String(as(aw, ae()))
154151
155152
156-func aB () = {
157- let aC = at(this, X())
158- let aD = at(this, Y())
159- let aE = aw(ax, aj(aD))
160- let ah = aw(ax, aj(aC))
161- split(at(ax, ag(toString(ah), toString(aE))), i)
153+func aA () = {
154+ let aB = as(this, X())
155+ let aC = as(this, Y())
156+ let aD = av(aw, ai(aC))
157+ let ag = av(aw, ai(aB))
158+ split(as(aw, af(toString(ag), toString(aD))), i)
162159 }
163160
164161
165-func aF () = split(at(ax, ae()), i)
162+func aE () = split(as(aw, ad()), i)
166163
167164
168-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)
165+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)
169166
170167
171-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)
168+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)
172169
173170
174-func aV (aW) = if ((aW == "WAVES"))
171+func aU (aV) = if ((aV == "WAVES"))
175172 then wavesBalance(this).available
176- else assetBalance(this, fromBase58String(aW))
173+ else assetBalance(this, fromBase58String(aV))
177174
178175
179-func aX (aY,aZ) = fraction(aY, c, aZ)
176+func aW (aX,aY) = fraction(aX, c, aY)
180177
181178
182-func ba (bb,bc,bd) = {
183- let be = fraction((bb - bc), b, bc)
184- let bf = ((bd - L(be)) > d)
185- if (!(bf))
186- then throw(("Big slpg: " + toString(be)))
187- else $Tuple2(bf, min([bb, bc]))
179+func aZ (ba,bb,bc) = {
180+ let bd = fraction((ba - bb), b, bb)
181+ let be = ((bc - L(bd)) > d)
182+ if (!(be))
183+ then throw(("Big slpg: " + toString(bd)))
184+ else $Tuple2(be, min([ba, bb]))
188185 }
189186
190187
191-func bg (bh,bi,bj) = {
192- let be = fraction(bi, b, bh)
193- let bk = (bj > be)
194- if (if (bk)
188+func bf (bg,bh,bi) = {
189+ let bd = fraction(bh, b, bg)
190+ let bj = (bi > bd)
191+ if (if (bj)
195192 then true
196- else (bi > bh))
197- then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
198- else bk
193+ else (bh > bg))
194+ then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
195+ else bj
199196 }
200197
201198
202-func bl (bm,bn,bo,bp) = {
199+func bk (bl,bm,bn,bo) = {
200+ let bp = B(bn, bl)
203201 let bq = B(bo, bm)
204- let br = B(bp, bn)
205- aX(br, bq)
202+ aW(bq, bp)
206203 }
207204
208205
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]
206+func br (bn,bo,bs) = {
207+ let bt = aA()
208+ let bu = parseIntValue(bt[t])
209+ let bv = parseIntValue(bt[u])
210+ let bw = bk(bu, bv, bn, bo)
211+ let aY = B(bn, bu)
212+ let aX = B(bo, bv)
213+ let bx = B(bs, a)
214+ let by = aW(aY, bx)
215+ let bz = aW(aX, bx)
216+[bw, by, bz]
220217 }
221218
222219
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)]
220+func bA (bn,bo,bs) = {
221+ let bB = br(bn, bo, bs)
222+[E(bB[0], a), E(bB[1], a), E(bB[2], a)]
226223 }
227224
228225
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))
226+func bC (bD,bE,bF,bG) = {
227+ let bt = aA()
228+ let bH = bt[q]
229+ let bI = bt[r]
230+ let bJ = bt[s]
231+ let bK = parseIntValue(bt[t])
232+ let bL = parseIntValue(bt[u])
233+ let bM = bt[p]
234+ let bN = valueOrErrorMessage(assetInfo(fromBase58String(bH)), "Wrong LP id").quantity
235+ if ((bH != bE))
239236 then throw("Wrong pmt asset")
240237 else {
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)
238+ let bO = aU(bI)
239+ let bP = B(bO, bK)
240+ let bQ = aU(bJ)
241+ let bR = B(bQ, bL)
242+ let bS = aW(bR, bP)
243+ let bT = E(bS, a)
244+ let bU = B(bF, a)
245+ let bV = B(bN, a)
246+ let bW = fraction(bP, bU, bV)
247+ let bX = fraction(bR, bU, bV)
248+ let bY = E(bW, bK)
251249 let bZ = E(bX, bL)
252- let ca = E(bY, bM)
253- let cb = if ((bE == ""))
250+ let ca = if ((bD == ""))
254251 then nil
255- else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
252+ else [ScriptTransfer(bG, bY, if ((bI == "WAVES"))
256253 then unit
257- else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
254+ else fromBase58String(bI)), ScriptTransfer(bG, bZ, if ((bJ == "WAVES"))
258255 then unit
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)
256+ else fromBase58String(bJ)), StringEntry(W(toString(bG), bD), aQ(bY, bZ, bF, bT, height, lastBlock.timestamp)), IntegerEntry(P(), bT), IntegerEntry(Q(height, lastBlock.timestamp), bT)]
257+ $Tuple10(bY, bZ, bI, bJ, bO, bQ, bN, bS, bM, ca)
261258 }
262259 }
263260
264261
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)
262+func cb (bD,bc,cc,cd,ce,cf,bG,cg,ch,ci,cj,ck) = {
263+ let bt = aA()
264+ let bH = fromBase58String(bt[q])
265+ let cl = bt[r]
266+ let cm = bt[s]
267+ let cn = bt[v]
268+ let co = bt[w]
269+ let cp = parseIntValue(bt[t])
270+ let cq = parseIntValue(bt[u])
271+ let bM = bt[p]
272+ let cr = valueOrErrorMessage(assetInfo(bH), "Wr lp as").quantity
273+ let bO = if (cg)
274+ then aU(cl)
275+ else if (if (ci)
276+ then (ck == cl)
280277 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)
286- then aV(cn)
287- else if (if (cj)
288- then (cl == cn)
278+ then (aU(cl) - cj)
279+ else if (ci)
280+ then aU(cl)
281+ else (aU(cl) - cc)
282+ let bQ = if (cg)
283+ then aU(cm)
284+ else if (if (ci)
285+ then (ck == cm)
289286 else false)
290- then (aV(cn) - ck)
291- else if (cj)
292- then aV(cn)
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))
287+ then (aU(cm) - cj)
288+ else if (ci)
289+ then aU(cm)
290+ else (aU(cm) - ce)
291+ let cs = B(cc, cp)
292+ let ct = B(ce, cq)
293+ let cu = aW(ct, cs)
294+ let bP = B(bO, cp)
295+ let bR = B(bQ, cq)
296+ let cv = if ((cr == 0))
300297 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), aX((bS + cu), (bQ + ct)), cx)
298+ let bS = d
299+ let cw = d
300+ let bx = pow((cs * ct), 0, toBigInt(5), 1, 0, DOWN)
301+ $Tuple5(E(bx, a), E(cs, cp), E(ct, cq), aW((bR + ct), (bP + cs)), cw)
305302 }
306303 else {
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)
304+ let bS = aW(bR, bP)
305+ let cx = fraction(L((bS - cu)), c, bS)
306+ let cw = B(bc, a)
307+ if (if ((bS != d))
308+ then (cx > cw)
312309 else false)
313- then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
310+ then throw(((("Price slippage " + toString(cx)) + " > ") + toString(cw)))
314311 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)
312+ let cy = B(cr, a)
313+ let cz = fraction(cs, bS, c)
314+ let cA = fraction(ct, c, bS)
315+ let cB = if ((cz > ct))
316+ then $Tuple2(cA, ct)
317+ else $Tuple2(cs, cz)
318+ let cC = cB._1
319+ let cD = cB._2
320+ let bx = fraction(cy, cD, bR)
321+ $Tuple5(E(bx, a), E(cC, cp), E(cD, cq), bS, cw)
325322 }
326323 }
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))
324+ let cE = cv._1
325+ let cF = cv._2
326+ let cG = cv._3
327+ let bT = E(cv._4, a)
328+ let cH = E(cv._5, a)
329+ if ((0 >= cE))
333330 then throw("LP <= 0")
334331 else {
335- let cJ = if (!(ci))
332+ let cI = if (!(ch))
336333 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)
334+ else cE
335+ let cJ = (cc - cF)
336+ let cK = (ce - cG)
337+ let cL = if (if (ci)
338+ then (ck == cl)
342339 else false)
343- then $Tuple2(ck, 0)
344- else if (if (cj)
345- then (cl == cn)
340+ then $Tuple2(cj, 0)
341+ else if (if (ci)
342+ then (ck == cm)
346343 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), 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)
344+ then $Tuple2(0, cj)
345+ else $Tuple2(cF, cG)
346+ let cM = cL._1
347+ let cN = cL._2
348+ let cO = [IntegerEntry(P(), bT), IntegerEntry(Q(height, lastBlock.timestamp), bT), StringEntry(T(bG, bD), aF(cM, cN, cI, bT, bc, cH, height, lastBlock.timestamp, cJ, cK))]
349+ $Tuple13(cE, cI, bT, bO, bQ, cr, bH, bM, cO, cJ, cK, cd, cf)
353350 }
354351 }
355352
356353
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)
365- let cV = aV(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- if (if (if (az())
354+func cP (cQ) = {
355+ let bt = aA()
356+ let cR = bt[r]
357+ let cS = bt[s]
358+ let bM = parseIntValue(bt[p])
359+ let bu = parseIntValue(bt[t])
360+ let bv = parseIntValue(bt[u])
361+ let cT = aU(cR)
362+ let cU = aU(cS)
363+ let bS = if ((cQ.orderType == Buy))
364+ then bk(bu, bv, (cT + cQ.amount), cU)
365+ else bk(bu, bv, (cT - cQ.amount), cU)
366+ let bT = E(bS, a)
367+ if (if (if (ay())
371368 then true
372- else (bN == m))
369+ else (bM == m))
373370 then true
374- else (bN == n))
371+ else (bM == n))
375372 then throw("Admin blocked")
376373 else {
377- let cW = cR.assetPair.amountAsset
378- let cX = if ((cW == unit))
374+ let cV = cQ.assetPair.amountAsset
375+ let cW = if ((cV == unit))
379376 then "WAVES"
380- else toBase58String(value(cW))
381- let cY = cR.assetPair.priceAsset
382- let cZ = if ((cY == unit))
377+ else toBase58String(value(cV))
378+ let cX = cQ.assetPair.priceAsset
379+ let cY = if ((cX == unit))
383380 then "WAVES"
384- else toBase58String(value(cY))
385- if (if ((cX != cS))
381+ else toBase58String(value(cX))
382+ if (if ((cW != cR))
386383 then true
387- else (cZ != cT))
384+ else (cY != cS))
388385 then throw("Wr assets")
389386 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)
387+ let cZ = cQ.price
388+ let cq = fraction(a, bv, bu)
389+ let da = H(cZ, a, cq)
390+ let db = if ((cQ.orderType == Buy))
391+ then (bT >= da)
392+ else (da >= bT)
396393 true
397394 }
398395 }
399396 }
400397
401398
402-func dd (de) = if ((size(de.payments) != 1))
399+func dc (dd) = if ((size(dd.payments) != 1))
403400 then throw("1 pmnt exp")
404401 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
413- if (if (az())
402+ let de = value(dd.payments[0])
403+ let bE = value(de.assetId)
404+ let cj = de.amount
405+ let cv = bC(toBase58String(dd.transactionId), toBase58String(bE), cj, dd.caller)
406+ let bY = cv._1
407+ let bZ = cv._2
408+ let bM = parseIntValue(cv._9)
409+ let ca = cv._10
410+ if (if (ay())
414411 then true
415- else (bN == n))
416- then throw(("Admin blocked: " + toString(bN)))
417- else $Tuple5(bZ, ca, ck, bF, cb)
412+ else (bM == n))
413+ then throw(("Admin blocked: " + toString(bM)))
414+ else $Tuple5(bY, bZ, cj, bE, ca)
418415 }
419416
420417
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)
424- if (if (if (az())
418+func df (ac,V,dg,dh,bc,ch,ci,cj,ck) = {
419+ let cv = cb(V, bc, value(dg).amount, value(dg).assetId, value(dh).amount, value(dh).assetId, ac, false, ch, ci, cj, ck)
420+ let bM = parseIntValue(cv._8)
421+ if (if (if (ay())
425422 then true
426- else (bN == l))
423+ else (bM == l))
427424 then true
428- else (bN == n))
429- then throw(("Blocked:" + toString(bN)))
430- else cw
425+ else (bM == n))
426+ then throw(("Blocked:" + toString(bM)))
427+ else cv
431428 }
432429
433430
434-func dj () = {
435- let ar = getString(N())
436- if ($isInstanceOf(ar, "String"))
431+func di () = {
432+ let aq = getString(N())
433+ if ($isInstanceOf(aq, "String"))
437434 then {
438- let dk = ar
439- fromBase58String(dk)
435+ let dj = aq
436+ fromBase58String(dj)
440437 }
441- else if ($isInstanceOf(ar, "Unit"))
438+ else if ($isInstanceOf(aq, "Unit"))
442439 then unit
443440 else throw("Match error")
444441 }
445442
446443
447-func dl () = {
448- let ar = getString(O())
449- if ($isInstanceOf(ar, "String"))
444+func dk () = {
445+ let aq = getString(O())
446+ if ($isInstanceOf(aq, "String"))
450447 then {
451- let dk = ar
452- fromBase58String(dk)
448+ let dj = aq
449+ fromBase58String(dj)
453450 }
454- else if ($isInstanceOf(ar, "Unit"))
451+ else if ($isInstanceOf(aq, "Unit"))
455452 then unit
456453 else throw("Match error")
457454 }
458455
459456
460-let dm = throw("Permission denied")
457+let dl = throw("Permission denied")
461458
462-func dn (de) = {
463- let ar = dj()
464- if ($isInstanceOf(ar, "ByteVector"))
459+func dm (dd) = {
460+ let aq = di()
461+ if ($isInstanceOf(aq, "ByteVector"))
465462 then {
466- let do = ar
467- if ((de.callerPublicKey == do))
463+ let dn = aq
464+ if ((dd.callerPublicKey == dn))
468465 then true
469- else dm
466+ else dl
470467 }
471- else if ($isInstanceOf(ar, "Unit"))
472- then if ((de.caller == this))
468+ else if ($isInstanceOf(aq, "Unit"))
469+ then if ((dd.caller == this))
473470 then true
474- else dm
471+ else dl
475472 else throw("Match error")
476473 }
477474
478475
479-@Callable(de)
480-func constructor (M) = {
481- let dp = dn(de)
482- if ((dp == dp))
476+@Callable(dd)
477+func constructor (M,X) = {
478+ let do = dm(dd)
479+ if ((do == do))
483480 then [StringEntry(M(), M)]
484481 else throw("Strict value is not equal to itself.")
485482 }
486483
487484
488485
489-@Callable(de)
490-func setManager (dq) = {
491- let dp = dn(de)
492- if ((dp == dp))
486+@Callable(dd)
487+func setManager (dp) = {
488+ let do = dm(dd)
489+ if ((do == do))
493490 then {
494- let dr = fromBase58String(dq)
495- if ((dr == dr))
496- then [StringEntry(O(), dq)]
491+ let dq = fromBase58String(dp)
492+ if ((dq == dq))
493+ then [StringEntry(O(), dp)]
497494 else throw("Strict value is not equal to itself.")
498495 }
499496 else throw("Strict value is not equal to itself.")
501498
502499
503500
504-@Callable(de)
501+@Callable(dd)
505502 func confirmManager () = {
506- let bC = dl()
507- let ds = if (isDefined(bC))
503+ let bB = dk()
504+ let dr = if (isDefined(bB))
508505 then true
509506 else throw("No pending manager")
510- if ((ds == ds))
507+ if ((dr == dr))
511508 then {
512- let dt = if ((de.callerPublicKey == value(bC)))
509+ let ds = if ((dd.callerPublicKey == value(bB)))
513510 then true
514511 else throw("You are not pending manager")
515- if ((dt == dt))
516- then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
512+ if ((ds == ds))
513+ then [StringEntry(N(), toBase58String(value(bB))), DeleteEntry(O())]
517514 else throw("Strict value is not equal to itself.")
518515 }
519516 else throw("Strict value is not equal to itself.")
521518
522519
523520
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))
521+@Callable(dd)
522+func put (dt,du) = {
523+ let dv = aE()
524+ let dw = valueOrErrorMessage(addressFromString(dv[x]), "Wr st addr")
525+ let dx = valueOrErrorMessage(addressFromString(dv[y]), "Wr sl addr")
526+ if ((0 > dt))
530527 then throw("Wrong slippage")
531- else if ((size(de.payments) != 2))
528+ else if ((size(dd.payments) != 2))
532529 then throw("2 pmnts expd")
533530 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(ax, "emit", [cJ], nil)
543- if ((cw == cw))
531+ let dy = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(value(dd.payments[0]).assetId, value(dd.payments[0]).amount), dd.payments[1], dt, true, false, 0, "")
532+ let cI = dy._2
533+ let dz = dy._7
534+ let ca = dy._9
535+ let cJ = dy._10
536+ let cK = dy._11
537+ let bI = dy._12
538+ let bJ = dy._13
539+ let cv = invoke(aw, "emit", [cI], nil)
540+ if ((cv == cv))
544541 then {
545- let dB = {
546- let ar = cw
547- if ($isInstanceOf(ar, "Address"))
542+ let dA = {
543+ let aq = cv
544+ if ($isInstanceOf(aq, "Address"))
548545 then {
549- let dC = ar
550- invoke(dC, "emit", [cJ], nil)
546+ let dB = aq
547+ invoke(dB, "emit", [cI], nil)
551548 }
552549 else unit
553550 }
554- if ((dB == dB))
551+ if ((dA == dA))
555552 then {
556- let dD = if ((cK > 0))
557- then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
553+ let dC = if ((cJ > 0))
554+ then invoke(dx, "put", nil, [AttachedPayment(bI, cJ)])
558555 else nil
559- if ((dD == dD))
556+ if ((dC == dC))
560557 then {
561- let dE = if ((cL > 0))
562- then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
558+ let dD = if ((cK > 0))
559+ then invoke(dx, "put", nil, [AttachedPayment(bJ, cK)])
563560 else nil
564- if ((dE == dE))
561+ if ((dD == dD))
565562 then {
566- let dF = if (dv)
563+ let dE = if (du)
567564 then {
568- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569- if ((dG == dG))
565+ let dF = invoke(dw, "stake", nil, [AttachedPayment(dz, cI)])
566+ if ((dF == dF))
570567 then nil
571568 else throw("Strict value is not equal to itself.")
572569 }
573- else [ScriptTransfer(de.caller, cJ, dA)]
574- (cb ++ dF)
570+ else [ScriptTransfer(dd.caller, cI, dz)]
571+ (ca ++ dE)
575572 }
576573 else throw("Strict value is not equal to itself.")
577574 }
585582
586583
587584
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, "ensureCanPutOneTkn", [toString(bH)], nil)
605- if ((dO == dO))
606- then if (if (if (if ((0 >= bd))
585+@Callable(dd)
586+func putOneTkn (dG,dH,dI,bc,du) = {
587+ let bt = aE()
588+ let dw = valueOrErrorMessage(addressFromString(bt[x]), "Wr st addr")
589+ let dx = valueOrErrorMessage(addressFromString(bt[y]), "Wr sl addr")
590+ let dJ = valueOrErrorMessage(addressFromString(bt[z]), "Wr gwx addr")
591+ let dK = aA()
592+ let bI = dK[r]
593+ let bJ = dK[s]
594+ let bK = parseIntValue(dK[t])
595+ let bL = parseIntValue(dK[u])
596+ let dL = valueOrElse(getString(this, aa()), "")
597+ let bG = if ((dL == toString(dd.caller)))
598+ then dd.originCaller
599+ else dd.caller
600+ let dM = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
601+ let dN = reentrantInvoke(dM, "ensureCanGetOrPutOneTkn", [toString(bG)], nil)
602+ if ((dN == dN))
603+ then if (if (if (if ((0 >= bc))
604+ then true
605+ else (0 >= dG))
607606 then true
608607 else (0 >= dH))
609608 then true
610609 else (0 >= dI))
611- then true
612- else (0 >= dJ))
613610 then throw("Wrong params")
614- else if ((size(de.payments) != 1))
611+ else if ((size(dd.payments) != 1))
615612 then throw("1 pmnt expd")
616613 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))
614+ let de = value(dd.payments[0])
615+ let bE = toBase58String(value(de.assetId))
616+ let cj = de.amount
617+ if (if (if ((dG > cj))
621618 then true
622- else (dI > ck))
619+ else (dH > cj))
623620 then true
624- else (10000000 > ck))
621+ else (10000000 > cj))
625622 then throw("Wrong pmt amt")
626623 else {
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)
624+ let bO = aU(bI)
625+ let bQ = aU(bJ)
626+ let dO = if ((bE == bI))
627+ then $Tuple6((bO - cj), bQ, (cj - dG), dH, 0, 0)
628+ else if ((bE == bJ))
629+ then $Tuple6(bO, (bQ - cj), 0, 0, (cj - dH), dG)
633630 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))
631+ let dP = dO._1
632+ let dQ = dO._2
633+ let dR = dO._3
634+ let dS = dO._4
635+ let dT = dO._5
636+ let dU = dO._6
637+ let bh = invoke(dJ, "calcD", [toString(dP), toString(dQ), ax, g, h], nil)
638+ let bg = invoke(dJ, "calcD", [toString(toBigInt(((dP + dR) - dU))), toString(toBigInt(((dQ + dT) - dS))), ax, g, h], nil)
639+ let dV = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
640+ if ((dV == dV))
644641 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))
642+ let dW = throw("error before estPut")
643+ if ((dW == dW))
655644 then {
656- let dB = {
657- let ar = dz
658- if ($isInstanceOf(ar, "Address"))
659- then {
660- let dC = ar
661- invoke(dC, "emit", [cJ], nil)
645+ let dX = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(fromBase58String(bI), dG), AttachedPayment(fromBase58String(bJ), dH), bc, true, true, cj, bE)
646+ let dY = dX._2
647+ let dz = dX._7
648+ let ca = dX._9
649+ let cJ = dX._10
650+ let cK = dX._11
651+ let dZ = aZ(toBigInt(dY), toBigInt(dI), toBigInt(bc))
652+ let cI = toInt(dZ._2)
653+ let dy = invoke(aw, "emit", [cI], nil)
654+ if ((dy == dy))
655+ then {
656+ let dA = {
657+ let aq = dy
658+ if ($isInstanceOf(aq, "Address"))
659+ then {
660+ let dB = aq
661+ invoke(dB, "emit", [cI], nil)
662+ }
663+ else unit
662664 }
663- else unit
664- }
665- if ((dB == dB))
666- then {
667- let dD = if ((cK > 0))
668- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
669- else nil
670- if ((dD == dD))
665+ if ((dA == dA))
671666 then {
672- let dE = if ((cL > 0))
673- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
667+ let dC = if ((cJ > 0))
668+ then invoke(dx, "put", nil, [AttachedPayment(fromBase58String(bI), cJ)])
674669 else nil
675- if ((dE == dE))
670+ if ((dC == dC))
676671 then {
677- let dF = if (dv)
672+ let dD = if ((cK > 0))
673+ then invoke(dx, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
674+ else nil
675+ if ((dD == dD))
678676 then {
679- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680- if ((dG == dG))
681- then nil
682- else throw("Strict value is not equal to itself.")
677+ let dE = if (du)
678+ then {
679+ let dF = invoke(dw, "stake", nil, [AttachedPayment(dz, cI)])
680+ if ((dF == dF))
681+ then nil
682+ else throw("Strict value is not equal to itself.")
683+ }
684+ else [ScriptTransfer(dd.caller, cI, dz)]
685+ (ca ++ dE)
683686 }
684- else [ScriptTransfer(de.caller, cJ, dA)]
685- (cb ++ dF)
687+ else throw("Strict value is not equal to itself.")
686688 }
687689 else throw("Strict value is not equal to itself.")
688690 }
700702
701703
702704
703-@Callable(de)
705+@Callable(dd)
704706 func putForFree (ea) = if ((0 > ea))
705707 then throw("Wrong slpg")
706- else if ((size(de.payments) != 2))
708+ else if ((size(dd.payments) != 2))
707709 then throw("2 pmnts expd")
708710 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, "")
711+ let dX = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(value(dd.payments[0]).assetId, value(dd.payments[0]).amount), dd.payments[1], ea, false, false, 0, "")
710712 dX._9
711713 }
712714
713715
714716
715-@Callable(de)
717+@Callable(dd)
716718 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(ax, "burn", [ck], [AttachedPayment(bF, ck)])
719+ let cv = dc(dd)
720+ let eb = cv._1
721+ let bZ = cv._2
722+ let cj = cv._3
723+ let bE = cv._4
724+ let ca = cv._5
725+ let ec = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
724726 if ((ec == ec))
725- then cb
727+ then ca
726728 else throw("Strict value is not equal to itself.")
727729 }
728730
729731
730732
731-@Callable(de)
732-func getOneTkn (ed,ee,ef,eg,bd) = if ((size(de.payments) != 1))
733+@Callable(dd)
734+func getOneTkn (ed,ee,ef,eg,bc) = if ((size(dd.payments) != 1))
733735 then throw("1 pmnt expd")
734736 else {
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, "ensureCanGetOneTkn", [toString(bH)], nil)
754- if ((dO == dO))
755- then if ((1000000000 > ck))
737+ let bt = aA()
738+ let bH = bt[q]
739+ let bI = bt[r]
740+ let bJ = bt[s]
741+ let bK = parseIntValue(bt[t])
742+ let bL = parseIntValue(bt[u])
743+ let bM = bt[p]
744+ let dv = aE()
745+ let dJ = valueOrErrorMessage(addressFromString(dv[z]), "Wr sl addr")
746+ let de = value(dd.payments[0])
747+ let dL = valueOrElse(getString(this, aa()), "")
748+ let bG = if ((dL == toString(dd.caller)))
749+ then dd.originCaller
750+ else dd.caller
751+ let bD = toBase58String(dd.transactionId)
752+ let bE = value(de.assetId)
753+ let cj = de.amount
754+ let dM = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
755+ let dN = reentrantInvoke(dM, "ensureCanGetOrPutOneTkn", [toString(bG)], nil)
756+ if ((dN == dN))
757+ then if ((1000000000 > cj))
756758 then throw("Min pmt 10 LP")
757- else if (if (if ((0 > bd))
759+ else if (if (if ((0 > bc))
758760 then true
759761 else (0 > ed))
760762 then true
761763 else (0 > ef))
762764 then throw("Wrong params")
763- else if ((bI != toBase58String(bF)))
765+ else if ((bH != toBase58String(bE)))
764766 then throw("Wrong LP")
765767 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 = 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))
768+ let cv = bC(toBase58String(dd.transactionId), toBase58String(bE), cj, dd.caller)
769+ let eh = cv._1
770+ let ei = cv._2
771+ let bO = aU(bI)
772+ let bQ = aU(bJ)
773+ let ej = if ((eg == bI))
774+ then $Tuple7((bO - eh), (bQ - ei), ed, ei, 0, 0, (eh + ed))
775+ else if ((eg == bJ))
776+ then $Tuple7((bO - eh), (bQ - ei), 0, 0, ed, eh, (ei + ed))
775777 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
778+ let dP = ej._1
779+ let dQ = ej._2
780+ let dR = ej._3
781+ let dS = ej._4
782+ let dT = ej._5
783+ let dU = ej._6
782784 let ek = ej._7
783- if (if ((0 > dS))
785+ if (if ((0 > dR))
784786 then true
785- else (0 > dU))
787+ else (0 > dT))
786788 then throw("Wrong calc")
787789 else {
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))
790+ let bh = invoke(dJ, "calcD", [toString(dP), toString(dQ), ax, g, h], nil)
791+ let bg = invoke(dJ, "calcD", [toString(((dP - dR) + dU)), toString(((dQ + dS) - dT)), ax, g, h], nil)
792+ let dV = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
793+ if ((dV == dV))
792794 then {
793- let el = ba(toBigInt(ek), toBigInt(ef), toBigInt(bd))
795+ let el = aZ(toBigInt(ek), toBigInt(ef), toBigInt(bc))
794796 if ((el == el))
795797 then {
796- let em = if ((eg == bJ))
798+ let em = if ((eg == bI))
797799 then $Tuple2(toInt(el._2), 0)
798800 else $Tuple2(0, toInt(el._2))
799801 let en = em._1
800802 let eo = em._2
801- let ep = aX(B(bR, bM), B(bP, bL))
803+ let ep = aW(B(bQ, bL), B(bO, bK))
802804 let eq = E(ep, a)
803- let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
805+ let ca = [ScriptTransfer(bG, (en + eo), if ((eg == "WAVES"))
804806 then unit
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))
807+ else fromBase58String(eg)), StringEntry(W(toString(bG), bD), aQ(en, eo, cj, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
808+ if ((ca == ca))
807809 then {
808- let er = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
810+ let er = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
809811 if ((er == er))
810- then cb
812+ then ca
811813 else throw("Strict value is not equal to itself.")
812814 }
813815 else throw("Strict value is not equal to itself.")
822824
823825
824826
825-@Callable(de)
827+@Callable(dd)
826828 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)))
829+ let cv = dc(dd)
830+ let bY = cv._1
831+ let bZ = cv._2
832+ let cj = cv._3
833+ let bE = cv._4
834+ let ca = cv._5
835+ if ((es > bY))
836+ then throw(((("Failed: " + toString(bY)) + " < ") + toString(es)))
837+ else if ((et > bZ))
838+ then throw(((("Failed: " + toString(bZ)) + " < ") + toString(et)))
837839 else {
838- let eu = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
840+ let eu = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
839841 if ((eu == eu))
840- then cb
842+ then ca
841843 else throw("Strict value is not equal to itself.")
842844 }
843845 }
844846
845847
846848
847-@Callable(de)
849+@Callable(dd)
848850 func unstakeAndGet (ev) = {
849- let ew = if ((size(de.payments) != 0))
851+ let ew = if ((size(dd.payments) != 0))
850852 then throw("No pmnts expd")
851853 else true
852854 if ((ew == ew))
853855 then {
854- let bu = aB()
855- let ex = aF()
856- let dA = fromBase58String(bu[q])
856+ let bt = aA()
857+ let ex = aE()
858+ let dz = fromBase58String(bt[q])
857859 let ey = valueOrErrorMessage(addressFromString(ex[x]), "Wr st addr")
858- let ez = invoke(ey, "unstake", [toBase58String(dA), ev], nil)
860+ let ez = invoke(ey, "unstake", [toBase58String(dz), ev], nil)
859861 if ((ez == ez))
860862 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 (az())
863+ let cv = bC(toBase58String(dd.transactionId), toBase58String(dz), ev, dd.caller)
864+ let bM = parseIntValue(cv._9)
865+ let ca = cv._10
866+ let eA = if (if (ay())
865867 then true
866- else (bN == n))
867- then throw(("Blocked: " + toString(bN)))
868+ else (bM == n))
869+ then throw(("Blocked: " + toString(bM)))
868870 else true
869871 if ((eA == eA))
870872 then {
871- let eB = invoke(ax, "burn", [ev], [AttachedPayment(dA, ev)])
873+ let eB = invoke(aw, "burn", [ev], [AttachedPayment(dz, ev)])
872874 if ((eB == eB))
873- then cb
875+ then ca
874876 else throw("Strict value is not equal to itself.")
875877 }
876878 else throw("Strict value is not equal to itself.")
882884
883885
884886
885-@Callable(de)
886-func activate (eC,eD) = if ((toString(de.caller) != toString(ax)))
887+@Callable(dd)
888+func activate (eC,eD) = if ((toString(dd.caller) != toString(aw)))
887889 then throw("denied")
888890 else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
889891
890892
891893
892-@Callable(de)
893-func setS (eE,eA) = if ((toString(de.caller) != at(this, aa())))
894- then dm
894+@Callable(dd)
895+func setS (eE,eA) = if ((toString(dd.caller) != as(this, aa())))
896+ then dl
895897 else [StringEntry(eE, eA)]
896898
897899
898900
899-@Callable(de)
900-func setI (eE,eA) = if ((toString(de.caller) != at(this, aa())))
901- then dm
901+@Callable(dd)
902+func setI (eE,eA) = if ((toString(dd.caller) != as(this, aa())))
903+ then dl
902904 else [IntegerEntry(eE, eA)]
903905
904906
905907
906-@Callable(de)
907-func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aB())
908+@Callable(dd)
909+func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aA())
908910
909911
910912
911-@Callable(de)
912-func getAccBalanceWrapperREADONLY (aW) = $Tuple2(nil, aV(aW))
913+@Callable(dd)
914+func getAccBalanceWrapperREADONLY (aV) = $Tuple2(nil, aU(aV))
913915
914916
915917
916-@Callable(de)
917-func calcPricesWrapperREADONLY (bo,bp,bt) = {
918- let eF = bs(bo, bp, bt)
918+@Callable(dd)
919+func calcPricesWrapperREADONLY (bn,bo,bs) = {
920+ let eF = br(bn, bo, bs)
919921 $Tuple2(nil, [toString(eF[0]), toString(eF[1]), toString(eF[2])])
920922 }
921923
922924
923925
924-@Callable(de)
926+@Callable(dd)
925927 func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
926928
927929
928930
929-@Callable(de)
931+@Callable(dd)
930932 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
931933
932934
933935
934-@Callable(de)
935-func calcPriceBigIntWrapperREADONLY (aY,aZ) = $Tuple2(nil, toString(aX(parseBigIntValue(aY), parseBigIntValue(aZ))))
936+@Callable(dd)
937+func calcPriceBigIntWrapperREADONLY (aX,aY) = $Tuple2(nil, toString(aW(parseBigIntValue(aX), parseBigIntValue(aY))))
936938
937939
938940
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, ""))
941+@Callable(dd)
942+func estimatePutOperationWrapperREADONLY (bD,bc,cc,cd,ce,cf,eH,cg,ch) = $Tuple2(nil, cb(bD, bc, cc, cd, ce, cf, eH, cg, ch, false, 0, ""))
941943
942944
943945
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))
946+@Callable(dd)
947+func estimateGetOperationWrapperREADONLY (bD,eI,bF,eH) = {
948+ let cv = bC(bD, eI, bF, addressFromStringValue(eH))
949+ $Tuple2(nil, $Tuple10(cv._1, cv._2, cv._3, cv._4, cv._5, cv._6, cv._7, toString(cv._8), cv._9, cv._10))
948950 }
949951
950952
951953 @Verifier(eJ)
952954 func eK () = {
953- let ar = eJ
954- if ($isInstanceOf(ar, "Order"))
955+ let aq = eJ
956+ if ($isInstanceOf(aq, "Order"))
955957 then {
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)
961- if (if (if (an)
958+ let cQ = aq
959+ let eL = az()
960+ let am = cP(cQ)
961+ let eM = sigVerify(cQ.bodyBytes, cQ.proofs[0], cQ.senderPublicKey)
962+ let eN = sigVerify(cQ.bodyBytes, cQ.proofs[1], eL)
963+ if (if (if (am)
962964 then eM
963965 else false)
964966 then eN
965967 else false)
966968 then true
967- else am(an, eM, eN)
969+ else al(am, eM, eN)
968970 }
969971 else {
970972 let eO = {
971- let eP = dj()
973+ let eP = di()
972974 if ($isInstanceOf(eP, "ByteVector"))
973975 then {
974- let do = eP
975- do
976+ let dn = eP
977+ dn
976978 }
977979 else if ($isInstanceOf(eP, "Unit"))
978980 then eJ.senderPublicKey
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
105-func ab (ac) = makeString(["%s%s__lastGetOneTknCall", ac], i)
105+func ab (ac) = makeString(["%s%s__lastGetOrPutOneTknCall", ac], i)
106106
107107
108-func ad (ac) = makeString(["%s%s__lastPutOneTknCall", ac], i)
108+func ad () = "%s__factoryConfig"
109109
110110
111-func ae () = "%s__factoryConfig"
111+func ae () = "%s%s__matcher__publicKey"
112112
113113
114-func af () = "%s%s__matcher__publicKey"
114+func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
115115
116116
117-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
117+func ai (aj) = ("%s%s%s__mappings__baseAsset2internalId__" + aj)
118118
119119
120-func aj (ak) = ("%s%s%s__mappings__baseAsset2internalId__" + ak)
120+func ak () = "%s__shutdown"
121121
122122
123-func al () = "%s__shutdown"
123+func al (am,an,ao) = throw(((((("Failed: ordValid=" + toString(am)) + " sndrValid=") + toString(an)) + " mtchrValid=") + toString(ao)))
124124
125125
126-func am (an,ao,ap) = throw(((((("Failed: ordValid=" + toString(an)) + " sndrValid=") + toString(ao)) + " mtchrValid=") + toString(ap)))
127-
128-
129-func aq (F) = {
130- let ar = F
131- if ($isInstanceOf(ar, "String"))
126+func ap (F) = {
127+ let aq = F
128+ if ($isInstanceOf(aq, "String"))
132129 then {
133- let as = ar
134- as
130+ let ar = aq
131+ ar
135132 }
136133 else throw("fail cast to String")
137134 }
138135
139136
140-func at (au,av) = valueOrErrorMessage(getString(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
137+func as (at,au) = valueOrErrorMessage(getString(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
141138
142139
143-func aw (au,av) = valueOrErrorMessage(getInteger(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
140+func av (at,au) = valueOrErrorMessage(getInteger(at, au), makeString(["mandatory ", toString(at), ".", au, " not defined"], ""))
144141
145142
146-let ax = addressFromStringValue(at(this, M()))
143+let aw = addressFromStringValue(as(this, M()))
147144
148-let ay = at(this, Z())
145+let ax = as(this, Z())
149146
150-func az () = valueOrElse(getBoolean(ax, al()), false)
147+func ay () = valueOrElse(getBoolean(aw, ak()), false)
151148
152149
153-func aA () = fromBase58String(at(ax, af()))
150+func az () = fromBase58String(as(aw, ae()))
154151
155152
156-func aB () = {
157- let aC = at(this, X())
158- let aD = at(this, Y())
159- let aE = aw(ax, aj(aD))
160- let ah = aw(ax, aj(aC))
161- split(at(ax, ag(toString(ah), toString(aE))), i)
153+func aA () = {
154+ let aB = as(this, X())
155+ let aC = as(this, Y())
156+ let aD = av(aw, ai(aC))
157+ let ag = av(aw, ai(aB))
158+ split(as(aw, af(toString(ag), toString(aD))), i)
162159 }
163160
164161
165-func aF () = split(at(ax, ae()), i)
162+func aE () = split(as(aw, ad()), i)
166163
167164
168-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)
165+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)
169166
170167
171-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)
168+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)
172169
173170
174-func aV (aW) = if ((aW == "WAVES"))
171+func aU (aV) = if ((aV == "WAVES"))
175172 then wavesBalance(this).available
176- else assetBalance(this, fromBase58String(aW))
173+ else assetBalance(this, fromBase58String(aV))
177174
178175
179-func aX (aY,aZ) = fraction(aY, c, aZ)
176+func aW (aX,aY) = fraction(aX, c, aY)
180177
181178
182-func ba (bb,bc,bd) = {
183- let be = fraction((bb - bc), b, bc)
184- let bf = ((bd - L(be)) > d)
185- if (!(bf))
186- then throw(("Big slpg: " + toString(be)))
187- else $Tuple2(bf, min([bb, bc]))
179+func aZ (ba,bb,bc) = {
180+ let bd = fraction((ba - bb), b, bb)
181+ let be = ((bc - L(bd)) > d)
182+ if (!(be))
183+ then throw(("Big slpg: " + toString(bd)))
184+ else $Tuple2(be, min([ba, bb]))
188185 }
189186
190187
191-func bg (bh,bi,bj) = {
192- let be = fraction(bi, b, bh)
193- let bk = (bj > be)
194- if (if (bk)
188+func bf (bg,bh,bi) = {
189+ let bd = fraction(bh, b, bg)
190+ let bj = (bi > bd)
191+ if (if (bj)
195192 then true
196- else (bi > bh))
197- then throw(((((((toString(bi) + " ") + toString(bh)) + " ") + toString(be)) + " ") + toString(bj)))
198- else bk
193+ else (bh > bg))
194+ then throw(((((((toString(bh) + " ") + toString(bg)) + " ") + toString(bd)) + " ") + toString(bi)))
195+ else bj
199196 }
200197
201198
202-func bl (bm,bn,bo,bp) = {
199+func bk (bl,bm,bn,bo) = {
200+ let bp = B(bn, bl)
203201 let bq = B(bo, bm)
204- let br = B(bp, bn)
205- aX(br, bq)
202+ aW(bq, bp)
206203 }
207204
208205
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]
206+func br (bn,bo,bs) = {
207+ let bt = aA()
208+ let bu = parseIntValue(bt[t])
209+ let bv = parseIntValue(bt[u])
210+ let bw = bk(bu, bv, bn, bo)
211+ let aY = B(bn, bu)
212+ let aX = B(bo, bv)
213+ let bx = B(bs, a)
214+ let by = aW(aY, bx)
215+ let bz = aW(aX, bx)
216+[bw, by, bz]
220217 }
221218
222219
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)]
220+func bA (bn,bo,bs) = {
221+ let bB = br(bn, bo, bs)
222+[E(bB[0], a), E(bB[1], a), E(bB[2], a)]
226223 }
227224
228225
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))
226+func bC (bD,bE,bF,bG) = {
227+ let bt = aA()
228+ let bH = bt[q]
229+ let bI = bt[r]
230+ let bJ = bt[s]
231+ let bK = parseIntValue(bt[t])
232+ let bL = parseIntValue(bt[u])
233+ let bM = bt[p]
234+ let bN = valueOrErrorMessage(assetInfo(fromBase58String(bH)), "Wrong LP id").quantity
235+ if ((bH != bE))
239236 then throw("Wrong pmt asset")
240237 else {
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)
238+ let bO = aU(bI)
239+ let bP = B(bO, bK)
240+ let bQ = aU(bJ)
241+ let bR = B(bQ, bL)
242+ let bS = aW(bR, bP)
243+ let bT = E(bS, a)
244+ let bU = B(bF, a)
245+ let bV = B(bN, a)
246+ let bW = fraction(bP, bU, bV)
247+ let bX = fraction(bR, bU, bV)
248+ let bY = E(bW, bK)
251249 let bZ = E(bX, bL)
252- let ca = E(bY, bM)
253- let cb = if ((bE == ""))
250+ let ca = if ((bD == ""))
254251 then nil
255- else [ScriptTransfer(bH, bZ, if ((bJ == "WAVES"))
252+ else [ScriptTransfer(bG, bY, if ((bI == "WAVES"))
256253 then unit
257- else fromBase58String(bJ)), ScriptTransfer(bH, ca, if ((bK == "WAVES"))
254+ else fromBase58String(bI)), ScriptTransfer(bG, bZ, if ((bJ == "WAVES"))
258255 then unit
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)
256+ else fromBase58String(bJ)), StringEntry(W(toString(bG), bD), aQ(bY, bZ, bF, bT, height, lastBlock.timestamp)), IntegerEntry(P(), bT), IntegerEntry(Q(height, lastBlock.timestamp), bT)]
257+ $Tuple10(bY, bZ, bI, bJ, bO, bQ, bN, bS, bM, ca)
261258 }
262259 }
263260
264261
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)
262+func cb (bD,bc,cc,cd,ce,cf,bG,cg,ch,ci,cj,ck) = {
263+ let bt = aA()
264+ let bH = fromBase58String(bt[q])
265+ let cl = bt[r]
266+ let cm = bt[s]
267+ let cn = bt[v]
268+ let co = bt[w]
269+ let cp = parseIntValue(bt[t])
270+ let cq = parseIntValue(bt[u])
271+ let bM = bt[p]
272+ let cr = valueOrErrorMessage(assetInfo(bH), "Wr lp as").quantity
273+ let bO = if (cg)
274+ then aU(cl)
275+ else if (if (ci)
276+ then (ck == cl)
280277 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)
286- then aV(cn)
287- else if (if (cj)
288- then (cl == cn)
278+ then (aU(cl) - cj)
279+ else if (ci)
280+ then aU(cl)
281+ else (aU(cl) - cc)
282+ let bQ = if (cg)
283+ then aU(cm)
284+ else if (if (ci)
285+ then (ck == cm)
289286 else false)
290- then (aV(cn) - ck)
291- else if (cj)
292- then aV(cn)
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))
287+ then (aU(cm) - cj)
288+ else if (ci)
289+ then aU(cm)
290+ else (aU(cm) - ce)
291+ let cs = B(cc, cp)
292+ let ct = B(ce, cq)
293+ let cu = aW(ct, cs)
294+ let bP = B(bO, cp)
295+ let bR = B(bQ, cq)
296+ let cv = if ((cr == 0))
300297 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), aX((bS + cu), (bQ + ct)), cx)
298+ let bS = d
299+ let cw = d
300+ let bx = pow((cs * ct), 0, toBigInt(5), 1, 0, DOWN)
301+ $Tuple5(E(bx, a), E(cs, cp), E(ct, cq), aW((bR + ct), (bP + cs)), cw)
305302 }
306303 else {
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)
304+ let bS = aW(bR, bP)
305+ let cx = fraction(L((bS - cu)), c, bS)
306+ let cw = B(bc, a)
307+ if (if ((bS != d))
308+ then (cx > cw)
312309 else false)
313- then throw(((("Price slippage " + toString(cy)) + " > ") + toString(cx)))
310+ then throw(((("Price slippage " + toString(cx)) + " > ") + toString(cw)))
314311 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)
312+ let cy = B(cr, a)
313+ let cz = fraction(cs, bS, c)
314+ let cA = fraction(ct, c, bS)
315+ let cB = if ((cz > ct))
316+ then $Tuple2(cA, ct)
317+ else $Tuple2(cs, cz)
318+ let cC = cB._1
319+ let cD = cB._2
320+ let bx = fraction(cy, cD, bR)
321+ $Tuple5(E(bx, a), E(cC, cp), E(cD, cq), bS, cw)
325322 }
326323 }
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))
324+ let cE = cv._1
325+ let cF = cv._2
326+ let cG = cv._3
327+ let bT = E(cv._4, a)
328+ let cH = E(cv._5, a)
329+ if ((0 >= cE))
333330 then throw("LP <= 0")
334331 else {
335- let cJ = if (!(ci))
332+ let cI = if (!(ch))
336333 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)
334+ else cE
335+ let cJ = (cc - cF)
336+ let cK = (ce - cG)
337+ let cL = if (if (ci)
338+ then (ck == cl)
342339 else false)
343- then $Tuple2(ck, 0)
344- else if (if (cj)
345- then (cl == cn)
340+ then $Tuple2(cj, 0)
341+ else if (if (ci)
342+ then (ck == cm)
346343 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), 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)
344+ then $Tuple2(0, cj)
345+ else $Tuple2(cF, cG)
346+ let cM = cL._1
347+ let cN = cL._2
348+ let cO = [IntegerEntry(P(), bT), IntegerEntry(Q(height, lastBlock.timestamp), bT), StringEntry(T(bG, bD), aF(cM, cN, cI, bT, bc, cH, height, lastBlock.timestamp, cJ, cK))]
349+ $Tuple13(cE, cI, bT, bO, bQ, cr, bH, bM, cO, cJ, cK, cd, cf)
353350 }
354351 }
355352
356353
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)
365- let cV = aV(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- if (if (if (az())
354+func cP (cQ) = {
355+ let bt = aA()
356+ let cR = bt[r]
357+ let cS = bt[s]
358+ let bM = parseIntValue(bt[p])
359+ let bu = parseIntValue(bt[t])
360+ let bv = parseIntValue(bt[u])
361+ let cT = aU(cR)
362+ let cU = aU(cS)
363+ let bS = if ((cQ.orderType == Buy))
364+ then bk(bu, bv, (cT + cQ.amount), cU)
365+ else bk(bu, bv, (cT - cQ.amount), cU)
366+ let bT = E(bS, a)
367+ if (if (if (ay())
371368 then true
372- else (bN == m))
369+ else (bM == m))
373370 then true
374- else (bN == n))
371+ else (bM == n))
375372 then throw("Admin blocked")
376373 else {
377- let cW = cR.assetPair.amountAsset
378- let cX = if ((cW == unit))
374+ let cV = cQ.assetPair.amountAsset
375+ let cW = if ((cV == unit))
379376 then "WAVES"
380- else toBase58String(value(cW))
381- let cY = cR.assetPair.priceAsset
382- let cZ = if ((cY == unit))
377+ else toBase58String(value(cV))
378+ let cX = cQ.assetPair.priceAsset
379+ let cY = if ((cX == unit))
383380 then "WAVES"
384- else toBase58String(value(cY))
385- if (if ((cX != cS))
381+ else toBase58String(value(cX))
382+ if (if ((cW != cR))
386383 then true
387- else (cZ != cT))
384+ else (cY != cS))
388385 then throw("Wr assets")
389386 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)
387+ let cZ = cQ.price
388+ let cq = fraction(a, bv, bu)
389+ let da = H(cZ, a, cq)
390+ let db = if ((cQ.orderType == Buy))
391+ then (bT >= da)
392+ else (da >= bT)
396393 true
397394 }
398395 }
399396 }
400397
401398
402-func dd (de) = if ((size(de.payments) != 1))
399+func dc (dd) = if ((size(dd.payments) != 1))
403400 then throw("1 pmnt exp")
404401 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
413- if (if (az())
402+ let de = value(dd.payments[0])
403+ let bE = value(de.assetId)
404+ let cj = de.amount
405+ let cv = bC(toBase58String(dd.transactionId), toBase58String(bE), cj, dd.caller)
406+ let bY = cv._1
407+ let bZ = cv._2
408+ let bM = parseIntValue(cv._9)
409+ let ca = cv._10
410+ if (if (ay())
414411 then true
415- else (bN == n))
416- then throw(("Admin blocked: " + toString(bN)))
417- else $Tuple5(bZ, ca, ck, bF, cb)
412+ else (bM == n))
413+ then throw(("Admin blocked: " + toString(bM)))
414+ else $Tuple5(bY, bZ, cj, bE, ca)
418415 }
419416
420417
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)
424- if (if (if (az())
418+func df (ac,V,dg,dh,bc,ch,ci,cj,ck) = {
419+ let cv = cb(V, bc, value(dg).amount, value(dg).assetId, value(dh).amount, value(dh).assetId, ac, false, ch, ci, cj, ck)
420+ let bM = parseIntValue(cv._8)
421+ if (if (if (ay())
425422 then true
426- else (bN == l))
423+ else (bM == l))
427424 then true
428- else (bN == n))
429- then throw(("Blocked:" + toString(bN)))
430- else cw
425+ else (bM == n))
426+ then throw(("Blocked:" + toString(bM)))
427+ else cv
431428 }
432429
433430
434-func dj () = {
435- let ar = getString(N())
436- if ($isInstanceOf(ar, "String"))
431+func di () = {
432+ let aq = getString(N())
433+ if ($isInstanceOf(aq, "String"))
437434 then {
438- let dk = ar
439- fromBase58String(dk)
435+ let dj = aq
436+ fromBase58String(dj)
440437 }
441- else if ($isInstanceOf(ar, "Unit"))
438+ else if ($isInstanceOf(aq, "Unit"))
442439 then unit
443440 else throw("Match error")
444441 }
445442
446443
447-func dl () = {
448- let ar = getString(O())
449- if ($isInstanceOf(ar, "String"))
444+func dk () = {
445+ let aq = getString(O())
446+ if ($isInstanceOf(aq, "String"))
450447 then {
451- let dk = ar
452- fromBase58String(dk)
448+ let dj = aq
449+ fromBase58String(dj)
453450 }
454- else if ($isInstanceOf(ar, "Unit"))
451+ else if ($isInstanceOf(aq, "Unit"))
455452 then unit
456453 else throw("Match error")
457454 }
458455
459456
460-let dm = throw("Permission denied")
457+let dl = throw("Permission denied")
461458
462-func dn (de) = {
463- let ar = dj()
464- if ($isInstanceOf(ar, "ByteVector"))
459+func dm (dd) = {
460+ let aq = di()
461+ if ($isInstanceOf(aq, "ByteVector"))
465462 then {
466- let do = ar
467- if ((de.callerPublicKey == do))
463+ let dn = aq
464+ if ((dd.callerPublicKey == dn))
468465 then true
469- else dm
466+ else dl
470467 }
471- else if ($isInstanceOf(ar, "Unit"))
472- then if ((de.caller == this))
468+ else if ($isInstanceOf(aq, "Unit"))
469+ then if ((dd.caller == this))
473470 then true
474- else dm
471+ else dl
475472 else throw("Match error")
476473 }
477474
478475
479-@Callable(de)
480-func constructor (M) = {
481- let dp = dn(de)
482- if ((dp == dp))
476+@Callable(dd)
477+func constructor (M,X) = {
478+ let do = dm(dd)
479+ if ((do == do))
483480 then [StringEntry(M(), M)]
484481 else throw("Strict value is not equal to itself.")
485482 }
486483
487484
488485
489-@Callable(de)
490-func setManager (dq) = {
491- let dp = dn(de)
492- if ((dp == dp))
486+@Callable(dd)
487+func setManager (dp) = {
488+ let do = dm(dd)
489+ if ((do == do))
493490 then {
494- let dr = fromBase58String(dq)
495- if ((dr == dr))
496- then [StringEntry(O(), dq)]
491+ let dq = fromBase58String(dp)
492+ if ((dq == dq))
493+ then [StringEntry(O(), dp)]
497494 else throw("Strict value is not equal to itself.")
498495 }
499496 else throw("Strict value is not equal to itself.")
500497 }
501498
502499
503500
504-@Callable(de)
501+@Callable(dd)
505502 func confirmManager () = {
506- let bC = dl()
507- let ds = if (isDefined(bC))
503+ let bB = dk()
504+ let dr = if (isDefined(bB))
508505 then true
509506 else throw("No pending manager")
510- if ((ds == ds))
507+ if ((dr == dr))
511508 then {
512- let dt = if ((de.callerPublicKey == value(bC)))
509+ let ds = if ((dd.callerPublicKey == value(bB)))
513510 then true
514511 else throw("You are not pending manager")
515- if ((dt == dt))
516- then [StringEntry(N(), toBase58String(value(bC))), DeleteEntry(O())]
512+ if ((ds == ds))
513+ then [StringEntry(N(), toBase58String(value(bB))), DeleteEntry(O())]
517514 else throw("Strict value is not equal to itself.")
518515 }
519516 else throw("Strict value is not equal to itself.")
520517 }
521518
522519
523520
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))
521+@Callable(dd)
522+func put (dt,du) = {
523+ let dv = aE()
524+ let dw = valueOrErrorMessage(addressFromString(dv[x]), "Wr st addr")
525+ let dx = valueOrErrorMessage(addressFromString(dv[y]), "Wr sl addr")
526+ if ((0 > dt))
530527 then throw("Wrong slippage")
531- else if ((size(de.payments) != 2))
528+ else if ((size(dd.payments) != 2))
532529 then throw("2 pmnts expd")
533530 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(ax, "emit", [cJ], nil)
543- if ((cw == cw))
531+ let dy = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(value(dd.payments[0]).assetId, value(dd.payments[0]).amount), dd.payments[1], dt, true, false, 0, "")
532+ let cI = dy._2
533+ let dz = dy._7
534+ let ca = dy._9
535+ let cJ = dy._10
536+ let cK = dy._11
537+ let bI = dy._12
538+ let bJ = dy._13
539+ let cv = invoke(aw, "emit", [cI], nil)
540+ if ((cv == cv))
544541 then {
545- let dB = {
546- let ar = cw
547- if ($isInstanceOf(ar, "Address"))
542+ let dA = {
543+ let aq = cv
544+ if ($isInstanceOf(aq, "Address"))
548545 then {
549- let dC = ar
550- invoke(dC, "emit", [cJ], nil)
546+ let dB = aq
547+ invoke(dB, "emit", [cI], nil)
551548 }
552549 else unit
553550 }
554- if ((dB == dB))
551+ if ((dA == dA))
555552 then {
556- let dD = if ((cK > 0))
557- then invoke(dy, "put", nil, [AttachedPayment(bJ, cK)])
553+ let dC = if ((cJ > 0))
554+ then invoke(dx, "put", nil, [AttachedPayment(bI, cJ)])
558555 else nil
559- if ((dD == dD))
556+ if ((dC == dC))
560557 then {
561- let dE = if ((cL > 0))
562- then invoke(dy, "put", nil, [AttachedPayment(bK, cL)])
558+ let dD = if ((cK > 0))
559+ then invoke(dx, "put", nil, [AttachedPayment(bJ, cK)])
563560 else nil
564- if ((dE == dE))
561+ if ((dD == dD))
565562 then {
566- let dF = if (dv)
563+ let dE = if (du)
567564 then {
568- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
569- if ((dG == dG))
565+ let dF = invoke(dw, "stake", nil, [AttachedPayment(dz, cI)])
566+ if ((dF == dF))
570567 then nil
571568 else throw("Strict value is not equal to itself.")
572569 }
573- else [ScriptTransfer(de.caller, cJ, dA)]
574- (cb ++ dF)
570+ else [ScriptTransfer(dd.caller, cI, dz)]
571+ (ca ++ dE)
575572 }
576573 else throw("Strict value is not equal to itself.")
577574 }
578575 else throw("Strict value is not equal to itself.")
579576 }
580577 else throw("Strict value is not equal to itself.")
581578 }
582579 else throw("Strict value is not equal to itself.")
583580 }
584581 }
585582
586583
587584
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, "ensureCanPutOneTkn", [toString(bH)], nil)
605- if ((dO == dO))
606- then if (if (if (if ((0 >= bd))
585+@Callable(dd)
586+func putOneTkn (dG,dH,dI,bc,du) = {
587+ let bt = aE()
588+ let dw = valueOrErrorMessage(addressFromString(bt[x]), "Wr st addr")
589+ let dx = valueOrErrorMessage(addressFromString(bt[y]), "Wr sl addr")
590+ let dJ = valueOrErrorMessage(addressFromString(bt[z]), "Wr gwx addr")
591+ let dK = aA()
592+ let bI = dK[r]
593+ let bJ = dK[s]
594+ let bK = parseIntValue(dK[t])
595+ let bL = parseIntValue(dK[u])
596+ let dL = valueOrElse(getString(this, aa()), "")
597+ let bG = if ((dL == toString(dd.caller)))
598+ then dd.originCaller
599+ else dd.caller
600+ let dM = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
601+ let dN = reentrantInvoke(dM, "ensureCanGetOrPutOneTkn", [toString(bG)], nil)
602+ if ((dN == dN))
603+ then if (if (if (if ((0 >= bc))
604+ then true
605+ else (0 >= dG))
607606 then true
608607 else (0 >= dH))
609608 then true
610609 else (0 >= dI))
611- then true
612- else (0 >= dJ))
613610 then throw("Wrong params")
614- else if ((size(de.payments) != 1))
611+ else if ((size(dd.payments) != 1))
615612 then throw("1 pmnt expd")
616613 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))
614+ let de = value(dd.payments[0])
615+ let bE = toBase58String(value(de.assetId))
616+ let cj = de.amount
617+ if (if (if ((dG > cj))
621618 then true
622- else (dI > ck))
619+ else (dH > cj))
623620 then true
624- else (10000000 > ck))
621+ else (10000000 > cj))
625622 then throw("Wrong pmt amt")
626623 else {
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)
624+ let bO = aU(bI)
625+ let bQ = aU(bJ)
626+ let dO = if ((bE == bI))
627+ then $Tuple6((bO - cj), bQ, (cj - dG), dH, 0, 0)
628+ else if ((bE == bJ))
629+ then $Tuple6(bO, (bQ - cj), 0, 0, (cj - dH), dG)
633630 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))
631+ let dP = dO._1
632+ let dQ = dO._2
633+ let dR = dO._3
634+ let dS = dO._4
635+ let dT = dO._5
636+ let dU = dO._6
637+ let bh = invoke(dJ, "calcD", [toString(dP), toString(dQ), ax, g, h], nil)
638+ let bg = invoke(dJ, "calcD", [toString(toBigInt(((dP + dR) - dU))), toString(toBigInt(((dQ + dT) - dS))), ax, g, h], nil)
639+ let dV = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
640+ if ((dV == dV))
644641 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))
642+ let dW = throw("error before estPut")
643+ if ((dW == dW))
655644 then {
656- let dB = {
657- let ar = dz
658- if ($isInstanceOf(ar, "Address"))
659- then {
660- let dC = ar
661- invoke(dC, "emit", [cJ], nil)
645+ let dX = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(fromBase58String(bI), dG), AttachedPayment(fromBase58String(bJ), dH), bc, true, true, cj, bE)
646+ let dY = dX._2
647+ let dz = dX._7
648+ let ca = dX._9
649+ let cJ = dX._10
650+ let cK = dX._11
651+ let dZ = aZ(toBigInt(dY), toBigInt(dI), toBigInt(bc))
652+ let cI = toInt(dZ._2)
653+ let dy = invoke(aw, "emit", [cI], nil)
654+ if ((dy == dy))
655+ then {
656+ let dA = {
657+ let aq = dy
658+ if ($isInstanceOf(aq, "Address"))
659+ then {
660+ let dB = aq
661+ invoke(dB, "emit", [cI], nil)
662+ }
663+ else unit
662664 }
663- else unit
664- }
665- if ((dB == dB))
666- then {
667- let dD = if ((cK > 0))
668- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
669- else nil
670- if ((dD == dD))
665+ if ((dA == dA))
671666 then {
672- let dE = if ((cL > 0))
673- then invoke(dy, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
667+ let dC = if ((cJ > 0))
668+ then invoke(dx, "put", nil, [AttachedPayment(fromBase58String(bI), cJ)])
674669 else nil
675- if ((dE == dE))
670+ if ((dC == dC))
676671 then {
677- let dF = if (dv)
672+ let dD = if ((cK > 0))
673+ then invoke(dx, "put", nil, [AttachedPayment(fromBase58String(bJ), cK)])
674+ else nil
675+ if ((dD == dD))
678676 then {
679- let dG = invoke(dx, "stake", nil, [AttachedPayment(dA, cJ)])
680- if ((dG == dG))
681- then nil
682- else throw("Strict value is not equal to itself.")
677+ let dE = if (du)
678+ then {
679+ let dF = invoke(dw, "stake", nil, [AttachedPayment(dz, cI)])
680+ if ((dF == dF))
681+ then nil
682+ else throw("Strict value is not equal to itself.")
683+ }
684+ else [ScriptTransfer(dd.caller, cI, dz)]
685+ (ca ++ dE)
683686 }
684- else [ScriptTransfer(de.caller, cJ, dA)]
685- (cb ++ dF)
687+ else throw("Strict value is not equal to itself.")
686688 }
687689 else throw("Strict value is not equal to itself.")
688690 }
689691 else throw("Strict value is not equal to itself.")
690692 }
691693 else throw("Strict value is not equal to itself.")
692694 }
693695 else throw("Strict value is not equal to itself.")
694696 }
695697 else throw("Strict value is not equal to itself.")
696698 }
697699 }
698700 else throw("Strict value is not equal to itself.")
699701 }
700702
701703
702704
703-@Callable(de)
705+@Callable(dd)
704706 func putForFree (ea) = if ((0 > ea))
705707 then throw("Wrong slpg")
706- else if ((size(de.payments) != 2))
708+ else if ((size(dd.payments) != 2))
707709 then throw("2 pmnts expd")
708710 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, "")
711+ let dX = df(toString(dd.caller), toBase58String(dd.transactionId), AttachedPayment(value(dd.payments[0]).assetId, value(dd.payments[0]).amount), dd.payments[1], ea, false, false, 0, "")
710712 dX._9
711713 }
712714
713715
714716
715-@Callable(de)
717+@Callable(dd)
716718 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(ax, "burn", [ck], [AttachedPayment(bF, ck)])
719+ let cv = dc(dd)
720+ let eb = cv._1
721+ let bZ = cv._2
722+ let cj = cv._3
723+ let bE = cv._4
724+ let ca = cv._5
725+ let ec = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
724726 if ((ec == ec))
725- then cb
727+ then ca
726728 else throw("Strict value is not equal to itself.")
727729 }
728730
729731
730732
731-@Callable(de)
732-func getOneTkn (ed,ee,ef,eg,bd) = if ((size(de.payments) != 1))
733+@Callable(dd)
734+func getOneTkn (ed,ee,ef,eg,bc) = if ((size(dd.payments) != 1))
733735 then throw("1 pmnt expd")
734736 else {
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, "ensureCanGetOneTkn", [toString(bH)], nil)
754- if ((dO == dO))
755- then if ((1000000000 > ck))
737+ let bt = aA()
738+ let bH = bt[q]
739+ let bI = bt[r]
740+ let bJ = bt[s]
741+ let bK = parseIntValue(bt[t])
742+ let bL = parseIntValue(bt[u])
743+ let bM = bt[p]
744+ let dv = aE()
745+ let dJ = valueOrErrorMessage(addressFromString(dv[z]), "Wr sl addr")
746+ let de = value(dd.payments[0])
747+ let dL = valueOrElse(getString(this, aa()), "")
748+ let bG = if ((dL == toString(dd.caller)))
749+ then dd.originCaller
750+ else dd.caller
751+ let bD = toBase58String(dd.transactionId)
752+ let bE = value(de.assetId)
753+ let cj = de.amount
754+ let dM = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(aa()), "no addons")), "addon address in not valid")
755+ let dN = reentrantInvoke(dM, "ensureCanGetOrPutOneTkn", [toString(bG)], nil)
756+ if ((dN == dN))
757+ then if ((1000000000 > cj))
756758 then throw("Min pmt 10 LP")
757- else if (if (if ((0 > bd))
759+ else if (if (if ((0 > bc))
758760 then true
759761 else (0 > ed))
760762 then true
761763 else (0 > ef))
762764 then throw("Wrong params")
763- else if ((bI != toBase58String(bF)))
765+ else if ((bH != toBase58String(bE)))
764766 then throw("Wrong LP")
765767 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 = 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))
768+ let cv = bC(toBase58String(dd.transactionId), toBase58String(bE), cj, dd.caller)
769+ let eh = cv._1
770+ let ei = cv._2
771+ let bO = aU(bI)
772+ let bQ = aU(bJ)
773+ let ej = if ((eg == bI))
774+ then $Tuple7((bO - eh), (bQ - ei), ed, ei, 0, 0, (eh + ed))
775+ else if ((eg == bJ))
776+ then $Tuple7((bO - eh), (bQ - ei), 0, 0, ed, eh, (ei + ed))
775777 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
778+ let dP = ej._1
779+ let dQ = ej._2
780+ let dR = ej._3
781+ let dS = ej._4
782+ let dT = ej._5
783+ let dU = ej._6
782784 let ek = ej._7
783- if (if ((0 > dS))
785+ if (if ((0 > dR))
784786 then true
785- else (0 > dU))
787+ else (0 > dT))
786788 then throw("Wrong calc")
787789 else {
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))
790+ let bh = invoke(dJ, "calcD", [toString(dP), toString(dQ), ax, g, h], nil)
791+ let bg = invoke(dJ, "calcD", [toString(((dP - dR) + dU)), toString(((dQ + dS) - dT)), ax, g, h], nil)
792+ let dV = bf(parseBigIntValue(ap(bg)), parseBigIntValue(ap(bh)), f)
793+ if ((dV == dV))
792794 then {
793- let el = ba(toBigInt(ek), toBigInt(ef), toBigInt(bd))
795+ let el = aZ(toBigInt(ek), toBigInt(ef), toBigInt(bc))
794796 if ((el == el))
795797 then {
796- let em = if ((eg == bJ))
798+ let em = if ((eg == bI))
797799 then $Tuple2(toInt(el._2), 0)
798800 else $Tuple2(0, toInt(el._2))
799801 let en = em._1
800802 let eo = em._2
801- let ep = aX(B(bR, bM), B(bP, bL))
803+ let ep = aW(B(bQ, bL), B(bO, bK))
802804 let eq = E(ep, a)
803- let cb = [ScriptTransfer(bH, (en + eo), if ((eg == "WAVES"))
805+ let ca = [ScriptTransfer(bG, (en + eo), if ((eg == "WAVES"))
804806 then unit
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))
807+ else fromBase58String(eg)), StringEntry(W(toString(bG), bD), aQ(en, eo, cj, eq, height, lastBlock.timestamp)), IntegerEntry(P(), eq), IntegerEntry(Q(height, lastBlock.timestamp), eq)]
808+ if ((ca == ca))
807809 then {
808- let er = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
810+ let er = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
809811 if ((er == er))
810- then cb
812+ then ca
811813 else throw("Strict value is not equal to itself.")
812814 }
813815 else throw("Strict value is not equal to itself.")
814816 }
815817 else throw("Strict value is not equal to itself.")
816818 }
817819 else throw("Strict value is not equal to itself.")
818820 }
819821 }
820822 else throw("Strict value is not equal to itself.")
821823 }
822824
823825
824826
825-@Callable(de)
827+@Callable(dd)
826828 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)))
829+ let cv = dc(dd)
830+ let bY = cv._1
831+ let bZ = cv._2
832+ let cj = cv._3
833+ let bE = cv._4
834+ let ca = cv._5
835+ if ((es > bY))
836+ then throw(((("Failed: " + toString(bY)) + " < ") + toString(es)))
837+ else if ((et > bZ))
838+ then throw(((("Failed: " + toString(bZ)) + " < ") + toString(et)))
837839 else {
838- let eu = invoke(ax, "burn", [ck], [AttachedPayment(bF, ck)])
840+ let eu = invoke(aw, "burn", [cj], [AttachedPayment(bE, cj)])
839841 if ((eu == eu))
840- then cb
842+ then ca
841843 else throw("Strict value is not equal to itself.")
842844 }
843845 }
844846
845847
846848
847-@Callable(de)
849+@Callable(dd)
848850 func unstakeAndGet (ev) = {
849- let ew = if ((size(de.payments) != 0))
851+ let ew = if ((size(dd.payments) != 0))
850852 then throw("No pmnts expd")
851853 else true
852854 if ((ew == ew))
853855 then {
854- let bu = aB()
855- let ex = aF()
856- let dA = fromBase58String(bu[q])
856+ let bt = aA()
857+ let ex = aE()
858+ let dz = fromBase58String(bt[q])
857859 let ey = valueOrErrorMessage(addressFromString(ex[x]), "Wr st addr")
858- let ez = invoke(ey, "unstake", [toBase58String(dA), ev], nil)
860+ let ez = invoke(ey, "unstake", [toBase58String(dz), ev], nil)
859861 if ((ez == ez))
860862 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 (az())
863+ let cv = bC(toBase58String(dd.transactionId), toBase58String(dz), ev, dd.caller)
864+ let bM = parseIntValue(cv._9)
865+ let ca = cv._10
866+ let eA = if (if (ay())
865867 then true
866- else (bN == n))
867- then throw(("Blocked: " + toString(bN)))
868+ else (bM == n))
869+ then throw(("Blocked: " + toString(bM)))
868870 else true
869871 if ((eA == eA))
870872 then {
871- let eB = invoke(ax, "burn", [ev], [AttachedPayment(dA, ev)])
873+ let eB = invoke(aw, "burn", [ev], [AttachedPayment(dz, ev)])
872874 if ((eB == eB))
873- then cb
875+ then ca
874876 else throw("Strict value is not equal to itself.")
875877 }
876878 else throw("Strict value is not equal to itself.")
877879 }
878880 else throw("Strict value is not equal to itself.")
879881 }
880882 else throw("Strict value is not equal to itself.")
881883 }
882884
883885
884886
885-@Callable(de)
886-func activate (eC,eD) = if ((toString(de.caller) != toString(ax)))
887+@Callable(dd)
888+func activate (eC,eD) = if ((toString(dd.caller) != toString(aw)))
887889 then throw("denied")
888890 else $Tuple2([StringEntry(X(), eC), StringEntry(Y(), eD)], "success")
889891
890892
891893
892-@Callable(de)
893-func setS (eE,eA) = if ((toString(de.caller) != at(this, aa())))
894- then dm
894+@Callable(dd)
895+func setS (eE,eA) = if ((toString(dd.caller) != as(this, aa())))
896+ then dl
895897 else [StringEntry(eE, eA)]
896898
897899
898900
899-@Callable(de)
900-func setI (eE,eA) = if ((toString(de.caller) != at(this, aa())))
901- then dm
901+@Callable(dd)
902+func setI (eE,eA) = if ((toString(dd.caller) != as(this, aa())))
903+ then dl
902904 else [IntegerEntry(eE, eA)]
903905
904906
905907
906-@Callable(de)
907-func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aB())
908+@Callable(dd)
909+func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aA())
908910
909911
910912
911-@Callable(de)
912-func getAccBalanceWrapperREADONLY (aW) = $Tuple2(nil, aV(aW))
913+@Callable(dd)
914+func getAccBalanceWrapperREADONLY (aV) = $Tuple2(nil, aU(aV))
913915
914916
915917
916-@Callable(de)
917-func calcPricesWrapperREADONLY (bo,bp,bt) = {
918- let eF = bs(bo, bp, bt)
918+@Callable(dd)
919+func calcPricesWrapperREADONLY (bn,bo,bs) = {
920+ let eF = br(bn, bo, bs)
919921 $Tuple2(nil, [toString(eF[0]), toString(eF[1]), toString(eF[2])])
920922 }
921923
922924
923925
924-@Callable(de)
926+@Callable(dd)
925927 func fromX18WrapperREADONLY (F,eG) = $Tuple2(nil, E(parseBigIntValue(F), eG))
926928
927929
928930
929-@Callable(de)
931+@Callable(dd)
930932 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
931933
932934
933935
934-@Callable(de)
935-func calcPriceBigIntWrapperREADONLY (aY,aZ) = $Tuple2(nil, toString(aX(parseBigIntValue(aY), parseBigIntValue(aZ))))
936+@Callable(dd)
937+func calcPriceBigIntWrapperREADONLY (aX,aY) = $Tuple2(nil, toString(aW(parseBigIntValue(aX), parseBigIntValue(aY))))
936938
937939
938940
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, ""))
941+@Callable(dd)
942+func estimatePutOperationWrapperREADONLY (bD,bc,cc,cd,ce,cf,eH,cg,ch) = $Tuple2(nil, cb(bD, bc, cc, cd, ce, cf, eH, cg, ch, false, 0, ""))
941943
942944
943945
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))
946+@Callable(dd)
947+func estimateGetOperationWrapperREADONLY (bD,eI,bF,eH) = {
948+ let cv = bC(bD, eI, bF, addressFromStringValue(eH))
949+ $Tuple2(nil, $Tuple10(cv._1, cv._2, cv._3, cv._4, cv._5, cv._6, cv._7, toString(cv._8), cv._9, cv._10))
948950 }
949951
950952
951953 @Verifier(eJ)
952954 func eK () = {
953- let ar = eJ
954- if ($isInstanceOf(ar, "Order"))
955+ let aq = eJ
956+ if ($isInstanceOf(aq, "Order"))
955957 then {
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)
961- if (if (if (an)
958+ let cQ = aq
959+ let eL = az()
960+ let am = cP(cQ)
961+ let eM = sigVerify(cQ.bodyBytes, cQ.proofs[0], cQ.senderPublicKey)
962+ let eN = sigVerify(cQ.bodyBytes, cQ.proofs[1], eL)
963+ if (if (if (am)
962964 then eM
963965 else false)
964966 then eN
965967 else false)
966968 then true
967- else am(an, eM, eN)
969+ else al(am, eM, eN)
968970 }
969971 else {
970972 let eO = {
971- let eP = dj()
973+ let eP = di()
972974 if ($isInstanceOf(eP, "ByteVector"))
973975 then {
974- let do = eP
975- do
976+ let dn = eP
977+ dn
976978 }
977979 else if ($isInstanceOf(eP, "Unit"))
978980 then eJ.senderPublicKey
979981 else throw("Match error")
980982 }
981983 sigVerify(eJ.bodyBytes, eJ.proofs[0], eO)
982984 }
983985 }
984986

github/deemru/w8io/03bedc9 
315.58 ms