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:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func getNumberByKey (key) = match getInteger(this, key) {
5- case a: Int =>
6- a
7- case _ =>
8- 0
9-}
10-
11-
124 func getStringByKey (key) = match getString(this, key) {
135 case a: String =>
146 a
179 }
1810
1911
20-func getBoolByKey (key) = match getBoolean(this, key) {
21- case a: Boolean =>
22- a
23- case _ =>
24- false
25-}
26-
27-
2812 let userCreated = "CREATED"
2913
3014 let userSuspended = "SUSPENDED"
3115
3216 @Callable(i)
33-func registerUser (name,description,social,thumb) = {
17+func registerUpdateUser (name,description,thumb,social) = {
3418 let callerAddr = toString(addressFromPublicKey(i.callerPublicKey))
3519 let id = toBase58String(i.transactionId)
3620 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)])
5028 }
5129
5230
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func getNumberByKey (key) = match getInteger(this, key) {
5- case a: Int =>
6- a
7- case _ =>
8- 0
9-}
10-
11-
124 func getStringByKey (key) = match getString(this, key) {
135 case a: String =>
146 a
157 case _ =>
168 ""
179 }
1810
1911
20-func getBoolByKey (key) = match getBoolean(this, key) {
21- case a: Boolean =>
22- a
23- case _ =>
24- false
25-}
26-
27-
2812 let userCreated = "CREATED"
2913
3014 let userSuspended = "SUSPENDED"
3115
3216 @Callable(i)
33-func registerUser (name,description,social,thumb) = {
17+func registerUpdateUser (name,description,thumb,social) = {
3418 let callerAddr = toString(addressFromPublicKey(i.callerPublicKey))
3519 let id = toBase58String(i.transactionId)
3620 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)])
5028 }
5129
5230

github/deemru/w8io/873ac7e 
18.22 ms