tx · BZpJMw5s3eU17Sun5YyZ4gyT7jkM1NXs9Venub3aUm2H

3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9:  -0.01400000 Waves

2021.08.18 14:46 [1663735] smart account 3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9 > SELF 0.00000000 Waves

{ "type": 13, "id": "BZpJMw5s3eU17Sun5YyZ4gyT7jkM1NXs9Venub3aUm2H", "fee": 1400000, "feeAssetId": null, "timestamp": 1629287186995, "version": 2, "chainId": 84, "sender": "3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9", "senderPublicKey": "D1X9WatF6ARMCmm3jC4Ex5Wd5VQ3LY8i1xbHNqeHqeAa", "proofs": [ "4LJaXxGXDqbFCFBDCVBF81Y8WWKzJkBY6zDwqepNrJmBBt2xA4rnZNgK85BtHWJgrMYuwcA81ekAASP1TcJdRUQk", "thQTS5f1mxqvb6TUquqyMb7WWS41WZinSfpKaxem7T7wR5dQrp4987PevnDfAR2BYpP76JQPnzLAfFbmxA8iiY5" ], "script": "base64:AAIFAAAAAAAAABAIAhIAEgQKAggIEgQKAggIAAAAEwAAAAAQa2V5UG9vbHNMaXN0TmFtZQIAAAAFcG9vbHMAAAAAEWtleVByZWZpeFBvb2xOYW1lAgAAAAVwb29sXwAAAAASa2V5UHJlZml4UG9vbEluZGV4AgAAAAZpbmRleF8AAAAAEWtleUluaXRQb29sSGVpZ2h0AgAAABFpbml0X3Bvb2xfaGVpZ2h0XwAAAAASa2V5Q29uZmlybWVkQXNzZXRzAgAAABBjb25maXJtZWRfYXNzZXRzAAAAABBrZXlBc3NldFByaW9yaXR5AgAAAA9hc3NldF9wcmlvcml0eV8AAAAAB2tleVBhaXICAAAABXBhaXJfAAAAAAtrZXlBc3NldElkQQIAAAAKQV9hc3NldF9pZAAAAAALa2V5QXNzZXRJZEICAAAACkJfYXNzZXRfaWQAAAAAD2tleUFkbWluUHViS2V5MQIAAAALYWRtaW5fcHViXzEAAAAAD2tleUFkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAAD2tleUFkbWluUHViS2V5MwIAAAALYWRtaW5fcHViXzMAAAAADGFkbWluUHViS2V5MQEAAAAg4qeMQDuGzRfmtEuH2+Whg6yuKqHsNy5eZQUT8rXs7wQAAAAADGFkbWluUHViS2V5MgEAAAAg6jisuQG1iDxyo54oPYHUGiJlERON346DjXz9V/GbEVkAAAAADGFkbWluUHViS2V5MwEAAAAgpzSWgrCjycddMmIBfztFJ08z6r82xAHPELd0cKonzG4AAAAABXBvb2xzBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAEGtleVBvb2xzTGlzdE5hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAGc3RyaW5nBQAAAAckbWF0Y2gwCQAEtQAAAAIFAAAABnN0cmluZwIAAAABLAQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAUAAAADbmlsAQAAAAppc1NlbGZDYWxsAAAAAQAAAAFpAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMFAAAABHVuaXQJAAACAAAAAQIAAAAvT25seSB0aGUgT3JhY2xlIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24BAAAAEmdldFBvb2xOYW1lSWZWYWxpZAAAAAEAAAAIcG9vbE5hbWUEAAAAD3VuZGVyc2NvcmVJbmRleAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABLMAAAACBQAAAAhwb29sTmFtZQIAAAABXwD//////////wQAAAATdW5kZXJzY29yZUxhc3RJbmRleAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABLcAAAACBQAAAAhwb29sTmFtZQIAAAABXwD//////////wQAAAATaGFzU2luZ2xlVW5kZXJzY29yZQMDCQAAAAAAAAIFAAAAD3VuZGVyc2NvcmVJbmRleAUAAAATdW5kZXJzY29yZUxhc3RJbmRleAkAAGYAAAACBQAAAA91bmRlcnNjb3JlSW5kZXgAAAAAAAAAAAAHCQEAAAACIT0AAAACBQAAAA91bmRlcnNjb3JlSW5kZXgJAABlAAAAAgkAATEAAAABBQAAAAhwb29sTmFtZQAAAAAAAAAAAQcDBQAAABNoYXNTaW5nbGVVbmRlcnNjb3JlBQAAAAhwb29sTmFtZQkAAAIAAAABAgAAAE5Qb29sIG5hbWUgbXVzdCBjb25zaXN0IG9mIHR3byBhc3NldCBuYW1lcyBzZXBhcmF0ZWQgYnkgYW4gdW5kZXJzY29yZSBjaGFyYWN0ZXIBAAAAEWdldEFkZHJlc3NJZlZhbGlkAAAAAQAAAAdhZGRyZXNzCQAEJQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAAAdhZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAANQ2FuJ3QgcGFyc2UgIgUAAAAHYWRkcmVzcwIAAAAMIiBhcyBhZGRyZXNzAAAAAwAAAAFpAQAAAAhzZXRBZG1pbgAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAppc1NlbGZDYWxsAAAAAQUAAAABaQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9rZXlBZG1pblB1YktleTEJAAJYAAAAAQUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2tleUFkbWluUHViS2V5MgkAAlgAAAABBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPa2V5QWRtaW5QdWJLZXkzCQACWAAAAAEFAAAADGFkbWluUHViS2V5MwUAAAADbmlsAAAAAWkBAAAAB2FkZFBvb2wAAAACAAAAC3Bvb2xBZGRyZXNzAAAACHBvb2xOYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAKaXNTZWxmQ2FsbAAAAAEFAAAAAWkEAAAAEHZhbGlkYXRlZEFkZHJlc3MJAQAAABFnZXRBZGRyZXNzSWZWYWxpZAAAAAEFAAAAC3Bvb2xBZGRyZXNzBAAAAAdrZXlOYW1lCQABLAAAAAIFAAAAEWtleVByZWZpeFBvb2xOYW1lBQAAABB2YWxpZGF0ZWRBZGRyZXNzBAAAAAhrZXlJbmRleAkAASwAAAACBQAAABJrZXlQcmVmaXhQb29sSW5kZXgFAAAAEHZhbGlkYXRlZEFkZHJlc3MEAAAACGFzc2V0SWRBCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgkBAAAABXZhbHVlAAAAAQkABCYAAAABBQAAAAtwb29sQWRkcmVzcwUAAAALa2V5QXNzZXRJZEECAAAAF0Fzc2V0IGlkIEEgaXMgaW5jb3JyZWN0BAAAAAhhc3NldElkQgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAALcG9vbEFkZHJlc3MFAAAAC2tleUFzc2V0SWRCAgAAABdBc3NldCBpZCBCIGlzIGluY29ycmVjdAQAAAAYcG9zc2libHlBbHJlYWR5QWRkZWRQb29sCQAEHQAAAAIFAAAABHRoaXMFAAAAB2tleU5hbWUDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAYcG9zc2libHlBbHJlYWR5QWRkZWRQb29sCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAATUG9vbCB3aXRoIGFkZHJlc3MgIgUAAAAQdmFsaWRhdGVkQWRkcmVzcwIAAAAgIiBpcyBhbHJlYWR5IGRlZmluZWQgd2l0aCBuYW1lICIJAQAAAAV2YWx1ZQAAAAEFAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAIAAAABIgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIa2V5SW5kZXgJAAGQAAAAAQUAAAAFcG9vbHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAARa2V5SW5pdFBvb2xIZWlnaHQFAAAAC3Bvb2xBZGRyZXNzBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAHa2V5TmFtZQkBAAAAEmdldFBvb2xOYW1lSWZWYWxpZAAAAAEFAAAACHBvb2xOYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAB2tleVBhaXIFAAAACGFzc2V0SWRBAgAAAAFfBQAAAAhhc3NldElkQgUAAAALcG9vbEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQa2V5UG9vbHNMaXN0TmFtZQkABLkAAAACCQAETQAAAAIFAAAABXBvb2xzBQAAABB2YWxpZGF0ZWRBZGRyZXNzAgAAAAEsBQAAAANuaWwAAAABaQEAAAAKcmVuYW1lUG9vbAAAAAIAAAALcG9vbEFkZHJlc3MAAAALbmV3UG9vbE5hbWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAppc1NlbGZDYWxsAAAAAQUAAAABaQQAAAAQdmFsaWRhdGVkQWRkcmVzcwkBAAAAEWdldEFkZHJlc3NJZlZhbGlkAAAAAQUAAAALcG9vbEFkZHJlc3MEAAAAB2tleU5hbWUJAAEsAAAAAgUAAAARa2V5UHJlZml4UG9vbE5hbWUFAAAAEHZhbGlkYXRlZEFkZHJlc3MEAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAkABB0AAAACBQAAAAR0aGlzBQAAAAdrZXlOYW1lAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAdrZXlOYW1lCQEAAAASZ2V0UG9vbE5hbWVJZlZhbGlkAAAAAQUAAAALbmV3UG9vbE5hbWUFAAAAA25pbAkA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Y3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABBMZWFzZVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAQSXNzdWVUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGlVwZGF0ZUFzc2V0SW5mb1RyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABlTZXRBc3NldFNjcmlwdFRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAASUmVpc3N1ZVRyYW5zYWN0aW9uBQAAAA1zaWduZWRCeUFkbWluCQAAAgAAAAECAAAAC01hdGNoIGVycm9yIVwaLw==", "height": 1663735, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: QsX1tUMWFkRWzDYfC7iPkEN27DYTgkHCF3FeU4XX7Ek Next: CmW44eM4AhggAhNWfxXpXA1YBNrXb8FFjyiCWVWmj2fF Diff:
OldNewDifferences
77
88 let c = "index_"
99
10-let d = "confirmed_assets"
10+let d = "init_pool_height_"
1111
12-let e = "asset_priority_"
12+let e = "confirmed_assets"
1313
14-let f = "pair_"
14+let f = "asset_priority_"
1515
16-let g = "A_asset_id"
16+let g = "pair_"
1717
18-let h = "B_asset_id"
18+let h = "A_asset_id"
1919
20-let i = "script_hash_cpmm"
20+let i = "B_asset_id"
2121
22-let j = "script_hash_flat"
22+let j = "admin_pub_1"
2323
24-let k = base58'3N77kfPbQyjXWpDALX3xjKw3iEGMWEctV37'
24+let k = "admin_pub_2"
2525
26-let l = base58'3N5Xd7QVQZWntaJwha9Kg42is626GUPjtUW'
26+let l = "admin_pub_3"
2727
28-let m = "admin_pub_1"
28+let m = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
2929
30-let n = "admin_pub_2"
30+let n = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
3131
32-let o = "admin_pub_3"
32+let o = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
3333
34-let p = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
35-
36-let q = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
37-
38-let r = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
39-
40-let s = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
41-
42-let t = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
43-
44-let u = {
45- let v = getString(this, a)
46- if ($isInstanceOf(v, "String"))
34+let p = {
35+ let q = getString(this, a)
36+ if ($isInstanceOf(q, "String"))
4737 then {
48- let w = v
49- split(w, ",")
38+ let r = q
39+ split(r, ",")
5040 }
5141 else {
52- let x = v
42+ let s = q
5343 nil
5444 }
5545 }
5646
57-func y (z) = if ((z.caller == this))
47+func t (u) = if ((u.caller == this))
5848 then unit
59- else unit
49+ else throw("Only the Oracle itself can invoke this function")
6050
6151
62-func A (B) = {
63- let C = valueOrElse(indexOf(B, "_"), -1)
64- let D = valueOrElse(lastIndexOf(B, "_"), -1)
65- let E = if (if ((C == D))
66- then (C > 0)
52+func v (w) = {
53+ let x = valueOrElse(indexOf(w, "_"), -1)
54+ let y = valueOrElse(lastIndexOf(w, "_"), -1)
55+ let z = if (if ((x == y))
56+ then (x > 0)
6757 else false)
68- then (C != (size(B) - 1))
58+ then (x != (size(w) - 1))
6959 else false
70- if (E)
71- then B
60+ if (z)
61+ then w
7262 else throw("Pool name must consist of two asset names separated by an underscore character")
7363 }
7464
7565
76-func F (G) = toString(valueOrErrorMessage(addressFromString(G), (("Can't parse \"" + G) + "\" as address")))
66+func A (B) = toString(valueOrErrorMessage(addressFromString(B), (("Can't parse \"" + B) + "\" as address")))
7767
7868
79-@Callable(z)
80-func setPriority (H,I) = valueOrElse(y(z), if ((0 > I))
81- then throw("Priority must be positive")
82- else [IntegerEntry((e + H), I)])
69+@Callable(u)
70+func setAdmin () = valueOrElse(t(u), [StringEntry(j, toBase58String(m)), StringEntry(k, toBase58String(n)), StringEntry(l, toBase58String(o))])
8371
8472
8573
86-@Callable(z)
87-func setAdmin () = valueOrElse(y(z), [StringEntry(m, toBase58String(p)), StringEntry(n, toBase58String(q)), StringEntry(o, toBase58String(r))])
88-
89-
90-
91-@Callable(z)
92-func addPool (J,B) = valueOrElse(y(z), {
93- let K = F(J)
94- let L = (b + K)
95- let M = (c + K)
96- let N = valueOrErrorMessage(getString(value(addressFromString(J)), g), "Asset id A is incorrect")
97- let O = valueOrErrorMessage(getString(value(addressFromString(J)), h), "Asset id B is incorrect")
98- let P = isDataStorageUntouched(this)
99- let Q = value(scriptHash(z.caller))
100- let R = getBinaryValue(i)
101- let S = getBinaryValue(j)
102- let T = if ((Q != R))
103- then true
104- else false
105- let U = if ((Q != S))
106- then true
107- else false
108- let V = if ((!(P) == true))
109- then true
110- else false
111- let W = if ((!(P) == false))
112- then true
113- else false
114- let X = if ((P == false))
115- then true
116- else false
117- let Y = if ((P == true))
118- then true
119- else false
120- let Z = if (if (T)
121- then U
122- else false)
123- then true
124- else false
125- if (if (Z)
126- then true
127- else if (if (if (V)
128- then !(W)
129- else false)
130- then X
131- else false)
132- then !(Y)
133- else false)
134- then throw("Unexpected script was found.")
135- else {
136- let aa = getString(this, L)
137- let ab = getString(this, (((f + N) + "_") + O))
138- let ac = getString(this, (((f + O) + "_") + N))
139- if (isDefined(aa))
140- then throw((((("Pool with address \"" + K) + "\" is already defined with name \"") + value(aa)) + "\""))
141- else if (if (isDefined(ab))
142- then true
143- else isDefined(ac))
144- then throw((((("Pool with assets \"" + N) + "\" and \"") + O) + "\" is already exists"))
145- else [IntegerEntry(M, size(u)), StringEntry(L, A(B)), StringEntry((((f + N) + "_") + O), J), StringEntry(a, makeString((u :+ K), ","))]
146- }
74+@Callable(u)
75+func addPool (C,w) = valueOrElse(t(u), {
76+ let D = A(C)
77+ let E = (b + D)
78+ let F = (c + D)
79+ let G = valueOrErrorMessage(getString(value(addressFromString(C)), h), "Asset id A is incorrect")
80+ let H = valueOrErrorMessage(getString(value(addressFromString(C)), i), "Asset id B is incorrect")
81+ let I = getString(this, E)
82+ if (isDefined(I))
83+ then throw((((("Pool with address \"" + D) + "\" is already defined with name \"") + value(I)) + "\""))
84+ else [IntegerEntry(F, size(p)), IntegerEntry((d + C), height), StringEntry(E, v(w)), StringEntry((((g + G) + "_") + H), C), StringEntry(a, makeString((p :+ D), ","))]
14785 })
14886
14987
15088
151-@Callable(z)
152-func renamePool (J,ad) = valueOrElse(y(z), {
153- let K = F(J)
154- let L = (b + K)
155- let aa = getString(this, L)
156- if (isDefined(aa))
157- then [StringEntry(L, A(ad))]
158- else throw((("Pool with address \"" + K) + "\" has not yet been added"))
89+@Callable(u)
90+func renamePool (C,J) = valueOrElse(t(u), {
91+ let D = A(C)
92+ let E = (b + D)
93+ let I = getString(this, E)
94+ if (isDefined(I))
95+ then [StringEntry(E, v(J))]
96+ else throw((("Pool with address \"" + D) + "\" has not yet been added"))
15997 })
16098
16199
162-
163-@Callable(z)
164-func updateHashes () = valueOrElse(y(z), [BinaryEntry(i, value(scriptHash(Address(k)))), BinaryEntry(j, value(scriptHash(Address(l))))])
165-
166-
167-@Verifier(ae)
168-func af () = {
169- let ag = if (sigVerify(ae.bodyBytes, ae.proofs[0], p))
100+@Verifier(K)
101+func L () = {
102+ let M = if (sigVerify(K.bodyBytes, K.proofs[0], m))
170103 then 1
171104 else 0
172- let ah = if (sigVerify(ae.bodyBytes, ae.proofs[1], q))
105+ let N = if (sigVerify(K.bodyBytes, K.proofs[1], n))
173106 then 1
174107 else 0
175- let ai = if (sigVerify(ae.bodyBytes, ae.proofs[2], r))
108+ let O = if (sigVerify(K.bodyBytes, K.proofs[2], o))
176109 then 1
177110 else 0
178- let aj = (((ag + ah) + ai) >= 2)
179- let ak = (((ag + ah) + ai) >= 1)
180- let v = ae
181- if ($isInstanceOf(v, "InvokeScriptTransaction"))
111+ let P = (((M + N) + O) >= 2)
112+ let Q = (((M + N) + O) >= 1)
113+ let q = K
114+ if ($isInstanceOf(q, "InvokeScriptTransaction"))
182115 then {
183- let al = v
184- let am = if ((al.dApp == this))
185- then containsElement(["renamePool"], al.function)
116+ let R = q
117+ let S = if ((R.dApp == this))
118+ then containsElement(["renamePool"], R.function)
186119 else false
187- let an = if ((al.dApp == this))
188- then containsElement(["setAdmin"], al.function)
120+ let T = if ((R.dApp == this))
121+ then containsElement(["setAdmin"], R.function)
189122 else false
190- let ao = containsElement(["addPool"], al.function)
191- let ap = if ((al.dApp == this))
192- then containsElement(["updateHashes"], al.function)
123+ let U = if ((R.dApp == this))
124+ then containsElement(["addPool"], R.function)
193125 else false
194- if (if (if (if (if (aj)
195- then (size(al.payments) == 0)
126+ if (if (if (if (P)
127+ then (size(R.payments) == 0)
196128 else false)
197- then am
129+ then S
198130 else false)
199131 then true
200- else if ((size(al.payments) == 0))
201- then ao
132+ else if (if (Q)
133+ then (size(R.payments) == 0)
134+ else false)
135+ then U
202136 else false)
203137 then true
204- else if (if (aj)
205- then (size(al.payments) == 0)
138+ else if (if (P)
139+ then (size(R.payments) == 0)
206140 else false)
207- then an
208- else false)
209- then true
210- else if (if (aj)
211- then (size(al.payments) == 0)
212- else false)
213- then ap
141+ then T
214142 else false
215143 }
216- else if (if ($isInstanceOf(v, "Order"))
144+ else if (if ($isInstanceOf(q, "Order"))
217145 then true
218- else if ($isInstanceOf(v, "DataTransaction"))
146+ else if ($isInstanceOf(q, "DataTransaction"))
219147 then true
220- else if ($isInstanceOf(v, "SponsorFeeTransaction"))
148+ else if ($isInstanceOf(q, "SponsorFeeTransaction"))
221149 then true
222- else if ($isInstanceOf(v, "SetScriptTransaction"))
150+ else if ($isInstanceOf(q, "SetScriptTransaction"))
223151 then true
224- else if ($isInstanceOf(v, "CreateAliasTransaction"))
152+ else if ($isInstanceOf(q, "CreateAliasTransaction"))
225153 then true
226- else if ($isInstanceOf(v, "LeaseCancelTransaction"))
154+ else if ($isInstanceOf(q, "LeaseCancelTransaction"))
227155 then true
228- else if ($isInstanceOf(v, "LeaseTransaction"))
156+ else if ($isInstanceOf(q, "LeaseTransaction"))
229157 then true
230- else if ($isInstanceOf(v, "IssueTransaction"))
158+ else if ($isInstanceOf(q, "IssueTransaction"))
231159 then true
232- else if ($isInstanceOf(v, "UpdateAssetInfoTransaction"))
160+ else if ($isInstanceOf(q, "UpdateAssetInfoTransaction"))
233161 then true
234- else if ($isInstanceOf(v, "InvokeScriptTransaction"))
162+ else if ($isInstanceOf(q, "InvokeScriptTransaction"))
235163 then true
236- else if ($isInstanceOf(v, "SetAssetScriptTransaction"))
164+ else if ($isInstanceOf(q, "SetAssetScriptTransaction"))
237165 then true
238- else if ($isInstanceOf(v, "TransferTransaction"))
166+ else if ($isInstanceOf(q, "TransferTransaction"))
239167 then true
240- else if ($isInstanceOf(v, "ExchangeTransaction"))
168+ else if ($isInstanceOf(q, "ExchangeTransaction"))
241169 then true
242- else if ($isInstanceOf(v, "MassTransferTransaction"))
170+ else if ($isInstanceOf(q, "MassTransferTransaction"))
243171 then true
244- else if ($isInstanceOf(v, "BurnTransaction"))
172+ else if ($isInstanceOf(q, "BurnTransaction"))
245173 then true
246- else $isInstanceOf(v, "ReissueTransaction"))
247- then aj
174+ else $isInstanceOf(q, "ReissueTransaction"))
175+ then P
248176 else throw("Match error")
249177 }
250178
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "pools"
55
66 let b = "pool_"
77
88 let c = "index_"
99
10-let d = "confirmed_assets"
10+let d = "init_pool_height_"
1111
12-let e = "asset_priority_"
12+let e = "confirmed_assets"
1313
14-let f = "pair_"
14+let f = "asset_priority_"
1515
16-let g = "A_asset_id"
16+let g = "pair_"
1717
18-let h = "B_asset_id"
18+let h = "A_asset_id"
1919
20-let i = "script_hash_cpmm"
20+let i = "B_asset_id"
2121
22-let j = "script_hash_flat"
22+let j = "admin_pub_1"
2323
24-let k = base58'3N77kfPbQyjXWpDALX3xjKw3iEGMWEctV37'
24+let k = "admin_pub_2"
2525
26-let l = base58'3N5Xd7QVQZWntaJwha9Kg42is626GUPjtUW'
26+let l = "admin_pub_3"
2727
28-let m = "admin_pub_1"
28+let m = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
2929
30-let n = "admin_pub_2"
30+let n = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
3131
32-let o = "admin_pub_3"
32+let o = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
3333
34-let p = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
35-
36-let q = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
37-
38-let r = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
39-
40-let s = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
41-
42-let t = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
43-
44-let u = {
45- let v = getString(this, a)
46- if ($isInstanceOf(v, "String"))
34+let p = {
35+ let q = getString(this, a)
36+ if ($isInstanceOf(q, "String"))
4737 then {
48- let w = v
49- split(w, ",")
38+ let r = q
39+ split(r, ",")
5040 }
5141 else {
52- let x = v
42+ let s = q
5343 nil
5444 }
5545 }
5646
57-func y (z) = if ((z.caller == this))
47+func t (u) = if ((u.caller == this))
5848 then unit
59- else unit
49+ else throw("Only the Oracle itself can invoke this function")
6050
6151
62-func A (B) = {
63- let C = valueOrElse(indexOf(B, "_"), -1)
64- let D = valueOrElse(lastIndexOf(B, "_"), -1)
65- let E = if (if ((C == D))
66- then (C > 0)
52+func v (w) = {
53+ let x = valueOrElse(indexOf(w, "_"), -1)
54+ let y = valueOrElse(lastIndexOf(w, "_"), -1)
55+ let z = if (if ((x == y))
56+ then (x > 0)
6757 else false)
68- then (C != (size(B) - 1))
58+ then (x != (size(w) - 1))
6959 else false
70- if (E)
71- then B
60+ if (z)
61+ then w
7262 else throw("Pool name must consist of two asset names separated by an underscore character")
7363 }
7464
7565
76-func F (G) = toString(valueOrErrorMessage(addressFromString(G), (("Can't parse \"" + G) + "\" as address")))
66+func A (B) = toString(valueOrErrorMessage(addressFromString(B), (("Can't parse \"" + B) + "\" as address")))
7767
7868
79-@Callable(z)
80-func setPriority (H,I) = valueOrElse(y(z), if ((0 > I))
81- then throw("Priority must be positive")
82- else [IntegerEntry((e + H), I)])
69+@Callable(u)
70+func setAdmin () = valueOrElse(t(u), [StringEntry(j, toBase58String(m)), StringEntry(k, toBase58String(n)), StringEntry(l, toBase58String(o))])
8371
8472
8573
86-@Callable(z)
87-func setAdmin () = valueOrElse(y(z), [StringEntry(m, toBase58String(p)), StringEntry(n, toBase58String(q)), StringEntry(o, toBase58String(r))])
88-
89-
90-
91-@Callable(z)
92-func addPool (J,B) = valueOrElse(y(z), {
93- let K = F(J)
94- let L = (b + K)
95- let M = (c + K)
96- let N = valueOrErrorMessage(getString(value(addressFromString(J)), g), "Asset id A is incorrect")
97- let O = valueOrErrorMessage(getString(value(addressFromString(J)), h), "Asset id B is incorrect")
98- let P = isDataStorageUntouched(this)
99- let Q = value(scriptHash(z.caller))
100- let R = getBinaryValue(i)
101- let S = getBinaryValue(j)
102- let T = if ((Q != R))
103- then true
104- else false
105- let U = if ((Q != S))
106- then true
107- else false
108- let V = if ((!(P) == true))
109- then true
110- else false
111- let W = if ((!(P) == false))
112- then true
113- else false
114- let X = if ((P == false))
115- then true
116- else false
117- let Y = if ((P == true))
118- then true
119- else false
120- let Z = if (if (T)
121- then U
122- else false)
123- then true
124- else false
125- if (if (Z)
126- then true
127- else if (if (if (V)
128- then !(W)
129- else false)
130- then X
131- else false)
132- then !(Y)
133- else false)
134- then throw("Unexpected script was found.")
135- else {
136- let aa = getString(this, L)
137- let ab = getString(this, (((f + N) + "_") + O))
138- let ac = getString(this, (((f + O) + "_") + N))
139- if (isDefined(aa))
140- then throw((((("Pool with address \"" + K) + "\" is already defined with name \"") + value(aa)) + "\""))
141- else if (if (isDefined(ab))
142- then true
143- else isDefined(ac))
144- then throw((((("Pool with assets \"" + N) + "\" and \"") + O) + "\" is already exists"))
145- else [IntegerEntry(M, size(u)), StringEntry(L, A(B)), StringEntry((((f + N) + "_") + O), J), StringEntry(a, makeString((u :+ K), ","))]
146- }
74+@Callable(u)
75+func addPool (C,w) = valueOrElse(t(u), {
76+ let D = A(C)
77+ let E = (b + D)
78+ let F = (c + D)
79+ let G = valueOrErrorMessage(getString(value(addressFromString(C)), h), "Asset id A is incorrect")
80+ let H = valueOrErrorMessage(getString(value(addressFromString(C)), i), "Asset id B is incorrect")
81+ let I = getString(this, E)
82+ if (isDefined(I))
83+ then throw((((("Pool with address \"" + D) + "\" is already defined with name \"") + value(I)) + "\""))
84+ else [IntegerEntry(F, size(p)), IntegerEntry((d + C), height), StringEntry(E, v(w)), StringEntry((((g + G) + "_") + H), C), StringEntry(a, makeString((p :+ D), ","))]
14785 })
14886
14987
15088
151-@Callable(z)
152-func renamePool (J,ad) = valueOrElse(y(z), {
153- let K = F(J)
154- let L = (b + K)
155- let aa = getString(this, L)
156- if (isDefined(aa))
157- then [StringEntry(L, A(ad))]
158- else throw((("Pool with address \"" + K) + "\" has not yet been added"))
89+@Callable(u)
90+func renamePool (C,J) = valueOrElse(t(u), {
91+ let D = A(C)
92+ let E = (b + D)
93+ let I = getString(this, E)
94+ if (isDefined(I))
95+ then [StringEntry(E, v(J))]
96+ else throw((("Pool with address \"" + D) + "\" has not yet been added"))
15997 })
16098
16199
162-
163-@Callable(z)
164-func updateHashes () = valueOrElse(y(z), [BinaryEntry(i, value(scriptHash(Address(k)))), BinaryEntry(j, value(scriptHash(Address(l))))])
165-
166-
167-@Verifier(ae)
168-func af () = {
169- let ag = if (sigVerify(ae.bodyBytes, ae.proofs[0], p))
100+@Verifier(K)
101+func L () = {
102+ let M = if (sigVerify(K.bodyBytes, K.proofs[0], m))
170103 then 1
171104 else 0
172- let ah = if (sigVerify(ae.bodyBytes, ae.proofs[1], q))
105+ let N = if (sigVerify(K.bodyBytes, K.proofs[1], n))
173106 then 1
174107 else 0
175- let ai = if (sigVerify(ae.bodyBytes, ae.proofs[2], r))
108+ let O = if (sigVerify(K.bodyBytes, K.proofs[2], o))
176109 then 1
177110 else 0
178- let aj = (((ag + ah) + ai) >= 2)
179- let ak = (((ag + ah) + ai) >= 1)
180- let v = ae
181- if ($isInstanceOf(v, "InvokeScriptTransaction"))
111+ let P = (((M + N) + O) >= 2)
112+ let Q = (((M + N) + O) >= 1)
113+ let q = K
114+ if ($isInstanceOf(q, "InvokeScriptTransaction"))
182115 then {
183- let al = v
184- let am = if ((al.dApp == this))
185- then containsElement(["renamePool"], al.function)
116+ let R = q
117+ let S = if ((R.dApp == this))
118+ then containsElement(["renamePool"], R.function)
186119 else false
187- let an = if ((al.dApp == this))
188- then containsElement(["setAdmin"], al.function)
120+ let T = if ((R.dApp == this))
121+ then containsElement(["setAdmin"], R.function)
189122 else false
190- let ao = containsElement(["addPool"], al.function)
191- let ap = if ((al.dApp == this))
192- then containsElement(["updateHashes"], al.function)
123+ let U = if ((R.dApp == this))
124+ then containsElement(["addPool"], R.function)
193125 else false
194- if (if (if (if (if (aj)
195- then (size(al.payments) == 0)
126+ if (if (if (if (P)
127+ then (size(R.payments) == 0)
196128 else false)
197- then am
129+ then S
198130 else false)
199131 then true
200- else if ((size(al.payments) == 0))
201- then ao
132+ else if (if (Q)
133+ then (size(R.payments) == 0)
134+ else false)
135+ then U
202136 else false)
203137 then true
204- else if (if (aj)
205- then (size(al.payments) == 0)
138+ else if (if (P)
139+ then (size(R.payments) == 0)
206140 else false)
207- then an
208- else false)
209- then true
210- else if (if (aj)
211- then (size(al.payments) == 0)
212- else false)
213- then ap
141+ then T
214142 else false
215143 }
216- else if (if ($isInstanceOf(v, "Order"))
144+ else if (if ($isInstanceOf(q, "Order"))
217145 then true
218- else if ($isInstanceOf(v, "DataTransaction"))
146+ else if ($isInstanceOf(q, "DataTransaction"))
219147 then true
220- else if ($isInstanceOf(v, "SponsorFeeTransaction"))
148+ else if ($isInstanceOf(q, "SponsorFeeTransaction"))
221149 then true
222- else if ($isInstanceOf(v, "SetScriptTransaction"))
150+ else if ($isInstanceOf(q, "SetScriptTransaction"))
223151 then true
224- else if ($isInstanceOf(v, "CreateAliasTransaction"))
152+ else if ($isInstanceOf(q, "CreateAliasTransaction"))
225153 then true
226- else if ($isInstanceOf(v, "LeaseCancelTransaction"))
154+ else if ($isInstanceOf(q, "LeaseCancelTransaction"))
227155 then true
228- else if ($isInstanceOf(v, "LeaseTransaction"))
156+ else if ($isInstanceOf(q, "LeaseTransaction"))
229157 then true
230- else if ($isInstanceOf(v, "IssueTransaction"))
158+ else if ($isInstanceOf(q, "IssueTransaction"))
231159 then true
232- else if ($isInstanceOf(v, "UpdateAssetInfoTransaction"))
160+ else if ($isInstanceOf(q, "UpdateAssetInfoTransaction"))
233161 then true
234- else if ($isInstanceOf(v, "InvokeScriptTransaction"))
162+ else if ($isInstanceOf(q, "InvokeScriptTransaction"))
235163 then true
236- else if ($isInstanceOf(v, "SetAssetScriptTransaction"))
164+ else if ($isInstanceOf(q, "SetAssetScriptTransaction"))
237165 then true
238- else if ($isInstanceOf(v, "TransferTransaction"))
166+ else if ($isInstanceOf(q, "TransferTransaction"))
239167 then true
240- else if ($isInstanceOf(v, "ExchangeTransaction"))
168+ else if ($isInstanceOf(q, "ExchangeTransaction"))
241169 then true
242- else if ($isInstanceOf(v, "MassTransferTransaction"))
170+ else if ($isInstanceOf(q, "MassTransferTransaction"))
243171 then true
244- else if ($isInstanceOf(v, "BurnTransaction"))
172+ else if ($isInstanceOf(q, "BurnTransaction"))
245173 then true
246- else $isInstanceOf(v, "ReissueTransaction"))
247- then aj
174+ else $isInstanceOf(q, "ReissueTransaction"))
175+ then P
248176 else throw("Match error")
249177 }
250178

github/deemru/w8io/169f3d6 
71.28 ms