tx · 8MLvnGT8QRwu1mmAiNBP6MPqwDBCL7zTyN2nga574mnr

3P7bATTj2FjsT3F8ruFnbBwrPWCMEP8UPhE:  -0.00600000 Waves

2022.07.09 17:15 [3197873] smart account 3P7bATTj2FjsT3F8ruFnbBwrPWCMEP8UPhE > SELF 0.00000000 Waves

{ "type": 13, "id": "8MLvnGT8QRwu1mmAiNBP6MPqwDBCL7zTyN2nga574mnr", "fee": 600000, "feeAssetId": null, "timestamp": 1657376149390, "version": 2, "chainId": 87, "sender": "3P7bATTj2FjsT3F8ruFnbBwrPWCMEP8UPhE", "senderPublicKey": "49kbLTtWXVa1N9qfSUWQ68xvw9VHurdMky9CsEujcZ1W", "proofs": [ "2TTis9Joh1X6K4258VkjnBhBPrdDgGcwQxRuiXiky8SxWb2YmcBEMMTRdBe4eN1MzzYvH6DVoHStYiZrsh4mWe4" ], "script": "base64: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", "height": 3197873, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func tryGetInteger (key) = match getInteger(this, key) {
5+ case b: Int =>
6+ b
7+ case _ =>
8+ 0
9+}
10+
11+
12+func getVotePower (user) = match getInteger(addressFromStringValue("3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS"), (user + "_staked")) {
13+ case val: Int =>
14+ val
15+ case _ =>
16+ throw("you don't have staked PUZZLE")
17+}
18+
19+
20+@Callable(i)
21+func voteFor () = {
22+ let user = toString(i.caller)
23+ let power = getVotePower(user)
24+ let previousVote = tryGetInteger((user + "_voted"))
25+[IntegerEntry((user + "_voted"), power), IntegerEntry("total_value", ((tryGetInteger("total_value") + power) - previousVote)), IntegerEntry("users_voted", (tryGetInteger("users_voted") + (if ((previousVote > 0))
26+ then 0
27+ else 1)))]
28+ }
29+
30+
31+
32+@Callable(i)
33+func voteAgainst () = {
34+ let user = toString(i.caller)
35+ let power = getVotePower(user)
36+ let previousVote = tryGetInteger((user + "_voted"))
37+[IntegerEntry((user + "_voted"), -(power)), IntegerEntry("total_value", ((tryGetInteger("total_value") - power) - previousVote)), IntegerEntry("users_voted", (tryGetInteger("users_voted") + (if ((previousVote > 0))
38+ then 0
39+ else 1)))]
40+ }
41+
42+
43+
44+@Callable(i)
45+func getResults () = {
46+ let totalValue = tryGetInteger("total_value")
47+ let usersVoted = toString(tryGetInteger("users_voted"))
48+ throw(((((("current result: " + usersVoted) + " users voted, proposal will be likely ") + (if ((totalValue > 0))
49+ then "accepted"
50+ else "rejected")) + " with a score of ") + toString((totalValue / 100000000))))
51+ }
52+
53+
54+@Verifier(tx)
55+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
56+

github/deemru/w8io/6500d08 
17.59 ms