tx · 3NR2bBSTSVbF6VxoRHqrhpLFaSVAjzhM7KjC5Ng1R4C7 3N7oHnMaDFKYTEgumQs9mjRESDco6KhQiXW: -0.14000000 Waves 2023.05.10 10:28 [2571488] smart account 3N7oHnMaDFKYTEgumQs9mjRESDco6KhQiXW > SELF 0.00000000 Waves
{ "type": 13, "id": "3NR2bBSTSVbF6VxoRHqrhpLFaSVAjzhM7KjC5Ng1R4C7", "fee": 14000000, "feeAssetId": null, "timestamp": 1683703716638, "version": 2, "chainId": 84, "sender": "3N7oHnMaDFKYTEgumQs9mjRESDco6KhQiXW", "senderPublicKey": "2M6xzJiyT4ZPQhyMEQoo9GUqBsKBtgTD1BaZ8L4PfPVj", "proofs": [ "4h37eReyRKhdGfTSB6gKMALfJFwr7FKMsqcvHWgyn2JV7zTQZ8qPtwtymxMa8JHSSiMmdN9anFFWvUv4bf9FTst4", "4q61FuDw77NUxaL26tNMuUhiMa6PMP86RgFLwPKpMU5Vz2M1MtEPJX1XioK7FK9EGMq1dmXcVmNxTY9ig8jENm6V" ], "script": "base64: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", "height": 2571488, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HJyCe3cRGizPfVRVRcntKRaa87Xc4e1RrYuVfg64fURw Next: D5S7KpN2Ny8rKZQvDuyLJonk2p9hYcKgcJGLE8jPh96b Diff:
Old | New | Differences | |
---|---|---|---|
45 | 45 | func v (u,w) = valueOrElse(getInteger(this, (((toString(u) + g) + "_") + w)), 0) | |
46 | 46 | ||
47 | 47 | ||
48 | - | func x (u) = valueOrElse(getBoolean(this, (toString(u) + h)), false) | |
48 | + | func x (u,w) = valueOrElse(getBoolean(this, (((toString(u) + h) + "_") + w)), false) | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | func y (z) = valueOrElse(getInteger(this, z), 0) | |
78 | 78 | let I = y((w + m)) | |
79 | 79 | let J = y((w + n)) | |
80 | 80 | let K = v(C.caller, w) | |
81 | - | let L = x(C.caller) | |
81 | + | let L = x(C.caller, w) | |
82 | 82 | let M = t(C.caller) | |
83 | 83 | let N = M | |
84 | 84 | if ((0 > N)) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'2M6xzJiyT4ZPQhyMEQoo9GUqBsKBtgTD1BaZ8L4PfPVj' | |
5 | 5 | ||
6 | 6 | let b = base58'2M6xzJiyT4ZPQhyMEQoo9GUqBsKBtgTD1BaZ8L4PfPVj' | |
7 | 7 | ||
8 | 8 | let c = base58'2M6xzJiyT4ZPQhyMEQoo9GUqBsKBtgTD1BaZ8L4PfPVj' | |
9 | 9 | ||
10 | 10 | let d = base58'2M6xzJiyT4ZPQhyMEQoo9GUqBsKBtgTD1BaZ8L4PfPVj' | |
11 | 11 | ||
12 | 12 | let e = "active" | |
13 | 13 | ||
14 | 14 | let f = "shutdown_cause" | |
15 | 15 | ||
16 | 16 | let g = "_VOTE_amount" | |
17 | 17 | ||
18 | 18 | let h = "_VOTE" | |
19 | 19 | ||
20 | 20 | let i = "_total_VOTE_amount" | |
21 | 21 | ||
22 | 22 | let j = "vote_session" | |
23 | 23 | ||
24 | 24 | let k = "vote_start_height" | |
25 | 25 | ||
26 | 26 | let l = "vote_end_height" | |
27 | 27 | ||
28 | 28 | let m = "_yes_amount" | |
29 | 29 | ||
30 | 30 | let n = "_no_amount" | |
31 | 31 | ||
32 | 32 | let o = "_ENNO_amount" | |
33 | 33 | ||
34 | 34 | let p = "vote_name" | |
35 | 35 | ||
36 | 36 | let q = "vote_description" | |
37 | 37 | ||
38 | 38 | let r = valueOrElse(getBoolean(this, e), true) | |
39 | 39 | ||
40 | 40 | let s = addressFromPublicKey(base58'Ese6jz6mtrhgwJWdXbAxHNHg2qzae5D2xXWuVF7tLfs8') | |
41 | 41 | ||
42 | 42 | func t (u) = valueOrElse(getInteger(s, (toString(u) + o)), 0) | |
43 | 43 | ||
44 | 44 | ||
45 | 45 | func v (u,w) = valueOrElse(getInteger(this, (((toString(u) + g) + "_") + w)), 0) | |
46 | 46 | ||
47 | 47 | ||
48 | - | func x (u) = valueOrElse(getBoolean(this, (toString(u) + h)), false) | |
48 | + | func x (u,w) = valueOrElse(getBoolean(this, (((toString(u) + h) + "_") + w)), false) | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | func y (z) = valueOrElse(getInteger(this, z), 0) | |
52 | 52 | ||
53 | 53 | ||
54 | 54 | func A (B) = [BooleanEntry(e, false), StringEntry(f, B)] | |
55 | 55 | ||
56 | 56 | ||
57 | 57 | @Callable(C) | |
58 | 58 | func initVote (w,D,E,F,G) = if (!(r)) | |
59 | 59 | then throw("DApp is inactive at this moment") | |
60 | 60 | else if (!(containsElement([a, b, c, d], C.callerPublicKey))) | |
61 | 61 | then throw("Only admin can call this function") | |
62 | 62 | else [IntegerEntry(j, w), IntegerEntry(((k + "_") + toString(w)), D), IntegerEntry(((l + "_") + toString(w)), E), IntegerEntry((toString(w) + m), 0), IntegerEntry((toString(w) + n), 0), IntegerEntry((toString(w) + i), 0), StringEntry(((p + "_") + toString(w)), F), StringEntry(((q + "_") + toString(w)), G)] | |
63 | 63 | ||
64 | 64 | ||
65 | 65 | ||
66 | 66 | @Callable(C) | |
67 | 67 | func vote (H) = if (!(r)) | |
68 | 68 | then throw("DApp is inactive at this moment") | |
69 | 69 | else { | |
70 | 70 | let w = toString(y(j)) | |
71 | 71 | let D = y(((k + "_") + w)) | |
72 | 72 | let E = y(((l + "_") + w)) | |
73 | 73 | if ((D > height)) | |
74 | 74 | then throw(((("Voting has not started yet. Start: " + toString(D)) + "Height: ") + toString(height))) | |
75 | 75 | else if ((height > E)) | |
76 | 76 | then throw(((("Voting has already ended. End: " + toString(E)) + "Height: ") + toString(height))) | |
77 | 77 | else { | |
78 | 78 | let I = y((w + m)) | |
79 | 79 | let J = y((w + n)) | |
80 | 80 | let K = v(C.caller, w) | |
81 | - | let L = x(C.caller) | |
81 | + | let L = x(C.caller, w) | |
82 | 82 | let M = t(C.caller) | |
83 | 83 | let N = M | |
84 | 84 | if ((0 > N)) | |
85 | 85 | then throw("Vote must be more than 0") | |
86 | 86 | else if (if ((H == L)) | |
87 | 87 | then (K == M) | |
88 | 88 | else false) | |
89 | 89 | then throw("You have already voted. Stake more enno to update voting") | |
90 | 90 | else { | |
91 | 91 | let O = (I + (if (H) | |
92 | 92 | then M | |
93 | 93 | else -(K))) | |
94 | 94 | let P = (J + (if (!(H)) | |
95 | 95 | then M | |
96 | 96 | else -(K))) | |
97 | 97 | [IntegerEntry((((toString(C.caller) + g) + "_") + w), M), BooleanEntry((((toString(C.caller) + h) + "_") + w), H), IntegerEntry((w + m), O), IntegerEntry((w + n), P), IntegerEntry((w + i), (P + O))] | |
98 | 98 | } | |
99 | 99 | } | |
100 | 100 | } | |
101 | 101 | ||
102 | 102 | ||
103 | 103 | ||
104 | 104 | @Callable(C) | |
105 | 105 | func deleteData (Q,R,S,T,U) = if (!(containsElement([a, b, c, d], C.callerPublicKey))) | |
106 | 106 | then throw("Only admin can call this function") | |
107 | 107 | else [DeleteEntry(Q), DeleteEntry(R), DeleteEntry(S), DeleteEntry(T), DeleteEntry(U)] | |
108 | 108 | ||
109 | 109 | ||
110 | 110 | ||
111 | 111 | @Callable(C) | |
112 | 112 | func deleteVote () = [IntegerEntry((toString(y(j)) + m), 0), IntegerEntry((toString(y(j)) + n), 0), IntegerEntry((toString(y(j)) + i), 0)] | |
113 | 113 | ||
114 | 114 | ||
115 | 115 | ||
116 | 116 | @Callable(C) | |
117 | 117 | func deleteAddressData (V,W,X,Y,Z) = [DeleteEntry((((V + g) + "_") + toString(y(j)))), DeleteEntry((((V + h) + "_") + toString(y(j)))), DeleteEntry((((W + g) + "_") + toString(y(j)))), DeleteEntry((((W + h) + "_") + toString(y(j)))), DeleteEntry((((X + g) + "_") + toString(y(j)))), DeleteEntry((((X + h) + "_") + toString(y(j)))), DeleteEntry((((Y + g) + "_") + toString(y(j)))), DeleteEntry((((Y + h) + "_") + toString(y(j)))), DeleteEntry((((Z + g) + "_") + toString(y(j)))), DeleteEntry((((Z + h) + "_") + toString(y(j))))] | |
118 | 118 | ||
119 | 119 | ||
120 | 120 | ||
121 | 121 | @Callable(C) | |
122 | 122 | func shutdown () = if (!(r)) | |
123 | 123 | then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, f), "the cause wasn't specified"))) | |
124 | 124 | else if (!(containsElement([a, b, c, d], C.callerPublicKey))) | |
125 | 125 | then throw("Only admin can call this function") | |
126 | 126 | else A("Paused by admin") | |
127 | 127 | ||
128 | 128 | ||
129 | 129 | @Verifier(aa) | |
130 | 130 | func ab () = { | |
131 | 131 | let ac = aa | |
132 | 132 | if ($isInstanceOf(ac, "DataTransaction")) | |
133 | 133 | then { | |
134 | 134 | let ad = ac | |
135 | 135 | sigVerify(aa.bodyBytes, aa.proofs[0], aa.senderPublicKey) | |
136 | 136 | } | |
137 | 137 | else { | |
138 | 138 | let ae = if (sigVerify(aa.bodyBytes, aa.proofs[0], a)) | |
139 | 139 | then 1 | |
140 | 140 | else 0 | |
141 | 141 | let af = if (sigVerify(aa.bodyBytes, aa.proofs[1], b)) | |
142 | 142 | then 1 | |
143 | 143 | else 0 | |
144 | 144 | let ag = if (sigVerify(aa.bodyBytes, aa.proofs[2], c)) | |
145 | 145 | then 1 | |
146 | 146 | else 0 | |
147 | 147 | (((ae + af) + ag) >= 2) | |
148 | 148 | } | |
149 | 149 | } | |
150 | 150 |
github/deemru/w8io/169f3d6 35.60 ms ◑