tx · 8xJT4YYGVjt3ykdwu7SNGvV24L6RQxyVipX1zmeZn513

3MzLFtW4HAnHScA7x9AoxtiiPrGPLyKdK5f:  -0.01400000 Waves

2021.01.10 11:51 [1347113] smart account 3MzLFtW4HAnHScA7x9AoxtiiPrGPLyKdK5f > SELF 0.00000000 Waves

{ "type": 13, "id": "8xJT4YYGVjt3ykdwu7SNGvV24L6RQxyVipX1zmeZn513", "fee": 1400000, "feeAssetId": null, "timestamp": 1610268785862, "version": 2, "chainId": 84, "sender": "3MzLFtW4HAnHScA7x9AoxtiiPrGPLyKdK5f", "senderPublicKey": "6wBzB7Bw3oZwcxqF44P6x9GRDda14XkVXQdfCQSAWpeP", "proofs": [ "5hEAgVW27akM2QoEVzhScCkwdEmNrwd7yAJzWSweNREr74m1Wh4nuhUqByWv44Uu7LWVsNqVz7oFgqSfwb3RsPLD" ], "script": "base64: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", "height": 1347113, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5aCdcKYHsh24jqy7W7GZx1hp6zUPMR5yuwiRt7ZjMrGL Next: 3c2xPB8Q5EEee9DTQiAwBVP4wbdJh9YLzh86zb8Yt5XY Diff:
OldNewDifferences
1717 func keyUserStatus (caller) = ("user_" + caller)
1818
1919
20+func keyUserMessage (caller) = ("msg_" + caller)
21+
22+
23+func keyUserUpdate (caller) = ("update_" + caller)
24+
25+
26+func makeJSON (statusToSet,msg,timestamp) = (((((("{\"status\": \"" + statusToSet) + "\", \"message\":\"") + msg) + "\",\"timestamp\":\"") + timestamp) + "\"}")
27+
28+
2029 @Callable(i)
2130 func setStatus (address,status,msg) = {
2231 let caller = toString(addressFromPublicKey(i.callerPublicKey))
3140 else false)
3241 then throw("Application exist already")
3342 else if (containsElement([chris, joep, toString(this)], caller))
34- then [StringEntry((keyUserStatus(address) + toString(timestamp)), statusToSet), StringEntry((("message_" + address) + toString(timestamp)), msg)]
43+ then [StringEntry(keyUserStatus(address), makeJSON(address, toBase64String(toBytes(msg)), toString(timestamp)))]
3544 else throw("Not allowed to change user status")
3645 }
3746
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let chris = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
55
66 let joep = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
77
88 let received = "RECEIVED"
99
1010 let rejected = "REJECTED"
1111
1212 let accepted = "ACCEPTED"
1313
1414 func getStringByKey (key) = valueOrElse(getString(this, key), "")
1515
1616
1717 func keyUserStatus (caller) = ("user_" + caller)
1818
1919
20+func keyUserMessage (caller) = ("msg_" + caller)
21+
22+
23+func keyUserUpdate (caller) = ("update_" + caller)
24+
25+
26+func makeJSON (statusToSet,msg,timestamp) = (((((("{\"status\": \"" + statusToSet) + "\", \"message\":\"") + msg) + "\",\"timestamp\":\"") + timestamp) + "\"}")
27+
28+
2029 @Callable(i)
2130 func setStatus (address,status,msg) = {
2231 let caller = toString(addressFromPublicKey(i.callerPublicKey))
2332 let id = toBase58String(i.transactionId)
2433 let currentStatus = getStringByKey(keyUserStatus(address))
2534 let timestamp = lastBlock.timestamp
2635 let statusToSet = if (containsElement([received, rejected, accepted], status))
2736 then status
2837 else throw("Unknown status")
2938 if (if ((currentStatus == received))
3039 then (status == received)
3140 else false)
3241 then throw("Application exist already")
3342 else if (containsElement([chris, joep, toString(this)], caller))
34- then [StringEntry((keyUserStatus(address) + toString(timestamp)), statusToSet), StringEntry((("message_" + address) + toString(timestamp)), msg)]
43+ then [StringEntry(keyUserStatus(address), makeJSON(address, toBase64String(toBytes(msg)), toString(timestamp)))]
3544 else throw("Not allowed to change user status")
3645 }
3746
3847

github/deemru/w8io/169f3d6 
70.35 ms