tx · CRAxueusVJB9jqqRv1ou6kcpExBDnM6mPqpGPK1miv9V

3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm:  -0.01400000 Waves

2021.01.05 13:04 [1339942] smart account 3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm > SELF 0.00000000 Waves

{ "type": 13, "id": "CRAxueusVJB9jqqRv1ou6kcpExBDnM6mPqpGPK1miv9V", "fee": 1400000, "feeAssetId": null, "timestamp": 1609841062381, "version": 2, "chainId": 84, "sender": "3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm", "senderPublicKey": "FohxcSc8stwcVXsytmPwjVRthoDnmiFHbohjcgN1r4bP", "proofs": [ "35yFXX2pDZpMcUKDcGaSXK6XYy2newoTSRBXvjMweYXuE2qDQgXwwuMke2gGbdSfbNFvBzQFnVn1La9ZBsMcg7qG" ], "script": "base64:AAIEAAAAAAAAACgIAhIECgIECBIDCgEEEgYKBAgICAgSBgoECAgICBIECgIICBIDCgEIAAAAHgAAAAAFY2hyaXMCAAAAIzNNc0c2alBOQ3JWSlV0WUI3WEpCeFM3dXRXc1hBZjRuOVZwAAAAAARqb2VwAgAAACMzTXptNFZMd3NOOXVad2JUTXpQajNYdXhWNmtFZkFSOFVETgAAAAAOZGFwcFJ1bm5pbmdLZXkCAAAAFGNvbmZfZGFwcF9pc19ydW5uaW5nAAAAABFtYWludGVuYW5jZU1TR0tleQIAAAAUY29uZl9tYWludGVuYW5jZV9tc2cAAAAAEndoaXRlbGlzdGVkb25seUtleQIAAAAVY29uZl93aGl0ZWxpc3RlZF9vbmx5AAAAAAtkYXBwUnVubmluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAA5kYXBwUnVubmluZ0tleQYAAAAADm1haW50ZW5hbmNlTVNHCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAAAAAAAAAD3doaXRlbGlzdGVkb25seQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAABJ3aGl0ZWxpc3RlZG9ubHlLZXkGAAAAAAt1c2VyQWxsb3dlZAIAAAAHQUxMT1dFRAAAAAAOdXNlclJlZ2lzdGVyZWQCAAAAClJFR0lTVEVSRUQAAAAADHVzZXJWZXJpZmllZAIAAAAIVkVSSUZJRUQAAAAADXVzZXJTdXNwZW5kZWQCAAAACVNVU1BFTkRFRAAAAAALdXNlclJlbW92ZWQCAAAAB1JFTU9WRUQAAAAAEnVzZXJDaGFuZ2VSZXF1aXJlZAIAAAAPQ0hBTkdFX1JFUVVJUkVEAAAAABB1c2VyVW5yZWdpc3RlcmVkAgAAAAxVTlJFR0lTVEVSRUQAAAAACXVzZXJSZXNldAIAAAAFUkVTRVQBAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAAD2dldEJvb2xlYW5CeUtleQAAAAEAAAAD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AQIAAAAOUmVnaXN0ZXIgZmlyc3QGAQAAABF2YWxpZGF0ZU5ld1N0YXR1cwAAAAMAAAAGc3RhdHVzAAAAB2FkZHJlc3MAAAANY3VycmVudFN0YXR1cwQAAAAJYWxsU3RhdHVzCQAETAAAAAIFAAAADHVzZXJWZXJpZmllZAkABEwAAAACBQAAAA51c2VyUmVnaXN0ZXJlZAkABEwAAAACBQAAAA11c2VyU3VzcGVuZGVkCQAETAAAAAIFAAAAC3VzZXJSZW1vdmVkCQAETAAAAAIFAAAAC3VzZXJBbGxvd2VkCQAETAAAAAIFAAAAEnVzZXJDaGFuZ2VSZXF1aXJlZAUAAAADbmlsBAAAAAtzdGF0dXNUb1NldAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAlhbGxTdGF0dXMFAAAABnN0YXR1cwUAAAAGc3RhdHVzAwMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAl1c2VyUmVzZXQJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAALdXNlckFsbG93ZWQHAgAAAAAJAAACAAAAAQIAAAAOVW5rbm93biBzdGF0dXMEAAAAEHVzZXJJc1JlZ2lzdGVyZWQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAALa2V5VXNlckRhdGUAAAABBQAAAAdhZGRyZXNzAwMJAAAAAAAAAgUAAAAQdXNlcklzUmVnaXN0ZXJlZAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAALc3RhdHVzVG9TZXQFAAAAC3VzZXJBbGxvd2VkBwkAAAIAAAABAgAAADFZb3UgY2FudCBzZXQgdGhpcyBzdGF0dXMsIHVzZXIgaXMgbm90IHJlZ2lzdGVyZWQuAwMJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAALdXNlckFsbG93ZWQJAAAAAAAAAgUAAAALc3RhdHVzVG9TZXQFAAAAC3VzZXJBbGxvd2VkBwkAAAIAAAABAgAAABRVc2VyIGFscmVhZHkgYWxsb3dlZAMDCQAAAAAAAAIFAAAADWN1cnJlbnRTdGF0dXMFAAAADnVzZXJSZWdpc3RlcmVkCQAAAAAAAAIFAAAAC3N0YXR1c1RvU2V0BQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAhVXNl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", "height": 1339942, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9oY5NmxoJnVhcb5BB9gZ22RbR8EiHtMYcTmhPnJYe1uU Next: BpwC3vyWNPDWCnE6N4ZNcWnJBdyV9wZ2azRxtRYkE5Wz Diff:
OldNewDifferences
6363 func B (v) = ("user_date_" + v)
6464
6565
66-func C (v,D,E,F) = if (if ((D == ""))
67- then true
68- else (E == ""))
69- then throw("Name and description cannot be empty")
70- else if ((size(E) > 600))
71- then throw("600 Char. max description")
72- else if ((size(D) > 45))
73- then throw("45 Char. max name")
74- else {
75- let G = q(A(v))
76- if (if ((G == l))
77- then true
78- else (G == m))
79- then throw("Account suspended/ removed.")
80- else if (if (!(F))
81- then (G == j)
82- else false)
83- then throw("Already registered")
84- else if (if (if (!(F))
85- then (G == "")
86- else false)
87- then h
88- else false)
89- then throw("Can't register, get approved first.")
90- else if (if (if (F)
91- then (G == "")
92- else false)
93- then true
94- else if (F)
95- then (G == i)
96- else false)
97- then throw("Register first")
98- else true
99- }
66+func C (D) = if (contains(D, "/"))
67+ then if (if ((76 > size(D)))
68+ then (size(split(D, "/")[0]) == 59)
69+ else false)
70+ then (16 > size(split(D, "/")[1]))
71+ else false
72+ else false
10073
10174
102-func H (G,I,J) = {
103- let K = [k, j, l, m, i, n]
104- let L = if (containsElement(K, G))
105- then G
106- else if (if ((G == p))
107- then (J == i)
75+func E (v,F,G,H,I) = {
76+ let J = if ((size(H) != 0))
77+ then C(H)
78+ else true
79+ if (!(J))
80+ then throw("CID don't match requirement!")
81+ else if (if ((F == ""))
82+ then true
83+ else (G == ""))
84+ then throw("Name and description cannot be empty")
85+ else if ((size(G) > 600))
86+ then throw("600 Char. max description")
87+ else if ((size(F) > 45))
88+ then throw("45 Char. max name")
89+ else {
90+ let K = q(A(v))
91+ if (if ((K == l))
92+ then true
93+ else (K == m))
94+ then throw("Account suspended/ removed.")
95+ else if (if (!(I))
96+ then (K == j)
97+ else false)
98+ then throw("Already registered")
99+ else if (if (if (!(I))
100+ then (K == "")
101+ else false)
102+ then h
103+ else false)
104+ then throw("Can't register, get approved first.")
105+ else if (if (if (I)
106+ then (K == "")
107+ else false)
108+ then true
109+ else if (I)
110+ then (K == i)
111+ else false)
112+ then throw("Register first")
113+ else true
114+ }
115+ }
116+
117+
118+func L (K,M,N) = {
119+ let O = [k, j, l, m, i, n]
120+ let P = if (containsElement(O, K))
121+ then K
122+ else if (if ((K == p))
123+ then (N == i)
108124 else false)
109125 then ""
110126 else throw("Unknown status")
111- let M = t(B(I))
112- if (if ((M == 0))
113- then (L != i)
127+ let Q = t(B(M))
128+ if (if ((Q == 0))
129+ then (P != i)
114130 else false)
115131 then throw("You cant set this status, user is not registered.")
116- else if (if ((J == i))
117- then (L == i)
132+ else if (if ((N == i))
133+ then (P == i)
118134 else false)
119135 then throw("User already allowed")
120- else if (if ((J == j))
121- then (L == i)
136+ else if (if ((N == j))
137+ then (P == i)
122138 else false)
123139 then throw("User already allowed & registered")
124- else if (if ((J == k))
125- then (L == i)
140+ else if (if ((N == k))
141+ then (P == i)
126142 else false)
127143 then throw("User already allowed & verified")
128- else L
144+ else P
129145 }
130146
131147
132-func N (D,O,P) = (((((("{\"user_name\": \"" + D) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + P) + "\"}")
148+func R (F,H,S) = (((((("{\"user_name\": \"" + F) + "\", \"user_thumb\":\"") + H) + "\",\"user_date\":\"") + S) + "\"}")
133149
134150
135-@Callable(Q)
136-func appRunning (R,S) = {
137- let v = toString(addressFromPublicKey(Q.callerPublicKey))
138- let T = toBase58String(Q.transactionId)
151+@Callable(T)
152+func appRunning (U,V) = {
153+ let v = toString(addressFromPublicKey(T.callerPublicKey))
154+ let W = toBase58String(T.transactionId)
139155 if (containsElement([a, b, toString(this)], v))
140- then [BooleanEntry(c, R), StringEntry(d, S)]
156+ then [BooleanEntry(c, U), StringEntry(d, V)]
141157 else throw("You are not allowed to change this")
142158 }
143159
144160
145161
146-@Callable(Q)
147-func registrationMode (U) = {
148- let v = toString(addressFromPublicKey(Q.callerPublicKey))
149- let T = toBase58String(Q.transactionId)
162+@Callable(T)
163+func registrationMode (X) = {
164+ let v = toString(addressFromPublicKey(T.callerPublicKey))
165+ let W = toBase58String(T.transactionId)
150166 if (containsElement([a, toString(this)], v))
151- then [BooleanEntry(e, U)]
167+ then [BooleanEntry(e, X)]
152168 else throw("You are not allowed to change this")
153169 }
154170
155171
156172
157-@Callable(Q)
158-func registerUser (D,E,O,V) = if (!(f))
173+@Callable(T)
174+func registerUser (F,G,H,Y) = if (!(f))
159175 then throw(g)
160176 else {
161- let v = toString(addressFromPublicKey(Q.callerPublicKey))
162- let T = toBase58String(Q.transactionId)
163- let W = lastBlock.timestamp
164- if (!(C(v, D, E, false)))
177+ let v = toString(addressFromPublicKey(T.callerPublicKey))
178+ let W = toBase58String(T.transactionId)
179+ let Z = lastBlock.timestamp
180+ if (!(E(v, F, G, H, false)))
165181 then throw("Something went wrong")
166182 else {
167- let X = N(toBase64String(toBytes(D)), toBase64String(toBytes(O)), toString(W))
168-[IntegerEntry(B(v), W), StringEntry(u(v), ((T + "_") + toString(W))), StringEntry(w(v), D), StringEntry(x(v), E), StringEntry(y(v), V), StringEntry(z(v), O), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), X)]
183+ let aa = R(toBase64String(toBytes(F)), toBase64String(toBytes(H)), toString(Z))
184+[IntegerEntry(B(v), Z), StringEntry(u(v), ((W + "_") + toString(Z))), StringEntry(w(v), F), StringEntry(x(v), G), StringEntry(y(v), Y), StringEntry(z(v), H), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), aa)]
169185 }
170186 }
171187
172188
173189
174-@Callable(Q)
175-func updateUser (D,E,O,V) = if (!(f))
190+@Callable(T)
191+func updateUser (F,G,H,Y) = if (!(f))
176192 then throw(g)
177193 else {
178- let v = toString(addressFromPublicKey(Q.callerPublicKey))
179- let T = toBase58String(Q.transactionId)
180- let G = q(A(v))
181- if (!(C(v, D, E, true)))
194+ let v = toString(addressFromPublicKey(T.callerPublicKey))
195+ let W = toBase58String(T.transactionId)
196+ let K = q(A(v))
197+ if (!(E(v, F, G, H, true)))
182198 then throw("Something went wrong")
183199 else {
184- let P = t(B(v))
185- let X = N(toBase64String(toBytes(D)), toBase64String(toBytes(O)), toString(P))
186-[StringEntry(w(v), D), StringEntry(x(v), E), StringEntry(y(v), V), StringEntry(z(v), O), StringEntry(((G + "_") + v), X)]
200+ let S = t(B(v))
201+ let aa = R(toBase64String(toBytes(F)), toBase64String(toBytes(H)), toString(S))
202+[StringEntry(w(v), F), StringEntry(x(v), G), StringEntry(y(v), Y), StringEntry(z(v), H), StringEntry(((K + "_") + v), aa)]
187203 }
188204 }
189205
190206
191207
192-@Callable(Q)
193-func changeUserStatus (I,G) = if (!(f))
208+@Callable(T)
209+func changeUserStatus (M,K) = if (!(f))
194210 then throw(g)
195211 else {
196- let v = toString(addressFromPublicKey(Q.callerPublicKey))
197- let T = toBase58String(Q.transactionId)
198- let J = q(A(I))
199- let L = H(G, I, J)
200- let D = toBase64String(toBytes(q(w(I))))
201- let O = toBase64String(toBytes(q(z(I))))
202- let P = t(B(I))
203- let X = N(D, O, toString(P))
212+ let v = toString(addressFromPublicKey(T.callerPublicKey))
213+ let W = toBase58String(T.transactionId)
214+ let N = q(A(M))
215+ let P = L(K, M, N)
216+ let F = toBase64String(toBytes(q(w(M))))
217+ let H = toBase64String(toBytes(q(z(M))))
218+ let S = t(B(M))
219+ let aa = R(F, H, toString(S))
204220 if (containsElement([a, b, toString(this)], v))
205- then [StringEntry(A(I), L), DeleteEntry(((J + "_") + I)), StringEntry(((L + "_") + I), X)]
221+ then [StringEntry(A(M), P), DeleteEntry(((N + "_") + M)), StringEntry(((P + "_") + M), aa)]
206222 else throw("Not allowed to change user status")
207223 }
208224
209225
210226
211-@Callable(Q)
212-func deleteUser (I) = {
213- let v = toString(addressFromPublicKey(Q.callerPublicKey))
214- let T = toBase58String(Q.transactionId)
215- let J = q(A(I))
227+@Callable(T)
228+func deleteUser (M) = {
229+ let v = toString(addressFromPublicKey(T.callerPublicKey))
230+ let W = toBase58String(T.transactionId)
231+ let N = q(A(M))
216232 if (containsElement([a, toString(this)], v))
217- then [DeleteEntry(B(I)), DeleteEntry(u(I)), DeleteEntry(w(I)), DeleteEntry(x(I)), DeleteEntry(y(I)), DeleteEntry(z(I)), DeleteEntry(((J + "_") + I)), StringEntry(A(I), m)]
233+ then [DeleteEntry(B(M)), DeleteEntry(u(M)), DeleteEntry(w(M)), DeleteEntry(x(M)), DeleteEntry(y(M)), DeleteEntry(z(M)), DeleteEntry(((N + "_") + M)), StringEntry(A(M), m)]
218234 else throw("Not allowed")
219235 }
220236
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
55
66 let b = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
77
88 let c = "conf_dapp_is_running"
99
1010 let d = "conf_maintenance_msg"
1111
1212 let e = "conf_whitelisted_only"
1313
1414 let f = valueOrElse(getBoolean(this, c), true)
1515
1616 let g = valueOrElse(getString(this, d), "")
1717
1818 let h = valueOrElse(getBoolean(this, e), true)
1919
2020 let i = "ALLOWED"
2121
2222 let j = "REGISTERED"
2323
2424 let k = "VERIFIED"
2525
2626 let l = "SUSPENDED"
2727
2828 let m = "REMOVED"
2929
3030 let n = "CHANGE_REQUIRED"
3131
3232 let o = "UNREGISTERED"
3333
3434 let p = "RESET"
3535
3636 func q (r) = valueOrElse(getString(this, r), "")
3737
3838
3939 func s (r) = valueOrElse(getBoolean(this, r), false)
4040
4141
4242 func t (r) = valueOrElse(getInteger(this, r), 0)
4343
4444
4545 func u (v) = ("user_" + v)
4646
4747
4848 func w (v) = ("user_name_" + v)
4949
5050
5151 func x (v) = ("user_desc_" + v)
5252
5353
5454 func y (v) = ("user_social_" + v)
5555
5656
5757 func z (v) = ("user_thumb_" + v)
5858
5959
6060 func A (v) = ("user_status_" + v)
6161
6262
6363 func B (v) = ("user_date_" + v)
6464
6565
66-func C (v,D,E,F) = if (if ((D == ""))
67- then true
68- else (E == ""))
69- then throw("Name and description cannot be empty")
70- else if ((size(E) > 600))
71- then throw("600 Char. max description")
72- else if ((size(D) > 45))
73- then throw("45 Char. max name")
74- else {
75- let G = q(A(v))
76- if (if ((G == l))
77- then true
78- else (G == m))
79- then throw("Account suspended/ removed.")
80- else if (if (!(F))
81- then (G == j)
82- else false)
83- then throw("Already registered")
84- else if (if (if (!(F))
85- then (G == "")
86- else false)
87- then h
88- else false)
89- then throw("Can't register, get approved first.")
90- else if (if (if (F)
91- then (G == "")
92- else false)
93- then true
94- else if (F)
95- then (G == i)
96- else false)
97- then throw("Register first")
98- else true
99- }
66+func C (D) = if (contains(D, "/"))
67+ then if (if ((76 > size(D)))
68+ then (size(split(D, "/")[0]) == 59)
69+ else false)
70+ then (16 > size(split(D, "/")[1]))
71+ else false
72+ else false
10073
10174
102-func H (G,I,J) = {
103- let K = [k, j, l, m, i, n]
104- let L = if (containsElement(K, G))
105- then G
106- else if (if ((G == p))
107- then (J == i)
75+func E (v,F,G,H,I) = {
76+ let J = if ((size(H) != 0))
77+ then C(H)
78+ else true
79+ if (!(J))
80+ then throw("CID don't match requirement!")
81+ else if (if ((F == ""))
82+ then true
83+ else (G == ""))
84+ then throw("Name and description cannot be empty")
85+ else if ((size(G) > 600))
86+ then throw("600 Char. max description")
87+ else if ((size(F) > 45))
88+ then throw("45 Char. max name")
89+ else {
90+ let K = q(A(v))
91+ if (if ((K == l))
92+ then true
93+ else (K == m))
94+ then throw("Account suspended/ removed.")
95+ else if (if (!(I))
96+ then (K == j)
97+ else false)
98+ then throw("Already registered")
99+ else if (if (if (!(I))
100+ then (K == "")
101+ else false)
102+ then h
103+ else false)
104+ then throw("Can't register, get approved first.")
105+ else if (if (if (I)
106+ then (K == "")
107+ else false)
108+ then true
109+ else if (I)
110+ then (K == i)
111+ else false)
112+ then throw("Register first")
113+ else true
114+ }
115+ }
116+
117+
118+func L (K,M,N) = {
119+ let O = [k, j, l, m, i, n]
120+ let P = if (containsElement(O, K))
121+ then K
122+ else if (if ((K == p))
123+ then (N == i)
108124 else false)
109125 then ""
110126 else throw("Unknown status")
111- let M = t(B(I))
112- if (if ((M == 0))
113- then (L != i)
127+ let Q = t(B(M))
128+ if (if ((Q == 0))
129+ then (P != i)
114130 else false)
115131 then throw("You cant set this status, user is not registered.")
116- else if (if ((J == i))
117- then (L == i)
132+ else if (if ((N == i))
133+ then (P == i)
118134 else false)
119135 then throw("User already allowed")
120- else if (if ((J == j))
121- then (L == i)
136+ else if (if ((N == j))
137+ then (P == i)
122138 else false)
123139 then throw("User already allowed & registered")
124- else if (if ((J == k))
125- then (L == i)
140+ else if (if ((N == k))
141+ then (P == i)
126142 else false)
127143 then throw("User already allowed & verified")
128- else L
144+ else P
129145 }
130146
131147
132-func N (D,O,P) = (((((("{\"user_name\": \"" + D) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + P) + "\"}")
148+func R (F,H,S) = (((((("{\"user_name\": \"" + F) + "\", \"user_thumb\":\"") + H) + "\",\"user_date\":\"") + S) + "\"}")
133149
134150
135-@Callable(Q)
136-func appRunning (R,S) = {
137- let v = toString(addressFromPublicKey(Q.callerPublicKey))
138- let T = toBase58String(Q.transactionId)
151+@Callable(T)
152+func appRunning (U,V) = {
153+ let v = toString(addressFromPublicKey(T.callerPublicKey))
154+ let W = toBase58String(T.transactionId)
139155 if (containsElement([a, b, toString(this)], v))
140- then [BooleanEntry(c, R), StringEntry(d, S)]
156+ then [BooleanEntry(c, U), StringEntry(d, V)]
141157 else throw("You are not allowed to change this")
142158 }
143159
144160
145161
146-@Callable(Q)
147-func registrationMode (U) = {
148- let v = toString(addressFromPublicKey(Q.callerPublicKey))
149- let T = toBase58String(Q.transactionId)
162+@Callable(T)
163+func registrationMode (X) = {
164+ let v = toString(addressFromPublicKey(T.callerPublicKey))
165+ let W = toBase58String(T.transactionId)
150166 if (containsElement([a, toString(this)], v))
151- then [BooleanEntry(e, U)]
167+ then [BooleanEntry(e, X)]
152168 else throw("You are not allowed to change this")
153169 }
154170
155171
156172
157-@Callable(Q)
158-func registerUser (D,E,O,V) = if (!(f))
173+@Callable(T)
174+func registerUser (F,G,H,Y) = if (!(f))
159175 then throw(g)
160176 else {
161- let v = toString(addressFromPublicKey(Q.callerPublicKey))
162- let T = toBase58String(Q.transactionId)
163- let W = lastBlock.timestamp
164- if (!(C(v, D, E, false)))
177+ let v = toString(addressFromPublicKey(T.callerPublicKey))
178+ let W = toBase58String(T.transactionId)
179+ let Z = lastBlock.timestamp
180+ if (!(E(v, F, G, H, false)))
165181 then throw("Something went wrong")
166182 else {
167- let X = N(toBase64String(toBytes(D)), toBase64String(toBytes(O)), toString(W))
168-[IntegerEntry(B(v), W), StringEntry(u(v), ((T + "_") + toString(W))), StringEntry(w(v), D), StringEntry(x(v), E), StringEntry(y(v), V), StringEntry(z(v), O), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), X)]
183+ let aa = R(toBase64String(toBytes(F)), toBase64String(toBytes(H)), toString(Z))
184+[IntegerEntry(B(v), Z), StringEntry(u(v), ((W + "_") + toString(Z))), StringEntry(w(v), F), StringEntry(x(v), G), StringEntry(y(v), Y), StringEntry(z(v), H), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), aa)]
169185 }
170186 }
171187
172188
173189
174-@Callable(Q)
175-func updateUser (D,E,O,V) = if (!(f))
190+@Callable(T)
191+func updateUser (F,G,H,Y) = if (!(f))
176192 then throw(g)
177193 else {
178- let v = toString(addressFromPublicKey(Q.callerPublicKey))
179- let T = toBase58String(Q.transactionId)
180- let G = q(A(v))
181- if (!(C(v, D, E, true)))
194+ let v = toString(addressFromPublicKey(T.callerPublicKey))
195+ let W = toBase58String(T.transactionId)
196+ let K = q(A(v))
197+ if (!(E(v, F, G, H, true)))
182198 then throw("Something went wrong")
183199 else {
184- let P = t(B(v))
185- let X = N(toBase64String(toBytes(D)), toBase64String(toBytes(O)), toString(P))
186-[StringEntry(w(v), D), StringEntry(x(v), E), StringEntry(y(v), V), StringEntry(z(v), O), StringEntry(((G + "_") + v), X)]
200+ let S = t(B(v))
201+ let aa = R(toBase64String(toBytes(F)), toBase64String(toBytes(H)), toString(S))
202+[StringEntry(w(v), F), StringEntry(x(v), G), StringEntry(y(v), Y), StringEntry(z(v), H), StringEntry(((K + "_") + v), aa)]
187203 }
188204 }
189205
190206
191207
192-@Callable(Q)
193-func changeUserStatus (I,G) = if (!(f))
208+@Callable(T)
209+func changeUserStatus (M,K) = if (!(f))
194210 then throw(g)
195211 else {
196- let v = toString(addressFromPublicKey(Q.callerPublicKey))
197- let T = toBase58String(Q.transactionId)
198- let J = q(A(I))
199- let L = H(G, I, J)
200- let D = toBase64String(toBytes(q(w(I))))
201- let O = toBase64String(toBytes(q(z(I))))
202- let P = t(B(I))
203- let X = N(D, O, toString(P))
212+ let v = toString(addressFromPublicKey(T.callerPublicKey))
213+ let W = toBase58String(T.transactionId)
214+ let N = q(A(M))
215+ let P = L(K, M, N)
216+ let F = toBase64String(toBytes(q(w(M))))
217+ let H = toBase64String(toBytes(q(z(M))))
218+ let S = t(B(M))
219+ let aa = R(F, H, toString(S))
204220 if (containsElement([a, b, toString(this)], v))
205- then [StringEntry(A(I), L), DeleteEntry(((J + "_") + I)), StringEntry(((L + "_") + I), X)]
221+ then [StringEntry(A(M), P), DeleteEntry(((N + "_") + M)), StringEntry(((P + "_") + M), aa)]
206222 else throw("Not allowed to change user status")
207223 }
208224
209225
210226
211-@Callable(Q)
212-func deleteUser (I) = {
213- let v = toString(addressFromPublicKey(Q.callerPublicKey))
214- let T = toBase58String(Q.transactionId)
215- let J = q(A(I))
227+@Callable(T)
228+func deleteUser (M) = {
229+ let v = toString(addressFromPublicKey(T.callerPublicKey))
230+ let W = toBase58String(T.transactionId)
231+ let N = q(A(M))
216232 if (containsElement([a, toString(this)], v))
217- then [DeleteEntry(B(I)), DeleteEntry(u(I)), DeleteEntry(w(I)), DeleteEntry(x(I)), DeleteEntry(y(I)), DeleteEntry(z(I)), DeleteEntry(((J + "_") + I)), StringEntry(A(I), m)]
233+ then [DeleteEntry(B(M)), DeleteEntry(u(M)), DeleteEntry(w(M)), DeleteEntry(x(M)), DeleteEntry(y(M)), DeleteEntry(z(M)), DeleteEntry(((N + "_") + M)), StringEntry(A(M), m)]
218234 else throw("Not allowed")
219235 }
220236
221237

github/deemru/w8io/169f3d6 
56.77 ms