tx · 45MjSk6BmzbAVHrtiBFgnNm6zdWgjjrJQ1SnMf5CWJG2 3MyJW8QqCAnqD55yTEYcXMECBe2aMyG3ore: -0.01000000 Waves 2021.03.22 18:49 [1449153] smart account 3MyJW8QqCAnqD55yTEYcXMECBe2aMyG3ore > SELF 0.00000000 Waves
{ "type": 13, "id": "45MjSk6BmzbAVHrtiBFgnNm6zdWgjjrJQ1SnMf5CWJG2", "fee": 1000000, "feeAssetId": null, "timestamp": 1616428166009, "version": 1, "sender": "3MyJW8QqCAnqD55yTEYcXMECBe2aMyG3ore", "senderPublicKey": "HdNG2DBKMbY9WeQcsxnUyRf9RZBi4aak9bcmRLaavonE", "proofs": [ "3i2PNRhF5Mofjis4MKu11S57yQo5eACXVyMZwd96kfGohoGkCUdJQnbXcgCWMsQQWjRg93pWkHNapsLBQARi7yV9" ], "script": "base64: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dGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5BAAAAA52b3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA5fdm90aW5nX2Ftb3VudAQAAAAQdm90ZXNBbW91bnRTdGF0ZQkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAACXZvdGluZ0tleQAAAAAAAAAAAQQAAAAMdm90ZVZhbHVlSW50CQEAAAAMZ2V0Vm90ZVZhbHVlAAAAAQUAAAAJdm90ZVZhbHVlBAAAAA5uZXdWb3RpbmdTdGF0ZQkAAGQAAAACBQAAAAt2b3RpbmdTdGF0ZQUAAAAMdm90ZVZhbHVlSW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAl2b3RpbmdLZXkFAAAADm5ld1ZvdGluZ1N0YXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAx2b3RlVmFsdWVJbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADnZvdGVzQW1vdW50S2V5BQAAABB2b3Rlc0Ftb3VudFN0YXRlBQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAAGGZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZwAAAAEAAAAGdGFza0lkAwkBAAAAImZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZ0NvbmRpdGlvbnMAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABnRhc2tJZAQAAAAJdm90aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAADV92b3Rpbmdfc3RhdGUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwMJAABmAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAl2b3RpbmdLZXkAAAAAAAAAAAACAAAADnJlYWR5X3Rv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", "chainId": 84, "height": 1449153, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = 1 | |
5 | + | ||
6 | + | let b = addressFromStringValue("3N9ZckEaLQrq6ScFK42e5tF7Vso3tRvAVBP") | |
7 | + | ||
8 | + | func c (d) = { | |
9 | + | let e = { | |
10 | + | let f = getInteger(this, d) | |
11 | + | if ($isInstanceOf(f, "Int")) | |
12 | + | then { | |
13 | + | let g = f | |
14 | + | g | |
15 | + | } | |
16 | + | else 0 | |
17 | + | } | |
18 | + | e | |
19 | + | } | |
20 | + | ||
21 | + | ||
22 | + | func h (d) = { | |
23 | + | let e = { | |
24 | + | let f = getString(this, d) | |
25 | + | if ($isInstanceOf(f, "String")) | |
26 | + | then { | |
27 | + | let g = f | |
28 | + | g | |
29 | + | } | |
30 | + | else "" | |
31 | + | } | |
32 | + | e | |
33 | + | } | |
34 | + | ||
35 | + | ||
36 | + | func i () = { | |
37 | + | let e = { | |
38 | + | let f = getString(b, "working_group_members") | |
39 | + | if ($isInstanceOf(f, "String")) | |
40 | + | then { | |
41 | + | let g = f | |
42 | + | g | |
43 | + | } | |
44 | + | else "" | |
45 | + | } | |
46 | + | e | |
47 | + | } | |
48 | + | ||
49 | + | ||
50 | + | func j () = { | |
51 | + | let e = { | |
52 | + | let f = getString(b, "dao_members") | |
53 | + | if ($isInstanceOf(f, "String")) | |
54 | + | then { | |
55 | + | let g = f | |
56 | + | g | |
57 | + | } | |
58 | + | else "" | |
59 | + | } | |
60 | + | e | |
61 | + | } | |
62 | + | ||
63 | + | ||
64 | + | func k () = { | |
65 | + | let e = { | |
66 | + | let f = getInteger(b, "dao_size") | |
67 | + | if ($isInstanceOf(f, "Int")) | |
68 | + | then { | |
69 | + | let g = f | |
70 | + | g | |
71 | + | } | |
72 | + | else 0 | |
73 | + | } | |
74 | + | e | |
75 | + | } | |
76 | + | ||
77 | + | ||
78 | + | func l (m) = { | |
79 | + | let e = { | |
80 | + | let f = getInteger(b, (("working_group_member_" + toString(m)) + "_weight")) | |
81 | + | if ($isInstanceOf(f, "Int")) | |
82 | + | then { | |
83 | + | let g = f | |
84 | + | g | |
85 | + | } | |
86 | + | else 0 | |
87 | + | } | |
88 | + | (e > 0) | |
89 | + | } | |
90 | + | ||
91 | + | ||
92 | + | func n (o) = { | |
93 | + | let e = { | |
94 | + | let f = getInteger(b, (("dao_member_" + toString(o)) + "_weight")) | |
95 | + | if ($isInstanceOf(f, "Int")) | |
96 | + | then { | |
97 | + | let g = f | |
98 | + | g | |
99 | + | } | |
100 | + | else 0 | |
101 | + | } | |
102 | + | (e > 0) | |
103 | + | } | |
104 | + | ||
105 | + | ||
106 | + | func p (o,q) = n(o) | |
107 | + | ||
108 | + | ||
109 | + | func r (s) = if ((s == "like")) | |
110 | + | then 1 | |
111 | + | else if ((s == "dislike")) | |
112 | + | then -1 | |
113 | + | else throw("you need to vote with 'like' or 'dislike' value") | |
114 | + | ||
115 | + | ||
116 | + | func t (o) = if (!(l(o))) | |
117 | + | then throw("grants working group access only") | |
118 | + | else true | |
119 | + | ||
120 | + | ||
121 | + | func u (o,q) = if (!(l(o))) | |
122 | + | then throw("grants working group access only") | |
123 | + | else if ((h((("tasks_" + q) + "_status")) != "")) | |
124 | + | then throw("grant isn`t new") | |
125 | + | else true | |
126 | + | ||
127 | + | ||
128 | + | func v (o,q) = if (!(n(o))) | |
129 | + | then throw("you can't vote") | |
130 | + | else if ((h((("tasks_" + q) + "_status")) != "proposed")) | |
131 | + | then throw("voting is closed or not started") | |
132 | + | else if ((c(((("tasks_" + q) + "_voted_") + toString(o))) != 0)) | |
133 | + | then throw("you have already voted") | |
134 | + | else true | |
135 | + | ||
136 | + | ||
137 | + | func w (o,q) = if (!(l(o))) | |
138 | + | then throw("grants working group access only") | |
139 | + | else if ((h((("tasks_" + q) + "_status")) != "proposed")) | |
140 | + | then throw("voting is not active") | |
141 | + | else if ((a > ((c((("tasks_" + q) + "_voting_amount")) * 100) / k()))) | |
142 | + | then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting")) | |
143 | + | else true | |
144 | + | ||
145 | + | ||
146 | + | func x (o,q,y) = if ((h((("tasks_" + q) + "_status")) != "ready_to_apply")) | |
147 | + | then throw("this grant has not yet been approved") | |
148 | + | else if ((h((((("tasks_" + q) + "_app_") + y) + "_leader")) == toString(o))) | |
149 | + | then throw("you are applied") | |
150 | + | else true | |
151 | + | ||
152 | + | ||
153 | + | func z (o,q,y) = { | |
154 | + | let A = (drop(toString(o), 10) + drop(y, 10)) | |
155 | + | if (!(n(o))) | |
156 | + | then throw("you can't vote") | |
157 | + | else if ((h((("tasks_" + q) + "_status")) != "ready_to_apply")) | |
158 | + | then throw("voting is not active") | |
159 | + | else if ((c(((("tasks_" + q) + "_vote_") + A)) != 0)) | |
160 | + | then throw("you have already voted on this team") | |
161 | + | else true | |
162 | + | } | |
163 | + | ||
164 | + | ||
165 | + | func B (o,q,C) = if (!(l(o))) | |
166 | + | then throw("grants working group access only") | |
167 | + | else if ((h((("tasks_" + q) + "_status")) != "ready_to_apply")) | |
168 | + | then throw("voting is not active") | |
169 | + | else if ((size(C) == 0)) | |
170 | + | then throw("no one has yet responded to the grant") | |
171 | + | else true | |
172 | + | ||
173 | + | ||
174 | + | func D (o,q,y) = if ((h((("tasks_" + q) + "_status")) != "team_chosen")) | |
175 | + | then throw("winner is not define") | |
176 | + | else if ((toString(o) != h((((("tasks_" + q) + "_app_") + y) + "_leader")))) | |
177 | + | then throw("team leader only") | |
178 | + | else true | |
179 | + | ||
180 | + | ||
181 | + | func E (o,q,F) = if (!(l(o))) | |
182 | + | then throw("grants working group access only") | |
183 | + | else if ((h((("tasks_" + q) + "_status")) != "work_finished")) | |
184 | + | then throw("work is not finished") | |
185 | + | else if ((1 > c((((("tasks_" + q) + "_app_") + F) + "_score_solution")))) | |
186 | + | then throw("negative assessment") | |
187 | + | else true | |
188 | + | ||
189 | + | ||
190 | + | func G (o,q) = if (!(l(o))) | |
191 | + | then throw("grants working group access only") | |
192 | + | else true | |
193 | + | ||
194 | + | ||
195 | + | func H (o,q,y) = if ((h((("tasks_" + q) + "_status")) != "work_started")) | |
196 | + | then throw("work is not started") | |
197 | + | else if ((toString(o) != h((((("tasks_" + q) + "_app_") + y) + "_leader")))) | |
198 | + | then throw("team leader only") | |
199 | + | else if ((1 > c((((("tasks_" + q) + "_app_") + y) + "_score_applicant")))) | |
200 | + | then throw("your team is not approved") | |
201 | + | else if ((h((((("tasks_" + q) + "_app_") + y) + "_process")) == "work_submitted")) | |
202 | + | then throw("you have already presented the solution") | |
203 | + | else true | |
204 | + | ||
205 | + | ||
206 | + | func I (o,q) = if (!(l(o))) | |
207 | + | then throw("grants working group access only") | |
208 | + | else if ((h((("tasks_" + q) + "_status")) != "work_started")) | |
209 | + | then throw("work is not started") | |
210 | + | else true | |
211 | + | ||
212 | + | ||
213 | + | func J (o,q) = if (!(p(o, q))) | |
214 | + | then throw("you can't vote") | |
215 | + | else if ((h((("tasks_" + q) + "_status")) != "work_finished")) | |
216 | + | then throw("work is not started") | |
217 | + | else true | |
218 | + | ||
219 | + | ||
220 | + | @Callable(K) | |
221 | + | func addTask (L,M,N) = if (t(K.caller)) | |
222 | + | then WriteSet([DataEntry((("tasks_" + toBase58String(K.transactionId)) + "_title"), L), DataEntry((("tasks_" + toBase58String(K.transactionId)) + "_link"), M), DataEntry((("tasks_" + toBase58String(K.transactionId)) + "_hash"), N)]) | |
223 | + | else throw("checks are not passed") | |
224 | + | ||
225 | + | ||
226 | + | ||
227 | + | @Callable(K) | |
228 | + | func resetHash (N) = if (t(K.caller)) | |
229 | + | then WriteSet([DataEntry((("tasks_" + toBase58String(K.transactionId)) + "_hash"), N)]) | |
230 | + | else throw("checks are not passed") | |
231 | + | ||
232 | + | ||
233 | + | ||
234 | + | @Callable(K) | |
235 | + | func addReward (q) = if (u(K.caller, q)) | |
236 | + | then { | |
237 | + | let O = extract(K.payment).amount | |
238 | + | WriteSet([DataEntry((("tasks_" + q) + "_reward"), O), DataEntry((("tasks_" + q) + "_status"), "proposed")]) | |
239 | + | } | |
240 | + | else throw("checks are not passed") | |
241 | + | ||
242 | + | ||
243 | + | ||
244 | + | @Callable(K) | |
245 | + | func voteForTaskProposal (q,P) = if (v(K.caller, q)) | |
246 | + | then { | |
247 | + | let Q = ((("tasks_" + q) + "_voted_") + toString(K.caller)) | |
248 | + | let R = (("tasks_" + q) + "_voting_state") | |
249 | + | let S = c(R) | |
250 | + | let T = (("tasks_" + q) + "_voting_amount") | |
251 | + | let U = (c(R) + 1) | |
252 | + | let V = r(P) | |
253 | + | let W = (S + V) | |
254 | + | WriteSet([DataEntry(R, W), DataEntry(Q, V), DataEntry(T, U)]) | |
255 | + | } | |
256 | + | else throw("checks are not passed") | |
257 | + | ||
258 | + | ||
259 | + | ||
260 | + | @Callable(K) | |
261 | + | func finishTaskProposalVoting (q) = if (w(K.caller, q)) | |
262 | + | then { | |
263 | + | let R = (("tasks_" + q) + "_voting_state") | |
264 | + | WriteSet([DataEntry((("tasks_" + q) + "_status"), if ((c(R) > 0)) | |
265 | + | then "ready_to_apply" | |
266 | + | else "rejected")]) | |
267 | + | } | |
268 | + | else throw("checks are not passed") | |
269 | + | ||
270 | + | ||
271 | + | ||
272 | + | @Callable(K) | |
273 | + | func applyForTask (q,X,M,N) = { | |
274 | + | let y = drop(toString(K.caller), 10) | |
275 | + | if (x(K.caller, q, y)) | |
276 | + | then { | |
277 | + | let Y = (("tasks_" + q) + "_applicants") | |
278 | + | let Z = h(Y) | |
279 | + | let aa = ((Z + ";") + toString(K.caller)) | |
280 | + | WriteSet([DataEntry((((("tasks_" + q) + "_app_") + y) + "_name"), X), DataEntry((((("tasks_" + q) + "_app_") + y) + "_link"), M), DataEntry((((("tasks_" + q) + "_app_") + y) + "_hash"), N), DataEntry((((("tasks_" + q) + "_app_") + y) + "_leader"), toString(K.caller)), DataEntry((((("tasks_" + q) + "_app_") + y) + "_id"), y), DataEntry(Y, aa)]) | |
281 | + | } | |
282 | + | else throw("checks are not passed") | |
283 | + | } | |
284 | + | ||
285 | + | ||
286 | + | ||
287 | + | @Callable(K) | |
288 | + | func voteForApplicant (q,y,P) = if (z(K.caller, q, y)) | |
289 | + | then { | |
290 | + | let Y = (((("tasks_" + q) + "_app_") + y) + "_voted_applicant") | |
291 | + | let aa = ((h(Y) + ";") + toString(K.caller)) | |
292 | + | let A = (drop(toString(K.caller), 20) + y) | |
293 | + | let Q = ((("tasks_" + q) + "_vh_") + A) | |
294 | + | if ((h(Q) == toString(K.caller))) | |
295 | + | then throw("you have already voted on this team") | |
296 | + | else { | |
297 | + | let ab = (((("tasks_" + q) + "_app_") + y) + "_votes_applicant") | |
298 | + | let ac = (((("tasks_" + q) + "_app_") + y) + "_score_applicant") | |
299 | + | let ad = (1 + c(ab)) | |
300 | + | let ae = (r(P) + c(ac)) | |
301 | + | WriteSet([DataEntry(Y, aa), DataEntry(Q, toString(K.caller)), DataEntry(ab, ad), DataEntry(ac, ae)]) | |
302 | + | } | |
303 | + | } | |
304 | + | else throw("checks are not passed") | |
305 | + | ||
306 | + | ||
307 | + | ||
308 | + | @Callable(K) | |
309 | + | func finishApplicantsVoting (q) = { | |
310 | + | let af = h((("tasks_" + q) + "_applicants")) | |
311 | + | let C = split(af, ";") | |
312 | + | if (B(K.caller, q, C)) | |
313 | + | then WriteSet([DataEntry((("tasks_" + q) + "_status"), "ready_to_submit")]) | |
314 | + | else throw("checks are not passed") | |
315 | + | } | |
316 | + | ||
317 | + | ||
318 | + | ||
319 | + | @Callable(K) | |
320 | + | func enableSubmissions (q,ag) = if (G(K.caller, q)) | |
321 | + | then WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_started"), DataEntry((("tasks_" + q) + "_jury"), ag)]) | |
322 | + | else throw("checks are not passed") | |
323 | + | ||
324 | + | ||
325 | + | ||
326 | + | @Callable(K) | |
327 | + | func submitSolution (q,ah,N) = { | |
328 | + | let y = drop(toString(K.caller), 10) | |
329 | + | if (H(K.caller, q, y)) | |
330 | + | then WriteSet([DataEntry((((("tasks_" + q) + "_app_") + y) + "_process"), "work_submitted"), DataEntry((((("tasks_" + q) + "_app_") + y) + "_solution"), ah), DataEntry((((("tasks_" + q) + "_app_") + y) + "_solution_hash"), N)]) | |
331 | + | else throw("checks are not passed") | |
332 | + | } | |
333 | + | ||
334 | + | ||
335 | + | ||
336 | + | @Callable(K) | |
337 | + | func stopSubmissions (q) = if (I(K.caller, q)) | |
338 | + | then WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_finished")]) | |
339 | + | else throw("checks are not passed") | |
340 | + | ||
341 | + | ||
342 | + | ||
343 | + | @Callable(K) | |
344 | + | func voteForSolution (q,y,P) = if (J(K.caller, q)) | |
345 | + | then { | |
346 | + | let Y = (((("tasks_" + q) + "_app_") + y) + "_voted_solution") | |
347 | + | let ai = ((h(Y) + ";") + toString(K.caller)) | |
348 | + | let A = (drop(toString(K.caller), 20) + y) | |
349 | + | let Q = ((("tasks_" + q) + "_vs_") + A) | |
350 | + | if ((h(Q) == toString(K.caller))) | |
351 | + | then throw("you have already voted on this team") | |
352 | + | else { | |
353 | + | let ab = (((("tasks_" + q) + "_app_") + y) + "_votes_solution") | |
354 | + | let ac = (((("tasks_" + q) + "_app_") + y) + "_score_solution") | |
355 | + | let ad = (1 + c(ab)) | |
356 | + | let ae = (r(P) + c(ac)) | |
357 | + | WriteSet([DataEntry(Y, ai), DataEntry(Q, toString(K.caller)), DataEntry(ab, ad), DataEntry(ac, ae)]) | |
358 | + | } | |
359 | + | } | |
360 | + | else throw("checks are not passed") | |
361 | + | ||
362 | + | ||
363 | + | ||
364 | + | @Callable(K) | |
365 | + | func acceptWorkResult (q,F,aj) = if (E(K.caller, q, F)) | |
366 | + | then { | |
367 | + | let ak = c((("tasks_" + q) + "_reward")) | |
368 | + | let al = getStringValue(this, (((("tasks_" + q) + "_app_") + F) + "_leader")) | |
369 | + | ScriptResult(WriteSet([DataEntry((("tasks_" + q) + "_status"), "solution_chosen"), DataEntry((((("tasks_" + q) + "_app_") + F) + "_process"), "winner"), DataEntry((("tasks_" + q) + "_report"), aj)]), TransferSet([ScriptTransfer(addressFromStringValue(al), ak, unit)])) | |
370 | + | } | |
371 | + | else throw("checks are not passed") | |
372 | + | ||
373 | + | ||
374 | + | ||
375 | + | @Callable(K) | |
376 | + | func rejectTask (q) = if (!(l(K.caller))) | |
377 | + | then throw("grants working group access only") | |
378 | + | else WriteSet([DataEntry((("tasks_" + q) + "_status"), "rejected")]) | |
379 | + | ||
380 | + |
github/deemru/w8io/169f3d6 39.48 ms ◑