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:
OldNewDifferences
144144
145145
146146 @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)
147152 func addProposal (y,z,A,B,C,D) = if (s(x.caller))
148153 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")])
149154 else throw("checks are not passed")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3N97iacRapbKQMwDxobcwAvNk8WSb3TPwjx")
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
146146 @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)
147152 func addProposal (y,z,A,B,C,D) = if (s(x.caller))
148153 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")])
149154 else throw("checks are not passed")
150155
151156
152157
153158 @Callable(x)
154159 func voteForTaskProposal (u,E) = if (v(x.caller, u))
155160 then {
156161 let F = ((("tasks_" + u) + "_voted_") + toString(x.caller))
157162 let G = (("tasks_" + u) + "_voting_state")
158163 let H = c(G)
159164 let I = (("tasks_" + u) + "_voting_amount")
160165 let J = (c(G) + 1)
161166 let K = q(E)
162167 let L = (H + K)
163168 WriteSet([DataEntry(G, L), DataEntry(F, K), DataEntry(I, J)])
164169 }
165170 else throw("checks are not passed")
166171
167172
168173
169174 @Callable(x)
170175 func finishTaskProposalVoting (u) = if (w(x.caller, u))
171176 then {
172177 let G = (("tasks_" + u) + "_voting_state")
173178 WriteSet([DataEntry((("tasks_" + u) + "_status"), if ((c(G) > 0))
174179 then "approved"
175180 else "rejected"), DataEntry((("status_<" + u) + ">"), if ((c(G) > 0))
176181 then 2
177182 else 0)])
178183 }
179184 else throw("checks are not passed")
180185
181186
182187
183188 @Callable(x)
184189 func rejectTask (u) = if (n(x.caller))
185190 then WriteSet([DataEntry((("tasks_" + u) + "_status"), "rejected")])
186191 else throw("grants working group access only")
187192
188193

github/deemru/w8io/169f3d6 
37.13 ms