tx · HivHsbVXoWhzrQkZfUzBMeepev4XDiriFY5EZr5ExEEj

3MqwMMLF42yF6Vz4oCJhUwUJ311vwpobAn8:  -0.00500000 Waves

2023.03.20 10:01 [2498003] smart account 3MqwMMLF42yF6Vz4oCJhUwUJ311vwpobAn8 > SELF 0.00000000 Waves

{ "type": 13, "id": "HivHsbVXoWhzrQkZfUzBMeepev4XDiriFY5EZr5ExEEj", "fee": 500000, "feeAssetId": null, "timestamp": 1679295719724, "version": 2, "chainId": 84, "sender": "3MqwMMLF42yF6Vz4oCJhUwUJ311vwpobAn8", "senderPublicKey": "dHg6is3pE1esJhncQ3dDmzhZXxdD1DgonKQzRPkTHUF", "proofs": [ "52vgrhXqz1M9xh9gJ8gF5DqxGCDcCPH8UW1WEkmXDah9BBTfrQEMLYXK6af4NqXtUdagWE37KTaSJqXuBva8TjYu" ], "script": null, "height": 2498003, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dw1DBxxGALV5SFZprUeLa4cY3Nca9B5rgQ6v7Ux1LeAq Next: 9Yj2sk2Ts32HryBBt9Uh5YEVj5syNBVNa4nBxFVVwMCt Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let a = "__"
5-
6-let b = ""
7-
8-let c = 2
9-
10-let d = 0
11-
12-let e = "COMMUNITY_VERIFIED"
13-
14-let f = "POOLS_LP"
15-
16-let g = [e, f]
17-
18-func h () = throw("Permission denied")
19-
20-
21-func i () = throw("Asset doesn't exists")
22-
23-
24-func j () = "%s__managerPublicKey"
25-
26-
27-func k () = "%s__pendingManagerPublicKey"
28-
29-
30-func l () = "%s__adminPubKeys"
31-
32-
33-func m () = "%s__userPoolsContract"
34-
35-
36-func n () = "%s__factoryContract"
37-
38-
39-func o (p) = (("created_<" + p) + ">")
40-
41-
42-func q (p) = (("logo_<" + p) + ">")
43-
44-
45-func r (p) = (("ticker_<" + p) + ">")
46-
47-
48-func s (p) = (("status_<" + p) + ">")
49-
50-
51-func t (p) = makeString(["%s%s", "pools", p], a)
52-
53-
54-func u (v) = makeString(["%s%s", "ticker2assetId", v], a)
55-
56-
57-func w (p) = makeString(["%s%s", "assetId2ticker", p], a)
58-
59-
60-func x (y,z) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", y, z], a)
61-
62-
63-func A (B) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", B], a)
64-
65-
66-func C (p) = makeString(["%s%s", "labels", p], a)
67-
68-
69-func D () = makeString(["%s", "labels"], a)
70-
71-
72-func E (p) = makeString(["%s%s", "assetName", p], a)
73-
74-
75-func F (p) = makeString(["%s%s", "assetDescription", p], a)
76-
77-
78-func G (H,I,J) = {
79- let K = makeString(["mandatory ", toString(H), ".", I, " is not defined"], "")
80- valueOrErrorMessage({
81- let L = J
82- if ($isInstanceOf(L, "String"))
83- then {
84- let M = L
85- getString(H, I)
86- }
87- else if ($isInstanceOf(L, "Int"))
88- then {
89- let N = L
90- getInteger(H, I)
91- }
92- else throw("invalid entry type")
93- }, K)
94- }
95-
96-
97-func O (H,I) = {
98- let P = G(H, I, "")
99- if ($isInstanceOf(P, "String"))
100- then P
101- else throw("Couldn't cast Int|String to String")
102- }
103-
104-
105-func Q (H,I) = {
106- let P = G(H, I, 0)
107- if ($isInstanceOf(P, "Int"))
108- then P
109- else throw("Couldn't cast Int|String to Int")
110- }
111-
112-
113-func R (p) = (valueOrElse(getInteger(s(p)), d) == c)
114-
115-
116-func S () = {
117- let L = getString(D())
118- if ($isInstanceOf(L, "String"))
119- then {
120- let T = L
121- if ((size(T) == 0))
122- then nil
123- else split(T, a)
124- }
125- else nil
126- }
127-
128-
129-func U (p) = {
130- let L = getString(C(p))
131- if ($isInstanceOf(L, "String"))
132- then {
133- let T = L
134- if ((size(T) == 0))
135- then nil
136- else split(T, a)
137- }
138- else nil
139- }
140-
141-
142-func V () = {
143- let L = getString(j())
144- if ($isInstanceOf(L, "String"))
145- then {
146- let T = L
147- fromBase58String(T)
148- }
149- else if ($isInstanceOf(L, "Unit"))
150- then unit
151- else throw("Match error")
152- }
153-
154-
155-func W () = {
156- let L = getString(k())
157- if ($isInstanceOf(L, "String"))
158- then {
159- let T = L
160- fromBase58String(T)
161- }
162- else if ($isInstanceOf(L, "Unit"))
163- then unit
164- else throw("Match error")
165- }
166-
167-
168-func X (Y) = {
169- let L = V()
170- if ($isInstanceOf(L, "ByteVector"))
171- then {
172- let Z = L
173- if ((Y.callerPublicKey == Z))
174- then true
175- else h()
176- }
177- else if ($isInstanceOf(L, "Unit"))
178- then if ((Y.caller == this))
179- then true
180- else h()
181- else throw("Match error")
182- }
183-
184-
185-func aa (Y) = {
186- let ab = split(valueOrElse(getString(l()), b), a)
187- if (containsElement(ab, toBase58String(Y.callerPublicKey)))
188- then true
189- else {
190- let ac = X(Y)
191- if ((ac == ac))
192- then true
193- else throw("Strict value is not equal to itself.")
194- }
195- }
196-
197-
198-func ad (p) = valueOrElse(getBoolean(o(p)), false)
199-
200-
201-func ae (af) = if (af)
202- then c
203- else d
204-
205-
206-func ag (p,ah,ai) = {
207- let aj = S()
208- let ak = U(p)
209- let al = if (containsElement(aj, ah))
210- then true
211- else throw("Label doesn't exist")
212- if ((al == al))
213- then {
214- let am = if (containsElement(ak, ah))
215- then if (ai)
216- then throw("Label has already been added")
217- else ak
218- else (ak :+ ah)
219-[StringEntry(C(p), makeString(am, a))]
220- }
221- else throw("Strict value is not equal to itself.")
222- }
223-
224-
225-func an (p,ah,ai) = {
226- let ak = U(p)
227- let am = if (containsElement(ak, ah))
228- then removeByIndex(ak, value(indexOf(ak, ah)))
229- else if (ai)
230- then throw("Label wasn't added")
231- else ak
232-[StringEntry(C(p), makeString(am, a))]
233- }
234-
235-
236-func ao (p,af) = {
237- let ap = if (af)
238- then ag(p, e, false)
239- else an(p, e, false)
240- ([IntegerEntry(s(p), ae(af))] ++ ap)
241- }
242-
243-
244-func aq (p,v) = {
245- let ar = {
246- let as = getString(u(v))
247- let at = if ((v != ""))
248- then if ((as == unit))
249- then true
250- else (value(as) == p)
251- else false
252- if (at)
253- then true
254- else throw("Invalid ticker")
255- }
256- if ((ar == ar))
257- then [StringEntry(w(p), v), StringEntry(u(v), p)]
258- else throw("Strict value is not equal to itself.")
259- }
260-
261-
262-@Callable(Y)
263-func setAssetName (au,av) = {
264- let aw = aa(Y)
265- if ((aw == aw))
266- then [StringEntry(E(au), av)]
267- else throw("Strict value is not equal to itself.")
268- }
269-
270-
271-
272-@Callable(Y)
273-func setAssetDescription (au,ax) = {
274- let aw = aa(Y)
275- if ((aw == aw))
276- then [StringEntry(F(au), ax)]
277- else throw("Strict value is not equal to itself.")
278- }
279-
280-
281-
282-@Callable(Y)
283-func constructor (ay,aj) = {
284- let aw = X(Y)
285- if ((aw == aw))
286- then {
287- let az = valueOrErrorMessage(addressFromString(ay), "Invalid address")
288- if ((az == az))
289- then [StringEntry(m(), ay), StringEntry(D(), makeString((g ++ aj), a))]
290- else throw("Strict value is not equal to itself.")
291- }
292- else throw("Strict value is not equal to itself.")
293- }
294-
295-
296-
297-@Callable(Y)
298-func constructorV2 (aA) = {
299- let aw = X(Y)
300- if ((aw == aw))
301- then {
302- let aB = valueOrErrorMessage(addressFromString(aA), "invalid factory contract address")
303- if ((aB == aB))
304- then [StringEntry(n(), aA)]
305- else throw("Strict value is not equal to itself.")
306- }
307- else throw("Strict value is not equal to itself.")
308- }
309-
310-
311-
312-@Callable(Y)
313-func addAssetsLink (y,z,B) = {
314- let aw = aa(Y)
315- if ((aw == aw))
316- then [StringEntry(x(y, z), B), StringEntry(A(B), makeString([y, z], a))]
317- else throw("Strict value is not equal to itself.")
318- }
319-
320-
321-
322-@Callable(Y)
323-func increaseAssetPoolsNumber (p) = {
324- let aw = aa(Y)
325- if ((aw == aw))
326- then {
327- let aC = t(p)
328- let aD = valueOrElse(getInteger(aC), 0)
329-[IntegerEntry(aC, (aD + 1))]
330- }
331- else throw("Strict value is not equal to itself.")
332- }
333-
334-
335-
336-@Callable(Y)
337-func createLabel (ah) = {
338- let aj = S()
339- let aw = aa(Y)
340- if ((aw == aw))
341- then {
342- let al = [if (!(contains(ah, a)))
343- then true
344- else throw("Invalid label name"), if (!(containsElement(aj, ah)))
345- then true
346- else throw("Label exists")]
347- if ((al == al))
348- then [StringEntry(D(), makeString((aj :+ ah), a))]
349- else throw("Strict value is not equal to itself.")
350- }
351- else throw("Strict value is not equal to itself.")
352- }
353-
354-
355-
356-@Callable(Y)
357-func dropLabel (ah) = {
358- let aj = S()
359- let aw = X(Y)
360- if ((aw == aw))
361- then {
362- let al = if (containsElement(aj, ah))
363- then true
364- else throw("Label doesn't exist")
365- if ((al == al))
366- then [StringEntry(D(), makeString(removeByIndex(aj, value(indexOf(aj, ah))), a))]
367- else throw("Strict value is not equal to itself.")
368- }
369- else throw("Strict value is not equal to itself.")
370- }
371-
372-
373-
374-@Callable(Y)
375-func addLabel (p,ah) = {
376- let aw = aa(Y)
377- if ((aw == aw))
378- then ag(p, ah, true)
379- else throw("Strict value is not equal to itself.")
380- }
381-
382-
383-
384-@Callable(Y)
385-func deleteLabel (p,ah) = {
386- let aw = aa(Y)
387- if ((aw == aw))
388- then an(p, ah, true)
389- else throw("Strict value is not equal to itself.")
390- }
391-
392-
393-
394-@Callable(Y)
395-func updateTicker (p,v) = {
396- let aw = aa(Y)
397- if ((aw == aw))
398- then {
399- let aE = if (ad(p))
400- then true
401- else i()
402- if ((aE == aE))
403- then aq(p, v)
404- else throw("Strict value is not equal to itself.")
405- }
406- else throw("Strict value is not equal to itself.")
407- }
408-
409-
410-
411-@Callable(Y)
412-func deleteTicker (p) = {
413- let aw = aa(Y)
414- if ((aw == aw))
415- then {
416- let v = valueOrErrorMessage(getString(w(p)), "Invalid asset")
417-[DeleteEntry(w(p)), DeleteEntry(u(v))]
418- }
419- else throw("Strict value is not equal to itself.")
420- }
421-
422-
423-
424-@Callable(Y)
425-func createOrUpdate (p,aF,af) = {
426- let aw = aa(Y)
427- if ((aw == aw))
428- then {
429- let aG = !(ad(p))
430- if ((aG == aG))
431- then {
432- let aH = if ((aF == ""))
433- then nil
434- else [StringEntry(q(p), aF)]
435- $Tuple2((([BooleanEntry(o(p), true)] ++ aH) ++ ao(p, af)), aG)
436- }
437- else throw("Strict value is not equal to itself.")
438- }
439- else throw("Strict value is not equal to itself.")
440- }
441-
442-
443-
444-@Callable(Y)
445-func setLogo (p,aF) = {
446- let aI = [aa(Y), if (ad(p))
447- then true
448- else i()]
449- if ((aI == aI))
450- then {
451- let aJ = if ((aF == ""))
452- then DeleteEntry(q(p))
453- else StringEntry(q(p), aF)
454-[aJ]
455- }
456- else throw("Strict value is not equal to itself.")
457- }
458-
459-
460-
461-@Callable(Y)
462-func setVerified (p,af) = {
463- let aI = [aa(Y), if (ad(p))
464- then true
465- else i()]
466- if ((aI == aI))
467- then {
468- let aK = if (!(af))
469- then {
470- let aA = valueOrErrorMessage(addressFromString(O(this, n())), "invalid factory contract address")
471- invoke(aA, "onVerificationLoss", [p], nil)
472- }
473- else unit
474- if ((aK == aK))
475- then $Tuple2(ao(p, af), unit)
476- else throw("Strict value is not equal to itself.")
477- }
478- else throw("Strict value is not equal to itself.")
479- }
480-
481-
482-
483-@Callable(Y)
484-func onEliminate (p) = {
485- let aL = valueOrElse(getInteger(t(p)), 0)
486- let aM = if ((aL > 0))
487- then nil
488- else [DeleteEntry(q(p))]
489- $Tuple2(aM, unit)
490- }
491-
492-
493-
494-@Callable(Y)
495-func setAdmins (aN) = {
496- let aw = X(Y)
497- if ((aw == aw))
498- then [StringEntry(l(), makeString(aN, a))]
499- else throw("Strict value is not equal to itself.")
500- }
501-
502-
503-
504-@Callable(Y)
505-func setManager (aO) = {
506- let aw = X(Y)
507- if ((aw == aw))
508- then {
509- let aP = fromBase58String(aO)
510- if ((aP == aP))
511- then [StringEntry(k(), aO)]
512- else throw("Strict value is not equal to itself.")
513- }
514- else throw("Strict value is not equal to itself.")
515- }
516-
517-
518-
519-@Callable(Y)
520-func confirmManager () = {
521- let aQ = W()
522- let aR = if (isDefined(aQ))
523- then true
524- else throw("No pending manager")
525- if ((aR == aR))
526- then {
527- let aS = if ((Y.callerPublicKey == value(aQ)))
528- then true
529- else throw("You are not pending manager")
530- if ((aS == aS))
531- then [StringEntry(j(), toBase58String(value(aQ))), DeleteEntry(k())]
532- else throw("Strict value is not equal to itself.")
533- }
534- else throw("Strict value is not equal to itself.")
535- }
536-
537-
538-
539-@Callable(Y)
540-func isVerifiedREADONLY (p) = $Tuple2(nil, R(p))
541-
542-
543-@Verifier(aT)
544-func aU () = {
545- let aV = {
546- let L = V()
547- if ($isInstanceOf(L, "ByteVector"))
548- then {
549- let Z = L
550- Z
551- }
552- else if ($isInstanceOf(L, "Unit"))
553- then aT.senderPublicKey
554- else throw("Match error")
555- }
556- sigVerify(aT.bodyBytes, aT.proofs[0], aV)
557- }
558-
1+# no script

github/deemru/w8io/169f3d6 
38.51 ms