tx · Hxv3s35dPuYmcjBKrT3JtnHZ9phhoPfEtggfbAzr5zYi 3N13KQpdY3UU7JkWUBD9kN7t7xuUgeyYMTT: -0.00200000 Waves 2023.07.04 17:30 [2651279] smart account 3N13KQpdY3UU7JkWUBD9kN7t7xuUgeyYMTT > SELF 0.00000000 Waves
{ "type": 13, "id": "Hxv3s35dPuYmcjBKrT3JtnHZ9phhoPfEtggfbAzr5zYi", "fee": 200000, "feeAssetId": null, "timestamp": 1688481083034, "version": 1, "sender": "3N13KQpdY3UU7JkWUBD9kN7t7xuUgeyYMTT", "senderPublicKey": "HmygqMrDfZtwU85YLdzAEnJ2Gv1qZ1z37iRQDFn873kv", "proofs": [ "4WVnohoMinSSyBJTQ9KB6qPwZT1qE1q2BDnqLpmhwH3Kzxv4RWgSnptQUFX8RpCVP1gr18q8GKUTtBH9PwXHA7a9" ], "script": "base64:BgIICAISBAoCAgELAANTRVACAl9fABBjb250cmFjdEZpbGVuYW1lAhNwcm94eV90cmVhc3VyeS5yaWRlAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzARFrZXlGYWN0b3J5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAgdmYWN0b3J5BQNuaWwFA1NFUAETa2V5TWFuYWdlclB1YmxpY0tleQAJALkJAgkAzAgCAgIlcwkAzAgCAhBtYW5hZ2VyUHVibGljS2V5BQNuaWwFA1NFUAAUZmFjdG9yeUFkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBEWtleUZhY3RvcnlBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFFGZhY3RvcnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECF2ludmFsaWQgZmFjdG9yeSBhZGRyZXNzAQtvbmx5QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAQtvbmx5RmFjdG9yeQEBaQkBC29ubHlBZGRyZXNzAgUBaQUUZmFjdG9yeUFkZHJlc3NPckZhaWwBGWdldE1hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwBRRmYWN0b3J5QWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAJmYQUHJG1hdGNoMAQHJG1hdGNoMQkAnQgCBQJmYQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDECBlN0cmluZwQDcHViBQckbWF0Y2gxCQDZBAEFA3B1YgUEdW5pdAUEdW5pdAEBaQENdHJhbnNmZXJXYXZlcwIOcmVjaXBpZW50Qnl0ZXMGYW1vdW50BAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQR1bml0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAlwdWJsaWNLZXkEByRtYXRjaDAJARlnZXRNYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBANwdWIFByRtYXRjaDAFA3B1YggFAnR4D3NlbmRlclB1YmxpY0tleQkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJcHVibGljS2V5FfN7tg==", "chainId": 84, "height": 2651279, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3aL4sNQtRDQm5cYR4wgada7tYxwLWQ97aXGFP2qoo9H8 Next: none Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "__" | |
5 | 5 | ||
6 | - | let b = "treasury.ride" | |
6 | + | let b = "proxy_treasury.ride" | |
7 | 7 | ||
8 | - | let c = 5 | |
9 | - | ||
10 | - | let d = 3 | |
11 | - | ||
12 | - | let e = 32 | |
13 | - | ||
14 | - | func f (g) = ((b + ": ") + g) | |
8 | + | func c (d) = ((b + ": ") + d) | |
15 | 9 | ||
16 | 10 | ||
17 | - | func | |
11 | + | func e (d) = throw(c(d)) | |
18 | 12 | ||
19 | 13 | ||
20 | - | func | |
14 | + | func f () = makeString(["%s", "factory"], a) | |
21 | 15 | ||
22 | 16 | ||
23 | - | func | |
17 | + | func g () = makeString(["%s", "managerPublicKey"], a) | |
24 | 18 | ||
25 | 19 | ||
26 | - | func n () = makeString(["%s", "adminAddressList"], a) | |
27 | - | ||
28 | - | ||
29 | - | func o () = makeString(["%s", "factory"], a) | |
30 | - | ||
31 | - | ||
32 | - | func p () = makeString(["%s", "txId"], a) | |
33 | - | ||
34 | - | ||
35 | - | func q () = "%s__config" | |
36 | - | ||
37 | - | ||
38 | - | func r () = "contract_voting_result" | |
39 | - | ||
40 | - | ||
41 | - | func s (t,j) = ((("proposal_allow_broadcast_" + toString(t)) + "_") + toBase58String(j)) | |
42 | - | ||
43 | - | ||
44 | - | let u = { | |
45 | - | let v = getString(this, q()) | |
46 | - | if ($isInstanceOf(v, "String")) | |
20 | + | let h = { | |
21 | + | let i = getString(this, f()) | |
22 | + | if ($isInstanceOf(i, "String")) | |
47 | 23 | then { | |
48 | - | let | |
49 | - | addressFromString( | |
24 | + | let d = i | |
25 | + | addressFromString(d) | |
50 | 26 | } | |
51 | - | else if ($isInstanceOf( | |
27 | + | else if ($isInstanceOf(i, "Unit")) | |
52 | 28 | then unit | |
53 | 29 | else throw("Match error") | |
54 | 30 | } | |
55 | 31 | ||
56 | - | let | |
32 | + | let j = valueOrErrorMessage(h, c("invalid factory address")) | |
57 | 33 | ||
58 | - | let x = { | |
59 | - | let v = getString(this, o()) | |
60 | - | if ($isInstanceOf(v, "String")) | |
61 | - | then { | |
62 | - | let g = v | |
63 | - | addressFromString(g) | |
64 | - | } | |
65 | - | else if ($isInstanceOf(v, "Unit")) | |
66 | - | then unit | |
67 | - | else throw("Match error") | |
68 | - | } | |
69 | - | ||
70 | - | let y = valueOrErrorMessage(x, f("invalid factory address")) | |
71 | - | ||
72 | - | let z = { | |
73 | - | let v = u | |
74 | - | if ($isInstanceOf(v, "Address")) | |
75 | - | then { | |
76 | - | let A = v | |
77 | - | let B = getString(A, r()) | |
78 | - | if ($isInstanceOf(B, "String")) | |
79 | - | then { | |
80 | - | let g = B | |
81 | - | addressFromString(g) | |
82 | - | } | |
83 | - | else if ($isInstanceOf(B, "Unit")) | |
84 | - | then unit | |
85 | - | else throw("Match error") | |
86 | - | } | |
87 | - | else if ($isInstanceOf(v, "Unit")) | |
88 | - | then unit | |
89 | - | else throw("Match error") | |
90 | - | } | |
91 | - | ||
92 | - | let C = valueOrErrorMessage(z, f("invalid voting result address")) | |
93 | - | ||
94 | - | func D (E,t) = if ((E.caller == t)) | |
34 | + | func k (l,m) = if ((l.caller == m)) | |
95 | 35 | then true | |
96 | - | else | |
36 | + | else e("permission denied") | |
97 | 37 | ||
98 | 38 | ||
99 | - | func | |
39 | + | func n (l) = k(l, j) | |
100 | 40 | ||
101 | 41 | ||
102 | - | func G (l,H) = { | |
103 | - | let I = k(l, H) | |
104 | - | valueOrElse(getInteger(I), 0) | |
42 | + | func o () = { | |
43 | + | let i = h | |
44 | + | if ($isInstanceOf(i, "Address")) | |
45 | + | then { | |
46 | + | let p = i | |
47 | + | let q = getString(p, g()) | |
48 | + | if ($isInstanceOf(q, "String")) | |
49 | + | then { | |
50 | + | let r = q | |
51 | + | fromBase58String(r) | |
52 | + | } | |
53 | + | else unit | |
54 | + | } | |
55 | + | else unit | |
105 | 56 | } | |
106 | 57 | ||
107 | 58 | ||
108 | - | func J () = { | |
109 | - | let v = getString(this, n()) | |
110 | - | if ($isInstanceOf(v, "String")) | |
111 | - | then { | |
112 | - | let g = v | |
113 | - | split(g, a) | |
114 | - | } | |
115 | - | else nil | |
116 | - | } | |
117 | - | ||
118 | - | ||
119 | - | func K (t) = containsElement(J(), t) | |
120 | - | ||
121 | - | ||
122 | - | func L (A,m) = { | |
123 | - | let M = A | |
124 | - | let N = M._1 | |
125 | - | let l = M._2 | |
126 | - | $Tuple2((N :+ k(l, m)), l) | |
127 | - | } | |
128 | - | ||
129 | - | ||
130 | - | func O (P) = { | |
131 | - | let Q = n() | |
132 | - | let R = { | |
133 | - | let S = J() | |
134 | - | let T = size(S) | |
135 | - | let U = $Tuple2(nil, P) | |
136 | - | func V (W,X) = if ((X >= T)) | |
137 | - | then W | |
138 | - | else L(W, S[X]) | |
139 | - | ||
140 | - | func Y (W,X) = if ((X >= T)) | |
141 | - | then W | |
142 | - | else throw("List size exceeds 5") | |
143 | - | ||
144 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
145 | - | } | |
146 | - | let N = R._1 | |
147 | - | let l = R._2 | |
148 | - | N | |
149 | - | } | |
150 | - | ||
151 | - | ||
152 | - | func Z (N,I) = (N + valueOrElse(getInteger(I), 0)) | |
153 | - | ||
154 | - | ||
155 | - | func aa (l) = { | |
156 | - | let ab = O(l) | |
157 | - | let S = ab | |
158 | - | let T = size(S) | |
159 | - | let U = 0 | |
160 | - | func V (W,X) = if ((X >= T)) | |
161 | - | then W | |
162 | - | else Z(W, S[X]) | |
163 | - | ||
164 | - | func Y (W,X) = if ((X >= T)) | |
165 | - | then W | |
166 | - | else throw("List size exceeds 5") | |
167 | - | ||
168 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
169 | - | } | |
170 | - | ||
171 | - | ||
172 | - | func ac (N,ad) = (N :+ DeleteEntry(ad)) | |
173 | - | ||
174 | - | ||
175 | - | func ae (l) = { | |
176 | - | let ab = O(l) | |
177 | - | let S = ab | |
178 | - | let T = size(S) | |
179 | - | let U = nil | |
180 | - | func V (W,X) = if ((X >= T)) | |
181 | - | then W | |
182 | - | else ac(W, S[X]) | |
183 | - | ||
184 | - | func Y (W,X) = if ((X >= T)) | |
185 | - | then W | |
186 | - | else throw("List size exceeds 5") | |
187 | - | ||
188 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
189 | - | } | |
190 | - | ||
191 | - | ||
192 | - | func af (ag,P,ah,ai) = { | |
193 | - | let I = k(P, ag) | |
194 | - | let aj = G(P, ag) | |
195 | - | let ak = if (!(K(ag))) | |
196 | - | then h((("Address: " + ag) + " not in Admin list")) | |
197 | - | else if ((aj == 1)) | |
198 | - | then h((I + " you already voted")) | |
199 | - | else unit | |
200 | - | if ((ak == ak)) | |
201 | - | then { | |
202 | - | let ab = aa(P) | |
203 | - | if (((ab + 1) >= ah)) | |
204 | - | then { | |
205 | - | let al = ae(P) | |
206 | - | (al ++ ai) | |
207 | - | } | |
208 | - | else [IntegerEntry(I, 1)] | |
209 | - | } | |
59 | + | @Callable(l) | |
60 | + | func transferWaves (s,t) = { | |
61 | + | let u = n(l) | |
62 | + | if ((u == u)) | |
63 | + | then [ScriptTransfer(Address(s), t, unit)] | |
210 | 64 | else throw("Strict value is not equal to itself.") | |
211 | 65 | } | |
212 | 66 | ||
213 | 67 | ||
214 | - | @Callable(E) | |
215 | - | func transferWaves (am,an) = { | |
216 | - | let ao = F(E) | |
217 | - | if ((ao == ao)) | |
218 | - | then [ScriptTransfer(Address(am), an, unit)] | |
219 | - | else throw("Strict value is not equal to itself.") | |
68 | + | @Verifier(v) | |
69 | + | func w () = { | |
70 | + | let x = { | |
71 | + | let i = o() | |
72 | + | if ($isInstanceOf(i, "ByteVector")) | |
73 | + | then { | |
74 | + | let r = i | |
75 | + | r | |
76 | + | } | |
77 | + | else v.senderPublicKey | |
78 | + | } | |
79 | + | sigVerify(v.bodyBytes, v.proofs[0], x) | |
220 | 80 | } | |
221 | - | ||
222 | - | ||
223 | - | ||
224 | - | @Callable(E) | |
225 | - | func voteForTxId (j) = { | |
226 | - | let ag = toBase58String(E.caller.bytes) | |
227 | - | let P = i(j) | |
228 | - | let N = [StringEntry(p(), j)] | |
229 | - | let ap = getString(this, p()) | |
230 | - | let ak = [if ((size(fromBase58String(j)) == e)) | |
231 | - | then true | |
232 | - | else h((j + " is not valid txId")), if (if ((ap == unit)) | |
233 | - | then true | |
234 | - | else (value(ap) != j)) | |
235 | - | then true | |
236 | - | else h((j + " is already allowed"))] | |
237 | - | if ((ak == ak)) | |
238 | - | then af(ag, P, d, N) | |
239 | - | else throw("Strict value is not equal to itself.") | |
240 | - | } | |
241 | - | ||
242 | 81 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "__" | |
5 | 5 | ||
6 | - | let b = "treasury.ride" | |
6 | + | let b = "proxy_treasury.ride" | |
7 | 7 | ||
8 | - | let c = 5 | |
9 | - | ||
10 | - | let d = 3 | |
11 | - | ||
12 | - | let e = 32 | |
13 | - | ||
14 | - | func f (g) = ((b + ": ") + g) | |
8 | + | func c (d) = ((b + ": ") + d) | |
15 | 9 | ||
16 | 10 | ||
17 | - | func | |
11 | + | func e (d) = throw(c(d)) | |
18 | 12 | ||
19 | 13 | ||
20 | - | func | |
14 | + | func f () = makeString(["%s", "factory"], a) | |
21 | 15 | ||
22 | 16 | ||
23 | - | func | |
17 | + | func g () = makeString(["%s", "managerPublicKey"], a) | |
24 | 18 | ||
25 | 19 | ||
26 | - | func n () = makeString(["%s", "adminAddressList"], a) | |
27 | - | ||
28 | - | ||
29 | - | func o () = makeString(["%s", "factory"], a) | |
30 | - | ||
31 | - | ||
32 | - | func p () = makeString(["%s", "txId"], a) | |
33 | - | ||
34 | - | ||
35 | - | func q () = "%s__config" | |
36 | - | ||
37 | - | ||
38 | - | func r () = "contract_voting_result" | |
39 | - | ||
40 | - | ||
41 | - | func s (t,j) = ((("proposal_allow_broadcast_" + toString(t)) + "_") + toBase58String(j)) | |
42 | - | ||
43 | - | ||
44 | - | let u = { | |
45 | - | let v = getString(this, q()) | |
46 | - | if ($isInstanceOf(v, "String")) | |
20 | + | let h = { | |
21 | + | let i = getString(this, f()) | |
22 | + | if ($isInstanceOf(i, "String")) | |
47 | 23 | then { | |
48 | - | let | |
49 | - | addressFromString( | |
24 | + | let d = i | |
25 | + | addressFromString(d) | |
50 | 26 | } | |
51 | - | else if ($isInstanceOf( | |
27 | + | else if ($isInstanceOf(i, "Unit")) | |
52 | 28 | then unit | |
53 | 29 | else throw("Match error") | |
54 | 30 | } | |
55 | 31 | ||
56 | - | let | |
32 | + | let j = valueOrErrorMessage(h, c("invalid factory address")) | |
57 | 33 | ||
58 | - | let x = { | |
59 | - | let v = getString(this, o()) | |
60 | - | if ($isInstanceOf(v, "String")) | |
61 | - | then { | |
62 | - | let g = v | |
63 | - | addressFromString(g) | |
64 | - | } | |
65 | - | else if ($isInstanceOf(v, "Unit")) | |
66 | - | then unit | |
67 | - | else throw("Match error") | |
68 | - | } | |
69 | - | ||
70 | - | let y = valueOrErrorMessage(x, f("invalid factory address")) | |
71 | - | ||
72 | - | let z = { | |
73 | - | let v = u | |
74 | - | if ($isInstanceOf(v, "Address")) | |
75 | - | then { | |
76 | - | let A = v | |
77 | - | let B = getString(A, r()) | |
78 | - | if ($isInstanceOf(B, "String")) | |
79 | - | then { | |
80 | - | let g = B | |
81 | - | addressFromString(g) | |
82 | - | } | |
83 | - | else if ($isInstanceOf(B, "Unit")) | |
84 | - | then unit | |
85 | - | else throw("Match error") | |
86 | - | } | |
87 | - | else if ($isInstanceOf(v, "Unit")) | |
88 | - | then unit | |
89 | - | else throw("Match error") | |
90 | - | } | |
91 | - | ||
92 | - | let C = valueOrErrorMessage(z, f("invalid voting result address")) | |
93 | - | ||
94 | - | func D (E,t) = if ((E.caller == t)) | |
34 | + | func k (l,m) = if ((l.caller == m)) | |
95 | 35 | then true | |
96 | - | else | |
36 | + | else e("permission denied") | |
97 | 37 | ||
98 | 38 | ||
99 | - | func | |
39 | + | func n (l) = k(l, j) | |
100 | 40 | ||
101 | 41 | ||
102 | - | func G (l,H) = { | |
103 | - | let I = k(l, H) | |
104 | - | valueOrElse(getInteger(I), 0) | |
42 | + | func o () = { | |
43 | + | let i = h | |
44 | + | if ($isInstanceOf(i, "Address")) | |
45 | + | then { | |
46 | + | let p = i | |
47 | + | let q = getString(p, g()) | |
48 | + | if ($isInstanceOf(q, "String")) | |
49 | + | then { | |
50 | + | let r = q | |
51 | + | fromBase58String(r) | |
52 | + | } | |
53 | + | else unit | |
54 | + | } | |
55 | + | else unit | |
105 | 56 | } | |
106 | 57 | ||
107 | 58 | ||
108 | - | func J () = { | |
109 | - | let v = getString(this, n()) | |
110 | - | if ($isInstanceOf(v, "String")) | |
111 | - | then { | |
112 | - | let g = v | |
113 | - | split(g, a) | |
114 | - | } | |
115 | - | else nil | |
116 | - | } | |
117 | - | ||
118 | - | ||
119 | - | func K (t) = containsElement(J(), t) | |
120 | - | ||
121 | - | ||
122 | - | func L (A,m) = { | |
123 | - | let M = A | |
124 | - | let N = M._1 | |
125 | - | let l = M._2 | |
126 | - | $Tuple2((N :+ k(l, m)), l) | |
127 | - | } | |
128 | - | ||
129 | - | ||
130 | - | func O (P) = { | |
131 | - | let Q = n() | |
132 | - | let R = { | |
133 | - | let S = J() | |
134 | - | let T = size(S) | |
135 | - | let U = $Tuple2(nil, P) | |
136 | - | func V (W,X) = if ((X >= T)) | |
137 | - | then W | |
138 | - | else L(W, S[X]) | |
139 | - | ||
140 | - | func Y (W,X) = if ((X >= T)) | |
141 | - | then W | |
142 | - | else throw("List size exceeds 5") | |
143 | - | ||
144 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
145 | - | } | |
146 | - | let N = R._1 | |
147 | - | let l = R._2 | |
148 | - | N | |
149 | - | } | |
150 | - | ||
151 | - | ||
152 | - | func Z (N,I) = (N + valueOrElse(getInteger(I), 0)) | |
153 | - | ||
154 | - | ||
155 | - | func aa (l) = { | |
156 | - | let ab = O(l) | |
157 | - | let S = ab | |
158 | - | let T = size(S) | |
159 | - | let U = 0 | |
160 | - | func V (W,X) = if ((X >= T)) | |
161 | - | then W | |
162 | - | else Z(W, S[X]) | |
163 | - | ||
164 | - | func Y (W,X) = if ((X >= T)) | |
165 | - | then W | |
166 | - | else throw("List size exceeds 5") | |
167 | - | ||
168 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
169 | - | } | |
170 | - | ||
171 | - | ||
172 | - | func ac (N,ad) = (N :+ DeleteEntry(ad)) | |
173 | - | ||
174 | - | ||
175 | - | func ae (l) = { | |
176 | - | let ab = O(l) | |
177 | - | let S = ab | |
178 | - | let T = size(S) | |
179 | - | let U = nil | |
180 | - | func V (W,X) = if ((X >= T)) | |
181 | - | then W | |
182 | - | else ac(W, S[X]) | |
183 | - | ||
184 | - | func Y (W,X) = if ((X >= T)) | |
185 | - | then W | |
186 | - | else throw("List size exceeds 5") | |
187 | - | ||
188 | - | Y(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5) | |
189 | - | } | |
190 | - | ||
191 | - | ||
192 | - | func af (ag,P,ah,ai) = { | |
193 | - | let I = k(P, ag) | |
194 | - | let aj = G(P, ag) | |
195 | - | let ak = if (!(K(ag))) | |
196 | - | then h((("Address: " + ag) + " not in Admin list")) | |
197 | - | else if ((aj == 1)) | |
198 | - | then h((I + " you already voted")) | |
199 | - | else unit | |
200 | - | if ((ak == ak)) | |
201 | - | then { | |
202 | - | let ab = aa(P) | |
203 | - | if (((ab + 1) >= ah)) | |
204 | - | then { | |
205 | - | let al = ae(P) | |
206 | - | (al ++ ai) | |
207 | - | } | |
208 | - | else [IntegerEntry(I, 1)] | |
209 | - | } | |
59 | + | @Callable(l) | |
60 | + | func transferWaves (s,t) = { | |
61 | + | let u = n(l) | |
62 | + | if ((u == u)) | |
63 | + | then [ScriptTransfer(Address(s), t, unit)] | |
210 | 64 | else throw("Strict value is not equal to itself.") | |
211 | 65 | } | |
212 | 66 | ||
213 | 67 | ||
214 | - | @Callable(E) | |
215 | - | func transferWaves (am,an) = { | |
216 | - | let ao = F(E) | |
217 | - | if ((ao == ao)) | |
218 | - | then [ScriptTransfer(Address(am), an, unit)] | |
219 | - | else throw("Strict value is not equal to itself.") | |
68 | + | @Verifier(v) | |
69 | + | func w () = { | |
70 | + | let x = { | |
71 | + | let i = o() | |
72 | + | if ($isInstanceOf(i, "ByteVector")) | |
73 | + | then { | |
74 | + | let r = i | |
75 | + | r | |
76 | + | } | |
77 | + | else v.senderPublicKey | |
78 | + | } | |
79 | + | sigVerify(v.bodyBytes, v.proofs[0], x) | |
220 | 80 | } | |
221 | - | ||
222 | - | ||
223 | - | ||
224 | - | @Callable(E) | |
225 | - | func voteForTxId (j) = { | |
226 | - | let ag = toBase58String(E.caller.bytes) | |
227 | - | let P = i(j) | |
228 | - | let N = [StringEntry(p(), j)] | |
229 | - | let ap = getString(this, p()) | |
230 | - | let ak = [if ((size(fromBase58String(j)) == e)) | |
231 | - | then true | |
232 | - | else h((j + " is not valid txId")), if (if ((ap == unit)) | |
233 | - | then true | |
234 | - | else (value(ap) != j)) | |
235 | - | then true | |
236 | - | else h((j + " is already allowed"))] | |
237 | - | if ((ak == ak)) | |
238 | - | then af(ag, P, d, N) | |
239 | - | else throw("Strict value is not equal to itself.") | |
240 | - | } | |
241 | - | ||
242 | 81 |
github/deemru/w8io/169f3d6 33.47 ms ◑