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:
Old | New | Differences | |
---|---|---|---|
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 ◑![]()