tx · 9YzTnJv9ZLgGknEmWzFc1NuyoTc7uJ3k392v4okXsF94

3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ:  -0.10000000 Waves

2020.12.23 03:03 [1320594] smart account 3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ > SELF 0.00000000 Waves

{ "type": 13, "id": "9YzTnJv9ZLgGknEmWzFc1NuyoTc7uJ3k392v4okXsF94", "fee": 10000000, "feeAssetId": null, "timestamp": 1608681827597, "version": 2, "chainId": 84, "sender": "3MtV1AQ8fEPk76tjKgvrufuMe5aA3q4TviQ", "senderPublicKey": "3Fjao2FW1JXSPd5EkP7C3uerW18HYacYsaMYALFMGA6N", "proofs": [ "2ZK4HjTuPZJrLwaPL4dMscycFH1WygygKFXxgrT77S6zhH9dfVCRVJWHhZXcuuq8yWdfRyMk4zm7JVwNin33JQzM" ], "script": "base64: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YXNrc18FAAAABnRhc2tJZAIAAAANX3ZvdGluZ19zdGF0ZQQAAAAOdm90ZXNBbW91bnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAOX3ZvdGluZ19hbW91bnQEAAAACXZvdGVWYWx1ZQkBAAAADGdldFZvdGVWYWx1ZQAAAAEFAAAAD3ZvdGVWYWx1ZVN0cmluZwQAAAALdm90aW5nU3RhdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5BAAAABB2b3Rlc0Ftb3VudFN0YXRlCQAAZAAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAOdm90ZXNBbW91bnRLZXkAAAAAAAAAAAEJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACXZvdGluZ0tleQkAAGQAAAACBQAAAAt2b3RpbmdTdGF0ZQUAAAAJdm90ZVZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAl2b3RlVmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADnZvdGVzQW1vdW50S2V5BQAAABB2b3Rlc0Ftb3VudFN0YXRlBQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAAGGZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZwAAAAEAAAAGdGFza0lkAwkBAAAAImZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZ0NvbmRpdGlvbnMAAAACBQAAAAZ0YXNrSWQIBQAAAAFpAAAABmNhbGxlcgQAAAAJc3RhdHVzS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMEAAAACXZvdGluZ0tleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA1fdm90aW5nX3N0YXRlCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAlzdGF0dXNLZXkDCQAAZgAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5AAAAAAAAAAAAAgAAAAhhcHByb3ZlZAIAAAAIcmVqZWN0ZWQFAAAAA25pbAkAAAIAAAABAgAAABVjaGVja3MgYXJlIG5vdCBwYXNzZWQAAAABaQEAAAAJc3RhcnRXb3JrAAAAAQAAAAZ0YXNrSWQDCQEAAAATc3RhcnRXb3JrQ29uZGl0aW9ucwAAAAIFAAAABnRhc2tJZAgFAAAAAWkAAAAGY2FsbGVyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAADHdvcmtfc3RhcnRlZAUAAAADbmlsCQAAAgAAAAECAAAAFWNoZWNrcyBhcmUgbm90IHBhc3NlZAAAAAFpAQAAAApyZWplY3RUYXNrAAAAAQAAAAZ0YXNrSWQDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAACHJlamVjdGVkBQAAAANuaWwAAAABaQEAAAAQYWNjZXB0V29ya1Jlc3VsdAAAAAIAAAAGdGFza0lkAAAACnJlcG9ydExpbmsDCQEAAAABIQAAAAEJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIGdyYW50cyB3b3JraW5nIGdyb3VwIGFjY2VzcyBvbmx5BAAAAAxyZXdhcmRBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfcmV3YXJkBAAAAAt0ZWFtQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfbGVhZGVyCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAAdfc3RhdHVzAgAAAA13b3JrX2ZpbmlzaGVkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19yZXBvcnQFAAAACnJlcG9ydExpbmsFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAC3RlYW1BZGRyZXNzBQAAAAxyZXdhcmRBbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAABCE44S", "height": 1320594, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4dyZXtVqwWKi7mQEigJCG2DxXWTuHJA2rFkebua4SHsJ Next: EdN4XkNhNBPYH5QTHKHdvMdPZEtHPZPm7cckqzmkXUGr Diff:
OldNewDifferences
139139 else true
140140
141141
142+func z (q,v) = if ((g((("tasks_" + q) + "_status")) != "voting_started"))
143+ then throw("voting is not active")
144+ else if (r(q))
145+ then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
146+ else if (!(l(v)))
147+ then throw("grants working group access only")
148+ else true
149+
150+
142151 @Callable(o)
143-func addTask (z,A) = WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), z), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), A), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_leader"), toString(o.caller))])
152+func addTask (A,B) = WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), A), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), B), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_leader"), toString(o.caller))])
144153
145154
146155
159168
160169
161170 @Callable(o)
162-func voteForTaskProposal (q,B) = if (y(q, o))
171+func voteForTaskProposal (q,C) = if (y(q, o))
163172 then {
164- let C = ((("tasks_" + q) + "_voted_") + toString(o.caller))
165- let D = (("tasks_" + q) + "_voting_state")
166- let E = (("tasks_" + q) + "_voting_amount")
167- let F = s(B)
168- let G = b(D)
169- let H = (b(E) + 1)
170- WriteSet([DataEntry(D, (G + F)), DataEntry(C, F), DataEntry(E, H)])
173+ let D = ((("tasks_" + q) + "_voted_") + toString(o.caller))
174+ let E = (("tasks_" + q) + "_voting_state")
175+ let F = (("tasks_" + q) + "_voting_amount")
176+ let G = s(C)
177+ let H = b(E)
178+ let I = (b(F) + 1)
179+ WriteSet([DataEntry(E, (H + G)), DataEntry(D, G), DataEntry(F, I)])
171180 }
172181 else throw("checks are not passed")
173182
174183
175184
176185 @Callable(o)
177-func finishTaskProposalVoting (q) = if (r(q))
178- then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
179- else if (!(l(o.caller)))
180- then throw("grants working group access only")
181- else {
182- let D = (("tasks_" + q) + "_voting_state")
183- let G = b(D)
184- if ((G > 0))
185- then {
186- let I = "approved"
187- WriteSet([DataEntry((("tasks_" + q) + "_status"), I)])
188- }
189- else {
190- let I = "rejected"
191- WriteSet([DataEntry((("tasks_" + q) + "_status"), I)])
192- }
193- }
186+func finishTaskProposalVoting (q) = if (z(q, o.caller))
187+ then {
188+ let J = (("tasks_" + q) + "_status")
189+ let E = (("tasks_" + q) + "_voting_state")
190+ WriteSet([DataEntry(J, if ((b(E) > 0))
191+ then "approved"
192+ else "rejected")])
193+ }
194+ else throw("checks are not passed")
194195
195196
196197
209210
210211
211212 @Callable(o)
212-func acceptWorkResult (q,J) = if (!(l(o.caller)))
213+func acceptWorkResult (q,K) = if (!(l(o.caller)))
213214 then throw("grants working group access only")
214215 else {
215- let K = b((("tasks_" + q) + "_reward"))
216- let L = getStringValue(this, (("tasks_" + q) + "_leader"))
217- ScriptResult(WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_finished"), DataEntry((("tasks_" + q) + "_report"), J)]), TransferSet([ScriptTransfer(addressFromStringValue(L), K, unit)]))
216+ let L = b((("tasks_" + q) + "_reward"))
217+ let M = getStringValue(this, (("tasks_" + q) + "_leader"))
218+ ScriptResult(WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_finished"), DataEntry((("tasks_" + q) + "_report"), K)]), TransferSet([ScriptTransfer(addressFromStringValue(M), L, unit)]))
218219 }
219220
220221
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
3434 let h = addressFromStringValue("3MwRzi2BmqZZXWrCGCwcRQLsnic2Aod6zhS")
3535
3636 func i () = {
3737 let d = {
3838 let e = getString(h, "working_group_members")
3939 if ($isInstanceOf(e, "String"))
4040 then {
4141 let f = e
4242 f
4343 }
4444 else ""
4545 }
4646 d
4747 }
4848
4949
5050 func j () = {
5151 let d = {
5252 let e = getString(h, "dao_members")
5353 if ($isInstanceOf(e, "String"))
5454 then {
5555 let f = e
5656 f
5757 }
5858 else ""
5959 }
6060 d
6161 }
6262
6363
6464 func k () = {
6565 let d = {
6666 let e = getInteger(h, "dao_size")
6767 if ($isInstanceOf(e, "Int"))
6868 then {
6969 let f = e
7070 f
7171 }
7272 else 0
7373 }
7474 d
7575 }
7676
7777
7878 func l (m) = {
7979 let d = {
8080 let e = getInteger(h, (("working_group_member_" + toString(m)) + "_weight"))
8181 if ($isInstanceOf(e, "Int"))
8282 then {
8383 let f = e
8484 f
8585 }
8686 else 0
8787 }
8888 (d > 0)
8989 }
9090
9191
9292 func n (o) = {
9393 let d = {
9494 let e = getInteger(h, (("dao_member_" + toString(o.caller)) + "_weight"))
9595 if ($isInstanceOf(e, "Int"))
9696 then {
9797 let f = e
9898 f
9999 }
100100 else 0
101101 }
102102 (d > 0)
103103 }
104104
105105
106106 func p (q) = (g((("tasks_" + q) + "_status")) != "voting_started")
107107
108108
109109 func r (q) = (a > ((b((("tasks_" + q) + "_voting_amount")) * 100) / k()))
110110
111111
112112 func s (t) = if ((t == "like"))
113113 then 1
114114 else if ((t == "dislike"))
115115 then -1
116116 else throw("you need to vote with 'like' or 'dislike' value")
117117
118118
119119 func u (q,v) = if ((g((("tasks_" + q) + "_status")) != "approved"))
120120 then throw("the task is not approved")
121121 else if ((toString(v) != g((("tasks_" + q) + "_leader"))))
122122 then throw("team leader only")
123123 else true
124124
125125
126126 func w (q,x,v) = if ((g((("tasks_" + q) + "_status")) != ""))
127127 then throw("voting was already started, so the reward amount cannot be changed")
128128 else if ((toString(v) != g((("tasks_" + q) + "_leader"))))
129129 then throw("team leader only")
130130 else true
131131
132132
133133 func y (q,o) = if (!(n(o)))
134134 then throw("you can't vote")
135135 else if (p(q))
136136 then throw("voting is closed or not started")
137137 else if (!((b(((("tasks_" + q) + "_voted_") + toString(o.caller))) == 0)))
138138 then throw("you have already voted")
139139 else true
140140
141141
142+func z (q,v) = if ((g((("tasks_" + q) + "_status")) != "voting_started"))
143+ then throw("voting is not active")
144+ else if (r(q))
145+ then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
146+ else if (!(l(v)))
147+ then throw("grants working group access only")
148+ else true
149+
150+
142151 @Callable(o)
143-func addTask (z,A) = WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), z), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), A), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_leader"), toString(o.caller))])
152+func addTask (A,B) = WriteSet([DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_title"), A), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_link"), B), DataEntry((("tasks_" + toBase58String(o.transactionId)) + "_leader"), toString(o.caller))])
144153
145154
146155
147156 @Callable(o)
148157 func addReward (q,x) = if (w(q, x, o.caller))
149158 then WriteSet([DataEntry((("tasks_" + q) + "_reward"), x)])
150159 else throw("checks are not passed")
151160
152161
153162
154163 @Callable(o)
155164 func initTaskVoting (q) = if (l(o.caller))
156165 then WriteSet([DataEntry((("tasks_" + q) + "_status"), "voting_started")])
157166 else throw("grants working group access only")
158167
159168
160169
161170 @Callable(o)
162-func voteForTaskProposal (q,B) = if (y(q, o))
171+func voteForTaskProposal (q,C) = if (y(q, o))
163172 then {
164- let C = ((("tasks_" + q) + "_voted_") + toString(o.caller))
165- let D = (("tasks_" + q) + "_voting_state")
166- let E = (("tasks_" + q) + "_voting_amount")
167- let F = s(B)
168- let G = b(D)
169- let H = (b(E) + 1)
170- WriteSet([DataEntry(D, (G + F)), DataEntry(C, F), DataEntry(E, H)])
173+ let D = ((("tasks_" + q) + "_voted_") + toString(o.caller))
174+ let E = (("tasks_" + q) + "_voting_state")
175+ let F = (("tasks_" + q) + "_voting_amount")
176+ let G = s(C)
177+ let H = b(E)
178+ let I = (b(F) + 1)
179+ WriteSet([DataEntry(E, (H + G)), DataEntry(D, G), DataEntry(F, I)])
171180 }
172181 else throw("checks are not passed")
173182
174183
175184
176185 @Callable(o)
177-func finishTaskProposalVoting (q) = if (r(q))
178- then throw((("more than " + toString(a)) + "% members have to vote before finishing the voting"))
179- else if (!(l(o.caller)))
180- then throw("grants working group access only")
181- else {
182- let D = (("tasks_" + q) + "_voting_state")
183- let G = b(D)
184- if ((G > 0))
185- then {
186- let I = "approved"
187- WriteSet([DataEntry((("tasks_" + q) + "_status"), I)])
188- }
189- else {
190- let I = "rejected"
191- WriteSet([DataEntry((("tasks_" + q) + "_status"), I)])
192- }
193- }
186+func finishTaskProposalVoting (q) = if (z(q, o.caller))
187+ then {
188+ let J = (("tasks_" + q) + "_status")
189+ let E = (("tasks_" + q) + "_voting_state")
190+ WriteSet([DataEntry(J, if ((b(E) > 0))
191+ then "approved"
192+ else "rejected")])
193+ }
194+ else throw("checks are not passed")
194195
195196
196197
197198 @Callable(o)
198199 func startWork (q) = if (u(q, o.caller))
199200 then WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_started")])
200201 else throw("checks are not passed")
201202
202203
203204
204205 @Callable(o)
205206 func rejectTask (q) = if (!(l(o.caller)))
206207 then throw("grants working group access only")
207208 else WriteSet([DataEntry((("tasks_" + q) + "_status"), "rejected")])
208209
209210
210211
211212 @Callable(o)
212-func acceptWorkResult (q,J) = if (!(l(o.caller)))
213+func acceptWorkResult (q,K) = if (!(l(o.caller)))
213214 then throw("grants working group access only")
214215 else {
215- let K = b((("tasks_" + q) + "_reward"))
216- let L = getStringValue(this, (("tasks_" + q) + "_leader"))
217- ScriptResult(WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_finished"), DataEntry((("tasks_" + q) + "_report"), J)]), TransferSet([ScriptTransfer(addressFromStringValue(L), K, unit)]))
216+ let L = b((("tasks_" + q) + "_reward"))
217+ let M = getStringValue(this, (("tasks_" + q) + "_leader"))
218+ ScriptResult(WriteSet([DataEntry((("tasks_" + q) + "_status"), "work_finished"), DataEntry((("tasks_" + q) + "_report"), K)]), TransferSet([ScriptTransfer(addressFromStringValue(M), L, unit)]))
218219 }
219220
220221

github/deemru/w8io/169f3d6 
50.89 ms