tx · 25pk9sPbXUGhnRhfTSbeWTuypf9KAQnPKdMi6HGtk2we

3MvqnYLwBErxGtKzeEjgWgr2RXgniokicR2:  -0.01400000 Waves

2020.09.30 15:44 [1200060] smart account 3MvqnYLwBErxGtKzeEjgWgr2RXgniokicR2 > SELF 0.00000000 Waves

{ "type": 13, "id": "25pk9sPbXUGhnRhfTSbeWTuypf9KAQnPKdMi6HGtk2we", "fee": 1400000, "feeAssetId": null, "timestamp": 1601469895547, "version": 2, "chainId": 84, "sender": "3MvqnYLwBErxGtKzeEjgWgr2RXgniokicR2", "senderPublicKey": "3dxKqzB5AWentnFkyzLnbnRfN2iRWgE7Q4paMwfi9MoT", "proofs": [ "5wVLenmgxA8H5YmLyqcXRa1EyXooMJyme3UCYU18ZmqxxyjDgPG3JSxv3ejn8hTfS4SYnghfLf2DS7fpWHmBYkqc" ], "script": "base64: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AAACBQAAAAZ0YXNrSWQCAAAAC19hcHBsaWNhbnRfBQAAAAh0ZWFtTmFtZQIAAAAGX3Njb3JlBAAAAA90ZWFtVm90ZXNBbW91bnQJAABkAAAAAgAAAAAAAAAAAQkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABJ0ZWFtVm90ZXNBbW91bnRLZXkEAAAADG5ld1RlYW1TY29yZQkAAGQAAAACBQAAAAl2b3RlVmFsdWUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAMdGVhbVNjb3JlS2V5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAl2b3RlVmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADHRlYW1TY29yZUtleQUAAAAMbmV3VGVhbVNjb3JlBQAAAANuaWwAAAABaQEAAAAWZmluaXNoQXBwbGljYW50c1ZvdGluZwAAAAEAAAAGdGFza0lkCgEAAAAWaXNBcHBsaWNhbnRWb3RlZEVub3VnaAAAAAIAAAADYWlkAAAABGFpZDIEAAAAB2xpc3RLZXkJAAEsAAAAAgUAAAAGdGFza0lkAgAAAAtfYXBwbGljYW50cwQAAAAOYXBwbGljYW50c0xpc3QJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAHbGlzdEtleQIAAAABOwQAAAAIdGVhbU5hbWUJAAGRAAAAAgUAAAAOYXBwbGljYW50c0xpc3QFAAAAA2FpZAQAAAASdGVhbVZvdGVzQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZ0YXNrSWQCAAAAC19hcHBsaWNhbnRfBQAAAAh0ZWFtTmFtZQIAAAAGX3ZvdGVzBAAAAA90ZWFtVm90ZXNBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAASdGVhbVZvdGVzQW1vdW50S2V5AwkAAGYAAAACBQAAAA90ZWFtVm90ZXNBbW91bnQAAAAAAAAAAAAAAAAAAAAAAAEJAAACAAAAAQkAASwAAAACAgAAACVub3QgZW5vdWdoIHZvdGVzIHRvIG1ha2UgZGVjaXNpb24gb24gBQAAAAh0ZWFtTmFtZQoBAAAADGhhc01vcmVWb3RlcwAAAAIAAAADYWlkAAAABGFpZDIEAAAAB2xpc3RLZXkJAAEsAAAAAgUAAAAGdGFza0lkAgAAAAtfYXBwbGljYW50cwQAAAAOYXBwbGljYW50c0xpc3QJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAHbGlzdEtleQIAAAABOwQAAAAIdGVhbU5hbWUJAAGRAAAAAgUAAAAOYXBwbGljYW50c0xpc3QFAAAAA2FpZAQAAAASdGVhbVZvdGVzQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZ0YXNrSWQCAAAAC19hcHBsaWNhbnRfBQAAAAh0ZWFtTmFtZQIAAAAGX3ZvdGVzBAAAAA90ZWFtVm90ZXNBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAASdGVhbVZvdGVzQW1vdW50S2V5BAAAAAl0ZWFtMk5hbWUJAAGRAAAAAgUAAAAOYXBwbGljYW50c0xpc3QFAAAABGFpZDIEAAAAE3RlYW0yVm90ZXNBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABnRhc2tJZAIAAAALX2FwcGxpY2FudF8FAAAACXRlYW0yTmFtZQIAAAAGX3ZvdGVzBAAAABB0ZWFtMlZvdGVzQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAAE3RlYW0yVm90ZXNBbW91bnRLZXkDCQAAZgAAAAIFAAAAD3RlYW1Wb3Rlc0Ftb3VudAUAAAAQdGVhbTJWb3Rlc0Ftb3VudAUAAAADYWlkBQAAAARhaWQyAwkBAAAAASEAAAABCQEAAAANaXNHcm91cE1lbWJlcgAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBncmFudHMgd29ya2luZyBncm91cCBhY2Nlc3Mgb25seQQAAAAMY2hvc2VuVGVhbUlkBAAAAA0kbGlzdDg1MjI4NTUzCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAQUAAAADbmlsBAAAAA0kc2l6ZTg1MjI4NTUzCQABkAAAAAEFAAAADSRsaXN0ODUyMjg1NTMEAAAADSRhY2MwODUy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", "height": 1200060, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9eiYxMChRd2ijzayz4mSkRx4LzYLU3S46na2R2M1BUMQ Next: 5TpwqYSbWw3yrqV8taWPud8oKtC3j97perB4hoVJHTCt Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 50
55
6-func b (c) = {
7- let d = {
8- let e = getInteger(this, c)
9- if ($isInstanceOf(e, "Int"))
6+let b = base58'4zfrrwDVjbGFM8wxbZGriVLY4XJsVD4oNMp21FnDnMAa'
7+
8+func c (d) = {
9+ let e = {
10+ let f = getInteger(this, d)
11+ if ($isInstanceOf(f, "Int"))
1012 then {
11- let f = e
12- f
13+ let g = f
14+ g
1315 }
1416 else 0
1517 }
16- d
18+ e
1719 }
1820
1921
20-func g (h) = (h == this)
22+func h (i) = (i == this)
2123
2224
23-func i () = {
24- let d = {
25- let e = getString(this, "working_group")
26- if ($isInstanceOf(e, "String"))
25+func j () = {
26+ let e = {
27+ let f = getString(this, "working_group")
28+ if ($isInstanceOf(f, "String"))
2729 then {
28- let f = e
29- f
30+ let g = f
31+ g
3032 }
3133 else ""
3234 }
33- d
35+ e
3436 }
3537
3638
37-func j () = {
38- let d = {
39- let e = getString(this, "dao_members")
40- if ($isInstanceOf(e, "String"))
39+func k () = {
40+ let e = {
41+ let f = getString(this, "dao_members")
42+ if ($isInstanceOf(f, "String"))
4143 then {
42- let f = e
43- f
44+ let g = f
45+ g
4446 }
4547 else ""
4648 }
47- d
49+ e
4850 }
4951
5052
51-func k (l) = (b(("group_member_weight_" + toString(l))) > 0)
53+func l (m) = (c(("group_member_weight_" + toString(m))) > 0)
5254
5355
54-func m (n) = (b(("dao_member_weight_" + toString(n.caller))) > 0)
56+func n (o) = (c(("dao_member_weight_" + toString(o.caller))) > 0)
5557
5658
57-@Callable(n)
58-func addDAOMember (o) = if (!(g(n.caller)))
59+@Callable(o)
60+func addDAOMember (p) = if (!(h(o.caller)))
5961 then throw("access only to the DAO owner")
6062 else {
61- let p = j()
62- let q = ((p + ";") + o)
63- let r = b("dao_size")
64- let s = (r + 1)
65- WriteSet([DataEntry("dao_members", q), DataEntry("dao_size", s), DataEntry(("dao_member_weight_" + o), 1)])
63+ let q = k()
64+ let r = ((q + ";") + p)
65+ let s = c("dao_size")
66+ let t = (s + 1)
67+ WriteSet([DataEntry("dao_members", r), DataEntry("dao_size", t), DataEntry(("dao_member_weight_" + p), 1)])
6668 }
6769
6870
6971
70-@Callable(n)
71-func addGroupMember (o) = if (!(g(n.caller)))
72+@Callable(o)
73+func addGroupMember (p) = if (!(h(o.caller)))
7274 then throw("access only to the DAO owner")
7375 else {
74- let p = i()
75- let q = ((p + ";") + o)
76- let r = b("working_group_size")
77- let s = (r + 1)
78- WriteSet([DataEntry("working_group", q), DataEntry("working_group_size", s), DataEntry(("group_member_weight_" + o), 1)])
76+ let q = j()
77+ let r = ((q + ";") + p)
78+ let s = c("working_group_size")
79+ let t = (s + 1)
80+ WriteSet([DataEntry("working_group", r), DataEntry("working_group_size", t), DataEntry(("group_member_weight_" + p), 1)])
7981 }
8082
8183
8284
83-@Callable(n)
84-func addTask (t) = if (!(k(n.caller)))
85+@Callable(o)
86+func addTask (u) = if (!(l(o.caller)))
8587 then throw("grants working group access only")
86- else WriteSet([DataEntry((toBase58String(n.transactionId) + "_task"), t)])
88+ else WriteSet([DataEntry((toBase58String(o.transactionId) + "_task"), u)])
8789
8890
8991
90-@Callable(n)
91-func addTaskDetails (u) = if (!(k(n.caller)))
92- then throw("grants working group access only")
92+@Callable(o)
93+func rateTask (v,w) = if (!(if ((w == 1))
94+ then true
95+ else (w == -1)))
96+ then throw("your rate needs to be +1 or -1")
9397 else {
94- let v = extract(n.payment).amount
95- WriteSet([DataEntry((u + "_reward"), v), DataEntry((u + "_status"), "proposed")])
98+ let x = extract(o.payment)
99+ if ((x.assetId != b))
100+ then throw("you need to vote using WCT")
101+ else {
102+ let y = x.amount
103+ let z = (w * y)
104+ let A = c((v + "_community_rate"))
105+ ScriptResult(WriteSet([DataEntry((v + "_community_rate"), (A + z))]), TransferSet([ScriptTransfer(o.caller, x.amount, x.assetId)]))
106+ }
96107 }
97108
98109
99110
100-@Callable(n)
101-func voteForTaskProposal (u,w) = if (!(m(n)))
111+@Callable(o)
112+func addTaskDetails (v) = if (!(l(o.caller)))
113+ then throw("grants working group access only")
114+ else {
115+ let B = extract(o.payment).amount
116+ WriteSet([DataEntry((v + "_reward"), B), DataEntry((v + "_status"), "proposed")])
117+ }
118+
119+
120+
121+@Callable(o)
122+func voteForTaskProposal (v,C) = if (!(n(o)))
102123 then throw("you can't vote")
103- else if ((getStringValue(this, (u + "_status")) != "proposed"))
124+ else if ((getStringValue(this, (v + "_status")) != "proposed"))
104125 then throw("voting is closed or not started")
105- else if (if ((w != -1))
106- then (w != 1)
126+ else if (if ((C != -1))
127+ then (C != 1)
107128 else false)
108129 then throw("you need to vote 1 or -1")
109130 else {
110- let x = (((u + "_") + toString(n.caller)) + "_vote1")
111- let y = b(x)
112- if (!((y == 0)))
131+ let D = (((v + "_") + toString(o.caller)) + "_vote1")
132+ let E = c(D)
133+ if (!((E == 0)))
113134 then throw("you have already voted")
114135 else {
115- let z = (u + "_voting1")
116- let A = b(z)
117- let B = (u + "_voting1_amount")
118- let C = (b(z) + 1)
119- let D = (A + w)
120- ScriptResult(WriteSet([DataEntry(z, D), DataEntry(x, w), DataEntry(B, C)]), TransferSet([ScriptTransfer(n.caller, 500000, unit)]))
136+ let F = (v + "_voting1")
137+ let G = c(F)
138+ let H = (v + "_voting1_amount")
139+ let I = (c(F) + 1)
140+ let J = (G + C)
141+ ScriptResult(WriteSet([DataEntry(F, J), DataEntry(D, C), DataEntry(H, I)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
121142 }
122143 }
123144
124145
125146
126-@Callable(n)
127-func finishTaskProposalVoting (u) = if ((a > ((b((u + "_voting1_amount")) * 100) / b("dao_size"))))
147+@Callable(o)
148+func finishTaskProposalVoting (v) = if ((a > ((c((v + "_voting1_amount")) * 100) / c("dao_size"))))
128149 then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
129- else if (!(k(n.caller)))
150+ else if (!(l(o.caller)))
130151 then throw("grants working group access only")
131152 else {
132- let z = (u + "_voting1")
133- let A = b(z)
134- if ((A > 0))
153+ let F = (v + "_voting1")
154+ let G = c(F)
155+ if ((G > 0))
135156 then {
136- let E = "ready_to_apply"
137- WriteSet([DataEntry((u + "_status"), E)])
157+ let K = "ready_to_apply"
158+ WriteSet([DataEntry((v + "_status"), K)])
138159 }
139160 else {
140- let E = "rejected"
141- WriteSet([DataEntry((u + "_status"), E)])
161+ let K = "rejected"
162+ WriteSet([DataEntry((v + "_status"), K)])
142163 }
143164 }
144165
145166
146167
147-@Callable(n)
148-func applyForTask (u,F) = {
149- let G = (u + "_applicants")
150- let H = {
151- let e = getString(this, G)
152- if ($isInstanceOf(e, "String"))
168+@Callable(o)
169+func applyForTask (v,L) = {
170+ let M = (v + "_applicants")
171+ let N = {
172+ let f = getString(this, M)
173+ if ($isInstanceOf(f, "String"))
153174 then {
154- let f = e
155- f
175+ let g = f
176+ g
156177 }
157178 else ""
158179 }
159- let I = ((H + ";") + F)
160- WriteSet([DataEntry((((u + "_applicant_") + F) + "_leader"), toString(n.caller)), DataEntry(G, I)])
180+ let O = ((N + ";") + L)
181+ WriteSet([DataEntry((((v + "_applicant_") + L) + "_leader"), toString(o.caller)), DataEntry(M, O)])
161182 }
162183
163184
164185
165-@Callable(n)
166-func voteForApplicant (u,F,w) = if (!(m(n)))
186+@Callable(o)
187+func voteForApplicant (v,L,C) = if (!(n(o)))
167188 then throw("you can't vote")
168189 else {
169- let x = ((((u + "_") + toString(n.caller)) + "_vote_") + F)
170- let J = b(x)
171- if ((J != 0))
190+ let D = ((((v + "_") + toString(o.caller)) + "_vote_") + L)
191+ let z = c(D)
192+ if ((z != 0))
172193 then throw("you have already voted on this team")
173194 else {
174- let K = (((u + "_applicant_") + F) + "_votes")
175- let L = (((u + "_applicant_") + F) + "_score")
176- let M = (1 + b(K))
177- let N = (w + b(L))
178- WriteSet([DataEntry(x, w), DataEntry(L, N)])
195+ let P = (((v + "_applicant_") + L) + "_votes")
196+ let Q = (((v + "_applicant_") + L) + "_score")
197+ let R = (1 + c(P))
198+ let S = (C + c(Q))
199+ WriteSet([DataEntry(D, C), DataEntry(Q, S)])
179200 }
180201 }
181202
182203
183204
184-@Callable(n)
185-func finishApplicantsVoting (u) = {
186- func O (P,Q) = {
187- let G = (u + "_applicants")
188- let R = split(getStringValue(this, G), ";")
189- let F = R[P]
190- let K = (((u + "_applicant_") + F) + "_votes")
191- let M = b(K)
192- if ((M > 0))
205+@Callable(o)
206+func finishApplicantsVoting (v) = {
207+ func T (U,V) = {
208+ let M = (v + "_applicants")
209+ let W = split(getStringValue(this, M), ";")
210+ let L = W[U]
211+ let P = (((v + "_applicant_") + L) + "_votes")
212+ let R = c(P)
213+ if ((R > 0))
193214 then 1
194- else throw(("not enough votes to make decision on " + F))
215+ else throw(("not enough votes to make decision on " + L))
195216 }
196217
197- func S (P,Q) = {
198- let G = (u + "_applicants")
199- let R = split(getStringValue(this, G), ";")
200- let F = R[P]
201- let K = (((u + "_applicant_") + F) + "_votes")
202- let M = b(K)
203- let T = R[Q]
204- let U = (((u + "_applicant_") + T) + "_votes")
205- let V = b(U)
206- if ((M > V))
207- then P
208- else Q
218+ func X (U,V) = {
219+ let M = (v + "_applicants")
220+ let W = split(getStringValue(this, M), ";")
221+ let L = W[U]
222+ let P = (((v + "_applicant_") + L) + "_votes")
223+ let R = c(P)
224+ let Y = W[V]
225+ let Z = (((v + "_applicant_") + Y) + "_votes")
226+ let aa = c(Z)
227+ if ((R > aa))
228+ then U
229+ else V
209230 }
210231
211- if (!(k(n.caller)))
232+ if (!(l(o.caller)))
212233 then throw("grants working group access only")
213234 else {
214- let W = {
215- let X = [0, 1]
216- let Y = size(X)
217- let Z = 0
218- if ((Y == 0))
219- then Z
235+ let ab = {
236+ let ac = [0, 1]
237+ let ad = size(ac)
238+ let ae = 0
239+ if ((ad == 0))
240+ then ae
220241 else {
221- let aa = S(Z, X[0])
222- if ((Y == 1))
223- then aa
242+ let af = X(ae, ac[0])
243+ if ((ad == 1))
244+ then af
224245 else {
225- let ab = S(aa, X[1])
226- if ((Y == 2))
227- then ab
246+ let ag = X(af, ac[1])
247+ if ((ad == 2))
248+ then ag
228249 else {
229- let ac = S(ab, X[2])
250+ let ah = X(ag, ac[2])
230251 throw("List size exceed 2")
231252 }
232253 }
233254 }
234255 }
235- let G = (u + "_applicants")
236- let R = split(getStringValue(this, G), ";")
237- let F = R[W]
238- WriteSet([DataEntry((u + "_status"), "team_chosen"), DataEntry((u + "_performer"), F), DataEntry((((u + "_applicant_") + F) + "_work_process"), "can_begin")])
256+ let M = (v + "_applicants")
257+ let W = split(getStringValue(this, M), ";")
258+ let L = W[ab]
259+ WriteSet([DataEntry((v + "_status"), "team_chosen"), DataEntry((v + "_performer"), L), DataEntry((((v + "_applicant_") + L) + "_work_process"), "can_begin")])
239260 }
240261 }
241262
242263
243264
244-@Callable(n)
245-func startWork (u) = {
246- let F = getStringValue(this, (u + "_performer"))
247- if ((toString(n.caller) != getStringValue(this, (((u + "_applicant_") + F) + "_leader"))))
265+@Callable(o)
266+func startWork (v) = {
267+ let L = getStringValue(this, (v + "_performer"))
268+ if ((toString(o.caller) != getStringValue(this, (((v + "_applicant_") + L) + "_leader"))))
248269 then throw("team leader only")
249- else WriteSet([DataEntry((u + "_status"), "work_started"), DataEntry((((u + "_applicant_") + F) + "_work_process"), "work_started")])
270+ else WriteSet([DataEntry((v + "_status"), "work_started"), DataEntry((((v + "_applicant_") + L) + "_work_process"), "work_started")])
250271 }
251272
252273
253274
254-@Callable(n)
255-func acceptWorkResult (u) = if (!(k(n.caller)))
275+@Callable(o)
276+func acceptWorkResult (v) = if (!(l(o.caller)))
256277 then throw("grants working group access only")
257278 else {
258- let ad = b((u + "_reward"))
259- let F = getStringValue(this, (u + "_performer"))
260- let ae = getStringValue(this, (((u + "_applicant_") + F) + "_leader"))
261- ScriptResult(WriteSet([DataEntry((u + "_status"), "work_finished"), DataEntry((((u + "_applicant_") + F) + "_work_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(ae), ad, unit)]))
279+ let ai = c((v + "_reward"))
280+ let L = getStringValue(this, (v + "_performer"))
281+ let aj = getStringValue(this, (((v + "_applicant_") + L) + "_leader"))
282+ ScriptResult(WriteSet([DataEntry((v + "_status"), "work_finished"), DataEntry((((v + "_applicant_") + L) + "_work_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(aj), ai, unit)]))
262283 }
263284
264285
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 50
55
6-func b (c) = {
7- let d = {
8- let e = getInteger(this, c)
9- if ($isInstanceOf(e, "Int"))
6+let b = base58'4zfrrwDVjbGFM8wxbZGriVLY4XJsVD4oNMp21FnDnMAa'
7+
8+func c (d) = {
9+ let e = {
10+ let f = getInteger(this, d)
11+ if ($isInstanceOf(f, "Int"))
1012 then {
11- let f = e
12- f
13+ let g = f
14+ g
1315 }
1416 else 0
1517 }
16- d
18+ e
1719 }
1820
1921
20-func g (h) = (h == this)
22+func h (i) = (i == this)
2123
2224
23-func i () = {
24- let d = {
25- let e = getString(this, "working_group")
26- if ($isInstanceOf(e, "String"))
25+func j () = {
26+ let e = {
27+ let f = getString(this, "working_group")
28+ if ($isInstanceOf(f, "String"))
2729 then {
28- let f = e
29- f
30+ let g = f
31+ g
3032 }
3133 else ""
3234 }
33- d
35+ e
3436 }
3537
3638
37-func j () = {
38- let d = {
39- let e = getString(this, "dao_members")
40- if ($isInstanceOf(e, "String"))
39+func k () = {
40+ let e = {
41+ let f = getString(this, "dao_members")
42+ if ($isInstanceOf(f, "String"))
4143 then {
42- let f = e
43- f
44+ let g = f
45+ g
4446 }
4547 else ""
4648 }
47- d
49+ e
4850 }
4951
5052
51-func k (l) = (b(("group_member_weight_" + toString(l))) > 0)
53+func l (m) = (c(("group_member_weight_" + toString(m))) > 0)
5254
5355
54-func m (n) = (b(("dao_member_weight_" + toString(n.caller))) > 0)
56+func n (o) = (c(("dao_member_weight_" + toString(o.caller))) > 0)
5557
5658
57-@Callable(n)
58-func addDAOMember (o) = if (!(g(n.caller)))
59+@Callable(o)
60+func addDAOMember (p) = if (!(h(o.caller)))
5961 then throw("access only to the DAO owner")
6062 else {
61- let p = j()
62- let q = ((p + ";") + o)
63- let r = b("dao_size")
64- let s = (r + 1)
65- WriteSet([DataEntry("dao_members", q), DataEntry("dao_size", s), DataEntry(("dao_member_weight_" + o), 1)])
63+ let q = k()
64+ let r = ((q + ";") + p)
65+ let s = c("dao_size")
66+ let t = (s + 1)
67+ WriteSet([DataEntry("dao_members", r), DataEntry("dao_size", t), DataEntry(("dao_member_weight_" + p), 1)])
6668 }
6769
6870
6971
70-@Callable(n)
71-func addGroupMember (o) = if (!(g(n.caller)))
72+@Callable(o)
73+func addGroupMember (p) = if (!(h(o.caller)))
7274 then throw("access only to the DAO owner")
7375 else {
74- let p = i()
75- let q = ((p + ";") + o)
76- let r = b("working_group_size")
77- let s = (r + 1)
78- WriteSet([DataEntry("working_group", q), DataEntry("working_group_size", s), DataEntry(("group_member_weight_" + o), 1)])
76+ let q = j()
77+ let r = ((q + ";") + p)
78+ let s = c("working_group_size")
79+ let t = (s + 1)
80+ WriteSet([DataEntry("working_group", r), DataEntry("working_group_size", t), DataEntry(("group_member_weight_" + p), 1)])
7981 }
8082
8183
8284
83-@Callable(n)
84-func addTask (t) = if (!(k(n.caller)))
85+@Callable(o)
86+func addTask (u) = if (!(l(o.caller)))
8587 then throw("grants working group access only")
86- else WriteSet([DataEntry((toBase58String(n.transactionId) + "_task"), t)])
88+ else WriteSet([DataEntry((toBase58String(o.transactionId) + "_task"), u)])
8789
8890
8991
90-@Callable(n)
91-func addTaskDetails (u) = if (!(k(n.caller)))
92- then throw("grants working group access only")
92+@Callable(o)
93+func rateTask (v,w) = if (!(if ((w == 1))
94+ then true
95+ else (w == -1)))
96+ then throw("your rate needs to be +1 or -1")
9397 else {
94- let v = extract(n.payment).amount
95- WriteSet([DataEntry((u + "_reward"), v), DataEntry((u + "_status"), "proposed")])
98+ let x = extract(o.payment)
99+ if ((x.assetId != b))
100+ then throw("you need to vote using WCT")
101+ else {
102+ let y = x.amount
103+ let z = (w * y)
104+ let A = c((v + "_community_rate"))
105+ ScriptResult(WriteSet([DataEntry((v + "_community_rate"), (A + z))]), TransferSet([ScriptTransfer(o.caller, x.amount, x.assetId)]))
106+ }
96107 }
97108
98109
99110
100-@Callable(n)
101-func voteForTaskProposal (u,w) = if (!(m(n)))
111+@Callable(o)
112+func addTaskDetails (v) = if (!(l(o.caller)))
113+ then throw("grants working group access only")
114+ else {
115+ let B = extract(o.payment).amount
116+ WriteSet([DataEntry((v + "_reward"), B), DataEntry((v + "_status"), "proposed")])
117+ }
118+
119+
120+
121+@Callable(o)
122+func voteForTaskProposal (v,C) = if (!(n(o)))
102123 then throw("you can't vote")
103- else if ((getStringValue(this, (u + "_status")) != "proposed"))
124+ else if ((getStringValue(this, (v + "_status")) != "proposed"))
104125 then throw("voting is closed or not started")
105- else if (if ((w != -1))
106- then (w != 1)
126+ else if (if ((C != -1))
127+ then (C != 1)
107128 else false)
108129 then throw("you need to vote 1 or -1")
109130 else {
110- let x = (((u + "_") + toString(n.caller)) + "_vote1")
111- let y = b(x)
112- if (!((y == 0)))
131+ let D = (((v + "_") + toString(o.caller)) + "_vote1")
132+ let E = c(D)
133+ if (!((E == 0)))
113134 then throw("you have already voted")
114135 else {
115- let z = (u + "_voting1")
116- let A = b(z)
117- let B = (u + "_voting1_amount")
118- let C = (b(z) + 1)
119- let D = (A + w)
120- ScriptResult(WriteSet([DataEntry(z, D), DataEntry(x, w), DataEntry(B, C)]), TransferSet([ScriptTransfer(n.caller, 500000, unit)]))
136+ let F = (v + "_voting1")
137+ let G = c(F)
138+ let H = (v + "_voting1_amount")
139+ let I = (c(F) + 1)
140+ let J = (G + C)
141+ ScriptResult(WriteSet([DataEntry(F, J), DataEntry(D, C), DataEntry(H, I)]), TransferSet([ScriptTransfer(o.caller, 500000, unit)]))
121142 }
122143 }
123144
124145
125146
126-@Callable(n)
127-func finishTaskProposalVoting (u) = if ((a > ((b((u + "_voting1_amount")) * 100) / b("dao_size"))))
147+@Callable(o)
148+func finishTaskProposalVoting (v) = if ((a > ((c((v + "_voting1_amount")) * 100) / c("dao_size"))))
128149 then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
129- else if (!(k(n.caller)))
150+ else if (!(l(o.caller)))
130151 then throw("grants working group access only")
131152 else {
132- let z = (u + "_voting1")
133- let A = b(z)
134- if ((A > 0))
153+ let F = (v + "_voting1")
154+ let G = c(F)
155+ if ((G > 0))
135156 then {
136- let E = "ready_to_apply"
137- WriteSet([DataEntry((u + "_status"), E)])
157+ let K = "ready_to_apply"
158+ WriteSet([DataEntry((v + "_status"), K)])
138159 }
139160 else {
140- let E = "rejected"
141- WriteSet([DataEntry((u + "_status"), E)])
161+ let K = "rejected"
162+ WriteSet([DataEntry((v + "_status"), K)])
142163 }
143164 }
144165
145166
146167
147-@Callable(n)
148-func applyForTask (u,F) = {
149- let G = (u + "_applicants")
150- let H = {
151- let e = getString(this, G)
152- if ($isInstanceOf(e, "String"))
168+@Callable(o)
169+func applyForTask (v,L) = {
170+ let M = (v + "_applicants")
171+ let N = {
172+ let f = getString(this, M)
173+ if ($isInstanceOf(f, "String"))
153174 then {
154- let f = e
155- f
175+ let g = f
176+ g
156177 }
157178 else ""
158179 }
159- let I = ((H + ";") + F)
160- WriteSet([DataEntry((((u + "_applicant_") + F) + "_leader"), toString(n.caller)), DataEntry(G, I)])
180+ let O = ((N + ";") + L)
181+ WriteSet([DataEntry((((v + "_applicant_") + L) + "_leader"), toString(o.caller)), DataEntry(M, O)])
161182 }
162183
163184
164185
165-@Callable(n)
166-func voteForApplicant (u,F,w) = if (!(m(n)))
186+@Callable(o)
187+func voteForApplicant (v,L,C) = if (!(n(o)))
167188 then throw("you can't vote")
168189 else {
169- let x = ((((u + "_") + toString(n.caller)) + "_vote_") + F)
170- let J = b(x)
171- if ((J != 0))
190+ let D = ((((v + "_") + toString(o.caller)) + "_vote_") + L)
191+ let z = c(D)
192+ if ((z != 0))
172193 then throw("you have already voted on this team")
173194 else {
174- let K = (((u + "_applicant_") + F) + "_votes")
175- let L = (((u + "_applicant_") + F) + "_score")
176- let M = (1 + b(K))
177- let N = (w + b(L))
178- WriteSet([DataEntry(x, w), DataEntry(L, N)])
195+ let P = (((v + "_applicant_") + L) + "_votes")
196+ let Q = (((v + "_applicant_") + L) + "_score")
197+ let R = (1 + c(P))
198+ let S = (C + c(Q))
199+ WriteSet([DataEntry(D, C), DataEntry(Q, S)])
179200 }
180201 }
181202
182203
183204
184-@Callable(n)
185-func finishApplicantsVoting (u) = {
186- func O (P,Q) = {
187- let G = (u + "_applicants")
188- let R = split(getStringValue(this, G), ";")
189- let F = R[P]
190- let K = (((u + "_applicant_") + F) + "_votes")
191- let M = b(K)
192- if ((M > 0))
205+@Callable(o)
206+func finishApplicantsVoting (v) = {
207+ func T (U,V) = {
208+ let M = (v + "_applicants")
209+ let W = split(getStringValue(this, M), ";")
210+ let L = W[U]
211+ let P = (((v + "_applicant_") + L) + "_votes")
212+ let R = c(P)
213+ if ((R > 0))
193214 then 1
194- else throw(("not enough votes to make decision on " + F))
215+ else throw(("not enough votes to make decision on " + L))
195216 }
196217
197- func S (P,Q) = {
198- let G = (u + "_applicants")
199- let R = split(getStringValue(this, G), ";")
200- let F = R[P]
201- let K = (((u + "_applicant_") + F) + "_votes")
202- let M = b(K)
203- let T = R[Q]
204- let U = (((u + "_applicant_") + T) + "_votes")
205- let V = b(U)
206- if ((M > V))
207- then P
208- else Q
218+ func X (U,V) = {
219+ let M = (v + "_applicants")
220+ let W = split(getStringValue(this, M), ";")
221+ let L = W[U]
222+ let P = (((v + "_applicant_") + L) + "_votes")
223+ let R = c(P)
224+ let Y = W[V]
225+ let Z = (((v + "_applicant_") + Y) + "_votes")
226+ let aa = c(Z)
227+ if ((R > aa))
228+ then U
229+ else V
209230 }
210231
211- if (!(k(n.caller)))
232+ if (!(l(o.caller)))
212233 then throw("grants working group access only")
213234 else {
214- let W = {
215- let X = [0, 1]
216- let Y = size(X)
217- let Z = 0
218- if ((Y == 0))
219- then Z
235+ let ab = {
236+ let ac = [0, 1]
237+ let ad = size(ac)
238+ let ae = 0
239+ if ((ad == 0))
240+ then ae
220241 else {
221- let aa = S(Z, X[0])
222- if ((Y == 1))
223- then aa
242+ let af = X(ae, ac[0])
243+ if ((ad == 1))
244+ then af
224245 else {
225- let ab = S(aa, X[1])
226- if ((Y == 2))
227- then ab
246+ let ag = X(af, ac[1])
247+ if ((ad == 2))
248+ then ag
228249 else {
229- let ac = S(ab, X[2])
250+ let ah = X(ag, ac[2])
230251 throw("List size exceed 2")
231252 }
232253 }
233254 }
234255 }
235- let G = (u + "_applicants")
236- let R = split(getStringValue(this, G), ";")
237- let F = R[W]
238- WriteSet([DataEntry((u + "_status"), "team_chosen"), DataEntry((u + "_performer"), F), DataEntry((((u + "_applicant_") + F) + "_work_process"), "can_begin")])
256+ let M = (v + "_applicants")
257+ let W = split(getStringValue(this, M), ";")
258+ let L = W[ab]
259+ WriteSet([DataEntry((v + "_status"), "team_chosen"), DataEntry((v + "_performer"), L), DataEntry((((v + "_applicant_") + L) + "_work_process"), "can_begin")])
239260 }
240261 }
241262
242263
243264
244-@Callable(n)
245-func startWork (u) = {
246- let F = getStringValue(this, (u + "_performer"))
247- if ((toString(n.caller) != getStringValue(this, (((u + "_applicant_") + F) + "_leader"))))
265+@Callable(o)
266+func startWork (v) = {
267+ let L = getStringValue(this, (v + "_performer"))
268+ if ((toString(o.caller) != getStringValue(this, (((v + "_applicant_") + L) + "_leader"))))
248269 then throw("team leader only")
249- else WriteSet([DataEntry((u + "_status"), "work_started"), DataEntry((((u + "_applicant_") + F) + "_work_process"), "work_started")])
270+ else WriteSet([DataEntry((v + "_status"), "work_started"), DataEntry((((v + "_applicant_") + L) + "_work_process"), "work_started")])
250271 }
251272
252273
253274
254-@Callable(n)
255-func acceptWorkResult (u) = if (!(k(n.caller)))
275+@Callable(o)
276+func acceptWorkResult (v) = if (!(l(o.caller)))
256277 then throw("grants working group access only")
257278 else {
258- let ad = b((u + "_reward"))
259- let F = getStringValue(this, (u + "_performer"))
260- let ae = getStringValue(this, (((u + "_applicant_") + F) + "_leader"))
261- ScriptResult(WriteSet([DataEntry((u + "_status"), "work_finished"), DataEntry((((u + "_applicant_") + F) + "_work_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(ae), ad, unit)]))
279+ let ai = c((v + "_reward"))
280+ let L = getStringValue(this, (v + "_performer"))
281+ let aj = getStringValue(this, (((v + "_applicant_") + L) + "_leader"))
282+ ScriptResult(WriteSet([DataEntry((v + "_status"), "work_finished"), DataEntry((((v + "_applicant_") + L) + "_work_process"), "work_finished")]), TransferSet([ScriptTransfer(addressFromStringValue(aj), ai, unit)]))
262283 }
263284
264285

github/deemru/w8io/026f985 
90.22 ms