tx · H91cJxgSwGGEgqwPLK4znNw5z9mMyJnSD5bp9a8Wtsjg

3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj:  -0.01400000 Waves

2020.12.22 14:33 [1319857] smart account 3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj > SELF 0.00000000 Waves

{ "type": 13, "id": "H91cJxgSwGGEgqwPLK4znNw5z9mMyJnSD5bp9a8Wtsjg", "fee": 1400000, "feeAssetId": null, "timestamp": 1608636779392, "version": 2, "chainId": 84, "sender": "3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj", "senderPublicKey": "A2m227AHcq7gWfSU59Q3UJaqkEa7SccFYmJuWHbFrrKE", "proofs": [ "3vym393GH3JSbHCAaJYv5XqBKa8x4XesLeHP2iSVWb76w6xze5wwYPB7MGWFYd21EEFKwifA4tYZgaaRgxu79c4H" ], "script": "base64:AAIEAAAAAAAAACgIAhIECgIECBIDCgEEEgYKBAgICAgSBgoECAgICBIECgIICBIDCgEIAAAAHAAAAAALc2lnbkFzc2V0SWQBAAAAIOilarzKd0LycGEyNUpPRYO5uR7lmWcXw3Hq2QuhBK3rAAAAAAVjaHJpcwIAAAAjM01zRzZqUE5DclZKVXRZQjdYSkJ4Uzd1dFdzWEFmNG45VnAAAAAABGpvZXACAAAAIzNNem00Vkx3c045dVp3YlRNelBqM1h1eFY2a0VmQVI4VUROAAAAAA5kYXBwUnVubmluZ0tleQIAAAAUY29uZl9kYXBwX2lzX3J1bm5pbmcAAAAAEW1haW50ZW5hbmNlTVNHS2V5AgAAABRjb25mX21haW50ZW5hbmNlX21zZwAAAAASd2hpdGVsaXN0ZWRvbmx5S2V5AgAAABVjb25mX3doaXRlbGlzdGVkX29ubHkAAAAAC2RhcHBSdW5uaW5nBAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAADmRhcHBSdW5uaW5nS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBgAAAAAObWFpbnRlbmFuY2VNU0cEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAARbWFpbnRlbmFuY2VNU0dLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAAAAAA93aGl0ZWxpc3RlZG9ubHkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAASd2hpdGVsaXN0ZWRvbmx5S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBgAAAAALdXNlckFsbG93ZWQCAAAAB0FMTE9XRUQAAAAADnVzZXJSZWdpc3RlcmVkAgAAAApSRUdJU1RFUkVEAAAAAAx1c2VyVmVyaWZpZWQCAAAACFZFUklGSUVEAAAAAA11c2VyU3VzcGVuZGVkAgAAAAlTVVNQRU5ERUQAAAAAC3VzZXJSZW1vdmVkAgAAAAdSRU1PVkVEAAAAABJ1c2VyQ2hhbmdlUmVxdWlyZWQCAAAAD0NIQU5HRV9SRVFVSVJFRAAAAAAQdXNlclVucmVnaXN0ZXJlZAIAAAAMVU5SRUdJU1RFUkVEAAAAAAl1c2VyUmVzZXQCAAAABVJFU0VUAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAD2dldEJvb2xlYW5CeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQcBAAAAD2dldEludGVnZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFpBQAAAAckbWF0Y2gwBQAAAAFpAAAAAAAAAAAAAQAAAAt2YWxpZGF0ZUNJRAAAAAEAAAADY2lkAwMJAABmAAAAAgAAAAAAAAAASwkAATEAAAABBQAAAANjaWQJAABmAAAAAgAAAAAAAAAAPAkAATEAAAABCQABkQAAAAIJAAS1AAAAAgUAAAADY2lkAgAAAAEvAAAAAAAAAAAABwkAAGYAAAACAAAAAAAAAAAQCQABMQAAAAEJAAGRAAAAAgkABLUAAAACBQAAAANjaWQCAAAAAS8AAAAAAAAAAAEHAQAAAAtrZXlVc2VyQWRkcgAAAAEAAAAGY2FsbGVyCQABLAAAAAICAAAABXVzZXJfBQAAAAZjYWxsZXIBAAAAC2tleVVzZXJOYW1lAAAAAQAAAAZjYWxsZXIJAAEsAAAAAgIAAAAKdXNlcl9uYW1lXwUAAAAGY2FsbGVyAQAAAAtrZXlVc2VyRGVzYwAAAAEAAAAGY2FsbGVyCQABLAAAAAICAAAACnVzZXJfZGVzY18FAAAABmNhbGxlcgEAAAANa2V5VXNlclNvY2lhbAAAAAEAAAAGY2FsbGVyCQABLAAAAAICAAAADHVzZXJfc29jaWFsXwUAAAAGY2FsbGVyAQAAAAxrZXlVc2VyVGh1bWIAAAABAAAABmNhbGxlcgkAASwAAAACAgAAAAt1c2VyX3RodW1iXwUAAAAGY2FsbGVyAQAAAA1rZXlVc2VyU3RhdHVzAAAAAQAAAAZjYWxsZXIJAAEsAAAAAgIAAAAMdXNlcl9zdGF0dXNfBQAAAAZjYWxsZXIBAAAAC2tleVVzZXJEYXRlAAAAAQAAAAZjYWxsZXIJAAEsAAAAAgIAAAAKdXNlcl9kYXRlXwUAAAAGY2FsbGVyAAAABgAAAAFpAQAAAAphcHBSdW5uaW5nAAAAAgAAAAZpc0xpdmUAAAAHbWVzc2FnZQQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAABWNocmlzCQAETAAAAAIFAAAABGpvZXAJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzBQAAAANuaWwFAAAABmNhbGxlcgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAOZGFwcFJ1bm5pbmdLZXkFAAAABmlzTGl2ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFtYWludGVuYW5jZU1TR0tleQUAAAAHbWVzc2FnZQUAAAADbmlsCQAAAgAAAAECAAAAIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMAAAABaQEAAAAQcmVnaXN0cmF0aW9uTW9kZQAAAAEAAAAGV0xvbmx5BAAAAAZjYWxsZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAJpZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAFY2hyaXMJAARMAAAAAgUAAAAEam9lcAkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMFAAAAA25pbAUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABJ3aGl0ZWxpc3RlZG9ubHlLZXkFAAAABldMb25seQUAAAADbmlsCQAAAgAAAAECAAAAIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMAAAABaQEAAAAMcmVnaXN0ZXJVc2VyAAAABAAAAARuYW1lAAAAC2Rlc2NyaXB0aW9uAAAABXRodW1iAAAABnNvY2lhbAMJAQAAAAEhAAAAAQUAAAALZGFwcFJ1bm5pbmcJAAACAAAAAQUAAAAObWFpbnRlbmFuY2VNU0cEAAAABmNhbGxlcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAC2NhblJlZ2lzdGVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAANa2V5VXNlclN0YXR1cwAAAAEFAAAABmNhbGxlcgQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAJdGltZXN0YW1wCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAMDCQAAAAAAAAIFAAAAC2NhblJlZ2lzdGVyBQAAAA11c2VyU3VzcGVuZGVkBgkAAAAAAAACBQAAAAtjYW5SZWdpc3RlcgUAAAALdXNlclJlbW92ZWQJAAACAAAAAQIAAAAbQWNjb3VudCBzdXNwZW5kZWQvIHJlbW92ZWQuAwkAAAAAAAACBQAAAAtjYW5SZWdpc3RlcgUAAAAOdXNlclJlZ2lzdGVyZWQJAAACAAAAAQIAAAASQWxyZWFkeSByZWdpc3RlcmVkAwMJAAAAAAAAAgUAAAALY2FuUmVnaXN0ZXICAAAAAAUAAAAPd2hpdGVsaXN0ZWRvbmx5BwkAAAIAAAABAgAAACNDYW4ndCByZWdpc3RlciwgZ2V0IGFwcHJvdmVkIGZpcnN0LgMDCQAAAAAAAAIFAAAABG5hbWUCAAAAAAYJAAAAAAAAAgUAAAALZGVzY3JpcHRpb24CAAAAAAkAAAIAAAABAgAAACROYW1lIGFuZCBkZXNjcmlwdGlvbiBjYW5ub3QgYmUgZW1wdHkDCQAAZgAAAAIJAAExAAAAAQUAAAALZGVzY3JpcHRpb24AAAAAAAAAAlgJAAACAAAAAQIAAAAZNjAwIENoYXIuIG1heCBkZXNjcmlwdGlvbgMJAABmAAAAAgkAATEAAAABBQAAAARuYW1lAAAAAAAAAAAtCQAAAgAAAAECAAAAETQ1IENoYXIuIG1heCBuYW1lBAAAAARqc29uCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA97InVzZXJfbmFtZSI6ICIJAAJaAAAAAQkAAZsAAAABBQAAAARuYW1lAgAAABEiLCAidXNlcl90aHVtYiI6IgkAAloAAAABCQABmwAAAAEFAAAABXRodW1iAgAAAA8iLCJ1c2VyX2RhdGUiOiIJAAGkAAAAAQUAAAAJdGltZXN0YW1wAgAAAAIifQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAC2tleVVzZXJEYXRlAAAAAQUAAAAGY2FsbGVyBQAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2tleVVzZXJBZGRyAAAAAQUAAAAGY2FsbGVyCQABLAAAAAIJAAEsAAAAAgUAAAACaWQCAAAAAV8JAAGkAAAAAQUAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlVc2VyTmFtZQAAAAEFAAAABmNhbGxlcgUAAAAEbmFtZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5VXNlckRlc2MAAAABBQAAAAZjYWxsZXIFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlVc2VyU29jaWFsAAAAAQUAAAAGY2FsbGVyBQAAAAZzb2NpYWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGtleVVzZXJUaHVtYgAAAAEFAAAABmNhbGxlcgUAAAAFdGh1bWIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVVzZXJTdGF0dXMAAAABBQAAAAZjYWxsZXIFAAAADnVzZXJSZWdpc3RlcmVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAIQUxMT1dFRF8FAAAABmNhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAOdXNlclJlZ2lzdGVyZWQCAAAAAV8FAAAABmNhbGxlcgUAAAAEanNvbgUAAAADbmlsAAAAAWkBAAAACnVwZGF0ZVVzZXIAAAAEAAAABG5hbWUAAAALZGVzY3JpcHRpb24AAAAFdGh1bWIAAAAGc29jaWFsAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAJY2FuVXBkYXRlCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAANa2V5VXNlclN0YXR1cwAAAAEFAAAABmNhbGxlcgMDCQAAAAAAAAIFAAAACWNhblVwZGF0ZQUAAAANdXNlclN1c3BlbmRlZAYJAAAAAAAAAgUAAAAJY2FuVXBkYXRlBQAAAAt1c2VyUmVtb3ZlZAkAAAIAAAABAgAAABtBY2NvdW50IHN1c3BlbmRlZC8gcmVtb3ZlZC4DAwkAAAAAAAACBQAAAAljYW5VcGRhdGUCAAAAAAYJAAAAAAAAAgUAAAAJY2FuVXBkYXRlBQAAAAt1c2VyQWxsb3dlZAkAAAIAAAABAgAAAA5SZWdpc3RlciBmaXJzdAMDCQAAAAAAAAIFAAAABG5hbWUCAAAAAAYJAAAAAAAAAgUAAAALZGVzY3JpcHRpb24CAAAAAAkAAAIAAAABAgAAACJOYW1lICYgZGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5AwkAAGYAAAACCQABMQAAAAEFAAAAC2Rlc2NyaXB0aW9uAAAAAAAAAAJYCQAAAgAAAAECAAAAHTYwMCBDaGFyLiBtYXggZm9yIGRlc2NyaXB0aW9uAwkAAGYAAAACCQABMQAAAAEFAAAABG5hbWUAAAAAAAAAAC0JAAACAAAAAQIAAAARNDUgQ2hhci4gbWF4IG5hbWUEAAAABGRhdGUJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAALa2V5VXNlckRhdGUAAAABBQAAAAZjYWxsZXIEAAAABGpzb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3sidXNlcl9uYW1lIjogIgkAAloAAAABCQABmwAAAAEFAAAABG5hbWUCAAAAESIsICJ1c2VyX3RodW1iIjoiCQACWgAAAAEJAAGbAAAAAQUAAAAFdGh1bWICAAAADyIsInVzZXJfZGF0ZSI6IgkAAaQAAAABBQAAAARkYXRlAgAAAAIifQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5VXNlck5hbWUAAAABBQAAAAZjYWxsZXIFAAAABG5hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2tleVVzZXJEZXNjAAAAAQUAAAAGY2FsbGVyBQAAAAtkZXNjcmlwdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAANa2V5VXNlclNvY2lhbAAAAAEFAAAABmNhbGxlcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAxrZXlVc2VyVGh1bWIAAAABBQAAAAZjYWxsZXIFAAAABXRodW1iCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAljYW5VcGRhdGUCAAAAAV8FAAAABmNhbGxlcgUAAAAEanNvbgUAAAADbmlsAAAAAWkBAAAAEGNoYW5nZVVzZXJTdGF0dXMAAAACAAAAB2FkZHJlc3MAAAAGc3RhdHVzAwkBAAAAASEAAAABBQAAAAtkYXBwUnVubmluZwkAAAIAAAABBQAAAA5tYWludGVuYW5jZU1TRwQAAAAGY2FsbGVyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAANY3VycmVudFN0YXR1cwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADWtleVVzZXJTdGF0dXMAAAABBQAAAAdhZGRyZXNzBAAAAAtzdGF0dXNUb1NldAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAx1c2VyVmVyaWZpZWQFAAAADHVzZXJWZXJpZmllZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA51c2VyUmVnaXN0ZXJlZAUAAAAOdXNlclJlZ2lzdGVyZWQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAANdXNlclN1c3BlbmRlZAUAAAANdXNlclN1c3BlbmRlZAMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyUmVtb3ZlZAUAAAALdXNlclJlbW92ZWQDCQAAAAAAAAIFAAAABnN0YXR1cwUAAAALdXNlckFsbG93ZWQFAAAAC3VzZXJBbGxvd2VkAwkAAAAAAAACBQAAAAZzdGF0dXMFAAAAEnVzZXJDaGFuZ2VSZXF1aXJlZAUAAAASdXNlckNoYW5nZVJlcXVpcmVkAwMJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAl1c2VyUmVzZXQJAAAAAAAAAgUAAAANY3VycmVudFN0YXR1cwUAAAALdXNlckFsbG93ZWQHAgAAAAAJAAACAAAAAQIAAAAOVW5rbm93biBzdGF0dXMEAAAAEHVzZXJJc1JlZ2lzdGVyZWQJAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABCQEAAAALa2V5VXNlckRhdGUAAAABBQAAAAdhZGRyZXNzAwMJAAAAAAAAAgUAAAAQdXNlcklzUmVnaXN0ZXJlZAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAt1c2VyQWxsb3dlZAcJAAACAAAAAQIAAAAxWW91IGNhbnQgc2V0IHRoaXMgc3RhdHVzLCB1c2VyIGlzIG5vdCByZWdpc3RlcmVkLgMDCQAAAAAAAAIFAAAADWN1cnJlbnRTdGF0dXMFAAAAC3VzZXJBbGxvd2VkCQAAAAAAAAIFAAAABnN0YXR1cwUAAAALdXNlckFsbG93ZWQHCQAAAgAAAAECAAAAFFVzZXIgYWxyZWFkeSBhbGxvd2VkAwMJAAAAAAAAAgUAAAANY3VycmVudFN0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", "height": 1319857, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6zPCs5w7cakVvN2fdCGfUoGSeuAmZ9bjVCuvjrHxkWK1 Next: 2LSYyjv5ZoECvmqcw1bCg5A53zEtnYH59CdLTJ7rsuN2 Diff:
OldNewDifferences
199199 then throw("600 Char. max for description")
200200 else if ((size(M) > 45))
201201 then throw("45 Char. max name")
202- else [StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O)]
202+ else {
203+ let U = w(H(B))
204+ let S = (((((("{\"user_name\": \"" + toBase64String(toBytes(M))) + "\", \"user_thumb\":\"") + toBase64String(toBytes(O))) + "\",\"user_date\":\"") + toString(U)) + "\"}")
205+[StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O), StringEntry(((T + "_") + B), S)]
206+ }
203207 }
204208
205209
206210
207211 @Callable(x)
208-func changeUserStatus (U,V) = if (!(g))
212+func changeUserStatus (V,W) = if (!(g))
209213 then throw(j)
210214 else {
211215 let B = toString(addressFromPublicKey(x.callerPublicKey))
212216 let K = toBase58String(x.transactionId)
213- let W = t(G(U))
214- let X = if ((V == n))
217+ let X = t(G(V))
218+ let Y = if ((W == n))
215219 then n
216- else if ((V == m))
220+ else if ((W == m))
217221 then m
218- else if ((V == o))
222+ else if ((W == o))
219223 then o
220- else if ((V == p))
224+ else if ((W == p))
221225 then p
222- else if ((V == l))
226+ else if ((W == l))
223227 then l
224- else if ((V == q))
228+ else if ((W == q))
225229 then q
226- else if (if ((V == s))
227- then (W == l)
230+ else if (if ((W == s))
231+ then (X == l)
228232 else false)
229233 then ""
230234 else throw("Unknown status")
231- let Y = w(H(U))
232- if (if ((Y == 0))
233- then (V != l)
235+ let Z = w(H(V))
236+ if (if ((Z == 0))
237+ then (W != l)
234238 else false)
235239 then throw("You cant set this status, user is not registered.")
236- else if (if ((W == l))
237- then (V == l)
240+ else if (if ((X == l))
241+ then (W == l)
238242 else false)
239243 then throw("User already allowed")
240- else if (if ((W == m))
241- then (V == l)
244+ else if (if ((X == m))
245+ then (W == l)
242246 else false)
243247 then throw("User already allowed & registered")
244- else if (if ((W == n))
245- then (V == l)
248+ else if (if ((X == n))
249+ then (W == l)
246250 else false)
247251 then throw("User already allowed & verified")
248252 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+ let M = toBase64String(toBytes(t(C(V))))
254+ let O = toBase64String(toBytes(t(F(V))))
255+ let U = w(H(V))
256+ let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(U)) + "\"}")
253257 if (containsElement([b, c, toString(this)], B))
254- then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
258+ then [StringEntry(G(V), Y), DeleteEntry(((X + "_") + V)), StringEntry(((Y + "_") + V), S)]
255259 else throw("Not allowed to change user status")
256260 }
257261 }
259263
260264
261265 @Callable(x)
262-func deleteUser (U) = {
266+func deleteUser (V) = {
263267 let B = toString(addressFromPublicKey(x.callerPublicKey))
264268 let K = toBase58String(x.transactionId)
265- let W = t(G(U))
269+ let X = t(G(V))
266270 if (containsElement([b, toString(this)], B))
267- 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)]
271+ then [DeleteEntry(H(V)), DeleteEntry(A(V)), DeleteEntry(C(V)), DeleteEntry(D(V)), DeleteEntry(E(V)), DeleteEntry(F(V)), DeleteEntry(((X + "_") + V)), StringEntry(G(V), p)]
268272 else throw("Not allowed")
269273 }
270274
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")
202- else [StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O)]
202+ else {
203+ let U = w(H(B))
204+ let S = (((((("{\"user_name\": \"" + toBase64String(toBytes(M))) + "\", \"user_thumb\":\"") + toBase64String(toBytes(O))) + "\",\"user_date\":\"") + toString(U)) + "\"}")
205+[StringEntry(C(B), M), StringEntry(D(B), N), StringEntry(E(B), P), StringEntry(F(B), O), StringEntry(((T + "_") + B), S)]
206+ }
203207 }
204208
205209
206210
207211 @Callable(x)
208-func changeUserStatus (U,V) = if (!(g))
212+func changeUserStatus (V,W) = if (!(g))
209213 then throw(j)
210214 else {
211215 let B = toString(addressFromPublicKey(x.callerPublicKey))
212216 let K = toBase58String(x.transactionId)
213- let W = t(G(U))
214- let X = if ((V == n))
217+ let X = t(G(V))
218+ let Y = if ((W == n))
215219 then n
216- else if ((V == m))
220+ else if ((W == m))
217221 then m
218- else if ((V == o))
222+ else if ((W == o))
219223 then o
220- else if ((V == p))
224+ else if ((W == p))
221225 then p
222- else if ((V == l))
226+ else if ((W == l))
223227 then l
224- else if ((V == q))
228+ else if ((W == q))
225229 then q
226- else if (if ((V == s))
227- then (W == l)
230+ else if (if ((W == s))
231+ then (X == l)
228232 else false)
229233 then ""
230234 else throw("Unknown status")
231- let Y = w(H(U))
232- if (if ((Y == 0))
233- then (V != l)
235+ let Z = w(H(V))
236+ if (if ((Z == 0))
237+ then (W != l)
234238 else false)
235239 then throw("You cant set this status, user is not registered.")
236- else if (if ((W == l))
237- then (V == l)
240+ else if (if ((X == l))
241+ then (W == l)
238242 else false)
239243 then throw("User already allowed")
240- else if (if ((W == m))
241- then (V == l)
244+ else if (if ((X == m))
245+ then (W == l)
242246 else false)
243247 then throw("User already allowed & registered")
244- else if (if ((W == n))
245- then (V == l)
248+ else if (if ((X == n))
249+ then (W == l)
246250 else false)
247251 then throw("User already allowed & verified")
248252 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+ let M = toBase64String(toBytes(t(C(V))))
254+ let O = toBase64String(toBytes(t(F(V))))
255+ let U = w(H(V))
256+ let S = (((((("{\"user_name\": \"" + M) + "\", \"user_thumb\":\"") + O) + "\",\"user_date\":\"") + toString(U)) + "\"}")
253257 if (containsElement([b, c, toString(this)], B))
254- then [StringEntry(G(U), X), DeleteEntry(((W + "_") + U)), StringEntry(((X + "_") + U), S)]
258+ then [StringEntry(G(V), Y), DeleteEntry(((X + "_") + V)), StringEntry(((Y + "_") + V), S)]
255259 else throw("Not allowed to change user status")
256260 }
257261 }
258262
259263
260264
261265 @Callable(x)
262-func deleteUser (U) = {
266+func deleteUser (V) = {
263267 let B = toString(addressFromPublicKey(x.callerPublicKey))
264268 let K = toBase58String(x.transactionId)
265- let W = t(G(U))
269+ let X = t(G(V))
266270 if (containsElement([b, toString(this)], B))
267- 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)]
271+ then [DeleteEntry(H(V)), DeleteEntry(A(V)), DeleteEntry(C(V)), DeleteEntry(D(V)), DeleteEntry(E(V)), DeleteEntry(F(V)), DeleteEntry(((X + "_") + V)), StringEntry(G(V), p)]
268272 else throw("Not allowed")
269273 }
270274
271275

github/deemru/w8io/c3f4982 
49.76 ms