tx · ETSUXDY4ZNVPFjznPzgXJvZTiyFACLB6J2FDZTojzHvE

3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj:  -0.01400000 Waves

2020.12.22 12:45 [1319748] smart account 3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj > SELF 0.00000000 Waves

{ "type": 13, "id": "ETSUXDY4ZNVPFjznPzgXJvZTiyFACLB6J2FDZTojzHvE", "fee": 1400000, "feeAssetId": null, "timestamp": 1608630334696, "version": 2, "chainId": 84, "sender": "3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj", "senderPublicKey": "A2m227AHcq7gWfSU59Q3UJaqkEa7SccFYmJuWHbFrrKE", "proofs": [ "5EvjmhT4aZqr1MJZeNvRbPX6YPKr6rgGtDiRG37y4BispPcLTboYc6E7L9JVHWbk47RpDswy9E9uGAun2totYhwd" ], "script": "base64:AAIEAAAAAAAAACgIAhIECgIECBIDCgEEEgYKBAgICAgSBgoECAgICBIECgIICBIDCgEIAAAAHAAAAAALc2lnbkFzc2V0SWQBAAAAIOilarzKd0LycGEyNUpPRYO5uR7lmWcXw3Hq2QuhBK3rAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAA5kYXBwUnVubmluZ0tleQIAAAAUY29uZl9kYXBwX2lzX3J1bm5pbmcAAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAABRjb25mX21haW50ZW5hbmNlX21zZwAAAAASd2hpdGVsaXN0ZWRvbmx5S2V5AgAAABVjb25mX3doaXRlbGlzdGVkX29ubHkAAAAAC2RhcHBSdW5uaW5nBAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAADmRhcHBSdW5uaW5nS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBgAAAAAObWFpbnRlbmFuY2VNU0cEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAARbWFpbnRlbmFuY2VNU0dLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAAAAAA93aGl0ZWxpc3RlZG9ubHkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAASd2hpdGVsaXN0ZWRvbmx5S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBgAAAAALdXNlckFsbG93ZWQCAAAAB0FMTE9XRUQAAAAADnVzZXJSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAAx1c2VyVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABJ1c2VyQ2hhbmdlUmVx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AAAAAC0JAAACAAAAAQIAAAARNDUgQ2hhci4gbWF4IG5hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2tleVVzZXJOYW1lAAAAAQUAAAAGY2FsbGVyBQAAAARuYW1lCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlVc2VyRGVzYwAAAAEFAAAABmNhbGxlcgUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVVzZXJTb2NpYWwAAAABBQAAAAZjYWxsZXIFAAAABnNvY2lhbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAMa2V5VXNlclRodW1iAAAAAQUAAAAGY2FsbGVyBQAAAAV0aHVtYgUAAAADbmlsAAAAAWkBAAAAEGNoYW5nZVVzZXJTdGF0dXMAAAACAAAAB2FkZHJlc3MAAAAGc3RhdHVzAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAANY3VycmVudFN0YXR1cwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADWtleVVzZXJTdGF0dXMAAAABBQAAAAdhZGRyZXNzBAAAAAtzdGF0dXNUb1NldAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAx1c2VyVmVyaWZpZWQFAAAADHVzZXJWZXJpZmllZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA51c2VyUmVnaXN0ZXJlZAUAAAAOdXNlclJlZ2lzdGVyZWQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAANdXNlclN1c3BlbmRlZAUAAAANdXNlclN1c3BlbmRlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyUmVtb3ZlZAUAAAALdXNlclJlbW92ZWQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAALdXNlckFs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", "height": 1319748, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HRpFahxX4MSp2phhyKRQiBdHhVtNyifR1cXzgEYBfr6z Next: 6zPCs5w7cakVvN2fdCGfUoGSeuAmZ9bjVCuvjrHxkWK1 Diff:
OldNewDifferences
228228 else false)
229229 then ""
230230 else throw("Unknown status")
231- let Y = w(H(U))
232- if (if ((Y == 0))
233- then (V != l)
231+ if (if ((W == l))
232+ then (V == l)
234233 else false)
235- then throw("You cant set this status, user is not registered.")
236- else if (if ((W == l))
234+ then throw("User already allowed")
235+ else if (if ((W == m))
237236 then (V == l)
238237 else false)
239- then throw("User already allowed")
240- else if (if ((W == m))
238+ then throw("User already allowed & registered")
239+ else if (if ((W == n))
241240 then (V == l)
242241 else false)
243- then throw("User already allowed & registered")
244- else if (if ((W == n))
245- then (V == l)
246- else false)
247- then throw("User already allowed & verified")
248- else {
249- let M = toBase64String(toBytes(t(C(U))))
250- let O = toBase64String(toBytes(t(F(U))))
251- let Z = w(H(U))
252- let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(Z)) + "\"}")
253- if (containsElement([b, c, toString(this)], B))
254- then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
255- else throw("Not allowed to change user status")
256- }
242+ then throw("User already allowed & verified")
243+ else {
244+ let M = toBase64String(toBytes(t(C(U))))
245+ let O = toBase64String(toBytes(t(F(U))))
246+ let Y = w(H(U))
247+ let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(Y)) + "\"}")
248+ if (containsElement([b, c, toString(this)], B))
249+ then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
250+ else throw("Not allowed to change user status")
251+ }
257252 }
258253
259254
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
55
66 let b = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
77
88 let c = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
99
1010 let d = "conf_dapp_is_running"
1111
1212 let e = "conf_maintenance_msg"
1313
1414 let f = "conf_whitelisted_only"
1515
1616 let g = {
1717 let h = getBoolean(this, d)
1818 if ($isInstanceOf(h, "Boolean"))
1919 then {
2020 let i = h
2121 i
2222 }
2323 else true
2424 }
2525
2626 let j = {
2727 let h = getString(this, e)
2828 if ($isInstanceOf(h, "String"))
2929 then {
3030 let i = h
3131 i
3232 }
3333 else ""
3434 }
3535
3636 let k = {
3737 let h = getBoolean(this, f)
3838 if ($isInstanceOf(h, "Boolean"))
3939 then {
4040 let i = h
4141 i
4242 }
4343 else true
4444 }
4545
4646 let l = "ALLOWED"
4747
4848 let m = "REGISTERED"
4949
5050 let n = "VERIFIED"
5151
5252 let o = "SUSPENDED"
5353
5454 let p = "REMOVED"
5555
5656 let q = "CHANGE_REQUIRED"
5757
5858 let r = "UNREGISTERED"
5959
6060 let s = "RESET"
6161
6262 func t (u) = {
6363 let h = getString(this, u)
6464 if ($isInstanceOf(h, "String"))
6565 then {
6666 let i = h
6767 i
6868 }
6969 else ""
7070 }
7171
7272
7373 func v (u) = {
7474 let h = getBoolean(this, u)
7575 if ($isInstanceOf(h, "Boolean"))
7676 then {
7777 let i = h
7878 i
7979 }
8080 else false
8181 }
8282
8383
8484 func w (u) = {
8585 let h = getInteger(this, u)
8686 if ($isInstanceOf(h, "Int"))
8787 then {
8888 let x = h
8989 x
9090 }
9191 else 0
9292 }
9393
9494
9595 func y (z) = if (if ((75 > size(z)))
9696 then (60 > size(split(z, "/")[0]))
9797 else false)
9898 then (16 > size(split(z, "/")[1]))
9999 else false
100100
101101
102102 func A (B) = ("user_" + B)
103103
104104
105105 func C (B) = ("user_name_" + B)
106106
107107
108108 func D (B) = ("user_desc_" + B)
109109
110110
111111 func E (B) = ("user_social_" + B)
112112
113113
114114 func F (B) = ("user_thumb_" + B)
115115
116116
117117 func G (B) = ("user_status_" + B)
118118
119119
120120 func H (B) = ("user_date_" + B)
121121
122122
123123 @Callable(x)
124124 func appRunning (I,J) = {
125125 let B = toString(addressFromPublicKey(x.callerPublicKey))
126126 let K = toBase58String(x.transactionId)
127127 if (containsElement([b, c, toString(this)], B))
128128 then [BooleanEntry(d, I), StringEntry(e, J)]
129129 else throw("You are not allowed to change this")
130130 }
131131
132132
133133
134134 @Callable(x)
135135 func registrationMode (L) = {
136136 let B = toString(addressFromPublicKey(x.callerPublicKey))
137137 let K = toBase58String(x.transactionId)
138138 if (containsElement([b, c, toString(this)], B))
139139 then [BooleanEntry(f, L)]
140140 else throw("You are not allowed to change this")
141141 }
142142
143143
144144
145145 @Callable(x)
146146 func registerUser (M,N,O,P) = if (!(g))
147147 then throw(j)
148148 else {
149149 let B = toString(addressFromPublicKey(x.callerPublicKey))
150150 let Q = t(G(B))
151151 let K = toBase58String(x.transactionId)
152152 let R = lastBlock.timestamp
153153 if (if ((Q == o))
154154 then true
155155 else (Q == p))
156156 then throw("Account suspended/ removed.")
157157 else if ((Q == m))
158158 then throw("Already registered")
159159 else if (if ((Q == ""))
160160 then k
161161 else false)
162162 then throw("Can't register, get approved first.")
163163 else if (if ((M == ""))
164164 then true
165165 else (N == ""))
166166 then throw("Name and description cannot be empty")
167167 else if ((size(N) > 600))
168168 then throw("600 Char. max description")
169169 else if ((size(M) > 45))
170170 then throw("45 Char. max name")
171171 else {
172172 let S = (((((("{\"user_name\": \"" + toBase64String(toBytes(M))) + "\", \"user_thumb\":\"") + toBase64String(toBytes(O))) + "\",\"user_date\":\"") + toString(R)) + "\"}")
173173 [IntegerEntry(H(B), R), StringEntry(A(B), ((K + "_") + toString(R))), StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O), StringEntry(G(B), m), DeleteEntry(("ALLOWED_" + B)), StringEntry(((m + "_") + B), S)]
174174 }
175175 }
176176
177177
178178
179179 @Callable(x)
180180 func updateUser (M,N,O,P) = if (!(g))
181181 then throw(j)
182182 else {
183183 let B = toString(addressFromPublicKey(x.callerPublicKey))
184184 let K = toBase58String(x.transactionId)
185185 let T = t(G(B))
186186 if (if ((T == o))
187187 then true
188188 else (T == p))
189189 then throw("Account suspended/ removed.")
190190 else if (if ((T == ""))
191191 then true
192192 else (T == l))
193193 then throw("Register first")
194194 else if (if ((M == ""))
195195 then true
196196 else (N == ""))
197197 then throw("Name & description cannot be empty")
198198 else if ((size(N) > 600))
199199 then throw("600 Char. max for description")
200200 else if ((size(M) > 45))
201201 then throw("45 Char. max name")
202202 else [StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O)]
203203 }
204204
205205
206206
207207 @Callable(x)
208208 func changeUserStatus (U,V) = if (!(g))
209209 then throw(j)
210210 else {
211211 let B = toString(addressFromPublicKey(x.callerPublicKey))
212212 let K = toBase58String(x.transactionId)
213213 let W = t(G(U))
214214 let X = if ((V == n))
215215 then n
216216 else if ((V == m))
217217 then m
218218 else if ((V == o))
219219 then o
220220 else if ((V == p))
221221 then p
222222 else if ((V == l))
223223 then l
224224 else if ((V == q))
225225 then q
226226 else if (if ((V == s))
227227 then (W == l)
228228 else false)
229229 then ""
230230 else throw("Unknown status")
231- let Y = w(H(U))
232- if (if ((Y == 0))
233- then (V != l)
231+ if (if ((W == l))
232+ then (V == l)
234233 else false)
235- then throw("You cant set this status, user is not registered.")
236- else if (if ((W == l))
234+ then throw("User already allowed")
235+ else if (if ((W == m))
237236 then (V == l)
238237 else false)
239- then throw("User already allowed")
240- else if (if ((W == m))
238+ then throw("User already allowed & registered")
239+ else if (if ((W == n))
241240 then (V == l)
242241 else false)
243- then throw("User already allowed & registered")
244- else if (if ((W == n))
245- then (V == l)
246- else false)
247- then throw("User already allowed & verified")
248- else {
249- let M = toBase64String(toBytes(t(C(U))))
250- let O = toBase64String(toBytes(t(F(U))))
251- let Z = w(H(U))
252- let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(Z)) + "\"}")
253- if (containsElement([b, c, toString(this)], B))
254- then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
255- else throw("Not allowed to change user status")
256- }
242+ then throw("User already allowed & verified")
243+ else {
244+ let M = toBase64String(toBytes(t(C(U))))
245+ let O = toBase64String(toBytes(t(F(U))))
246+ let Y = w(H(U))
247+ let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(Y)) + "\"}")
248+ if (containsElement([b, c, toString(this)], B))
249+ then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
250+ else throw("Not allowed to change user status")
251+ }
257252 }
258253
259254
260255
261256 @Callable(x)
262257 func deleteUser (U) = {
263258 let B = toString(addressFromPublicKey(x.callerPublicKey))
264259 let K = toBase58String(x.transactionId)
265260 let W = t(G(U))
266261 if (containsElement([b, toString(this)], B))
267262 then [DeleteEntry(H(U)), DeleteEntry(A(U)), DeleteEntry(C(U)), DeleteEntry(D(U)), DeleteEntry(E(U)), DeleteEntry(F(U)), DeleteEntry(((W + "_") + U)), StringEntry(G(U), p)]
268263 else throw("Not allowed")
269264 }
270265
271266

github/deemru/w8io/026f985 
43.79 ms