tx · F4g7jfxGDt8zBN7nqwDcHyN98YXrr8xqpn8XvawiBq2S

3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA:  -0.01000000 Waves

2021.10.02 14:24 [1728520] smart account 3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA > SELF 0.00000000 Waves

{ "type": 13, "id": "F4g7jfxGDt8zBN7nqwDcHyN98YXrr8xqpn8XvawiBq2S", "fee": 1000000, "feeAssetId": null, "timestamp": 1633173904340, "version": 2, "chainId": 84, "sender": "3N9cQgZFPHHVu8wqsn2DkQFehg3h8CNiooA", "senderPublicKey": "BrgebGCQkzwYxFPR4YRmR4NsfwawwsS2ewpVr9LWVkQr", "proofs": [ "2UHc4Kqj7vPADBU3ehZy6aHZvYYKCBeCus2KySi6K1L51BSx19rd1dhUKupztYtbXyGJ3B7k6koif5yVUzXEqDoU" ], "script": "base64:AAIFAAAAAAAAACsIAhIECgIECBIDCgEEEgcKBQgICAgIEgcKBQgICAgIEgUKAwgICBIDCgEIAAAAIAAAAAAJb3JhY2xlRmVlCQEAAAAFdmFsdWUAAAABCQAEJgAAAAECAAAAIzNNcFpRanpHb2dtaWZjRUtlOG1EZDZyaWJMN254VDlBQ3llAAAAAAZvd25lcnMJAARMAAAAAgkABB0AAAACBQAAAAlvcmFjbGVGZWUCAAAABm93bmVyMQkABEwAAAACCQAEHQAAAAIFAAAACW9yYWNsZUZlZQIAAAAGb3duZXIyBQAAAANuaWwAAAAADmRhcHBSdW5uaW5nS2V5AgAAABRjb25mX2RhcHBfaXNfcnVubmluZwAAAAARbWFpbnRlbmFuY2VNU0dLZXkCAAAAFGNvbmZfbWFpbnRlbmFuY2VfbXNnAAAAABJ3aGl0ZWxpc3RlZG9ubHlLZXkCAAAAFWNvbmZfd2hpdGVsaXN0ZWRfb25seQAAAAALZGFwcFJ1bm5pbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAAOZGFwcFJ1bm5pbmdLZXkGAAAAAA5tYWludGVuYW5jZU1TRwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAABFtYWludGVuYW5jZU1TR0tleQIAAAAAAAAAAA93aGl0ZWxpc3RlZG9ubHkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAASd2hpdGVsaXN0ZWRvbmx5S2V5BgAAAAALdXNlckFsbG93ZWQCAAAAB0FMTE9XRUQAAAAADnVzZXJSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAAx1c2VyVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABJ1c2VyQ2hhbmdlUmVxdWlyZWQCAAAAD0NIQU5HRV9SRVFVSVJFRAAAAAAQdXNlclVucmVnaXN0ZXJlZAIAAAAMVU5SRUdJU1RFUkVEAAAAAAl1c2VyUmVzZXQCAAAABVJFU0VUAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAAD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ABJBbHJlYWR5IHJlZ2lzdGVyZWQDAwMJAQAAAAEhAAAAAQUAAAAKaXNBblVwZGF0ZQkAAAAAAAACBQAAAAZzdGF0dXMCAAAAAAcFAAAAD3doaXRlbGlzdGVkb25seQcJAAACAAAAAQIAAAAjQ2FuJ3QgcmVnaXN0ZXIsIGdldCBhcHByb3ZlZCBmaXJzdC4DAwMFAAAACmlzQW5VcGRhdGUJAAAAAAAAAgUAAAAGc3RhdHVzAgAAAAAHBgMFAAAACmlzQW5VcGRhdGUJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAOUmVnaXN0ZXIgZmlyc3QGAQAAABF2YWxpZGF0ZU5ld1N0YXR1cwAAAAMAAAAGc3RhdHVzAAAAB2FkZHJlc3MAAAANY3VycmVudFN0YXR1cwQAAAAJYWxsU3RhdHVzCQAETAAAAAIFAAAADHVzZXJWZXJpZmllZAkABEwAAAACBQAAAA51c2VyUmVnaXN0ZXJlZAkABEwAAAACBQAAAA11c2VyU3VzcGVuZGVkCQAETAAAAAIFAAAAC3VzZXJSZW1vdmVkCQAETAAAAAIFAAAAC3VzZXJBbGxvd2VkCQAETAAAAAIFAAAAEnVzZXJDaGFuZ2VSZXF1aXJlZAUAAAADbmlsBAAAAAtzdGF0dXNUb1NldAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAlhbGxTdGF0dXMFAAAABnN0YXR1cwUAAAAGc3RhdHVzAwMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAl1c2VyUmVzZXQJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAALdXNlckFsbG93ZWQHAgAAAAAJAAACAAAAAQIAAAAOVW5rbm93biBzdGF0dXMEAAAAEHVzZXJJc1JlZ2lzdGVyZWQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAALa2V5VXNlckRhdGUAAAABBQAAAAdhZGRyZXNzAwMJAAAAAAAAAgUAAAAQdXNlcklzUmVnaXN0ZXJlZAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAALc3RhdHVzVG9TZXQFAAAAC3VzZXJBbGxvd2VkBwkAAAIAAAABAgAAADFZb3UgY2FudCBzZXQgdGhpcyBzdGF0dXMsIHVzZXIgaXMgbm90IHJlZ2lzdGVyZWQuAwMJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAALdXNlckFsbG93ZWQJAAAAAAAAAgUAAAALc3RhdHVzVG9TZXQFAAAAC3VzZXJBbGxvd2VkBwkAAAIAAAABAgAAABRVc2VyIGFscmVhZHkgYWxsb3dlZAMDCQAAAAAAAAIFAAAADWN1cnJlbnRTdGF0dXMFAAAADnVzZXJSZWdpc3RlcmVkCQAAAAAAAAIFAAAAC3N0YXR1c1RvU2V0BQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAhVXNlciBhbHJlYWR5IGFsbG93ZWQgJiByZWdpc3RlcmVkAwMJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAAMdXNlclZlcmlmaWVkCQAAAAAAAAIFAAAAC3N0YXR1c1RvU2V0BQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAfVXNlciBhbHJlYWR5IGFsbG93ZWQgJiB2ZXJpZmllZAUAAAALc3RhdHVzVG9TZXQBAAAACG1ha2VKU09OAAAAAwAAAARuYW1lAAAABXRodW1iAAAABGRhdGUJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3sidXNlcl9uYW1lIjogIgUAAAAEbmFtZQIAAAARIiwgInVzZXJfdGh1bWIiOiIFAAAABXRodW1iAgAAAA8iLCJ1c2VyX2RhdGUiOiIFAAAABGRhdGUCAAAAAiJ9AAAABgAAAAZpbnZva2UBAAAACmFwcFJ1bm5pbmcAAAACAAAABmlzTGl2ZQAAAAdtZXNzYWdlBAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAABmludm9rZQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAAmlkCQACWAAAAAEIBQAAAAZpbnZva2UAAAANdHJhbnNhY3Rpb25JZAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETQAAAAIFAAAABm93bmVycwkABCUAAAABBQAAAAR0aGlzBQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAADmRhcHBSdW5uaW5nS2V5BQAAAAZpc0xpdmUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARbWFpbnRlbmFuY2VNU0dLZXkFAAAAB21lc3NhZ2UFAAAAA25pbAkAAAIAAAABAgAAACJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzAAAABmludm9rZQEAAAAQcmVnaXN0cmF0aW9uTW9kZQAAAAEAAAAGV0xvbmx5BAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAABmludm9rZQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAAmlkCQACWAAAAAEIBQAAAAZpbnZva2UAAAANdHJhbnNhY3Rpb25JZAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETQAAAAIFAAAABm93bmVycwkABCUAAAABBQAAAAR0aGlzBQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAEndoaXRlbGlzdGVkb25seUtleQUAAAAGV0xvbmx5BQAAAANuaWwJAAACAAAAAQIAAAAiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwAAAAZpbnZva2UBAAAADHJlZ2lzdGVyVXNlcgAAAAUAAAAEbmFtZQAAAAtkZXNjcmlwdGlvbgAAAAV0aHVtYgAAAAZzb2NpYWwAAAAGYmFubmVyAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAZpbnZva2UAAAAPY2FsbGVyUHVibGljS2V5BAAAAAJpZAkAAlgAAAABCAUAAAAGaW52b2tlAAAADXRyYW5zYWN0aW9uSWQEAAAACXRpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXADCQEAAAABIQAAAAEJAQAAAA52YWxpZGF0ZUJhbm5lcgAAAAEFAAAABmJhbm5lcgkAAAIAAAABAgAAABVJbnZhbGlkIGJhbm5lciBpbWFnZSEDCQEAAAABIQAAAAEJAQAA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", "height": 1728520, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H3mntz1YWSBy7J4euLqsMX2zSCExLJDFAKuBzMgWtcXx Next: GmkMbqSBQ8nkEZFERZCqstXrun4F8mt4QVFUfbw3486N Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "3MvSKkqmLjNaJAYrteJB3Hnmu8r8g1sjpYF"
4+let a = value(addressFromString("3MpZQjzGogmifcEKe8mDd6ribL7nxT9ACye"))
55
6-let b = "3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy"
6+let b = [getString(a, "owner1"), getString(a, "owner2")]
77
88 let c = "conf_dapp_is_running"
99
5757 func z (v) = ("user_thumb_" + v)
5858
5959
60-func A (v) = ("user_status_" + v)
60+func A (v) = ("banner_" + v)
6161
6262
63-func B (v) = ("user_date_" + v)
63+func B (v) = ("user_status_" + v)
6464
6565
66-func C (D) = if (contains(D, "/"))
67- then if (if ((63 > size(D)))
68- then (size(split(D, "/")[0]) == 46)
66+func C (v) = ("user_date_" + v)
67+
68+
69+func D (E) = if (contains(E, "/"))
70+ then if (if ((63 > size(E)))
71+ then (size(split(E, "/")[0]) == 46)
6972 else false)
70- then (16 > size(split(D, "/")[1]))
73+ then (16 > size(split(E, "/")[1]))
7174 else false
7275 else false
7376
7477
75-func E (v,F,G,H,I) = {
76- let J = if ((size(H) != 0))
77- then C(H)
78+func F (E) = if ((size(E) == 0))
79+ then true
80+ else if ((size(E) == 46))
81+ then true
82+ else false
83+
84+
85+func G (v,H,I,J,K) = {
86+ let L = if ((size(J) != 0))
87+ then D(J)
7888 else true
79- if (!(J))
89+ if (!(L))
8090 then throw("CID don't match requirement!")
81- else if (if ((F == ""))
91+ else if (if ((H == ""))
8292 then true
83- else (G == ""))
93+ else (I == ""))
8494 then throw("Name and description cannot be empty")
85- else if ((size(G) > 600))
95+ else if ((size(I) > 600))
8696 then throw("600 Char. max description")
87- else if ((size(F) > 45))
97+ else if ((size(H) > 45))
8898 then throw("45 Char. max name")
8999 else {
90- let K = q(A(v))
91- if (if ((K == l))
100+ let M = q(B(v))
101+ if (if ((M == l))
92102 then true
93- else (K == m))
103+ else (M == m))
94104 then throw("Account suspended/ removed.")
95- else if (if (!(I))
96- then (K == j)
105+ else if (if (!(K))
106+ then (M == j)
97107 else false)
98108 then throw("Already registered")
99- else if (if (if (!(I))
100- then (K == "")
109+ else if (if (if (!(K))
110+ then (M == "")
101111 else false)
102112 then h
103113 else false)
104114 then throw("Can't register, get approved first.")
105- else if (if (if (I)
106- then (K == "")
115+ else if (if (if (K)
116+ then (M == "")
107117 else false)
108118 then true
109- else if (I)
110- then (K == i)
119+ else if (K)
120+ then (M == i)
111121 else false)
112122 then throw("Register first")
113123 else true
115125 }
116126
117127
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)
128+func N (M,O,P) = {
129+ let Q = [k, j, l, m, i, n]
130+ let R = if (containsElement(Q, M))
131+ then M
132+ else if (if ((M == p))
133+ then (P == i)
124134 else false)
125135 then ""
126136 else throw("Unknown status")
127- let Q = t(B(M))
128- if (if ((Q == 0))
129- then (P != i)
137+ let S = t(C(O))
138+ if (if ((S == 0))
139+ then (R != i)
130140 else false)
131141 then throw("You cant set this status, user is not registered.")
132- else if (if ((N == i))
133- then (P == i)
142+ else if (if ((P == i))
143+ then (R == i)
134144 else false)
135145 then throw("User already allowed")
136- else if (if ((N == j))
137- then (P == i)
146+ else if (if ((P == j))
147+ then (R == i)
138148 else false)
139149 then throw("User already allowed & registered")
140- else if (if ((N == k))
141- then (P == i)
150+ else if (if ((P == k))
151+ then (R == i)
142152 else false)
143153 then throw("User already allowed & verified")
144- else P
154+ else R
145155 }
146156
147157
148-func R (F,H,S) = (((((("{\"user_name\": \"" + F) + "\", \"user_thumb\":\"") + H) + "\",\"user_date\":\"") + S) + "\"}")
158+func T (H,J,U) = (((((("{\"user_name\": \"" + H) + "\", \"user_thumb\":\"") + J) + "\",\"user_date\":\"") + U) + "\"}")
149159
150160
151-@Callable(T)
152-func appRunning (U,V) = {
153- let v = toString(addressFromPublicKey(T.callerPublicKey))
154- let W = toBase58String(T.transactionId)
155- if (containsElement([a, b, toString(this)], v))
156- then [BooleanEntry(c, U), StringEntry(d, V)]
161+@Callable(V)
162+func appRunning (W,X) = {
163+ let v = toString(addressFromPublicKey(V.callerPublicKey))
164+ let Y = toBase58String(V.transactionId)
165+ if (containsElement((b :+ toString(this)), v))
166+ then [BooleanEntry(c, W), StringEntry(d, X)]
157167 else throw("You are not allowed to change this")
158168 }
159169
160170
161171
162-@Callable(T)
163-func registrationMode (X) = {
164- let v = toString(addressFromPublicKey(T.callerPublicKey))
165- let W = toBase58String(T.transactionId)
166- if (containsElement([a, b, toString(this)], v))
167- then [BooleanEntry(e, X)]
172+@Callable(V)
173+func registrationMode (Z) = {
174+ let v = toString(addressFromPublicKey(V.callerPublicKey))
175+ let Y = toBase58String(V.transactionId)
176+ if (containsElement((b :+ toString(this)), v))
177+ then [BooleanEntry(e, Z)]
168178 else throw("You are not allowed to change this")
169179 }
170180
171181
172182
173-@Callable(T)
174-func registerUser (F,G,H,Y) = if (!(f))
183+@Callable(V)
184+func registerUser (H,I,J,aa,ab) = if (!(f))
175185 then throw(g)
176186 else {
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)))
181- then throw("Something went wrong")
182- else {
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)]
185- }
187+ let v = toString(addressFromPublicKey(V.callerPublicKey))
188+ let Y = toBase58String(V.transactionId)
189+ let ac = lastBlock.timestamp
190+ if (!(F(ab)))
191+ then throw("Invalid banner image!")
192+ else if (!(G(v, H, I, J, false)))
193+ then throw("Something went wrong")
194+ else {
195+ let ad = T(toBase64String(toBytes(H)), toBase64String(toBytes(J)), toString(ac))
196+[IntegerEntry(C(v), ac), StringEntry(u(v), ((Y + "_") + toString(ac))), StringEntry(w(v), H), StringEntry(x(v), I), StringEntry(y(v), aa), StringEntry(z(v), J), StringEntry(A(v), ab), StringEntry(B(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), ad)]
197+ }
186198 }
187199
188200
189201
190-@Callable(T)
191-func updateUser (F,G,H,Y) = if (!(f))
202+@Callable(V)
203+func updateUser (H,I,J,aa,ab) = if (!(f))
192204 then throw(g)
193205 else {
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)))
198- then throw("Something went wrong")
199- else {
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)]
203- }
206+ let v = toString(addressFromPublicKey(V.callerPublicKey))
207+ let Y = toBase58String(V.transactionId)
208+ let M = q(B(v))
209+ if (!(F(ab)))
210+ then throw("Invalid banner image!")
211+ else if (!(G(v, H, I, J, true)))
212+ then throw("Something went wrong")
213+ else {
214+ let U = t(C(v))
215+ let ad = T(toBase64String(toBytes(H)), toBase64String(toBytes(J)), toString(U))
216+[StringEntry(w(v), H), StringEntry(x(v), I), StringEntry(y(v), aa), StringEntry(A(v), ab), StringEntry(z(v), J), StringEntry(((M + "_") + v), ad)]
217+ }
204218 }
205219
206220
207221
208-@Callable(T)
209-func changeUserStatus (M,K,ab) = {
210- let v = toString(addressFromPublicKey(T.callerPublicKey))
211- let W = toBase58String(T.transactionId)
212- let ac = addressFromString(M)
213- let ad = ac
214- if ($isInstanceOf(ad, "Address"))
222+@Callable(V)
223+func changeUserStatus (O,M,ae) = {
224+ let v = toString(addressFromPublicKey(V.callerPublicKey))
225+ let Y = toBase58String(V.transactionId)
226+ let af = addressFromString(O)
227+ let ag = af
228+ if ($isInstanceOf(ag, "Address"))
215229 then {
216- let ac = ad
217- let N = q(A(M))
218- let P = L(K, M, N)
219- let F = toBase64String(toBytes(q(w(M))))
220- let H = toBase64String(toBytes(q(z(M))))
221- let S = t(B(M))
222- let aa = R(F, H, toString(S))
223- if (containsElement([a, b, toString(this)], v))
224- then [StringEntry(A(M), P), DeleteEntry(((N + "_") + M)), StringEntry(((P + "_") + M), aa), StringEntry(("user_note_" + M), ab)]
230+ let af = ag
231+ let P = q(B(O))
232+ let R = N(M, O, P)
233+ let H = toBase64String(toBytes(q(w(O))))
234+ let J = toBase64String(toBytes(q(z(O))))
235+ let U = t(C(O))
236+ let ad = T(H, J, toString(U))
237+ if (containsElement((b :+ toString(this)), v))
238+ then [StringEntry(B(O), R), DeleteEntry(((P + "_") + O)), StringEntry(((R + "_") + O), ad), StringEntry(("user_note_" + O), ae)]
225239 else throw("Not allowed to change user status")
226240 }
227241 else throw("Seems to be an invalid address!")
229243
230244
231245
232-@Callable(T)
233-func deleteUser (M) = {
234- let v = toString(addressFromPublicKey(T.callerPublicKey))
235- let W = toBase58String(T.transactionId)
236- let N = q(A(M))
237- if (containsElement([a, b, toString(this)], v))
238- 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)]
246+@Callable(V)
247+func deleteUser (O) = {
248+ let v = toString(addressFromPublicKey(V.callerPublicKey))
249+ let Y = toBase58String(V.transactionId)
250+ let P = q(B(O))
251+ if (containsElement((b :+ toString(this)), v))
252+ then [DeleteEntry(C(O)), DeleteEntry(u(O)), DeleteEntry(w(O)), DeleteEntry(x(O)), DeleteEntry(y(O)), DeleteEntry(z(O)), DeleteEntry(((P + "_") + O)), StringEntry(B(O), m)]
239253 else throw("Not allowed")
240254 }
241255
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "3MvSKkqmLjNaJAYrteJB3Hnmu8r8g1sjpYF"
4+let a = value(addressFromString("3MpZQjzGogmifcEKe8mDd6ribL7nxT9ACye"))
55
6-let b = "3N1Dhq5ZZyoojQisuTLusYjnGisqrxDwGLy"
6+let b = [getString(a, "owner1"), getString(a, "owner2")]
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
60-func A (v) = ("user_status_" + v)
60+func A (v) = ("banner_" + v)
6161
6262
63-func B (v) = ("user_date_" + v)
63+func B (v) = ("user_status_" + v)
6464
6565
66-func C (D) = if (contains(D, "/"))
67- then if (if ((63 > size(D)))
68- then (size(split(D, "/")[0]) == 46)
66+func C (v) = ("user_date_" + v)
67+
68+
69+func D (E) = if (contains(E, "/"))
70+ then if (if ((63 > size(E)))
71+ then (size(split(E, "/")[0]) == 46)
6972 else false)
70- then (16 > size(split(D, "/")[1]))
73+ then (16 > size(split(E, "/")[1]))
7174 else false
7275 else false
7376
7477
75-func E (v,F,G,H,I) = {
76- let J = if ((size(H) != 0))
77- then C(H)
78+func F (E) = if ((size(E) == 0))
79+ then true
80+ else if ((size(E) == 46))
81+ then true
82+ else false
83+
84+
85+func G (v,H,I,J,K) = {
86+ let L = if ((size(J) != 0))
87+ then D(J)
7888 else true
79- if (!(J))
89+ if (!(L))
8090 then throw("CID don't match requirement!")
81- else if (if ((F == ""))
91+ else if (if ((H == ""))
8292 then true
83- else (G == ""))
93+ else (I == ""))
8494 then throw("Name and description cannot be empty")
85- else if ((size(G) > 600))
95+ else if ((size(I) > 600))
8696 then throw("600 Char. max description")
87- else if ((size(F) > 45))
97+ else if ((size(H) > 45))
8898 then throw("45 Char. max name")
8999 else {
90- let K = q(A(v))
91- if (if ((K == l))
100+ let M = q(B(v))
101+ if (if ((M == l))
92102 then true
93- else (K == m))
103+ else (M == m))
94104 then throw("Account suspended/ removed.")
95- else if (if (!(I))
96- then (K == j)
105+ else if (if (!(K))
106+ then (M == j)
97107 else false)
98108 then throw("Already registered")
99- else if (if (if (!(I))
100- then (K == "")
109+ else if (if (if (!(K))
110+ then (M == "")
101111 else false)
102112 then h
103113 else false)
104114 then throw("Can't register, get approved first.")
105- else if (if (if (I)
106- then (K == "")
115+ else if (if (if (K)
116+ then (M == "")
107117 else false)
108118 then true
109- else if (I)
110- then (K == i)
119+ else if (K)
120+ then (M == i)
111121 else false)
112122 then throw("Register first")
113123 else true
114124 }
115125 }
116126
117127
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)
128+func N (M,O,P) = {
129+ let Q = [k, j, l, m, i, n]
130+ let R = if (containsElement(Q, M))
131+ then M
132+ else if (if ((M == p))
133+ then (P == i)
124134 else false)
125135 then ""
126136 else throw("Unknown status")
127- let Q = t(B(M))
128- if (if ((Q == 0))
129- then (P != i)
137+ let S = t(C(O))
138+ if (if ((S == 0))
139+ then (R != i)
130140 else false)
131141 then throw("You cant set this status, user is not registered.")
132- else if (if ((N == i))
133- then (P == i)
142+ else if (if ((P == i))
143+ then (R == i)
134144 else false)
135145 then throw("User already allowed")
136- else if (if ((N == j))
137- then (P == i)
146+ else if (if ((P == j))
147+ then (R == i)
138148 else false)
139149 then throw("User already allowed & registered")
140- else if (if ((N == k))
141- then (P == i)
150+ else if (if ((P == k))
151+ then (R == i)
142152 else false)
143153 then throw("User already allowed & verified")
144- else P
154+ else R
145155 }
146156
147157
148-func R (F,H,S) = (((((("{\"user_name\": \"" + F) + "\", \"user_thumb\":\"") + H) + "\",\"user_date\":\"") + S) + "\"}")
158+func T (H,J,U) = (((((("{\"user_name\": \"" + H) + "\", \"user_thumb\":\"") + J) + "\",\"user_date\":\"") + U) + "\"}")
149159
150160
151-@Callable(T)
152-func appRunning (U,V) = {
153- let v = toString(addressFromPublicKey(T.callerPublicKey))
154- let W = toBase58String(T.transactionId)
155- if (containsElement([a, b, toString(this)], v))
156- then [BooleanEntry(c, U), StringEntry(d, V)]
161+@Callable(V)
162+func appRunning (W,X) = {
163+ let v = toString(addressFromPublicKey(V.callerPublicKey))
164+ let Y = toBase58String(V.transactionId)
165+ if (containsElement((b :+ toString(this)), v))
166+ then [BooleanEntry(c, W), StringEntry(d, X)]
157167 else throw("You are not allowed to change this")
158168 }
159169
160170
161171
162-@Callable(T)
163-func registrationMode (X) = {
164- let v = toString(addressFromPublicKey(T.callerPublicKey))
165- let W = toBase58String(T.transactionId)
166- if (containsElement([a, b, toString(this)], v))
167- then [BooleanEntry(e, X)]
172+@Callable(V)
173+func registrationMode (Z) = {
174+ let v = toString(addressFromPublicKey(V.callerPublicKey))
175+ let Y = toBase58String(V.transactionId)
176+ if (containsElement((b :+ toString(this)), v))
177+ then [BooleanEntry(e, Z)]
168178 else throw("You are not allowed to change this")
169179 }
170180
171181
172182
173-@Callable(T)
174-func registerUser (F,G,H,Y) = if (!(f))
183+@Callable(V)
184+func registerUser (H,I,J,aa,ab) = if (!(f))
175185 then throw(g)
176186 else {
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)))
181- then throw("Something went wrong")
182- else {
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)]
185- }
187+ let v = toString(addressFromPublicKey(V.callerPublicKey))
188+ let Y = toBase58String(V.transactionId)
189+ let ac = lastBlock.timestamp
190+ if (!(F(ab)))
191+ then throw("Invalid banner image!")
192+ else if (!(G(v, H, I, J, false)))
193+ then throw("Something went wrong")
194+ else {
195+ let ad = T(toBase64String(toBytes(H)), toBase64String(toBytes(J)), toString(ac))
196+[IntegerEntry(C(v), ac), StringEntry(u(v), ((Y + "_") + toString(ac))), StringEntry(w(v), H), StringEntry(x(v), I), StringEntry(y(v), aa), StringEntry(z(v), J), StringEntry(A(v), ab), StringEntry(B(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), ad)]
197+ }
186198 }
187199
188200
189201
190-@Callable(T)
191-func updateUser (F,G,H,Y) = if (!(f))
202+@Callable(V)
203+func updateUser (H,I,J,aa,ab) = if (!(f))
192204 then throw(g)
193205 else {
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)))
198- then throw("Something went wrong")
199- else {
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)]
203- }
206+ let v = toString(addressFromPublicKey(V.callerPublicKey))
207+ let Y = toBase58String(V.transactionId)
208+ let M = q(B(v))
209+ if (!(F(ab)))
210+ then throw("Invalid banner image!")
211+ else if (!(G(v, H, I, J, true)))
212+ then throw("Something went wrong")
213+ else {
214+ let U = t(C(v))
215+ let ad = T(toBase64String(toBytes(H)), toBase64String(toBytes(J)), toString(U))
216+[StringEntry(w(v), H), StringEntry(x(v), I), StringEntry(y(v), aa), StringEntry(A(v), ab), StringEntry(z(v), J), StringEntry(((M + "_") + v), ad)]
217+ }
204218 }
205219
206220
207221
208-@Callable(T)
209-func changeUserStatus (M,K,ab) = {
210- let v = toString(addressFromPublicKey(T.callerPublicKey))
211- let W = toBase58String(T.transactionId)
212- let ac = addressFromString(M)
213- let ad = ac
214- if ($isInstanceOf(ad, "Address"))
222+@Callable(V)
223+func changeUserStatus (O,M,ae) = {
224+ let v = toString(addressFromPublicKey(V.callerPublicKey))
225+ let Y = toBase58String(V.transactionId)
226+ let af = addressFromString(O)
227+ let ag = af
228+ if ($isInstanceOf(ag, "Address"))
215229 then {
216- let ac = ad
217- let N = q(A(M))
218- let P = L(K, M, N)
219- let F = toBase64String(toBytes(q(w(M))))
220- let H = toBase64String(toBytes(q(z(M))))
221- let S = t(B(M))
222- let aa = R(F, H, toString(S))
223- if (containsElement([a, b, toString(this)], v))
224- then [StringEntry(A(M), P), DeleteEntry(((N + "_") + M)), StringEntry(((P + "_") + M), aa), StringEntry(("user_note_" + M), ab)]
230+ let af = ag
231+ let P = q(B(O))
232+ let R = N(M, O, P)
233+ let H = toBase64String(toBytes(q(w(O))))
234+ let J = toBase64String(toBytes(q(z(O))))
235+ let U = t(C(O))
236+ let ad = T(H, J, toString(U))
237+ if (containsElement((b :+ toString(this)), v))
238+ then [StringEntry(B(O), R), DeleteEntry(((P + "_") + O)), StringEntry(((R + "_") + O), ad), StringEntry(("user_note_" + O), ae)]
225239 else throw("Not allowed to change user status")
226240 }
227241 else throw("Seems to be an invalid address!")
228242 }
229243
230244
231245
232-@Callable(T)
233-func deleteUser (M) = {
234- let v = toString(addressFromPublicKey(T.callerPublicKey))
235- let W = toBase58String(T.transactionId)
236- let N = q(A(M))
237- if (containsElement([a, b, toString(this)], v))
238- 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)]
246+@Callable(V)
247+func deleteUser (O) = {
248+ let v = toString(addressFromPublicKey(V.callerPublicKey))
249+ let Y = toBase58String(V.transactionId)
250+ let P = q(B(O))
251+ if (containsElement((b :+ toString(this)), v))
252+ then [DeleteEntry(C(O)), DeleteEntry(u(O)), DeleteEntry(w(O)), DeleteEntry(x(O)), DeleteEntry(y(O)), DeleteEntry(z(O)), DeleteEntry(((P + "_") + O)), StringEntry(B(O), m)]
239253 else throw("Not allowed")
240254 }
241255
242256

github/deemru/w8io/873ac7e 
70.36 ms