tx · 8ymj6hzeVJHuMzMvKGZC62TPWBytjr1WRWoRtavBd6WH

3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV:  -0.01500000 Waves

2022.09.02 11:04 [2211254] smart account 3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV > SELF 0.00000000 Waves

{ "type": 13, "id": "8ymj6hzeVJHuMzMvKGZC62TPWBytjr1WRWoRtavBd6WH", "fee": 1500000, "feeAssetId": null, "timestamp": 1662105862730, "version": 2, "chainId": 84, "sender": "3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV", "senderPublicKey": "8KXPjDuC8ffL9qjNuDBLnkvJKbMojhZYcnm2o75UCyun", "proofs": [ "33fzBK5fDRraXg5NbePFgxJWwKjx3wrzhozPvprnYmwBC8NejAYq9G6n2hkqZq94gu2ZJ1PaAUpLYDrhRHftFMA7" ], "script": "base64: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AAAPZmFjdG9yeUNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAMcG9vbENvbnRyYWN0CQEAAAALa2V5RmFjdENudHIAAAAAAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAFYW10QXMJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAAAtrZXlBbXRBc3NldAAAAAAEAAAAB3ByaWNlQXMJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAAA1rZXlQcmljZUFzc2V0AAAAAAQAAAAIaVByaWNlQXMJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAHcHJpY2VBcwQAAAAGaUFtdEFzCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEFAAAABWFtdEFzCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAAAZpQW10QXMJAAGkAAAAAQUAAAAIaVByaWNlQXMFAAAAA1NFUAEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAABQAAAANTRVABAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAAAXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQFAAAABHVuaXQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAJAAJZAAAAAQUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAUAAAAEdW5pdAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAALbXVzdE1hbmFnZXIAAAABAAAAAWkEAAAAAnBkCQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkBAAAAAckbWF0Y2gwCQEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAnBrBQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAAnBrBgUAAAACcGQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwYFAAAAAnBkCQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAAlnZXRBZG1pbnMAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAAA9rZXlBZG1pblB1YktleXMAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDADCQAAAAAAAAIJAAExAAAAAQUAAAABcwAAAAAAAAAAAAUAAAADbmlsCQAEtQAAAAIFAAAAAXMFAAAAA1NFUAUAAAADbmlsAQAAAAltdXN0QWRtaW4AAAABAAAAAWkDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkBAAAACWdldEFkbWlucwAAAAAJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQEAAAAIbXVzdFBvb2wAAAABAAAAAWkDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMcG9vbENvbnRyYWN0BgkAAAIAAAABAgAAABdjYWxsZXIgbXVzdCBiZSB0aGUgcG9vbAAAAAgAAAABaQEAAAALY29uc3RydWN0b3IAAAABAAAAC3Bvb2xBZGRyZXNzBAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlQb29sQWRkcgAAAAAFAAAAC3Bvb2xBZGRyZXNzBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACnNldE1hbmFnZXIAAAABAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAAJZAAAAAQUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkDCQAAAAAAAAIFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAAFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA5jb25maXJtTWFuYWdlcgAAAAAEAAAAAnBtCQEAAAAdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAVoYXNQTQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAJwbQYJ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", "height": 2211254, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HGW6D3CpavRxM9jodJHUydkjwT4bSZPe9Q7FqUJwMTMd Next: 8ejagzni4ZP8hdKbfST6QzK9ZvUgYoDjpHGNPqeJDwb4 Diff:
OldNewDifferences
1515
1616 let g = 1
1717
18-func h () = "%s__factoryContract"
18+let h = "%s__delay"
19+
20+func i () = "%s__factoryContract"
1921
2022
21-func i () = "%s__managerPublicKey"
23+func j () = "%s__managerPublicKey"
2224
2325
24-func j () = "%s__pendingManagerPublicKey"
26+func k () = "%s__pendingManagerPublicKey"
2527
2628
27-func k () = "%s__poolAddress"
29+func l () = "%s__poolAddress"
2830
2931
30-func l () = "%s__amountAsset"
32+func m () = "%s__amountAsset"
3133
3234
33-func m () = "%s__priceAsset"
35+func n () = "%s__priceAsset"
3436
3537
36-func n () = "%s__adminPubKeys"
38+func o () = "%s__adminPubKeys"
3739
3840
39-func o () = "%s__amp"
41+func p () = "%s__amp"
4042
4143
42-func p (q) = ("%s%d__amp__" + toString(q))
44+func q (r) = ("%s%d__amp__" + toString(r))
4345
4446
45-func r () = "%s__factoryConfig"
47+func s (t) = makeString(["%s%s__lastGetOneTknCall", t], a)
4648
4749
48-func s (t,u) = (((("%d%d%s__" + t) + "__") + u) + "__config")
50+func u (t) = makeString(["%s%s__lastPutOneTknCall", t], a)
4951
5052
51-func v (w) = ("%s%s%s__mappings__baseAsset2internalId__" + w)
53+func v () = "%s__factoryConfig"
5254
5355
54-func x (y,z) = valueOrErrorMessage(getString(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
56+func w (x,y) = (((("%d%d%s__" + x) + "__") + y) + "__config")
5557
5658
57-func A (y,z) = valueOrErrorMessage(getInteger(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
59+func z (A) = ("%s%s%s__mappings__baseAsset2internalId__" + A)
5860
5961
60-let B = addressFromStringValue(x(this, k()))
62+func B () = "%s__allowedLpStableAddonScriptHash"
6163
62-let C = addressFromStringValue(x(B, h()))
6364
64-func D () = {
65- let E = x(B, l())
66- let F = x(B, m())
67- let G = A(C, v(F))
68- let t = A(C, v(E))
69- split(x(C, s(toString(t), toString(G))), a)
65+func C (D,E) = valueOrErrorMessage(getString(D, E), makeString(["mandatory ", toString(D), ".", E, " not defined"], ""))
66+
67+
68+func F (D,E) = valueOrErrorMessage(getInteger(D, E), makeString(["mandatory ", toString(D), ".", E, " not defined"], ""))
69+
70+
71+let G = addressFromStringValue(C(this, l()))
72+
73+let H = addressFromStringValue(C(G, i()))
74+
75+func I () = {
76+ let J = C(G, m())
77+ let K = C(G, n())
78+ let L = F(H, z(K))
79+ let x = F(H, z(J))
80+ split(C(H, w(toString(x), toString(L))), a)
7081 }
7182
7283
73-func H () = split(x(C, r()), a)
84+func M () = split(C(H, v()), a)
7485
7586
76-func I () = {
77- let J = getString(i())
78- if ($isInstanceOf(J, "String"))
87+func N () = {
88+ let O = getString(j())
89+ if ($isInstanceOf(O, "String"))
7990 then {
80- let K = J
81- fromBase58String(K)
91+ let P = O
92+ fromBase58String(P)
8293 }
83- else if ($isInstanceOf(J, "Unit"))
94+ else if ($isInstanceOf(O, "Unit"))
8495 then unit
8596 else throw("Match error")
8697 }
8798
8899
89-func L () = {
90- let J = getString(j())
91- if ($isInstanceOf(J, "String"))
100+func Q () = {
101+ let O = getString(k())
102+ if ($isInstanceOf(O, "String"))
92103 then {
93- let K = J
94- fromBase58String(K)
104+ let P = O
105+ fromBase58String(P)
95106 }
96- else if ($isInstanceOf(J, "Unit"))
107+ else if ($isInstanceOf(O, "Unit"))
97108 then unit
98109 else throw("Match error")
99110 }
100111
101112
102-func M (N) = {
103- let O = throw("Permission denied")
104- let J = I()
105- if ($isInstanceOf(J, "ByteVector"))
113+func R (S) = {
114+ let T = throw("Permission denied")
115+ let O = N()
116+ if ($isInstanceOf(O, "ByteVector"))
106117 then {
107- let P = J
108- if ((N.callerPublicKey == P))
118+ let U = O
119+ if ((S.callerPublicKey == U))
109120 then true
110- else O
121+ else T
111122 }
112- else if ($isInstanceOf(J, "Unit"))
113- then if ((N.caller == this))
123+ else if ($isInstanceOf(O, "Unit"))
124+ then if ((S.caller == this))
114125 then true
115- else O
126+ else T
116127 else throw("Match error")
117128 }
118129
119130
120-func Q () = {
121- let J = getString(n())
122- if ($isInstanceOf(J, "String"))
131+func V () = {
132+ let O = getString(o())
133+ if ($isInstanceOf(O, "String"))
123134 then {
124- let K = J
125- if ((size(K) == 0))
135+ let P = O
136+ if ((size(P) == 0))
126137 then nil
127- else split(K, a)
138+ else split(P, a)
128139 }
129140 else nil
130141 }
131142
132143
133-func R (N) = if (containsElement(Q(), toBase58String(N.callerPublicKey)))
144+func W (S) = if (containsElement(V(), toBase58String(S.callerPublicKey)))
134145 then true
135- else M(N)
146+ else R(S)
136147
137148
138-func S (N) = if ((N.caller == B))
149+func X (S) = if ((S.caller == G))
139150 then true
140151 else throw("caller must be the pool")
141152
142153
143-@Callable(N)
144-func constructor (T) = {
145- let U = M(N)
146- if ((U == U))
147- then [StringEntry(k(), T)]
154+@Callable(S)
155+func constructor (Y) = {
156+ let Z = R(S)
157+ if ((Z == Z))
158+ then [StringEntry(l(), Y)]
148159 else throw("Strict value is not equal to itself.")
149160 }
150161
151162
152163
153-@Callable(N)
154-func setManager (V) = {
155- let U = M(N)
156- if ((U == U))
164+@Callable(S)
165+func setManager (aa) = {
166+ let Z = R(S)
167+ if ((Z == Z))
157168 then {
158- let W = fromBase58String(V)
159- if ((W == W))
160- then [StringEntry(j(), V)]
169+ let ab = fromBase58String(aa)
170+ if ((ab == ab))
171+ then [StringEntry(k(), aa)]
161172 else throw("Strict value is not equal to itself.")
162173 }
163174 else throw("Strict value is not equal to itself.")
165176
166177
167178
168-@Callable(N)
179+@Callable(S)
169180 func confirmManager () = {
170- let X = L()
171- let Y = if (isDefined(X))
181+ let ac = Q()
182+ let ad = if (isDefined(ac))
172183 then true
173184 else throw("No pending manager")
174- if ((Y == Y))
185+ if ((ad == ad))
175186 then {
176- let Z = if ((N.callerPublicKey == value(X)))
187+ let ae = if ((S.callerPublicKey == value(ac)))
177188 then true
178189 else throw("You are not pending manager")
179- if ((Z == Z))
180- then [StringEntry(i(), toBase58String(value(X))), DeleteEntry(j())]
190+ if ((ae == ae))
191+ then [StringEntry(j(), toBase58String(value(ac))), DeleteEntry(k())]
181192 else throw("Strict value is not equal to itself.")
182193 }
183194 else throw("Strict value is not equal to itself.")
185196
186197
187198
188-@Callable(N)
189-func setAdmins (aa) = {
190- let U = M(N)
191- if ((U == U))
192- then [StringEntry(n(), makeString(aa, a))]
199+@Callable(S)
200+func setAdmins (af) = {
201+ let Z = R(S)
202+ if ((Z == Z))
203+ then [StringEntry(o(), makeString(af, a))]
193204 else throw("Strict value is not equal to itself.")
194205 }
195206
196207
197208
198-@Callable(N)
199-func unstakeAndGetOneTkn (ab,ac,ad,ae,af,ag) = {
200- let ah = if ((size(N.payments) != 0))
209+@Callable(S)
210+func unstakeAndGetOneTkn (ag,ah,ai,aj,ak,al) = {
211+ let am = if ((size(S.payments) != 0))
201212 then throw("No pmnts expd")
202213 else true
203- if ((ah == ah))
214+ if ((am == am))
204215 then {
205- let ai = D()
206- let aj = H()
207- let ak = fromBase58String(ai[d])
208- let al = valueOrErrorMessage(addressFromString(aj[g]), "Wr st addr")
209- let am = invoke(al, "unstake", [toBase58String(ak), ab], nil)
210- if ((am == am))
216+ let an = I()
217+ let ao = M()
218+ let ap = fromBase58String(an[d])
219+ let aq = valueOrErrorMessage(addressFromString(ao[g]), "Wr st addr")
220+ let ar = invoke(aq, "unstake", [toBase58String(ap), ag], nil)
221+ if ((ar == ar))
211222 then {
212- let an = invoke(B, "getOneTkn", [ac, ad, ae, af, ag], [AttachedPayment(ak, ab)])
213- if ((an == an))
223+ let as = reentrantInvoke(G, "getOneTkn", [ah, ai, aj, ak, al], [AttachedPayment(ap, ag)])
224+ if ((as == as))
214225 then nil
215226 else throw("Strict value is not equal to itself.")
216227 }
221232
222233
223234
224-@Callable(N)
225-func setAmp (ao) = {
226- let U = R(N)
227- if ((U == U))
235+@Callable(S)
236+func setAmp (at) = {
237+ let Z = W(S)
238+ if ((Z == Z))
228239 then {
229- let ap = invoke(B, "setS", [o(), ao], nil)
230- let aq = invoke(B, "setS", [p(height), ao], nil)
231- $Tuple2(nil, $Tuple2(ap, aq))
240+ let au = invoke(G, "setS", [p(), at], nil)
241+ let av = invoke(G, "setS", [q(height), at], nil)
242+ $Tuple2(nil, $Tuple2(au, av))
232243 }
233244 else throw("Strict value is not equal to itself.")
234245 }
235246
236247
237-@Verifier(ar)
238-func as () = {
239- let at = {
240- let J = I()
241- if ($isInstanceOf(J, "ByteVector"))
248+
249+@Callable(S)
250+func ensureCanGetOneTkn (t) = {
251+ let Z = X(S)
252+ if ((Z == Z))
253+ then {
254+ let aw = {
255+ let O = getInteger(G, u(t))
256+ if ($isInstanceOf(O, "Int"))
257+ then {
258+ let ax = O
259+ let ay = (ax + value(getInteger(G, h)))
260+ let az = (height >= ay)
261+ let aA = (ay - height)
262+ if (az)
263+ then true
264+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
265+ }
266+ else true
267+ }
268+ if ((aw == aw))
269+ then {
270+ let aB = {
271+ let O = getInteger(G, s(t))
272+ if ($isInstanceOf(O, "Int"))
273+ then {
274+ let ax = O
275+ let ay = (ax + value(getInteger(G, h)))
276+ let aC = (height >= ay)
277+ let aA = (ay - height)
278+ if (aC)
279+ then true
280+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
281+ }
282+ else true
283+ }
284+ if ((aB == aB))
285+ then {
286+ let aD = invoke(G, "setI", [u(t), height], nil)
287+ if ((aD == aD))
288+ then nil
289+ else throw("Strict value is not equal to itself.")
290+ }
291+ else throw("Strict value is not equal to itself.")
292+ }
293+ else throw("Strict value is not equal to itself.")
294+ }
295+ else throw("Strict value is not equal to itself.")
296+ }
297+
298+
299+
300+@Callable(S)
301+func ensureCanPutOneTkn (t) = {
302+ let Z = X(S)
303+ if ((Z == Z))
304+ then {
305+ let aw = {
306+ let O = getInteger(G, u(t))
307+ if ($isInstanceOf(O, "Int"))
308+ then {
309+ let ax = O
310+ let ay = (ax + value(getInteger(G, h)))
311+ let az = (height >= ay)
312+ let aA = (ay - height)
313+ if (az)
314+ then true
315+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
316+ }
317+ else true
318+ }
319+ if ((aw == aw))
320+ then {
321+ let aB = {
322+ let O = getInteger(G, s(t))
323+ if ($isInstanceOf(O, "Int"))
324+ then {
325+ let ax = O
326+ let ay = (ax + value(getInteger(G, h)))
327+ let aC = (height >= ay)
328+ let aA = (ay - height)
329+ if (aC)
330+ then true
331+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
332+ }
333+ else true
334+ }
335+ if ((aB == aB))
336+ then {
337+ let aD = invoke(G, "setI", [u(t), height], nil)
338+ if ((aD == aD))
339+ then nil
340+ else throw("Strict value is not equal to itself.")
341+ }
342+ else throw("Strict value is not equal to itself.")
343+ }
344+ else throw("Strict value is not equal to itself.")
345+ }
346+ else throw("Strict value is not equal to itself.")
347+ }
348+
349+
350+@Verifier(aE)
351+func aF () = {
352+ let aG = {
353+ let O = N()
354+ if ($isInstanceOf(O, "ByteVector"))
242355 then {
243- let P = J
244- P
356+ let U = O
357+ U
245358 }
246- else if ($isInstanceOf(J, "Unit"))
247- then ar.senderPublicKey
359+ else if ($isInstanceOf(O, "Unit"))
360+ then aE.senderPublicKey
248361 else throw("Match error")
249362 }
250- sigVerify(ar.bodyBytes, ar.proofs[0], at)
363+ let O = aE
364+ if ($isInstanceOf(O, "SetScriptTransaction"))
365+ then {
366+ let P = O
367+ let aH = blake2b256(value(P.script))
368+ let aI = fromBase64String(value(getString(H, B())))
369+ let aJ = scriptHash(this)
370+ if (if ((aI == aH))
371+ then (aJ != aH)
372+ else false)
373+ then true
374+ else sigVerify(aE.bodyBytes, aE.proofs[0], aG)
375+ }
376+ else sigVerify(aE.bodyBytes, aE.proofs[0], aG)
251377 }
252378
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = ""
77
88 let c = 1
99
1010 let d = 3
1111
1212 let e = 4
1313
1414 let f = 5
1515
1616 let g = 1
1717
18-func h () = "%s__factoryContract"
18+let h = "%s__delay"
19+
20+func i () = "%s__factoryContract"
1921
2022
21-func i () = "%s__managerPublicKey"
23+func j () = "%s__managerPublicKey"
2224
2325
24-func j () = "%s__pendingManagerPublicKey"
26+func k () = "%s__pendingManagerPublicKey"
2527
2628
27-func k () = "%s__poolAddress"
29+func l () = "%s__poolAddress"
2830
2931
30-func l () = "%s__amountAsset"
32+func m () = "%s__amountAsset"
3133
3234
33-func m () = "%s__priceAsset"
35+func n () = "%s__priceAsset"
3436
3537
36-func n () = "%s__adminPubKeys"
38+func o () = "%s__adminPubKeys"
3739
3840
39-func o () = "%s__amp"
41+func p () = "%s__amp"
4042
4143
42-func p (q) = ("%s%d__amp__" + toString(q))
44+func q (r) = ("%s%d__amp__" + toString(r))
4345
4446
45-func r () = "%s__factoryConfig"
47+func s (t) = makeString(["%s%s__lastGetOneTknCall", t], a)
4648
4749
48-func s (t,u) = (((("%d%d%s__" + t) + "__") + u) + "__config")
50+func u (t) = makeString(["%s%s__lastPutOneTknCall", t], a)
4951
5052
51-func v (w) = ("%s%s%s__mappings__baseAsset2internalId__" + w)
53+func v () = "%s__factoryConfig"
5254
5355
54-func x (y,z) = valueOrErrorMessage(getString(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
56+func w (x,y) = (((("%d%d%s__" + x) + "__") + y) + "__config")
5557
5658
57-func A (y,z) = valueOrErrorMessage(getInteger(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
59+func z (A) = ("%s%s%s__mappings__baseAsset2internalId__" + A)
5860
5961
60-let B = addressFromStringValue(x(this, k()))
62+func B () = "%s__allowedLpStableAddonScriptHash"
6163
62-let C = addressFromStringValue(x(B, h()))
6364
64-func D () = {
65- let E = x(B, l())
66- let F = x(B, m())
67- let G = A(C, v(F))
68- let t = A(C, v(E))
69- split(x(C, s(toString(t), toString(G))), a)
65+func C (D,E) = valueOrErrorMessage(getString(D, E), makeString(["mandatory ", toString(D), ".", E, " not defined"], ""))
66+
67+
68+func F (D,E) = valueOrErrorMessage(getInteger(D, E), makeString(["mandatory ", toString(D), ".", E, " not defined"], ""))
69+
70+
71+let G = addressFromStringValue(C(this, l()))
72+
73+let H = addressFromStringValue(C(G, i()))
74+
75+func I () = {
76+ let J = C(G, m())
77+ let K = C(G, n())
78+ let L = F(H, z(K))
79+ let x = F(H, z(J))
80+ split(C(H, w(toString(x), toString(L))), a)
7081 }
7182
7283
73-func H () = split(x(C, r()), a)
84+func M () = split(C(H, v()), a)
7485
7586
76-func I () = {
77- let J = getString(i())
78- if ($isInstanceOf(J, "String"))
87+func N () = {
88+ let O = getString(j())
89+ if ($isInstanceOf(O, "String"))
7990 then {
80- let K = J
81- fromBase58String(K)
91+ let P = O
92+ fromBase58String(P)
8293 }
83- else if ($isInstanceOf(J, "Unit"))
94+ else if ($isInstanceOf(O, "Unit"))
8495 then unit
8596 else throw("Match error")
8697 }
8798
8899
89-func L () = {
90- let J = getString(j())
91- if ($isInstanceOf(J, "String"))
100+func Q () = {
101+ let O = getString(k())
102+ if ($isInstanceOf(O, "String"))
92103 then {
93- let K = J
94- fromBase58String(K)
104+ let P = O
105+ fromBase58String(P)
95106 }
96- else if ($isInstanceOf(J, "Unit"))
107+ else if ($isInstanceOf(O, "Unit"))
97108 then unit
98109 else throw("Match error")
99110 }
100111
101112
102-func M (N) = {
103- let O = throw("Permission denied")
104- let J = I()
105- if ($isInstanceOf(J, "ByteVector"))
113+func R (S) = {
114+ let T = throw("Permission denied")
115+ let O = N()
116+ if ($isInstanceOf(O, "ByteVector"))
106117 then {
107- let P = J
108- if ((N.callerPublicKey == P))
118+ let U = O
119+ if ((S.callerPublicKey == U))
109120 then true
110- else O
121+ else T
111122 }
112- else if ($isInstanceOf(J, "Unit"))
113- then if ((N.caller == this))
123+ else if ($isInstanceOf(O, "Unit"))
124+ then if ((S.caller == this))
114125 then true
115- else O
126+ else T
116127 else throw("Match error")
117128 }
118129
119130
120-func Q () = {
121- let J = getString(n())
122- if ($isInstanceOf(J, "String"))
131+func V () = {
132+ let O = getString(o())
133+ if ($isInstanceOf(O, "String"))
123134 then {
124- let K = J
125- if ((size(K) == 0))
135+ let P = O
136+ if ((size(P) == 0))
126137 then nil
127- else split(K, a)
138+ else split(P, a)
128139 }
129140 else nil
130141 }
131142
132143
133-func R (N) = if (containsElement(Q(), toBase58String(N.callerPublicKey)))
144+func W (S) = if (containsElement(V(), toBase58String(S.callerPublicKey)))
134145 then true
135- else M(N)
146+ else R(S)
136147
137148
138-func S (N) = if ((N.caller == B))
149+func X (S) = if ((S.caller == G))
139150 then true
140151 else throw("caller must be the pool")
141152
142153
143-@Callable(N)
144-func constructor (T) = {
145- let U = M(N)
146- if ((U == U))
147- then [StringEntry(k(), T)]
154+@Callable(S)
155+func constructor (Y) = {
156+ let Z = R(S)
157+ if ((Z == Z))
158+ then [StringEntry(l(), Y)]
148159 else throw("Strict value is not equal to itself.")
149160 }
150161
151162
152163
153-@Callable(N)
154-func setManager (V) = {
155- let U = M(N)
156- if ((U == U))
164+@Callable(S)
165+func setManager (aa) = {
166+ let Z = R(S)
167+ if ((Z == Z))
157168 then {
158- let W = fromBase58String(V)
159- if ((W == W))
160- then [StringEntry(j(), V)]
169+ let ab = fromBase58String(aa)
170+ if ((ab == ab))
171+ then [StringEntry(k(), aa)]
161172 else throw("Strict value is not equal to itself.")
162173 }
163174 else throw("Strict value is not equal to itself.")
164175 }
165176
166177
167178
168-@Callable(N)
179+@Callable(S)
169180 func confirmManager () = {
170- let X = L()
171- let Y = if (isDefined(X))
181+ let ac = Q()
182+ let ad = if (isDefined(ac))
172183 then true
173184 else throw("No pending manager")
174- if ((Y == Y))
185+ if ((ad == ad))
175186 then {
176- let Z = if ((N.callerPublicKey == value(X)))
187+ let ae = if ((S.callerPublicKey == value(ac)))
177188 then true
178189 else throw("You are not pending manager")
179- if ((Z == Z))
180- then [StringEntry(i(), toBase58String(value(X))), DeleteEntry(j())]
190+ if ((ae == ae))
191+ then [StringEntry(j(), toBase58String(value(ac))), DeleteEntry(k())]
181192 else throw("Strict value is not equal to itself.")
182193 }
183194 else throw("Strict value is not equal to itself.")
184195 }
185196
186197
187198
188-@Callable(N)
189-func setAdmins (aa) = {
190- let U = M(N)
191- if ((U == U))
192- then [StringEntry(n(), makeString(aa, a))]
199+@Callable(S)
200+func setAdmins (af) = {
201+ let Z = R(S)
202+ if ((Z == Z))
203+ then [StringEntry(o(), makeString(af, a))]
193204 else throw("Strict value is not equal to itself.")
194205 }
195206
196207
197208
198-@Callable(N)
199-func unstakeAndGetOneTkn (ab,ac,ad,ae,af,ag) = {
200- let ah = if ((size(N.payments) != 0))
209+@Callable(S)
210+func unstakeAndGetOneTkn (ag,ah,ai,aj,ak,al) = {
211+ let am = if ((size(S.payments) != 0))
201212 then throw("No pmnts expd")
202213 else true
203- if ((ah == ah))
214+ if ((am == am))
204215 then {
205- let ai = D()
206- let aj = H()
207- let ak = fromBase58String(ai[d])
208- let al = valueOrErrorMessage(addressFromString(aj[g]), "Wr st addr")
209- let am = invoke(al, "unstake", [toBase58String(ak), ab], nil)
210- if ((am == am))
216+ let an = I()
217+ let ao = M()
218+ let ap = fromBase58String(an[d])
219+ let aq = valueOrErrorMessage(addressFromString(ao[g]), "Wr st addr")
220+ let ar = invoke(aq, "unstake", [toBase58String(ap), ag], nil)
221+ if ((ar == ar))
211222 then {
212- let an = invoke(B, "getOneTkn", [ac, ad, ae, af, ag], [AttachedPayment(ak, ab)])
213- if ((an == an))
223+ let as = reentrantInvoke(G, "getOneTkn", [ah, ai, aj, ak, al], [AttachedPayment(ap, ag)])
224+ if ((as == as))
214225 then nil
215226 else throw("Strict value is not equal to itself.")
216227 }
217228 else throw("Strict value is not equal to itself.")
218229 }
219230 else throw("Strict value is not equal to itself.")
220231 }
221232
222233
223234
224-@Callable(N)
225-func setAmp (ao) = {
226- let U = R(N)
227- if ((U == U))
235+@Callable(S)
236+func setAmp (at) = {
237+ let Z = W(S)
238+ if ((Z == Z))
228239 then {
229- let ap = invoke(B, "setS", [o(), ao], nil)
230- let aq = invoke(B, "setS", [p(height), ao], nil)
231- $Tuple2(nil, $Tuple2(ap, aq))
240+ let au = invoke(G, "setS", [p(), at], nil)
241+ let av = invoke(G, "setS", [q(height), at], nil)
242+ $Tuple2(nil, $Tuple2(au, av))
232243 }
233244 else throw("Strict value is not equal to itself.")
234245 }
235246
236247
237-@Verifier(ar)
238-func as () = {
239- let at = {
240- let J = I()
241- if ($isInstanceOf(J, "ByteVector"))
248+
249+@Callable(S)
250+func ensureCanGetOneTkn (t) = {
251+ let Z = X(S)
252+ if ((Z == Z))
253+ then {
254+ let aw = {
255+ let O = getInteger(G, u(t))
256+ if ($isInstanceOf(O, "Int"))
257+ then {
258+ let ax = O
259+ let ay = (ax + value(getInteger(G, h)))
260+ let az = (height >= ay)
261+ let aA = (ay - height)
262+ if (az)
263+ then true
264+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
265+ }
266+ else true
267+ }
268+ if ((aw == aw))
269+ then {
270+ let aB = {
271+ let O = getInteger(G, s(t))
272+ if ($isInstanceOf(O, "Int"))
273+ then {
274+ let ax = O
275+ let ay = (ax + value(getInteger(G, h)))
276+ let aC = (height >= ay)
277+ let aA = (ay - height)
278+ if (aC)
279+ then true
280+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
281+ }
282+ else true
283+ }
284+ if ((aB == aB))
285+ then {
286+ let aD = invoke(G, "setI", [u(t), height], nil)
287+ if ((aD == aD))
288+ then nil
289+ else throw("Strict value is not equal to itself.")
290+ }
291+ else throw("Strict value is not equal to itself.")
292+ }
293+ else throw("Strict value is not equal to itself.")
294+ }
295+ else throw("Strict value is not equal to itself.")
296+ }
297+
298+
299+
300+@Callable(S)
301+func ensureCanPutOneTkn (t) = {
302+ let Z = X(S)
303+ if ((Z == Z))
304+ then {
305+ let aw = {
306+ let O = getInteger(G, u(t))
307+ if ($isInstanceOf(O, "Int"))
308+ then {
309+ let ax = O
310+ let ay = (ax + value(getInteger(G, h)))
311+ let az = (height >= ay)
312+ let aA = (ay - height)
313+ if (az)
314+ then true
315+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
316+ }
317+ else true
318+ }
319+ if ((aw == aw))
320+ then {
321+ let aB = {
322+ let O = getInteger(G, s(t))
323+ if ($isInstanceOf(O, "Int"))
324+ then {
325+ let ax = O
326+ let ay = (ax + value(getInteger(G, h)))
327+ let aC = (height >= ay)
328+ let aA = (ay - height)
329+ if (aC)
330+ then true
331+ else throw(makeString(["you should wait", toString(aA), "blocks more to perform the action"], " "))
332+ }
333+ else true
334+ }
335+ if ((aB == aB))
336+ then {
337+ let aD = invoke(G, "setI", [u(t), height], nil)
338+ if ((aD == aD))
339+ then nil
340+ else throw("Strict value is not equal to itself.")
341+ }
342+ else throw("Strict value is not equal to itself.")
343+ }
344+ else throw("Strict value is not equal to itself.")
345+ }
346+ else throw("Strict value is not equal to itself.")
347+ }
348+
349+
350+@Verifier(aE)
351+func aF () = {
352+ let aG = {
353+ let O = N()
354+ if ($isInstanceOf(O, "ByteVector"))
242355 then {
243- let P = J
244- P
356+ let U = O
357+ U
245358 }
246- else if ($isInstanceOf(J, "Unit"))
247- then ar.senderPublicKey
359+ else if ($isInstanceOf(O, "Unit"))
360+ then aE.senderPublicKey
248361 else throw("Match error")
249362 }
250- sigVerify(ar.bodyBytes, ar.proofs[0], at)
363+ let O = aE
364+ if ($isInstanceOf(O, "SetScriptTransaction"))
365+ then {
366+ let P = O
367+ let aH = blake2b256(value(P.script))
368+ let aI = fromBase64String(value(getString(H, B())))
369+ let aJ = scriptHash(this)
370+ if (if ((aI == aH))
371+ then (aJ != aH)
372+ else false)
373+ then true
374+ else sigVerify(aE.bodyBytes, aE.proofs[0], aG)
375+ }
376+ else sigVerify(aE.bodyBytes, aE.proofs[0], aG)
251377 }
252378

github/deemru/w8io/169f3d6 
73.14 ms