tx · 4uyQG26L8DS9xHuToj1YnTDvgkgELmg7Nm7osZV1J9Tk

3N2Gaubi51KGxUWyg36Q6sEon8nSKK3YmLK:  -0.01000000 Waves

2023.05.26 12:46 [2594783] smart account 3N2Gaubi51KGxUWyg36Q6sEon8nSKK3YmLK > SELF 0.00000000 Waves

{ "type": 13, "id": "4uyQG26L8DS9xHuToj1YnTDvgkgELmg7Nm7osZV1J9Tk", "fee": 1000000, "feeAssetId": null, "timestamp": 1685094303206, "version": 2, "chainId": 84, "sender": "3N2Gaubi51KGxUWyg36Q6sEon8nSKK3YmLK", "senderPublicKey": "GLYPQRdW58KJs72SRSnkiA5EswHHd3SpyBVb7exXreYE", "proofs": [], "script": "base64:BgIHCAISAwoBCBwAA1NFUAICX18AEGNvbnRyYWN0RmlsZW5hbWUCDXRyZWFzdXJ5LnJpZGUAD0FETUlOX0xJU1RfU0laRQAFAAZRVU9SVU0AAwARVFhJRF9CWVRFU19MRU5HVEgAIAEHd3JhcEVycgEBcwkArAICCQCsAgIFEGNvbnRyYWN0RmlsZW5hbWUCAjogBQFzAQh0aHJvd0VycgEBcwkAAgEJAQd3cmFwRXJyAQUBcwEYa2V5QWxsb3dlZFR4SWRWb3RlUHJlZml4AQR0eElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICCWFsbG93VHhJZAkAzAgCBQR0eElkBQNuaWwFA1NFUAEQa2V5RnVsbEFkbWluVm90ZQIGcHJlZml4DGFkbWluQWRkcmVzcwkAuQkCCQDMCAIFBnByZWZpeAkAzAgCBQxhZG1pbkFkZHJlc3MFA25pbAUDU0VQARNrZXlBZG1pbkFkZHJlc3NMaXN0AAkAuQkCCQDMCAICAiVzCQDMCAICEGFkbWluQWRkcmVzc0xpc3QFA25pbAUDU0VQAQ5rZXlBbGxvd2VkVHhJZAAJALkJAgkAzAgCAgIlcwkAzAgCAgR0eElkBQNuaWwFA1NFUAEQa2V5Q29uZmlnQWRkcmVzcwACCiVzX19jb25maWcBFmtleVZvdGluZ1Jlc3VsdEFkZHJlc3MAAhZjb250cmFjdF92b3RpbmdfcmVzdWx0ARlrZXlQcm9wb3NhbEFsbG93QnJvYWRjYXN0AgdhZGRyZXNzBHR4SWQJAKwCAgkArAICCQCsAgICGXByb3Bvc2FsX2FsbG93X2Jyb2FkY2FzdF8JAKUIAQUHYWRkcmVzcwIBXwkA2AQBBQR0eElkABNjb25maWdBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMJARBrZXlDb25maWdBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IADWNvbmZpZ0FkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUTY29uZmlnQWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAhZpbnZhbGlkIGNvbmZpZyBhZGRyZXNzABp2b3RpbmdSZXN1bHRDb250cmFjdE9wdGlvbgQHJG1hdGNoMAUTY29uZmlnQWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBAckbWF0Y2gxCQCdCAIFAWEJARZrZXlWb3RpbmdSZXN1bHRBZGRyZXNzAAMJAAECBQckbWF0Y2gxAgZTdHJpbmcEAXMFByRtYXRjaDEJAKYIAQUBcwMJAAECBQckbWF0Y2gxAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABR2b3RpbmdSZXN1bHRDb250cmFjdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRp2b3RpbmdSZXN1bHRDb250cmFjdE9wdGlvbgkBB3dyYXBFcnIBAh1pbnZhbGlkIHZvdGluZyByZXN1bHQgYWRkcmVzcwEMZ2V0QWRtaW5Wb3RlAgZwcmVmaXgFYWRtaW4EB3ZvdGVLZXkJARBrZXlGdWxsQWRtaW5Wb3RlAgUGcHJlZml4BQVhZG1pbgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd2b3RlS2V5AAABDWdldEFkbWluc0xpc3QABAckbWF0Y2gwCQCdCAIFBHRoaXMJARNrZXlBZG1pbkFkZHJlc3NMaXN0AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJALUJAgUBcwUDU0VQBQNuaWwBDWlzSW5BZG1pbkxpc3QBB2FkZHJlc3MJAQ9jb250YWluc0VsZW1lbnQCCQENZ2V0QWRtaW5zTGlzdAAFB2FkZHJlc3MBEmdlblZvdGVzS2V5c0hlbHBlcgIBYQxhZG1pbkFkZHJlc3MECyR0MDIwMjAyMDQ0BQFhBAZyZXN1bHQIBQskdDAyMDIwMjA0NAJfMQQGcHJlZml4CAULJHQwMjAyMDIwNDQCXzIJAJQKAgkAzQgCBQZyZXN1bHQJARBrZXlGdWxsQWRtaW5Wb3RlAgUGcHJlZml4BQxhZG1pbkFkZHJlc3MFBnByZWZpeAEMZ2VuVm90ZXNLZXlzAQlrZXlQcmVmaXgECWFkbWluTGlzdAkBE2tleUFkbWluQWRkcmVzc0xpc3QABAskdDAyMTkxMjI3NQoAAiRsCQENZ2V0QWRtaW5zTGlzdAAKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAUJa2V5UHJlZml4CgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARJnZW5Wb3Rlc0tleXNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFBAZyZXN1bHQIBQskdDAyMTkxMjI3NQJfMQQGcHJlZml4CAULJHQwMjE5MTIyNzUCXzIFBnJlc3VsdAEQY291bnRWb3Rlc0hlbHBlcgIGcmVzdWx0B3ZvdGVLZXkJAGQCBQZyZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdm90ZUtleQAAAQpjb3VudFZvdGVzAQZwcmVmaXgEBXZvdGVzCQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4CgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjb3VudFZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQEQY2xlYXJWb3Rlc0hlbHBlcgIGcmVzdWx0A2tleQkAzQgCBQZyZXN1bHQJAQtEZWxldGVFbnRyeQEFA2tleQETZ2V0Q2xlYXJWb3RlRW50cmllcwEGcHJlZml4BAV2b3RlcwkBDGdlblZvdGVzS2V5cwEFBnByZWZpeAoAAiRsBQV2b3RlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEQY2xlYXJWb3Rlc0hlbHBlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUBDHZvdGVJTlRFUk5BTAQTY2FsbGVyQWRkcmVzc1N0cmluZwlrZXlQcmVmaXgIbWluVm90ZXMKdm90ZVJlc3VsdAQHdm90ZUtleQkBEGtleUZ1bGxBZG1pblZvdGUCBQlrZXlQcmVmaXgFE2NhbGxlckFkZHJlc3NTdHJpbmcEEGFkbWluQ3VycmVudFZvdGUJAQxnZXRBZG1pblZvdGUCBQlrZXlQcmVmaXgFE2NhbGxlckFkZHJlc3NTdHJpbmcEA2VycgMJAQEhAQkBDWlzSW5BZG1pbkxpc3QBBRNjYWxsZXJBZGRyZXNzU3RyaW5nCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgIJQWRkcmVzczogBRNjYWxsZXJBZGRyZXNzU3RyaW5nAhIgbm90IGluIEFkbWluIGxpc3QDCQAAAgUQYWRtaW5DdXJyZW50Vm90ZQABCQEIdGhyb3dFcnIBCQCsAgIFB3ZvdGVLZXkCEiB5b3UgYWxyZWFkeSB2b3RlZAUEdW5pdAMJAAACBQNlcnIFA2VycgQFdm90ZXMJAQpjb3VudFZvdGVzAQUJa2V5UHJlZml4AwkAZwIJAGQCBQV2b3RlcwABBQhtaW5Wb3RlcwQQY2xlYXJWb3RlRW50cmllcwkBE2dldENsZWFyVm90ZUVudHJpZXMBBQlrZXlQcmVmaXgJAM4IAgUQY2xlYXJWb3RlRW50cmllcwUKdm90ZVJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdm90ZUtleQABBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAWkBC3ZvdGVGb3JUeElkAQR0eElkBBNjYWxsZXJBZGRyZXNzU3RyaW5nCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECWtleVByZWZpeAkBGGtleUFsbG93ZWRUeElkVm90ZVByZWZpeAEFBHR4SWQEBnJlc3VsdAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5QWxsb3dlZFR4SWQABQR0eElkBQNuaWwEEWFsbG93ZWRUeElkT3B0aW9uCQCdCAIFBHRoaXMJAQ5rZXlBbGxvd2VkVHhJZAAEA2VycgkAzAgCAwkAAAIJAMgBAQkA2QQBBQR0eElkBRFUWElEX0JZVEVTX0xFTkdUSAYJAQh0aHJvd0VycgEJAKwCAgUEdHhJZAISIGlzIG5vdCB2YWxpZCB0eElkCQDMCAIDAwkAAAIFEWFsbG93ZWRUeElkT3B0aW9uBQR1bml0BgkBAiE9AgkBBXZhbHVlAQURYWxsb3dlZFR4SWRPcHRpb24FBHR4SWQGCQEIdGhyb3dFcnIBCQCsAgIFBHR4SWQCEyBpcyBhbHJlYWR5IGFsbG93ZWQFA25pbAMJAAACBQNlcnIFA2VycgkBDHZvdGVJTlRFUk5BTAQFE2NhbGxlckFkZHJlc3NTdHJpbmcFCWtleVByZWZpeAUGUVVPUlVNBQZyZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABBdhbGxvd2VkVHhJZFN0cmluZ09wdGlvbgkAoggBCQEOa2V5QWxsb3dlZFR4SWQABBBjdXJyZW50QWRtaW5MaXN0CQENZ2V0QWRtaW5zTGlzdAAECmJ5UHJvcG9zYWwJAQt2YWx1ZU9yRWxzZQIJAJsIAgUUdm90aW5nUmVzdWx0Q29udHJhY3QJARlrZXlQcm9wb3NhbEFsbG93QnJvYWRjYXN0AgUEdGhpcwgFAnR4AmlkBwQIYnlBZG1pbnMDCQECIT0CBRdhbGxvd2VkVHhJZFN0cmluZ09wdGlvbgUEdW5pdAkAAAIIBQJ0eAJpZAkA2QQBCQEFdmFsdWUBBRdhbGxvd2VkVHhJZFN0cmluZ09wdGlvbgcEB2J5T3duZXIJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkDAwkBAiE9AgUTY29uZmlnQWRkcmVzc09wdGlvbgUEdW5pdAkAAAIJAJADAQUQY3VycmVudEFkbWluTGlzdAUPQURNSU5fTElTVF9TSVpFBwMDCQECIT0CBRp2b3RpbmdSZXN1bHRDb250cmFjdE9wdGlvbgUEdW5pdAUKYnlQcm9wb3NhbAcGBQhieUFkbWlucwUHYnlPd25lcu4IJF8=", "height": 2594783, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3p6xYjwdz1o5X9G1NN9EKwbAR4KDacjVsBugtYE2aMah Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "treasury.ride"
77
88 let c = 5
99
1010 let d = 3
1111
1212 let e = 32
1313
1414 func f (g) = ((b + ": ") + g)
1515
1616
1717 func h (g) = throw(f(g))
1818
1919
2020 func i (j) = makeString(["%s%s%s", "allowTxId", j], a)
2121
2222
2323 func k (l,m) = makeString([l, m], a)
2424
2525
2626 func n () = makeString(["%s", "adminAddressList"], a)
2727
2828
2929 func o () = makeString(["%s", "txId"], a)
3030
3131
3232 func p () = "%s__config"
3333
3434
3535 func q () = "contract_voting_result"
3636
3737
3838 func r (s,j) = ((("proposal_allow_broadcast_" + toString(s)) + "_") + toBase58String(j))
3939
4040
4141 let t = {
4242 let u = getString(this, p())
4343 if ($isInstanceOf(u, "String"))
4444 then {
4545 let g = u
4646 addressFromString(g)
4747 }
4848 else if ($isInstanceOf(u, "Unit"))
4949 then unit
5050 else throw("Match error")
5151 }
5252
5353 let v = valueOrErrorMessage(t, f("invalid config address"))
5454
5555 let w = {
5656 let u = t
5757 if ($isInstanceOf(u, "Address"))
5858 then {
5959 let x = u
6060 let y = getString(x, q())
6161 if ($isInstanceOf(y, "String"))
6262 then {
6363 let g = y
6464 addressFromString(g)
6565 }
6666 else if ($isInstanceOf(y, "Unit"))
6767 then unit
6868 else throw("Match error")
6969 }
7070 else if ($isInstanceOf(u, "Unit"))
7171 then unit
7272 else throw("Match error")
7373 }
7474
7575 let z = valueOrErrorMessage(w, f("invalid voting result address"))
7676
7777 func A (l,B) = {
7878 let C = k(l, B)
7979 valueOrElse(getInteger(C), 0)
8080 }
8181
8282
8383 func D () = {
8484 let u = getString(this, n())
8585 if ($isInstanceOf(u, "String"))
8686 then {
8787 let g = u
8888 split(g, a)
8989 }
9090 else nil
9191 }
9292
9393
9494 func E (s) = containsElement(D(), s)
9595
9696
9797 func F (x,m) = {
9898 let G = x
9999 let H = G._1
100100 let l = G._2
101101 $Tuple2((H :+ k(l, m)), l)
102102 }
103103
104104
105105 func I (J) = {
106106 let K = n()
107107 let L = {
108108 let M = D()
109109 let N = size(M)
110110 let O = $Tuple2(nil, J)
111111 func P (Q,R) = if ((R >= N))
112112 then Q
113113 else F(Q, M[R])
114114
115115 func S (Q,R) = if ((R >= N))
116116 then Q
117117 else throw("List size exceeds 5")
118118
119119 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
120120 }
121121 let H = L._1
122122 let l = L._2
123123 H
124124 }
125125
126126
127127 func T (H,C) = (H + valueOrElse(getInteger(C), 0))
128128
129129
130130 func U (l) = {
131131 let V = I(l)
132132 let M = V
133133 let N = size(M)
134134 let O = 0
135135 func P (Q,R) = if ((R >= N))
136136 then Q
137137 else T(Q, M[R])
138138
139139 func S (Q,R) = if ((R >= N))
140140 then Q
141141 else throw("List size exceeds 5")
142142
143143 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
144144 }
145145
146146
147147 func W (H,X) = (H :+ DeleteEntry(X))
148148
149149
150150 func Y (l) = {
151151 let V = I(l)
152152 let M = V
153153 let N = size(M)
154154 let O = nil
155155 func P (Q,R) = if ((R >= N))
156156 then Q
157157 else W(Q, M[R])
158158
159159 func S (Q,R) = if ((R >= N))
160160 then Q
161161 else throw("List size exceeds 5")
162162
163163 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
164164 }
165165
166166
167167 func Z (aa,J,ab,ac) = {
168168 let C = k(J, aa)
169169 let ad = A(J, aa)
170170 let ae = if (!(E(aa)))
171171 then h((("Address: " + aa) + " not in Admin list"))
172172 else if ((ad == 1))
173173 then h((C + " you already voted"))
174174 else unit
175175 if ((ae == ae))
176176 then {
177177 let V = U(J)
178178 if (((V + 1) >= ab))
179179 then {
180180 let af = Y(J)
181181 (af ++ ac)
182182 }
183183 else [IntegerEntry(C, 1)]
184184 }
185185 else throw("Strict value is not equal to itself.")
186186 }
187187
188188
189189 @Callable(ag)
190190 func voteForTxId (j) = {
191191 let aa = toBase58String(ag.caller.bytes)
192192 let J = i(j)
193193 let H = [StringEntry(o(), j)]
194194 let ah = getString(this, o())
195195 let ae = [if ((size(fromBase58String(j)) == e))
196196 then true
197197 else h((j + " is not valid txId")), if (if ((ah == unit))
198198 then true
199199 else (value(ah) != j))
200200 then true
201201 else h((j + " is already allowed"))]
202202 if ((ae == ae))
203203 then Z(aa, J, d, H)
204204 else throw("Strict value is not equal to itself.")
205205 }
206206
207207
208208 @Verifier(ai)
209209 func aj () = {
210210 let ak = getString(o())
211211 let al = D()
212212 let am = valueOrElse(getBoolean(z, r(this, ai.id)), false)
213213 let an = if ((ak != unit))
214214 then (ai.id == fromBase58String(value(ak)))
215215 else false
216216 let ao = sigVerify(ai.bodyBytes, ai.proofs[0], ai.senderPublicKey)
217217 if (if ((t != unit))
218218 then (size(al) == c)
219219 else false)
220220 then if (if ((w != unit))
221221 then am
222222 else false)
223223 then true
224224 else an
225225 else ao
226226 }
227227

github/deemru/w8io/c3f4982 
35.44 ms