tx · 6fcRYCzvb6mLmjpGTEqqzn7ZXpaJQ5WcCUzG57Z3T8o9 3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj: -0.01000000 Waves 2024.02.06 12:14 [2964193] smart account 3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj > SELF 0.00000000 Waves
{ "type": 13, "id": "6fcRYCzvb6mLmjpGTEqqzn7ZXpaJQ5WcCUzG57Z3T8o9", "fee": 1000000, "feeAssetId": null, "timestamp": 1707210927156, "version": 2, "chainId": 84, "sender": "3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj", "senderPublicKey": "CgjXoHPsstPW1WBAcTeBgjKtLSNFmLbQ7pLJ19JzkCy9", "proofs": [ "4MPX6D96zY4cC9joAwuiRWviPPo5jdAFTQiwtcr3RAL4dhq7mEDgwoua6bJ46JMmurK1FWatD1bphDXrbht6x3TM" ], "script": "base64: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", "height": 2964193, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9WTWmrDj3xHekfa78f7sHmGLo7nPf5iyLiRKqVCabkvy Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = addressFromStringValue("3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV") | |
5 | + | ||
6 | + | func b (c) = { | |
7 | + | let d = getInteger(a, ("dao_user_" + c)) | |
8 | + | if ($isInstanceOf(d, "Int")) | |
9 | + | then { | |
10 | + | let e = d | |
11 | + | e | |
12 | + | } | |
13 | + | else -1 | |
14 | + | } | |
15 | + | ||
16 | + | ||
17 | + | func f (g,c) = { | |
18 | + | let d = getBoolean(this, (((g + "_") + c) + "_voted")) | |
19 | + | if ($isInstanceOf(d, "Boolean")) | |
20 | + | then { | |
21 | + | let h = d | |
22 | + | h | |
23 | + | } | |
24 | + | else false | |
25 | + | } | |
26 | + | ||
27 | + | ||
28 | + | func i (g) = { | |
29 | + | let d = getInteger(this, (g + "_yes")) | |
30 | + | if ($isInstanceOf(d, "Int")) | |
31 | + | then { | |
32 | + | let e = d | |
33 | + | e | |
34 | + | } | |
35 | + | else -1 | |
36 | + | } | |
37 | + | ||
38 | + | ||
39 | + | func j (g) = { | |
40 | + | let d = getInteger(this, (g + "_no")) | |
41 | + | if ($isInstanceOf(d, "Int")) | |
42 | + | then { | |
43 | + | let e = d | |
44 | + | e | |
45 | + | } | |
46 | + | else -1 | |
47 | + | } | |
48 | + | ||
49 | + | ||
50 | + | @Callable(e) | |
51 | + | func registerVote (k,l,m) = { | |
52 | + | let g = toBase58String(e.transactionId) | |
53 | + | let n = (height + 7200) | |
54 | + | [IntegerEntry((g + "_endHeight"), n), StringEntry((g + "_title"), k), StringEntry((g + "_description"), l), StringEntry((g + "_link"), m), IntegerEntry((g + "_yes"), 0), IntegerEntry((g + "_no"), 0)] | |
55 | + | } | |
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | @Callable(e) | |
60 | + | func yes (g) = { | |
61 | + | let o = toBase58String(e.callerPublicKey) | |
62 | + | let p = i(g) | |
63 | + | let q = b(o) | |
64 | + | let r = f(g, o) | |
65 | + | if ((p == -1)) | |
66 | + | then throw("Vote not found!") | |
67 | + | else if (r) | |
68 | + | then throw("Address already voted!") | |
69 | + | else [IntegerEntry((g + "_yes"), (p + q)), IntegerEntry((((g + "_") + o) + "_yes"), q), BooleanEntry((((g + "_") + o) + "_voted"), true)] | |
70 | + | } | |
71 | + | ||
72 | + | ||
73 | + | ||
74 | + | @Callable(e) | |
75 | + | func no (g) = { | |
76 | + | let o = toBase58String(e.callerPublicKey) | |
77 | + | let s = j(g) | |
78 | + | let q = b(o) | |
79 | + | let r = f(g, o) | |
80 | + | if ((s == -1)) | |
81 | + | then throw("Vote not found!") | |
82 | + | else if (r) | |
83 | + | then throw("Address already voted!") | |
84 | + | else [IntegerEntry((g + "_no"), (s + q)), IntegerEntry((((g + "_") + o) + "_no"), q), BooleanEntry((((g + "_") + o) + "_voted"), true)] | |
85 | + | } | |
86 | + | ||
87 | + | ||
88 | + | ||
89 | + | @Callable(e) | |
90 | + | func retractVote (g) = { | |
91 | + | let o = toBase58String(e.callerPublicKey) | |
92 | + | let s = j(g) | |
93 | + | let p = i(g) | |
94 | + | let t = { | |
95 | + | let d = getInteger(this, (((g + "_") + o) + "_no")) | |
96 | + | if ($isInstanceOf(d, "Int")) | |
97 | + | then { | |
98 | + | let u = d | |
99 | + | u | |
100 | + | } | |
101 | + | else 0 | |
102 | + | } | |
103 | + | let v = { | |
104 | + | let d = getInteger(this, (((g + "_") + o) + "_yes")) | |
105 | + | if ($isInstanceOf(d, "Int")) | |
106 | + | then { | |
107 | + | let u = d | |
108 | + | u | |
109 | + | } | |
110 | + | else 0 | |
111 | + | } | |
112 | + | if (if ((p == -1)) | |
113 | + | then true | |
114 | + | else (s == -1)) | |
115 | + | then throw("No active vote for this vote id!") | |
116 | + | else [IntegerEntry((g + "_no"), (s - t)), IntegerEntry((g + "_yes"), (p - v)), IntegerEntry((((g + "_") + o) + "_no"), 0), IntegerEntry((((g + "_") + o) + "_yes"), 0), BooleanEntry((((g + "_") + o) + "_voted"), false)] | |
117 | + | } | |
118 | + | ||
119 | + | ||
120 | + | @Verifier(w) | |
121 | + | func x () = sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey) | |
122 | + |
github/deemru/w8io/169f3d6 22.35 ms ◑![]()