tx · BBtMhjpePdyyrfCNYYkUuFe5AKifYq7vaeMdJqfQhQNU

3MutoJzdTrUrDBhCu1qU6FRgAADLadZEL9D:  -0.10000000 Waves

2020.12.21 13:53 [1318358] smart account 3MutoJzdTrUrDBhCu1qU6FRgAADLadZEL9D > SELF 0.00000000 Waves

{ "type": 13, "id": "BBtMhjpePdyyrfCNYYkUuFe5AKifYq7vaeMdJqfQhQNU", "fee": 10000000, "feeAssetId": null, "timestamp": 1608548009384, "version": 2, "chainId": 84, "sender": "3MutoJzdTrUrDBhCu1qU6FRgAADLadZEL9D", "senderPublicKey": "AwtL5awdRAD38g4rSetUxgc11P6TfxbJg11rKmX4hXSo", "proofs": [ "11FT7ypPcjtztEXcUN2UAp5e5n4MEUSsxmq1SncZvHKY5QsSHDiqpUYqnp1apkWFFpmeHbGw7y66Jm9UJ6RXyoo" ], "script": "base64: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AwkBAAAAAiE9AAAAAgUAAAAEdm90ZQAAAAAAAAAAAAkAAAIAAAABAgAAACd5b3UgaGF2ZSBhbHJlYWR5IHZvdGVkIG9uIHRoaXMgc29sdXRpb24EAAAAEnRlYW1Wb3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAADnRlYW1JZGVudGlmaWVyAgAAAA5fc29sdXRpb252b3RlcwQAAAAMdGVhbVNjb3JlS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAOdGVhbUlkZW50aWZpZXICAAAADl9zb2x1dGlvbnNjb3JlBAAAAA90ZWFtVm90ZXNBbW91bnQJAABkAAAAAgAAAAAAAAAAAQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtVm90ZXNBbW91bnRLZXkEAAAADG5ld1RlYW1TY29yZQkAAGQAAAACBQAAAAl2b3RlVmFsdWUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAMdGVhbVNjb3JlS2V5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAl2b3RlVmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADHRlYW1TY29yZUtleQUAAAAMbmV3VGVhbVNjb3JlBQAAAANuaWwAAAABaQEAAAAQYWNjZXB0V29ya1Jlc3VsdAAAAAMAAAAGdGFza0lkAAAAEHdpbm5lcklkZW50aWZpZXIAAAAKcmVwb3J0TGluawMJAQAAAAEhAAAAAQkBAAAADWlzR3JvdXBNZW1iZXIAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkEAAAADHJld2FyZEFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19yZXdhcmQEAAAAC3RlYW1BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAVfYXBwXwUAAAAQd2lubmVySWRlbnRpZmllcgIAAAAHX2xlYWRlcgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwIAAAANd29ya19maW5pc2hlZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAFX2FwcF8FAAAAEHdpbm5lcklkZW50aWZpZXICAAAACF9wcm9jZXNzAgAAAAZ3aW5uZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3JlcG9ydAUAAAAKcmVwb3J0TGluawUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAALdGVhbUFkZHJlc3MFAAAADHJld2FyZEFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAACnJlamVjdFRhc2sAAAABAAAABnRhc2tJZAMJAQAAAAEhAAAAAQkBAAAADWlzR3JvdXBNZW1iZXIAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwIAAAAIcmVqZWN0ZWQFAAAAA25pbAAAAAAZjSFD", "height": 1318358, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HYHocCkdycqi9STj3ce7k9XyNRHGZV43H4cS6M2PiEnZ Next: BYsmCg8T4tZSR3zp2433bUFxWUdCUva5CeBRe2Q9yoky Diff:
OldNewDifferences
3131 }
3232
3333
34-func h (i) = (i == this)
34+let h = addressFromStringValue("3NCsqf4pFGtECs3vM4j1nKqL6VA3HdiNGeZ")
35+
36+func i () = {
37+ let d = {
38+ let e = getString(h, "working_group_members")
39+ if ($isInstanceOf(e, "String"))
40+ then {
41+ let f = e
42+ f
43+ }
44+ else ""
45+ }
46+ d
47+ }
3548
3649
3750 func j () = {
3851 let d = {
39- let e = getString(this, "working_group_members")
52+ let e = getString(h, "dao_members")
4053 if ($isInstanceOf(e, "String"))
4154 then {
4255 let f = e
5063
5164 func k () = {
5265 let d = {
53- let e = getString(this, "dao_members")
54- if ($isInstanceOf(e, "String"))
66+ let e = getInteger(h, "dao_size")
67+ if ($isInstanceOf(e, "Int"))
5568 then {
5669 let f = e
5770 f
5871 }
59- else ""
72+ else 0
6073 }
6174 d
6275 }
6376
6477
65-func l (m) = (b((("working_group_member_" + toString(m)) + "_weight")) > 0)
78+func l (m) = {
79+ let d = {
80+ let e = getInteger(h, (("working_group_member_" + toString(m)) + "_weight"))
81+ if ($isInstanceOf(e, "Int"))
82+ then {
83+ let f = e
84+ f
85+ }
86+ else 0
87+ }
88+ (d > 0)
89+ }
6690
6791
68-func n (o) = (b((("dao_member_" + toString(o.caller)) + "_weight")) > 0)
92+func n (o) = {
93+ let d = {
94+ let e = getInteger(h, (("dao_member_" + toString(o.caller)) + "_weight"))
95+ if ($isInstanceOf(e, "Int"))
96+ then {
97+ let f = e
98+ f
99+ }
100+ else 0
101+ }
102+ (d > 0)
103+ }
69104
70105
71106 @Callable(o)
72-func addDAOMember (p) = if (!(h(o.caller)))
73- then throw("access only to the DAO owner")
74- else if ((b((("dao_member_" + p) + "_weight")) == 1))
75- then throw("This user already exists")
76- else {
77- let q = k()
78- let r = ((q + ";") + p)
79- let s = b("dao_size")
80- let t = (s + 1)
81- WriteSet([DataEntry("dao_members", r), DataEntry("dao_size", t), DataEntry((("dao_member_" + p) + "_weight"), 1)])
82- }
107+func addTask (p,q) = if (!(l(o.caller)))
108+ then throw("grants working group access only")
109+ else WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), p), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), q)])
83110
84111
85112
86113 @Callable(o)
87-func addGroupMember (p) = if (!(h(o.caller)))
88- then throw("access only to the DAO owner")
89- else if ((b((("working_group_member_" + p) + "_weight")) == 1))
90- then throw("This user already exists")
91- else {
92- let q = j()
93- let r = ((q + ";") + p)
94- let s = b("working_group_size")
95- let t = (s + 1)
96- WriteSet([DataEntry("working_group_members", r), DataEntry("working_group_size", t), DataEntry((("working_group_member_" + p) + "_weight"), 1)])
97- }
98-
99-
100-
101-@Callable(o)
102-func addTask (u,v) = if (!(l(o.caller)))
103- then throw("grants working group access only")
104- else WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), u), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), v)])
105-
106-
107-
108-@Callable(o)
109-func addReward (w) = if (!(l(o.caller)))
114+func addReward (r) = if (!(l(o.caller)))
110115 then throw("grants working group access only")
111116 else {
112- let x = extract(o.payment).amount
113- WriteSet([DataEntry((("tasks_" + w) + "_reward"), x), DataEntry((("tasks_" + w) + "_status"), "proposed")])
117+ let s = extract(o.payment).amount
118+ WriteSet([DataEntry((("tasks_" + r) + "_reward"), s), DataEntry((("tasks_" + r) + "_status"), "proposed")])
114119 }
115120
116121
117122
118123 @Callable(o)
119-func voteForTaskProposal (w,y) = if (!(n(o)))
124+func voteForTaskProposal (r,t) = if (!(n(o)))
120125 then throw("you can't vote")
121- else if ((getStringValue(this, (("tasks_" + w) + "_status")) != "proposed"))
126+ else if ((getStringValue(this, (("tasks_" + r) + "_status")) != "proposed"))
122127 then throw("voting is closed or not started")
123- else if (if ((y != -1))
124- then (y != 1)
128+ else if (if ((t != -1))
129+ then (t != 1)
125130 else false)
126131 then throw("you need to vote 1 or -1")
127132 else {
128- let z = ((("tasks_" + w) + "_voted_") + toString(o.caller))
129- let A = b(z)
130- if (!((A == 0)))
133+ let u = ((("tasks_" + r) + "_voted_") + toString(o.caller))
134+ let v = b(u)
135+ if (!((v == 0)))
131136 then throw("you have already voted")
132137 else {
133- let B = (("tasks_" + w) + "_voting_state")
134- let C = b(B)
135- let D = (("tasks_" + w) + "_voting_amount")
136- let E = (b(B) + 1)
137- let F = (C + y)
138- ScriptResult(WriteSet([DataEntry(B, F), DataEntry(z, y), DataEntry(D, E)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
138+ let w = (("tasks_" + r) + "_voting_state")
139+ let x = b(w)
140+ let y = (("tasks_" + r) + "_voting_amount")
141+ let z = (b(w) + 1)
142+ let A = (x + t)
143+ ScriptResult(WriteSet([DataEntry(w, A), DataEntry(u, t), DataEntry(y, z)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
139144 }
140145 }
141146
142147
143148
144149 @Callable(o)
145-func finishTaskProposalVoting (w) = if ((a > ((b((("tasks_" + w) + "_voting_amount")) * 100) / b("dao_size"))))
150+func finishTaskProposalVoting (r) = if ((a > ((b((("tasks_" + r) + "_voting_amount")) * 100) / k())))
146151 then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
147152 else if (!(l(o.caller)))
148153 then throw("grants working group access only")
149154 else {
150- let B = (("tasks_" + w) + "_voting_state")
151- let C = b(B)
152- if ((C > 0))
155+ let w = (("tasks_" + r) + "_voting_state")
156+ let x = b(w)
157+ if ((x > 0))
153158 then {
154- let G = "ready_to_apply"
155- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
159+ let B = "ready_to_apply"
160+ WriteSet([DataEntry((("tasks_" + r) + "_status"), B)])
156161 }
157162 else {
158- let G = "rejected"
159- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
163+ let B = "rejected"
164+ WriteSet([DataEntry((("tasks_" + r) + "_status"), B)])
160165 }
161166 }
162167
163168
164169
165170 @Callable(o)
166-func applyForTask (w,H,v) = {
167- let I = g((("tasks_" + w) + "_status"))
168- if ((I != "ready_to_apply"))
171+func applyForTask (r,C,q) = {
172+ let D = g((("tasks_" + r) + "_status"))
173+ if ((D != "ready_to_apply"))
169174 then throw("This grant has not yet been approved")
170175 else {
171- let J = (("tasks_" + w) + "_applicants")
172- let K = g(J)
173- let L = drop(toString(o.caller), 10)
174- let M = toString(o.caller)
175- let N = ((K + ";") + M)
176- WriteSet([DataEntry((((("tasks_" + w) + "_app_") + L) + "_name"), H), DataEntry((((("tasks_" + w) + "_app_") + L) + "_link"), v), DataEntry((((("tasks_" + w) + "_app_") + L) + "_leader"), M), DataEntry((((("tasks_" + w) + "_app_") + L) + "_id"), L), DataEntry(J, N)])
176+ let E = (("tasks_" + r) + "_applicants")
177+ let F = g(E)
178+ let G = drop(toString(o.caller), 10)
179+ let H = toString(o.caller)
180+ let I = ((F + ";") + H)
181+ WriteSet([DataEntry((((("tasks_" + r) + "_app_") + G) + "_name"), C), DataEntry((((("tasks_" + r) + "_app_") + G) + "_link"), q), DataEntry((((("tasks_" + r) + "_app_") + G) + "_leader"), H), DataEntry((((("tasks_" + r) + "_app_") + G) + "_id"), G), DataEntry(E, I)])
177182 }
178183 }
179184
180185
181186
182187 @Callable(o)
183-func voteForApplicant (w,O,y) = if (!(n(o)))
188+func voteForApplicant (r,J,t) = if (!(n(o)))
184189 then throw("you can't vote")
185190 else {
186- let P = (drop(toString(o.caller), 10) + drop(O, 10))
187- let z = ((("tasks_" + w) + "_vote_") + P)
188- let Q = b(z)
189- if ((Q != 0))
191+ let K = (drop(toString(o.caller), 10) + drop(J, 10))
192+ let u = ((("tasks_" + r) + "_vote_") + K)
193+ let L = b(u)
194+ if ((L != 0))
190195 then throw("you have already voted on this team")
191196 else {
192- let R = (((("tasks_" + w) + "_app_") + O) + "_votes")
193- let S = (((("tasks_" + w) + "_app_") + O) + "_score")
194- let T = (1 + b(R))
195- let U = (y + b(S))
196- WriteSet([DataEntry(z, y), DataEntry(S, U)])
197+ let M = (((("tasks_" + r) + "_app_") + J) + "_votes")
198+ let N = (((("tasks_" + r) + "_app_") + J) + "_score")
199+ let O = (1 + b(M))
200+ let P = (t + b(N))
201+ WriteSet([DataEntry(u, t), DataEntry(N, P)])
197202 }
198203 }
199204
200205
201206
202207 @Callable(o)
203-func finishApplicantsVoting (w) = {
204- let V = 1
208+func finishApplicantsVoting (r) = {
209+ let Q = 1
205210 if (!(l(o.caller)))
206211 then throw("grants working group access only")
207212 else {
208- let W = g((("tasks_" + w) + "_applicants"))
209- let X = split(W, ";")
210- if ((size(X) == 0))
213+ let R = g((("tasks_" + r) + "_applicants"))
214+ let S = split(R, ";")
215+ if ((size(S) == 0))
211216 then throw("No one has applied to the hackathon, yet")
212- else WriteSet([DataEntry((("tasks_" + w) + "_performer"), W), DataEntry((("tasks_" + w) + "_status"), "ready_to_submit")])
217+ else WriteSet([DataEntry((("tasks_" + r) + "_performer"), R), DataEntry((("tasks_" + r) + "_status"), "ready_to_submit")])
213218 }
214219 }
215220
216221
217222
218223 @Callable(o)
219-func enableSubmissions (w,Y) = if (!(l(o.caller)))
224+func enableSubmissions (r,T) = if (!(l(o.caller)))
220225 then throw("grants working group access only")
221- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_started"), DataEntry((("tasks_" + w) + "_jury"), Y)])
226+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_started"), DataEntry((("tasks_" + r) + "_jury"), T)])
222227
223228
224229
225230 @Callable(o)
226-func submitSolution (w,Z) = {
227- func aa (w) = (g((("tasks_" + w) + "_status")) == "work_started")
231+func submitSolution (r,U) = {
232+ func V (r) = (g((("tasks_" + r) + "_status")) == "work_started")
228233
229- let O = getStringValue(this, (("tasks_" + w) + "_performer"))
230- if (!(aa(w)))
234+ let J = getStringValue(this, (("tasks_" + r) + "_performer"))
235+ if (!(V(r)))
231236 then throw("not possible to upload solution now")
232- else if ((toString(o.caller) != getStringValue(this, (((("tasks_" + w) + "_app_") + O) + "_leader"))))
237+ else if ((toString(o.caller) != getStringValue(this, (((("tasks_" + r) + "_app_") + J) + "_leader"))))
233238 then throw("team leader only")
234- else WriteSet([DataEntry((((("tasks_" + w) + "_app_") + O) + "_process"), "work_submitted"), DataEntry((((("tasks_" + w) + "_app_") + O) + "_solution"), Z)])
239+ else WriteSet([DataEntry((((("tasks_" + r) + "_app_") + J) + "_process"), "work_submitted"), DataEntry((((("tasks_" + r) + "_app_") + J) + "_solution"), U)])
235240 }
236241
237242
238243
239244 @Callable(o)
240-func stopSubmissions (w) = if (!(l(o.caller)))
245+func stopSubmissions (r) = if (!(l(o.caller)))
241246 then throw("grants working group access only")
242- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_finished")])
247+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_finished")])
243248
244249
245250
246251 @Callable(o)
247-func voteForSolution (w,O,y) = {
248- func ab (o,w) = true
252+func voteForSolution (r,J,t) = {
253+ func W (o,r) = true
249254
250- if (!(ab(o, w)))
255+ if (!(W(o, r)))
251256 then throw("you can't vote")
252257 else {
253- let P = (drop(toString(o.caller), 10) + drop(O, 10))
254- let z = ((("tasks_" + w) + "_solutionvote_") + P)
255- let Q = b(z)
256- if ((Q != 0))
258+ let K = (drop(toString(o.caller), 10) + drop(J, 10))
259+ let u = ((("tasks_" + r) + "_solutionvote_") + K)
260+ let L = b(u)
261+ if ((L != 0))
257262 then throw("you have already voted on this solution")
258263 else {
259- let R = (((("tasks_" + w) + "_app_") + O) + "_solutionvotes")
260- let S = (((("tasks_" + w) + "_app_") + O) + "_solutionscore")
261- let T = (1 + b(R))
262- let U = (y + b(S))
263- WriteSet([DataEntry(z, y), DataEntry(S, U)])
264+ let M = (((("tasks_" + r) + "_app_") + J) + "_solutionvotes")
265+ let N = (((("tasks_" + r) + "_app_") + J) + "_solutionscore")
266+ let O = (1 + b(M))
267+ let P = (t + b(N))
268+ WriteSet([DataEntry(u, t), DataEntry(N, P)])
264269 }
265270 }
266271 }
268273
269274
270275 @Callable(o)
271-func acceptWorkResult (w,ac,ad) = if (!(l(o.caller)))
276+func acceptWorkResult (r,X,Y) = if (!(l(o.caller)))
272277 then throw("grants working group access only")
273278 else {
274- let ae = b((("tasks_" + w) + "_reward"))
275- let af = getStringValue(this, (((("tasks_" + w) + "_app_") + ac) + "_leader"))
276- ScriptResult(WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_finished"), DataEntry((((("tasks_" + w) + "_app_") + ac) + "_process"), "winner"), DataEntry((("tasks_" + w) + "_report"), ad)]), TransferSet([ScriptTransfer(addressFromStringValue(af), ae, unit)]))
279+ let Z = b((("tasks_" + r) + "_reward"))
280+ let aa = getStringValue(this, (((("tasks_" + r) + "_app_") + X) + "_leader"))
281+ ScriptResult(WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_finished"), DataEntry((((("tasks_" + r) + "_app_") + X) + "_process"), "winner"), DataEntry((("tasks_" + r) + "_report"), Y)]), TransferSet([ScriptTransfer(addressFromStringValue(aa), Z, unit)]))
277282 }
278283
279284
280285
281286 @Callable(o)
282-func rejectTask (w) = if (!(l(o.caller)))
287+func rejectTask (r) = if (!(l(o.caller)))
283288 then throw("grants working group access only")
284- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "rejected")])
289+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "rejected")])
285290
286291
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1
55
66 func b (c) = {
77 let d = {
88 let e = getInteger(this, c)
99 if ($isInstanceOf(e, "Int"))
1010 then {
1111 let f = e
1212 f
1313 }
1414 else 0
1515 }
1616 d
1717 }
1818
1919
2020 func g (c) = {
2121 let d = {
2222 let e = getString(this, c)
2323 if ($isInstanceOf(e, "String"))
2424 then {
2525 let f = e
2626 f
2727 }
2828 else ""
2929 }
3030 d
3131 }
3232
3333
34-func h (i) = (i == this)
34+let h = addressFromStringValue("3NCsqf4pFGtECs3vM4j1nKqL6VA3HdiNGeZ")
35+
36+func i () = {
37+ let d = {
38+ let e = getString(h, "working_group_members")
39+ if ($isInstanceOf(e, "String"))
40+ then {
41+ let f = e
42+ f
43+ }
44+ else ""
45+ }
46+ d
47+ }
3548
3649
3750 func j () = {
3851 let d = {
39- let e = getString(this, "working_group_members")
52+ let e = getString(h, "dao_members")
4053 if ($isInstanceOf(e, "String"))
4154 then {
4255 let f = e
4356 f
4457 }
4558 else ""
4659 }
4760 d
4861 }
4962
5063
5164 func k () = {
5265 let d = {
53- let e = getString(this, "dao_members")
54- if ($isInstanceOf(e, "String"))
66+ let e = getInteger(h, "dao_size")
67+ if ($isInstanceOf(e, "Int"))
5568 then {
5669 let f = e
5770 f
5871 }
59- else ""
72+ else 0
6073 }
6174 d
6275 }
6376
6477
65-func l (m) = (b((("working_group_member_" + toString(m)) + "_weight")) > 0)
78+func l (m) = {
79+ let d = {
80+ let e = getInteger(h, (("working_group_member_" + toString(m)) + "_weight"))
81+ if ($isInstanceOf(e, "Int"))
82+ then {
83+ let f = e
84+ f
85+ }
86+ else 0
87+ }
88+ (d > 0)
89+ }
6690
6791
68-func n (o) = (b((("dao_member_" + toString(o.caller)) + "_weight")) > 0)
92+func n (o) = {
93+ let d = {
94+ let e = getInteger(h, (("dao_member_" + toString(o.caller)) + "_weight"))
95+ if ($isInstanceOf(e, "Int"))
96+ then {
97+ let f = e
98+ f
99+ }
100+ else 0
101+ }
102+ (d > 0)
103+ }
69104
70105
71106 @Callable(o)
72-func addDAOMember (p) = if (!(h(o.caller)))
73- then throw("access only to the DAO owner")
74- else if ((b((("dao_member_" + p) + "_weight")) == 1))
75- then throw("This user already exists")
76- else {
77- let q = k()
78- let r = ((q + ";") + p)
79- let s = b("dao_size")
80- let t = (s + 1)
81- WriteSet([DataEntry("dao_members", r), DataEntry("dao_size", t), DataEntry((("dao_member_" + p) + "_weight"), 1)])
82- }
107+func addTask (p,q) = if (!(l(o.caller)))
108+ then throw("grants working group access only")
109+ else WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), p), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), q)])
83110
84111
85112
86113 @Callable(o)
87-func addGroupMember (p) = if (!(h(o.caller)))
88- then throw("access only to the DAO owner")
89- else if ((b((("working_group_member_" + p) + "_weight")) == 1))
90- then throw("This user already exists")
91- else {
92- let q = j()
93- let r = ((q + ";") + p)
94- let s = b("working_group_size")
95- let t = (s + 1)
96- WriteSet([DataEntry("working_group_members", r), DataEntry("working_group_size", t), DataEntry((("working_group_member_" + p) + "_weight"), 1)])
97- }
98-
99-
100-
101-@Callable(o)
102-func addTask (u,v) = if (!(l(o.caller)))
103- then throw("grants working group access only")
104- else WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), u), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), v)])
105-
106-
107-
108-@Callable(o)
109-func addReward (w) = if (!(l(o.caller)))
114+func addReward (r) = if (!(l(o.caller)))
110115 then throw("grants working group access only")
111116 else {
112- let x = extract(o.payment).amount
113- WriteSet([DataEntry((("tasks_" + w) + "_reward"), x), DataEntry((("tasks_" + w) + "_status"), "proposed")])
117+ let s = extract(o.payment).amount
118+ WriteSet([DataEntry((("tasks_" + r) + "_reward"), s), DataEntry((("tasks_" + r) + "_status"), "proposed")])
114119 }
115120
116121
117122
118123 @Callable(o)
119-func voteForTaskProposal (w,y) = if (!(n(o)))
124+func voteForTaskProposal (r,t) = if (!(n(o)))
120125 then throw("you can't vote")
121- else if ((getStringValue(this, (("tasks_" + w) + "_status")) != "proposed"))
126+ else if ((getStringValue(this, (("tasks_" + r) + "_status")) != "proposed"))
122127 then throw("voting is closed or not started")
123- else if (if ((y != -1))
124- then (y != 1)
128+ else if (if ((t != -1))
129+ then (t != 1)
125130 else false)
126131 then throw("you need to vote 1 or -1")
127132 else {
128- let z = ((("tasks_" + w) + "_voted_") + toString(o.caller))
129- let A = b(z)
130- if (!((A == 0)))
133+ let u = ((("tasks_" + r) + "_voted_") + toString(o.caller))
134+ let v = b(u)
135+ if (!((v == 0)))
131136 then throw("you have already voted")
132137 else {
133- let B = (("tasks_" + w) + "_voting_state")
134- let C = b(B)
135- let D = (("tasks_" + w) + "_voting_amount")
136- let E = (b(B) + 1)
137- let F = (C + y)
138- ScriptResult(WriteSet([DataEntry(B, F), DataEntry(z, y), DataEntry(D, E)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
138+ let w = (("tasks_" + r) + "_voting_state")
139+ let x = b(w)
140+ let y = (("tasks_" + r) + "_voting_amount")
141+ let z = (b(w) + 1)
142+ let A = (x + t)
143+ ScriptResult(WriteSet([DataEntry(w, A), DataEntry(u, t), DataEntry(y, z)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
139144 }
140145 }
141146
142147
143148
144149 @Callable(o)
145-func finishTaskProposalVoting (w) = if ((a > ((b((("tasks_" + w) + "_voting_amount")) * 100) / b("dao_size"))))
150+func finishTaskProposalVoting (r) = if ((a > ((b((("tasks_" + r) + "_voting_amount")) * 100) / k())))
146151 then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
147152 else if (!(l(o.caller)))
148153 then throw("grants working group access only")
149154 else {
150- let B = (("tasks_" + w) + "_voting_state")
151- let C = b(B)
152- if ((C > 0))
155+ let w = (("tasks_" + r) + "_voting_state")
156+ let x = b(w)
157+ if ((x > 0))
153158 then {
154- let G = "ready_to_apply"
155- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
159+ let B = "ready_to_apply"
160+ WriteSet([DataEntry((("tasks_" + r) + "_status"), B)])
156161 }
157162 else {
158- let G = "rejected"
159- WriteSet([DataEntry((("tasks_" + w) + "_status"), G)])
163+ let B = "rejected"
164+ WriteSet([DataEntry((("tasks_" + r) + "_status"), B)])
160165 }
161166 }
162167
163168
164169
165170 @Callable(o)
166-func applyForTask (w,H,v) = {
167- let I = g((("tasks_" + w) + "_status"))
168- if ((I != "ready_to_apply"))
171+func applyForTask (r,C,q) = {
172+ let D = g((("tasks_" + r) + "_status"))
173+ if ((D != "ready_to_apply"))
169174 then throw("This grant has not yet been approved")
170175 else {
171- let J = (("tasks_" + w) + "_applicants")
172- let K = g(J)
173- let L = drop(toString(o.caller), 10)
174- let M = toString(o.caller)
175- let N = ((K + ";") + M)
176- WriteSet([DataEntry((((("tasks_" + w) + "_app_") + L) + "_name"), H), DataEntry((((("tasks_" + w) + "_app_") + L) + "_link"), v), DataEntry((((("tasks_" + w) + "_app_") + L) + "_leader"), M), DataEntry((((("tasks_" + w) + "_app_") + L) + "_id"), L), DataEntry(J, N)])
176+ let E = (("tasks_" + r) + "_applicants")
177+ let F = g(E)
178+ let G = drop(toString(o.caller), 10)
179+ let H = toString(o.caller)
180+ let I = ((F + ";") + H)
181+ WriteSet([DataEntry((((("tasks_" + r) + "_app_") + G) + "_name"), C), DataEntry((((("tasks_" + r) + "_app_") + G) + "_link"), q), DataEntry((((("tasks_" + r) + "_app_") + G) + "_leader"), H), DataEntry((((("tasks_" + r) + "_app_") + G) + "_id"), G), DataEntry(E, I)])
177182 }
178183 }
179184
180185
181186
182187 @Callable(o)
183-func voteForApplicant (w,O,y) = if (!(n(o)))
188+func voteForApplicant (r,J,t) = if (!(n(o)))
184189 then throw("you can't vote")
185190 else {
186- let P = (drop(toString(o.caller), 10) + drop(O, 10))
187- let z = ((("tasks_" + w) + "_vote_") + P)
188- let Q = b(z)
189- if ((Q != 0))
191+ let K = (drop(toString(o.caller), 10) + drop(J, 10))
192+ let u = ((("tasks_" + r) + "_vote_") + K)
193+ let L = b(u)
194+ if ((L != 0))
190195 then throw("you have already voted on this team")
191196 else {
192- let R = (((("tasks_" + w) + "_app_") + O) + "_votes")
193- let S = (((("tasks_" + w) + "_app_") + O) + "_score")
194- let T = (1 + b(R))
195- let U = (y + b(S))
196- WriteSet([DataEntry(z, y), DataEntry(S, U)])
197+ let M = (((("tasks_" + r) + "_app_") + J) + "_votes")
198+ let N = (((("tasks_" + r) + "_app_") + J) + "_score")
199+ let O = (1 + b(M))
200+ let P = (t + b(N))
201+ WriteSet([DataEntry(u, t), DataEntry(N, P)])
197202 }
198203 }
199204
200205
201206
202207 @Callable(o)
203-func finishApplicantsVoting (w) = {
204- let V = 1
208+func finishApplicantsVoting (r) = {
209+ let Q = 1
205210 if (!(l(o.caller)))
206211 then throw("grants working group access only")
207212 else {
208- let W = g((("tasks_" + w) + "_applicants"))
209- let X = split(W, ";")
210- if ((size(X) == 0))
213+ let R = g((("tasks_" + r) + "_applicants"))
214+ let S = split(R, ";")
215+ if ((size(S) == 0))
211216 then throw("No one has applied to the hackathon, yet")
212- else WriteSet([DataEntry((("tasks_" + w) + "_performer"), W), DataEntry((("tasks_" + w) + "_status"), "ready_to_submit")])
217+ else WriteSet([DataEntry((("tasks_" + r) + "_performer"), R), DataEntry((("tasks_" + r) + "_status"), "ready_to_submit")])
213218 }
214219 }
215220
216221
217222
218223 @Callable(o)
219-func enableSubmissions (w,Y) = if (!(l(o.caller)))
224+func enableSubmissions (r,T) = if (!(l(o.caller)))
220225 then throw("grants working group access only")
221- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_started"), DataEntry((("tasks_" + w) + "_jury"), Y)])
226+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_started"), DataEntry((("tasks_" + r) + "_jury"), T)])
222227
223228
224229
225230 @Callable(o)
226-func submitSolution (w,Z) = {
227- func aa (w) = (g((("tasks_" + w) + "_status")) == "work_started")
231+func submitSolution (r,U) = {
232+ func V (r) = (g((("tasks_" + r) + "_status")) == "work_started")
228233
229- let O = getStringValue(this, (("tasks_" + w) + "_performer"))
230- if (!(aa(w)))
234+ let J = getStringValue(this, (("tasks_" + r) + "_performer"))
235+ if (!(V(r)))
231236 then throw("not possible to upload solution now")
232- else if ((toString(o.caller) != getStringValue(this, (((("tasks_" + w) + "_app_") + O) + "_leader"))))
237+ else if ((toString(o.caller) != getStringValue(this, (((("tasks_" + r) + "_app_") + J) + "_leader"))))
233238 then throw("team leader only")
234- else WriteSet([DataEntry((((("tasks_" + w) + "_app_") + O) + "_process"), "work_submitted"), DataEntry((((("tasks_" + w) + "_app_") + O) + "_solution"), Z)])
239+ else WriteSet([DataEntry((((("tasks_" + r) + "_app_") + J) + "_process"), "work_submitted"), DataEntry((((("tasks_" + r) + "_app_") + J) + "_solution"), U)])
235240 }
236241
237242
238243
239244 @Callable(o)
240-func stopSubmissions (w) = if (!(l(o.caller)))
245+func stopSubmissions (r) = if (!(l(o.caller)))
241246 then throw("grants working group access only")
242- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_finished")])
247+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_finished")])
243248
244249
245250
246251 @Callable(o)
247-func voteForSolution (w,O,y) = {
248- func ab (o,w) = true
252+func voteForSolution (r,J,t) = {
253+ func W (o,r) = true
249254
250- if (!(ab(o, w)))
255+ if (!(W(o, r)))
251256 then throw("you can't vote")
252257 else {
253- let P = (drop(toString(o.caller), 10) + drop(O, 10))
254- let z = ((("tasks_" + w) + "_solutionvote_") + P)
255- let Q = b(z)
256- if ((Q != 0))
258+ let K = (drop(toString(o.caller), 10) + drop(J, 10))
259+ let u = ((("tasks_" + r) + "_solutionvote_") + K)
260+ let L = b(u)
261+ if ((L != 0))
257262 then throw("you have already voted on this solution")
258263 else {
259- let R = (((("tasks_" + w) + "_app_") + O) + "_solutionvotes")
260- let S = (((("tasks_" + w) + "_app_") + O) + "_solutionscore")
261- let T = (1 + b(R))
262- let U = (y + b(S))
263- WriteSet([DataEntry(z, y), DataEntry(S, U)])
264+ let M = (((("tasks_" + r) + "_app_") + J) + "_solutionvotes")
265+ let N = (((("tasks_" + r) + "_app_") + J) + "_solutionscore")
266+ let O = (1 + b(M))
267+ let P = (t + b(N))
268+ WriteSet([DataEntry(u, t), DataEntry(N, P)])
264269 }
265270 }
266271 }
267272
268273
269274
270275 @Callable(o)
271-func acceptWorkResult (w,ac,ad) = if (!(l(o.caller)))
276+func acceptWorkResult (r,X,Y) = if (!(l(o.caller)))
272277 then throw("grants working group access only")
273278 else {
274- let ae = b((("tasks_" + w) + "_reward"))
275- let af = getStringValue(this, (((("tasks_" + w) + "_app_") + ac) + "_leader"))
276- ScriptResult(WriteSet([DataEntry((("tasks_" + w) + "_status"), "work_finished"), DataEntry((((("tasks_" + w) + "_app_") + ac) + "_process"), "winner"), DataEntry((("tasks_" + w) + "_report"), ad)]), TransferSet([ScriptTransfer(addressFromStringValue(af), ae, unit)]))
279+ let Z = b((("tasks_" + r) + "_reward"))
280+ let aa = getStringValue(this, (((("tasks_" + r) + "_app_") + X) + "_leader"))
281+ ScriptResult(WriteSet([DataEntry((("tasks_" + r) + "_status"), "work_finished"), DataEntry((((("tasks_" + r) + "_app_") + X) + "_process"), "winner"), DataEntry((("tasks_" + r) + "_report"), Y)]), TransferSet([ScriptTransfer(addressFromStringValue(aa), Z, unit)]))
277282 }
278283
279284
280285
281286 @Callable(o)
282-func rejectTask (w) = if (!(l(o.caller)))
287+func rejectTask (r) = if (!(l(o.caller)))
283288 then throw("grants working group access only")
284- else WriteSet([DataEntry((("tasks_" + w) + "_status"), "rejected")])
289+ else WriteSet([DataEntry((("tasks_" + r) + "_status"), "rejected")])
285290
286291

github/deemru/w8io/169f3d6 
94.64 ms