tx · CCAjsR5sH3KZrNCB1QsxMZTANfyS9BiuHgQiKBegvEcG

3MsCcWZK2H5fR6xc6hJy6Mw1iaH47NWjZpg:  -0.01400000 Waves

2021.05.28 18:32 [1545709] smart account 3MsCcWZK2H5fR6xc6hJy6Mw1iaH47NWjZpg > SELF 0.00000000 Waves

{ "type": 13, "id": "CCAjsR5sH3KZrNCB1QsxMZTANfyS9BiuHgQiKBegvEcG", "fee": 1400000, "feeAssetId": null, "timestamp": 1622215967333, "version": 2, "chainId": 84, "sender": "3MsCcWZK2H5fR6xc6hJy6Mw1iaH47NWjZpg", "senderPublicKey": "5ZcQHvFUmHPvoBiThknipGYQwKihc7WZgf8G4kiJ6rac", "proofs": [ "1fEH2zC2ZasovuMGkz4ioyVzVVrDKem8hMqUAMMbcPFN8WRSDYzq3M47e9WGqGb139Rj76brDFyh492tnomA3vN" ], "script": "base64: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", "height": 1545709, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BoDFT9DFghwY7NtGA9WmBBJdbFWUg5uzXgKNRZuhem51 Next: JAkGPk5uPwNuyuaLcgF9yZr88Rv7uLwUx699sWoZKpkG Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "upvote"
55
66 let b = base58'3MtZD1vZMNV52zijkR1A6Q6bgFbq6Bp8jjK'
77
88 let c = base58'3MsCcWZK2H5fR6xc6hJy6Mw1iaH47NWjZpg'
99
1010 let d = base58'3Mucpi1K4FMVrZKnYEgjxQf5DkkBX7QrHoJ'
1111
1212 let e = base58'7sxG2mwboyrDvwvasCJx3saNCRQS3317THienApHNVx1'
1313
1414 func f (g,h) = if ((h == "upvote"))
1515 then (((g + "_") + h) + "_amount")
1616 else throw("Invalid vote type")
1717
1818
1919 func i (g) = (g + "_candidateProfile")
2020
2121
2222 func j (g) = (g + "_status")
2323
2424
2525 func k (g,h) = if ((h == "upvote"))
2626 then (g + "_upvote")
2727 else throw("Invalid vote type")
2828
2929
3030 func l (g) = {
3131 let m = getString(this, i(g))
3232 if ($isInstanceOf(m, "String"))
3333 then {
3434 let n = m
3535 true
3636 }
3737 else false
3838 }
3939
4040
4141 func o (p) = {
4242 let m = getString(this, j(p))
4343 if ($isInstanceOf(m, "String"))
4444 then {
4545 let n = m
4646 n
4747 }
4848 else false
4949 }
5050
5151
5252 func q (g,p) = (((g + "_") + p) + "_amount")
5353
5454
5555 func r (p,s) = {
5656 let m = getInteger(this, f(p, s))
5757 if ($isInstanceOf(m, "Int"))
5858 then {
5959 let n = m
6060 n
6161 }
6262 else 0
6363 }
6464
6565
6666 func t (p,s) = {
6767 let m = getInteger(this, k(p, s))
6868 if ($isInstanceOf(m, "Int"))
6969 then {
7070 let n = m
7171 n
7272 }
7373 else throw("Not a valid vote ID")
7474 }
7575
7676
7777 func u (v,p) = ((((v + "_") + p) + "_") + "vote")
7878
7979
8080 func w (v,p) = {
8181 let m = getString(this, u(v, p))
8282 if ($isInstanceOf(m, "String"))
8383 then {
8484 let n = m
8585 n
8686 }
8787 else ""
8888 }
8989
9090
9191 func x (v,p) = {
9292 let y = w(v, p)
9393 if ((y == ""))
9494 then true
9595 else false
9696 }
9797
9898
9999 func z () = {
100100 let m = getInteger(this, "claimed_total")
101101 if ($isInstanceOf(m, "Int"))
102102 then {
103103 let n = m
104104 n
105105 }
106106 else 0
107107 }
108108
109109
110110 @Callable(A)
111111 func addCandidateProfile (B,C,D,E,F) = if (if (if ((A.caller.bytes == b))
112112 then true
113113 else (A.caller.bytes == c))
114114 then true
115115 else (A.caller.bytes == d))
116116 then {
117117 let G = toBase58String(A.transactionId)
118118 WriteSet([DataEntry(i(G), ((((((((B + "_") + C) + "_") + D) + "_") + E) + "_") + F)), DataEntry(k(G, "upvote"), 0), DataEntry(f(G, "upvote"), 0), DataEntry(j(G), "open")])
119119 }
120120 else throw("Only approved Siban Exco can call this dApp function")
121121
122122
123123
124124 @Callable(A)
125125 func vote (p,s) = {
126126 let H = extract(A.payment)
127127 let y = toBase58String(A.caller.bytes)
128128 if ((H.amount == 0))
129129 then throw("You cannot vote without paying voting fee")
130130 else if ((H.assetId != e))
131131 then throw("You can only vote with Siban vote token")
132132 else if (x(toBase58String(A.caller.bytes), p))
133133 then if (l(p))
134134 then if ((o(p) == "open"))
135135 then if ((s == a))
136136 then {
137137 let I = t(p, s)
138138 let J = r(p, s)
139139 let K = (I + 1)
140140 let L = (J + H.amount)
141141 ScriptResult(WriteSet([DataEntry(k(p, s), K), DataEntry(u(y, p), p), DataEntry(q(y, p), H.amount), DataEntry(f(p, s), L)]), TransferSet([ScriptTransfer(this, H.amount, e)]))
142142 }
143143 else throw("Not a valid vote value")
144144 else throw("This profile is not open for voting")
145145 else throw("Invalid Profile")
146146 else throw("You can't vote twice")
147147 }
148148
149149
150150
151151 @Callable(A)
152152 func openVote (p) = if (if (if ((A.caller.bytes == b))
153153 then true
154154 else (A.caller.bytes == c))
155155 then true
156156 else (A.caller.bytes == d))
157157 then if (l(p))
158158 then WriteSet([DataEntry(j(p), "open")])
159159 else throw("Invalid ID")
160160 else throw("Only approved Siban Exco can call this dApp function")
161161
162162
163163
164164 @Callable(A)
165165 func closeVote (p) = if (if (if ((A.caller.bytes == b))
166166 then true
167167 else (A.caller.bytes == c))
168168 then true
169169 else (A.caller.bytes == d))
170170 then if (l(p))
171171 then WriteSet([DataEntry(j(p), "closed")])
172172 else throw("Invalid ID")
173173 else throw("Only approved Siban Exco can call this dApp function")
174174
175175
176176
177177 @Callable(A)
178178 func withdraw (p) = {
179179 let y = toBase58String(A.caller.bytes)
180180 if ((w(y, p) != ""))
181181 then if ((o(p) == "closed"))
182182 then {
183183 let M = q(y, p)
184184 let N = {
185185 let m = getInteger(this, M)
186186 if ($isInstanceOf(m, "Int"))
187187 then {
188188 let n = m
189189 n
190190 }
191191 else throw("You didn't vote for this candidate")
192192 }
193193 if ((N == 0))
194194 then throw("Seems you have previously withdrawn.")
195195 else ScriptResult(WriteSet([DataEntry(M, 0)]), TransferSet([ScriptTransfer(A.caller, N, e)]))
196196 }
197197 else throw("Can't withdraw vote amount while voting is still open.")
198198 else throw("You didn't vote for this entrepreneur")
199199 }
200200
201201

github/deemru/w8io/03bedc9 
36.08 ms