tx · FG2ECuh6Htir7H3eCWd9nczZhZdGZ8MHLcUoZ3hftmRf

3MzVhsmmU8n1axekFJk1BRNwrmnCMH6Mn8F:  -0.01400000 Waves

2020.12.23 10:05 [1321026] smart account 3MzVhsmmU8n1axekFJk1BRNwrmnCMH6Mn8F > SELF 0.00000000 Waves

{ "type": 13, "id": "FG2ECuh6Htir7H3eCWd9nczZhZdGZ8MHLcUoZ3hftmRf", "fee": 1400000, "feeAssetId": null, "timestamp": 1608707159565, "version": 2, "chainId": 84, "sender": "3MzVhsmmU8n1axekFJk1BRNwrmnCMH6Mn8F", "senderPublicKey": "BD4MG678RaEECe5SYy1VabTHRAVY4Tihcqkv8uCb16TZ", "proofs": [ "CNQrnMh115dxy7WTYZZMgz1TWFYoBdCidzL3vdZpGhjjGetdJa7CzJ9F2wMRi7qHsttm5FEKRiJy7RNiYsQt2uq" ], "script": "base64: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", "height": 1321026, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func getStringByKey (key) = match getString(this, key) {
5+ case a: String =>
6+ a
7+ case _ =>
8+ ""
9+}
10+
11+
12+func getBooleanByKey (key) = match getBoolean(this, key) {
13+ case a: Boolean =>
14+ a
15+ case _ =>
16+ false
17+}
18+
19+
20+func getIntegerByKey (key) = match getInteger(this, key) {
21+ case i: Int =>
22+ i
23+ case _ =>
24+ 0
25+}
26+
27+
28+func keyUserAddr (caller) = ("user_" + caller)
29+
30+
31+func keyUserName (caller) = ("user_name_" + caller)
32+
33+
34+func keyUserDesc (caller) = ("user_desc_" + caller)
35+
36+
37+func keyUserSocial (caller) = ("user_social_" + caller)
38+
39+
40+func keyUserThumb (caller) = ("user_thumb_" + caller)
41+
42+
43+func keyUserStatus (caller) = ("user_status_" + caller)
44+
45+
46+func keyUserDate (caller) = ("user_date_" + caller)
47+
48+
49+@Callable(i)
50+func registerUser (name,description,thumb,social,status) = {
51+ let caller = toString(addressFromPublicKey(i.callerPublicKey))
52+ let canRegister = getStringByKey(keyUserStatus(caller))
53+ let id = toBase58String(i.transactionId)
54+ let timestamp = lastBlock.timestamp
55+ if (if ((name == ""))
56+ then true
57+ else (description == ""))
58+ then throw("Name and description cannot be empty")
59+ else if ((size(description) > 600))
60+ then throw("600 Char. max description")
61+ else if ((size(name) > 45))
62+ then throw("45 Char. max name")
63+ else {
64+ let json = (((((("{\"user_name\": \"" + toBase64String(toBytes(name))) + "\", \"user_thumb\":\"") + toBase64String(toBytes(thumb))) + "\",\"user_date\":\"") + toString(timestamp)) + "\"}")
65+[IntegerEntry(keyUserDate(caller), timestamp), StringEntry(keyUserAddr(caller), ((id + "_") + toString(timestamp))), StringEntry(keyUserName(caller), name), StringEntry(keyUserDesc(caller), description), StringEntry(keyUserSocial(caller), social), StringEntry(keyUserThumb(caller), thumb), StringEntry(keyUserStatus(caller), status), DeleteEntry(("ALLOWED_" + caller)), StringEntry(((status + "_") + caller), json)]
66+ }
67+ }
68+
69+

github/deemru/w8io/169f3d6 
20.31 ms