tx · BK16UEKso3TVMY2PWjJCojwAF1tJU19KZ6k54TWsim43

3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9:  -0.01400000 Waves

2021.08.11 13:30 [1653586] smart account 3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9 > SELF 0.00000000 Waves

{ "type": 13, "id": "BK16UEKso3TVMY2PWjJCojwAF1tJU19KZ6k54TWsim43", "fee": 1400000, "feeAssetId": null, "timestamp": 1628677868587, "version": 2, "chainId": 84, "sender": "3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9", "senderPublicKey": "D1X9WatF6ARMCmm3jC4Ex5Wd5VQ3LY8i1xbHNqeHqeAa", "proofs": [ "5RLdAzGdByzmPQ5oLB6wHUC3iuvappVaRAvHTjZgov9JnsvZYsMHyUQ4zg6VPw4dKmixneFpiPtM9FKbJQm9afSb", "5SBAeKVYH8YirZH5o8br31cdxZq8zNbnjgh74dCRE56g9HUUQaoTMvUUAe4dSurTDtm3UpSWDozde6ko8B7sUgwv" ], "script": "base64:AAIFAAAAAAAAABAIAhIAEgQKAggIEgQKAggIAAAAEwAAAAAQa2V5UG9vbHNMaXN0TmFtZQIAAAAFcG9vbHMAAAAAEWtleVByZWZpeFBvb2xOYW1lAgAAAAVwb29sXwAAAAASa2V5UHJlZml4UG9vbEluZGV4AgAAAAZpbmRleF8AAAAAEWtleUluaXRQb29sSGVpZ2h0AgAAABFpbml0X3Bvb2xfaGVpZ2h0XwAAAAASa2V5Q29uZmlybWVkQXNzZXRzAgAAABBjb25maXJtZWRfYXNzZXRzAAAAABBrZXlBc3NldFByaW9yaXR5AgAAAA9hc3NldF9wcmlvcml0eV8AAAAAB2tleVBhaXICAAAABXBhaXJfAAAAAAtrZXlBc3NldElkQQIAAAAKQV9hc3NldF9pZAAAAAALa2V5QXNzZXRJZEICAAAACkJfYXNzZXRfaWQAAAAAD2tleUFkbWluUHViS2V5MQIAAAALYWRtaW5fcHViXzEAAAAAD2tleUFkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAAD2tleUFkbWluUHViS2V5MwIAAAALYWRtaW5fcHViXzMAAAAADGFkbWluUHViS2V5MQEAAAAg4qeMQDuGzRfmtEuH2+Whg6yuKqHsNy5eZQUT8rXs7wQAAAAADGFkbWluUHViS2V5MgEAAAAg6jisuQG1iDxyo54oPYHUGiJlERON346DjXz9V/GbEVkAAAAADGFkbWluUHViS2V5MwEAAAAgpzSWgrCjycddMmIBfztFJ08z6r82xAHPELd0cKonzG4AAAAABXBvb2xzBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAEGtleVBvb2xzTGlzdE5hbWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAGc3RyaW5nBQAAAAckbWF0Y2gwCQAEtQAAAAIFAAAABnN0cmluZwIAAAABLAQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAUAAAADbmlsAQAAAAppc1NlbGZDYWxsAAAAAQAAAAFpAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMFAAAABHVuaXQJAAACAAAAAQIAAAAvT25seSB0aGUgT3JhY2xlIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24BAAAAEmdldFBvb2xOYW1lSWZWYWxpZAAAAAEAAAAIcG9vbE5hbWUEAAAAD3VuZGVyc2NvcmVJbmRleAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABLMAAAACBQAAAAhwb29sTmFtZQIAAAABXwD//////////wQAAAATdW5kZXJzY29yZUxhc3RJbmRleAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABLcAAAACBQAAAAhwb29sTmFtZQIAAAABXwD//////////wQAAAATaGFzU2luZ2xlVW5kZXJzY29yZQMDCQAAAAAAAAIFAAAAD3VuZGVyc2NvcmVJbmRleAUAAAATdW5kZXJzY29yZUxhc3RJbmRleAkAAGYAAAACBQAAAA91bmRlcnNjb3JlSW5kZXgAAAAAAAAAAAAHCQEAAAACIT0AAAACBQAAAA91bmRlcnNjb3JlSW5kZXgJAABlAAAAAgkAATEAAAABBQAAAAhwb29sTmFtZQAAAAAAAAAAAQcDBQAAABNoYXNTaW5nbGVVbmRlcnNjb3JlBQAAAAhwb29sTmFtZQkAAAIAAAABAgAAAE5Qb29sIG5hbWUgbXVzdCBjb25zaXN0IG9mIHR3byBhc3NldCBuYW1lcyBzZXBhcmF0ZWQgYnkgYW4gdW5kZXJzY29yZSBjaGFyYWN0ZXIBAAAAEWdldEFkZHJlc3NJZlZhbGlkAAAAAQAAAAdhZGRyZXNzCQAEJQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAAAdhZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAANQ2FuJ3QgcGFyc2UgIgUAAAAHYWRkcmVzcwIAAAAMIiBhcyBhZGRyZXNzAAAAAwAAAAFpAQAAAAhzZXRBZG1pbgAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAppc1NlbGZDYWxsAAAAAQUAAAABaQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9rZXlBZG1pblB1YktleTEJAAJYAAAAAQUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2tleUFkbWluUHViS2V5MgkAAlgAAAABBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPa2V5QWRtaW5QdWJLZXkzCQACWAAAAAEFAAAADGFkbWluUHViS2V5MwUAAAADbmlsAAAAAWkBAAAAB2FkZFBvb2wAAAACAAAAC3Bvb2xBZGRyZXNzAAAACHBvb2xOYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAKaXNTZWxmQ2FsbAAAAAEFAAAAAWkEAAAAEHZhbGlkYXRlZEFkZHJlc3MJAQAAABFnZXRBZGRyZXNzSWZWYWxpZAAAAAEFAAAAC3Bvb2xBZGRyZXNzBAAAAAdrZXlOYW1lCQABLAAAAAIFAAAAEWtleVByZWZpeFBvb2xOYW1lBQAAABB2YWxpZGF0ZWRBZGRyZXNzBAAAAAhrZXlJbmRleAkAASwAAAACBQAAABJrZXlQcmVmaXhQb29sSW5kZXgFAAAAEHZhbGlkYXRlZEFkZHJlc3MEAAAACGFzc2V0SWRBCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgkBAAAABXZhbHVlAAAAAQkABCYAAAABBQAAAAtwb29sQWRkcmVzcwUAAAALa2V5QXNzZXRJZEECAAAAF0Fzc2V0IGlkIEEgaXMgaW5jb3JyZWN0BAAAAAhhc3NldElkQgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAALcG9vbEFkZHJlc3MFAAAAC2tleUFzc2V0SWRCAgAAABdBc3NldCBpZCBCIGlzIGluY29ycmVjdAQAAAAYcG9zc2libHlBbHJlYWR5QWRkZWRQb29sCQAEHQAAAAIFAAAABHRoaXMFAAAAB2tleU5hbWUDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAYcG9zc2libHlBbHJlYWR5QWRkZWRQb29sCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAATUG9vbCB3aXRoIGFkZHJlc3MgIgUAAAAQdmFsaWRhdGVkQWRkcmVzcwIAAAAgIiBpcyBhbHJlYWR5IGRlZmluZWQgd2l0aCBuYW1lICIJAQAAAAV2YWx1ZQAAAAEFAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAIAAAABIgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIa2V5SW5kZXgJAAGQAAAAAQUAAAAFcG9vbHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAARa2V5SW5pdFBvb2xIZWlnaHQFAAAAC3Bvb2xBZGRyZXNzBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAHa2V5TmFtZQkBAAAAEmdldFBvb2xOYW1lSWZWYWxpZAAAAAEFAAAACHBvb2xOYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAB2tleVBhaXIFAAAACGFzc2V0SWRBAgAAAAFfBQAAAAhhc3NldElkQgUAAAALcG9vbEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQa2V5UG9vbHNMaXN0TmFtZQkABLkAAAACCQAETQAAAAIFAAAABXBvb2xzBQAAABB2YWxpZGF0ZWRBZGRyZXNzAgAAAAEsBQAAAANuaWwAAAABaQEAAAAKcmVuYW1lUG9vbAAAAAIAAAALcG9vbEFkZHJlc3MAAAALbmV3UG9vbE5hbWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAppc1NlbGZDYWxsAAAAAQUAAAABaQQAAAAQdmFsaWRhdGVkQWRkcmVzcwkBAAAAEWdldEFkZHJlc3NJZlZhbGlkAAAAAQUAAAALcG9vbEFkZHJlc3MEAAAAB2tleU5hbWUJAAEsAAAAAgUAAAARa2V5UHJlZml4UG9vbE5hbWUFAAAAEHZhbGlkYXRlZEFkZHJlc3MEAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAkABB0AAAACBQAAAAR0aGlzBQAAAAdrZXlOYW1lAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAGHBvc3NpYmx5QWxyZWFkeUFkZGVkUG9vbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAdrZXlOYW1lCQEAAAASZ2V0UG9vbE5hbWVJZlZhbGlkAAAAAQUAAAALbmV3UG9vbE5hbWUFAAAAA25pbAkA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Y3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABBMZWFzZVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAQSXNzdWVUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGlVwZGF0ZUFzc2V0SW5mb1RyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABlTZXRBc3NldFNjcmlwdFRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAASUmVpc3N1ZVRyYW5zYWN0aW9uBQAAAA1zaWduZWRCeUFkbWluCQAAAgAAAAECAAAAC01hdGNoIGVycm9yIVwaLw==", "height": 1653586, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hik8QrHHTN7qybfpmkWsMVKEXcR28dpvGpZekUNec9wN Next: 596tncnZAi3GQrGqoLWh383Sqf6GeBAXVuTedq2PvuTj 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 = "admin_start_stop"
45-
46-let v = "admin_staking"
47-
48-let w = {
49- let x = getString(this, a)
50- if ($isInstanceOf(x, "String"))
34+let p = {
35+ let q = getString(this, a)
36+ if ($isInstanceOf(q, "String"))
5137 then {
52- let y = x
53- split(y, ",")
38+ let r = q
39+ split(r, ",")
5440 }
5541 else {
56- let z = x
42+ let s = q
5743 nil
5844 }
5945 }
6046
61-func A (B) = if ((B.caller == this))
47+func t (u) = if ((u.caller == this))
6248 then unit
6349 else throw("Only the Oracle itself can invoke this function")
6450
6551
66-func C (D) = {
67- let E = valueOrElse(indexOf(D, "_"), -1)
68- let F = valueOrElse(lastIndexOf(D, "_"), -1)
69- let G = if (if ((E == F))
70- then (E > 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)
7157 else false)
72- then (E != (size(D) - 1))
58+ then (x != (size(w) - 1))
7359 else false
74- if (G)
75- then D
60+ if (z)
61+ then w
7662 else throw("Pool name must consist of two asset names separated by an underscore character")
7763 }
7864
7965
80-func H (I) = toString(valueOrErrorMessage(addressFromString(I), (("Can't parse \"" + I) + "\" as address")))
66+func A (B) = toString(valueOrErrorMessage(addressFromString(B), (("Can't parse \"" + B) + "\" as address")))
8167
8268
83-@Callable(B)
84-func setPriority (J,K) = valueOrElse(A(B), if ((0 > K))
85- then throw("Priority must be positive")
86- else [IntegerEntry((e + J), K)])
69+@Callable(u)
70+func setAdmin () = valueOrElse(t(u), [StringEntry(j, toBase58String(m)), StringEntry(k, toBase58String(n)), StringEntry(l, toBase58String(o))])
8771
8872
8973
90-@Callable(B)
91-func setAdmin () = valueOrElse(A(B), [StringEntry(m, toBase58String(p)), StringEntry(n, toBase58String(q)), StringEntry(o, toBase58String(r))])
92-
93-
94-
95-@Callable(B)
96-func addPool (L,D) = valueOrElse(A(B), {
97- let M = H(L)
98- let N = (b + M)
99- let O = (c + M)
100- let P = valueOrErrorMessage(getString(value(addressFromString(L)), g), "Asset id A is incorrect")
101- let Q = valueOrErrorMessage(getString(value(addressFromString(L)), h), "Asset id B is incorrect")
102- let R = isDataStorageUntouched(this)
103- let S = value(scriptHash(B.caller))
104- let T = getBinaryValue(i)
105- let U = getBinaryValue(j)
106- if (if (if ((S != T))
107- then (S != U)
108- else false)
109- then true
110- else !(R))
111- then throw("Unexpected script was found.")
112- else {
113- let V = getString(this, N)
114- let W = getString(this, (((f + P) + "_") + Q))
115- let X = getString(this, (((f + Q) + "_") + P))
116- if (isDefined(V))
117- then throw((((("Pool with address \"" + M) + "\" is already defined with name \"") + value(V)) + "\""))
118- else if (if (isDefined(W))
119- then true
120- else isDefined(X))
121- then throw((((("Pool with assets \"" + P) + "\" and \"") + Q) + "\" is already exists"))
122- else [IntegerEntry(O, size(w)), StringEntry(N, C(D)), StringEntry((((f + P) + "_") + Q), L), StringEntry(a, makeString((w :+ M), ","))]
123- }
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), ","))]
12485 })
12586
12687
12788
128-@Callable(B)
129-func renamePool (L,Y) = valueOrElse(A(B), {
130- let M = H(L)
131- let N = (b + M)
132- let V = getString(this, N)
133- if (isDefined(V))
134- then [StringEntry(N, C(Y))]
135- else throw((("Pool with address \"" + M) + "\" 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"))
13697 })
13798
13899
139-
140-@Callable(B)
141-func updateHashes () = valueOrElse(A(B), [BinaryEntry(i, value(scriptHash(Address(k)))), BinaryEntry(j, value(scriptHash(Address(l))))])
142-
143-
144-@Verifier(Z)
145-func aa () = {
146- let ab = if (sigVerify(Z.bodyBytes, Z.proofs[0], p))
100+@Verifier(K)
101+func L () = {
102+ let M = if (sigVerify(K.bodyBytes, K.proofs[0], m))
147103 then 1
148104 else 0
149- let ac = if (sigVerify(Z.bodyBytes, Z.proofs[1], q))
105+ let N = if (sigVerify(K.bodyBytes, K.proofs[1], n))
150106 then 1
151107 else 0
152- let ad = if (sigVerify(Z.bodyBytes, Z.proofs[2], r))
108+ let O = if (sigVerify(K.bodyBytes, K.proofs[2], o))
153109 then 1
154110 else 0
155- let ae = (((ab + ac) + ad) >= 2)
156- let af = (((ab + ac) + ad) >= 1)
157- let x = Z
158- if ($isInstanceOf(x, "InvokeScriptTransaction"))
111+ let P = (((M + N) + O) >= 2)
112+ let Q = (((M + N) + O) >= 1)
113+ let q = K
114+ if ($isInstanceOf(q, "InvokeScriptTransaction"))
159115 then {
160- let ag = x
161- let ah = if ((ag.dApp == this))
162- then containsElement(["renamePool"], ag.function)
116+ let R = q
117+ let S = if ((R.dApp == this))
118+ then containsElement(["renamePool"], R.function)
163119 else false
164- let ai = if ((ag.dApp == this))
165- then containsElement(["setAdmin"], ag.function)
120+ let T = if ((R.dApp == this))
121+ then containsElement(["setAdmin"], R.function)
166122 else false
167- let aj = if ((ag.dApp == this))
168- then containsElement(["addPool"], ag.function)
123+ let U = if ((R.dApp == this))
124+ then containsElement(["addPool"], R.function)
169125 else false
170- let ak = if ((ag.dApp == this))
171- then containsElement(["updateHashes"], ag.function)
172- else false
173- if (if (if (if (if (ae)
174- then (size(ag.payments) == 0)
126+ if (if (if (if (P)
127+ then (size(R.payments) == 0)
175128 else false)
176- then ah
129+ then S
177130 else false)
178131 then true
179- else if (if (af)
180- then (size(ag.payments) == 0)
132+ else if (if (Q)
133+ then (size(R.payments) == 0)
181134 else false)
182- then aj
135+ then U
183136 else false)
184137 then true
185- else if (if (ae)
186- then (size(ag.payments) == 0)
138+ else if (if (P)
139+ then (size(R.payments) == 0)
187140 else false)
188- then ai
189- else false)
190- then true
191- else if (if (ae)
192- then (size(ag.payments) == 0)
193- else false)
194- then ak
141+ then T
195142 else false
196143 }
197- else if (if ($isInstanceOf(x, "Order"))
144+ else if (if ($isInstanceOf(q, "Order"))
198145 then true
199- else if ($isInstanceOf(x, "DataTransaction"))
146+ else if ($isInstanceOf(q, "DataTransaction"))
200147 then true
201- else if ($isInstanceOf(x, "SponsorFeeTransaction"))
148+ else if ($isInstanceOf(q, "SponsorFeeTransaction"))
202149 then true
203- else if ($isInstanceOf(x, "SetScriptTransaction"))
150+ else if ($isInstanceOf(q, "SetScriptTransaction"))
204151 then true
205- else if ($isInstanceOf(x, "CreateAliasTransaction"))
152+ else if ($isInstanceOf(q, "CreateAliasTransaction"))
206153 then true
207- else if ($isInstanceOf(x, "LeaseCancelTransaction"))
154+ else if ($isInstanceOf(q, "LeaseCancelTransaction"))
208155 then true
209- else if ($isInstanceOf(x, "LeaseTransaction"))
156+ else if ($isInstanceOf(q, "LeaseTransaction"))
210157 then true
211- else if ($isInstanceOf(x, "IssueTransaction"))
158+ else if ($isInstanceOf(q, "IssueTransaction"))
212159 then true
213- else if ($isInstanceOf(x, "UpdateAssetInfoTransaction"))
160+ else if ($isInstanceOf(q, "UpdateAssetInfoTransaction"))
214161 then true
215- else if ($isInstanceOf(x, "InvokeScriptTransaction"))
162+ else if ($isInstanceOf(q, "InvokeScriptTransaction"))
216163 then true
217- else if ($isInstanceOf(x, "SetAssetScriptTransaction"))
164+ else if ($isInstanceOf(q, "SetAssetScriptTransaction"))
218165 then true
219- else if ($isInstanceOf(x, "TransferTransaction"))
166+ else if ($isInstanceOf(q, "TransferTransaction"))
220167 then true
221- else if ($isInstanceOf(x, "ExchangeTransaction"))
168+ else if ($isInstanceOf(q, "ExchangeTransaction"))
222169 then true
223- else if ($isInstanceOf(x, "MassTransferTransaction"))
170+ else if ($isInstanceOf(q, "MassTransferTransaction"))
224171 then true
225- else if ($isInstanceOf(x, "BurnTransaction"))
172+ else if ($isInstanceOf(q, "BurnTransaction"))
226173 then true
227- else $isInstanceOf(x, "ReissueTransaction"))
228- then ae
174+ else $isInstanceOf(q, "ReissueTransaction"))
175+ then P
229176 else throw("Match error")
230177 }
231178
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 = "admin_start_stop"
45-
46-let v = "admin_staking"
47-
48-let w = {
49- let x = getString(this, a)
50- if ($isInstanceOf(x, "String"))
34+let p = {
35+ let q = getString(this, a)
36+ if ($isInstanceOf(q, "String"))
5137 then {
52- let y = x
53- split(y, ",")
38+ let r = q
39+ split(r, ",")
5440 }
5541 else {
56- let z = x
42+ let s = q
5743 nil
5844 }
5945 }
6046
61-func A (B) = if ((B.caller == this))
47+func t (u) = if ((u.caller == this))
6248 then unit
6349 else throw("Only the Oracle itself can invoke this function")
6450
6551
66-func C (D) = {
67- let E = valueOrElse(indexOf(D, "_"), -1)
68- let F = valueOrElse(lastIndexOf(D, "_"), -1)
69- let G = if (if ((E == F))
70- then (E > 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)
7157 else false)
72- then (E != (size(D) - 1))
58+ then (x != (size(w) - 1))
7359 else false
74- if (G)
75- then D
60+ if (z)
61+ then w
7662 else throw("Pool name must consist of two asset names separated by an underscore character")
7763 }
7864
7965
80-func H (I) = toString(valueOrErrorMessage(addressFromString(I), (("Can't parse \"" + I) + "\" as address")))
66+func A (B) = toString(valueOrErrorMessage(addressFromString(B), (("Can't parse \"" + B) + "\" as address")))
8167
8268
83-@Callable(B)
84-func setPriority (J,K) = valueOrElse(A(B), if ((0 > K))
85- then throw("Priority must be positive")
86- else [IntegerEntry((e + J), K)])
69+@Callable(u)
70+func setAdmin () = valueOrElse(t(u), [StringEntry(j, toBase58String(m)), StringEntry(k, toBase58String(n)), StringEntry(l, toBase58String(o))])
8771
8872
8973
90-@Callable(B)
91-func setAdmin () = valueOrElse(A(B), [StringEntry(m, toBase58String(p)), StringEntry(n, toBase58String(q)), StringEntry(o, toBase58String(r))])
92-
93-
94-
95-@Callable(B)
96-func addPool (L,D) = valueOrElse(A(B), {
97- let M = H(L)
98- let N = (b + M)
99- let O = (c + M)
100- let P = valueOrErrorMessage(getString(value(addressFromString(L)), g), "Asset id A is incorrect")
101- let Q = valueOrErrorMessage(getString(value(addressFromString(L)), h), "Asset id B is incorrect")
102- let R = isDataStorageUntouched(this)
103- let S = value(scriptHash(B.caller))
104- let T = getBinaryValue(i)
105- let U = getBinaryValue(j)
106- if (if (if ((S != T))
107- then (S != U)
108- else false)
109- then true
110- else !(R))
111- then throw("Unexpected script was found.")
112- else {
113- let V = getString(this, N)
114- let W = getString(this, (((f + P) + "_") + Q))
115- let X = getString(this, (((f + Q) + "_") + P))
116- if (isDefined(V))
117- then throw((((("Pool with address \"" + M) + "\" is already defined with name \"") + value(V)) + "\""))
118- else if (if (isDefined(W))
119- then true
120- else isDefined(X))
121- then throw((((("Pool with assets \"" + P) + "\" and \"") + Q) + "\" is already exists"))
122- else [IntegerEntry(O, size(w)), StringEntry(N, C(D)), StringEntry((((f + P) + "_") + Q), L), StringEntry(a, makeString((w :+ M), ","))]
123- }
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), ","))]
12485 })
12586
12687
12788
128-@Callable(B)
129-func renamePool (L,Y) = valueOrElse(A(B), {
130- let M = H(L)
131- let N = (b + M)
132- let V = getString(this, N)
133- if (isDefined(V))
134- then [StringEntry(N, C(Y))]
135- else throw((("Pool with address \"" + M) + "\" 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"))
13697 })
13798
13899
139-
140-@Callable(B)
141-func updateHashes () = valueOrElse(A(B), [BinaryEntry(i, value(scriptHash(Address(k)))), BinaryEntry(j, value(scriptHash(Address(l))))])
142-
143-
144-@Verifier(Z)
145-func aa () = {
146- let ab = if (sigVerify(Z.bodyBytes, Z.proofs[0], p))
100+@Verifier(K)
101+func L () = {
102+ let M = if (sigVerify(K.bodyBytes, K.proofs[0], m))
147103 then 1
148104 else 0
149- let ac = if (sigVerify(Z.bodyBytes, Z.proofs[1], q))
105+ let N = if (sigVerify(K.bodyBytes, K.proofs[1], n))
150106 then 1
151107 else 0
152- let ad = if (sigVerify(Z.bodyBytes, Z.proofs[2], r))
108+ let O = if (sigVerify(K.bodyBytes, K.proofs[2], o))
153109 then 1
154110 else 0
155- let ae = (((ab + ac) + ad) >= 2)
156- let af = (((ab + ac) + ad) >= 1)
157- let x = Z
158- if ($isInstanceOf(x, "InvokeScriptTransaction"))
111+ let P = (((M + N) + O) >= 2)
112+ let Q = (((M + N) + O) >= 1)
113+ let q = K
114+ if ($isInstanceOf(q, "InvokeScriptTransaction"))
159115 then {
160- let ag = x
161- let ah = if ((ag.dApp == this))
162- then containsElement(["renamePool"], ag.function)
116+ let R = q
117+ let S = if ((R.dApp == this))
118+ then containsElement(["renamePool"], R.function)
163119 else false
164- let ai = if ((ag.dApp == this))
165- then containsElement(["setAdmin"], ag.function)
120+ let T = if ((R.dApp == this))
121+ then containsElement(["setAdmin"], R.function)
166122 else false
167- let aj = if ((ag.dApp == this))
168- then containsElement(["addPool"], ag.function)
123+ let U = if ((R.dApp == this))
124+ then containsElement(["addPool"], R.function)
169125 else false
170- let ak = if ((ag.dApp == this))
171- then containsElement(["updateHashes"], ag.function)
172- else false
173- if (if (if (if (if (ae)
174- then (size(ag.payments) == 0)
126+ if (if (if (if (P)
127+ then (size(R.payments) == 0)
175128 else false)
176- then ah
129+ then S
177130 else false)
178131 then true
179- else if (if (af)
180- then (size(ag.payments) == 0)
132+ else if (if (Q)
133+ then (size(R.payments) == 0)
181134 else false)
182- then aj
135+ then U
183136 else false)
184137 then true
185- else if (if (ae)
186- then (size(ag.payments) == 0)
138+ else if (if (P)
139+ then (size(R.payments) == 0)
187140 else false)
188- then ai
189- else false)
190- then true
191- else if (if (ae)
192- then (size(ag.payments) == 0)
193- else false)
194- then ak
141+ then T
195142 else false
196143 }
197- else if (if ($isInstanceOf(x, "Order"))
144+ else if (if ($isInstanceOf(q, "Order"))
198145 then true
199- else if ($isInstanceOf(x, "DataTransaction"))
146+ else if ($isInstanceOf(q, "DataTransaction"))
200147 then true
201- else if ($isInstanceOf(x, "SponsorFeeTransaction"))
148+ else if ($isInstanceOf(q, "SponsorFeeTransaction"))
202149 then true
203- else if ($isInstanceOf(x, "SetScriptTransaction"))
150+ else if ($isInstanceOf(q, "SetScriptTransaction"))
204151 then true
205- else if ($isInstanceOf(x, "CreateAliasTransaction"))
152+ else if ($isInstanceOf(q, "CreateAliasTransaction"))
206153 then true
207- else if ($isInstanceOf(x, "LeaseCancelTransaction"))
154+ else if ($isInstanceOf(q, "LeaseCancelTransaction"))
208155 then true
209- else if ($isInstanceOf(x, "LeaseTransaction"))
156+ else if ($isInstanceOf(q, "LeaseTransaction"))
210157 then true
211- else if ($isInstanceOf(x, "IssueTransaction"))
158+ else if ($isInstanceOf(q, "IssueTransaction"))
212159 then true
213- else if ($isInstanceOf(x, "UpdateAssetInfoTransaction"))
160+ else if ($isInstanceOf(q, "UpdateAssetInfoTransaction"))
214161 then true
215- else if ($isInstanceOf(x, "InvokeScriptTransaction"))
162+ else if ($isInstanceOf(q, "InvokeScriptTransaction"))
216163 then true
217- else if ($isInstanceOf(x, "SetAssetScriptTransaction"))
164+ else if ($isInstanceOf(q, "SetAssetScriptTransaction"))
218165 then true
219- else if ($isInstanceOf(x, "TransferTransaction"))
166+ else if ($isInstanceOf(q, "TransferTransaction"))
220167 then true
221- else if ($isInstanceOf(x, "ExchangeTransaction"))
168+ else if ($isInstanceOf(q, "ExchangeTransaction"))
222169 then true
223- else if ($isInstanceOf(x, "MassTransferTransaction"))
170+ else if ($isInstanceOf(q, "MassTransferTransaction"))
224171 then true
225- else if ($isInstanceOf(x, "BurnTransaction"))
172+ else if ($isInstanceOf(q, "BurnTransaction"))
226173 then true
227- else $isInstanceOf(x, "ReissueTransaction"))
228- then ae
174+ else $isInstanceOf(q, "ReissueTransaction"))
175+ then P
229176 else throw("Match error")
230177 }
231178

github/deemru/w8io/873ac7e 
92.96 ms