tx · BZ9XH7w8f1f1C9xa28PCE3YTkkdSoFKMb7VTSitX1gxp 3N4sq1r9P2Z1XLWBKXht112c1wJnaeLxKKY: -0.01400000 Waves 2021.03.08 15:27 [1428703] smart account 3N4sq1r9P2Z1XLWBKXht112c1wJnaeLxKKY > SELF 0.00000000 Waves
{ "type": 13, "id": "BZ9XH7w8f1f1C9xa28PCE3YTkkdSoFKMb7VTSitX1gxp", "fee": 1400000, "feeAssetId": null, "timestamp": 1615206430940, "version": 2, "chainId": 84, "sender": "3N4sq1r9P2Z1XLWBKXht112c1wJnaeLxKKY", "senderPublicKey": "6ZDC3gM8xAHBGTfcd14Ugj5QKgajkXj3jFqP9NvKiSmU", "proofs": [ "45hEXn5RPsEpxrbXknmiUCH3GkKrjHom2G2DaCpspNsjk8bXT9wNi9t6ytJbgWaan4q9KJ1iZFdP2NvNoTTPWJuo" ], "script": "base64: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aQAAAAIJAABoAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAADl92b3RpbmdfYW1vdW50AAAAAAAAAABkCQEAAAAKZ2V0REFPU2l6ZQAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAACm1vcmUgdGhhbiAJAAGkAAAAAQUAAAAGUVVPUlVNAgAAADIlIG1lbWJlcnMgaGF2ZSB0byB2b3RlIGJlZm9yZSBmaW5pc2hpbmcgdGhlIHZvdGluZwYAAAAFAAAAAWkBAAAADGluaXRDb250cmFjdAAAAAAJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAHmRhdGFfcHJvdmlkZXJfZGVzY3JpcHRpb25fPGVuPgIAAAAVV2F2ZXMgQXNzb2NpYXRpb24gREFPCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABNkYXRhX3Byb3ZpZGVyX2VtYWlsAgAAABtncmFudHNAd2F2ZXNhc3NvY2lhdGlvbi5vcmcJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAF2RhdGFfcHJvdmlkZXJfbGFuZ19saXN0AgAAAAJlbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAASZGF0YV9wcm92aWRlcl9saW5rAgAAACBodHRwczovL2Rhby53YXZlc2Fzc29jaWF0aW9uLm9yZwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAASZGF0YV9wcm92aWRlcl9uYW1lAgAAABVXYXZlcyBBc3NvY2lhdGlvbiBEQU8JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFWRhdGFfcHJvdmlkZXJfdmVyc2lvbgAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAGaW5pdGVkBgUAAAADbmlsAAAAAWkBAAAAC2FkZFByb3Bvc2FsAAAABgAAAAd0b2tlbklkAAAAC2Rlc2NyaXB0aW9uAAAABWVtYWlsAAAABGxpbmsAAAAEbG9nbwAAAAZ0aWNrZXIDCQEAAAARYWRkVGFza0NvbmRpdGlvbnMAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAABJkZXNjcmlwdGlvbl88ZW4+XzwFAAAAB3Rva2VuSWQCAAAAAT4FAAAAC2Rlc2NyaXB0aW9uCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHZW1haWxfPAUAAAAHdG9rZW5JZAIAAAABPgUAAAAFZW1haWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZsb2dvXzwFAAAAB3Rva2VuSWQCAAAAAT4FAAAAB3Rva2VuSWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAh0aWNrZXJfPAUAAAAHdG9rZW5JZAIAAAABPgUAAAAGdGlja2VyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGbGlua188BQAAAAd0b2tlbklkAgAAAAE+BQAAAARsaW5rCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdmVyc2lvbl88BQAAAAd0b2tlbklkAgAAAAE+AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIc3RhdHVzXzwFAAAAB3Rva2VuSWQCAAAAAT4AAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAAB3Rva2VuSWQCAAAAB19zdGF0dXMCAAAACHByb3Bvc2VkBQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAAE3ZvdGVGb3JUYXNrUHJvcG9zYWwAAAACAAAABnRhc2tJZAAAAAl2b3RlVmFsdWUDCQEAAAAddm90ZUZvclRhc2tQcm9wb3NhbENvbmRpdGlvbnMAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABnRhc2tJZAQAAAAHdm90ZUtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB192b3RlZF8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAl2b3RpbmdLZXkJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAANX3ZvdGluZ19zdGF0ZQQAAAALdm90aW5nU3RhdGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5BAAAAA52b3Rlc0Ftb3VudEtleQkAASwAAAACCQABLAAAAAICAAAABnRhc2tzXwUAAAAGdGFza0lkAgAAAA5fdm90aW5nX2Ftb3VudAQAAAAQdm90ZXNBbW91bnRTdGF0ZQkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEFAAAACXZvdGluZ0tleQAAAAAAAAAAAQQAAAAMdm90ZVZhbHVlSW50CQEAAAAMZ2V0Vm90ZVZhbHVlAAAAAQUAAAAJdm90ZVZhbHVlBAAAAA5uZXdWb3RpbmdTdGF0ZQkAAGQAAAACBQAAAAt2b3RpbmdTdGF0ZQUAAAAMdm90ZVZhbHVlSW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAl2b3RpbmdLZXkFAAAADm5ld1ZvdGluZ1N0YXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAd2b3RlS2V5BQAAAAx2b3RlVmFsdWVJbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADnZvdGVzQW1vdW50S2V5BQAAABB2b3Rlc0Ftb3VudFN0YXRlBQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAAGGZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZwAAAAEAAAAGdGFza0lkAwkBAAAAImZpbmlzaFRhc2tQcm9wb3NhbFZvdGluZ0NvbmRpdGlvbnMAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABnRhc2tJZAQAAAAJdm90aW5nS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAADV92b3Rpbmdfc3RhdGUJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAZ0YXNrc18FAAAABnRhc2tJZAIAAAAHX3N0YXR1cwMJAABmAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAAl2b3RpbmdLZXkAAAAAAAAAAAACAAAACGFwcHJvdmVkAgAAAAhyZWplY3RlZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACHN0YXR1c188BQAAAAZ0YXNrSWQCAAAAAT4DCQAAZgAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAJdm90aW5nS2V5AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAABQAAAANuaWwJAAACAAAAAQIAAAAVY2hlY2tzIGFyZSBub3QgcGFzc2VkAAAAAWkBAAAACnJlamVjdFRhc2sAAAABAAAABnRhc2tJZAMJAQAAAA1pc0dyb3VwTWVtYmVyAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGdGFza3NfBQAAAAZ0YXNrSWQCAAAAB19zdGF0dXMCAAAACHJlamVjdGVkBQAAAANuaWwJAAACAAAAAQIAAAAgZ3JhbnRzIHdvcmtpbmcgZ3JvdXAgYWNjZXNzIG9ubHkAAAAA9qmx4w==", "height": 1428703, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ETdMVJsCWFyjBXBN58yfF3zAvz8h9E5KRkz3UjjaTQmh Next: 4hYYRC2Xz2mCk3YheXyQEfB7QS3WSnmHrbUrMXRE2M7E Diff:
Old | New | Differences | |
---|---|---|---|
144 | 144 | ||
145 | 145 | ||
146 | 146 | @Callable(x) | |
147 | + | func initContract () = WriteSet([DataEntry("data_provider_description_<en>", "Waves Association DAO"), DataEntry("data_provider_email", "[email protected]"), DataEntry("data_provider_lang_list", "en"), DataEntry("data_provider_link", "https://dao.wavesassociation.org"), DataEntry("data_provider_name", "Waves Association DAO"), DataEntry("data_provider_version", 0), DataEntry("inited", true)]) | |
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | @Callable(x) | |
147 | 152 | func addProposal (y,z,A,B,C,D) = if (s(x.caller)) | |
148 | 153 | then WriteSet([DataEntry((("description_<en>_<" + y) + ">"), z), DataEntry((("email_<" + y) + ">"), A), DataEntry((("logo_<" + y) + ">"), y), DataEntry((("ticker_<" + y) + ">"), D), DataEntry((("link_<" + y) + ">"), B), DataEntry((("version_<" + y) + ">"), 0), DataEntry((("status_<" + y) + ">"), 0), DataEntry((("tasks_" + y) + "_status"), "proposed")]) | |
149 | 154 | else throw("checks are not passed") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = addressFromStringValue("3N97iacRapbKQMwDxobcwAvNk8WSb3TPwjx") | |
5 | 5 | ||
6 | 6 | let b = 1 | |
7 | 7 | ||
8 | 8 | func c (d) = { | |
9 | 9 | let e = { | |
10 | 10 | let f = getInteger(this, d) | |
11 | 11 | if ($isInstanceOf(f, "Int")) | |
12 | 12 | then { | |
13 | 13 | let g = f | |
14 | 14 | g | |
15 | 15 | } | |
16 | 16 | else 0 | |
17 | 17 | } | |
18 | 18 | e | |
19 | 19 | } | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | func h (d) = { | |
23 | 23 | let e = { | |
24 | 24 | let f = getString(this, d) | |
25 | 25 | if ($isInstanceOf(f, "String")) | |
26 | 26 | then { | |
27 | 27 | let g = f | |
28 | 28 | g | |
29 | 29 | } | |
30 | 30 | else "" | |
31 | 31 | } | |
32 | 32 | e | |
33 | 33 | } | |
34 | 34 | ||
35 | 35 | ||
36 | 36 | func i (j) = (j == this) | |
37 | 37 | ||
38 | 38 | ||
39 | 39 | func k () = { | |
40 | 40 | let e = { | |
41 | 41 | let f = getString(a, "working_group_members") | |
42 | 42 | if ($isInstanceOf(f, "String")) | |
43 | 43 | then { | |
44 | 44 | let g = f | |
45 | 45 | g | |
46 | 46 | } | |
47 | 47 | else "" | |
48 | 48 | } | |
49 | 49 | e | |
50 | 50 | } | |
51 | 51 | ||
52 | 52 | ||
53 | 53 | func l () = { | |
54 | 54 | let e = { | |
55 | 55 | let f = getString(a, "dao_members") | |
56 | 56 | if ($isInstanceOf(f, "String")) | |
57 | 57 | then { | |
58 | 58 | let g = f | |
59 | 59 | g | |
60 | 60 | } | |
61 | 61 | else "" | |
62 | 62 | } | |
63 | 63 | e | |
64 | 64 | } | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | func m () = { | |
68 | 68 | let e = { | |
69 | 69 | let f = getInteger(a, "dao_size") | |
70 | 70 | if ($isInstanceOf(f, "Int")) | |
71 | 71 | then { | |
72 | 72 | let g = f | |
73 | 73 | g | |
74 | 74 | } | |
75 | 75 | else 0 | |
76 | 76 | } | |
77 | 77 | e | |
78 | 78 | } | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | func n (o) = { | |
82 | 82 | let e = { | |
83 | 83 | let f = getInteger(a, (("working_group_member_" + toString(o)) + "_weight")) | |
84 | 84 | if ($isInstanceOf(f, "Int")) | |
85 | 85 | then { | |
86 | 86 | let g = f | |
87 | 87 | g | |
88 | 88 | } | |
89 | 89 | else 0 | |
90 | 90 | } | |
91 | 91 | (e > 0) | |
92 | 92 | } | |
93 | 93 | ||
94 | 94 | ||
95 | 95 | func p (j) = { | |
96 | 96 | let e = { | |
97 | 97 | let f = getInteger(a, (("dao_member_" + toString(j)) + "_weight")) | |
98 | 98 | if ($isInstanceOf(f, "Int")) | |
99 | 99 | then { | |
100 | 100 | let g = f | |
101 | 101 | g | |
102 | 102 | } | |
103 | 103 | else 0 | |
104 | 104 | } | |
105 | 105 | (e > 0) | |
106 | 106 | } | |
107 | 107 | ||
108 | 108 | ||
109 | 109 | func q (r) = if ((r == "like")) | |
110 | 110 | then 1 | |
111 | 111 | else if ((r == "dislike")) | |
112 | 112 | then -1 | |
113 | 113 | else throw("you need to vote with 'like' or 'dislike' value") | |
114 | 114 | ||
115 | 115 | ||
116 | 116 | func s (j) = if (!(n(j))) | |
117 | 117 | then throw("grants working group access only") | |
118 | 118 | else true | |
119 | 119 | ||
120 | 120 | ||
121 | 121 | func t (j,u) = if (!(n(j))) | |
122 | 122 | then throw("grants working group access only") | |
123 | 123 | else if ((h((("tasks_" + u) + "_status")) != "")) | |
124 | 124 | then throw("grant isn`t new") | |
125 | 125 | else true | |
126 | 126 | ||
127 | 127 | ||
128 | 128 | func v (j,u) = if (!(p(j))) | |
129 | 129 | then throw("you can't vote") | |
130 | 130 | else if ((h((("tasks_" + u) + "_status")) != "proposed")) | |
131 | 131 | then throw("voting is closed or not started") | |
132 | 132 | else if ((c(((("tasks_" + u) + "_voted_") + toString(j))) != 0)) | |
133 | 133 | then throw("you have already voted") | |
134 | 134 | else true | |
135 | 135 | ||
136 | 136 | ||
137 | 137 | func w (j,u) = if (!(n(j))) | |
138 | 138 | then throw("grants working group access only") | |
139 | 139 | else if ((h((("tasks_" + u) + "_status")) != "proposed")) | |
140 | 140 | then throw("voting is not active") | |
141 | 141 | else if ((b > ((c((("tasks_" + u) + "_voting_amount")) * 100) / m()))) | |
142 | 142 | then throw((("more than " + toString(b)) + "% members have to vote before finishing the voting")) | |
143 | 143 | else true | |
144 | 144 | ||
145 | 145 | ||
146 | 146 | @Callable(x) | |
147 | + | func initContract () = WriteSet([DataEntry("data_provider_description_<en>", "Waves Association DAO"), DataEntry("data_provider_email", "[email protected]"), DataEntry("data_provider_lang_list", "en"), DataEntry("data_provider_link", "https://dao.wavesassociation.org"), DataEntry("data_provider_name", "Waves Association DAO"), DataEntry("data_provider_version", 0), DataEntry("inited", true)]) | |
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | @Callable(x) | |
147 | 152 | func addProposal (y,z,A,B,C,D) = if (s(x.caller)) | |
148 | 153 | then WriteSet([DataEntry((("description_<en>_<" + y) + ">"), z), DataEntry((("email_<" + y) + ">"), A), DataEntry((("logo_<" + y) + ">"), y), DataEntry((("ticker_<" + y) + ">"), D), DataEntry((("link_<" + y) + ">"), B), DataEntry((("version_<" + y) + ">"), 0), DataEntry((("status_<" + y) + ">"), 0), DataEntry((("tasks_" + y) + "_status"), "proposed")]) | |
149 | 154 | else throw("checks are not passed") | |
150 | 155 | ||
151 | 156 | ||
152 | 157 | ||
153 | 158 | @Callable(x) | |
154 | 159 | func voteForTaskProposal (u,E) = if (v(x.caller, u)) | |
155 | 160 | then { | |
156 | 161 | let F = ((("tasks_" + u) + "_voted_") + toString(x.caller)) | |
157 | 162 | let G = (("tasks_" + u) + "_voting_state") | |
158 | 163 | let H = c(G) | |
159 | 164 | let I = (("tasks_" + u) + "_voting_amount") | |
160 | 165 | let J = (c(G) + 1) | |
161 | 166 | let K = q(E) | |
162 | 167 | let L = (H + K) | |
163 | 168 | WriteSet([DataEntry(G, L), DataEntry(F, K), DataEntry(I, J)]) | |
164 | 169 | } | |
165 | 170 | else throw("checks are not passed") | |
166 | 171 | ||
167 | 172 | ||
168 | 173 | ||
169 | 174 | @Callable(x) | |
170 | 175 | func finishTaskProposalVoting (u) = if (w(x.caller, u)) | |
171 | 176 | then { | |
172 | 177 | let G = (("tasks_" + u) + "_voting_state") | |
173 | 178 | WriteSet([DataEntry((("tasks_" + u) + "_status"), if ((c(G) > 0)) | |
174 | 179 | then "approved" | |
175 | 180 | else "rejected"), DataEntry((("status_<" + u) + ">"), if ((c(G) > 0)) | |
176 | 181 | then 2 | |
177 | 182 | else 0)]) | |
178 | 183 | } | |
179 | 184 | else throw("checks are not passed") | |
180 | 185 | ||
181 | 186 | ||
182 | 187 | ||
183 | 188 | @Callable(x) | |
184 | 189 | func rejectTask (u) = if (n(x.caller)) | |
185 | 190 | then WriteSet([DataEntry((("tasks_" + u) + "_status"), "rejected")]) | |
186 | 191 | else throw("grants working group access only") | |
187 | 192 | ||
188 | 193 |
github/deemru/w8io/169f3d6 37.13 ms ◑![]()