tx · JDF12wDaoKN5UTg7hPNGzsxVj5kpoWYPA4RR5ofbpkDL 3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV: -0.01400000 Waves 2020.07.21 12:47 [1097070] smart account 3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV > SELF 0.00000000 Waves
{ "type": 13, "id": "JDF12wDaoKN5UTg7hPNGzsxVj5kpoWYPA4RR5ofbpkDL", "fee": 1400000, "feeAssetId": null, "timestamp": 1595324880682, "version": 1, "sender": "3N1bfGrC9iBWbv1Rhb64cccc3cQswW8VyCV", "senderPublicKey": "BF56eooJyMKnwSL3B65fqLBFPfubUbW6wdky9pCGQajE", "proofs": [ "45cfdZeWxTCG1HS3heEzJbPkqTuVPhtfU4WdubY3kL6ckkQrTgTdTNmnmbi7ETubNrNtBdxFEGLijPWpunLSakU1" ], "script": "base64:AAIDAAAAAAAAAAoIARIGCgQICAgIAAAAAwEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAAAAAAt1c2VyQ3JlYXRlZAIAAAAHQ1JFQVRFRAAAAAANdXNlclN1c3BlbmRlZAIAAAAJU1VTUEVOREVEAAAAAQAAAAFpAQAAABJyZWdpc3RlclVwZGF0ZVVzZXIAAAAEAAAABG5hbWUAAAALZGVzY3JpcHRpb24AAAAFdGh1bWIAAAAGc29jaWFsBAAAAApjYWxsZXJBZGRyCQAEJQAAAAEJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAACaWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAHbmV3VXNlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkAASwAAAACAgAAAAV1c2VyXwUAAAAKY2FsbGVyQWRkcgMJAAAAAAAAAgUAAAAHbmV3VXNlcgIAAAAAAwMJAAAAAAAAAgUAAAAEbmFtZQIAAAAABgkAAAAAAAACBQAAAAtkZXNjcmlwdGlvbgIAAAAACQAAAgAAAAECAAAAJE5hbWUgYW5kIGRlc2NyaXB0aW9uIGNhbm5vdCBiZSBlbXB0eQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAV1c2VyXwUAAAAKY2FsbGVyQWRkcgkAASwAAAACCQABLAAAAAIFAAAAAmlkAgAAAAFfCQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAACnVzZXJfbmFtZV8FAAAACmNhbGxlckFkZHIFAAAABG5hbWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAKdXNlcl9kZXNjXwUAAAAKY2FsbGVyQWRkcgUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAMdXNlcl9zb2NpYWxfBQAAAApjYWxsZXJBZGRyBQAAAAZzb2NpYWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAALdXNlcl90aHVtYl8FAAAACmNhbGxlckFkZHIFAAAABXRodW1iCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADHVzZXJfc3RhdHVzXwUAAAAKY2FsbGVyQWRkcgUAAAALdXNlckNyZWF0ZWQFAAAAA25pbAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAAAp1c2VyX25hbWVfBQAAAApjYWxsZXJBZGRyBQAAAARuYW1lCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAACnVzZXJfZGVzY18FAAAACmNhbGxlckFkZHIFAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAADHVzZXJfc29jaWFsXwUAAAAKY2FsbGVyQWRkcgUAAAAGc29jaWFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAC3VzZXJfdGh1bWJfBQAAAApjYWxsZXJBZGRyBQAAAAV0aHVtYgUAAAADbmlsAAAAAAkVhuY=", "chainId": 84, "height": 1097070, "spentComplexity": 0 } View: original | compacted Prev: 4MKMPVS2fNroh4Eu9rGne7XCupDKZ14YDz7xVogmAoyP Next: F2Yy8Au4ez5UxSzXWFYmjXfHBpkAiz3Hcrtq7QgxZydm Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func getNumberByKey (key) = match getInteger(this, key) { | |
5 | - | case a: Int => | |
6 | - | a | |
7 | - | case _ => | |
8 | - | 0 | |
9 | - | } | |
10 | - | ||
11 | - | ||
12 | 4 | func getStringByKey (key) = match getString(this, key) { | |
13 | 5 | case a: String => | |
14 | 6 | a | |
17 | 9 | } | |
18 | 10 | ||
19 | 11 | ||
20 | - | func getBoolByKey (key) = match getBoolean(this, key) { | |
21 | - | case a: Boolean => | |
22 | - | a | |
23 | - | case _ => | |
24 | - | false | |
25 | - | } | |
26 | - | ||
27 | - | ||
28 | 12 | let userCreated = "CREATED" | |
29 | 13 | ||
30 | 14 | let userSuspended = "SUSPENDED" | |
31 | 15 | ||
32 | 16 | @Callable(i) | |
33 | - | func | |
17 | + | func registerUpdateUser (name,description,thumb,social) = { | |
34 | 18 | let callerAddr = toString(addressFromPublicKey(i.callerPublicKey)) | |
35 | 19 | let id = toBase58String(i.transactionId) | |
36 | 20 | let newUser = getStringByKey(("user_" + callerAddr)) | |
37 | - | if (if ((name == "")) | |
38 | - | then true | |
39 | - | else (description == "")) | |
40 | - | then throw("Name and description cannot be empty") | |
41 | - | else { | |
42 | - | let entriesName = DataEntry(("user_name_" + callerAddr), name) | |
43 | - | let entryDesc = DataEntry(("user_desc_" + callerAddr), description) | |
44 | - | let entrySocial = DataEntry(("user_social_" + callerAddr), social) | |
45 | - | let entryThumb = DataEntry(("user_thumb_" + callerAddr), thumb) | |
46 | - | if ((newUser == "")) | |
47 | - | then WriteSet([entriesName, entryDesc, entrySocial, entryThumb, DataEntry(("user_" + callerAddr), id)]) | |
48 | - | else WriteSet([entriesName, entryDesc, entrySocial, entryThumb]) | |
49 | - | } | |
21 | + | if ((newUser == "")) | |
22 | + | then if (if ((name == "")) | |
23 | + | then true | |
24 | + | else (description == "")) | |
25 | + | then throw("Name and description cannot be empty") | |
26 | + | else WriteSet([DataEntry(("user_" + callerAddr), ((id + "_") + toString(lastBlock.timestamp))), DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb), DataEntry(("user_status_" + callerAddr), userCreated)]) | |
27 | + | else WriteSet([DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb)]) | |
50 | 28 | } | |
51 | 29 | ||
52 | 30 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | func getNumberByKey (key) = match getInteger(this, key) { | |
5 | - | case a: Int => | |
6 | - | a | |
7 | - | case _ => | |
8 | - | 0 | |
9 | - | } | |
10 | - | ||
11 | - | ||
12 | 4 | func getStringByKey (key) = match getString(this, key) { | |
13 | 5 | case a: String => | |
14 | 6 | a | |
15 | 7 | case _ => | |
16 | 8 | "" | |
17 | 9 | } | |
18 | 10 | ||
19 | 11 | ||
20 | - | func getBoolByKey (key) = match getBoolean(this, key) { | |
21 | - | case a: Boolean => | |
22 | - | a | |
23 | - | case _ => | |
24 | - | false | |
25 | - | } | |
26 | - | ||
27 | - | ||
28 | 12 | let userCreated = "CREATED" | |
29 | 13 | ||
30 | 14 | let userSuspended = "SUSPENDED" | |
31 | 15 | ||
32 | 16 | @Callable(i) | |
33 | - | func | |
17 | + | func registerUpdateUser (name,description,thumb,social) = { | |
34 | 18 | let callerAddr = toString(addressFromPublicKey(i.callerPublicKey)) | |
35 | 19 | let id = toBase58String(i.transactionId) | |
36 | 20 | let newUser = getStringByKey(("user_" + callerAddr)) | |
37 | - | if (if ((name == "")) | |
38 | - | then true | |
39 | - | else (description == "")) | |
40 | - | then throw("Name and description cannot be empty") | |
41 | - | else { | |
42 | - | let entriesName = DataEntry(("user_name_" + callerAddr), name) | |
43 | - | let entryDesc = DataEntry(("user_desc_" + callerAddr), description) | |
44 | - | let entrySocial = DataEntry(("user_social_" + callerAddr), social) | |
45 | - | let entryThumb = DataEntry(("user_thumb_" + callerAddr), thumb) | |
46 | - | if ((newUser == "")) | |
47 | - | then WriteSet([entriesName, entryDesc, entrySocial, entryThumb, DataEntry(("user_" + callerAddr), id)]) | |
48 | - | else WriteSet([entriesName, entryDesc, entrySocial, entryThumb]) | |
49 | - | } | |
21 | + | if ((newUser == "")) | |
22 | + | then if (if ((name == "")) | |
23 | + | then true | |
24 | + | else (description == "")) | |
25 | + | then throw("Name and description cannot be empty") | |
26 | + | else WriteSet([DataEntry(("user_" + callerAddr), ((id + "_") + toString(lastBlock.timestamp))), DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb), DataEntry(("user_status_" + callerAddr), userCreated)]) | |
27 | + | else WriteSet([DataEntry(("user_name_" + callerAddr), name), DataEntry(("user_desc_" + callerAddr), description), DataEntry(("user_social_" + callerAddr), social), DataEntry(("user_thumb_" + callerAddr), thumb)]) | |
50 | 28 | } | |
51 | 29 | ||
52 | 30 |
github/deemru/w8io/873ac7e 18.22 ms ◑