tx · 8VjJ6RfRX1FR5boUnU7DohQpGWgtXUaeQCLE1YShNoYr

3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA:  -0.10000000 Waves

2020.12.27 05:53 [1326529] smart account 3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA > SELF 0.00000000 Waves

{ "type": 13, "id": "8VjJ6RfRX1FR5boUnU7DohQpGWgtXUaeQCLE1YShNoYr", "fee": 10000000, "feeAssetId": null, "timestamp": 1609037617351, "version": 2, "chainId": 84, "sender": "3Mxk4Jmjd8SdE2MojSXsUQ8LVYM8vRzmFSA", "senderPublicKey": "4xMxUnfdbHYsent96ThiYC63gXHiahi6bh3urdHHntHi", "proofs": [ "2H2Ton2fmANDqmnFb6mcxmRxLusikYcUgeShN93EoS3o5oqfB7smHSqqY2hnDsun5gt12Mk9hqwZzgkC9eXHCxvL" ], "script": "base64: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AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAAhwcm9wb3NlZAUAAAADbmlsCQAAAgAAAAECAAAAFWNoZWNrcyBhcmUgbm90IHBhc3NlZAAAAAFpAQAAABN2b3RlRm9yVGFza1Byb3Bvc2FsAAAAAgAAAAZ0YXNrSWQAAAAJdm90ZVZhbHVlAwkBAAAAHXZvdGVGb3JUYXNrUHJvcG9zYWxDb25kaXRpb25zAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAZ0YXNrSWQEAAAAB3ZvdGVLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfdm90ZWRfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAJdm90aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAADV92b3Rpbmdfc3RhdGUEAAAAC3ZvdGluZ1N0YXRlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAACXZvdGluZ0tleQQAAAAOdm90ZXNBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAOX3ZvdGluZ19hbW91bnQEAAAAEHZvdGVzQW1vdW50U3RhdGUJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAl2b3RpbmdLZXkAAAAAAAAAAAEEAAAADHZvdGVWYWx1ZUludAkBAAAADGdldFZvdGVWYWx1ZQAAAAEFAAAACXZvdGVWYWx1ZQQAAAAObmV3Vm90aW5nU3RhdGUJAABkAAAAAgUAAAALdm90aW5nU3RhdGUFAAAADHZvdGVWYWx1ZUludAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAJdm90aW5nS2V5BQAAAA5uZXdWb3RpbmdTdGF0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAHdm90ZUtleQUAAAAMdm90ZVZhbHVlSW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA52b3Rlc0Ftb3VudEtleQUAAAAQ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AQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASdGVhbVZvdGVzQW1vdW50S2V5BQAAAA90ZWFtVm90ZXNBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADHRlYW1TY29yZUtleQUAAAAMbmV3VGVhbVNjb3JlBQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAAFmZpbmlzaEFwcGxpY2FudHNWb3RpbmcAAAABAAAABnRhc2tJZAoBAAAADGhhc01vcmVWb3RlcwAAAAIAAAADYWlkAAAABGFpZDIEAAAAB2xpc3RLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAALX2FwcGxpY2FudHMEAAAADmFwcGxpY2FudHNMaXN0CQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAB2xpc3RLZXkCAAAAATsEAAAADnRlYW1JZGVudGlmaWVyCQABkQAAAAIFAAAADmFwcGxpY2FudHNMaXN0BQAAAANhaWQEAAAAEnRlYW1Wb3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAAZfdm90ZXMEAAAAD3RlYW1Wb3Rlc0Ftb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtVm90ZXNBbW91bnRLZXkEAAAAD3RlYW0ySWRlbnRpZmllcgkAAZEAAAACBQAAAA5hcHBsaWNhbnRzTGlzdAUAAAAEYWlkMgQAAAATdGVhbTJWb3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAAD3RlYW0ySWRlbnRpZmllcgIAAAAGX3ZvdGVzBAAAABB0ZWFtMlZvdGVzQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAE3RlYW0yVm90ZXNBbW91bnRLZXkDCQAAZgAAAAIFAAAAD3RlYW1Wb3Rlc0Ftb3VudAUAAAAQdGVhbTJWb3Rlc0Ftb3VudAUAAAADYWlkBQAAAARhaWQyBAAAAAhsaXN0S2V5cwkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAALX2FwcGxpY2FudHMEAAAADmFwcGxpY2FudHNMaXN0CQAEtQAAAAIFAAAACGxpc3RLZXlzAgAAAAE7AwkBAAAAIGZpbmlzaEFwcGxpY2FudHNWb3RpbmdDb25kaXRpb25zAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZ0YXNrSWQFAAAADmFwcGxpY2FudHNMaXN0BAAAAAxjaG9zZW5UZWFtSWQEAAAADyRsaXN0MTIzNTkxMjM5MAkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAEFAAAAA25pbAQAAAAPJHNpemUxMjM1OTEyMzkwCQABkAAAAAEFAAAADyRsaXN0MTIzNTkxMjM5MAQAAAAPJGFjYzAxMjM1OTEyMzkwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTEyMzU5MTIzOTAAAAAAAAAAAAAFAAAADyRhY2MwMTIzNTkxMjM5MAQAAAAPJGFjYzExMjM1OTEyMzkwCQEAAAAMaGFzTW9yZVZvdGVzAAAAAgUAAAAPJGFjYzAxMjM1OTEyMzkwCQABkQAAAAIFAAAADyRsaXN0MTIzNTkxMjM5MAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxMjM1OTEyMzkwAAAAAAAAAAABBQAAAA8kYWNjMTEyMzU5MTIzOTAEAAAADyRhY2MyMTIzNTkxMjM5MAkBAAAADGhhc01vcmVWb3RlcwAAAAIFAAAADyRhY2MxMTIzNTkxMjM5MAkAAZEAAAACBQAAAA8kbGlzdDEyMzU5MTIzOTAAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTIzNTkxMjM5MAAAAAAAAAAAAgUAAAAPJGFjYzIxMjM1OTEyMzkwBAAAAA8kYWNjMzEyMzU5MTIzOTAJAQAAAAxoYXNNb3JlVm90ZXMAAAAC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", "height": 1326529, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DZ8ac63CPQubpKUPPn2XZ4WShH2bb3VB4tzRkgbJAtS7 Next: 5eteApA1NbRDfEdfDL7QCSmy2ARWbPNyxEF1XjcgHY8E Diff:
OldNewDifferences
143143 else true
144144
145145
146-func x (j,u) = if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
147- then throw("This grant has not yet been approved")
148- else true
146+func x (j,u,y) = if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
147+ then throw("this grant has not yet been approved")
148+ else if ((h((((("tasks_" + u) + "_app_") + y) + "_leader")) == toString(j)))
149+ then throw("you are applied")
150+ else true
149151
150152
151-func y (j,u,z) = {
152- let A = (drop(toString(j), 10) + drop(z, 10))
153+func z (j,u,y) = {
154+ let A = (drop(toString(j), 10) + drop(y, 10))
153155 if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
154- then throw("This grant has not yet been approved")
156+ then throw("voting is not active")
155157 else if ((c(((("tasks_" + u) + "_vote_") + A)) != 0))
156158 then throw("you have already voted on this team")
157159 else true
160162
161163 func B (j,u,C) = if (!(n(j)))
162164 then throw("grants working group access only")
163- else if ((size(C) == 0))
164- then throw("No one has yet responded to the grant")
165- else true
165+ else if ((h((("tasks_" + u) + "_status")) != "team_chosen"))
166+ then throw("winner is not define")
167+ else if ((size(C) == 0))
168+ then throw("no one has yet responded to the grant")
169+ else true
166170
167171
168-func D (j,u,z) = if ((toString(j) != h((((("tasks_" + u) + "_app_") + z) + "_leader"))))
169- then throw("team leader only")
170- else true
172+func D (j,u,y) = if ((h((("tasks_" + u) + "_status")) != "team_chosen"))
173+ then throw("winner is not define")
174+ else if ((toString(j) != h((((("tasks_" + u) + "_app_") + y) + "_leader"))))
175+ then throw("team leader only")
176+ else true
171177
172178
173179 func E (j,u) = if (!(n(j)))
221227
222228
223229 @Callable(F)
224-func applyForTask (u,R,H) = if (x(F.caller, u))
225- then {
226- let S = (("tasks_" + u) + "_applicants")
227- let T = h(S)
228- let z = drop(toString(F.caller), 10)
229- let U = ((T + ";") + toString(F.caller))
230- WriteSet([DataEntry((((("tasks_" + u) + "_app_") + z) + "_name"), R), DataEntry((((("tasks_" + u) + "_app_") + z) + "_link"), H), DataEntry((((("tasks_" + u) + "_app_") + z) + "_leader"), toString(F.caller)), DataEntry((((("tasks_" + u) + "_app_") + z) + "_id"), z), DataEntry(S, U)])
231- }
232- else throw("checks are not passed")
230+func applyForTask (u,R,H) = {
231+ let y = drop(toString(F.caller), 10)
232+ if (x(F.caller, u, y))
233+ then {
234+ let S = (("tasks_" + u) + "_applicants")
235+ let T = h(S)
236+ let U = ((T + ";") + toString(F.caller))
237+ WriteSet([DataEntry((((("tasks_" + u) + "_app_") + y) + "_name"), R), DataEntry((((("tasks_" + u) + "_app_") + y) + "_link"), H), DataEntry((((("tasks_" + u) + "_app_") + y) + "_leader"), toString(F.caller)), DataEntry((((("tasks_" + u) + "_app_") + y) + "_id"), y), DataEntry(S, U)])
238+ }
239+ else throw("checks are not passed")
240+ }
233241
234242
235243
236244 @Callable(F)
237-func voteForApplicant (u,z,J) = if (y(F.caller, u, z))
245+func voteForApplicant (u,y,J) = if (z(F.caller, u, y))
238246 then {
239- let S = (((("tasks_" + u) + "_app_") + z) + "_voted")
247+ let S = (((("tasks_" + u) + "_app_") + y) + "_voted")
240248 let U = ((h(S) + ";") + toString(F.caller))
241- let A = (drop(toString(F.caller), 20) + z)
249+ let A = (drop(toString(F.caller), 20) + y)
242250 let K = ((("tasks_" + u) + "_vh_") + A)
243251 if ((h(K) == toString(F.caller)))
244252 then throw("you have already voted on this team")
245253 else {
246- let V = (((("tasks_" + u) + "_app_") + z) + "_votes")
247- let W = (((("tasks_" + u) + "_app_") + z) + "_score")
254+ let V = (((("tasks_" + u) + "_app_") + y) + "_votes")
255+ let W = (((("tasks_" + u) + "_app_") + y) + "_score")
248256 let X = (1 + c(V))
249257 let Y = (q(J) + c(W))
250258 WriteSet([DataEntry(S, U), DataEntry(K, toString(F.caller)), DataEntry(V, X), DataEntry(W, Y)])
259267 func Z (aa,ab) = {
260268 let S = (("tasks_" + u) + "_applicants")
261269 let C = split(getStringValue(this, S), ";")
262- let z = C[aa]
263- let V = (((("tasks_" + u) + "_app_") + z) + "_votes")
270+ let y = C[aa]
271+ let V = (((("tasks_" + u) + "_app_") + y) + "_votes")
264272 let X = c(V)
265273 let ac = C[ab]
266274 let ad = (((("tasks_" + u) + "_app_") + ac) + "_votes")
295303 }
296304 }
297305 }
298- let z = drop(C[ag], 20)
299- WriteSet([DataEntry((("tasks_" + u) + "_status"), "team_chosen"), DataEntry((("tasks_" + u) + "_performer"), z), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "can_begin")])
306+ let y = drop(C[ag], 20)
307+ WriteSet([DataEntry((("tasks_" + u) + "_status"), "team_chosen"), DataEntry((("tasks_" + u) + "_performer"), y), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "can_begin")])
300308 }
301309 else throw("checks are not passed")
302310 }
305313
306314 @Callable(F)
307315 func startWork (u) = {
308- let z = h((("tasks_" + u) + "_performer"))
309- if (D(F.caller, u, z))
310- then WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_started"), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "work_started")])
316+ let y = h((("tasks_" + u) + "_performer"))
317+ if (D(F.caller, u, y))
318+ then WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_started"), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "work_started")])
311319 else throw("checks are not passed")
312320 }
313321
317325 func acceptWorkResult (u,an) = if (E(F.caller, u))
318326 then {
319327 let ao = c((("tasks_" + u) + "_reward"))
320- let z = h((("tasks_" + u) + "_performer"))
321- let ap = h((((("tasks_" + u) + "_app_") + z) + "_leader"))
322- ScriptResult(WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_finished"), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "work_finished"), DataEntry((("tasks_" + u) + "_report"), an)]), TransferSet([ScriptTransfer(addressFromStringValue(ap), ao, unit)]))
328+ let y = h((("tasks_" + u) + "_performer"))
329+ let ap = h((((("tasks_" + u) + "_app_") + y) + "_leader"))
330+ ScriptResult(WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_finished"), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "work_finished"), DataEntry((("tasks_" + u) + "_report"), an)]), TransferSet([ScriptTransfer(addressFromStringValue(ap), ao, unit)]))
323331 }
324332 else throw("checks are not passed")
325333
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3MwRzi2BmqZZXWrCGCwcRQLsnic2Aod6zhS")
55
66 let b = 1
77
88 func c (d) = {
99 let e = {
1010 let f = getInteger(this, d)
1111 if ($isInstanceOf(f, "Int"))
1212 then {
1313 let g = f
1414 g
1515 }
1616 else 0
1717 }
1818 e
1919 }
2020
2121
2222 func h (d) = {
2323 let e = {
2424 let f = getString(this, d)
2525 if ($isInstanceOf(f, "String"))
2626 then {
2727 let g = f
2828 g
2929 }
3030 else ""
3131 }
3232 e
3333 }
3434
3535
3636 func i (j) = (j == this)
3737
3838
3939 func k () = {
4040 let e = {
4141 let f = getString(a, "working_group_members")
4242 if ($isInstanceOf(f, "String"))
4343 then {
4444 let g = f
4545 g
4646 }
4747 else ""
4848 }
4949 e
5050 }
5151
5252
5353 func l () = {
5454 let e = {
5555 let f = getString(a, "dao_members")
5656 if ($isInstanceOf(f, "String"))
5757 then {
5858 let g = f
5959 g
6060 }
6161 else ""
6262 }
6363 e
6464 }
6565
6666
6767 func m () = {
6868 let e = {
6969 let f = getInteger(a, "dao_size")
7070 if ($isInstanceOf(f, "Int"))
7171 then {
7272 let g = f
7373 g
7474 }
7575 else 0
7676 }
7777 e
7878 }
7979
8080
8181 func n (o) = {
8282 let e = {
8383 let f = getInteger(a, (("working_group_member_" + toString(o)) + "_weight"))
8484 if ($isInstanceOf(f, "Int"))
8585 then {
8686 let g = f
8787 g
8888 }
8989 else 0
9090 }
9191 (e > 0)
9292 }
9393
9494
9595 func p (j) = {
9696 let e = {
9797 let f = getInteger(a, (("dao_member_" + toString(j)) + "_weight"))
9898 if ($isInstanceOf(f, "Int"))
9999 then {
100100 let g = f
101101 g
102102 }
103103 else 0
104104 }
105105 (e > 0)
106106 }
107107
108108
109109 func q (r) = if ((r == "like"))
110110 then 1
111111 else if ((r == "dislike"))
112112 then -1
113113 else throw("you need to vote with 'like' or 'dislike' value")
114114
115115
116116 func s (j) = if (!(n(j)))
117117 then throw("grants working group access only")
118118 else true
119119
120120
121121 func t (j,u) = if (!(n(j)))
122122 then throw("grants working group access only")
123123 else if ((h((("tasks_" + u) + "_status")) != ""))
124124 then throw("grant isn`t new")
125125 else true
126126
127127
128128 func v (j,u) = if (!(p(j)))
129129 then throw("you can't vote")
130130 else if ((h((("tasks_" + u) + "_status")) != "proposed"))
131131 then throw("voting is closed or not started")
132132 else if ((c(((("tasks_" + u) + "_voted_") + toString(j))) != 0))
133133 then throw("you have already voted")
134134 else true
135135
136136
137137 func w (j,u) = if (!(n(j)))
138138 then throw("grants working group access only")
139139 else if ((h((("tasks_" + u) + "_status")) != "proposed"))
140140 then throw("voting is not active")
141141 else if ((b > ((c((("tasks_" + u) + "_voting_amount")) * 100) / m())))
142142 then throw((("more than " + toString(b)) + "% members have to vote before finishing the voting"))
143143 else true
144144
145145
146-func x (j,u) = if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
147- then throw("This grant has not yet been approved")
148- else true
146+func x (j,u,y) = if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
147+ then throw("this grant has not yet been approved")
148+ else if ((h((((("tasks_" + u) + "_app_") + y) + "_leader")) == toString(j)))
149+ then throw("you are applied")
150+ else true
149151
150152
151-func y (j,u,z) = {
152- let A = (drop(toString(j), 10) + drop(z, 10))
153+func z (j,u,y) = {
154+ let A = (drop(toString(j), 10) + drop(y, 10))
153155 if ((h((("tasks_" + u) + "_status")) != "ready_to_apply"))
154- then throw("This grant has not yet been approved")
156+ then throw("voting is not active")
155157 else if ((c(((("tasks_" + u) + "_vote_") + A)) != 0))
156158 then throw("you have already voted on this team")
157159 else true
158160 }
159161
160162
161163 func B (j,u,C) = if (!(n(j)))
162164 then throw("grants working group access only")
163- else if ((size(C) == 0))
164- then throw("No one has yet responded to the grant")
165- else true
165+ else if ((h((("tasks_" + u) + "_status")) != "team_chosen"))
166+ then throw("winner is not define")
167+ else if ((size(C) == 0))
168+ then throw("no one has yet responded to the grant")
169+ else true
166170
167171
168-func D (j,u,z) = if ((toString(j) != h((((("tasks_" + u) + "_app_") + z) + "_leader"))))
169- then throw("team leader only")
170- else true
172+func D (j,u,y) = if ((h((("tasks_" + u) + "_status")) != "team_chosen"))
173+ then throw("winner is not define")
174+ else if ((toString(j) != h((((("tasks_" + u) + "_app_") + y) + "_leader"))))
175+ then throw("team leader only")
176+ else true
171177
172178
173179 func E (j,u) = if (!(n(j)))
174180 then throw("grants working group access only")
175181 else true
176182
177183
178184 @Callable(F)
179185 func addTask (G,H) = if (s(F.caller))
180186 then WriteSet([DataEntry((("tasks_" + toBase58String(F.transactionId)) + "_title"), G), DataEntry((("tasks_" + toBase58String(F.transactionId)) + "_link"), H)])
181187 else throw("checks are not passed")
182188
183189
184190
185191 @Callable(F)
186192 func addReward (u) = if (t(F.caller, u))
187193 then {
188194 let I = extract(F.payment).amount
189195 WriteSet([DataEntry((("tasks_" + u) + "_reward"), I), DataEntry((("tasks_" + u) + "_status"), "proposed")])
190196 }
191197 else throw("checks are not passed")
192198
193199
194200
195201 @Callable(F)
196202 func voteForTaskProposal (u,J) = if (v(F.caller, u))
197203 then {
198204 let K = ((("tasks_" + u) + "_voted_") + toString(F.caller))
199205 let L = (("tasks_" + u) + "_voting_state")
200206 let M = c(L)
201207 let N = (("tasks_" + u) + "_voting_amount")
202208 let O = (c(L) + 1)
203209 let P = q(J)
204210 let Q = (M + P)
205211 WriteSet([DataEntry(L, Q), DataEntry(K, P), DataEntry(N, O)])
206212 }
207213 else throw("checks are not passed")
208214
209215
210216
211217 @Callable(F)
212218 func finishTaskProposalVoting (u) = if (w(F.caller, u))
213219 then {
214220 let L = (("tasks_" + u) + "_voting_state")
215221 WriteSet([DataEntry((("tasks_" + u) + "_status"), if ((c(L) > 0))
216222 then "ready_to_apply"
217223 else "rejected")])
218224 }
219225 else throw("checks are not passed")
220226
221227
222228
223229 @Callable(F)
224-func applyForTask (u,R,H) = if (x(F.caller, u))
225- then {
226- let S = (("tasks_" + u) + "_applicants")
227- let T = h(S)
228- let z = drop(toString(F.caller), 10)
229- let U = ((T + ";") + toString(F.caller))
230- WriteSet([DataEntry((((("tasks_" + u) + "_app_") + z) + "_name"), R), DataEntry((((("tasks_" + u) + "_app_") + z) + "_link"), H), DataEntry((((("tasks_" + u) + "_app_") + z) + "_leader"), toString(F.caller)), DataEntry((((("tasks_" + u) + "_app_") + z) + "_id"), z), DataEntry(S, U)])
231- }
232- else throw("checks are not passed")
230+func applyForTask (u,R,H) = {
231+ let y = drop(toString(F.caller), 10)
232+ if (x(F.caller, u, y))
233+ then {
234+ let S = (("tasks_" + u) + "_applicants")
235+ let T = h(S)
236+ let U = ((T + ";") + toString(F.caller))
237+ WriteSet([DataEntry((((("tasks_" + u) + "_app_") + y) + "_name"), R), DataEntry((((("tasks_" + u) + "_app_") + y) + "_link"), H), DataEntry((((("tasks_" + u) + "_app_") + y) + "_leader"), toString(F.caller)), DataEntry((((("tasks_" + u) + "_app_") + y) + "_id"), y), DataEntry(S, U)])
238+ }
239+ else throw("checks are not passed")
240+ }
233241
234242
235243
236244 @Callable(F)
237-func voteForApplicant (u,z,J) = if (y(F.caller, u, z))
245+func voteForApplicant (u,y,J) = if (z(F.caller, u, y))
238246 then {
239- let S = (((("tasks_" + u) + "_app_") + z) + "_voted")
247+ let S = (((("tasks_" + u) + "_app_") + y) + "_voted")
240248 let U = ((h(S) + ";") + toString(F.caller))
241- let A = (drop(toString(F.caller), 20) + z)
249+ let A = (drop(toString(F.caller), 20) + y)
242250 let K = ((("tasks_" + u) + "_vh_") + A)
243251 if ((h(K) == toString(F.caller)))
244252 then throw("you have already voted on this team")
245253 else {
246- let V = (((("tasks_" + u) + "_app_") + z) + "_votes")
247- let W = (((("tasks_" + u) + "_app_") + z) + "_score")
254+ let V = (((("tasks_" + u) + "_app_") + y) + "_votes")
255+ let W = (((("tasks_" + u) + "_app_") + y) + "_score")
248256 let X = (1 + c(V))
249257 let Y = (q(J) + c(W))
250258 WriteSet([DataEntry(S, U), DataEntry(K, toString(F.caller)), DataEntry(V, X), DataEntry(W, Y)])
251259 }
252260 }
253261 else throw("checks are not passed")
254262
255263
256264
257265 @Callable(F)
258266 func finishApplicantsVoting (u) = {
259267 func Z (aa,ab) = {
260268 let S = (("tasks_" + u) + "_applicants")
261269 let C = split(getStringValue(this, S), ";")
262- let z = C[aa]
263- let V = (((("tasks_" + u) + "_app_") + z) + "_votes")
270+ let y = C[aa]
271+ let V = (((("tasks_" + u) + "_app_") + y) + "_votes")
264272 let X = c(V)
265273 let ac = C[ab]
266274 let ad = (((("tasks_" + u) + "_app_") + ac) + "_votes")
267275 let ae = c(ad)
268276 if ((X > ae))
269277 then aa
270278 else ab
271279 }
272280
273281 let af = h((("tasks_" + u) + "_applicants"))
274282 let C = split(af, ";")
275283 if (B(F.caller, u, C))
276284 then {
277285 let ag = {
278286 let ah = [0, 1]
279287 let ai = size(ah)
280288 let aj = 0
281289 if ((ai == 0))
282290 then aj
283291 else {
284292 let ak = Z(aj, ah[0])
285293 if ((ai == 1))
286294 then ak
287295 else {
288296 let al = Z(ak, ah[1])
289297 if ((ai == 2))
290298 then al
291299 else {
292300 let am = Z(al, ah[2])
293301 throw("List size exceed 2")
294302 }
295303 }
296304 }
297305 }
298- let z = drop(C[ag], 20)
299- WriteSet([DataEntry((("tasks_" + u) + "_status"), "team_chosen"), DataEntry((("tasks_" + u) + "_performer"), z), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "can_begin")])
306+ let y = drop(C[ag], 20)
307+ WriteSet([DataEntry((("tasks_" + u) + "_status"), "team_chosen"), DataEntry((("tasks_" + u) + "_performer"), y), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "can_begin")])
300308 }
301309 else throw("checks are not passed")
302310 }
303311
304312
305313
306314 @Callable(F)
307315 func startWork (u) = {
308- let z = h((("tasks_" + u) + "_performer"))
309- if (D(F.caller, u, z))
310- then WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_started"), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "work_started")])
316+ let y = h((("tasks_" + u) + "_performer"))
317+ if (D(F.caller, u, y))
318+ then WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_started"), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "work_started")])
311319 else throw("checks are not passed")
312320 }
313321
314322
315323
316324 @Callable(F)
317325 func acceptWorkResult (u,an) = if (E(F.caller, u))
318326 then {
319327 let ao = c((("tasks_" + u) + "_reward"))
320- let z = h((("tasks_" + u) + "_performer"))
321- let ap = h((((("tasks_" + u) + "_app_") + z) + "_leader"))
322- ScriptResult(WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_finished"), DataEntry((((("tasks_" + u) + "_app_") + z) + "_process"), "work_finished"), DataEntry((("tasks_" + u) + "_report"), an)]), TransferSet([ScriptTransfer(addressFromStringValue(ap), ao, unit)]))
328+ let y = h((("tasks_" + u) + "_performer"))
329+ let ap = h((((("tasks_" + u) + "_app_") + y) + "_leader"))
330+ ScriptResult(WriteSet([DataEntry((("tasks_" + u) + "_status"), "work_finished"), DataEntry((((("tasks_" + u) + "_app_") + y) + "_process"), "work_finished"), DataEntry((("tasks_" + u) + "_report"), an)]), TransferSet([ScriptTransfer(addressFromStringValue(ap), ao, unit)]))
323331 }
324332 else throw("checks are not passed")
325333
326334
327335
328336 @Callable(F)
329337 func rejectTask (u) = if (n(F.caller))
330338 then WriteSet([DataEntry((("tasks_" + u) + "_status"), "rejected")])
331339 else throw("grants working group access only")
332340
333341

github/deemru/w8io/873ac7e 
56.47 ms