1#[allow(
11 non_camel_case_types,
12 non_snake_case,
13 clippy::pub_underscore_fields,
14 clippy::style,
15 clippy::empty_structs_with_brackets
16)]
17pub mod HoprCrypto {
18 use super::*;
19 use alloy::sol_types as alloy_sol_types;
20 #[derive(serde::Serialize, serde::Deserialize)]
21 #[derive(Default, Debug, PartialEq, Eq, Hash)]
22 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
26 #[derive(Clone)]
27 pub struct CompactSignature {
28 #[allow(missing_docs)]
29 pub r: alloy::sol_types::private::FixedBytes<32>,
30 #[allow(missing_docs)]
31 pub vs: alloy::sol_types::private::FixedBytes<32>,
32 }
33 #[allow(
34 non_camel_case_types,
35 non_snake_case,
36 clippy::pub_underscore_fields,
37 clippy::style
38 )]
39 const _: () = {
40 use alloy::sol_types as alloy_sol_types;
41 #[doc(hidden)]
42 type UnderlyingSolTuple<'a> = (
43 alloy::sol_types::sol_data::FixedBytes<32>,
44 alloy::sol_types::sol_data::FixedBytes<32>,
45 );
46 #[doc(hidden)]
47 type UnderlyingRustTuple<'a> = (
48 alloy::sol_types::private::FixedBytes<32>,
49 alloy::sol_types::private::FixedBytes<32>,
50 );
51 #[cfg(test)]
52 #[allow(dead_code, unreachable_patterns)]
53 fn _type_assertion(
54 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
55 ) {
56 match _t {
57 alloy_sol_types::private::AssertTypeEq::<
58 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
59 >(_) => {}
60 }
61 }
62 #[automatically_derived]
63 #[doc(hidden)]
64 impl ::core::convert::From<CompactSignature> for UnderlyingRustTuple<'_> {
65 fn from(value: CompactSignature) -> Self {
66 (value.r, value.vs)
67 }
68 }
69 #[automatically_derived]
70 #[doc(hidden)]
71 impl ::core::convert::From<UnderlyingRustTuple<'_>> for CompactSignature {
72 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
73 Self { r: tuple.0, vs: tuple.1 }
74 }
75 }
76 #[automatically_derived]
77 impl alloy_sol_types::SolValue for CompactSignature {
78 type SolType = Self;
79 }
80 #[automatically_derived]
81 impl alloy_sol_types::private::SolTypeValue<Self> for CompactSignature {
82 #[inline]
83 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
84 (
85 <alloy::sol_types::sol_data::FixedBytes<
86 32,
87 > as alloy_sol_types::SolType>::tokenize(&self.r),
88 <alloy::sol_types::sol_data::FixedBytes<
89 32,
90 > as alloy_sol_types::SolType>::tokenize(&self.vs),
91 )
92 }
93 #[inline]
94 fn stv_abi_encoded_size(&self) -> usize {
95 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
96 return size;
97 }
98 let tuple = <UnderlyingRustTuple<
99 '_,
100 > as ::core::convert::From<Self>>::from(self.clone());
101 <UnderlyingSolTuple<
102 '_,
103 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
104 }
105 #[inline]
106 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
107 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
108 }
109 #[inline]
110 fn stv_abi_encode_packed_to(
111 &self,
112 out: &mut alloy_sol_types::private::Vec<u8>,
113 ) {
114 let tuple = <UnderlyingRustTuple<
115 '_,
116 > as ::core::convert::From<Self>>::from(self.clone());
117 <UnderlyingSolTuple<
118 '_,
119 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
120 }
121 #[inline]
122 fn stv_abi_packed_encoded_size(&self) -> usize {
123 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
124 return size;
125 }
126 let tuple = <UnderlyingRustTuple<
127 '_,
128 > as ::core::convert::From<Self>>::from(self.clone());
129 <UnderlyingSolTuple<
130 '_,
131 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
132 }
133 }
134 #[automatically_derived]
135 impl alloy_sol_types::SolType for CompactSignature {
136 type RustType = Self;
137 type Token<'a> = <UnderlyingSolTuple<
138 'a,
139 > as alloy_sol_types::SolType>::Token<'a>;
140 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
141 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
142 '_,
143 > as alloy_sol_types::SolType>::ENCODED_SIZE;
144 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
145 '_,
146 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
147 #[inline]
148 fn valid_token(token: &Self::Token<'_>) -> bool {
149 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
150 }
151 #[inline]
152 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
153 let tuple = <UnderlyingSolTuple<
154 '_,
155 > as alloy_sol_types::SolType>::detokenize(token);
156 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
157 }
158 }
159 #[automatically_derived]
160 impl alloy_sol_types::SolStruct for CompactSignature {
161 const NAME: &'static str = "CompactSignature";
162 #[inline]
163 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
164 alloy_sol_types::private::Cow::Borrowed(
165 "CompactSignature(bytes32 r,bytes32 vs)",
166 )
167 }
168 #[inline]
169 fn eip712_components() -> alloy_sol_types::private::Vec<
170 alloy_sol_types::private::Cow<'static, str>,
171 > {
172 alloy_sol_types::private::Vec::new()
173 }
174 #[inline]
175 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
176 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
177 }
178 #[inline]
179 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
180 [
181 <alloy::sol_types::sol_data::FixedBytes<
182 32,
183 > as alloy_sol_types::SolType>::eip712_data_word(&self.r)
184 .0,
185 <alloy::sol_types::sol_data::FixedBytes<
186 32,
187 > as alloy_sol_types::SolType>::eip712_data_word(&self.vs)
188 .0,
189 ]
190 .concat()
191 }
192 }
193 #[automatically_derived]
194 impl alloy_sol_types::EventTopic for CompactSignature {
195 #[inline]
196 fn topic_preimage_length(rust: &Self::RustType) -> usize {
197 0usize
198 + <alloy::sol_types::sol_data::FixedBytes<
199 32,
200 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.r)
201 + <alloy::sol_types::sol_data::FixedBytes<
202 32,
203 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.vs)
204 }
205 #[inline]
206 fn encode_topic_preimage(
207 rust: &Self::RustType,
208 out: &mut alloy_sol_types::private::Vec<u8>,
209 ) {
210 out.reserve(
211 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
212 );
213 <alloy::sol_types::sol_data::FixedBytes<
214 32,
215 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.r, out);
216 <alloy::sol_types::sol_data::FixedBytes<
217 32,
218 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.vs, out);
219 }
220 #[inline]
221 fn encode_topic(
222 rust: &Self::RustType,
223 ) -> alloy_sol_types::abi::token::WordToken {
224 let mut out = alloy_sol_types::private::Vec::new();
225 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
226 rust,
227 &mut out,
228 );
229 alloy_sol_types::abi::token::WordToken(
230 alloy_sol_types::private::keccak256(out),
231 )
232 }
233 }
234 };
235 #[derive(serde::Serialize, serde::Deserialize)]
236 #[derive(Default, Debug, PartialEq, Eq, Hash)]
237 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
241 #[derive(Clone)]
242 pub struct VRFParameters {
243 #[allow(missing_docs)]
244 pub vx: alloy::sol_types::private::primitives::aliases::U256,
245 #[allow(missing_docs)]
246 pub vy: alloy::sol_types::private::primitives::aliases::U256,
247 #[allow(missing_docs)]
248 pub s: alloy::sol_types::private::primitives::aliases::U256,
249 #[allow(missing_docs)]
250 pub h: alloy::sol_types::private::primitives::aliases::U256,
251 #[allow(missing_docs)]
252 pub sBx: alloy::sol_types::private::primitives::aliases::U256,
253 #[allow(missing_docs)]
254 pub sBy: alloy::sol_types::private::primitives::aliases::U256,
255 #[allow(missing_docs)]
256 pub hVx: alloy::sol_types::private::primitives::aliases::U256,
257 #[allow(missing_docs)]
258 pub hVy: alloy::sol_types::private::primitives::aliases::U256,
259 }
260 #[allow(
261 non_camel_case_types,
262 non_snake_case,
263 clippy::pub_underscore_fields,
264 clippy::style
265 )]
266 const _: () = {
267 use alloy::sol_types as alloy_sol_types;
268 #[doc(hidden)]
269 type UnderlyingSolTuple<'a> = (
270 alloy::sol_types::sol_data::Uint<256>,
271 alloy::sol_types::sol_data::Uint<256>,
272 alloy::sol_types::sol_data::Uint<256>,
273 alloy::sol_types::sol_data::Uint<256>,
274 alloy::sol_types::sol_data::Uint<256>,
275 alloy::sol_types::sol_data::Uint<256>,
276 alloy::sol_types::sol_data::Uint<256>,
277 alloy::sol_types::sol_data::Uint<256>,
278 );
279 #[doc(hidden)]
280 type UnderlyingRustTuple<'a> = (
281 alloy::sol_types::private::primitives::aliases::U256,
282 alloy::sol_types::private::primitives::aliases::U256,
283 alloy::sol_types::private::primitives::aliases::U256,
284 alloy::sol_types::private::primitives::aliases::U256,
285 alloy::sol_types::private::primitives::aliases::U256,
286 alloy::sol_types::private::primitives::aliases::U256,
287 alloy::sol_types::private::primitives::aliases::U256,
288 alloy::sol_types::private::primitives::aliases::U256,
289 );
290 #[cfg(test)]
291 #[allow(dead_code, unreachable_patterns)]
292 fn _type_assertion(
293 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
294 ) {
295 match _t {
296 alloy_sol_types::private::AssertTypeEq::<
297 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
298 >(_) => {}
299 }
300 }
301 #[automatically_derived]
302 #[doc(hidden)]
303 impl ::core::convert::From<VRFParameters> for UnderlyingRustTuple<'_> {
304 fn from(value: VRFParameters) -> Self {
305 (
306 value.vx,
307 value.vy,
308 value.s,
309 value.h,
310 value.sBx,
311 value.sBy,
312 value.hVx,
313 value.hVy,
314 )
315 }
316 }
317 #[automatically_derived]
318 #[doc(hidden)]
319 impl ::core::convert::From<UnderlyingRustTuple<'_>> for VRFParameters {
320 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
321 Self {
322 vx: tuple.0,
323 vy: tuple.1,
324 s: tuple.2,
325 h: tuple.3,
326 sBx: tuple.4,
327 sBy: tuple.5,
328 hVx: tuple.6,
329 hVy: tuple.7,
330 }
331 }
332 }
333 #[automatically_derived]
334 impl alloy_sol_types::SolValue for VRFParameters {
335 type SolType = Self;
336 }
337 #[automatically_derived]
338 impl alloy_sol_types::private::SolTypeValue<Self> for VRFParameters {
339 #[inline]
340 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
341 (
342 <alloy::sol_types::sol_data::Uint<
343 256,
344 > as alloy_sol_types::SolType>::tokenize(&self.vx),
345 <alloy::sol_types::sol_data::Uint<
346 256,
347 > as alloy_sol_types::SolType>::tokenize(&self.vy),
348 <alloy::sol_types::sol_data::Uint<
349 256,
350 > as alloy_sol_types::SolType>::tokenize(&self.s),
351 <alloy::sol_types::sol_data::Uint<
352 256,
353 > as alloy_sol_types::SolType>::tokenize(&self.h),
354 <alloy::sol_types::sol_data::Uint<
355 256,
356 > as alloy_sol_types::SolType>::tokenize(&self.sBx),
357 <alloy::sol_types::sol_data::Uint<
358 256,
359 > as alloy_sol_types::SolType>::tokenize(&self.sBy),
360 <alloy::sol_types::sol_data::Uint<
361 256,
362 > as alloy_sol_types::SolType>::tokenize(&self.hVx),
363 <alloy::sol_types::sol_data::Uint<
364 256,
365 > as alloy_sol_types::SolType>::tokenize(&self.hVy),
366 )
367 }
368 #[inline]
369 fn stv_abi_encoded_size(&self) -> usize {
370 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
371 return size;
372 }
373 let tuple = <UnderlyingRustTuple<
374 '_,
375 > as ::core::convert::From<Self>>::from(self.clone());
376 <UnderlyingSolTuple<
377 '_,
378 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
379 }
380 #[inline]
381 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
382 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
383 }
384 #[inline]
385 fn stv_abi_encode_packed_to(
386 &self,
387 out: &mut alloy_sol_types::private::Vec<u8>,
388 ) {
389 let tuple = <UnderlyingRustTuple<
390 '_,
391 > as ::core::convert::From<Self>>::from(self.clone());
392 <UnderlyingSolTuple<
393 '_,
394 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
395 }
396 #[inline]
397 fn stv_abi_packed_encoded_size(&self) -> usize {
398 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
399 return size;
400 }
401 let tuple = <UnderlyingRustTuple<
402 '_,
403 > as ::core::convert::From<Self>>::from(self.clone());
404 <UnderlyingSolTuple<
405 '_,
406 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
407 }
408 }
409 #[automatically_derived]
410 impl alloy_sol_types::SolType for VRFParameters {
411 type RustType = Self;
412 type Token<'a> = <UnderlyingSolTuple<
413 'a,
414 > as alloy_sol_types::SolType>::Token<'a>;
415 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
416 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
417 '_,
418 > as alloy_sol_types::SolType>::ENCODED_SIZE;
419 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
420 '_,
421 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
422 #[inline]
423 fn valid_token(token: &Self::Token<'_>) -> bool {
424 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
425 }
426 #[inline]
427 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
428 let tuple = <UnderlyingSolTuple<
429 '_,
430 > as alloy_sol_types::SolType>::detokenize(token);
431 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
432 }
433 }
434 #[automatically_derived]
435 impl alloy_sol_types::SolStruct for VRFParameters {
436 const NAME: &'static str = "VRFParameters";
437 #[inline]
438 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
439 alloy_sol_types::private::Cow::Borrowed(
440 "VRFParameters(uint256 vx,uint256 vy,uint256 s,uint256 h,uint256 sBx,uint256 sBy,uint256 hVx,uint256 hVy)",
441 )
442 }
443 #[inline]
444 fn eip712_components() -> alloy_sol_types::private::Vec<
445 alloy_sol_types::private::Cow<'static, str>,
446 > {
447 alloy_sol_types::private::Vec::new()
448 }
449 #[inline]
450 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
451 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
452 }
453 #[inline]
454 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
455 [
456 <alloy::sol_types::sol_data::Uint<
457 256,
458 > as alloy_sol_types::SolType>::eip712_data_word(&self.vx)
459 .0,
460 <alloy::sol_types::sol_data::Uint<
461 256,
462 > as alloy_sol_types::SolType>::eip712_data_word(&self.vy)
463 .0,
464 <alloy::sol_types::sol_data::Uint<
465 256,
466 > as alloy_sol_types::SolType>::eip712_data_word(&self.s)
467 .0,
468 <alloy::sol_types::sol_data::Uint<
469 256,
470 > as alloy_sol_types::SolType>::eip712_data_word(&self.h)
471 .0,
472 <alloy::sol_types::sol_data::Uint<
473 256,
474 > as alloy_sol_types::SolType>::eip712_data_word(&self.sBx)
475 .0,
476 <alloy::sol_types::sol_data::Uint<
477 256,
478 > as alloy_sol_types::SolType>::eip712_data_word(&self.sBy)
479 .0,
480 <alloy::sol_types::sol_data::Uint<
481 256,
482 > as alloy_sol_types::SolType>::eip712_data_word(&self.hVx)
483 .0,
484 <alloy::sol_types::sol_data::Uint<
485 256,
486 > as alloy_sol_types::SolType>::eip712_data_word(&self.hVy)
487 .0,
488 ]
489 .concat()
490 }
491 }
492 #[automatically_derived]
493 impl alloy_sol_types::EventTopic for VRFParameters {
494 #[inline]
495 fn topic_preimage_length(rust: &Self::RustType) -> usize {
496 0usize
497 + <alloy::sol_types::sol_data::Uint<
498 256,
499 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.vx)
500 + <alloy::sol_types::sol_data::Uint<
501 256,
502 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.vy)
503 + <alloy::sol_types::sol_data::Uint<
504 256,
505 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.s)
506 + <alloy::sol_types::sol_data::Uint<
507 256,
508 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.h)
509 + <alloy::sol_types::sol_data::Uint<
510 256,
511 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.sBx)
512 + <alloy::sol_types::sol_data::Uint<
513 256,
514 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.sBy)
515 + <alloy::sol_types::sol_data::Uint<
516 256,
517 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.hVx)
518 + <alloy::sol_types::sol_data::Uint<
519 256,
520 > as alloy_sol_types::EventTopic>::topic_preimage_length(&rust.hVy)
521 }
522 #[inline]
523 fn encode_topic_preimage(
524 rust: &Self::RustType,
525 out: &mut alloy_sol_types::private::Vec<u8>,
526 ) {
527 out.reserve(
528 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
529 );
530 <alloy::sol_types::sol_data::Uint<
531 256,
532 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.vx, out);
533 <alloy::sol_types::sol_data::Uint<
534 256,
535 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.vy, out);
536 <alloy::sol_types::sol_data::Uint<
537 256,
538 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.s, out);
539 <alloy::sol_types::sol_data::Uint<
540 256,
541 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.h, out);
542 <alloy::sol_types::sol_data::Uint<
543 256,
544 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.sBx, out);
545 <alloy::sol_types::sol_data::Uint<
546 256,
547 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.sBy, out);
548 <alloy::sol_types::sol_data::Uint<
549 256,
550 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.hVx, out);
551 <alloy::sol_types::sol_data::Uint<
552 256,
553 > as alloy_sol_types::EventTopic>::encode_topic_preimage(&rust.hVy, out);
554 }
555 #[inline]
556 fn encode_topic(
557 rust: &Self::RustType,
558 ) -> alloy_sol_types::abi::token::WordToken {
559 let mut out = alloy_sol_types::private::Vec::new();
560 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
561 rust,
562 &mut out,
563 );
564 alloy_sol_types::abi::token::WordToken(
565 alloy_sol_types::private::keccak256(out),
566 )
567 }
568 }
569 };
570 use alloy::contract as alloy_contract;
571 #[inline]
575 pub const fn new<
576 P: alloy_contract::private::Provider<N>,
577 N: alloy_contract::private::Network,
578 >(
579 address: alloy_sol_types::private::Address,
580 provider: P,
581 ) -> HoprCryptoInstance<P, N> {
582 HoprCryptoInstance::<P, N>::new(address, provider)
583 }
584 #[derive(Clone)]
596 pub struct HoprCryptoInstance<P, N = alloy_contract::private::Ethereum> {
597 address: alloy_sol_types::private::Address,
598 provider: P,
599 _network: ::core::marker::PhantomData<N>,
600 }
601 #[automatically_derived]
602 impl<P, N> ::core::fmt::Debug for HoprCryptoInstance<P, N> {
603 #[inline]
604 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
605 f.debug_tuple("HoprCryptoInstance").field(&self.address).finish()
606 }
607 }
608 #[automatically_derived]
610 impl<
611 P: alloy_contract::private::Provider<N>,
612 N: alloy_contract::private::Network,
613 > HoprCryptoInstance<P, N> {
614 #[inline]
618 pub const fn new(
619 address: alloy_sol_types::private::Address,
620 provider: P,
621 ) -> Self {
622 Self {
623 address,
624 provider,
625 _network: ::core::marker::PhantomData,
626 }
627 }
628 #[inline]
630 pub const fn address(&self) -> &alloy_sol_types::private::Address {
631 &self.address
632 }
633 #[inline]
635 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
636 self.address = address;
637 }
638 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
640 self.set_address(address);
641 self
642 }
643 #[inline]
645 pub const fn provider(&self) -> &P {
646 &self.provider
647 }
648 }
649 impl<P: ::core::clone::Clone, N> HoprCryptoInstance<&P, N> {
650 #[inline]
652 pub fn with_cloned_provider(self) -> HoprCryptoInstance<P, N> {
653 HoprCryptoInstance {
654 address: self.address,
655 provider: ::core::clone::Clone::clone(&self.provider),
656 _network: ::core::marker::PhantomData,
657 }
658 }
659 }
660 #[automatically_derived]
662 impl<
663 P: alloy_contract::private::Provider<N>,
664 N: alloy_contract::private::Network,
665 > HoprCryptoInstance<P, N> {
666 pub fn call_builder<C: alloy_sol_types::SolCall>(
671 &self,
672 call: &C,
673 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
674 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
675 }
676 }
677 #[automatically_derived]
679 impl<
680 P: alloy_contract::private::Provider<N>,
681 N: alloy_contract::private::Network,
682 > HoprCryptoInstance<P, N> {
683 pub fn event_filter<E: alloy_sol_types::SolEvent>(
688 &self,
689 ) -> alloy_contract::Event<&P, E, N> {
690 alloy_contract::Event::new_sol(&self.provider, &self.address)
691 }
692 }
693}
694#[allow(
2001 non_camel_case_types,
2002 non_snake_case,
2003 clippy::pub_underscore_fields,
2004 clippy::style,
2005 clippy::empty_structs_with_brackets
2006)]
2007pub mod HoprChannels {
2008 use super::*;
2009 use alloy::sol_types as alloy_sol_types;
2010 #[rustfmt::skip]
2016 #[allow(clippy::all)]
2017 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2018 b"`\x04\x80T`\xFF`\xA0\x1B\x19\x16\x90U`\0a\x01@\x81\x90Ra\x01T\x81\x90Ra\x01`\x81\x90Ra\x01t\x81\x90R`@a\x01 \x81\x90R`\xA0\x81\x90Ra\x01\xA0\x82\x90Ra\x01\xB4\x91\x90\x91R`(a\x01\x80\x81\x90Ra\x01\xC8\x90\x91R`\xC0R4\x80\x15b\0\0^W`\0\x80\xFD[P`@Qb\0I'8\x03\x80b\0I'\x839\x81\x01`@\x81\x90Rb\0\0\x81\x91b\0\x04\xE9V[c\x05&\\\0`\x80\x81\x90R`@Q`\x01`\x01``\x1B\x03\x190``\x1B\x16` \x82\x01R`4\x01`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x91\x90R\x80Q` \x91\x82\x01 \x90\x1C`\x01`\xE0\x1BBc\xFF\xFF\xFF\xFF\x90\x81\x16\x82\x02\x92\x90\x92\x17`\x01\x81\x90U`\x01`\x01`\xE0\x1B\x03\x80\x82\x16\x91\x83\x90\x04\x90\x93\x16\x90\x91\x02\x17`\x02Ub\0\0\xFC\x90b\0\x02O\x16V[P\x81c\xFF\xFF\xFF\xFF\x16`\0\x03b\0\x01%W`@Qc\xF9\xEE\x91\x07`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x83\x16b\0\x01\x80W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7Ftoken must not be empty\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[b\0\x01\x8B\x81b\0\x03NV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\xE0Rc\xFF\xFF\xFF\xFF\x82\x16a\x01\0R`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c)\x96Z\x1D\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x02\x1DW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x022W=`\0\x80>=`\0\xFD[PPPPb\0\x02Fb\0\x03\xCA` \x1B` \x1CV[PPPb\0\x05EV[`@\x80Q\x80\x82\x01\x82R`\n\x81Ri$7\xB89&2\xB23\xB2\xB9`\xB1\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\x12\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q`\0\x80Q` b\0I\x07\x839\x81Q\x91R\x81\x83\x01R\x7Fl\xD6\x81y\x0Cx\xC2 Q{\t\x9As\x7F\x8E\x85\xF6\x9Eyz\xBEN)\x10\xFB\x18\x9Ba\xDBK\xF2\xCD\x81\x84\x01R\x7F\x06\xC0\x15\xBD\"\xB4\xC6\x96\x90\x93<\x10X\x87\x8E\xBD\xFE\xF3\x1F\x9A\xAA\xE4\x0B\xBE\x86\xD8\xA0\x9F\xE1\xB2\x97,``\x82\x01RF`\x80\x82\x01R0`\xA0\x80\x83\x01\x91\x90\x91R\x83Q\x80\x83\x03\x90\x91\x01\x81R`\xC0\x90\x91\x01\x90\x92R\x81Q\x91\x01 `\x03T\x81\x14b\0\x03KW`\x03\x81\x90U`@Q\x81\x90\x7F\xA4?\xAD\x83\x92\x0F\xD0\x94E\x85^\x85Ns\xC9\xC52\xE1t\x02\xC9\xCE\xB0\x99\x93\xA29(C\xA5\xBD\xB9\x90`\0\x90\xA2[PV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16\x15b\0\x03yW`@Qb\xDC\x14\x9F`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16b\0\x03\xA1W`@QcGN\xBE/`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16`\x01`\x01`\xA8\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17`\x01`\xA0\x1B\x17\x90UV[`@\x80Q\x80\x82\x01\x82R`\x0C\x81RkHoprChannels`\xA0\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\"\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q`\0\x80Q` b\0I\x07\x839\x81Q\x91R\x91\x81\x01\x91\x90\x91R\x7F\x84\xE6\x90\x8F46\x01\xD9\xCE\x9F\xB6\r\x82P9N\xB8\xA5\x1CV\xF1\x87k\xC1\xE0\x17\xC9z\xCDeg\xF2\x91\x81\x01\x91\x90\x91R\x7F\xB4\xBC\xB1T\xE3\x86\x01\xC3\x899o\xA9\x181M\xA4-F&\xF1>\xF6\xD0\xCE\xB0~_]&\xB2\xFB\xC3``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\0\x90`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\x05T\x81\x14b\0\x03KW`\x05\x81\x90U`@Q\x81\x90\x7Fw\x1FR@\xAE_\xD8\xA7d\r?\xB8/\xA7\n\xAB/\xB1\xDB\xF3_.\xF4d\xF8P\x99Fqvd\xC5\x90`\0\x90\xA2PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x03KW`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x04\xFFW`\0\x80\xFD[\x83Qb\0\x05\x0C\x81b\0\x04\xD3V[` \x85\x01Q\x90\x93Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x05'W`\0\x80\xFD[`@\x85\x01Q\x90\x92Pb\0\x05:\x81b\0\x04\xD3V[\x80\x91PP\x92P\x92P\x92V[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x01\0QaC>b\0\x05\xC9`\09`\0\x81\x81a\x03\xD9\x01Ra&-\x01R`\0\x81\x81a\x04\xD7\x01R\x81\x81a\x05f\x01R\x81\x81a\t\x12\x01R\x81\x81a\x16\x01\x01R\x81\x81a \x89\x01R\x81\x81a\"\xF8\x01Ra$\xDC\x01R`\0\x81\x81a\x02\xA8\x01Ra\x05\xD5\x01R`\0\x81\x81a\x03.\x01Ra\x070\x01R`\0a'Q\x01RaC>`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xE4W`\x005`\xE0\x1C\x80c|\x8E(\xDA\x11a\x01\x0FW\x80c\xC9f\xC4\xFE\x11a\0\xA2W\x80c\xFC\x0CTj\x11a\0qW\x80c\xFC\x0CTj\x14a\x04\xD2W\x80c\xFCU0\x9A\x14a\x05\x11W\x80c\xFC\xB7yo\x14a\x05$W\x80c\xFF\xA1\xADt\x14a\x057W`\0\x80\xFD[\x80c\xC9f\xC4\xFE\x14a\x04\x87W\x80c\xDC\x96\xFDP\x14a\x04\x90W\x80c\xDD\xAD\x19\x02\x14a\x04\x98W\x80c\xF6\x98\xDA%\x14a\x04\xC9W`\0\x80\xFD[\x80c\xAC\x96P\xD8\x11a\0\xDEW\x80c\xAC\x96P\xD8\x14a\x04;W\x80c\xB9 \xDE\xED\x14a\x04[W\x80c\xBD\xA6_E\x14a\x04aW\x80c\xBE\x9B\xAB\xDC\x14a\x04tW`\0\x80\xFD[\x80c|\x8E(\xDA\x14a\x03\xC1W\x80c\x875-e\x14a\x03\xD4W\x80c\x89\xCC\xFE\x89\x14a\x04\x10W\x80c\x8C7\x10\xC9\x14a\x04\x18W`\0\x80\xFD[\x80c)9.2\x11a\x01\x87W\x80ce\x15\x14\xBF\x11a\x01VW\x80ce\x15\x14\xBF\x14a\x02\xEFW\x80crX\x1C\xC0\x14a\x03\x02W\x80cx\xD8\x01m\x14a\x03)W\x80cz~\xBD{\x14a\x03PW`\0\x80\xFD[\x80c)9.2\x14a\x02\x83W\x80cD\xDA\xE6\xF8\x14a\x02\xA3W\x80cT\xA2\xED\xF5\x14a\x02\xCAW\x80c]/\x07\xC5\x14a\x02\xDDW`\0\x80\xFD[\x80c\x1A\x7F\xFEz\x11a\x01\xC3W\x80c\x1A\x7F\xFEz\x14a\x02$W\x80c#\xCB:\xC0\x14a\x027W\x80c$\x08l\xC2\x14a\x02JW\x80c$\x9C\xB3\xFA\x14a\x02pW`\0\x80\xFD[\x80b#\xDE)\x14a\x01\xE9W\x80c\n\xBE\xC5\x8F\x14a\x01\xFEW\x80c\x0C\xD8\x8Dr\x14a\x02\x11W[`\0\x80\xFD[a\x01\xFCa\x01\xF76`\x04a:\x87V[a\x05[V[\0[a\x01\xFCa\x02\x0C6`\x04a;TV[a\x08\x17V[a\x01\xFCa\x02\x1F6`\x04a;\xC7V[a\t\xAFV[a\x01\xFCa\x0226`\x04a<\x07V[a\n\x80V[a\x01\xFCa\x02E6`\x04a<\x07V[a\x0BPV[a\x02]a\x02X6`\x04a<+V[a\x0C\x1DV[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02]a\x02~6`\x04a<HV[a\r\x8AV[a\x02\x8B`\x01\x81V[`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R` \x01a\x02gV[a\x02]\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01\xFCa\x02\xD86`\x04a<xV[a\r\xE4V[a\x02\x8Bj\x08E\x95\x16\x14\x01HJ\0\0\0\x81V[a\x01\xFCa\x02\xFD6`\x04a<xV[a\x0E\xB9V[a\x02]\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;\x81V[a\x02]\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03\xB0a\x03^6`\x04a<\xA6V[`\x06` R`\0\x90\x81R`@\x90 T`\x01`\x01``\x1B\x03\x81\x16\x90`\x01``\x1B\x81\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90`\x01`\x90\x1B\x81\x04c\xFF\xFF\xFF\xFF\x16\x90`\x01`\xB0\x1B\x81\x04b\xFF\xFF\xFF\x16\x90`\x01`\xC8\x1B\x90\x04`\xFF\x16\x85V[`@Qa\x02g\x95\x94\x93\x92\x91\x90a<\xD5V[a\x01\xFCa\x03\xCF6`\x04a<\x07V[a\x0F\x89V[a\x03\xFB\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x02gV[a\x01\xFCa\x10VV[a\x04+a\x04&6`\x04a=8V[a\x11oV[`@Q\x90\x15\x15\x81R` \x01a\x02gV[a\x04Na\x04I6`\x04a=_V[a\x11\xF1V[`@Qa\x02g\x91\x90a>$V[Ba\x03\xFBV[a\x01\xFCa\x04o6`\x04a<xV[a\x12\xE6V[a\x02]a\x04\x826`\x04a<xV[a\x13\xB6V[a\x02]`\x03T\x81V[a\x01\xFCa\x13\xFBV[a\x04\xBC`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03\x12\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02g\x91\x90a>\x86V[a\x02]`\x05T\x81V[a\x04\xF9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02gV[a\x01\xFCa\x05\x1F6`\x04a>\x99V[a\x15\tV[a\x01\xFCa\x0526`\x04a>\xCEV[a\x16\x9CV[a\x04\xBC`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03\"\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x05\xA4W`@QcPy\xFFu`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x05\xCDW`@Qc\x178\x92!`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x15a\x08\rW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x03a\x07.W`\x01`\x01``\x1B\x03\x85\x11\x15a\x06\"W`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R\x865``\x90\x81\x1C\x93\x82\x01\x84\x90R`\x14\x88\x015\x90\x1C\x91`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x06}W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xA1\x91\x90a>\xFCV[\x90P\x82`\x01`\x01`\xA0\x1B\x03\x16\x8A`\x01`\x01`\xA0\x1B\x03\x16\x03a\x06\xE9W`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x06\xE4W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x07\x1BV[\x89`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x07\x1BW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x07&\x83\x83\x8Aa\x17jV[PPPa\x08\rV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x03a\x07\xF4W\x835``\x90\x81\x1C\x90`\x14\x86\x015`\xA0\x90\x81\x1C\x91` \x88\x015\x90\x1C\x90`4\x88\x015\x90\x1C\x88\x15\x80a\x07\x99WPa\x07\x95`\x01`\x01``\x1B\x03\x80\x83\x16\x90\x85\x16a?/V[\x89\x14\x15[\x15a\x07\xB7W`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01``\x1B\x03\x83\x16\x15a\x07\xD1Wa\x07\xD1\x84\x83\x85a\x17jV[`\x01`\x01``\x1B\x03\x81\x16\x15a\x07\xEBWa\x07\xEB\x82\x85\x83a\x17jV[PPPPa\x08\rV[`@Qc\r=\xCD\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPV[`\x04T\x83\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x08CW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08\x92W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08\xB6\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x08\xDDW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xE8\x84\x84\x84a\x17jV[`@Qc#\xB8r\xDD`\xE0\x1B\x81R3`\x04\x82\x01R0`$\x82\x01R`\x01`\x01``\x1B\x03\x83\x16`D\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c#\xB8r\xDD\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\tcW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x87\x91\x90a?BV[\x15\x15`\x01\x14a\t\xA9W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[`\x04T\x83\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\t\xDBW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n*W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nN\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\nuW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t\xA9\x84\x84\x84a\x1B\x16V[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\n\xAAW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xF8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x1C\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0BCW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a\"\x13V[PV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0BzW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0B\xC8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\xEC\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\x13W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a#\x8FV[`\0\x80a\x0C.\x83a\x01\0\x015a%\x13V[\x90P`\0a\x0CB`\xC0\x85\x01`\xA0\x86\x01a?dV[f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`8a\x0C]`\xA0\x87\x01`\x80\x88\x01a?\x8DV[b\xFF\xFF\xFF\x16\x90\x1B`Pa\x0Cv`\x80\x88\x01``\x89\x01a?\xB2V[c\xFF\xFF\xFF\xFF\x16\x90\x1B`pa\x0C\x90``\x89\x01`@\x8A\x01a?\xD8V[e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x1B`\xA0a\x0C\xAC`@\x8A\x01` \x8B\x01a@\0V[`\x01`\x01``\x1B\x03\x16\x90\x1B\x17\x17\x17\x17\x90P`\0c\xFC\xB7yo`\xE0\x1B\x85`\0\x01`\0\x015\x83\x85`@Q` \x01a\r\x01\x93\x92\x91\x90\x92\x83R` \x83\x01\x91\x90\x91R``\x1B`\x01`\x01``\x1B\x03\x19\x16`@\x82\x01R`T\x01\x90V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\x01`\x01`\xE0\x1B\x03\x19\x94\x90\x94\x16\x81\x84\x01R\x82\x82\x01\x93\x90\x93R\x80Q\x80\x83\x03\x82\x01\x81R``\x83\x01\x82R\x80Q\x90\x84\x01 `\x05T`\x19`\xF8\x1B`\x80\x85\x01R`\x01`\xF8\x1B`\x81\x85\x01R`\x82\x84\x01R`\xA2\x80\x84\x01\x91\x90\x91R\x81Q\x80\x84\x03\x90\x91\x01\x81R`\xC2\x90\x92\x01\x90R\x80Q\x91\x01 \x95\x94PPPPPV[`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x81 T`\xFF\x16a\r\xB9W`\0a\r\xDBV[\x7F\xA2\xEFF\0\xD7B\x02-S-GG\xCB5GGFg\xD6\xF18\x04\x90%\x13\xB2\xEC\x01\xC8H\xF4\xB4[\x90P[\x92\x91PPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0E\x10W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E_W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x83\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0E\xAAW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a\"\x13V[PPPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0E\xE5W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0FX\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0F\x7FW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a#\x8FV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0F\xB3W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\x01W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10%\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x10LW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a%\xD0V[`@\x80Q\x80\x82\x01\x82R`\x0C\x81RkHoprChannels`\xA0\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\"\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F\x91\x81\x01\x91\x90\x91R\x7F\x84\xE6\x90\x8F46\x01\xD9\xCE\x9F\xB6\r\x82P9N\xB8\xA5\x1CV\xF1\x87k\xC1\xE0\x17\xC9z\xCDeg\xF2\x91\x81\x01\x91\x90\x91R\x7F\xB4\xBC\xB1T\xE3\x86\x01\xC3\x899o\xA9\x181M\xA4-F&\xF1>\xF6\xD0\xCE\xB0~_]&\xB2\xFB\xC3``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\0\x90`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\x05T\x81\x14a\x0BMW`\x05\x81\x90U`@Q\x81\x90\x7Fw\x1FR@\xAE_\xD8\xA7d\r?\xB8/\xA7\n\xAB/\xB1\xDB\xF3_.\xF4d\xF8P\x99Fqvd\xC5\x90`\0\x90\xA2PV[`@\x80Q` \x80\x82\x01\x86\x90R\x835\x82\x84\x01R\x83\x81\x015``\x83\x01Ra\x01\0\x85\x015`\x80\x83\x01R`\xC0\x80\x86\x01\x805`\xA0\x80\x86\x01\x91\x90\x91R`\xE0\x80\x89\x015\x84\x87\x01R\x86Q\x80\x87\x03\x90\x94\x01\x84R\x90\x94\x01\x90\x94R\x80Q\x91\x01 `\0\x92`\xC8\x91\x90\x91\x1C\x91a\x11\xDA\x91\x90\x86\x01a?dV[f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x91\x16\x11\x15\x94\x93PPPPV[``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12\x0CWa\x12\x0Ca@\x1BV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12?W\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x12*W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x12\xDFWa\x12\xAF0\x85\x85\x84\x81\x81\x10a\x12cWa\x12ca@1V[\x90P` \x02\x81\x01\x90a\x12u\x91\x90a@GV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa' \x92PPPV[\x82\x82\x81Q\x81\x10a\x12\xC1Wa\x12\xC1a@1V[` \x02` \x01\x01\x81\x90RP\x80\x80a\x12\xD7\x90a@\x8EV[\x91PPa\x12EV[P\x92\x91PPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x13\x12W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13aW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\x85\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xACW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a%\xD0V[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x81\x1B\x82\x16` \x84\x01R\x83\x90\x1B\x16`4\x82\x01R`\0\x90`H\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`@\x80Q\x80\x82\x01\x82R`\n\x81Ri$7\xB89&2\xB23\xB2\xB9`\xB1\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\x12\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F\x81\x83\x01R\x7Fl\xD6\x81y\x0Cx\xC2 Q{\t\x9As\x7F\x8E\x85\xF6\x9Eyz\xBEN)\x10\xFB\x18\x9Ba\xDBK\xF2\xCD\x81\x84\x01R\x7F\x06\xC0\x15\xBD\"\xB4\xC6\x96\x90\x93<\x10X\x87\x8E\xBD\xFE\xF3\x1F\x9A\xAA\xE4\x0B\xBE\x86\xD8\xA0\x9F\xE1\xB2\x97,``\x82\x01RF`\x80\x82\x01R0`\xA0\x80\x83\x01\x91\x90\x91R\x83Q\x80\x83\x03\x90\x91\x01\x81R`\xC0\x90\x91\x01\x90\x92R\x81Q\x91\x01 `\x03T\x81\x14a\x0BMW`\x03\x81\x90U`@Q\x81\x90\x7F\xA4?\xAD\x83\x92\x0F\xD0\x94E\x85^\x85Ns\xC9\xC52\xE1t\x02\xC9\xCE\xB0\x99\x93\xA29(C\xA5\xBD\xB9\x90`\0\x90\xA2PV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x153W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x81W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\xA5\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x15\xCCW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x15\xD73\x83\x83a\x17jV[`@Qc#\xB8r\xDD`\xE0\x1B\x81R3`\x04\x82\x01R0`$\x82\x01R`\x01`\x01``\x1B\x03\x82\x16`D\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c#\xB8r\xDD\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x16RW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16v\x91\x90a?BV[\x15\x15`\x01\x14a\x16\x98W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x16\xC6W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x178\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x17_W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x16\x983\x83\x83a\x1B\x16V[\x80`\x01`\x01`\x01``\x1B\x03\x82\x16\x10\x15a\x17\x96W`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[j\x08E\x95\x16\x14\x01HJ\0\0\0`\x01`\x01``\x1B\x03\x82\x16\x11\x15a\x17\xCBW`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x83\x80`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x03a\x17\xFFW`@QcK\xD1\xD7i`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x18[W`@Qc\xEA\xC0\xD3\x89`\xE0\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fsource must not be empty\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18\xB2W`@Qc\xEA\xC0\xD3\x89`\xE0\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7Fdestination must not be empty\0\0\0`D\x82\x01R`d\x01a\x18RV[`\0a\x18\xBE\x87\x87a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x90 \x90\x91P`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x18\xEEWa\x18\xEEa<\xBFV[\x03a\x19OW`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7Fcannot fund a channel that will `D\x82\x01Ri1\xB67\xB9\xB2\x909\xB7\xB7\xB7`\xB1\x1B`d\x82\x01R`\x84\x01a\x18RV[\x80Ta\x19e\x90\x87\x90`\x01`\x01``\x1B\x03\x16a@\xA7V[\x81T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x17\x81U`\0\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x19\x9FWa\x19\x9Fa<\xBFV[\x03a\x1A\xAAW\x80Ta\x19\xBD\x90`\x01`\xB0\x1B\x90\x04b\xFF\xFF\xFF\x16`\x01a@\xC7V[\x81Tb\xFF\xFF\xFF\x91\x90\x91\x16`\x01`\xB0\x1B\x02m\xFF\0\0\0\0\0\0\0\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x16m\xFF\xFF\xFF\xFF\0\0\0\0\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x90\x91\x16\x17`\x01`\xC8\x1B\x17\x81U`@\x80Q\x7F\xDD\x90\xF98#\x035\xE5\x9D\xC9%\xC5~\xCB\x0E'\xA2\x8C-\x875n1\xF0\x0C\xD5UJ\xBDl\x1B-` \x82\x01R``\x8A\x81\x1B`\x01`\x01``\x1B\x03\x19\x90\x81\x16\x93\x83\x01\x93\x90\x93R\x89\x90\x1B\x90\x91\x16`T\x82\x01Ra\x1Ai\x90`h\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@Ra'EV[\x86`\x01`\x01`\xA0\x1B\x03\x16\x88`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\x90\xF98#\x035\xE5\x9D\xC9%\xC5~\xCB\x0E'\xA2\x8C-\x875n1\xF0\x0C\xD5UJ\xBDl\x1B-`@Q`@Q\x80\x91\x03\x90\xA3[\x80T`@Qa\x1A\xDD\x91a\x1AU\x91`\0\x80Q` aB\xC9\x839\x81Q\x91R\x91\x86\x91`\x01`\x01``\x1B\x03\x90\x91\x16\x90` \x01a@\xE3V[\x80T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x82\x90`\0\x80Q` aB\xC9\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA2PPPPPPPPV[a\x1B&`@\x83\x01` \x84\x01a@\0V[`\x01`\x01`\x01``\x1B\x03\x82\x16\x10\x15a\x1BQW`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[j\x08E\x95\x16\x14\x01HJ\0\0\0`\x01`\x01``\x1B\x03\x82\x16\x11\x15a\x1B\x86W`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82a\x01\0\x015a\x1B\x95\x81a(+V[a\x1B\xB2W`@Qc:\xE4\xEDk`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x835`\0\x90\x81R`\x06` R`@\x90 `\x01\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1B\xE1Wa\x1B\xE1a<\xBFV[\x14\x15\x80\x15a\x1C\x0CWP`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1C\tWa\x1C\ta<\xBFV[\x14\x15[\x15a\x1CtW`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`1`$\x82\x01R\x7Fspending channel must be OPEN or`D\x82\x01Rp PENDING_TO_CLOSE`x\x1B`d\x82\x01R`\x84\x01a\x18RV[a\x1C\x84`\xA0\x86\x01`\x80\x87\x01a?\x8DV[\x81T`\x01`\xB0\x1B\x90\x04b\xFF\xFF\xFF\x90\x81\x16\x91\x16\x14a\x1C\xE4W`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fchannel epoch must match\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x18RV[`\0a\x1C\xF6``\x87\x01`@\x88\x01a?\xD8V[\x90P`\0a\x1D\n`\x80\x88\x01``\x89\x01a?\xB2V[\x83T\x90\x91P`\x01``\x1B\x90\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01c\xFF\xFF\xFF\xFF\x83\x16\x10\x80a\x1DBWP\x80e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x10[\x15a\x1D`W`@Qchn\x1E\x0F`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Dp`@\x89\x01` \x8A\x01a@\0V[\x84T`\x01`\x01``\x1B\x03\x91\x82\x16\x91\x16\x10\x15a\x1D\x9EW`@Qc,Q\xD8\xDB`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D\xA9\x89a\x0C\x1DV[\x90Pa\x1D\xB6\x81\x8A\x8Aa\x11oV[a\x1D\xD3W`@Qc\xEE\x83\\\x89`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80``\x01`@R\x80\x83\x81R` \x01\x8C`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x05T`@Q` \x01a\x1E\n\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90R\x90Pa\x1E6a\x1E06\x8B\x90\x03\x8B\x01\x8BaA\x06V[\x82a(MV[a\x1ESW`@Qc\x12\xBF\xB7\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1Eh\x83`\xC0\x8D\x015`\xE0\x8E\x015a*\xD6V[\x90P\x8A5a\x1Ev\x82\x8Ea\x13\xB6V[\x14a\x1E\x94W`@Qcf\xEE\xA9\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\xA4c\xFF\xFF\xFF\xFF\x86\x16\x87aA\xA4V[\x87Te\xFF\xFF\xFF\xFF\xFF\xFF\x91\x90\x91\x16`\x01``\x1B\x02e\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x90\x91\x16\x17\x87Ua\x1E\xD8`@\x8C\x01` \x8D\x01a@\0V[\x87Ta\x1E\xED\x91\x90`\x01`\x01``\x1B\x03\x16aA\xC3V[\x87T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x90\x81\x17\x88U`@Qa\x1FB\x91a\x1AU\x91\x7F\"\xE2\xA4\"\xA8\x86\x06V\xA3\xA3<\xFA\x1D\xAFw\x1Evy\x8C\xE5d\x97G\x95r5\x02]\xE1.\x0B$\x91\x8F5\x91` \x01a@\xE3V[\x86T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x8B5\x90\x7F\"\xE2\xA4\"\xA8\x86\x06V\xA3\xA3<\xFA\x1D\xAFw\x1Evy\x8C\xE5d\x97G\x95r5\x02]\xE1.\x0B$\x90` \x01`@Q\x80\x91\x03\x90\xA2`\0a\x1F\x90\x8D\x83a\x13\xB6V[\x90P`\0`\x06`\0\x83\x81R` \x01\x90\x81R` \x01`\0 \x90Pa \x1C\x7Fqe\xE2\xEB\xC7\xCE5\xCC\x98\xCBvf\xF9\x94[6\x17\xF3\xF3c&\xB7m\x18\x93{\xA5\xFE\xCF\x18s\x9A\x8E`\0\x01`\0\x015\x8B`\0\x01`\x0C\x90T\x90a\x01\0\n\x90\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Q` \x01a\x1AU\x93\x92\x91\x90\x92\x83R` \x83\x01\x91\x90\x91R`\xD0\x1B`\x01`\x01`\xD0\x1B\x03\x19\x16`@\x82\x01R`F\x01\x90V[\x88T`@Q`\x01``\x1B\x90\x91\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x8D5\x90\x7Fqe\xE2\xEB\xC7\xCE5\xCC\x98\xCBvf\xF9\x94[6\x17\xF3\xF3c&\xB7m\x18\x93{\xA5\xFE\xCF\x18s\x9A\x90` \x01`@Q\x80\x91\x03\x90\xA2`\0\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a \x82Wa \x82a<\xBFV[\x03a!lW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xA9\x05\x9C\xBB3\x8F`\0\x01` \x01` \x81\x01\x90a \xCD\x91\x90a@\0V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x92\x16`\x04\x83\x01R`\x01`\x01``\x1B\x03\x16`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a!!W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a!E\x91\x90a?BV[\x15\x15`\x01\x14a!gW`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\"\x03V[a!|`@\x8E\x01` \x8F\x01a@\0V[\x81Ta!\x91\x91\x90`\x01`\x01``\x1B\x03\x16a@\xA7V[\x81T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x90\x81\x17\x82U`@Qa!\xD3\x91a\x1AU\x91`\0\x80Q` aB\xC9\x839\x81Q\x91R\x91\x86\x91` \x01a@\xE3V[\x80T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x82\x90`\0\x80Q` aB\xC9\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA2[PPPPPPPPPPPPPPV[`\0a\"\x1F\x82\x84a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x81 \x91\x92P\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\"MWa\"Ma<\xBFV[\x03a\"kW`@QcI\x94c\xC1`\xE0\x1B\x81R`\x04\x01a\x18R\x90aA\xE3V[\x80T`\x01c\xFF\0\0\x01`\xB0\x1B\x03\x19\x81\x16\x82U`@\x80Q`\0\x80Q` aB\xE9\x839\x81Q\x91R` \x82\x01R\x90\x81\x01\x84\x90R`\x01`\x01``\x1B\x03\x90\x91\x16\x90a\"\xB3\x90``\x01a\x1AUV[`@Q\x83\x90`\0\x80Q` aB\xE9\x839\x81Q\x91R\x90`\0\x90\xA2\x80\x15a#\x88W`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xA9\x05\x9C\xBB\x90`D\x01[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a#BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a#f\x91\x90a?BV[\x15\x15`\x01\x14a#\x88W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPV[`\0a#\x9B\x83\x83a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x90 \x90\x91P`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a#\xCBWa#\xCBa<\xBFV[\x14a$(W`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7Fchannel state must be PENDING_TO`D\x82\x01Re_CLOSE`\xD0\x1B`d\x82\x01R`\x84\x01a\x18RV[\x80Tc\xFF\xFF\xFF\xFFB\x81\x16`\x01`\x90\x1B\x90\x92\x04\x16\x10a$YW`@Qc8\xB2\x01\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01c\xFF\0\0\x01`\xB0\x1B\x03\x19\x81\x16\x82U`@\x80Q`\0\x80Q` aB\xE9\x839\x81Q\x91R` \x82\x01R\x90\x81\x01\x84\x90R`\x01`\x01``\x1B\x03\x90\x91\x16\x90a$\xA1\x90``\x01a\x1AUV[`@Q\x83\x90`\0\x80Q` aB\xE9\x839\x81Q\x91R\x90`\0\x90\xA2\x80\x15a#\x88W`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R3`\x04\x82\x01R`$\x81\x01\x82\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c\xA9\x05\x9C\xBB\x90`D\x01a##V[`\0`\x01\x81`\x1B\x7Fy\xBEf~\xF9\xDC\xBB\xACU\xA0b\x95\xCE\x87\x0B\x07\x02\x9B\xFC\xDB-\xCE(\xD9Y\xF2\x81[\x16\xF8\x17\x98p\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x7Fy\xBEf~\xF9\xDC\xBB\xACU\xA0b\x95\xCE\x87\x0B\x07\x02\x9B\xFC\xDB-\xCE(\xD9Y\xF2\x81[\x16\xF8\x17\x98\x87\t`@\x80Q`\0\x81R` \x81\x01\x80\x83R\x95\x90\x95R`\xFF\x90\x93\x16\x92\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a%\xBFW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x93\x92PPPV[`\0a%\xDC\x83\x83a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x81 \x91\x92P\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a&\nWa&\na<\xBFV[\x03a&(W`@QcI\x94c\xC1`\xE0\x1B\x81R`\x04\x01a\x18R\x90aA\xE3V[a&R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BaB3V[\x81T`\x01`\xC9\x1Bg\xFF\0\0\0\xFF\xFF\xFF\xFF`\x90\x1B\x19\x90\x91\x16`\xFF`\xC8\x1B\x19`\x01`\x90\x1Bc\xFF\xFF\xFF\xFF\x94\x90\x94\x16\x84\x02\x16\x17\x17\x80\x83U`@\x80Q\x7F\x07\xB5\xC9PY\x7F\xC3\xBE\xD9.*\xD3\x7F\xA8Op\x16U\xAC\xB3r\x98.Ho_\xAD6\x07\xF0J\\` \x82\x01R\x90\x81\x01\x85\x90R\x91\x90\x04`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16``\x82\x01Ra&\xD6\x90`d\x01a\x1AUV[\x80T`@Q`\x01`\x90\x1B\x90\x91\x04c\xFF\xFF\xFF\xFF\x16\x81R\x82\x90\x7F\x07\xB5\xC9PY\x7F\xC3\xBE\xD9.*\xD3\x7F\xA8Op\x16U\xAC\xB3r\x98.Ho_\xAD6\x07\xF0J\\\x90` \x01`@Q\x80\x91\x03\x90\xA2PPPPV[``a\r\xDB\x83\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01aB\xA2`'\x919a*\xFCV[`\x01T`\0\x90a'\x83\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90`\x01`\xE0\x1B\x90\x04c\xFF\xFF\xFF\xFF\x16a?/V[B\x11\x15a'\x8EWP`\x01[`\x03T`\x01T\x83Q` \x80\x86\x01\x91\x90\x91 `@\x80Q\x80\x84\x01\x95\x90\x95RC`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16\x90\x85\x01R\x91\x90\x1Bc\xFF\xFF\xFF\xFF\x19\x16`D\x83\x01R``\x82\x01R`\x80\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x91\x82\x01 c\xFF\xFF\xFF\xFFB\x16`\x01`\xE0\x1B\x02\x91\x1C\x17`\x01U\x80\x15a\x16\x98WPP`\x01T`\x01`\x01`\xE0\x1B\x03\x81\x16`\x01`\xE0\x1B\x91\x82\x90\x04c\xFF\xFF\xFF\xFF\x16\x90\x91\x02\x17`\x02UV[`\0\x81\x15\x80a\r\xDEWPPp\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x11\x90V[`\0d\x01\0\0\x03\xD0\x19\x83``\x01Q\x10\x15\x80a(rWPd\x01\0\0\x03\xD0\x19\x83`@\x01Q\x10\x15[\x15a(\x90W`@Qc:\xE4\xEDk`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a(\xA2\x83`\0\x01Q\x84` \x01Qa+tV[a(\xBFW`@Qc9\"\xA5A`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a)\x11\x84` \x01Q\x85`\0\x01Q`@Q` \x01a(\xF8\x92\x91\x90``\x92\x90\x92\x1B`\x01`\x01``\x1B\x03\x19\x16\x82R`\x14\x82\x01R`4\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x85`@\x01Qa+\x9FV[\x91P\x91P`\0a)&\x86`@\x01Q\x84\x84a,%V[\x90Pa)a\x86`\x80\x01Q\x87`\xA0\x01Q`@\x80Q` \x80\x82\x01\x94\x90\x94R\x80\x82\x01\x92\x90\x92R\x80Q\x80\x83\x03\x82\x01\x81R``\x90\x92\x01\x90R\x80Q\x91\x01 \x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a)\x92W`@Qc\x1D\xBF\xB9\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a)\xAB\x87``\x01Q\x88`\0\x01Q\x89` \x01Qa,%V[\x90Pa)\xE6\x87`\xC0\x01Q\x88`\xE0\x01Q`@\x80Q` \x80\x82\x01\x94\x90\x94R\x80\x82\x01\x92\x90\x92R\x80Q\x80\x83\x03\x82\x01\x81R``\x90\x92\x01\x90R\x80Q\x91\x01 \x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a*\x17W`@Qc\x1D\xBF\xB9\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a*I\x89`\x80\x01Q\x8A`\xA0\x01Q\x8B`\xC0\x01Q\x8C`\xE0\x01Qd\x01\0\0\x03\xD0\x19a*B\x91\x90aBPV[`\0a,\xC4V[` \x80\x8B\x01Q\x8CQ\x8D\x83\x01Q\x8DQ`@Q\x96\x98P\x94\x96P`\0\x95a*\xC1\x95a*\xA8\x95\x8A\x92\x8A\x92\x91\x01``\x96\x90\x96\x1B`\x01`\x01``\x1B\x03\x19\x16\x86R`\x14\x86\x01\x94\x90\x94R`4\x85\x01\x92\x90\x92R`T\x84\x01R`t\x83\x01R`\x94\x82\x01R`\xB4\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x8A`@\x01Qa.KV[``\x8B\x01Q\x14\x97PPPPPPPP\x92\x91PPV[`\0\x80`\0a*\xE6\x86\x86\x86a.\xBCV[\x91P\x91Pa*\xF3\x81a.\xF5V[P\x94\x93PPPPV[```\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x85`@Qa+\x19\x91\x90aBcV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a+TW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a+YV[``\x91P[P\x91P\x91Pa+j\x86\x83\x83\x87a0?V[\x96\x95PPPPPPV[`\0d\x01\0\0\x03\xD0\x19\x80\x84d\x01\0\0\x03\xD0\x19\x86\x87\t\t`\x07\x08d\x01\0\0\x03\xD0\x19\x83\x84\t\x14\x93\x92PPPV[`\0\x80`\0\x80a+\xAF\x86\x86a0\xC0V[\x91P\x91P`\0\x80a+\xBF\x84a1|V[\x91P\x91P`\0\x80a+\xCF\x85a1|V[\x91P\x91P`\0\x80a,\x03\x86\x86\x86\x86\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3a,\xC4V[\x91P\x91Pa,\x11\x82\x82a4>V[\x99P\x99PPPPPPPPP[\x92P\x92\x90PV[`\0\x80a,3`\x02\x84aB\x7FV[`\0\x03a,BWP`\x1Ba,FV[P`\x1C[`\x01`\0\x82\x86p\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x88\x8A\t`@\x80Q`\0\x81R` \x81\x01\x80\x83R\x95\x90\x95R`\xFF\x90\x93\x16\x92\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a,\xB0W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x96\x95PPPPPPV[`\0\x80\x83\x86\x14\x19\x85\x88\x14\x16\x15a,\xD9W`\0\x80\xFD[`\0\x80\x85\x88\x14\x87\x8A\x14\x16`\x01\x81\x14a,\xF6W\x80\x15a-sWa-\xEEV[d\x01\0\0\x03\xD0\x19\x86d\x01\0\0\x03\xD0\x19\x8B`\x02\t\x08\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa-SW`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Qd\x01\0\0\x03\xD0\x19\x80\x8E\x8F\t`\x03\t\t\x93PPa-\xEEV[d\x01\0\0\x03\xD0\x19\x8Ad\x01\0\0\x03\xD0\x19\x03\x89\x08\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa-\xCEW`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Qd\x01\0\0\x03\xD0\x19\x8Cd\x01\0\0\x03\xD0\x19\x03\x8B\x08\t\x93PP[PPd\x01\0\0\x03\xD0\x19\x80\x89d\x01\0\0\x03\xD0\x19\x03\x88d\x01\0\0\x03\xD0\x19\x03\x08d\x01\0\0\x03\xD0\x19\x83\x84\t\x08\x92Pd\x01\0\0\x03\xD0\x19\x87d\x01\0\0\x03\xD0\x19\x03d\x01\0\0\x03\xD0\x19\x80\x86d\x01\0\0\x03\xD0\x19\x03\x8C\x08\x84\t\x08\x91PP\x95P\x95\x93PPPPV[`\0\x80`\0a.Z\x85\x85a7+V[\x91P\x91P`@Q`0\x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01R\x81`\x80\x82\x01R`\x01`\x90\x82\x01Rp\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa.\xB2W`\0\x80\xFD[Q\x95\x94PPPPPV[`\0\x80`\x01`\x01`\xFF\x1B\x03\x83\x16\x81a.\xD9`\xFF\x86\x90\x1C`\x1Ba?/V[\x90Pa.\xE7\x87\x82\x88\x85a8+V[\x93P\x93PPP\x93P\x93\x91PPV[`\0\x81`\x04\x81\x11\x15a/\tWa/\ta<\xBFV[\x03a/\x11WPV[`\x01\x81`\x04\x81\x11\x15a/%Wa/%a<\xBFV[\x03a/rW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FECDSA: invalid signature\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x18RV[`\x02\x81`\x04\x81\x11\x15a/\x86Wa/\x86a<\xBFV[\x03a/\xD3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FECDSA: invalid signature length\0`D\x82\x01R`d\x01a\x18RV[`\x03\x81`\x04\x81\x11\x15a/\xE7Wa/\xE7a<\xBFV[\x03a\x0BMW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FECDSA: invalid signature 's' val`D\x82\x01Raue`\xF0\x1B`d\x82\x01R`\x84\x01a\x18RV[``\x83\x15a0\xAEW\x82Q`\0\x03a0\xA7W`\x01`\x01`\xA0\x1B\x03\x85\x16;a0\xA7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x18RV[P\x81a0\xB8V[a0\xB8\x83\x83a8\xEFV[\x94\x93PPPPV[`\0\x80`\0\x80`\0a0\xD2\x87\x87a9\x19V[\x92P\x92P\x92P`@Q`0\x81R` \x80\x82\x01R` `@\x82\x01R\x83``\x82\x01R\x82`\x80\x82\x01R`\x01`\x90\x82\x01Rd\x01\0\0\x03\xD0\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa1 W`\0\x80\xFD[\x80Q\x95PP`@Q`0\x81R` \x80\x82\x01R\x82`P\x82\x01R` `@\x82\x01R\x81`p\x82\x01R`\x01`\x90\x82\x01Rd\x01\0\0\x03\xD0\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa1mW`\0\x80\xFD[\x80Q\x94PPPPP\x92P\x92\x90PV[`\0\x80d\x01\0\0\x03\xD0\x19\x83\x84\td\x01\0\0\x03\xD0\x19\x81d\x01\0\0\x03\xDB\x19\t\x90Pd\x01\0\0\x03\xD0\x19\x81\x82\td\x01\0\0\x03\xD0\x19\x82\x82\x08\x90Pd\x01\0\0\x03\xD0\x19`\x01\x82\x08d\x01\0\0\x03\xD0\x19a\x06\xEB\x82\t\x90P`\0\x82\x15`\x01\x81\x14a1\xE1W\x80\x15a1\xEFWa1\xFBV[d\x01\0\0\x03\xDB\x19\x91Pa1\xFBV[\x83d\x01\0\0\x03\xD0\x19\x03\x91P[Pd\x01\0\0\x03\xD0\x19\x81\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3\t\x90Pd\x01\0\0\x03\xD0\x19\x82\x83\t\x92Pd\x01\0\0\x03\xD0\x19\x81\x82\td\x01\0\0\x03\xD0\x19\x81\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3\td\x01\0\0\x03\xD0\x19\x81\x86\x08\x94Pd\x01\0\0\x03\xD0\x19\x84\x86\t\x94Pd\x01\0\0\x03\xD0\x19\x83\x83\t\x91Pd\x01\0\0\x03\xD0\x19\x82a\x06\xEB\t\x90Pd\x01\0\0\x03\xD0\x19\x81\x86\x08\x94PPd\x01\0\0\x03\xD0\x19\x83\x86\t\x96P`\0\x80d\x01\0\0\x03\xD0\x19\x83\x84\td\x01\0\0\x03\xD0\x19\x84\x88\td\x01\0\0\x03\xD0\x19\x81\x83\t\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rc@\0\0\xF5`\x01`\xFE\x1B\x03`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa3!W`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x82\x82Q\t\x92PPPd\x01\0\0\x03\xD0\x19\x7F1\xFD\xF3\x02r@\x13\xE5z\xD1?\xB3\x8F\x84*\xFE\xEC\x18O\0\xA7G\x89\xDD(g)\xC80<JY\x82\td\x01\0\0\x03\xD0\x19\x82\x83\td\x01\0\0\x03\xD0\x19\x86\x82\t\x90P\x88\x81\x14`\x01\x81\x14a3\x86W\x80\x15a3\x92Wa3\x9AV[`\x01\x94P\x83\x95Pa3\x9AV[`\0\x94P\x82\x95P[PPPPd\x01\0\0\x03\xD0\x19\x8A\x88\t\x97Pd\x01\0\0\x03\xD0\x19\x82\x89\t\x97P\x80\x15a3\xC3W\x84\x98P\x81\x97P[PPP`\x02\x85\x06`\x02\x88\x06\x14a3\xDFW\x84d\x01\0\0\x03\xD0\x19\x03\x94P[`@Q\x93P` \x84R` \x80\x85\x01R` `@\x85\x01R\x80``\x85\x01RPPPd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa4+W`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Q\x84\t\x92PP\x91P\x91V[`\0\x80d\x01\0\0\x03\xD0\x19\x84\x85\td\x01\0\0\x03\xD0\x19\x81\x86\td\x01\0\0\x03\xD0\x19\x80\x7F\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8D\xAA\xAA\xA8\xC7d\x01\0\0\x03\xD0\x19\x89\x7F\x07\xD3\xD4\xC8\x0B\xC3!\xD5\xB9\xF3\x15\xCE\xA7\xFDD\xC5\xD5\x95\xD2\xFC\x0B\xF6;\x92\xDF\xFF\x10D\xF1|e\x81\t\x08d\x01\0\0\x03\xD0\x19\x80\x85\x7FSL2\x8D#\xF24\xE6\xE2\xA4\x13\xDE\xCA%\xCA\xEC\xE4PaD\x03|@1N\xCB\xD0\xB5=\x9D\xD2b\td\x01\0\0\x03\xD0\x19\x85\x7F\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8D\xAA\xAA\xA8\x8C\t\x08\x08d\x01\0\0\x03\xD0\x19\x7F\xD3Wq\x19=\x94\x91\x8A\x9C\xA3L\xCB\xB7\xB6@\xDD\x86\xCD@\x95B\xF8H}\x9F\xE6\xB7Ex\x1E\xB4\x9Bd\x01\0\0\x03\xD0\x19\x80\x8A\x7F\xED\xAD\xC6\xF6C\x83\xDC\x1D\xF7\xC4\xB2\xD5\x1BT\"T\x06\xD3kd\x1F^A\xBB\xC5*Va*\x8Cm\x14\t\x86\x08\x08`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x81``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa5\x9DW`\0\x80\xFD[\x80Q\x91Pd\x01\0\0\x03\xD0\x19\x82\x84\t\x96Pd\x01\0\0\x03\xD0\x19\x80\x7FK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\x8E8\xE2<d\x01\0\0\x03\xD0\x19\x8C\x7F\xC7^\x0C2\xD5\xCB|\x0F\xA9\xD0\xA5K\x12\xA0\xA6\xD5dz\xB0F\xD6\x86\xDAo\xDF\xFC\x90\xFC \x1Dq\xA3\t\x08d\x01\0\0\x03\xD0\x19\x80\x88\x7F)\xA6\x19F\x91\xF9\x1AsqR\t\xEFe\x12\xE5vr(0\xA2\x01\xBE \x18\xA7e\xE8Z\x9E\xCE\xE91\td\x01\0\0\x03\xD0\x19\x88\x7F/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/8\xE3\x8D\x84\t\x08\x08\x92Pd\x01\0\0\x03\xD0\x19\x80d\x01\0\0\x06\xC4\x19d\x01\0\0\x03\xD0\x19\x8C\x7Fz\x06SK\xB8\xBD\xB4\x9F\xD5\xE9\xE6c'\"\xC2\x98\x94g\xC1\xBF\xC8\xE8\xD9x\xDF\xB4%\xD2h\\%s\t\x08d\x01\0\0\x03\xD0\x19\x80\x88\x7Fd\x84\xAAqeE\xCA,\xF3\xA7\x0C?\xA8\xFE3~\n=!\x16/\rb\x99\xA7\xBF\x81\x92\xBF\xD2\xA7o\t\x87\x08\x08\x94P`@Q\x90P` \x81R` \x80\x82\x01R` `@\x82\x01R\x84``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa7\rW`\0\x80\xFD[Q\x93Pd\x01\0\0\x03\xD0\x19\x90P\x83\x81\x83\x89\t\t\x93PPPP\x92P\x92\x90PV[`\0\x80`\xFF\x83Q\x11\x15a7=W`\0\x80\xFD[`\0`@Q`\x88` `\0[\x88Q\x81\x10\x15a7jW\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7IV[PP`\x89\x87Q\x01\x90P`0\x81\x83\x01S`\x02\x01` `\0[\x87Q\x81\x10\x15a7\xA2W\x87\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7\x81V[PP`\x8B\x86Q\x88Q\x01\x01\x90P\x85Q\x81\x83\x01SP\x85Q\x85Q\x01`\x8C\x01\x81 \x91PP`@Q\x81\x81R`\x01` \x82\x01S`!` `\0[\x87Q\x81\x10\x15a7\xF7W\x87\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7\xD6V[PPP\x84Q\x85Q`!\x01\x82\x01S\x84Q`\"\x01\x81 \x93P\x83\x82\x18\x81R`\x02` \x82\x01S\x84Q`\"\x01\x81 \x92PPP\x92P\x92\x90PV[`\0\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x83\x11\x15a8bWP`\0\x90P`\x03a8\xE6V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x89\x90R`\xFF\x88\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a8\xB6W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a8\xDFW`\0`\x01\x92P\x92PPa8\xE6V[\x91P`\0\x90P[\x94P\x94\x92PPPV[\x81Q\x15a8\xFFW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x18R\x91\x90a>\x86V[`\0\x80`\0`\xFF\x84Q\x11\x15a9-W`\0\x80\xFD[`\0`@Q`\x88` `\0[\x89Q\x81\x10\x15a9ZW\x89\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a99V[PP`\x89\x88Q\x01\x90P``\x81\x83\x01S`\x02\x01` `\0[\x88Q\x81\x10\x15a9\x92W\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a9qV[PP`\x8B\x87Q\x89Q\x01\x01\x90P\x86Q\x81\x83\x01SP\x86Q\x86Q\x01`\x8C\x01\x81 \x91PP`@Q\x81\x81R`\x01` \x82\x01S`!` `\0[\x88Q\x81\x10\x15a9\xE7W\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a9\xC6V[PPP\x85Q\x86Q`!\x01\x82\x01S\x85Q`\"\x01\x81 \x94P\x84\x82\x18\x81R`\x02` \x82\x01S\x85Q`\"\x01\x81 \x93P\x83\x82\x18\x81R`\x03` \x82\x01S\x85Q`\"\x01\x81 \x92PPP\x92P\x92P\x92V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x0BMW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a:WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a:oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a,\x1EW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a:\xA3W`\0\x80\xFD[\x885a:\xAE\x81a:0V[\x97P` \x89\x015a:\xBE\x81a:0V[\x96P`@\x89\x015a:\xCE\x81a:0V[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a:\xF2W`\0\x80\xFD[a:\xFE\x8C\x83\x8D\x01a:EV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a;\x17W`\0\x80\xFD[Pa;$\x8B\x82\x8C\x01a:EV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x01`\x01``\x1B\x03\x81\x16\x81\x14a;OW`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a;iW`\0\x80\xFD[\x835a;t\x81a:0V[\x92P` \x84\x015a;\x84\x81a:0V[\x91Pa;\x92`@\x85\x01a;8V[\x90P\x92P\x92P\x92V[`\0a\x01 \x82\x84\x03\x12\x15a;\xAEW`\0\x80\xFD[P\x91\x90PV[`\0a\x01\0\x82\x84\x03\x12\x15a;\xAEW`\0\x80\xFD[`\0\x80`\0a\x02@\x84\x86\x03\x12\x15a;\xDDW`\0\x80\xFD[\x835a;\xE8\x81a:0V[\x92Pa;\xF7\x85` \x86\x01a;\x9BV[\x91Pa;\x92\x85a\x01@\x86\x01a;\xB4V[`\0` \x82\x84\x03\x12\x15a<\x19W`\0\x80\xFD[\x815a<$\x81a:0V[\x93\x92PPPV[`\0a\x01 \x82\x84\x03\x12\x15a<>W`\0\x80\xFD[a\r\xDB\x83\x83a;\x9BV[`\0\x80`@\x83\x85\x03\x12\x15a<[W`\0\x80\xFD[\x825\x91P` \x83\x015a<m\x81a:0V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a<\x8BW`\0\x80\xFD[\x825a<\x96\x81a:0V[\x91P` \x83\x015a<m\x81a:0V[`\0` \x82\x84\x03\x12\x15a<\xB8W`\0\x80\xFD[P5\x91\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x01`\x01``\x1B\x03\x86\x16\x81Re\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x82\x01Rc\xFF\xFF\xFF\xFF\x84\x16`@\x82\x01Rb\xFF\xFF\xFF\x83\x16``\x82\x01R`\xA0\x81\x01`\x03\x83\x10a=(WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x82`\x80\x83\x01R\x96\x95PPPPPPV[`\0\x80`\0a\x02@\x84\x86\x03\x12\x15a=NW`\0\x80\xFD[\x835\x92Pa;\xF7\x85` \x86\x01a;\x9BV[`\0\x80` \x83\x85\x03\x12\x15a=rW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a=\x8AW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a=\x9EW`\0\x80\xFD[\x815\x81\x81\x11\x15a=\xADW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a=\xC2W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0[\x83\x81\x10\x15a=\xEFW\x81\x81\x01Q\x83\x82\x01R` \x01a=\xD7V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra>\x10\x81` \x86\x01` \x86\x01a=\xD4V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a>yW`?\x19\x88\x86\x03\x01\x84Ra>g\x85\x83Qa=\xF8V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a>KV[P\x92\x97\x96PPPPPPPV[` \x81R`\0a\r\xDB` \x83\x01\x84a=\xF8V[`\0\x80`@\x83\x85\x03\x12\x15a>\xACW`\0\x80\xFD[\x825a>\xB7\x81a:0V[\x91Pa>\xC5` \x84\x01a;8V[\x90P\x92P\x92\x90PV[`\0\x80a\x02 \x83\x85\x03\x12\x15a>\xE2W`\0\x80\xFD[a>\xEC\x84\x84a;\x9BV[\x91Pa>\xC5\x84a\x01 \x85\x01a;\xB4V[`\0` \x82\x84\x03\x12\x15a?\x0EW`\0\x80\xFD[\x81Qa<$\x81a:0V[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\r\xDEWa\r\xDEa?\x19V[`\0` \x82\x84\x03\x12\x15a?TW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?vW`\0\x80\xFD[\x815f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\x9FW`\0\x80\xFD[\x815b\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\xC4W`\0\x80\xFD[\x815c\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\xEAW`\0\x80\xFD[\x815e\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a@\x12W`\0\x80\xFD[a\r\xDB\x82a;8V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a@^W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a@yW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a,\x1EW`\0\x80\xFD[`\0`\x01\x82\x01a@\xA0Wa@\xA0a?\x19V[P`\x01\x01\x90V[`\x01`\x01``\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[b\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[\x92\x83R` \x83\x01\x91\x90\x91R`\xA0\x1B`\x01`\x01`\xA0\x1B\x03\x19\x16`@\x82\x01R`L\x01\x90V[`\0a\x01\0\x80\x83\x85\x03\x12\x15aA\x1AW`\0\x80\xFD[`@Q\x90\x81\x01\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x81\x83\x10\x17\x15aAKWcNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[\x81`@R\x835\x81R` \x84\x015` \x82\x01R`@\x84\x015`@\x82\x01R``\x84\x015``\x82\x01R`\x80\x84\x015`\x80\x82\x01R`\xA0\x84\x015`\xA0\x82\x01R`\xC0\x84\x015`\xC0\x82\x01R`\xE0\x84\x015`\xE0\x82\x01R\x80\x92PPP\x92\x91PPV[e\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[`\x01`\x01``\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[` \x80\x82R`0\x90\x82\x01R\x7Fchannel must have state OPEN or `@\x82\x01RoPENDING_TO_CLOSE`\x80\x1B``\x82\x01R`\x80\x01\x90V[c\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[\x81\x81\x03\x81\x81\x11\x15a\r\xDEWa\r\xDEa?\x19V[`\0\x82QaBu\x81\x84` \x87\x01a=\xD4V[\x91\x90\x91\x01\x92\x91PPV[`\0\x82aB\x9CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x06\x90V\xFEAddress: low-level delegate call failed_\xA1rF\xD3\xA5\xD6\x8DB\xBA\xA9L\xDE3\x04!\x80\xB7\x83\xA3\x99\xC0+\xF6:\xC2\x07n\x0Fp\x878\xCE\xEA\xB2\xEE\xF9\x98\xC1\x7F\xE9o0\xF8?\xBF<U\xFCPG\xF6\xE4\x0CU\xA0\xCFr\xD26\xE9\xD2\xBAr\xA2dipfsX\"\x12 #C\x98\r\x92\x99\x8E\xDA\xEE\x11\xA6gb5\xEBu\x89\x9E\x11\x17\x08\xED\n*3T\\\xCD\xCB\x0E\x05\x03dsolcC\0\x08\x13\x003\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F",
2019 );
2020 #[rustfmt::skip]
2026 #[allow(clippy::all)]
2027 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
2028 b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xE4W`\x005`\xE0\x1C\x80c|\x8E(\xDA\x11a\x01\x0FW\x80c\xC9f\xC4\xFE\x11a\0\xA2W\x80c\xFC\x0CTj\x11a\0qW\x80c\xFC\x0CTj\x14a\x04\xD2W\x80c\xFCU0\x9A\x14a\x05\x11W\x80c\xFC\xB7yo\x14a\x05$W\x80c\xFF\xA1\xADt\x14a\x057W`\0\x80\xFD[\x80c\xC9f\xC4\xFE\x14a\x04\x87W\x80c\xDC\x96\xFDP\x14a\x04\x90W\x80c\xDD\xAD\x19\x02\x14a\x04\x98W\x80c\xF6\x98\xDA%\x14a\x04\xC9W`\0\x80\xFD[\x80c\xAC\x96P\xD8\x11a\0\xDEW\x80c\xAC\x96P\xD8\x14a\x04;W\x80c\xB9 \xDE\xED\x14a\x04[W\x80c\xBD\xA6_E\x14a\x04aW\x80c\xBE\x9B\xAB\xDC\x14a\x04tW`\0\x80\xFD[\x80c|\x8E(\xDA\x14a\x03\xC1W\x80c\x875-e\x14a\x03\xD4W\x80c\x89\xCC\xFE\x89\x14a\x04\x10W\x80c\x8C7\x10\xC9\x14a\x04\x18W`\0\x80\xFD[\x80c)9.2\x11a\x01\x87W\x80ce\x15\x14\xBF\x11a\x01VW\x80ce\x15\x14\xBF\x14a\x02\xEFW\x80crX\x1C\xC0\x14a\x03\x02W\x80cx\xD8\x01m\x14a\x03)W\x80cz~\xBD{\x14a\x03PW`\0\x80\xFD[\x80c)9.2\x14a\x02\x83W\x80cD\xDA\xE6\xF8\x14a\x02\xA3W\x80cT\xA2\xED\xF5\x14a\x02\xCAW\x80c]/\x07\xC5\x14a\x02\xDDW`\0\x80\xFD[\x80c\x1A\x7F\xFEz\x11a\x01\xC3W\x80c\x1A\x7F\xFEz\x14a\x02$W\x80c#\xCB:\xC0\x14a\x027W\x80c$\x08l\xC2\x14a\x02JW\x80c$\x9C\xB3\xFA\x14a\x02pW`\0\x80\xFD[\x80b#\xDE)\x14a\x01\xE9W\x80c\n\xBE\xC5\x8F\x14a\x01\xFEW\x80c\x0C\xD8\x8Dr\x14a\x02\x11W[`\0\x80\xFD[a\x01\xFCa\x01\xF76`\x04a:\x87V[a\x05[V[\0[a\x01\xFCa\x02\x0C6`\x04a;TV[a\x08\x17V[a\x01\xFCa\x02\x1F6`\x04a;\xC7V[a\t\xAFV[a\x01\xFCa\x0226`\x04a<\x07V[a\n\x80V[a\x01\xFCa\x02E6`\x04a<\x07V[a\x0BPV[a\x02]a\x02X6`\x04a<+V[a\x0C\x1DV[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x02]a\x02~6`\x04a<HV[a\r\x8AV[a\x02\x8B`\x01\x81V[`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R` \x01a\x02gV[a\x02]\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x01\xFCa\x02\xD86`\x04a<xV[a\r\xE4V[a\x02\x8Bj\x08E\x95\x16\x14\x01HJ\0\0\0\x81V[a\x01\xFCa\x02\xFD6`\x04a<xV[a\x0E\xB9V[a\x02]\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;\x81V[a\x02]\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[a\x03\xB0a\x03^6`\x04a<\xA6V[`\x06` R`\0\x90\x81R`@\x90 T`\x01`\x01``\x1B\x03\x81\x16\x90`\x01``\x1B\x81\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90`\x01`\x90\x1B\x81\x04c\xFF\xFF\xFF\xFF\x16\x90`\x01`\xB0\x1B\x81\x04b\xFF\xFF\xFF\x16\x90`\x01`\xC8\x1B\x90\x04`\xFF\x16\x85V[`@Qa\x02g\x95\x94\x93\x92\x91\x90a<\xD5V[a\x01\xFCa\x03\xCF6`\x04a<\x07V[a\x0F\x89V[a\x03\xFB\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x02gV[a\x01\xFCa\x10VV[a\x04+a\x04&6`\x04a=8V[a\x11oV[`@Q\x90\x15\x15\x81R` \x01a\x02gV[a\x04Na\x04I6`\x04a=_V[a\x11\xF1V[`@Qa\x02g\x91\x90a>$V[Ba\x03\xFBV[a\x01\xFCa\x04o6`\x04a<xV[a\x12\xE6V[a\x02]a\x04\x826`\x04a<xV[a\x13\xB6V[a\x02]`\x03T\x81V[a\x01\xFCa\x13\xFBV[a\x04\xBC`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03\x12\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[`@Qa\x02g\x91\x90a>\x86V[a\x02]`\x05T\x81V[a\x04\xF9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02gV[a\x01\xFCa\x05\x1F6`\x04a>\x99V[a\x15\tV[a\x01\xFCa\x0526`\x04a>\xCEV[a\x16\x9CV[a\x04\xBC`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d\x03\"\xE3\x02\xE3`\xDC\x1B\x81RP\x81V[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x05\xA4W`@QcPy\xFFu`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x05\xCDW`@Qc\x178\x92!`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82\x15a\x08\rW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x03a\x07.W`\x01`\x01``\x1B\x03\x85\x11\x15a\x06\"W`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R\x865``\x90\x81\x1C\x93\x82\x01\x84\x90R`\x14\x88\x015\x90\x1C\x91`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x06}W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x06\xA1\x91\x90a>\xFCV[\x90P\x82`\x01`\x01`\xA0\x1B\x03\x16\x8A`\x01`\x01`\xA0\x1B\x03\x16\x03a\x06\xE9W`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x06\xE4W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x07\x1BV[\x89`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a\x07\x1BW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x07&\x83\x83\x8Aa\x17jV[PPPa\x08\rV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x03a\x07\xF4W\x835``\x90\x81\x1C\x90`\x14\x86\x015`\xA0\x90\x81\x1C\x91` \x88\x015\x90\x1C\x90`4\x88\x015\x90\x1C\x88\x15\x80a\x07\x99WPa\x07\x95`\x01`\x01``\x1B\x03\x80\x83\x16\x90\x85\x16a?/V[\x89\x14\x15[\x15a\x07\xB7W`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01``\x1B\x03\x83\x16\x15a\x07\xD1Wa\x07\xD1\x84\x83\x85a\x17jV[`\x01`\x01``\x1B\x03\x81\x16\x15a\x07\xEBWa\x07\xEB\x82\x85\x83a\x17jV[PPPPa\x08\rV[`@Qc\r=\xCD\xE5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPPV[`\x04T\x83\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x08CW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08\x92W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08\xB6\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x08\xDDW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x08\xE8\x84\x84\x84a\x17jV[`@Qc#\xB8r\xDD`\xE0\x1B\x81R3`\x04\x82\x01R0`$\x82\x01R`\x01`\x01``\x1B\x03\x83\x16`D\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c#\xB8r\xDD\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\tcW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x87\x91\x90a?BV[\x15\x15`\x01\x14a\t\xA9W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[`\x04T\x83\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\t\xDBW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n*W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\nN\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\nuW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\t\xA9\x84\x84\x84a\x1B\x16V[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\n\xAAW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xF8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\x1C\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0BCW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a\"\x13V[PV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0BzW`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0B\xC8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0B\xEC\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\x13W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a#\x8FV[`\0\x80a\x0C.\x83a\x01\0\x015a%\x13V[\x90P`\0a\x0CB`\xC0\x85\x01`\xA0\x86\x01a?dV[f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`8a\x0C]`\xA0\x87\x01`\x80\x88\x01a?\x8DV[b\xFF\xFF\xFF\x16\x90\x1B`Pa\x0Cv`\x80\x88\x01``\x89\x01a?\xB2V[c\xFF\xFF\xFF\xFF\x16\x90\x1B`pa\x0C\x90``\x89\x01`@\x8A\x01a?\xD8V[e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x1B`\xA0a\x0C\xAC`@\x8A\x01` \x8B\x01a@\0V[`\x01`\x01``\x1B\x03\x16\x90\x1B\x17\x17\x17\x17\x90P`\0c\xFC\xB7yo`\xE0\x1B\x85`\0\x01`\0\x015\x83\x85`@Q` \x01a\r\x01\x93\x92\x91\x90\x92\x83R` \x83\x01\x91\x90\x91R``\x1B`\x01`\x01``\x1B\x03\x19\x16`@\x82\x01R`T\x01\x90V[`@\x80Q\x80\x83\x03`\x1F\x19\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\x01`\x01`\xE0\x1B\x03\x19\x94\x90\x94\x16\x81\x84\x01R\x82\x82\x01\x93\x90\x93R\x80Q\x80\x83\x03\x82\x01\x81R``\x83\x01\x82R\x80Q\x90\x84\x01 `\x05T`\x19`\xF8\x1B`\x80\x85\x01R`\x01`\xF8\x1B`\x81\x85\x01R`\x82\x84\x01R`\xA2\x80\x84\x01\x91\x90\x91R\x81Q\x80\x84\x03\x90\x91\x01\x81R`\xC2\x90\x92\x01\x90R\x80Q\x91\x01 \x95\x94PPPPPV[`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x81 T`\xFF\x16a\r\xB9W`\0a\r\xDBV[\x7F\xA2\xEFF\0\xD7B\x02-S-GG\xCB5GGFg\xD6\xF18\x04\x90%\x13\xB2\xEC\x01\xC8H\xF4\xB4[\x90P[\x92\x91PPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0E\x10W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E_W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0E\x83\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0E\xAAW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a\"\x13V[PPPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0E\xE5W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x0FX\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0F\x7FW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a#\x8FV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x0F\xB3W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\x01W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10%\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x10LW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0BM3\x82a%\xD0V[`@\x80Q\x80\x82\x01\x82R`\x0C\x81RkHoprChannels`\xA0\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\"\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F\x91\x81\x01\x91\x90\x91R\x7F\x84\xE6\x90\x8F46\x01\xD9\xCE\x9F\xB6\r\x82P9N\xB8\xA5\x1CV\xF1\x87k\xC1\xE0\x17\xC9z\xCDeg\xF2\x91\x81\x01\x91\x90\x91R\x7F\xB4\xBC\xB1T\xE3\x86\x01\xC3\x899o\xA9\x181M\xA4-F&\xF1>\xF6\xD0\xCE\xB0~_]&\xB2\xFB\xC3``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\0\x90`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P`\x05T\x81\x14a\x0BMW`\x05\x81\x90U`@Q\x81\x90\x7Fw\x1FR@\xAE_\xD8\xA7d\r?\xB8/\xA7\n\xAB/\xB1\xDB\xF3_.\xF4d\xF8P\x99Fqvd\xC5\x90`\0\x90\xA2PV[`@\x80Q` \x80\x82\x01\x86\x90R\x835\x82\x84\x01R\x83\x81\x015``\x83\x01Ra\x01\0\x85\x015`\x80\x83\x01R`\xC0\x80\x86\x01\x805`\xA0\x80\x86\x01\x91\x90\x91R`\xE0\x80\x89\x015\x84\x87\x01R\x86Q\x80\x87\x03\x90\x94\x01\x84R\x90\x94\x01\x90\x94R\x80Q\x91\x01 `\0\x92`\xC8\x91\x90\x91\x1C\x91a\x11\xDA\x91\x90\x86\x01a?dV[f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x91\x16\x11\x15\x94\x93PPPPV[``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12\x0CWa\x12\x0Ca@\x1BV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12?W\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x12*W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x12\xDFWa\x12\xAF0\x85\x85\x84\x81\x81\x10a\x12cWa\x12ca@1V[\x90P` \x02\x81\x01\x90a\x12u\x91\x90a@GV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa' \x92PPPV[\x82\x82\x81Q\x81\x10a\x12\xC1Wa\x12\xC1a@1V[` \x02` \x01\x01\x81\x90RP\x80\x80a\x12\xD7\x90a@\x8EV[\x91PPa\x12EV[P\x92\x91PPV[`\x04T\x82\x90`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x13\x12W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x93\x82\x01\x93\x90\x93R3\x92\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13aW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\x85\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x13\xACW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0E\xB4\x83\x83a%\xD0V[`@Q`\x01`\x01``\x1B\x03\x19``\x84\x81\x1B\x82\x16` \x84\x01R\x83\x90\x1B\x16`4\x82\x01R`\0\x90`H\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`@\x80Q\x80\x82\x01\x82R`\n\x81Ri$7\xB89&2\xB23\xB2\xB9`\xB1\x1B` \x91\x82\x01R\x81Q\x80\x83\x01\x83R`\x05\x81Rd\x03\x12\xE3\x02\xE3`\xDC\x1B\x90\x82\x01R\x81Q\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F\x81\x83\x01R\x7Fl\xD6\x81y\x0Cx\xC2 Q{\t\x9As\x7F\x8E\x85\xF6\x9Eyz\xBEN)\x10\xFB\x18\x9Ba\xDBK\xF2\xCD\x81\x84\x01R\x7F\x06\xC0\x15\xBD\"\xB4\xC6\x96\x90\x93<\x10X\x87\x8E\xBD\xFE\xF3\x1F\x9A\xAA\xE4\x0B\xBE\x86\xD8\xA0\x9F\xE1\xB2\x97,``\x82\x01RF`\x80\x82\x01R0`\xA0\x80\x83\x01\x91\x90\x91R\x83Q\x80\x83\x03\x90\x91\x01\x81R`\xC0\x90\x91\x01\x90\x92R\x81Q\x91\x01 `\x03T\x81\x14a\x0BMW`\x03\x81\x90U`@Q\x81\x90\x7F\xA4?\xAD\x83\x92\x0F\xD0\x94E\x85^\x85Ns\xC9\xC52\xE1t\x02\xC9\xCE\xB0\x99\x93\xA29(C\xA5\xBD\xB9\x90`\0\x90\xA2PV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x153W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x81W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x15\xA5\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x15\xCCW`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x15\xD73\x83\x83a\x17jV[`@Qc#\xB8r\xDD`\xE0\x1B\x81R3`\x04\x82\x01R0`$\x82\x01R`\x01`\x01``\x1B\x03\x82\x16`D\x82\x01R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c#\xB8r\xDD\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x16RW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x16v\x91\x90a?BV[\x15\x15`\x01\x14a\x16\x98W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\x04T`\x01`\xA0\x1B\x90\x04`\xFF\x16a\x16\xC6W`@Qc\x08\xA9D\x19`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`@Qc\x02&^1`\xE6\x1B\x81R3\x92\x81\x01\x92\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x90c\x89\x97\x8C@\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x17\x14W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x178\x91\x90a>\xFCV[`\x01`\x01`\xA0\x1B\x03\x16\x14a\x17_W`@Qc\xAC\xD5\xA8#`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x16\x983\x83\x83a\x1B\x16V[\x80`\x01`\x01`\x01``\x1B\x03\x82\x16\x10\x15a\x17\x96W`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[j\x08E\x95\x16\x14\x01HJ\0\0\0`\x01`\x01``\x1B\x03\x82\x16\x11\x15a\x17\xCBW`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x83\x83\x80`\x01`\x01`\xA0\x1B\x03\x16\x82`\x01`\x01`\xA0\x1B\x03\x16\x03a\x17\xFFW`@QcK\xD1\xD7i`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x18[W`@Qc\xEA\xC0\xD3\x89`\xE0\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fsource must not be empty\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x18\xB2W`@Qc\xEA\xC0\xD3\x89`\xE0\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7Fdestination must not be empty\0\0\0`D\x82\x01R`d\x01a\x18RV[`\0a\x18\xBE\x87\x87a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x90 \x90\x91P`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x18\xEEWa\x18\xEEa<\xBFV[\x03a\x19OW`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`*`$\x82\x01R\x7Fcannot fund a channel that will `D\x82\x01Ri1\xB67\xB9\xB2\x909\xB7\xB7\xB7`\xB1\x1B`d\x82\x01R`\x84\x01a\x18RV[\x80Ta\x19e\x90\x87\x90`\x01`\x01``\x1B\x03\x16a@\xA7V[\x81T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x17\x81U`\0\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x19\x9FWa\x19\x9Fa<\xBFV[\x03a\x1A\xAAW\x80Ta\x19\xBD\x90`\x01`\xB0\x1B\x90\x04b\xFF\xFF\xFF\x16`\x01a@\xC7V[\x81Tb\xFF\xFF\xFF\x91\x90\x91\x16`\x01`\xB0\x1B\x02m\xFF\0\0\0\0\0\0\0\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x16m\xFF\xFF\xFF\xFF\0\0\0\0\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x90\x91\x16\x17`\x01`\xC8\x1B\x17\x81U`@\x80Q\x7F\xDD\x90\xF98#\x035\xE5\x9D\xC9%\xC5~\xCB\x0E'\xA2\x8C-\x875n1\xF0\x0C\xD5UJ\xBDl\x1B-` \x82\x01R``\x8A\x81\x1B`\x01`\x01``\x1B\x03\x19\x90\x81\x16\x93\x83\x01\x93\x90\x93R\x89\x90\x1B\x90\x91\x16`T\x82\x01Ra\x1Ai\x90`h\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@Ra'EV[\x86`\x01`\x01`\xA0\x1B\x03\x16\x88`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\x90\xF98#\x035\xE5\x9D\xC9%\xC5~\xCB\x0E'\xA2\x8C-\x875n1\xF0\x0C\xD5UJ\xBDl\x1B-`@Q`@Q\x80\x91\x03\x90\xA3[\x80T`@Qa\x1A\xDD\x91a\x1AU\x91`\0\x80Q` aB\xC9\x839\x81Q\x91R\x91\x86\x91`\x01`\x01``\x1B\x03\x90\x91\x16\x90` \x01a@\xE3V[\x80T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x82\x90`\0\x80Q` aB\xC9\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA2PPPPPPPPV[a\x1B&`@\x83\x01` \x84\x01a@\0V[`\x01`\x01`\x01``\x1B\x03\x82\x16\x10\x15a\x1BQW`@Qc\xC5.>\xFF`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[j\x08E\x95\x16\x14\x01HJ\0\0\0`\x01`\x01``\x1B\x03\x82\x16\x11\x15a\x1B\x86W`@Qc)<\xEE\xF9`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x82a\x01\0\x015a\x1B\x95\x81a(+V[a\x1B\xB2W`@Qc:\xE4\xEDk`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x835`\0\x90\x81R`\x06` R`@\x90 `\x01\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1B\xE1Wa\x1B\xE1a<\xBFV[\x14\x15\x80\x15a\x1C\x0CWP`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\x1C\tWa\x1C\ta<\xBFV[\x14\x15[\x15a\x1CtW`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`1`$\x82\x01R\x7Fspending channel must be OPEN or`D\x82\x01Rp PENDING_TO_CLOSE`x\x1B`d\x82\x01R`\x84\x01a\x18RV[a\x1C\x84`\xA0\x86\x01`\x80\x87\x01a?\x8DV[\x81T`\x01`\xB0\x1B\x90\x04b\xFF\xFF\xFF\x90\x81\x16\x91\x16\x14a\x1C\xE4W`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7Fchannel epoch must match\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x18RV[`\0a\x1C\xF6``\x87\x01`@\x88\x01a?\xD8V[\x90P`\0a\x1D\n`\x80\x88\x01``\x89\x01a?\xB2V[\x83T\x90\x91P`\x01``\x1B\x90\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x01c\xFF\xFF\xFF\xFF\x83\x16\x10\x80a\x1DBWP\x80e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x10[\x15a\x1D`W`@Qchn\x1E\x0F`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Dp`@\x89\x01` \x8A\x01a@\0V[\x84T`\x01`\x01``\x1B\x03\x91\x82\x16\x91\x16\x10\x15a\x1D\x9EW`@Qc,Q\xD8\xDB`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D\xA9\x89a\x0C\x1DV[\x90Pa\x1D\xB6\x81\x8A\x8Aa\x11oV[a\x1D\xD3W`@Qc\xEE\x83\\\x89`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80``\x01`@R\x80\x83\x81R` \x01\x8C`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01`\x05T`@Q` \x01a\x1E\n\x91\x81R` \x01\x90V[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x90R\x90Pa\x1E6a\x1E06\x8B\x90\x03\x8B\x01\x8BaA\x06V[\x82a(MV[a\x1ESW`@Qc\x12\xBF\xB7\xB7`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1Eh\x83`\xC0\x8D\x015`\xE0\x8E\x015a*\xD6V[\x90P\x8A5a\x1Ev\x82\x8Ea\x13\xB6V[\x14a\x1E\x94W`@Qcf\xEE\xA9\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\xA4c\xFF\xFF\xFF\xFF\x86\x16\x87aA\xA4V[\x87Te\xFF\xFF\xFF\xFF\xFF\xFF\x91\x90\x91\x16`\x01``\x1B\x02e\xFF\xFF\xFF\xFF\xFF\xFF``\x1B\x19\x90\x91\x16\x17\x87Ua\x1E\xD8`@\x8C\x01` \x8D\x01a@\0V[\x87Ta\x1E\xED\x91\x90`\x01`\x01``\x1B\x03\x16aA\xC3V[\x87T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x90\x81\x17\x88U`@Qa\x1FB\x91a\x1AU\x91\x7F\"\xE2\xA4\"\xA8\x86\x06V\xA3\xA3<\xFA\x1D\xAFw\x1Evy\x8C\xE5d\x97G\x95r5\x02]\xE1.\x0B$\x91\x8F5\x91` \x01a@\xE3V[\x86T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x8B5\x90\x7F\"\xE2\xA4\"\xA8\x86\x06V\xA3\xA3<\xFA\x1D\xAFw\x1Evy\x8C\xE5d\x97G\x95r5\x02]\xE1.\x0B$\x90` \x01`@Q\x80\x91\x03\x90\xA2`\0a\x1F\x90\x8D\x83a\x13\xB6V[\x90P`\0`\x06`\0\x83\x81R` \x01\x90\x81R` \x01`\0 \x90Pa \x1C\x7Fqe\xE2\xEB\xC7\xCE5\xCC\x98\xCBvf\xF9\x94[6\x17\xF3\xF3c&\xB7m\x18\x93{\xA5\xFE\xCF\x18s\x9A\x8E`\0\x01`\0\x015\x8B`\0\x01`\x0C\x90T\x90a\x01\0\n\x90\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Q` \x01a\x1AU\x93\x92\x91\x90\x92\x83R` \x83\x01\x91\x90\x91R`\xD0\x1B`\x01`\x01`\xD0\x1B\x03\x19\x16`@\x82\x01R`F\x01\x90V[\x88T`@Q`\x01``\x1B\x90\x91\x04e\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x8D5\x90\x7Fqe\xE2\xEB\xC7\xCE5\xCC\x98\xCBvf\xF9\x94[6\x17\xF3\xF3c&\xB7m\x18\x93{\xA5\xFE\xCF\x18s\x9A\x90` \x01`@Q\x80\x91\x03\x90\xA2`\0\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a \x82Wa \x82a<\xBFV[\x03a!lW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16c\xA9\x05\x9C\xBB3\x8F`\0\x01` \x01` \x81\x01\x90a \xCD\x91\x90a@\0V[`@Q`\x01`\x01`\xE0\x1B\x03\x19`\xE0\x85\x90\x1B\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x92\x16`\x04\x83\x01R`\x01`\x01``\x1B\x03\x16`$\x82\x01R`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a!!W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a!E\x91\x90a?BV[\x15\x15`\x01\x14a!gW`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\"\x03V[a!|`@\x8E\x01` \x8F\x01a@\0V[\x81Ta!\x91\x91\x90`\x01`\x01``\x1B\x03\x16a@\xA7V[\x81T`\x01`\x01``\x1B\x03\x19\x16`\x01`\x01``\x1B\x03\x91\x90\x91\x16\x90\x81\x17\x82U`@Qa!\xD3\x91a\x1AU\x91`\0\x80Q` aB\xC9\x839\x81Q\x91R\x91\x86\x91` \x01a@\xE3V[\x80T`@Q`\x01`\x01``\x1B\x03\x90\x91\x16\x81R\x82\x90`\0\x80Q` aB\xC9\x839\x81Q\x91R\x90` \x01`@Q\x80\x91\x03\x90\xA2[PPPPPPPPPPPPPPV[`\0a\"\x1F\x82\x84a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x81 \x91\x92P\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a\"MWa\"Ma<\xBFV[\x03a\"kW`@QcI\x94c\xC1`\xE0\x1B\x81R`\x04\x01a\x18R\x90aA\xE3V[\x80T`\x01c\xFF\0\0\x01`\xB0\x1B\x03\x19\x81\x16\x82U`@\x80Q`\0\x80Q` aB\xE9\x839\x81Q\x91R` \x82\x01R\x90\x81\x01\x84\x90R`\x01`\x01``\x1B\x03\x90\x91\x16\x90a\"\xB3\x90``\x01a\x1AUV[`@Q\x83\x90`\0\x80Q` aB\xE9\x839\x81Q\x91R\x90`\0\x90\xA2\x80\x15a#\x88W`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\xA9\x05\x9C\xBB\x90`D\x01[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a#BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a#f\x91\x90a?BV[\x15\x15`\x01\x14a#\x88W`@Qc\x02.%\x81`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPV[`\0a#\x9B\x83\x83a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x90 \x90\x91P`\x02\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a#\xCBWa#\xCBa<\xBFV[\x14a$(W`@QcI\x94c\xC1`\xE0\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7Fchannel state must be PENDING_TO`D\x82\x01Re_CLOSE`\xD0\x1B`d\x82\x01R`\x84\x01a\x18RV[\x80Tc\xFF\xFF\xFF\xFFB\x81\x16`\x01`\x90\x1B\x90\x92\x04\x16\x10a$YW`@Qc8\xB2\x01\x95`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80T`\x01c\xFF\0\0\x01`\xB0\x1B\x03\x19\x81\x16\x82U`@\x80Q`\0\x80Q` aB\xE9\x839\x81Q\x91R` \x82\x01R\x90\x81\x01\x84\x90R`\x01`\x01``\x1B\x03\x90\x91\x16\x90a$\xA1\x90``\x01a\x1AUV[`@Q\x83\x90`\0\x80Q` aB\xE9\x839\x81Q\x91R\x90`\0\x90\xA2\x80\x15a#\x88W`@Qc\xA9\x05\x9C\xBB`\xE0\x1B\x81R3`\x04\x82\x01R`$\x81\x01\x82\x90R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01`\x01`\xA0\x1B\x03\x16\x90c\xA9\x05\x9C\xBB\x90`D\x01a##V[`\0`\x01\x81`\x1B\x7Fy\xBEf~\xF9\xDC\xBB\xACU\xA0b\x95\xCE\x87\x0B\x07\x02\x9B\xFC\xDB-\xCE(\xD9Y\xF2\x81[\x16\xF8\x17\x98p\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x7Fy\xBEf~\xF9\xDC\xBB\xACU\xA0b\x95\xCE\x87\x0B\x07\x02\x9B\xFC\xDB-\xCE(\xD9Y\xF2\x81[\x16\xF8\x17\x98\x87\t`@\x80Q`\0\x81R` \x81\x01\x80\x83R\x95\x90\x95R`\xFF\x90\x93\x16\x92\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a%\xBFW=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x93\x92PPPV[`\0a%\xDC\x83\x83a\x13\xB6V[`\0\x81\x81R`\x06` R`@\x81 \x91\x92P\x81T`\x01`\xC8\x1B\x90\x04`\xFF\x16`\x02\x81\x11\x15a&\nWa&\na<\xBFV[\x03a&(W`@QcI\x94c\xC1`\xE0\x1B\x81R`\x04\x01a\x18R\x90aA\xE3V[a&R\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0BaB3V[\x81T`\x01`\xC9\x1Bg\xFF\0\0\0\xFF\xFF\xFF\xFF`\x90\x1B\x19\x90\x91\x16`\xFF`\xC8\x1B\x19`\x01`\x90\x1Bc\xFF\xFF\xFF\xFF\x94\x90\x94\x16\x84\x02\x16\x17\x17\x80\x83U`@\x80Q\x7F\x07\xB5\xC9PY\x7F\xC3\xBE\xD9.*\xD3\x7F\xA8Op\x16U\xAC\xB3r\x98.Ho_\xAD6\x07\xF0J\\` \x82\x01R\x90\x81\x01\x85\x90R\x91\x90\x04`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16``\x82\x01Ra&\xD6\x90`d\x01a\x1AUV[\x80T`@Q`\x01`\x90\x1B\x90\x91\x04c\xFF\xFF\xFF\xFF\x16\x81R\x82\x90\x7F\x07\xB5\xC9PY\x7F\xC3\xBE\xD9.*\xD3\x7F\xA8Op\x16U\xAC\xB3r\x98.Ho_\xAD6\x07\xF0J\\\x90` \x01`@Q\x80\x91\x03\x90\xA2PPPPV[``a\r\xDB\x83\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01aB\xA2`'\x919a*\xFCV[`\x01T`\0\x90a'\x83\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90`\x01`\xE0\x1B\x90\x04c\xFF\xFF\xFF\xFF\x16a?/V[B\x11\x15a'\x8EWP`\x01[`\x03T`\x01T\x83Q` \x80\x86\x01\x91\x90\x91 `@\x80Q\x80\x84\x01\x95\x90\x95RC`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16\x90\x85\x01R\x91\x90\x1Bc\xFF\xFF\xFF\xFF\x19\x16`D\x83\x01R``\x82\x01R`\x80\x01`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x91\x90R\x80Q` \x91\x82\x01 c\xFF\xFF\xFF\xFFB\x16`\x01`\xE0\x1B\x02\x91\x1C\x17`\x01U\x80\x15a\x16\x98WPP`\x01T`\x01`\x01`\xE0\x1B\x03\x81\x16`\x01`\xE0\x1B\x91\x82\x90\x04c\xFF\xFF\xFF\xFF\x16\x90\x91\x02\x17`\x02UV[`\0\x81\x15\x80a\r\xDEWPPp\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x11\x90V[`\0d\x01\0\0\x03\xD0\x19\x83``\x01Q\x10\x15\x80a(rWPd\x01\0\0\x03\xD0\x19\x83`@\x01Q\x10\x15[\x15a(\x90W`@Qc:\xE4\xEDk`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a(\xA2\x83`\0\x01Q\x84` \x01Qa+tV[a(\xBFW`@Qc9\"\xA5A`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a)\x11\x84` \x01Q\x85`\0\x01Q`@Q` \x01a(\xF8\x92\x91\x90``\x92\x90\x92\x1B`\x01`\x01``\x1B\x03\x19\x16\x82R`\x14\x82\x01R`4\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x85`@\x01Qa+\x9FV[\x91P\x91P`\0a)&\x86`@\x01Q\x84\x84a,%V[\x90Pa)a\x86`\x80\x01Q\x87`\xA0\x01Q`@\x80Q` \x80\x82\x01\x94\x90\x94R\x80\x82\x01\x92\x90\x92R\x80Q\x80\x83\x03\x82\x01\x81R``\x90\x92\x01\x90R\x80Q\x91\x01 \x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a)\x92W`@Qc\x1D\xBF\xB9\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a)\xAB\x87``\x01Q\x88`\0\x01Q\x89` \x01Qa,%V[\x90Pa)\xE6\x87`\xC0\x01Q\x88`\xE0\x01Q`@\x80Q` \x80\x82\x01\x94\x90\x94R\x80\x82\x01\x92\x90\x92R\x80Q\x80\x83\x03\x82\x01\x81R``\x90\x92\x01\x90R\x80Q\x91\x01 \x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x14a*\x17W`@Qc\x1D\xBF\xB9\xB3`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a*I\x89`\x80\x01Q\x8A`\xA0\x01Q\x8B`\xC0\x01Q\x8C`\xE0\x01Qd\x01\0\0\x03\xD0\x19a*B\x91\x90aBPV[`\0a,\xC4V[` \x80\x8B\x01Q\x8CQ\x8D\x83\x01Q\x8DQ`@Q\x96\x98P\x94\x96P`\0\x95a*\xC1\x95a*\xA8\x95\x8A\x92\x8A\x92\x91\x01``\x96\x90\x96\x1B`\x01`\x01``\x1B\x03\x19\x16\x86R`\x14\x86\x01\x94\x90\x94R`4\x85\x01\x92\x90\x92R`T\x84\x01R`t\x83\x01R`\x94\x82\x01R`\xB4\x01\x90V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x8A`@\x01Qa.KV[``\x8B\x01Q\x14\x97PPPPPPPP\x92\x91PPV[`\0\x80`\0a*\xE6\x86\x86\x86a.\xBCV[\x91P\x91Pa*\xF3\x81a.\xF5V[P\x94\x93PPPPV[```\0\x80\x85`\x01`\x01`\xA0\x1B\x03\x16\x85`@Qa+\x19\x91\x90aBcV[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a+TW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a+YV[``\x91P[P\x91P\x91Pa+j\x86\x83\x83\x87a0?V[\x96\x95PPPPPPV[`\0d\x01\0\0\x03\xD0\x19\x80\x84d\x01\0\0\x03\xD0\x19\x86\x87\t\t`\x07\x08d\x01\0\0\x03\xD0\x19\x83\x84\t\x14\x93\x92PPPV[`\0\x80`\0\x80a+\xAF\x86\x86a0\xC0V[\x91P\x91P`\0\x80a+\xBF\x84a1|V[\x91P\x91P`\0\x80a+\xCF\x85a1|V[\x91P\x91P`\0\x80a,\x03\x86\x86\x86\x86\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3a,\xC4V[\x91P\x91Pa,\x11\x82\x82a4>V[\x99P\x99PPPPPPPPP[\x92P\x92\x90PV[`\0\x80a,3`\x02\x84aB\x7FV[`\0\x03a,BWP`\x1Ba,FV[P`\x1C[`\x01`\0\x82\x86p\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19\x88\x8A\t`@\x80Q`\0\x81R` \x81\x01\x80\x83R\x95\x90\x95R`\xFF\x90\x93\x16\x92\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a,\xB0W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x96\x95PPPPPPV[`\0\x80\x83\x86\x14\x19\x85\x88\x14\x16\x15a,\xD9W`\0\x80\xFD[`\0\x80\x85\x88\x14\x87\x8A\x14\x16`\x01\x81\x14a,\xF6W\x80\x15a-sWa-\xEEV[d\x01\0\0\x03\xD0\x19\x86d\x01\0\0\x03\xD0\x19\x8B`\x02\t\x08\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa-SW`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Qd\x01\0\0\x03\xD0\x19\x80\x8E\x8F\t`\x03\t\t\x93PPa-\xEEV[d\x01\0\0\x03\xD0\x19\x8Ad\x01\0\0\x03\xD0\x19\x03\x89\x08\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa-\xCEW`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Qd\x01\0\0\x03\xD0\x19\x8Cd\x01\0\0\x03\xD0\x19\x03\x8B\x08\t\x93PP[PPd\x01\0\0\x03\xD0\x19\x80\x89d\x01\0\0\x03\xD0\x19\x03\x88d\x01\0\0\x03\xD0\x19\x03\x08d\x01\0\0\x03\xD0\x19\x83\x84\t\x08\x92Pd\x01\0\0\x03\xD0\x19\x87d\x01\0\0\x03\xD0\x19\x03d\x01\0\0\x03\xD0\x19\x80\x86d\x01\0\0\x03\xD0\x19\x03\x8C\x08\x84\t\x08\x91PP\x95P\x95\x93PPPPV[`\0\x80`\0a.Z\x85\x85a7+V[\x91P\x91P`@Q`0\x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01R\x81`\x80\x82\x01R`\x01`\x90\x82\x01Rp\x01EQ#\x19P\xB7_\xC4@-\xA1s/\xC9\xBE\xBE\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa.\xB2W`\0\x80\xFD[Q\x95\x94PPPPPV[`\0\x80`\x01`\x01`\xFF\x1B\x03\x83\x16\x81a.\xD9`\xFF\x86\x90\x1C`\x1Ba?/V[\x90Pa.\xE7\x87\x82\x88\x85a8+V[\x93P\x93PPP\x93P\x93\x91PPV[`\0\x81`\x04\x81\x11\x15a/\tWa/\ta<\xBFV[\x03a/\x11WPV[`\x01\x81`\x04\x81\x11\x15a/%Wa/%a<\xBFV[\x03a/rW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FECDSA: invalid signature\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x18RV[`\x02\x81`\x04\x81\x11\x15a/\x86Wa/\x86a<\xBFV[\x03a/\xD3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FECDSA: invalid signature length\0`D\x82\x01R`d\x01a\x18RV[`\x03\x81`\x04\x81\x11\x15a/\xE7Wa/\xE7a<\xBFV[\x03a\x0BMW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FECDSA: invalid signature 's' val`D\x82\x01Raue`\xF0\x1B`d\x82\x01R`\x84\x01a\x18RV[``\x83\x15a0\xAEW\x82Q`\0\x03a0\xA7W`\x01`\x01`\xA0\x1B\x03\x85\x16;a0\xA7W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x1D`$\x82\x01R\x7FAddress: call to non-contract\0\0\0`D\x82\x01R`d\x01a\x18RV[P\x81a0\xB8V[a0\xB8\x83\x83a8\xEFV[\x94\x93PPPPV[`\0\x80`\0\x80`\0a0\xD2\x87\x87a9\x19V[\x92P\x92P\x92P`@Q`0\x81R` \x80\x82\x01R` `@\x82\x01R\x83``\x82\x01R\x82`\x80\x82\x01R`\x01`\x90\x82\x01Rd\x01\0\0\x03\xD0\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa1 W`\0\x80\xFD[\x80Q\x95PP`@Q`0\x81R` \x80\x82\x01R\x82`P\x82\x01R` `@\x82\x01R\x81`p\x82\x01R`\x01`\x90\x82\x01Rd\x01\0\0\x03\xD0\x19`\xB0\x82\x01R` \x81`\xD0\x83`\x05`\0\x19\xFAa1mW`\0\x80\xFD[\x80Q\x94PPPPP\x92P\x92\x90PV[`\0\x80d\x01\0\0\x03\xD0\x19\x83\x84\td\x01\0\0\x03\xD0\x19\x81d\x01\0\0\x03\xDB\x19\t\x90Pd\x01\0\0\x03\xD0\x19\x81\x82\td\x01\0\0\x03\xD0\x19\x82\x82\x08\x90Pd\x01\0\0\x03\xD0\x19`\x01\x82\x08d\x01\0\0\x03\xD0\x19a\x06\xEB\x82\t\x90P`\0\x82\x15`\x01\x81\x14a1\xE1W\x80\x15a1\xEFWa1\xFBV[d\x01\0\0\x03\xDB\x19\x91Pa1\xFBV[\x83d\x01\0\0\x03\xD0\x19\x03\x91P[Pd\x01\0\0\x03\xD0\x19\x81\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3\t\x90Pd\x01\0\0\x03\xD0\x19\x82\x83\t\x92Pd\x01\0\0\x03\xD0\x19\x81\x82\td\x01\0\0\x03\xD0\x19\x81\x7F?\x871\xAB\xDDf\x1A\xDC\xA0\x8AUX\xF0\xF5\xD2r\xE9S\xD3c\xCBo\x0E]@TG\xC0\x1ADE3\td\x01\0\0\x03\xD0\x19\x81\x86\x08\x94Pd\x01\0\0\x03\xD0\x19\x84\x86\t\x94Pd\x01\0\0\x03\xD0\x19\x83\x83\t\x91Pd\x01\0\0\x03\xD0\x19\x82a\x06\xEB\t\x90Pd\x01\0\0\x03\xD0\x19\x81\x86\x08\x94PPd\x01\0\0\x03\xD0\x19\x83\x86\t\x96P`\0\x80d\x01\0\0\x03\xD0\x19\x83\x84\td\x01\0\0\x03\xD0\x19\x84\x88\td\x01\0\0\x03\xD0\x19\x81\x83\t\x91P`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x82``\x82\x01Rc@\0\0\xF5`\x01`\xFE\x1B\x03`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa3!W`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x82\x82Q\t\x92PPPd\x01\0\0\x03\xD0\x19\x7F1\xFD\xF3\x02r@\x13\xE5z\xD1?\xB3\x8F\x84*\xFE\xEC\x18O\0\xA7G\x89\xDD(g)\xC80<JY\x82\td\x01\0\0\x03\xD0\x19\x82\x83\td\x01\0\0\x03\xD0\x19\x86\x82\t\x90P\x88\x81\x14`\x01\x81\x14a3\x86W\x80\x15a3\x92Wa3\x9AV[`\x01\x94P\x83\x95Pa3\x9AV[`\0\x94P\x82\x95P[PPPPd\x01\0\0\x03\xD0\x19\x8A\x88\t\x97Pd\x01\0\0\x03\xD0\x19\x82\x89\t\x97P\x80\x15a3\xC3W\x84\x98P\x81\x97P[PPP`\x02\x85\x06`\x02\x88\x06\x14a3\xDFW\x84d\x01\0\0\x03\xD0\x19\x03\x94P[`@Q\x93P` \x84R` \x80\x85\x01R` `@\x85\x01R\x80``\x85\x01RPPPd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa4+W`\0\x80\xFD[d\x01\0\0\x03\xD0\x19\x81Q\x84\t\x92PP\x91P\x91V[`\0\x80d\x01\0\0\x03\xD0\x19\x84\x85\td\x01\0\0\x03\xD0\x19\x81\x86\td\x01\0\0\x03\xD0\x19\x80\x7F\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8D\xAA\xAA\xA8\xC7d\x01\0\0\x03\xD0\x19\x89\x7F\x07\xD3\xD4\xC8\x0B\xC3!\xD5\xB9\xF3\x15\xCE\xA7\xFDD\xC5\xD5\x95\xD2\xFC\x0B\xF6;\x92\xDF\xFF\x10D\xF1|e\x81\t\x08d\x01\0\0\x03\xD0\x19\x80\x85\x7FSL2\x8D#\xF24\xE6\xE2\xA4\x13\xDE\xCA%\xCA\xEC\xE4PaD\x03|@1N\xCB\xD0\xB5=\x9D\xD2b\td\x01\0\0\x03\xD0\x19\x85\x7F\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8E8\xE3\x8D\xAA\xAA\xA8\x8C\t\x08\x08d\x01\0\0\x03\xD0\x19\x7F\xD3Wq\x19=\x94\x91\x8A\x9C\xA3L\xCB\xB7\xB6@\xDD\x86\xCD@\x95B\xF8H}\x9F\xE6\xB7Ex\x1E\xB4\x9Bd\x01\0\0\x03\xD0\x19\x80\x8A\x7F\xED\xAD\xC6\xF6C\x83\xDC\x1D\xF7\xC4\xB2\xD5\x1BT\"T\x06\xD3kd\x1F^A\xBB\xC5*Va*\x8Cm\x14\t\x86\x08\x08`@Q` \x81R` \x80\x82\x01R` `@\x82\x01R\x81``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa5\x9DW`\0\x80\xFD[\x80Q\x91Pd\x01\0\0\x03\xD0\x19\x82\x84\t\x96Pd\x01\0\0\x03\xD0\x19\x80\x7FK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\x8E8\xE2<d\x01\0\0\x03\xD0\x19\x8C\x7F\xC7^\x0C2\xD5\xCB|\x0F\xA9\xD0\xA5K\x12\xA0\xA6\xD5dz\xB0F\xD6\x86\xDAo\xDF\xFC\x90\xFC \x1Dq\xA3\t\x08d\x01\0\0\x03\xD0\x19\x80\x88\x7F)\xA6\x19F\x91\xF9\x1AsqR\t\xEFe\x12\xE5vr(0\xA2\x01\xBE \x18\xA7e\xE8Z\x9E\xCE\xE91\td\x01\0\0\x03\xD0\x19\x88\x7F/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/hK\xDA\x12\xF6\x84\xBD\xA1/8\xE3\x8D\x84\t\x08\x08\x92Pd\x01\0\0\x03\xD0\x19\x80d\x01\0\0\x06\xC4\x19d\x01\0\0\x03\xD0\x19\x8C\x7Fz\x06SK\xB8\xBD\xB4\x9F\xD5\xE9\xE6c'\"\xC2\x98\x94g\xC1\xBF\xC8\xE8\xD9x\xDF\xB4%\xD2h\\%s\t\x08d\x01\0\0\x03\xD0\x19\x80\x88\x7Fd\x84\xAAqeE\xCA,\xF3\xA7\x0C?\xA8\xFE3~\n=!\x16/\rb\x99\xA7\xBF\x81\x92\xBF\xD2\xA7o\t\x87\x08\x08\x94P`@Q\x90P` \x81R` \x80\x82\x01R` `@\x82\x01R\x84``\x82\x01Rd\x01\0\0\x03\xD2\x19`\x80\x82\x01Rd\x01\0\0\x03\xD0\x19`\xA0\x82\x01R` \x81`\xC0\x83`\x05`\0\x19\xFAa7\rW`\0\x80\xFD[Q\x93Pd\x01\0\0\x03\xD0\x19\x90P\x83\x81\x83\x89\t\t\x93PPPP\x92P\x92\x90PV[`\0\x80`\xFF\x83Q\x11\x15a7=W`\0\x80\xFD[`\0`@Q`\x88` `\0[\x88Q\x81\x10\x15a7jW\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7IV[PP`\x89\x87Q\x01\x90P`0\x81\x83\x01S`\x02\x01` `\0[\x87Q\x81\x10\x15a7\xA2W\x87\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7\x81V[PP`\x8B\x86Q\x88Q\x01\x01\x90P\x85Q\x81\x83\x01SP\x85Q\x85Q\x01`\x8C\x01\x81 \x91PP`@Q\x81\x81R`\x01` \x82\x01S`!` `\0[\x87Q\x81\x10\x15a7\xF7W\x87\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a7\xD6V[PPP\x84Q\x85Q`!\x01\x82\x01S\x84Q`\"\x01\x81 \x93P\x83\x82\x18\x81R`\x02` \x82\x01S\x84Q`\"\x01\x81 \x92PPP\x92P\x92\x90PV[`\0\x80\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF]WnsW\xA4P\x1D\xDF\xE9/Fh\x1B \xA0\x83\x11\x15a8bWP`\0\x90P`\x03a8\xE6V[`@\x80Q`\0\x80\x82R` \x82\x01\x80\x84R\x89\x90R`\xFF\x88\x16\x92\x82\x01\x92\x90\x92R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a8\xB6W=`\0\x80>=`\0\xFD[PP`@Q`\x1F\x19\x01Q\x91PP`\x01`\x01`\xA0\x1B\x03\x81\x16a8\xDFW`\0`\x01\x92P\x92PPa8\xE6V[\x91P`\0\x90P[\x94P\x94\x92PPPV[\x81Q\x15a8\xFFW\x81Q\x80\x83` \x01\xFD[\x80`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x18R\x91\x90a>\x86V[`\0\x80`\0`\xFF\x84Q\x11\x15a9-W`\0\x80\xFD[`\0`@Q`\x88` `\0[\x89Q\x81\x10\x15a9ZW\x89\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a99V[PP`\x89\x88Q\x01\x90P``\x81\x83\x01S`\x02\x01` `\0[\x88Q\x81\x10\x15a9\x92W\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a9qV[PP`\x8B\x87Q\x89Q\x01\x01\x90P\x86Q\x81\x83\x01SP\x86Q\x86Q\x01`\x8C\x01\x81 \x91PP`@Q\x81\x81R`\x01` \x82\x01S`!` `\0[\x88Q\x81\x10\x15a9\xE7W\x88\x82\x01Q\x84\x84\x01R` \x92\x83\x01\x92\x91\x82\x01\x91\x01a9\xC6V[PPP\x85Q\x86Q`!\x01\x82\x01S\x85Q`\"\x01\x81 \x94P\x84\x82\x18\x81R`\x02` \x82\x01S\x85Q`\"\x01\x81 \x93P\x83\x82\x18\x81R`\x03` \x82\x01S\x85Q`\"\x01\x81 \x92PPP\x92P\x92P\x92V[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x0BMW`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a:WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a:oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a,\x1EW`\0\x80\xFD[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a:\xA3W`\0\x80\xFD[\x885a:\xAE\x81a:0V[\x97P` \x89\x015a:\xBE\x81a:0V[\x96P`@\x89\x015a:\xCE\x81a:0V[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a:\xF2W`\0\x80\xFD[a:\xFE\x8C\x83\x8D\x01a:EV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a;\x17W`\0\x80\xFD[Pa;$\x8B\x82\x8C\x01a:EV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[\x805`\x01`\x01``\x1B\x03\x81\x16\x81\x14a;OW`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a;iW`\0\x80\xFD[\x835a;t\x81a:0V[\x92P` \x84\x015a;\x84\x81a:0V[\x91Pa;\x92`@\x85\x01a;8V[\x90P\x92P\x92P\x92V[`\0a\x01 \x82\x84\x03\x12\x15a;\xAEW`\0\x80\xFD[P\x91\x90PV[`\0a\x01\0\x82\x84\x03\x12\x15a;\xAEW`\0\x80\xFD[`\0\x80`\0a\x02@\x84\x86\x03\x12\x15a;\xDDW`\0\x80\xFD[\x835a;\xE8\x81a:0V[\x92Pa;\xF7\x85` \x86\x01a;\x9BV[\x91Pa;\x92\x85a\x01@\x86\x01a;\xB4V[`\0` \x82\x84\x03\x12\x15a<\x19W`\0\x80\xFD[\x815a<$\x81a:0V[\x93\x92PPPV[`\0a\x01 \x82\x84\x03\x12\x15a<>W`\0\x80\xFD[a\r\xDB\x83\x83a;\x9BV[`\0\x80`@\x83\x85\x03\x12\x15a<[W`\0\x80\xFD[\x825\x91P` \x83\x015a<m\x81a:0V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a<\x8BW`\0\x80\xFD[\x825a<\x96\x81a:0V[\x91P` \x83\x015a<m\x81a:0V[`\0` \x82\x84\x03\x12\x15a<\xB8W`\0\x80\xFD[P5\x91\x90PV[cNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[`\x01`\x01``\x1B\x03\x86\x16\x81Re\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x82\x01Rc\xFF\xFF\xFF\xFF\x84\x16`@\x82\x01Rb\xFF\xFF\xFF\x83\x16``\x82\x01R`\xA0\x81\x01`\x03\x83\x10a=(WcNH{q`\xE0\x1B`\0R`!`\x04R`$`\0\xFD[\x82`\x80\x83\x01R\x96\x95PPPPPPV[`\0\x80`\0a\x02@\x84\x86\x03\x12\x15a=NW`\0\x80\xFD[\x835\x92Pa;\xF7\x85` \x86\x01a;\x9BV[`\0\x80` \x83\x85\x03\x12\x15a=rW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a=\x8AW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a=\x9EW`\0\x80\xFD[\x815\x81\x81\x11\x15a=\xADW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a=\xC2W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0[\x83\x81\x10\x15a=\xEFW\x81\x81\x01Q\x83\x82\x01R` \x01a=\xD7V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra>\x10\x81` \x86\x01` \x86\x01a=\xD4V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a>yW`?\x19\x88\x86\x03\x01\x84Ra>g\x85\x83Qa=\xF8V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a>KV[P\x92\x97\x96PPPPPPPV[` \x81R`\0a\r\xDB` \x83\x01\x84a=\xF8V[`\0\x80`@\x83\x85\x03\x12\x15a>\xACW`\0\x80\xFD[\x825a>\xB7\x81a:0V[\x91Pa>\xC5` \x84\x01a;8V[\x90P\x92P\x92\x90PV[`\0\x80a\x02 \x83\x85\x03\x12\x15a>\xE2W`\0\x80\xFD[a>\xEC\x84\x84a;\x9BV[\x91Pa>\xC5\x84a\x01 \x85\x01a;\xB4V[`\0` \x82\x84\x03\x12\x15a?\x0EW`\0\x80\xFD[\x81Qa<$\x81a:0V[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\r\xDEWa\r\xDEa?\x19V[`\0` \x82\x84\x03\x12\x15a?TW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?vW`\0\x80\xFD[\x815f\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\x9FW`\0\x80\xFD[\x815b\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\xC4W`\0\x80\xFD[\x815c\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a?\xEAW`\0\x80\xFD[\x815e\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a<$W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a@\x12W`\0\x80\xFD[a\r\xDB\x82a;8V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a@^W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a@yW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a,\x1EW`\0\x80\xFD[`\0`\x01\x82\x01a@\xA0Wa@\xA0a?\x19V[P`\x01\x01\x90V[`\x01`\x01``\x1B\x03\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[b\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[\x92\x83R` \x83\x01\x91\x90\x91R`\xA0\x1B`\x01`\x01`\xA0\x1B\x03\x19\x16`@\x82\x01R`L\x01\x90V[`\0a\x01\0\x80\x83\x85\x03\x12\x15aA\x1AW`\0\x80\xFD[`@Q\x90\x81\x01\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x81\x83\x10\x17\x15aAKWcNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[\x81`@R\x835\x81R` \x84\x015` \x82\x01R`@\x84\x015`@\x82\x01R``\x84\x015``\x82\x01R`\x80\x84\x015`\x80\x82\x01R`\xA0\x84\x015`\xA0\x82\x01R`\xC0\x84\x015`\xC0\x82\x01R`\xE0\x84\x015`\xE0\x82\x01R\x80\x92PPP\x92\x91PPV[e\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[`\x01`\x01``\x1B\x03\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[` \x80\x82R`0\x90\x82\x01R\x7Fchannel must have state OPEN or `@\x82\x01RoPENDING_TO_CLOSE`\x80\x1B``\x82\x01R`\x80\x01\x90V[c\xFF\xFF\xFF\xFF\x81\x81\x16\x83\x82\x16\x01\x90\x80\x82\x11\x15a\x12\xDFWa\x12\xDFa?\x19V[\x81\x81\x03\x81\x81\x11\x15a\r\xDEWa\r\xDEa?\x19V[`\0\x82QaBu\x81\x84` \x87\x01a=\xD4V[\x91\x90\x91\x01\x92\x91PPV[`\0\x82aB\x9CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x06\x90V\xFEAddress: low-level delegate call failed_\xA1rF\xD3\xA5\xD6\x8DB\xBA\xA9L\xDE3\x04!\x80\xB7\x83\xA3\x99\xC0+\xF6:\xC2\x07n\x0Fp\x878\xCE\xEA\xB2\xEE\xF9\x98\xC1\x7F\xE9o0\xF8?\xBF<U\xFCPG\xF6\xE4\x0CU\xA0\xCFr\xD26\xE9\xD2\xBAr\xA2dipfsX\"\x12 #C\x98\r\x92\x99\x8E\xDA\xEE\x11\xA6gb5\xEBu\x89\x9E\x11\x17\x08\xED\n*3T\\\xCD\xCB\x0E\x05\x03dsolcC\0\x08\x13\x003",
2029 );
2030 #[derive(serde::Serialize, serde::Deserialize)]
2031 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2032 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2033 #[derive(Clone)]
2034 pub struct ChannelStatus(u8);
2035 const _: () = {
2036 use alloy::sol_types as alloy_sol_types;
2037 #[automatically_derived]
2038 impl alloy_sol_types::private::SolTypeValue<ChannelStatus> for u8 {
2039 #[inline]
2040 fn stv_to_tokens(
2041 &self,
2042 ) -> <alloy::sol_types::sol_data::Uint<
2043 8,
2044 > as alloy_sol_types::SolType>::Token<'_> {
2045 alloy_sol_types::private::SolTypeValue::<
2046 alloy::sol_types::sol_data::Uint<8>,
2047 >::stv_to_tokens(self)
2048 }
2049 #[inline]
2050 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2051 <alloy::sol_types::sol_data::Uint<
2052 8,
2053 > as alloy_sol_types::SolType>::tokenize(self)
2054 .0
2055 }
2056 #[inline]
2057 fn stv_abi_encode_packed_to(
2058 &self,
2059 out: &mut alloy_sol_types::private::Vec<u8>,
2060 ) {
2061 <alloy::sol_types::sol_data::Uint<
2062 8,
2063 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2064 }
2065 #[inline]
2066 fn stv_abi_packed_encoded_size(&self) -> usize {
2067 <alloy::sol_types::sol_data::Uint<
2068 8,
2069 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2070 }
2071 }
2072 #[automatically_derived]
2073 impl ChannelStatus {
2074 pub const NAME: &'static str = stringify!(@ name);
2076 #[inline]
2078 pub const fn from_underlying(value: u8) -> Self {
2079 Self(value)
2080 }
2081 #[inline]
2083 pub const fn into_underlying(self) -> u8 {
2084 self.0
2085 }
2086 #[inline]
2089 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2090 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2091 }
2092 #[inline]
2095 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2096 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2097 }
2098 }
2099 #[automatically_derived]
2100 impl From<u8> for ChannelStatus {
2101 fn from(value: u8) -> Self {
2102 Self::from_underlying(value)
2103 }
2104 }
2105 #[automatically_derived]
2106 impl From<ChannelStatus> for u8 {
2107 fn from(value: ChannelStatus) -> Self {
2108 value.into_underlying()
2109 }
2110 }
2111 #[automatically_derived]
2112 impl alloy_sol_types::SolType for ChannelStatus {
2113 type RustType = u8;
2114 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2115 8,
2116 > as alloy_sol_types::SolType>::Token<'a>;
2117 const SOL_NAME: &'static str = Self::NAME;
2118 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2119 8,
2120 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2121 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2122 8,
2123 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2124 #[inline]
2125 fn valid_token(token: &Self::Token<'_>) -> bool {
2126 Self::type_check(token).is_ok()
2127 }
2128 #[inline]
2129 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2130 <alloy::sol_types::sol_data::Uint<
2131 8,
2132 > as alloy_sol_types::SolType>::type_check(token)
2133 }
2134 #[inline]
2135 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2136 <alloy::sol_types::sol_data::Uint<
2137 8,
2138 > as alloy_sol_types::SolType>::detokenize(token)
2139 }
2140 }
2141 #[automatically_derived]
2142 impl alloy_sol_types::EventTopic for ChannelStatus {
2143 #[inline]
2144 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2145 <alloy::sol_types::sol_data::Uint<
2146 8,
2147 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2148 }
2149 #[inline]
2150 fn encode_topic_preimage(
2151 rust: &Self::RustType,
2152 out: &mut alloy_sol_types::private::Vec<u8>,
2153 ) {
2154 <alloy::sol_types::sol_data::Uint<
2155 8,
2156 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2157 }
2158 #[inline]
2159 fn encode_topic(
2160 rust: &Self::RustType,
2161 ) -> alloy_sol_types::abi::token::WordToken {
2162 <alloy::sol_types::sol_data::Uint<
2163 8,
2164 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2165 }
2166 }
2167 };
2168 #[derive(serde::Serialize, serde::Deserialize)]
2169 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2170 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2171 #[derive(Clone)]
2172 pub struct Balance(alloy::sol_types::private::primitives::aliases::U96);
2173 const _: () = {
2174 use alloy::sol_types as alloy_sol_types;
2175 #[automatically_derived]
2176 impl alloy_sol_types::private::SolTypeValue<Balance>
2177 for alloy::sol_types::private::primitives::aliases::U96 {
2178 #[inline]
2179 fn stv_to_tokens(
2180 &self,
2181 ) -> <alloy::sol_types::sol_data::Uint<
2182 96,
2183 > as alloy_sol_types::SolType>::Token<'_> {
2184 alloy_sol_types::private::SolTypeValue::<
2185 alloy::sol_types::sol_data::Uint<96>,
2186 >::stv_to_tokens(self)
2187 }
2188 #[inline]
2189 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2190 <alloy::sol_types::sol_data::Uint<
2191 96,
2192 > as alloy_sol_types::SolType>::tokenize(self)
2193 .0
2194 }
2195 #[inline]
2196 fn stv_abi_encode_packed_to(
2197 &self,
2198 out: &mut alloy_sol_types::private::Vec<u8>,
2199 ) {
2200 <alloy::sol_types::sol_data::Uint<
2201 96,
2202 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2203 }
2204 #[inline]
2205 fn stv_abi_packed_encoded_size(&self) -> usize {
2206 <alloy::sol_types::sol_data::Uint<
2207 96,
2208 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2209 }
2210 }
2211 #[automatically_derived]
2212 impl Balance {
2213 pub const NAME: &'static str = stringify!(@ name);
2215 #[inline]
2217 pub const fn from_underlying(
2218 value: alloy::sol_types::private::primitives::aliases::U96,
2219 ) -> Self {
2220 Self(value)
2221 }
2222 #[inline]
2224 pub const fn into_underlying(
2225 self,
2226 ) -> alloy::sol_types::private::primitives::aliases::U96 {
2227 self.0
2228 }
2229 #[inline]
2232 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2233 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2234 }
2235 #[inline]
2238 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2239 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2240 }
2241 }
2242 #[automatically_derived]
2243 impl From<alloy::sol_types::private::primitives::aliases::U96> for Balance {
2244 fn from(value: alloy::sol_types::private::primitives::aliases::U96) -> Self {
2245 Self::from_underlying(value)
2246 }
2247 }
2248 #[automatically_derived]
2249 impl From<Balance> for alloy::sol_types::private::primitives::aliases::U96 {
2250 fn from(value: Balance) -> Self {
2251 value.into_underlying()
2252 }
2253 }
2254 #[automatically_derived]
2255 impl alloy_sol_types::SolType for Balance {
2256 type RustType = alloy::sol_types::private::primitives::aliases::U96;
2257 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2258 96,
2259 > as alloy_sol_types::SolType>::Token<'a>;
2260 const SOL_NAME: &'static str = Self::NAME;
2261 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2262 96,
2263 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2264 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2265 96,
2266 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2267 #[inline]
2268 fn valid_token(token: &Self::Token<'_>) -> bool {
2269 Self::type_check(token).is_ok()
2270 }
2271 #[inline]
2272 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2273 <alloy::sol_types::sol_data::Uint<
2274 96,
2275 > as alloy_sol_types::SolType>::type_check(token)
2276 }
2277 #[inline]
2278 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2279 <alloy::sol_types::sol_data::Uint<
2280 96,
2281 > as alloy_sol_types::SolType>::detokenize(token)
2282 }
2283 }
2284 #[automatically_derived]
2285 impl alloy_sol_types::EventTopic for Balance {
2286 #[inline]
2287 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2288 <alloy::sol_types::sol_data::Uint<
2289 96,
2290 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2291 }
2292 #[inline]
2293 fn encode_topic_preimage(
2294 rust: &Self::RustType,
2295 out: &mut alloy_sol_types::private::Vec<u8>,
2296 ) {
2297 <alloy::sol_types::sol_data::Uint<
2298 96,
2299 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2300 }
2301 #[inline]
2302 fn encode_topic(
2303 rust: &Self::RustType,
2304 ) -> alloy_sol_types::abi::token::WordToken {
2305 <alloy::sol_types::sol_data::Uint<
2306 96,
2307 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2308 }
2309 }
2310 };
2311 #[derive(serde::Serialize, serde::Deserialize)]
2312 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2313 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2314 #[derive(Clone)]
2315 pub struct ChannelEpoch(alloy::sol_types::private::primitives::aliases::U24);
2316 const _: () = {
2317 use alloy::sol_types as alloy_sol_types;
2318 #[automatically_derived]
2319 impl alloy_sol_types::private::SolTypeValue<ChannelEpoch>
2320 for alloy::sol_types::private::primitives::aliases::U24 {
2321 #[inline]
2322 fn stv_to_tokens(
2323 &self,
2324 ) -> <alloy::sol_types::sol_data::Uint<
2325 24,
2326 > as alloy_sol_types::SolType>::Token<'_> {
2327 alloy_sol_types::private::SolTypeValue::<
2328 alloy::sol_types::sol_data::Uint<24>,
2329 >::stv_to_tokens(self)
2330 }
2331 #[inline]
2332 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2333 <alloy::sol_types::sol_data::Uint<
2334 24,
2335 > as alloy_sol_types::SolType>::tokenize(self)
2336 .0
2337 }
2338 #[inline]
2339 fn stv_abi_encode_packed_to(
2340 &self,
2341 out: &mut alloy_sol_types::private::Vec<u8>,
2342 ) {
2343 <alloy::sol_types::sol_data::Uint<
2344 24,
2345 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2346 }
2347 #[inline]
2348 fn stv_abi_packed_encoded_size(&self) -> usize {
2349 <alloy::sol_types::sol_data::Uint<
2350 24,
2351 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2352 }
2353 }
2354 #[automatically_derived]
2355 impl ChannelEpoch {
2356 pub const NAME: &'static str = stringify!(@ name);
2358 #[inline]
2360 pub const fn from_underlying(
2361 value: alloy::sol_types::private::primitives::aliases::U24,
2362 ) -> Self {
2363 Self(value)
2364 }
2365 #[inline]
2367 pub const fn into_underlying(
2368 self,
2369 ) -> alloy::sol_types::private::primitives::aliases::U24 {
2370 self.0
2371 }
2372 #[inline]
2375 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2376 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2377 }
2378 #[inline]
2381 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2382 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2383 }
2384 }
2385 #[automatically_derived]
2386 impl From<alloy::sol_types::private::primitives::aliases::U24> for ChannelEpoch {
2387 fn from(value: alloy::sol_types::private::primitives::aliases::U24) -> Self {
2388 Self::from_underlying(value)
2389 }
2390 }
2391 #[automatically_derived]
2392 impl From<ChannelEpoch> for alloy::sol_types::private::primitives::aliases::U24 {
2393 fn from(value: ChannelEpoch) -> Self {
2394 value.into_underlying()
2395 }
2396 }
2397 #[automatically_derived]
2398 impl alloy_sol_types::SolType for ChannelEpoch {
2399 type RustType = alloy::sol_types::private::primitives::aliases::U24;
2400 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2401 24,
2402 > as alloy_sol_types::SolType>::Token<'a>;
2403 const SOL_NAME: &'static str = Self::NAME;
2404 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2405 24,
2406 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2407 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2408 24,
2409 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2410 #[inline]
2411 fn valid_token(token: &Self::Token<'_>) -> bool {
2412 Self::type_check(token).is_ok()
2413 }
2414 #[inline]
2415 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2416 <alloy::sol_types::sol_data::Uint<
2417 24,
2418 > as alloy_sol_types::SolType>::type_check(token)
2419 }
2420 #[inline]
2421 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2422 <alloy::sol_types::sol_data::Uint<
2423 24,
2424 > as alloy_sol_types::SolType>::detokenize(token)
2425 }
2426 }
2427 #[automatically_derived]
2428 impl alloy_sol_types::EventTopic for ChannelEpoch {
2429 #[inline]
2430 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2431 <alloy::sol_types::sol_data::Uint<
2432 24,
2433 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2434 }
2435 #[inline]
2436 fn encode_topic_preimage(
2437 rust: &Self::RustType,
2438 out: &mut alloy_sol_types::private::Vec<u8>,
2439 ) {
2440 <alloy::sol_types::sol_data::Uint<
2441 24,
2442 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2443 }
2444 #[inline]
2445 fn encode_topic(
2446 rust: &Self::RustType,
2447 ) -> alloy_sol_types::abi::token::WordToken {
2448 <alloy::sol_types::sol_data::Uint<
2449 24,
2450 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2451 }
2452 }
2453 };
2454 #[derive(serde::Serialize, serde::Deserialize)]
2455 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2456 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2457 #[derive(Clone)]
2458 pub struct TicketIndex(alloy::sol_types::private::primitives::aliases::U48);
2459 const _: () = {
2460 use alloy::sol_types as alloy_sol_types;
2461 #[automatically_derived]
2462 impl alloy_sol_types::private::SolTypeValue<TicketIndex>
2463 for alloy::sol_types::private::primitives::aliases::U48 {
2464 #[inline]
2465 fn stv_to_tokens(
2466 &self,
2467 ) -> <alloy::sol_types::sol_data::Uint<
2468 48,
2469 > as alloy_sol_types::SolType>::Token<'_> {
2470 alloy_sol_types::private::SolTypeValue::<
2471 alloy::sol_types::sol_data::Uint<48>,
2472 >::stv_to_tokens(self)
2473 }
2474 #[inline]
2475 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2476 <alloy::sol_types::sol_data::Uint<
2477 48,
2478 > as alloy_sol_types::SolType>::tokenize(self)
2479 .0
2480 }
2481 #[inline]
2482 fn stv_abi_encode_packed_to(
2483 &self,
2484 out: &mut alloy_sol_types::private::Vec<u8>,
2485 ) {
2486 <alloy::sol_types::sol_data::Uint<
2487 48,
2488 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2489 }
2490 #[inline]
2491 fn stv_abi_packed_encoded_size(&self) -> usize {
2492 <alloy::sol_types::sol_data::Uint<
2493 48,
2494 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2495 }
2496 }
2497 #[automatically_derived]
2498 impl TicketIndex {
2499 pub const NAME: &'static str = stringify!(@ name);
2501 #[inline]
2503 pub const fn from_underlying(
2504 value: alloy::sol_types::private::primitives::aliases::U48,
2505 ) -> Self {
2506 Self(value)
2507 }
2508 #[inline]
2510 pub const fn into_underlying(
2511 self,
2512 ) -> alloy::sol_types::private::primitives::aliases::U48 {
2513 self.0
2514 }
2515 #[inline]
2518 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2519 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2520 }
2521 #[inline]
2524 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2525 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2526 }
2527 }
2528 #[automatically_derived]
2529 impl From<alloy::sol_types::private::primitives::aliases::U48> for TicketIndex {
2530 fn from(value: alloy::sol_types::private::primitives::aliases::U48) -> Self {
2531 Self::from_underlying(value)
2532 }
2533 }
2534 #[automatically_derived]
2535 impl From<TicketIndex> for alloy::sol_types::private::primitives::aliases::U48 {
2536 fn from(value: TicketIndex) -> Self {
2537 value.into_underlying()
2538 }
2539 }
2540 #[automatically_derived]
2541 impl alloy_sol_types::SolType for TicketIndex {
2542 type RustType = alloy::sol_types::private::primitives::aliases::U48;
2543 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2544 48,
2545 > as alloy_sol_types::SolType>::Token<'a>;
2546 const SOL_NAME: &'static str = Self::NAME;
2547 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2548 48,
2549 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2550 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2551 48,
2552 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2553 #[inline]
2554 fn valid_token(token: &Self::Token<'_>) -> bool {
2555 Self::type_check(token).is_ok()
2556 }
2557 #[inline]
2558 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2559 <alloy::sol_types::sol_data::Uint<
2560 48,
2561 > as alloy_sol_types::SolType>::type_check(token)
2562 }
2563 #[inline]
2564 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2565 <alloy::sol_types::sol_data::Uint<
2566 48,
2567 > as alloy_sol_types::SolType>::detokenize(token)
2568 }
2569 }
2570 #[automatically_derived]
2571 impl alloy_sol_types::EventTopic for TicketIndex {
2572 #[inline]
2573 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2574 <alloy::sol_types::sol_data::Uint<
2575 48,
2576 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2577 }
2578 #[inline]
2579 fn encode_topic_preimage(
2580 rust: &Self::RustType,
2581 out: &mut alloy_sol_types::private::Vec<u8>,
2582 ) {
2583 <alloy::sol_types::sol_data::Uint<
2584 48,
2585 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2586 }
2587 #[inline]
2588 fn encode_topic(
2589 rust: &Self::RustType,
2590 ) -> alloy_sol_types::abi::token::WordToken {
2591 <alloy::sol_types::sol_data::Uint<
2592 48,
2593 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2594 }
2595 }
2596 };
2597 #[derive(serde::Serialize, serde::Deserialize)]
2598 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2599 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2600 #[derive(Clone)]
2601 pub struct TicketIndexOffset(u32);
2602 const _: () = {
2603 use alloy::sol_types as alloy_sol_types;
2604 #[automatically_derived]
2605 impl alloy_sol_types::private::SolTypeValue<TicketIndexOffset> for u32 {
2606 #[inline]
2607 fn stv_to_tokens(
2608 &self,
2609 ) -> <alloy::sol_types::sol_data::Uint<
2610 32,
2611 > as alloy_sol_types::SolType>::Token<'_> {
2612 alloy_sol_types::private::SolTypeValue::<
2613 alloy::sol_types::sol_data::Uint<32>,
2614 >::stv_to_tokens(self)
2615 }
2616 #[inline]
2617 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2618 <alloy::sol_types::sol_data::Uint<
2619 32,
2620 > as alloy_sol_types::SolType>::tokenize(self)
2621 .0
2622 }
2623 #[inline]
2624 fn stv_abi_encode_packed_to(
2625 &self,
2626 out: &mut alloy_sol_types::private::Vec<u8>,
2627 ) {
2628 <alloy::sol_types::sol_data::Uint<
2629 32,
2630 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2631 }
2632 #[inline]
2633 fn stv_abi_packed_encoded_size(&self) -> usize {
2634 <alloy::sol_types::sol_data::Uint<
2635 32,
2636 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2637 }
2638 }
2639 #[automatically_derived]
2640 impl TicketIndexOffset {
2641 pub const NAME: &'static str = stringify!(@ name);
2643 #[inline]
2645 pub const fn from_underlying(value: u32) -> Self {
2646 Self(value)
2647 }
2648 #[inline]
2650 pub const fn into_underlying(self) -> u32 {
2651 self.0
2652 }
2653 #[inline]
2656 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2657 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2658 }
2659 #[inline]
2662 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2663 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2664 }
2665 }
2666 #[automatically_derived]
2667 impl From<u32> for TicketIndexOffset {
2668 fn from(value: u32) -> Self {
2669 Self::from_underlying(value)
2670 }
2671 }
2672 #[automatically_derived]
2673 impl From<TicketIndexOffset> for u32 {
2674 fn from(value: TicketIndexOffset) -> Self {
2675 value.into_underlying()
2676 }
2677 }
2678 #[automatically_derived]
2679 impl alloy_sol_types::SolType for TicketIndexOffset {
2680 type RustType = u32;
2681 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2682 32,
2683 > as alloy_sol_types::SolType>::Token<'a>;
2684 const SOL_NAME: &'static str = Self::NAME;
2685 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2686 32,
2687 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2688 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2689 32,
2690 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2691 #[inline]
2692 fn valid_token(token: &Self::Token<'_>) -> bool {
2693 Self::type_check(token).is_ok()
2694 }
2695 #[inline]
2696 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2697 <alloy::sol_types::sol_data::Uint<
2698 32,
2699 > as alloy_sol_types::SolType>::type_check(token)
2700 }
2701 #[inline]
2702 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2703 <alloy::sol_types::sol_data::Uint<
2704 32,
2705 > as alloy_sol_types::SolType>::detokenize(token)
2706 }
2707 }
2708 #[automatically_derived]
2709 impl alloy_sol_types::EventTopic for TicketIndexOffset {
2710 #[inline]
2711 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2712 <alloy::sol_types::sol_data::Uint<
2713 32,
2714 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2715 }
2716 #[inline]
2717 fn encode_topic_preimage(
2718 rust: &Self::RustType,
2719 out: &mut alloy_sol_types::private::Vec<u8>,
2720 ) {
2721 <alloy::sol_types::sol_data::Uint<
2722 32,
2723 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2724 }
2725 #[inline]
2726 fn encode_topic(
2727 rust: &Self::RustType,
2728 ) -> alloy_sol_types::abi::token::WordToken {
2729 <alloy::sol_types::sol_data::Uint<
2730 32,
2731 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2732 }
2733 }
2734 };
2735 #[derive(serde::Serialize, serde::Deserialize)]
2736 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2737 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2738 #[derive(Clone)]
2739 pub struct Timestamp(u32);
2740 const _: () = {
2741 use alloy::sol_types as alloy_sol_types;
2742 #[automatically_derived]
2743 impl alloy_sol_types::private::SolTypeValue<Timestamp> for u32 {
2744 #[inline]
2745 fn stv_to_tokens(
2746 &self,
2747 ) -> <alloy::sol_types::sol_data::Uint<
2748 32,
2749 > as alloy_sol_types::SolType>::Token<'_> {
2750 alloy_sol_types::private::SolTypeValue::<
2751 alloy::sol_types::sol_data::Uint<32>,
2752 >::stv_to_tokens(self)
2753 }
2754 #[inline]
2755 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2756 <alloy::sol_types::sol_data::Uint<
2757 32,
2758 > as alloy_sol_types::SolType>::tokenize(self)
2759 .0
2760 }
2761 #[inline]
2762 fn stv_abi_encode_packed_to(
2763 &self,
2764 out: &mut alloy_sol_types::private::Vec<u8>,
2765 ) {
2766 <alloy::sol_types::sol_data::Uint<
2767 32,
2768 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2769 }
2770 #[inline]
2771 fn stv_abi_packed_encoded_size(&self) -> usize {
2772 <alloy::sol_types::sol_data::Uint<
2773 32,
2774 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2775 }
2776 }
2777 #[automatically_derived]
2778 impl Timestamp {
2779 pub const NAME: &'static str = stringify!(@ name);
2781 #[inline]
2783 pub const fn from_underlying(value: u32) -> Self {
2784 Self(value)
2785 }
2786 #[inline]
2788 pub const fn into_underlying(self) -> u32 {
2789 self.0
2790 }
2791 #[inline]
2794 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2795 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2796 }
2797 #[inline]
2800 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2801 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2802 }
2803 }
2804 #[automatically_derived]
2805 impl From<u32> for Timestamp {
2806 fn from(value: u32) -> Self {
2807 Self::from_underlying(value)
2808 }
2809 }
2810 #[automatically_derived]
2811 impl From<Timestamp> for u32 {
2812 fn from(value: Timestamp) -> Self {
2813 value.into_underlying()
2814 }
2815 }
2816 #[automatically_derived]
2817 impl alloy_sol_types::SolType for Timestamp {
2818 type RustType = u32;
2819 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2820 32,
2821 > as alloy_sol_types::SolType>::Token<'a>;
2822 const SOL_NAME: &'static str = Self::NAME;
2823 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2824 32,
2825 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2826 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2827 32,
2828 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2829 #[inline]
2830 fn valid_token(token: &Self::Token<'_>) -> bool {
2831 Self::type_check(token).is_ok()
2832 }
2833 #[inline]
2834 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2835 <alloy::sol_types::sol_data::Uint<
2836 32,
2837 > as alloy_sol_types::SolType>::type_check(token)
2838 }
2839 #[inline]
2840 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2841 <alloy::sol_types::sol_data::Uint<
2842 32,
2843 > as alloy_sol_types::SolType>::detokenize(token)
2844 }
2845 }
2846 #[automatically_derived]
2847 impl alloy_sol_types::EventTopic for Timestamp {
2848 #[inline]
2849 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2850 <alloy::sol_types::sol_data::Uint<
2851 32,
2852 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2853 }
2854 #[inline]
2855 fn encode_topic_preimage(
2856 rust: &Self::RustType,
2857 out: &mut alloy_sol_types::private::Vec<u8>,
2858 ) {
2859 <alloy::sol_types::sol_data::Uint<
2860 32,
2861 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
2862 }
2863 #[inline]
2864 fn encode_topic(
2865 rust: &Self::RustType,
2866 ) -> alloy_sol_types::abi::token::WordToken {
2867 <alloy::sol_types::sol_data::Uint<
2868 32,
2869 > as alloy_sol_types::EventTopic>::encode_topic(rust)
2870 }
2871 }
2872 };
2873 #[derive(serde::Serialize, serde::Deserialize)]
2874 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2875 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2876 #[derive(Clone)]
2877 pub struct WinProb(alloy::sol_types::private::primitives::aliases::U56);
2878 const _: () = {
2879 use alloy::sol_types as alloy_sol_types;
2880 #[automatically_derived]
2881 impl alloy_sol_types::private::SolTypeValue<WinProb>
2882 for alloy::sol_types::private::primitives::aliases::U56 {
2883 #[inline]
2884 fn stv_to_tokens(
2885 &self,
2886 ) -> <alloy::sol_types::sol_data::Uint<
2887 56,
2888 > as alloy_sol_types::SolType>::Token<'_> {
2889 alloy_sol_types::private::SolTypeValue::<
2890 alloy::sol_types::sol_data::Uint<56>,
2891 >::stv_to_tokens(self)
2892 }
2893 #[inline]
2894 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
2895 <alloy::sol_types::sol_data::Uint<
2896 56,
2897 > as alloy_sol_types::SolType>::tokenize(self)
2898 .0
2899 }
2900 #[inline]
2901 fn stv_abi_encode_packed_to(
2902 &self,
2903 out: &mut alloy_sol_types::private::Vec<u8>,
2904 ) {
2905 <alloy::sol_types::sol_data::Uint<
2906 56,
2907 > as alloy_sol_types::SolType>::abi_encode_packed_to(self, out)
2908 }
2909 #[inline]
2910 fn stv_abi_packed_encoded_size(&self) -> usize {
2911 <alloy::sol_types::sol_data::Uint<
2912 56,
2913 > as alloy_sol_types::SolType>::abi_encoded_size(self)
2914 }
2915 }
2916 #[automatically_derived]
2917 impl WinProb {
2918 pub const NAME: &'static str = stringify!(@ name);
2920 #[inline]
2922 pub const fn from_underlying(
2923 value: alloy::sol_types::private::primitives::aliases::U56,
2924 ) -> Self {
2925 Self(value)
2926 }
2927 #[inline]
2929 pub const fn into_underlying(
2930 self,
2931 ) -> alloy::sol_types::private::primitives::aliases::U56 {
2932 self.0
2933 }
2934 #[inline]
2937 pub fn abi_encode(&self) -> alloy_sol_types::private::Vec<u8> {
2938 <Self as alloy_sol_types::SolType>::abi_encode(&self.0)
2939 }
2940 #[inline]
2943 pub fn abi_encode_packed(&self) -> alloy_sol_types::private::Vec<u8> {
2944 <Self as alloy_sol_types::SolType>::abi_encode_packed(&self.0)
2945 }
2946 }
2947 #[automatically_derived]
2948 impl From<alloy::sol_types::private::primitives::aliases::U56> for WinProb {
2949 fn from(value: alloy::sol_types::private::primitives::aliases::U56) -> Self {
2950 Self::from_underlying(value)
2951 }
2952 }
2953 #[automatically_derived]
2954 impl From<WinProb> for alloy::sol_types::private::primitives::aliases::U56 {
2955 fn from(value: WinProb) -> Self {
2956 value.into_underlying()
2957 }
2958 }
2959 #[automatically_derived]
2960 impl alloy_sol_types::SolType for WinProb {
2961 type RustType = alloy::sol_types::private::primitives::aliases::U56;
2962 type Token<'a> = <alloy::sol_types::sol_data::Uint<
2963 56,
2964 > as alloy_sol_types::SolType>::Token<'a>;
2965 const SOL_NAME: &'static str = Self::NAME;
2966 const ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2967 56,
2968 > as alloy_sol_types::SolType>::ENCODED_SIZE;
2969 const PACKED_ENCODED_SIZE: Option<usize> = <alloy::sol_types::sol_data::Uint<
2970 56,
2971 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
2972 #[inline]
2973 fn valid_token(token: &Self::Token<'_>) -> bool {
2974 Self::type_check(token).is_ok()
2975 }
2976 #[inline]
2977 fn type_check(token: &Self::Token<'_>) -> alloy_sol_types::Result<()> {
2978 <alloy::sol_types::sol_data::Uint<
2979 56,
2980 > as alloy_sol_types::SolType>::type_check(token)
2981 }
2982 #[inline]
2983 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
2984 <alloy::sol_types::sol_data::Uint<
2985 56,
2986 > as alloy_sol_types::SolType>::detokenize(token)
2987 }
2988 }
2989 #[automatically_derived]
2990 impl alloy_sol_types::EventTopic for WinProb {
2991 #[inline]
2992 fn topic_preimage_length(rust: &Self::RustType) -> usize {
2993 <alloy::sol_types::sol_data::Uint<
2994 56,
2995 > as alloy_sol_types::EventTopic>::topic_preimage_length(rust)
2996 }
2997 #[inline]
2998 fn encode_topic_preimage(
2999 rust: &Self::RustType,
3000 out: &mut alloy_sol_types::private::Vec<u8>,
3001 ) {
3002 <alloy::sol_types::sol_data::Uint<
3003 56,
3004 > as alloy_sol_types::EventTopic>::encode_topic_preimage(rust, out)
3005 }
3006 #[inline]
3007 fn encode_topic(
3008 rust: &Self::RustType,
3009 ) -> alloy_sol_types::abi::token::WordToken {
3010 <alloy::sol_types::sol_data::Uint<
3011 56,
3012 > as alloy_sol_types::EventTopic>::encode_topic(rust)
3013 }
3014 }
3015 };
3016 #[derive(serde::Serialize, serde::Deserialize)]
3017 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3018 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3022 #[derive(Clone)]
3023 pub struct RedeemableTicket {
3024 #[allow(missing_docs)]
3025 pub data: <TicketData as alloy::sol_types::SolType>::RustType,
3026 #[allow(missing_docs)]
3027 pub signature: <HoprCrypto::CompactSignature as alloy::sol_types::SolType>::RustType,
3028 #[allow(missing_docs)]
3029 pub porSecret: alloy::sol_types::private::primitives::aliases::U256,
3030 }
3031 #[allow(
3032 non_camel_case_types,
3033 non_snake_case,
3034 clippy::pub_underscore_fields,
3035 clippy::style
3036 )]
3037 const _: () = {
3038 use alloy::sol_types as alloy_sol_types;
3039 #[doc(hidden)]
3040 type UnderlyingSolTuple<'a> = (
3041 TicketData,
3042 HoprCrypto::CompactSignature,
3043 alloy::sol_types::sol_data::Uint<256>,
3044 );
3045 #[doc(hidden)]
3046 type UnderlyingRustTuple<'a> = (
3047 <TicketData as alloy::sol_types::SolType>::RustType,
3048 <HoprCrypto::CompactSignature as alloy::sol_types::SolType>::RustType,
3049 alloy::sol_types::private::primitives::aliases::U256,
3050 );
3051 #[cfg(test)]
3052 #[allow(dead_code, unreachable_patterns)]
3053 fn _type_assertion(
3054 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3055 ) {
3056 match _t {
3057 alloy_sol_types::private::AssertTypeEq::<
3058 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3059 >(_) => {}
3060 }
3061 }
3062 #[automatically_derived]
3063 #[doc(hidden)]
3064 impl ::core::convert::From<RedeemableTicket> for UnderlyingRustTuple<'_> {
3065 fn from(value: RedeemableTicket) -> Self {
3066 (value.data, value.signature, value.porSecret)
3067 }
3068 }
3069 #[automatically_derived]
3070 #[doc(hidden)]
3071 impl ::core::convert::From<UnderlyingRustTuple<'_>> for RedeemableTicket {
3072 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3073 Self {
3074 data: tuple.0,
3075 signature: tuple.1,
3076 porSecret: tuple.2,
3077 }
3078 }
3079 }
3080 #[automatically_derived]
3081 impl alloy_sol_types::SolValue for RedeemableTicket {
3082 type SolType = Self;
3083 }
3084 #[automatically_derived]
3085 impl alloy_sol_types::private::SolTypeValue<Self> for RedeemableTicket {
3086 #[inline]
3087 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
3088 (
3089 <TicketData as alloy_sol_types::SolType>::tokenize(&self.data),
3090 <HoprCrypto::CompactSignature as alloy_sol_types::SolType>::tokenize(
3091 &self.signature,
3092 ),
3093 <alloy::sol_types::sol_data::Uint<
3094 256,
3095 > as alloy_sol_types::SolType>::tokenize(&self.porSecret),
3096 )
3097 }
3098 #[inline]
3099 fn stv_abi_encoded_size(&self) -> usize {
3100 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
3101 return size;
3102 }
3103 let tuple = <UnderlyingRustTuple<
3104 '_,
3105 > as ::core::convert::From<Self>>::from(self.clone());
3106 <UnderlyingSolTuple<
3107 '_,
3108 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
3109 }
3110 #[inline]
3111 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
3112 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
3113 }
3114 #[inline]
3115 fn stv_abi_encode_packed_to(
3116 &self,
3117 out: &mut alloy_sol_types::private::Vec<u8>,
3118 ) {
3119 let tuple = <UnderlyingRustTuple<
3120 '_,
3121 > as ::core::convert::From<Self>>::from(self.clone());
3122 <UnderlyingSolTuple<
3123 '_,
3124 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
3125 }
3126 #[inline]
3127 fn stv_abi_packed_encoded_size(&self) -> usize {
3128 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
3129 return size;
3130 }
3131 let tuple = <UnderlyingRustTuple<
3132 '_,
3133 > as ::core::convert::From<Self>>::from(self.clone());
3134 <UnderlyingSolTuple<
3135 '_,
3136 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
3137 }
3138 }
3139 #[automatically_derived]
3140 impl alloy_sol_types::SolType for RedeemableTicket {
3141 type RustType = Self;
3142 type Token<'a> = <UnderlyingSolTuple<
3143 'a,
3144 > as alloy_sol_types::SolType>::Token<'a>;
3145 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
3146 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3147 '_,
3148 > as alloy_sol_types::SolType>::ENCODED_SIZE;
3149 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3150 '_,
3151 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
3152 #[inline]
3153 fn valid_token(token: &Self::Token<'_>) -> bool {
3154 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
3155 }
3156 #[inline]
3157 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
3158 let tuple = <UnderlyingSolTuple<
3159 '_,
3160 > as alloy_sol_types::SolType>::detokenize(token);
3161 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
3162 }
3163 }
3164 #[automatically_derived]
3165 impl alloy_sol_types::SolStruct for RedeemableTicket {
3166 const NAME: &'static str = "RedeemableTicket";
3167 #[inline]
3168 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
3169 alloy_sol_types::private::Cow::Borrowed(
3170 "RedeemableTicket(TicketData data,HoprCrypto.CompactSignature signature,uint256 porSecret)",
3171 )
3172 }
3173 #[inline]
3174 fn eip712_components() -> alloy_sol_types::private::Vec<
3175 alloy_sol_types::private::Cow<'static, str>,
3176 > {
3177 let mut components = alloy_sol_types::private::Vec::with_capacity(2);
3178 components
3179 .push(
3180 <TicketData as alloy_sol_types::SolStruct>::eip712_root_type(),
3181 );
3182 components
3183 .extend(
3184 <TicketData as alloy_sol_types::SolStruct>::eip712_components(),
3185 );
3186 components
3187 .push(
3188 <HoprCrypto::CompactSignature as alloy_sol_types::SolStruct>::eip712_root_type(),
3189 );
3190 components
3191 .extend(
3192 <HoprCrypto::CompactSignature as alloy_sol_types::SolStruct>::eip712_components(),
3193 );
3194 components
3195 }
3196 #[inline]
3197 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
3198 [
3199 <TicketData as alloy_sol_types::SolType>::eip712_data_word(
3200 &self.data,
3201 )
3202 .0,
3203 <HoprCrypto::CompactSignature as alloy_sol_types::SolType>::eip712_data_word(
3204 &self.signature,
3205 )
3206 .0,
3207 <alloy::sol_types::sol_data::Uint<
3208 256,
3209 > as alloy_sol_types::SolType>::eip712_data_word(&self.porSecret)
3210 .0,
3211 ]
3212 .concat()
3213 }
3214 }
3215 #[automatically_derived]
3216 impl alloy_sol_types::EventTopic for RedeemableTicket {
3217 #[inline]
3218 fn topic_preimage_length(rust: &Self::RustType) -> usize {
3219 0usize
3220 + <TicketData as alloy_sol_types::EventTopic>::topic_preimage_length(
3221 &rust.data,
3222 )
3223 + <HoprCrypto::CompactSignature as alloy_sol_types::EventTopic>::topic_preimage_length(
3224 &rust.signature,
3225 )
3226 + <alloy::sol_types::sol_data::Uint<
3227 256,
3228 > as alloy_sol_types::EventTopic>::topic_preimage_length(
3229 &rust.porSecret,
3230 )
3231 }
3232 #[inline]
3233 fn encode_topic_preimage(
3234 rust: &Self::RustType,
3235 out: &mut alloy_sol_types::private::Vec<u8>,
3236 ) {
3237 out.reserve(
3238 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
3239 );
3240 <TicketData as alloy_sol_types::EventTopic>::encode_topic_preimage(
3241 &rust.data,
3242 out,
3243 );
3244 <HoprCrypto::CompactSignature as alloy_sol_types::EventTopic>::encode_topic_preimage(
3245 &rust.signature,
3246 out,
3247 );
3248 <alloy::sol_types::sol_data::Uint<
3249 256,
3250 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
3251 &rust.porSecret,
3252 out,
3253 );
3254 }
3255 #[inline]
3256 fn encode_topic(
3257 rust: &Self::RustType,
3258 ) -> alloy_sol_types::abi::token::WordToken {
3259 let mut out = alloy_sol_types::private::Vec::new();
3260 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
3261 rust,
3262 &mut out,
3263 );
3264 alloy_sol_types::abi::token::WordToken(
3265 alloy_sol_types::private::keccak256(out),
3266 )
3267 }
3268 }
3269 };
3270 #[derive(serde::Serialize, serde::Deserialize)]
3271 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3272 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3276 #[derive(Clone)]
3277 pub struct TicketData {
3278 #[allow(missing_docs)]
3279 pub channelId: alloy::sol_types::private::FixedBytes<32>,
3280 #[allow(missing_docs)]
3281 pub amount: <Balance as alloy::sol_types::SolType>::RustType,
3282 #[allow(missing_docs)]
3283 pub ticketIndex: <TicketIndex as alloy::sol_types::SolType>::RustType,
3284 #[allow(missing_docs)]
3285 pub indexOffset: <TicketIndexOffset as alloy::sol_types::SolType>::RustType,
3286 #[allow(missing_docs)]
3287 pub epoch: <ChannelEpoch as alloy::sol_types::SolType>::RustType,
3288 #[allow(missing_docs)]
3289 pub winProb: <WinProb as alloy::sol_types::SolType>::RustType,
3290 }
3291 #[allow(
3292 non_camel_case_types,
3293 non_snake_case,
3294 clippy::pub_underscore_fields,
3295 clippy::style
3296 )]
3297 const _: () = {
3298 use alloy::sol_types as alloy_sol_types;
3299 #[doc(hidden)]
3300 type UnderlyingSolTuple<'a> = (
3301 alloy::sol_types::sol_data::FixedBytes<32>,
3302 Balance,
3303 TicketIndex,
3304 TicketIndexOffset,
3305 ChannelEpoch,
3306 WinProb,
3307 );
3308 #[doc(hidden)]
3309 type UnderlyingRustTuple<'a> = (
3310 alloy::sol_types::private::FixedBytes<32>,
3311 <Balance as alloy::sol_types::SolType>::RustType,
3312 <TicketIndex as alloy::sol_types::SolType>::RustType,
3313 <TicketIndexOffset as alloy::sol_types::SolType>::RustType,
3314 <ChannelEpoch as alloy::sol_types::SolType>::RustType,
3315 <WinProb as alloy::sol_types::SolType>::RustType,
3316 );
3317 #[cfg(test)]
3318 #[allow(dead_code, unreachable_patterns)]
3319 fn _type_assertion(
3320 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3321 ) {
3322 match _t {
3323 alloy_sol_types::private::AssertTypeEq::<
3324 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3325 >(_) => {}
3326 }
3327 }
3328 #[automatically_derived]
3329 #[doc(hidden)]
3330 impl ::core::convert::From<TicketData> for UnderlyingRustTuple<'_> {
3331 fn from(value: TicketData) -> Self {
3332 (
3333 value.channelId,
3334 value.amount,
3335 value.ticketIndex,
3336 value.indexOffset,
3337 value.epoch,
3338 value.winProb,
3339 )
3340 }
3341 }
3342 #[automatically_derived]
3343 #[doc(hidden)]
3344 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TicketData {
3345 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3346 Self {
3347 channelId: tuple.0,
3348 amount: tuple.1,
3349 ticketIndex: tuple.2,
3350 indexOffset: tuple.3,
3351 epoch: tuple.4,
3352 winProb: tuple.5,
3353 }
3354 }
3355 }
3356 #[automatically_derived]
3357 impl alloy_sol_types::SolValue for TicketData {
3358 type SolType = Self;
3359 }
3360 #[automatically_derived]
3361 impl alloy_sol_types::private::SolTypeValue<Self> for TicketData {
3362 #[inline]
3363 fn stv_to_tokens(&self) -> <Self as alloy_sol_types::SolType>::Token<'_> {
3364 (
3365 <alloy::sol_types::sol_data::FixedBytes<
3366 32,
3367 > as alloy_sol_types::SolType>::tokenize(&self.channelId),
3368 <Balance as alloy_sol_types::SolType>::tokenize(&self.amount),
3369 <TicketIndex as alloy_sol_types::SolType>::tokenize(
3370 &self.ticketIndex,
3371 ),
3372 <TicketIndexOffset as alloy_sol_types::SolType>::tokenize(
3373 &self.indexOffset,
3374 ),
3375 <ChannelEpoch as alloy_sol_types::SolType>::tokenize(&self.epoch),
3376 <WinProb as alloy_sol_types::SolType>::tokenize(&self.winProb),
3377 )
3378 }
3379 #[inline]
3380 fn stv_abi_encoded_size(&self) -> usize {
3381 if let Some(size) = <Self as alloy_sol_types::SolType>::ENCODED_SIZE {
3382 return size;
3383 }
3384 let tuple = <UnderlyingRustTuple<
3385 '_,
3386 > as ::core::convert::From<Self>>::from(self.clone());
3387 <UnderlyingSolTuple<
3388 '_,
3389 > as alloy_sol_types::SolType>::abi_encoded_size(&tuple)
3390 }
3391 #[inline]
3392 fn stv_eip712_data_word(&self) -> alloy_sol_types::Word {
3393 <Self as alloy_sol_types::SolStruct>::eip712_hash_struct(self)
3394 }
3395 #[inline]
3396 fn stv_abi_encode_packed_to(
3397 &self,
3398 out: &mut alloy_sol_types::private::Vec<u8>,
3399 ) {
3400 let tuple = <UnderlyingRustTuple<
3401 '_,
3402 > as ::core::convert::From<Self>>::from(self.clone());
3403 <UnderlyingSolTuple<
3404 '_,
3405 > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out)
3406 }
3407 #[inline]
3408 fn stv_abi_packed_encoded_size(&self) -> usize {
3409 if let Some(size) = <Self as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE {
3410 return size;
3411 }
3412 let tuple = <UnderlyingRustTuple<
3413 '_,
3414 > as ::core::convert::From<Self>>::from(self.clone());
3415 <UnderlyingSolTuple<
3416 '_,
3417 > as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple)
3418 }
3419 }
3420 #[automatically_derived]
3421 impl alloy_sol_types::SolType for TicketData {
3422 type RustType = Self;
3423 type Token<'a> = <UnderlyingSolTuple<
3424 'a,
3425 > as alloy_sol_types::SolType>::Token<'a>;
3426 const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME;
3427 const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3428 '_,
3429 > as alloy_sol_types::SolType>::ENCODED_SIZE;
3430 const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple<
3431 '_,
3432 > as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE;
3433 #[inline]
3434 fn valid_token(token: &Self::Token<'_>) -> bool {
3435 <UnderlyingSolTuple<'_> as alloy_sol_types::SolType>::valid_token(token)
3436 }
3437 #[inline]
3438 fn detokenize(token: Self::Token<'_>) -> Self::RustType {
3439 let tuple = <UnderlyingSolTuple<
3440 '_,
3441 > as alloy_sol_types::SolType>::detokenize(token);
3442 <Self as ::core::convert::From<UnderlyingRustTuple<'_>>>::from(tuple)
3443 }
3444 }
3445 #[automatically_derived]
3446 impl alloy_sol_types::SolStruct for TicketData {
3447 const NAME: &'static str = "TicketData";
3448 #[inline]
3449 fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> {
3450 alloy_sol_types::private::Cow::Borrowed(
3451 "TicketData(bytes32 channelId,uint96 amount,uint48 ticketIndex,uint32 indexOffset,uint24 epoch,uint56 winProb)",
3452 )
3453 }
3454 #[inline]
3455 fn eip712_components() -> alloy_sol_types::private::Vec<
3456 alloy_sol_types::private::Cow<'static, str>,
3457 > {
3458 alloy_sol_types::private::Vec::new()
3459 }
3460 #[inline]
3461 fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> {
3462 <Self as alloy_sol_types::SolStruct>::eip712_root_type()
3463 }
3464 #[inline]
3465 fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec<u8> {
3466 [
3467 <alloy::sol_types::sol_data::FixedBytes<
3468 32,
3469 > as alloy_sol_types::SolType>::eip712_data_word(&self.channelId)
3470 .0,
3471 <Balance as alloy_sol_types::SolType>::eip712_data_word(&self.amount)
3472 .0,
3473 <TicketIndex as alloy_sol_types::SolType>::eip712_data_word(
3474 &self.ticketIndex,
3475 )
3476 .0,
3477 <TicketIndexOffset as alloy_sol_types::SolType>::eip712_data_word(
3478 &self.indexOffset,
3479 )
3480 .0,
3481 <ChannelEpoch as alloy_sol_types::SolType>::eip712_data_word(
3482 &self.epoch,
3483 )
3484 .0,
3485 <WinProb as alloy_sol_types::SolType>::eip712_data_word(
3486 &self.winProb,
3487 )
3488 .0,
3489 ]
3490 .concat()
3491 }
3492 }
3493 #[automatically_derived]
3494 impl alloy_sol_types::EventTopic for TicketData {
3495 #[inline]
3496 fn topic_preimage_length(rust: &Self::RustType) -> usize {
3497 0usize
3498 + <alloy::sol_types::sol_data::FixedBytes<
3499 32,
3500 > as alloy_sol_types::EventTopic>::topic_preimage_length(
3501 &rust.channelId,
3502 )
3503 + <Balance as alloy_sol_types::EventTopic>::topic_preimage_length(
3504 &rust.amount,
3505 )
3506 + <TicketIndex as alloy_sol_types::EventTopic>::topic_preimage_length(
3507 &rust.ticketIndex,
3508 )
3509 + <TicketIndexOffset as alloy_sol_types::EventTopic>::topic_preimage_length(
3510 &rust.indexOffset,
3511 )
3512 + <ChannelEpoch as alloy_sol_types::EventTopic>::topic_preimage_length(
3513 &rust.epoch,
3514 )
3515 + <WinProb as alloy_sol_types::EventTopic>::topic_preimage_length(
3516 &rust.winProb,
3517 )
3518 }
3519 #[inline]
3520 fn encode_topic_preimage(
3521 rust: &Self::RustType,
3522 out: &mut alloy_sol_types::private::Vec<u8>,
3523 ) {
3524 out.reserve(
3525 <Self as alloy_sol_types::EventTopic>::topic_preimage_length(rust),
3526 );
3527 <alloy::sol_types::sol_data::FixedBytes<
3528 32,
3529 > as alloy_sol_types::EventTopic>::encode_topic_preimage(
3530 &rust.channelId,
3531 out,
3532 );
3533 <Balance as alloy_sol_types::EventTopic>::encode_topic_preimage(
3534 &rust.amount,
3535 out,
3536 );
3537 <TicketIndex as alloy_sol_types::EventTopic>::encode_topic_preimage(
3538 &rust.ticketIndex,
3539 out,
3540 );
3541 <TicketIndexOffset as alloy_sol_types::EventTopic>::encode_topic_preimage(
3542 &rust.indexOffset,
3543 out,
3544 );
3545 <ChannelEpoch as alloy_sol_types::EventTopic>::encode_topic_preimage(
3546 &rust.epoch,
3547 out,
3548 );
3549 <WinProb as alloy_sol_types::EventTopic>::encode_topic_preimage(
3550 &rust.winProb,
3551 out,
3552 );
3553 }
3554 #[inline]
3555 fn encode_topic(
3556 rust: &Self::RustType,
3557 ) -> alloy_sol_types::abi::token::WordToken {
3558 let mut out = alloy_sol_types::private::Vec::new();
3559 <Self as alloy_sol_types::EventTopic>::encode_topic_preimage(
3560 rust,
3561 &mut out,
3562 );
3563 alloy_sol_types::abi::token::WordToken(
3564 alloy_sol_types::private::keccak256(out),
3565 )
3566 }
3567 }
3568 };
3569 #[derive(serde::Serialize, serde::Deserialize)]
3570 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3571 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3576 #[derive(Clone)]
3577 pub struct AlreadyInitialized;
3578 #[allow(
3579 non_camel_case_types,
3580 non_snake_case,
3581 clippy::pub_underscore_fields,
3582 clippy::style
3583 )]
3584 const _: () = {
3585 use alloy::sol_types as alloy_sol_types;
3586 #[doc(hidden)]
3587 type UnderlyingSolTuple<'a> = ();
3588 #[doc(hidden)]
3589 type UnderlyingRustTuple<'a> = ();
3590 #[cfg(test)]
3591 #[allow(dead_code, unreachable_patterns)]
3592 fn _type_assertion(
3593 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3594 ) {
3595 match _t {
3596 alloy_sol_types::private::AssertTypeEq::<
3597 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3598 >(_) => {}
3599 }
3600 }
3601 #[automatically_derived]
3602 #[doc(hidden)]
3603 impl ::core::convert::From<AlreadyInitialized> for UnderlyingRustTuple<'_> {
3604 fn from(value: AlreadyInitialized) -> Self {
3605 ()
3606 }
3607 }
3608 #[automatically_derived]
3609 #[doc(hidden)]
3610 impl ::core::convert::From<UnderlyingRustTuple<'_>> for AlreadyInitialized {
3611 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3612 Self
3613 }
3614 }
3615 #[automatically_derived]
3616 impl alloy_sol_types::SolError for AlreadyInitialized {
3617 type Parameters<'a> = UnderlyingSolTuple<'a>;
3618 type Token<'a> = <Self::Parameters<
3619 'a,
3620 > as alloy_sol_types::SolType>::Token<'a>;
3621 const SIGNATURE: &'static str = "AlreadyInitialized()";
3622 const SELECTOR: [u8; 4] = [13u8, 193u8, 73u8, 240u8];
3623 #[inline]
3624 fn new<'a>(
3625 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3626 ) -> Self {
3627 tuple.into()
3628 }
3629 #[inline]
3630 fn tokenize(&self) -> Self::Token<'_> {
3631 ()
3632 }
3633 #[inline]
3634 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3635 <Self::Parameters<
3636 '_,
3637 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3638 .map(Self::new)
3639 }
3640 }
3641 };
3642 #[derive(serde::Serialize, serde::Deserialize)]
3643 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3644 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3649 #[derive(Clone)]
3650 pub struct BalanceExceedsGlobalPerChannelAllowance;
3651 #[allow(
3652 non_camel_case_types,
3653 non_snake_case,
3654 clippy::pub_underscore_fields,
3655 clippy::style
3656 )]
3657 const _: () = {
3658 use alloy::sol_types as alloy_sol_types;
3659 #[doc(hidden)]
3660 type UnderlyingSolTuple<'a> = ();
3661 #[doc(hidden)]
3662 type UnderlyingRustTuple<'a> = ();
3663 #[cfg(test)]
3664 #[allow(dead_code, unreachable_patterns)]
3665 fn _type_assertion(
3666 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3667 ) {
3668 match _t {
3669 alloy_sol_types::private::AssertTypeEq::<
3670 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3671 >(_) => {}
3672 }
3673 }
3674 #[automatically_derived]
3675 #[doc(hidden)]
3676 impl ::core::convert::From<BalanceExceedsGlobalPerChannelAllowance>
3677 for UnderlyingRustTuple<'_> {
3678 fn from(value: BalanceExceedsGlobalPerChannelAllowance) -> Self {
3679 ()
3680 }
3681 }
3682 #[automatically_derived]
3683 #[doc(hidden)]
3684 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3685 for BalanceExceedsGlobalPerChannelAllowance {
3686 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3687 Self
3688 }
3689 }
3690 #[automatically_derived]
3691 impl alloy_sol_types::SolError for BalanceExceedsGlobalPerChannelAllowance {
3692 type Parameters<'a> = UnderlyingSolTuple<'a>;
3693 type Token<'a> = <Self::Parameters<
3694 'a,
3695 > as alloy_sol_types::SolType>::Token<'a>;
3696 const SIGNATURE: &'static str = "BalanceExceedsGlobalPerChannelAllowance()";
3697 const SELECTOR: [u8; 4] = [164u8, 243u8, 187u8, 228u8];
3698 #[inline]
3699 fn new<'a>(
3700 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3701 ) -> Self {
3702 tuple.into()
3703 }
3704 #[inline]
3705 fn tokenize(&self) -> Self::Token<'_> {
3706 ()
3707 }
3708 #[inline]
3709 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3710 <Self::Parameters<
3711 '_,
3712 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3713 .map(Self::new)
3714 }
3715 }
3716 };
3717 #[derive(serde::Serialize, serde::Deserialize)]
3718 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3719 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3724 #[derive(Clone)]
3725 pub struct ContractNotResponsible;
3726 #[allow(
3727 non_camel_case_types,
3728 non_snake_case,
3729 clippy::pub_underscore_fields,
3730 clippy::style
3731 )]
3732 const _: () = {
3733 use alloy::sol_types as alloy_sol_types;
3734 #[doc(hidden)]
3735 type UnderlyingSolTuple<'a> = ();
3736 #[doc(hidden)]
3737 type UnderlyingRustTuple<'a> = ();
3738 #[cfg(test)]
3739 #[allow(dead_code, unreachable_patterns)]
3740 fn _type_assertion(
3741 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3742 ) {
3743 match _t {
3744 alloy_sol_types::private::AssertTypeEq::<
3745 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3746 >(_) => {}
3747 }
3748 }
3749 #[automatically_derived]
3750 #[doc(hidden)]
3751 impl ::core::convert::From<ContractNotResponsible> for UnderlyingRustTuple<'_> {
3752 fn from(value: ContractNotResponsible) -> Self {
3753 ()
3754 }
3755 }
3756 #[automatically_derived]
3757 #[doc(hidden)]
3758 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ContractNotResponsible {
3759 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3760 Self
3761 }
3762 }
3763 #[automatically_derived]
3764 impl alloy_sol_types::SolError for ContractNotResponsible {
3765 type Parameters<'a> = UnderlyingSolTuple<'a>;
3766 type Token<'a> = <Self::Parameters<
3767 'a,
3768 > as alloy_sol_types::SolType>::Token<'a>;
3769 const SIGNATURE: &'static str = "ContractNotResponsible()";
3770 const SELECTOR: [u8; 4] = [172u8, 213u8, 168u8, 35u8];
3771 #[inline]
3772 fn new<'a>(
3773 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3774 ) -> Self {
3775 tuple.into()
3776 }
3777 #[inline]
3778 fn tokenize(&self) -> Self::Token<'_> {
3779 ()
3780 }
3781 #[inline]
3782 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3783 <Self::Parameters<
3784 '_,
3785 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3786 .map(Self::new)
3787 }
3788 }
3789 };
3790 #[derive(serde::Serialize, serde::Deserialize)]
3791 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3792 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3797 #[derive(Clone)]
3798 pub struct InsufficientChannelBalance;
3799 #[allow(
3800 non_camel_case_types,
3801 non_snake_case,
3802 clippy::pub_underscore_fields,
3803 clippy::style
3804 )]
3805 const _: () = {
3806 use alloy::sol_types as alloy_sol_types;
3807 #[doc(hidden)]
3808 type UnderlyingSolTuple<'a> = ();
3809 #[doc(hidden)]
3810 type UnderlyingRustTuple<'a> = ();
3811 #[cfg(test)]
3812 #[allow(dead_code, unreachable_patterns)]
3813 fn _type_assertion(
3814 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3815 ) {
3816 match _t {
3817 alloy_sol_types::private::AssertTypeEq::<
3818 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3819 >(_) => {}
3820 }
3821 }
3822 #[automatically_derived]
3823 #[doc(hidden)]
3824 impl ::core::convert::From<InsufficientChannelBalance>
3825 for UnderlyingRustTuple<'_> {
3826 fn from(value: InsufficientChannelBalance) -> Self {
3827 ()
3828 }
3829 }
3830 #[automatically_derived]
3831 #[doc(hidden)]
3832 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3833 for InsufficientChannelBalance {
3834 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3835 Self
3836 }
3837 }
3838 #[automatically_derived]
3839 impl alloy_sol_types::SolError for InsufficientChannelBalance {
3840 type Parameters<'a> = UnderlyingSolTuple<'a>;
3841 type Token<'a> = <Self::Parameters<
3842 'a,
3843 > as alloy_sol_types::SolType>::Token<'a>;
3844 const SIGNATURE: &'static str = "InsufficientChannelBalance()";
3845 const SELECTOR: [u8; 4] = [177u8, 71u8, 99u8, 108u8];
3846 #[inline]
3847 fn new<'a>(
3848 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3849 ) -> Self {
3850 tuple.into()
3851 }
3852 #[inline]
3853 fn tokenize(&self) -> Self::Token<'_> {
3854 ()
3855 }
3856 #[inline]
3857 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3858 <Self::Parameters<
3859 '_,
3860 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3861 .map(Self::new)
3862 }
3863 }
3864 };
3865 #[derive(serde::Serialize, serde::Deserialize)]
3866 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3867 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3872 #[derive(Clone)]
3873 pub struct InvalidAggregatedTicketInterval;
3874 #[allow(
3875 non_camel_case_types,
3876 non_snake_case,
3877 clippy::pub_underscore_fields,
3878 clippy::style
3879 )]
3880 const _: () = {
3881 use alloy::sol_types as alloy_sol_types;
3882 #[doc(hidden)]
3883 type UnderlyingSolTuple<'a> = ();
3884 #[doc(hidden)]
3885 type UnderlyingRustTuple<'a> = ();
3886 #[cfg(test)]
3887 #[allow(dead_code, unreachable_patterns)]
3888 fn _type_assertion(
3889 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3890 ) {
3891 match _t {
3892 alloy_sol_types::private::AssertTypeEq::<
3893 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3894 >(_) => {}
3895 }
3896 }
3897 #[automatically_derived]
3898 #[doc(hidden)]
3899 impl ::core::convert::From<InvalidAggregatedTicketInterval>
3900 for UnderlyingRustTuple<'_> {
3901 fn from(value: InvalidAggregatedTicketInterval) -> Self {
3902 ()
3903 }
3904 }
3905 #[automatically_derived]
3906 #[doc(hidden)]
3907 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3908 for InvalidAggregatedTicketInterval {
3909 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3910 Self
3911 }
3912 }
3913 #[automatically_derived]
3914 impl alloy_sol_types::SolError for InvalidAggregatedTicketInterval {
3915 type Parameters<'a> = UnderlyingSolTuple<'a>;
3916 type Token<'a> = <Self::Parameters<
3917 'a,
3918 > as alloy_sol_types::SolType>::Token<'a>;
3919 const SIGNATURE: &'static str = "InvalidAggregatedTicketInterval()";
3920 const SELECTOR: [u8; 4] = [208u8, 220u8, 60u8, 30u8];
3921 #[inline]
3922 fn new<'a>(
3923 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3924 ) -> Self {
3925 tuple.into()
3926 }
3927 #[inline]
3928 fn tokenize(&self) -> Self::Token<'_> {
3929 ()
3930 }
3931 #[inline]
3932 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
3933 <Self::Parameters<
3934 '_,
3935 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3936 .map(Self::new)
3937 }
3938 }
3939 };
3940 #[derive(serde::Serialize, serde::Deserialize)]
3941 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3942 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3947 #[derive(Clone)]
3948 pub struct InvalidBalance;
3949 #[allow(
3950 non_camel_case_types,
3951 non_snake_case,
3952 clippy::pub_underscore_fields,
3953 clippy::style
3954 )]
3955 const _: () = {
3956 use alloy::sol_types as alloy_sol_types;
3957 #[doc(hidden)]
3958 type UnderlyingSolTuple<'a> = ();
3959 #[doc(hidden)]
3960 type UnderlyingRustTuple<'a> = ();
3961 #[cfg(test)]
3962 #[allow(dead_code, unreachable_patterns)]
3963 fn _type_assertion(
3964 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3965 ) {
3966 match _t {
3967 alloy_sol_types::private::AssertTypeEq::<
3968 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3969 >(_) => {}
3970 }
3971 }
3972 #[automatically_derived]
3973 #[doc(hidden)]
3974 impl ::core::convert::From<InvalidBalance> for UnderlyingRustTuple<'_> {
3975 fn from(value: InvalidBalance) -> Self {
3976 ()
3977 }
3978 }
3979 #[automatically_derived]
3980 #[doc(hidden)]
3981 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidBalance {
3982 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3983 Self
3984 }
3985 }
3986 #[automatically_derived]
3987 impl alloy_sol_types::SolError for InvalidBalance {
3988 type Parameters<'a> = UnderlyingSolTuple<'a>;
3989 type Token<'a> = <Self::Parameters<
3990 'a,
3991 > as alloy_sol_types::SolType>::Token<'a>;
3992 const SIGNATURE: &'static str = "InvalidBalance()";
3993 const SELECTOR: [u8; 4] = [197u8, 46u8, 62u8, 255u8];
3994 #[inline]
3995 fn new<'a>(
3996 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3997 ) -> Self {
3998 tuple.into()
3999 }
4000 #[inline]
4001 fn tokenize(&self) -> Self::Token<'_> {
4002 ()
4003 }
4004 #[inline]
4005 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4006 <Self::Parameters<
4007 '_,
4008 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4009 .map(Self::new)
4010 }
4011 }
4012 };
4013 #[derive(serde::Serialize, serde::Deserialize)]
4014 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4015 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4020 #[derive(Clone)]
4021 pub struct InvalidCurvePoint;
4022 #[allow(
4023 non_camel_case_types,
4024 non_snake_case,
4025 clippy::pub_underscore_fields,
4026 clippy::style
4027 )]
4028 const _: () = {
4029 use alloy::sol_types as alloy_sol_types;
4030 #[doc(hidden)]
4031 type UnderlyingSolTuple<'a> = ();
4032 #[doc(hidden)]
4033 type UnderlyingRustTuple<'a> = ();
4034 #[cfg(test)]
4035 #[allow(dead_code, unreachable_patterns)]
4036 fn _type_assertion(
4037 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4038 ) {
4039 match _t {
4040 alloy_sol_types::private::AssertTypeEq::<
4041 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4042 >(_) => {}
4043 }
4044 }
4045 #[automatically_derived]
4046 #[doc(hidden)]
4047 impl ::core::convert::From<InvalidCurvePoint> for UnderlyingRustTuple<'_> {
4048 fn from(value: InvalidCurvePoint) -> Self {
4049 ()
4050 }
4051 }
4052 #[automatically_derived]
4053 #[doc(hidden)]
4054 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidCurvePoint {
4055 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4056 Self
4057 }
4058 }
4059 #[automatically_derived]
4060 impl alloy_sol_types::SolError for InvalidCurvePoint {
4061 type Parameters<'a> = UnderlyingSolTuple<'a>;
4062 type Token<'a> = <Self::Parameters<
4063 'a,
4064 > as alloy_sol_types::SolType>::Token<'a>;
4065 const SIGNATURE: &'static str = "InvalidCurvePoint()";
4066 const SELECTOR: [u8; 4] = [114u8, 69u8, 74u8, 130u8];
4067 #[inline]
4068 fn new<'a>(
4069 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4070 ) -> Self {
4071 tuple.into()
4072 }
4073 #[inline]
4074 fn tokenize(&self) -> Self::Token<'_> {
4075 ()
4076 }
4077 #[inline]
4078 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4079 <Self::Parameters<
4080 '_,
4081 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4082 .map(Self::new)
4083 }
4084 }
4085 };
4086 #[derive(serde::Serialize, serde::Deserialize)]
4087 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4088 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4093 #[derive(Clone)]
4094 pub struct InvalidFieldElement;
4095 #[allow(
4096 non_camel_case_types,
4097 non_snake_case,
4098 clippy::pub_underscore_fields,
4099 clippy::style
4100 )]
4101 const _: () = {
4102 use alloy::sol_types as alloy_sol_types;
4103 #[doc(hidden)]
4104 type UnderlyingSolTuple<'a> = ();
4105 #[doc(hidden)]
4106 type UnderlyingRustTuple<'a> = ();
4107 #[cfg(test)]
4108 #[allow(dead_code, unreachable_patterns)]
4109 fn _type_assertion(
4110 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4111 ) {
4112 match _t {
4113 alloy_sol_types::private::AssertTypeEq::<
4114 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4115 >(_) => {}
4116 }
4117 }
4118 #[automatically_derived]
4119 #[doc(hidden)]
4120 impl ::core::convert::From<InvalidFieldElement> for UnderlyingRustTuple<'_> {
4121 fn from(value: InvalidFieldElement) -> Self {
4122 ()
4123 }
4124 }
4125 #[automatically_derived]
4126 #[doc(hidden)]
4127 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidFieldElement {
4128 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4129 Self
4130 }
4131 }
4132 #[automatically_derived]
4133 impl alloy_sol_types::SolError for InvalidFieldElement {
4134 type Parameters<'a> = UnderlyingSolTuple<'a>;
4135 type Token<'a> = <Self::Parameters<
4136 'a,
4137 > as alloy_sol_types::SolType>::Token<'a>;
4138 const SIGNATURE: &'static str = "InvalidFieldElement()";
4139 const SELECTOR: [u8; 4] = [58u8, 228u8, 237u8, 107u8];
4140 #[inline]
4141 fn new<'a>(
4142 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4143 ) -> Self {
4144 tuple.into()
4145 }
4146 #[inline]
4147 fn tokenize(&self) -> Self::Token<'_> {
4148 ()
4149 }
4150 #[inline]
4151 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4152 <Self::Parameters<
4153 '_,
4154 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4155 .map(Self::new)
4156 }
4157 }
4158 };
4159 #[derive(serde::Serialize, serde::Deserialize)]
4160 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4161 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4166 #[derive(Clone)]
4167 pub struct InvalidNoticePeriod;
4168 #[allow(
4169 non_camel_case_types,
4170 non_snake_case,
4171 clippy::pub_underscore_fields,
4172 clippy::style
4173 )]
4174 const _: () = {
4175 use alloy::sol_types as alloy_sol_types;
4176 #[doc(hidden)]
4177 type UnderlyingSolTuple<'a> = ();
4178 #[doc(hidden)]
4179 type UnderlyingRustTuple<'a> = ();
4180 #[cfg(test)]
4181 #[allow(dead_code, unreachable_patterns)]
4182 fn _type_assertion(
4183 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4184 ) {
4185 match _t {
4186 alloy_sol_types::private::AssertTypeEq::<
4187 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4188 >(_) => {}
4189 }
4190 }
4191 #[automatically_derived]
4192 #[doc(hidden)]
4193 impl ::core::convert::From<InvalidNoticePeriod> for UnderlyingRustTuple<'_> {
4194 fn from(value: InvalidNoticePeriod) -> Self {
4195 ()
4196 }
4197 }
4198 #[automatically_derived]
4199 #[doc(hidden)]
4200 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidNoticePeriod {
4201 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4202 Self
4203 }
4204 }
4205 #[automatically_derived]
4206 impl alloy_sol_types::SolError for InvalidNoticePeriod {
4207 type Parameters<'a> = UnderlyingSolTuple<'a>;
4208 type Token<'a> = <Self::Parameters<
4209 'a,
4210 > as alloy_sol_types::SolType>::Token<'a>;
4211 const SIGNATURE: &'static str = "InvalidNoticePeriod()";
4212 const SELECTOR: [u8; 4] = [249u8, 238u8, 145u8, 7u8];
4213 #[inline]
4214 fn new<'a>(
4215 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4216 ) -> Self {
4217 tuple.into()
4218 }
4219 #[inline]
4220 fn tokenize(&self) -> Self::Token<'_> {
4221 ()
4222 }
4223 #[inline]
4224 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4225 <Self::Parameters<
4226 '_,
4227 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4228 .map(Self::new)
4229 }
4230 }
4231 };
4232 #[derive(serde::Serialize, serde::Deserialize)]
4233 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4234 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4239 #[derive(Clone)]
4240 pub struct InvalidPointWitness;
4241 #[allow(
4242 non_camel_case_types,
4243 non_snake_case,
4244 clippy::pub_underscore_fields,
4245 clippy::style
4246 )]
4247 const _: () = {
4248 use alloy::sol_types as alloy_sol_types;
4249 #[doc(hidden)]
4250 type UnderlyingSolTuple<'a> = ();
4251 #[doc(hidden)]
4252 type UnderlyingRustTuple<'a> = ();
4253 #[cfg(test)]
4254 #[allow(dead_code, unreachable_patterns)]
4255 fn _type_assertion(
4256 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4257 ) {
4258 match _t {
4259 alloy_sol_types::private::AssertTypeEq::<
4260 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4261 >(_) => {}
4262 }
4263 }
4264 #[automatically_derived]
4265 #[doc(hidden)]
4266 impl ::core::convert::From<InvalidPointWitness> for UnderlyingRustTuple<'_> {
4267 fn from(value: InvalidPointWitness) -> Self {
4268 ()
4269 }
4270 }
4271 #[automatically_derived]
4272 #[doc(hidden)]
4273 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidPointWitness {
4274 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4275 Self
4276 }
4277 }
4278 #[automatically_derived]
4279 impl alloy_sol_types::SolError for InvalidPointWitness {
4280 type Parameters<'a> = UnderlyingSolTuple<'a>;
4281 type Token<'a> = <Self::Parameters<
4282 'a,
4283 > as alloy_sol_types::SolType>::Token<'a>;
4284 const SIGNATURE: &'static str = "InvalidPointWitness()";
4285 const SELECTOR: [u8; 4] = [237u8, 253u8, 205u8, 152u8];
4286 #[inline]
4287 fn new<'a>(
4288 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4289 ) -> Self {
4290 tuple.into()
4291 }
4292 #[inline]
4293 fn tokenize(&self) -> Self::Token<'_> {
4294 ()
4295 }
4296 #[inline]
4297 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4298 <Self::Parameters<
4299 '_,
4300 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4301 .map(Self::new)
4302 }
4303 }
4304 };
4305 #[derive(serde::Serialize, serde::Deserialize)]
4306 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4307 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4312 #[derive(Clone)]
4313 pub struct InvalidSafeAddress;
4314 #[allow(
4315 non_camel_case_types,
4316 non_snake_case,
4317 clippy::pub_underscore_fields,
4318 clippy::style
4319 )]
4320 const _: () = {
4321 use alloy::sol_types as alloy_sol_types;
4322 #[doc(hidden)]
4323 type UnderlyingSolTuple<'a> = ();
4324 #[doc(hidden)]
4325 type UnderlyingRustTuple<'a> = ();
4326 #[cfg(test)]
4327 #[allow(dead_code, unreachable_patterns)]
4328 fn _type_assertion(
4329 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4330 ) {
4331 match _t {
4332 alloy_sol_types::private::AssertTypeEq::<
4333 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4334 >(_) => {}
4335 }
4336 }
4337 #[automatically_derived]
4338 #[doc(hidden)]
4339 impl ::core::convert::From<InvalidSafeAddress> for UnderlyingRustTuple<'_> {
4340 fn from(value: InvalidSafeAddress) -> Self {
4341 ()
4342 }
4343 }
4344 #[automatically_derived]
4345 #[doc(hidden)]
4346 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidSafeAddress {
4347 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4348 Self
4349 }
4350 }
4351 #[automatically_derived]
4352 impl alloy_sol_types::SolError for InvalidSafeAddress {
4353 type Parameters<'a> = UnderlyingSolTuple<'a>;
4354 type Token<'a> = <Self::Parameters<
4355 'a,
4356 > as alloy_sol_types::SolType>::Token<'a>;
4357 const SIGNATURE: &'static str = "InvalidSafeAddress()";
4358 const SELECTOR: [u8; 4] = [142u8, 157u8, 124u8, 94u8];
4359 #[inline]
4360 fn new<'a>(
4361 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4362 ) -> Self {
4363 tuple.into()
4364 }
4365 #[inline]
4366 fn tokenize(&self) -> Self::Token<'_> {
4367 ()
4368 }
4369 #[inline]
4370 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4371 <Self::Parameters<
4372 '_,
4373 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4374 .map(Self::new)
4375 }
4376 }
4377 };
4378 #[derive(serde::Serialize, serde::Deserialize)]
4379 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4380 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4385 #[derive(Clone)]
4386 pub struct InvalidTicketSignature;
4387 #[allow(
4388 non_camel_case_types,
4389 non_snake_case,
4390 clippy::pub_underscore_fields,
4391 clippy::style
4392 )]
4393 const _: () = {
4394 use alloy::sol_types as alloy_sol_types;
4395 #[doc(hidden)]
4396 type UnderlyingSolTuple<'a> = ();
4397 #[doc(hidden)]
4398 type UnderlyingRustTuple<'a> = ();
4399 #[cfg(test)]
4400 #[allow(dead_code, unreachable_patterns)]
4401 fn _type_assertion(
4402 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4403 ) {
4404 match _t {
4405 alloy_sol_types::private::AssertTypeEq::<
4406 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4407 >(_) => {}
4408 }
4409 }
4410 #[automatically_derived]
4411 #[doc(hidden)]
4412 impl ::core::convert::From<InvalidTicketSignature> for UnderlyingRustTuple<'_> {
4413 fn from(value: InvalidTicketSignature) -> Self {
4414 ()
4415 }
4416 }
4417 #[automatically_derived]
4418 #[doc(hidden)]
4419 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidTicketSignature {
4420 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4421 Self
4422 }
4423 }
4424 #[automatically_derived]
4425 impl alloy_sol_types::SolError for InvalidTicketSignature {
4426 type Parameters<'a> = UnderlyingSolTuple<'a>;
4427 type Token<'a> = <Self::Parameters<
4428 'a,
4429 > as alloy_sol_types::SolType>::Token<'a>;
4430 const SIGNATURE: &'static str = "InvalidTicketSignature()";
4431 const SELECTOR: [u8; 4] = [205u8, 221u8, 83u8, 86u8];
4432 #[inline]
4433 fn new<'a>(
4434 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4435 ) -> Self {
4436 tuple.into()
4437 }
4438 #[inline]
4439 fn tokenize(&self) -> Self::Token<'_> {
4440 ()
4441 }
4442 #[inline]
4443 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4444 <Self::Parameters<
4445 '_,
4446 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4447 .map(Self::new)
4448 }
4449 }
4450 };
4451 #[derive(serde::Serialize, serde::Deserialize)]
4452 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4453 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4458 #[derive(Clone)]
4459 pub struct InvalidTokenRecipient;
4460 #[allow(
4461 non_camel_case_types,
4462 non_snake_case,
4463 clippy::pub_underscore_fields,
4464 clippy::style
4465 )]
4466 const _: () = {
4467 use alloy::sol_types as alloy_sol_types;
4468 #[doc(hidden)]
4469 type UnderlyingSolTuple<'a> = ();
4470 #[doc(hidden)]
4471 type UnderlyingRustTuple<'a> = ();
4472 #[cfg(test)]
4473 #[allow(dead_code, unreachable_patterns)]
4474 fn _type_assertion(
4475 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4476 ) {
4477 match _t {
4478 alloy_sol_types::private::AssertTypeEq::<
4479 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4480 >(_) => {}
4481 }
4482 }
4483 #[automatically_derived]
4484 #[doc(hidden)]
4485 impl ::core::convert::From<InvalidTokenRecipient> for UnderlyingRustTuple<'_> {
4486 fn from(value: InvalidTokenRecipient) -> Self {
4487 ()
4488 }
4489 }
4490 #[automatically_derived]
4491 #[doc(hidden)]
4492 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidTokenRecipient {
4493 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4494 Self
4495 }
4496 }
4497 #[automatically_derived]
4498 impl alloy_sol_types::SolError for InvalidTokenRecipient {
4499 type Parameters<'a> = UnderlyingSolTuple<'a>;
4500 type Token<'a> = <Self::Parameters<
4501 'a,
4502 > as alloy_sol_types::SolType>::Token<'a>;
4503 const SIGNATURE: &'static str = "InvalidTokenRecipient()";
4504 const SELECTOR: [u8; 4] = [185u8, 196u8, 145u8, 8u8];
4505 #[inline]
4506 fn new<'a>(
4507 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4508 ) -> Self {
4509 tuple.into()
4510 }
4511 #[inline]
4512 fn tokenize(&self) -> Self::Token<'_> {
4513 ()
4514 }
4515 #[inline]
4516 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4517 <Self::Parameters<
4518 '_,
4519 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4520 .map(Self::new)
4521 }
4522 }
4523 };
4524 #[derive(serde::Serialize, serde::Deserialize)]
4525 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4526 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4531 #[derive(Clone)]
4532 pub struct InvalidTokensReceivedUsage;
4533 #[allow(
4534 non_camel_case_types,
4535 non_snake_case,
4536 clippy::pub_underscore_fields,
4537 clippy::style
4538 )]
4539 const _: () = {
4540 use alloy::sol_types as alloy_sol_types;
4541 #[doc(hidden)]
4542 type UnderlyingSolTuple<'a> = ();
4543 #[doc(hidden)]
4544 type UnderlyingRustTuple<'a> = ();
4545 #[cfg(test)]
4546 #[allow(dead_code, unreachable_patterns)]
4547 fn _type_assertion(
4548 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4549 ) {
4550 match _t {
4551 alloy_sol_types::private::AssertTypeEq::<
4552 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4553 >(_) => {}
4554 }
4555 }
4556 #[automatically_derived]
4557 #[doc(hidden)]
4558 impl ::core::convert::From<InvalidTokensReceivedUsage>
4559 for UnderlyingRustTuple<'_> {
4560 fn from(value: InvalidTokensReceivedUsage) -> Self {
4561 ()
4562 }
4563 }
4564 #[automatically_derived]
4565 #[doc(hidden)]
4566 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4567 for InvalidTokensReceivedUsage {
4568 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4569 Self
4570 }
4571 }
4572 #[automatically_derived]
4573 impl alloy_sol_types::SolError for InvalidTokensReceivedUsage {
4574 type Parameters<'a> = UnderlyingSolTuple<'a>;
4575 type Token<'a> = <Self::Parameters<
4576 'a,
4577 > as alloy_sol_types::SolType>::Token<'a>;
4578 const SIGNATURE: &'static str = "InvalidTokensReceivedUsage()";
4579 const SELECTOR: [u8; 4] = [105u8, 238u8, 111u8, 40u8];
4580 #[inline]
4581 fn new<'a>(
4582 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4583 ) -> Self {
4584 tuple.into()
4585 }
4586 #[inline]
4587 fn tokenize(&self) -> Self::Token<'_> {
4588 ()
4589 }
4590 #[inline]
4591 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4592 <Self::Parameters<
4593 '_,
4594 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4595 .map(Self::new)
4596 }
4597 }
4598 };
4599 #[derive(serde::Serialize, serde::Deserialize)]
4600 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4601 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4606 #[derive(Clone)]
4607 pub struct InvalidVRFProof;
4608 #[allow(
4609 non_camel_case_types,
4610 non_snake_case,
4611 clippy::pub_underscore_fields,
4612 clippy::style
4613 )]
4614 const _: () = {
4615 use alloy::sol_types as alloy_sol_types;
4616 #[doc(hidden)]
4617 type UnderlyingSolTuple<'a> = ();
4618 #[doc(hidden)]
4619 type UnderlyingRustTuple<'a> = ();
4620 #[cfg(test)]
4621 #[allow(dead_code, unreachable_patterns)]
4622 fn _type_assertion(
4623 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4624 ) {
4625 match _t {
4626 alloy_sol_types::private::AssertTypeEq::<
4627 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4628 >(_) => {}
4629 }
4630 }
4631 #[automatically_derived]
4632 #[doc(hidden)]
4633 impl ::core::convert::From<InvalidVRFProof> for UnderlyingRustTuple<'_> {
4634 fn from(value: InvalidVRFProof) -> Self {
4635 ()
4636 }
4637 }
4638 #[automatically_derived]
4639 #[doc(hidden)]
4640 impl ::core::convert::From<UnderlyingRustTuple<'_>> for InvalidVRFProof {
4641 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4642 Self
4643 }
4644 }
4645 #[automatically_derived]
4646 impl alloy_sol_types::SolError for InvalidVRFProof {
4647 type Parameters<'a> = UnderlyingSolTuple<'a>;
4648 type Token<'a> = <Self::Parameters<
4649 'a,
4650 > as alloy_sol_types::SolType>::Token<'a>;
4651 const SIGNATURE: &'static str = "InvalidVRFProof()";
4652 const SELECTOR: [u8; 4] = [149u8, 253u8, 189u8, 184u8];
4653 #[inline]
4654 fn new<'a>(
4655 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4656 ) -> Self {
4657 tuple.into()
4658 }
4659 #[inline]
4660 fn tokenize(&self) -> Self::Token<'_> {
4661 ()
4662 }
4663 #[inline]
4664 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4665 <Self::Parameters<
4666 '_,
4667 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4668 .map(Self::new)
4669 }
4670 }
4671 };
4672 #[derive(serde::Serialize, serde::Deserialize)]
4673 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4674 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4679 #[derive(Clone)]
4680 pub struct MultiSigUninitialized;
4681 #[allow(
4682 non_camel_case_types,
4683 non_snake_case,
4684 clippy::pub_underscore_fields,
4685 clippy::style
4686 )]
4687 const _: () = {
4688 use alloy::sol_types as alloy_sol_types;
4689 #[doc(hidden)]
4690 type UnderlyingSolTuple<'a> = ();
4691 #[doc(hidden)]
4692 type UnderlyingRustTuple<'a> = ();
4693 #[cfg(test)]
4694 #[allow(dead_code, unreachable_patterns)]
4695 fn _type_assertion(
4696 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4697 ) {
4698 match _t {
4699 alloy_sol_types::private::AssertTypeEq::<
4700 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4701 >(_) => {}
4702 }
4703 }
4704 #[automatically_derived]
4705 #[doc(hidden)]
4706 impl ::core::convert::From<MultiSigUninitialized> for UnderlyingRustTuple<'_> {
4707 fn from(value: MultiSigUninitialized) -> Self {
4708 ()
4709 }
4710 }
4711 #[automatically_derived]
4712 #[doc(hidden)]
4713 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MultiSigUninitialized {
4714 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4715 Self
4716 }
4717 }
4718 #[automatically_derived]
4719 impl alloy_sol_types::SolError for MultiSigUninitialized {
4720 type Parameters<'a> = UnderlyingSolTuple<'a>;
4721 type Token<'a> = <Self::Parameters<
4722 'a,
4723 > as alloy_sol_types::SolType>::Token<'a>;
4724 const SIGNATURE: &'static str = "MultiSigUninitialized()";
4725 const SELECTOR: [u8; 4] = [69u8, 74u8, 32u8, 200u8];
4726 #[inline]
4727 fn new<'a>(
4728 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4729 ) -> Self {
4730 tuple.into()
4731 }
4732 #[inline]
4733 fn tokenize(&self) -> Self::Token<'_> {
4734 ()
4735 }
4736 #[inline]
4737 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4738 <Self::Parameters<
4739 '_,
4740 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4741 .map(Self::new)
4742 }
4743 }
4744 };
4745 #[derive(serde::Serialize, serde::Deserialize)]
4746 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4747 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4752 #[derive(Clone)]
4753 pub struct NoticePeriodNotDue;
4754 #[allow(
4755 non_camel_case_types,
4756 non_snake_case,
4757 clippy::pub_underscore_fields,
4758 clippy::style
4759 )]
4760 const _: () = {
4761 use alloy::sol_types as alloy_sol_types;
4762 #[doc(hidden)]
4763 type UnderlyingSolTuple<'a> = ();
4764 #[doc(hidden)]
4765 type UnderlyingRustTuple<'a> = ();
4766 #[cfg(test)]
4767 #[allow(dead_code, unreachable_patterns)]
4768 fn _type_assertion(
4769 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4770 ) {
4771 match _t {
4772 alloy_sol_types::private::AssertTypeEq::<
4773 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4774 >(_) => {}
4775 }
4776 }
4777 #[automatically_derived]
4778 #[doc(hidden)]
4779 impl ::core::convert::From<NoticePeriodNotDue> for UnderlyingRustTuple<'_> {
4780 fn from(value: NoticePeriodNotDue) -> Self {
4781 ()
4782 }
4783 }
4784 #[automatically_derived]
4785 #[doc(hidden)]
4786 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NoticePeriodNotDue {
4787 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4788 Self
4789 }
4790 }
4791 #[automatically_derived]
4792 impl alloy_sol_types::SolError for NoticePeriodNotDue {
4793 type Parameters<'a> = UnderlyingSolTuple<'a>;
4794 type Token<'a> = <Self::Parameters<
4795 'a,
4796 > as alloy_sol_types::SolType>::Token<'a>;
4797 const SIGNATURE: &'static str = "NoticePeriodNotDue()";
4798 const SELECTOR: [u8; 4] = [113u8, 100u8, 3u8, 42u8];
4799 #[inline]
4800 fn new<'a>(
4801 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4802 ) -> Self {
4803 tuple.into()
4804 }
4805 #[inline]
4806 fn tokenize(&self) -> Self::Token<'_> {
4807 ()
4808 }
4809 #[inline]
4810 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4811 <Self::Parameters<
4812 '_,
4813 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4814 .map(Self::new)
4815 }
4816 }
4817 };
4818 #[derive(serde::Serialize, serde::Deserialize)]
4819 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4820 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4825 #[derive(Clone)]
4826 pub struct SourceEqualsDestination;
4827 #[allow(
4828 non_camel_case_types,
4829 non_snake_case,
4830 clippy::pub_underscore_fields,
4831 clippy::style
4832 )]
4833 const _: () = {
4834 use alloy::sol_types as alloy_sol_types;
4835 #[doc(hidden)]
4836 type UnderlyingSolTuple<'a> = ();
4837 #[doc(hidden)]
4838 type UnderlyingRustTuple<'a> = ();
4839 #[cfg(test)]
4840 #[allow(dead_code, unreachable_patterns)]
4841 fn _type_assertion(
4842 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4843 ) {
4844 match _t {
4845 alloy_sol_types::private::AssertTypeEq::<
4846 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4847 >(_) => {}
4848 }
4849 }
4850 #[automatically_derived]
4851 #[doc(hidden)]
4852 impl ::core::convert::From<SourceEqualsDestination> for UnderlyingRustTuple<'_> {
4853 fn from(value: SourceEqualsDestination) -> Self {
4854 ()
4855 }
4856 }
4857 #[automatically_derived]
4858 #[doc(hidden)]
4859 impl ::core::convert::From<UnderlyingRustTuple<'_>> for SourceEqualsDestination {
4860 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4861 Self
4862 }
4863 }
4864 #[automatically_derived]
4865 impl alloy_sol_types::SolError for SourceEqualsDestination {
4866 type Parameters<'a> = UnderlyingSolTuple<'a>;
4867 type Token<'a> = <Self::Parameters<
4868 'a,
4869 > as alloy_sol_types::SolType>::Token<'a>;
4870 const SIGNATURE: &'static str = "SourceEqualsDestination()";
4871 const SELECTOR: [u8; 4] = [151u8, 163u8, 174u8, 210u8];
4872 #[inline]
4873 fn new<'a>(
4874 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4875 ) -> Self {
4876 tuple.into()
4877 }
4878 #[inline]
4879 fn tokenize(&self) -> Self::Token<'_> {
4880 ()
4881 }
4882 #[inline]
4883 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4884 <Self::Parameters<
4885 '_,
4886 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4887 .map(Self::new)
4888 }
4889 }
4890 };
4891 #[derive(serde::Serialize, serde::Deserialize)]
4892 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4893 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4898 #[derive(Clone)]
4899 pub struct TicketIsNotAWin;
4900 #[allow(
4901 non_camel_case_types,
4902 non_snake_case,
4903 clippy::pub_underscore_fields,
4904 clippy::style
4905 )]
4906 const _: () = {
4907 use alloy::sol_types as alloy_sol_types;
4908 #[doc(hidden)]
4909 type UnderlyingSolTuple<'a> = ();
4910 #[doc(hidden)]
4911 type UnderlyingRustTuple<'a> = ();
4912 #[cfg(test)]
4913 #[allow(dead_code, unreachable_patterns)]
4914 fn _type_assertion(
4915 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4916 ) {
4917 match _t {
4918 alloy_sol_types::private::AssertTypeEq::<
4919 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4920 >(_) => {}
4921 }
4922 }
4923 #[automatically_derived]
4924 #[doc(hidden)]
4925 impl ::core::convert::From<TicketIsNotAWin> for UnderlyingRustTuple<'_> {
4926 fn from(value: TicketIsNotAWin) -> Self {
4927 ()
4928 }
4929 }
4930 #[automatically_derived]
4931 #[doc(hidden)]
4932 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TicketIsNotAWin {
4933 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4934 Self
4935 }
4936 }
4937 #[automatically_derived]
4938 impl alloy_sol_types::SolError for TicketIsNotAWin {
4939 type Parameters<'a> = UnderlyingSolTuple<'a>;
4940 type Token<'a> = <Self::Parameters<
4941 'a,
4942 > as alloy_sol_types::SolType>::Token<'a>;
4943 const SIGNATURE: &'static str = "TicketIsNotAWin()";
4944 const SELECTOR: [u8; 4] = [238u8, 131u8, 92u8, 137u8];
4945 #[inline]
4946 fn new<'a>(
4947 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4948 ) -> Self {
4949 tuple.into()
4950 }
4951 #[inline]
4952 fn tokenize(&self) -> Self::Token<'_> {
4953 ()
4954 }
4955 #[inline]
4956 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
4957 <Self::Parameters<
4958 '_,
4959 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4960 .map(Self::new)
4961 }
4962 }
4963 };
4964 #[derive(serde::Serialize, serde::Deserialize)]
4965 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4966 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4971 #[derive(Clone)]
4972 pub struct TokenTransferFailed;
4973 #[allow(
4974 non_camel_case_types,
4975 non_snake_case,
4976 clippy::pub_underscore_fields,
4977 clippy::style
4978 )]
4979 const _: () = {
4980 use alloy::sol_types as alloy_sol_types;
4981 #[doc(hidden)]
4982 type UnderlyingSolTuple<'a> = ();
4983 #[doc(hidden)]
4984 type UnderlyingRustTuple<'a> = ();
4985 #[cfg(test)]
4986 #[allow(dead_code, unreachable_patterns)]
4987 fn _type_assertion(
4988 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4989 ) {
4990 match _t {
4991 alloy_sol_types::private::AssertTypeEq::<
4992 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4993 >(_) => {}
4994 }
4995 }
4996 #[automatically_derived]
4997 #[doc(hidden)]
4998 impl ::core::convert::From<TokenTransferFailed> for UnderlyingRustTuple<'_> {
4999 fn from(value: TokenTransferFailed) -> Self {
5000 ()
5001 }
5002 }
5003 #[automatically_derived]
5004 #[doc(hidden)]
5005 impl ::core::convert::From<UnderlyingRustTuple<'_>> for TokenTransferFailed {
5006 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5007 Self
5008 }
5009 }
5010 #[automatically_derived]
5011 impl alloy_sol_types::SolError for TokenTransferFailed {
5012 type Parameters<'a> = UnderlyingSolTuple<'a>;
5013 type Token<'a> = <Self::Parameters<
5014 'a,
5015 > as alloy_sol_types::SolType>::Token<'a>;
5016 const SIGNATURE: &'static str = "TokenTransferFailed()";
5017 const SELECTOR: [u8; 4] = [4u8, 92u8, 75u8, 2u8];
5018 #[inline]
5019 fn new<'a>(
5020 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5021 ) -> Self {
5022 tuple.into()
5023 }
5024 #[inline]
5025 fn tokenize(&self) -> Self::Token<'_> {
5026 ()
5027 }
5028 #[inline]
5029 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
5030 <Self::Parameters<
5031 '_,
5032 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5033 .map(Self::new)
5034 }
5035 }
5036 };
5037 #[derive(serde::Serialize, serde::Deserialize)]
5038 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5039 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5044 #[derive(Clone)]
5045 pub struct WrongChannelState {
5046 #[allow(missing_docs)]
5047 pub reason: alloy::sol_types::private::String,
5048 }
5049 #[allow(
5050 non_camel_case_types,
5051 non_snake_case,
5052 clippy::pub_underscore_fields,
5053 clippy::style
5054 )]
5055 const _: () = {
5056 use alloy::sol_types as alloy_sol_types;
5057 #[doc(hidden)]
5058 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
5059 #[doc(hidden)]
5060 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
5061 #[cfg(test)]
5062 #[allow(dead_code, unreachable_patterns)]
5063 fn _type_assertion(
5064 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5065 ) {
5066 match _t {
5067 alloy_sol_types::private::AssertTypeEq::<
5068 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5069 >(_) => {}
5070 }
5071 }
5072 #[automatically_derived]
5073 #[doc(hidden)]
5074 impl ::core::convert::From<WrongChannelState> for UnderlyingRustTuple<'_> {
5075 fn from(value: WrongChannelState) -> Self {
5076 (value.reason,)
5077 }
5078 }
5079 #[automatically_derived]
5080 #[doc(hidden)]
5081 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WrongChannelState {
5082 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5083 Self { reason: tuple.0 }
5084 }
5085 }
5086 #[automatically_derived]
5087 impl alloy_sol_types::SolError for WrongChannelState {
5088 type Parameters<'a> = UnderlyingSolTuple<'a>;
5089 type Token<'a> = <Self::Parameters<
5090 'a,
5091 > as alloy_sol_types::SolType>::Token<'a>;
5092 const SIGNATURE: &'static str = "WrongChannelState(string)";
5093 const SELECTOR: [u8; 4] = [73u8, 148u8, 99u8, 193u8];
5094 #[inline]
5095 fn new<'a>(
5096 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5097 ) -> Self {
5098 tuple.into()
5099 }
5100 #[inline]
5101 fn tokenize(&self) -> Self::Token<'_> {
5102 (
5103 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
5104 &self.reason,
5105 ),
5106 )
5107 }
5108 #[inline]
5109 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
5110 <Self::Parameters<
5111 '_,
5112 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5113 .map(Self::new)
5114 }
5115 }
5116 };
5117 #[derive(serde::Serialize, serde::Deserialize)]
5118 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5119 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5124 #[derive(Clone)]
5125 pub struct WrongToken;
5126 #[allow(
5127 non_camel_case_types,
5128 non_snake_case,
5129 clippy::pub_underscore_fields,
5130 clippy::style
5131 )]
5132 const _: () = {
5133 use alloy::sol_types as alloy_sol_types;
5134 #[doc(hidden)]
5135 type UnderlyingSolTuple<'a> = ();
5136 #[doc(hidden)]
5137 type UnderlyingRustTuple<'a> = ();
5138 #[cfg(test)]
5139 #[allow(dead_code, unreachable_patterns)]
5140 fn _type_assertion(
5141 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5142 ) {
5143 match _t {
5144 alloy_sol_types::private::AssertTypeEq::<
5145 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5146 >(_) => {}
5147 }
5148 }
5149 #[automatically_derived]
5150 #[doc(hidden)]
5151 impl ::core::convert::From<WrongToken> for UnderlyingRustTuple<'_> {
5152 fn from(value: WrongToken) -> Self {
5153 ()
5154 }
5155 }
5156 #[automatically_derived]
5157 #[doc(hidden)]
5158 impl ::core::convert::From<UnderlyingRustTuple<'_>> for WrongToken {
5159 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5160 Self
5161 }
5162 }
5163 #[automatically_derived]
5164 impl alloy_sol_types::SolError for WrongToken {
5165 type Parameters<'a> = UnderlyingSolTuple<'a>;
5166 type Token<'a> = <Self::Parameters<
5167 'a,
5168 > as alloy_sol_types::SolType>::Token<'a>;
5169 const SIGNATURE: &'static str = "WrongToken()";
5170 const SELECTOR: [u8; 4] = [160u8, 243u8, 254u8, 234u8];
5171 #[inline]
5172 fn new<'a>(
5173 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5174 ) -> Self {
5175 tuple.into()
5176 }
5177 #[inline]
5178 fn tokenize(&self) -> Self::Token<'_> {
5179 ()
5180 }
5181 #[inline]
5182 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
5183 <Self::Parameters<
5184 '_,
5185 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5186 .map(Self::new)
5187 }
5188 }
5189 };
5190 #[derive(serde::Serialize, serde::Deserialize)]
5191 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5192 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5197 #[derive(Clone)]
5198 pub struct ZeroAddress {
5199 #[allow(missing_docs)]
5200 pub reason: alloy::sol_types::private::String,
5201 }
5202 #[allow(
5203 non_camel_case_types,
5204 non_snake_case,
5205 clippy::pub_underscore_fields,
5206 clippy::style
5207 )]
5208 const _: () = {
5209 use alloy::sol_types as alloy_sol_types;
5210 #[doc(hidden)]
5211 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
5212 #[doc(hidden)]
5213 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
5214 #[cfg(test)]
5215 #[allow(dead_code, unreachable_patterns)]
5216 fn _type_assertion(
5217 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5218 ) {
5219 match _t {
5220 alloy_sol_types::private::AssertTypeEq::<
5221 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5222 >(_) => {}
5223 }
5224 }
5225 #[automatically_derived]
5226 #[doc(hidden)]
5227 impl ::core::convert::From<ZeroAddress> for UnderlyingRustTuple<'_> {
5228 fn from(value: ZeroAddress) -> Self {
5229 (value.reason,)
5230 }
5231 }
5232 #[automatically_derived]
5233 #[doc(hidden)]
5234 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ZeroAddress {
5235 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5236 Self { reason: tuple.0 }
5237 }
5238 }
5239 #[automatically_derived]
5240 impl alloy_sol_types::SolError for ZeroAddress {
5241 type Parameters<'a> = UnderlyingSolTuple<'a>;
5242 type Token<'a> = <Self::Parameters<
5243 'a,
5244 > as alloy_sol_types::SolType>::Token<'a>;
5245 const SIGNATURE: &'static str = "ZeroAddress(string)";
5246 const SELECTOR: [u8; 4] = [234u8, 192u8, 211u8, 137u8];
5247 #[inline]
5248 fn new<'a>(
5249 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5250 ) -> Self {
5251 tuple.into()
5252 }
5253 #[inline]
5254 fn tokenize(&self) -> Self::Token<'_> {
5255 (
5256 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
5257 &self.reason,
5258 ),
5259 )
5260 }
5261 #[inline]
5262 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
5263 <Self::Parameters<
5264 '_,
5265 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5266 .map(Self::new)
5267 }
5268 }
5269 };
5270 #[derive(serde::Serialize, serde::Deserialize)]
5271 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5272 #[allow(
5277 non_camel_case_types,
5278 non_snake_case,
5279 clippy::pub_underscore_fields,
5280 clippy::style
5281 )]
5282 #[derive(Clone)]
5283 pub struct ChannelBalanceDecreased {
5284 #[allow(missing_docs)]
5285 pub channelId: alloy::sol_types::private::FixedBytes<32>,
5286 #[allow(missing_docs)]
5287 pub newBalance: <Balance as alloy::sol_types::SolType>::RustType,
5288 }
5289 #[allow(
5290 non_camel_case_types,
5291 non_snake_case,
5292 clippy::pub_underscore_fields,
5293 clippy::style
5294 )]
5295 const _: () = {
5296 use alloy::sol_types as alloy_sol_types;
5297 #[automatically_derived]
5298 impl alloy_sol_types::SolEvent for ChannelBalanceDecreased {
5299 type DataTuple<'a> = (Balance,);
5300 type DataToken<'a> = <Self::DataTuple<
5301 'a,
5302 > as alloy_sol_types::SolType>::Token<'a>;
5303 type TopicList = (
5304 alloy_sol_types::sol_data::FixedBytes<32>,
5305 alloy::sol_types::sol_data::FixedBytes<32>,
5306 );
5307 const SIGNATURE: &'static str = "ChannelBalanceDecreased(bytes32,uint96)";
5308 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5309 34u8, 226u8, 164u8, 34u8, 168u8, 134u8, 6u8, 86u8, 163u8, 163u8, 60u8,
5310 250u8, 29u8, 175u8, 119u8, 30u8, 118u8, 121u8, 140u8, 229u8, 100u8,
5311 151u8, 71u8, 149u8, 114u8, 53u8, 2u8, 93u8, 225u8, 46u8, 11u8, 36u8,
5312 ]);
5313 const ANONYMOUS: bool = false;
5314 #[allow(unused_variables)]
5315 #[inline]
5316 fn new(
5317 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5318 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5319 ) -> Self {
5320 Self {
5321 channelId: topics.1,
5322 newBalance: data.0,
5323 }
5324 }
5325 #[inline]
5326 fn check_signature(
5327 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5328 ) -> alloy_sol_types::Result<()> {
5329 if topics.0 != Self::SIGNATURE_HASH {
5330 return Err(
5331 alloy_sol_types::Error::invalid_event_signature_hash(
5332 Self::SIGNATURE,
5333 topics.0,
5334 Self::SIGNATURE_HASH,
5335 ),
5336 );
5337 }
5338 Ok(())
5339 }
5340 #[inline]
5341 fn tokenize_body(&self) -> Self::DataToken<'_> {
5342 (<Balance as alloy_sol_types::SolType>::tokenize(&self.newBalance),)
5343 }
5344 #[inline]
5345 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5346 (Self::SIGNATURE_HASH.into(), self.channelId.clone())
5347 }
5348 #[inline]
5349 fn encode_topics_raw(
5350 &self,
5351 out: &mut [alloy_sol_types::abi::token::WordToken],
5352 ) -> alloy_sol_types::Result<()> {
5353 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5354 return Err(alloy_sol_types::Error::Overrun);
5355 }
5356 out[0usize] = alloy_sol_types::abi::token::WordToken(
5357 Self::SIGNATURE_HASH,
5358 );
5359 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
5360 32,
5361 > as alloy_sol_types::EventTopic>::encode_topic(&self.channelId);
5362 Ok(())
5363 }
5364 }
5365 #[automatically_derived]
5366 impl alloy_sol_types::private::IntoLogData for ChannelBalanceDecreased {
5367 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5368 From::from(self)
5369 }
5370 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5371 From::from(&self)
5372 }
5373 }
5374 #[automatically_derived]
5375 impl From<&ChannelBalanceDecreased> for alloy_sol_types::private::LogData {
5376 #[inline]
5377 fn from(
5378 this: &ChannelBalanceDecreased,
5379 ) -> alloy_sol_types::private::LogData {
5380 alloy_sol_types::SolEvent::encode_log_data(this)
5381 }
5382 }
5383 };
5384 #[derive(serde::Serialize, serde::Deserialize)]
5385 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5386 #[allow(
5391 non_camel_case_types,
5392 non_snake_case,
5393 clippy::pub_underscore_fields,
5394 clippy::style
5395 )]
5396 #[derive(Clone)]
5397 pub struct ChannelBalanceIncreased {
5398 #[allow(missing_docs)]
5399 pub channelId: alloy::sol_types::private::FixedBytes<32>,
5400 #[allow(missing_docs)]
5401 pub newBalance: <Balance as alloy::sol_types::SolType>::RustType,
5402 }
5403 #[allow(
5404 non_camel_case_types,
5405 non_snake_case,
5406 clippy::pub_underscore_fields,
5407 clippy::style
5408 )]
5409 const _: () = {
5410 use alloy::sol_types as alloy_sol_types;
5411 #[automatically_derived]
5412 impl alloy_sol_types::SolEvent for ChannelBalanceIncreased {
5413 type DataTuple<'a> = (Balance,);
5414 type DataToken<'a> = <Self::DataTuple<
5415 'a,
5416 > as alloy_sol_types::SolType>::Token<'a>;
5417 type TopicList = (
5418 alloy_sol_types::sol_data::FixedBytes<32>,
5419 alloy::sol_types::sol_data::FixedBytes<32>,
5420 );
5421 const SIGNATURE: &'static str = "ChannelBalanceIncreased(bytes32,uint96)";
5422 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5423 95u8, 161u8, 114u8, 70u8, 211u8, 165u8, 214u8, 141u8, 66u8, 186u8, 169u8,
5424 76u8, 222u8, 51u8, 4u8, 33u8, 128u8, 183u8, 131u8, 163u8, 153u8, 192u8,
5425 43u8, 246u8, 58u8, 194u8, 7u8, 110u8, 15u8, 112u8, 135u8, 56u8,
5426 ]);
5427 const ANONYMOUS: bool = false;
5428 #[allow(unused_variables)]
5429 #[inline]
5430 fn new(
5431 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5432 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5433 ) -> Self {
5434 Self {
5435 channelId: topics.1,
5436 newBalance: data.0,
5437 }
5438 }
5439 #[inline]
5440 fn check_signature(
5441 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5442 ) -> alloy_sol_types::Result<()> {
5443 if topics.0 != Self::SIGNATURE_HASH {
5444 return Err(
5445 alloy_sol_types::Error::invalid_event_signature_hash(
5446 Self::SIGNATURE,
5447 topics.0,
5448 Self::SIGNATURE_HASH,
5449 ),
5450 );
5451 }
5452 Ok(())
5453 }
5454 #[inline]
5455 fn tokenize_body(&self) -> Self::DataToken<'_> {
5456 (<Balance as alloy_sol_types::SolType>::tokenize(&self.newBalance),)
5457 }
5458 #[inline]
5459 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5460 (Self::SIGNATURE_HASH.into(), self.channelId.clone())
5461 }
5462 #[inline]
5463 fn encode_topics_raw(
5464 &self,
5465 out: &mut [alloy_sol_types::abi::token::WordToken],
5466 ) -> alloy_sol_types::Result<()> {
5467 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5468 return Err(alloy_sol_types::Error::Overrun);
5469 }
5470 out[0usize] = alloy_sol_types::abi::token::WordToken(
5471 Self::SIGNATURE_HASH,
5472 );
5473 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
5474 32,
5475 > as alloy_sol_types::EventTopic>::encode_topic(&self.channelId);
5476 Ok(())
5477 }
5478 }
5479 #[automatically_derived]
5480 impl alloy_sol_types::private::IntoLogData for ChannelBalanceIncreased {
5481 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5482 From::from(self)
5483 }
5484 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5485 From::from(&self)
5486 }
5487 }
5488 #[automatically_derived]
5489 impl From<&ChannelBalanceIncreased> for alloy_sol_types::private::LogData {
5490 #[inline]
5491 fn from(
5492 this: &ChannelBalanceIncreased,
5493 ) -> alloy_sol_types::private::LogData {
5494 alloy_sol_types::SolEvent::encode_log_data(this)
5495 }
5496 }
5497 };
5498 #[derive(serde::Serialize, serde::Deserialize)]
5499 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5500 #[allow(
5505 non_camel_case_types,
5506 non_snake_case,
5507 clippy::pub_underscore_fields,
5508 clippy::style
5509 )]
5510 #[derive(Clone)]
5511 pub struct ChannelClosed {
5512 #[allow(missing_docs)]
5513 pub channelId: alloy::sol_types::private::FixedBytes<32>,
5514 }
5515 #[allow(
5516 non_camel_case_types,
5517 non_snake_case,
5518 clippy::pub_underscore_fields,
5519 clippy::style
5520 )]
5521 const _: () = {
5522 use alloy::sol_types as alloy_sol_types;
5523 #[automatically_derived]
5524 impl alloy_sol_types::SolEvent for ChannelClosed {
5525 type DataTuple<'a> = ();
5526 type DataToken<'a> = <Self::DataTuple<
5527 'a,
5528 > as alloy_sol_types::SolType>::Token<'a>;
5529 type TopicList = (
5530 alloy_sol_types::sol_data::FixedBytes<32>,
5531 alloy::sol_types::sol_data::FixedBytes<32>,
5532 );
5533 const SIGNATURE: &'static str = "ChannelClosed(bytes32)";
5534 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5535 206u8, 234u8, 178u8, 238u8, 249u8, 152u8, 193u8, 127u8, 233u8, 111u8,
5536 48u8, 248u8, 63u8, 191u8, 60u8, 85u8, 252u8, 80u8, 71u8, 246u8, 228u8,
5537 12u8, 85u8, 160u8, 207u8, 114u8, 210u8, 54u8, 233u8, 210u8, 186u8, 114u8,
5538 ]);
5539 const ANONYMOUS: bool = false;
5540 #[allow(unused_variables)]
5541 #[inline]
5542 fn new(
5543 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5544 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5545 ) -> Self {
5546 Self { channelId: topics.1 }
5547 }
5548 #[inline]
5549 fn check_signature(
5550 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5551 ) -> alloy_sol_types::Result<()> {
5552 if topics.0 != Self::SIGNATURE_HASH {
5553 return Err(
5554 alloy_sol_types::Error::invalid_event_signature_hash(
5555 Self::SIGNATURE,
5556 topics.0,
5557 Self::SIGNATURE_HASH,
5558 ),
5559 );
5560 }
5561 Ok(())
5562 }
5563 #[inline]
5564 fn tokenize_body(&self) -> Self::DataToken<'_> {
5565 ()
5566 }
5567 #[inline]
5568 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5569 (Self::SIGNATURE_HASH.into(), self.channelId.clone())
5570 }
5571 #[inline]
5572 fn encode_topics_raw(
5573 &self,
5574 out: &mut [alloy_sol_types::abi::token::WordToken],
5575 ) -> alloy_sol_types::Result<()> {
5576 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5577 return Err(alloy_sol_types::Error::Overrun);
5578 }
5579 out[0usize] = alloy_sol_types::abi::token::WordToken(
5580 Self::SIGNATURE_HASH,
5581 );
5582 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
5583 32,
5584 > as alloy_sol_types::EventTopic>::encode_topic(&self.channelId);
5585 Ok(())
5586 }
5587 }
5588 #[automatically_derived]
5589 impl alloy_sol_types::private::IntoLogData for ChannelClosed {
5590 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5591 From::from(self)
5592 }
5593 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5594 From::from(&self)
5595 }
5596 }
5597 #[automatically_derived]
5598 impl From<&ChannelClosed> for alloy_sol_types::private::LogData {
5599 #[inline]
5600 fn from(this: &ChannelClosed) -> alloy_sol_types::private::LogData {
5601 alloy_sol_types::SolEvent::encode_log_data(this)
5602 }
5603 }
5604 };
5605 #[derive(serde::Serialize, serde::Deserialize)]
5606 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5607 #[allow(
5612 non_camel_case_types,
5613 non_snake_case,
5614 clippy::pub_underscore_fields,
5615 clippy::style
5616 )]
5617 #[derive(Clone)]
5618 pub struct ChannelOpened {
5619 #[allow(missing_docs)]
5620 pub source: alloy::sol_types::private::Address,
5621 #[allow(missing_docs)]
5622 pub destination: alloy::sol_types::private::Address,
5623 }
5624 #[allow(
5625 non_camel_case_types,
5626 non_snake_case,
5627 clippy::pub_underscore_fields,
5628 clippy::style
5629 )]
5630 const _: () = {
5631 use alloy::sol_types as alloy_sol_types;
5632 #[automatically_derived]
5633 impl alloy_sol_types::SolEvent for ChannelOpened {
5634 type DataTuple<'a> = ();
5635 type DataToken<'a> = <Self::DataTuple<
5636 'a,
5637 > as alloy_sol_types::SolType>::Token<'a>;
5638 type TopicList = (
5639 alloy_sol_types::sol_data::FixedBytes<32>,
5640 alloy::sol_types::sol_data::Address,
5641 alloy::sol_types::sol_data::Address,
5642 );
5643 const SIGNATURE: &'static str = "ChannelOpened(address,address)";
5644 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5645 221u8, 144u8, 249u8, 56u8, 35u8, 3u8, 53u8, 229u8, 157u8, 201u8, 37u8,
5646 197u8, 126u8, 203u8, 14u8, 39u8, 162u8, 140u8, 45u8, 135u8, 53u8, 110u8,
5647 49u8, 240u8, 12u8, 213u8, 85u8, 74u8, 189u8, 108u8, 27u8, 45u8,
5648 ]);
5649 const ANONYMOUS: bool = false;
5650 #[allow(unused_variables)]
5651 #[inline]
5652 fn new(
5653 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5654 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5655 ) -> Self {
5656 Self {
5657 source: topics.1,
5658 destination: topics.2,
5659 }
5660 }
5661 #[inline]
5662 fn check_signature(
5663 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5664 ) -> alloy_sol_types::Result<()> {
5665 if topics.0 != Self::SIGNATURE_HASH {
5666 return Err(
5667 alloy_sol_types::Error::invalid_event_signature_hash(
5668 Self::SIGNATURE,
5669 topics.0,
5670 Self::SIGNATURE_HASH,
5671 ),
5672 );
5673 }
5674 Ok(())
5675 }
5676 #[inline]
5677 fn tokenize_body(&self) -> Self::DataToken<'_> {
5678 ()
5679 }
5680 #[inline]
5681 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5682 (
5683 Self::SIGNATURE_HASH.into(),
5684 self.source.clone(),
5685 self.destination.clone(),
5686 )
5687 }
5688 #[inline]
5689 fn encode_topics_raw(
5690 &self,
5691 out: &mut [alloy_sol_types::abi::token::WordToken],
5692 ) -> alloy_sol_types::Result<()> {
5693 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5694 return Err(alloy_sol_types::Error::Overrun);
5695 }
5696 out[0usize] = alloy_sol_types::abi::token::WordToken(
5697 Self::SIGNATURE_HASH,
5698 );
5699 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5700 &self.source,
5701 );
5702 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
5703 &self.destination,
5704 );
5705 Ok(())
5706 }
5707 }
5708 #[automatically_derived]
5709 impl alloy_sol_types::private::IntoLogData for ChannelOpened {
5710 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5711 From::from(self)
5712 }
5713 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5714 From::from(&self)
5715 }
5716 }
5717 #[automatically_derived]
5718 impl From<&ChannelOpened> for alloy_sol_types::private::LogData {
5719 #[inline]
5720 fn from(this: &ChannelOpened) -> alloy_sol_types::private::LogData {
5721 alloy_sol_types::SolEvent::encode_log_data(this)
5722 }
5723 }
5724 };
5725 #[derive(serde::Serialize, serde::Deserialize)]
5726 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5727 #[allow(
5732 non_camel_case_types,
5733 non_snake_case,
5734 clippy::pub_underscore_fields,
5735 clippy::style
5736 )]
5737 #[derive(Clone)]
5738 pub struct DomainSeparatorUpdated {
5739 #[allow(missing_docs)]
5740 pub domainSeparator: alloy::sol_types::private::FixedBytes<32>,
5741 }
5742 #[allow(
5743 non_camel_case_types,
5744 non_snake_case,
5745 clippy::pub_underscore_fields,
5746 clippy::style
5747 )]
5748 const _: () = {
5749 use alloy::sol_types as alloy_sol_types;
5750 #[automatically_derived]
5751 impl alloy_sol_types::SolEvent for DomainSeparatorUpdated {
5752 type DataTuple<'a> = ();
5753 type DataToken<'a> = <Self::DataTuple<
5754 'a,
5755 > as alloy_sol_types::SolType>::Token<'a>;
5756 type TopicList = (
5757 alloy_sol_types::sol_data::FixedBytes<32>,
5758 alloy::sol_types::sol_data::FixedBytes<32>,
5759 );
5760 const SIGNATURE: &'static str = "DomainSeparatorUpdated(bytes32)";
5761 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5762 119u8, 31u8, 82u8, 64u8, 174u8, 95u8, 216u8, 167u8, 100u8, 13u8, 63u8,
5763 184u8, 47u8, 167u8, 10u8, 171u8, 47u8, 177u8, 219u8, 243u8, 95u8, 46u8,
5764 244u8, 100u8, 248u8, 80u8, 153u8, 70u8, 113u8, 118u8, 100u8, 197u8,
5765 ]);
5766 const ANONYMOUS: bool = false;
5767 #[allow(unused_variables)]
5768 #[inline]
5769 fn new(
5770 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5771 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5772 ) -> Self {
5773 Self { domainSeparator: topics.1 }
5774 }
5775 #[inline]
5776 fn check_signature(
5777 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5778 ) -> alloy_sol_types::Result<()> {
5779 if topics.0 != Self::SIGNATURE_HASH {
5780 return Err(
5781 alloy_sol_types::Error::invalid_event_signature_hash(
5782 Self::SIGNATURE,
5783 topics.0,
5784 Self::SIGNATURE_HASH,
5785 ),
5786 );
5787 }
5788 Ok(())
5789 }
5790 #[inline]
5791 fn tokenize_body(&self) -> Self::DataToken<'_> {
5792 ()
5793 }
5794 #[inline]
5795 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5796 (Self::SIGNATURE_HASH.into(), self.domainSeparator.clone())
5797 }
5798 #[inline]
5799 fn encode_topics_raw(
5800 &self,
5801 out: &mut [alloy_sol_types::abi::token::WordToken],
5802 ) -> alloy_sol_types::Result<()> {
5803 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5804 return Err(alloy_sol_types::Error::Overrun);
5805 }
5806 out[0usize] = alloy_sol_types::abi::token::WordToken(
5807 Self::SIGNATURE_HASH,
5808 );
5809 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
5810 32,
5811 > as alloy_sol_types::EventTopic>::encode_topic(&self.domainSeparator);
5812 Ok(())
5813 }
5814 }
5815 #[automatically_derived]
5816 impl alloy_sol_types::private::IntoLogData for DomainSeparatorUpdated {
5817 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5818 From::from(self)
5819 }
5820 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5821 From::from(&self)
5822 }
5823 }
5824 #[automatically_derived]
5825 impl From<&DomainSeparatorUpdated> for alloy_sol_types::private::LogData {
5826 #[inline]
5827 fn from(this: &DomainSeparatorUpdated) -> alloy_sol_types::private::LogData {
5828 alloy_sol_types::SolEvent::encode_log_data(this)
5829 }
5830 }
5831 };
5832 #[derive(serde::Serialize, serde::Deserialize)]
5833 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5834 #[allow(
5839 non_camel_case_types,
5840 non_snake_case,
5841 clippy::pub_underscore_fields,
5842 clippy::style
5843 )]
5844 #[derive(Clone)]
5845 pub struct LedgerDomainSeparatorUpdated {
5846 #[allow(missing_docs)]
5847 pub ledgerDomainSeparator: alloy::sol_types::private::FixedBytes<32>,
5848 }
5849 #[allow(
5850 non_camel_case_types,
5851 non_snake_case,
5852 clippy::pub_underscore_fields,
5853 clippy::style
5854 )]
5855 const _: () = {
5856 use alloy::sol_types as alloy_sol_types;
5857 #[automatically_derived]
5858 impl alloy_sol_types::SolEvent for LedgerDomainSeparatorUpdated {
5859 type DataTuple<'a> = ();
5860 type DataToken<'a> = <Self::DataTuple<
5861 'a,
5862 > as alloy_sol_types::SolType>::Token<'a>;
5863 type TopicList = (
5864 alloy_sol_types::sol_data::FixedBytes<32>,
5865 alloy::sol_types::sol_data::FixedBytes<32>,
5866 );
5867 const SIGNATURE: &'static str = "LedgerDomainSeparatorUpdated(bytes32)";
5868 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5869 164u8, 63u8, 173u8, 131u8, 146u8, 15u8, 208u8, 148u8, 69u8, 133u8, 94u8,
5870 133u8, 78u8, 115u8, 201u8, 197u8, 50u8, 225u8, 116u8, 2u8, 201u8, 206u8,
5871 176u8, 153u8, 147u8, 162u8, 57u8, 40u8, 67u8, 165u8, 189u8, 185u8,
5872 ]);
5873 const ANONYMOUS: bool = false;
5874 #[allow(unused_variables)]
5875 #[inline]
5876 fn new(
5877 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5878 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5879 ) -> Self {
5880 Self {
5881 ledgerDomainSeparator: topics.1,
5882 }
5883 }
5884 #[inline]
5885 fn check_signature(
5886 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
5887 ) -> alloy_sol_types::Result<()> {
5888 if topics.0 != Self::SIGNATURE_HASH {
5889 return Err(
5890 alloy_sol_types::Error::invalid_event_signature_hash(
5891 Self::SIGNATURE,
5892 topics.0,
5893 Self::SIGNATURE_HASH,
5894 ),
5895 );
5896 }
5897 Ok(())
5898 }
5899 #[inline]
5900 fn tokenize_body(&self) -> Self::DataToken<'_> {
5901 ()
5902 }
5903 #[inline]
5904 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
5905 (Self::SIGNATURE_HASH.into(), self.ledgerDomainSeparator.clone())
5906 }
5907 #[inline]
5908 fn encode_topics_raw(
5909 &self,
5910 out: &mut [alloy_sol_types::abi::token::WordToken],
5911 ) -> alloy_sol_types::Result<()> {
5912 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
5913 return Err(alloy_sol_types::Error::Overrun);
5914 }
5915 out[0usize] = alloy_sol_types::abi::token::WordToken(
5916 Self::SIGNATURE_HASH,
5917 );
5918 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
5919 32,
5920 > as alloy_sol_types::EventTopic>::encode_topic(
5921 &self.ledgerDomainSeparator,
5922 );
5923 Ok(())
5924 }
5925 }
5926 #[automatically_derived]
5927 impl alloy_sol_types::private::IntoLogData for LedgerDomainSeparatorUpdated {
5928 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5929 From::from(self)
5930 }
5931 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5932 From::from(&self)
5933 }
5934 }
5935 #[automatically_derived]
5936 impl From<&LedgerDomainSeparatorUpdated> for alloy_sol_types::private::LogData {
5937 #[inline]
5938 fn from(
5939 this: &LedgerDomainSeparatorUpdated,
5940 ) -> alloy_sol_types::private::LogData {
5941 alloy_sol_types::SolEvent::encode_log_data(this)
5942 }
5943 }
5944 };
5945 #[derive(serde::Serialize, serde::Deserialize)]
5946 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5947 #[allow(
5952 non_camel_case_types,
5953 non_snake_case,
5954 clippy::pub_underscore_fields,
5955 clippy::style
5956 )]
5957 #[derive(Clone)]
5958 pub struct OutgoingChannelClosureInitiated {
5959 #[allow(missing_docs)]
5960 pub channelId: alloy::sol_types::private::FixedBytes<32>,
5961 #[allow(missing_docs)]
5962 pub closureTime: <Timestamp as alloy::sol_types::SolType>::RustType,
5963 }
5964 #[allow(
5965 non_camel_case_types,
5966 non_snake_case,
5967 clippy::pub_underscore_fields,
5968 clippy::style
5969 )]
5970 const _: () = {
5971 use alloy::sol_types as alloy_sol_types;
5972 #[automatically_derived]
5973 impl alloy_sol_types::SolEvent for OutgoingChannelClosureInitiated {
5974 type DataTuple<'a> = (Timestamp,);
5975 type DataToken<'a> = <Self::DataTuple<
5976 'a,
5977 > as alloy_sol_types::SolType>::Token<'a>;
5978 type TopicList = (
5979 alloy_sol_types::sol_data::FixedBytes<32>,
5980 alloy::sol_types::sol_data::FixedBytes<32>,
5981 );
5982 const SIGNATURE: &'static str = "OutgoingChannelClosureInitiated(bytes32,uint32)";
5983 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
5984 7u8, 181u8, 201u8, 80u8, 89u8, 127u8, 195u8, 190u8, 217u8, 46u8, 42u8,
5985 211u8, 127u8, 168u8, 79u8, 112u8, 22u8, 85u8, 172u8, 179u8, 114u8, 152u8,
5986 46u8, 72u8, 111u8, 95u8, 173u8, 54u8, 7u8, 240u8, 74u8, 92u8,
5987 ]);
5988 const ANONYMOUS: bool = false;
5989 #[allow(unused_variables)]
5990 #[inline]
5991 fn new(
5992 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
5993 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
5994 ) -> Self {
5995 Self {
5996 channelId: topics.1,
5997 closureTime: data.0,
5998 }
5999 }
6000 #[inline]
6001 fn check_signature(
6002 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6003 ) -> alloy_sol_types::Result<()> {
6004 if topics.0 != Self::SIGNATURE_HASH {
6005 return Err(
6006 alloy_sol_types::Error::invalid_event_signature_hash(
6007 Self::SIGNATURE,
6008 topics.0,
6009 Self::SIGNATURE_HASH,
6010 ),
6011 );
6012 }
6013 Ok(())
6014 }
6015 #[inline]
6016 fn tokenize_body(&self) -> Self::DataToken<'_> {
6017 (<Timestamp as alloy_sol_types::SolType>::tokenize(&self.closureTime),)
6018 }
6019 #[inline]
6020 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6021 (Self::SIGNATURE_HASH.into(), self.channelId.clone())
6022 }
6023 #[inline]
6024 fn encode_topics_raw(
6025 &self,
6026 out: &mut [alloy_sol_types::abi::token::WordToken],
6027 ) -> alloy_sol_types::Result<()> {
6028 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6029 return Err(alloy_sol_types::Error::Overrun);
6030 }
6031 out[0usize] = alloy_sol_types::abi::token::WordToken(
6032 Self::SIGNATURE_HASH,
6033 );
6034 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
6035 32,
6036 > as alloy_sol_types::EventTopic>::encode_topic(&self.channelId);
6037 Ok(())
6038 }
6039 }
6040 #[automatically_derived]
6041 impl alloy_sol_types::private::IntoLogData for OutgoingChannelClosureInitiated {
6042 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6043 From::from(self)
6044 }
6045 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6046 From::from(&self)
6047 }
6048 }
6049 #[automatically_derived]
6050 impl From<&OutgoingChannelClosureInitiated>
6051 for alloy_sol_types::private::LogData {
6052 #[inline]
6053 fn from(
6054 this: &OutgoingChannelClosureInitiated,
6055 ) -> alloy_sol_types::private::LogData {
6056 alloy_sol_types::SolEvent::encode_log_data(this)
6057 }
6058 }
6059 };
6060 #[derive(serde::Serialize, serde::Deserialize)]
6061 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6062 #[allow(
6067 non_camel_case_types,
6068 non_snake_case,
6069 clippy::pub_underscore_fields,
6070 clippy::style
6071 )]
6072 #[derive(Clone)]
6073 pub struct TicketRedeemed {
6074 #[allow(missing_docs)]
6075 pub channelId: alloy::sol_types::private::FixedBytes<32>,
6076 #[allow(missing_docs)]
6077 pub newTicketIndex: <TicketIndex as alloy::sol_types::SolType>::RustType,
6078 }
6079 #[allow(
6080 non_camel_case_types,
6081 non_snake_case,
6082 clippy::pub_underscore_fields,
6083 clippy::style
6084 )]
6085 const _: () = {
6086 use alloy::sol_types as alloy_sol_types;
6087 #[automatically_derived]
6088 impl alloy_sol_types::SolEvent for TicketRedeemed {
6089 type DataTuple<'a> = (TicketIndex,);
6090 type DataToken<'a> = <Self::DataTuple<
6091 'a,
6092 > as alloy_sol_types::SolType>::Token<'a>;
6093 type TopicList = (
6094 alloy_sol_types::sol_data::FixedBytes<32>,
6095 alloy::sol_types::sol_data::FixedBytes<32>,
6096 );
6097 const SIGNATURE: &'static str = "TicketRedeemed(bytes32,uint48)";
6098 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
6099 113u8, 101u8, 226u8, 235u8, 199u8, 206u8, 53u8, 204u8, 152u8, 203u8,
6100 118u8, 102u8, 249u8, 148u8, 91u8, 54u8, 23u8, 243u8, 243u8, 99u8, 38u8,
6101 183u8, 109u8, 24u8, 147u8, 123u8, 165u8, 254u8, 207u8, 24u8, 115u8, 154u8,
6102 ]);
6103 const ANONYMOUS: bool = false;
6104 #[allow(unused_variables)]
6105 #[inline]
6106 fn new(
6107 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
6108 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
6109 ) -> Self {
6110 Self {
6111 channelId: topics.1,
6112 newTicketIndex: data.0,
6113 }
6114 }
6115 #[inline]
6116 fn check_signature(
6117 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
6118 ) -> alloy_sol_types::Result<()> {
6119 if topics.0 != Self::SIGNATURE_HASH {
6120 return Err(
6121 alloy_sol_types::Error::invalid_event_signature_hash(
6122 Self::SIGNATURE,
6123 topics.0,
6124 Self::SIGNATURE_HASH,
6125 ),
6126 );
6127 }
6128 Ok(())
6129 }
6130 #[inline]
6131 fn tokenize_body(&self) -> Self::DataToken<'_> {
6132 (
6133 <TicketIndex as alloy_sol_types::SolType>::tokenize(
6134 &self.newTicketIndex,
6135 ),
6136 )
6137 }
6138 #[inline]
6139 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
6140 (Self::SIGNATURE_HASH.into(), self.channelId.clone())
6141 }
6142 #[inline]
6143 fn encode_topics_raw(
6144 &self,
6145 out: &mut [alloy_sol_types::abi::token::WordToken],
6146 ) -> alloy_sol_types::Result<()> {
6147 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
6148 return Err(alloy_sol_types::Error::Overrun);
6149 }
6150 out[0usize] = alloy_sol_types::abi::token::WordToken(
6151 Self::SIGNATURE_HASH,
6152 );
6153 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
6154 32,
6155 > as alloy_sol_types::EventTopic>::encode_topic(&self.channelId);
6156 Ok(())
6157 }
6158 }
6159 #[automatically_derived]
6160 impl alloy_sol_types::private::IntoLogData for TicketRedeemed {
6161 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
6162 From::from(self)
6163 }
6164 fn into_log_data(self) -> alloy_sol_types::private::LogData {
6165 From::from(&self)
6166 }
6167 }
6168 #[automatically_derived]
6169 impl From<&TicketRedeemed> for alloy_sol_types::private::LogData {
6170 #[inline]
6171 fn from(this: &TicketRedeemed) -> alloy_sol_types::private::LogData {
6172 alloy_sol_types::SolEvent::encode_log_data(this)
6173 }
6174 }
6175 };
6176 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6181 #[derive(Clone)]
6182 pub struct constructorCall {
6183 #[allow(missing_docs)]
6184 pub _token: alloy::sol_types::private::Address,
6185 #[allow(missing_docs)]
6186 pub _noticePeriodChannelClosure: <Timestamp as alloy::sol_types::SolType>::RustType,
6187 #[allow(missing_docs)]
6188 pub _safeRegistry: alloy::sol_types::private::Address,
6189 }
6190 const _: () = {
6191 use alloy::sol_types as alloy_sol_types;
6192 {
6193 #[doc(hidden)]
6194 type UnderlyingSolTuple<'a> = (
6195 alloy::sol_types::sol_data::Address,
6196 Timestamp,
6197 alloy::sol_types::sol_data::Address,
6198 );
6199 #[doc(hidden)]
6200 type UnderlyingRustTuple<'a> = (
6201 alloy::sol_types::private::Address,
6202 <Timestamp as alloy::sol_types::SolType>::RustType,
6203 alloy::sol_types::private::Address,
6204 );
6205 #[cfg(test)]
6206 #[allow(dead_code, unreachable_patterns)]
6207 fn _type_assertion(
6208 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6209 ) {
6210 match _t {
6211 alloy_sol_types::private::AssertTypeEq::<
6212 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6213 >(_) => {}
6214 }
6215 }
6216 #[automatically_derived]
6217 #[doc(hidden)]
6218 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
6219 fn from(value: constructorCall) -> Self {
6220 (
6221 value._token,
6222 value._noticePeriodChannelClosure,
6223 value._safeRegistry,
6224 )
6225 }
6226 }
6227 #[automatically_derived]
6228 #[doc(hidden)]
6229 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
6230 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6231 Self {
6232 _token: tuple.0,
6233 _noticePeriodChannelClosure: tuple.1,
6234 _safeRegistry: tuple.2,
6235 }
6236 }
6237 }
6238 }
6239 #[automatically_derived]
6240 impl alloy_sol_types::SolConstructor for constructorCall {
6241 type Parameters<'a> = (
6242 alloy::sol_types::sol_data::Address,
6243 Timestamp,
6244 alloy::sol_types::sol_data::Address,
6245 );
6246 type Token<'a> = <Self::Parameters<
6247 'a,
6248 > as alloy_sol_types::SolType>::Token<'a>;
6249 #[inline]
6250 fn new<'a>(
6251 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6252 ) -> Self {
6253 tuple.into()
6254 }
6255 #[inline]
6256 fn tokenize(&self) -> Self::Token<'_> {
6257 (
6258 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6259 &self._token,
6260 ),
6261 <Timestamp as alloy_sol_types::SolType>::tokenize(
6262 &self._noticePeriodChannelClosure,
6263 ),
6264 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6265 &self._safeRegistry,
6266 ),
6267 )
6268 }
6269 }
6270 };
6271 #[derive(serde::Serialize, serde::Deserialize)]
6272 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6273 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6278 #[derive(Clone)]
6279 pub struct ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall;
6280 #[derive(serde::Serialize, serde::Deserialize)]
6281 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6282 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6284 #[derive(Clone)]
6285 pub struct ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn {
6286 #[allow(missing_docs)]
6287 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6288 }
6289 #[allow(
6290 non_camel_case_types,
6291 non_snake_case,
6292 clippy::pub_underscore_fields,
6293 clippy::style
6294 )]
6295 const _: () = {
6296 use alloy::sol_types as alloy_sol_types;
6297 {
6298 #[doc(hidden)]
6299 type UnderlyingSolTuple<'a> = ();
6300 #[doc(hidden)]
6301 type UnderlyingRustTuple<'a> = ();
6302 #[cfg(test)]
6303 #[allow(dead_code, unreachable_patterns)]
6304 fn _type_assertion(
6305 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6306 ) {
6307 match _t {
6308 alloy_sol_types::private::AssertTypeEq::<
6309 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6310 >(_) => {}
6311 }
6312 }
6313 #[automatically_derived]
6314 #[doc(hidden)]
6315 impl ::core::convert::From<ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall>
6316 for UnderlyingRustTuple<'_> {
6317 fn from(value: ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall) -> Self {
6318 ()
6319 }
6320 }
6321 #[automatically_derived]
6322 #[doc(hidden)]
6323 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6324 for ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall {
6325 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6326 Self
6327 }
6328 }
6329 }
6330 {
6331 #[doc(hidden)]
6332 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6333 #[doc(hidden)]
6334 type UnderlyingRustTuple<'a> = (
6335 alloy::sol_types::private::primitives::aliases::U256,
6336 );
6337 #[cfg(test)]
6338 #[allow(dead_code, unreachable_patterns)]
6339 fn _type_assertion(
6340 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6341 ) {
6342 match _t {
6343 alloy_sol_types::private::AssertTypeEq::<
6344 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6345 >(_) => {}
6346 }
6347 }
6348 #[automatically_derived]
6349 #[doc(hidden)]
6350 impl ::core::convert::From<ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn>
6351 for UnderlyingRustTuple<'_> {
6352 fn from(value: ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn) -> Self {
6353 (value._0,)
6354 }
6355 }
6356 #[automatically_derived]
6357 #[doc(hidden)]
6358 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6359 for ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn {
6360 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6361 Self { _0: tuple.0 }
6362 }
6363 }
6364 }
6365 #[automatically_derived]
6366 impl alloy_sol_types::SolCall for ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall {
6367 type Parameters<'a> = ();
6368 type Token<'a> = <Self::Parameters<
6369 'a,
6370 > as alloy_sol_types::SolType>::Token<'a>;
6371 type Return = alloy::sol_types::private::primitives::aliases::U256;
6372 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6373 type ReturnToken<'a> = <Self::ReturnTuple<
6374 'a,
6375 > as alloy_sol_types::SolType>::Token<'a>;
6376 const SIGNATURE: &'static str = "ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE()";
6377 const SELECTOR: [u8; 4] = [120u8, 216u8, 1u8, 109u8];
6378 #[inline]
6379 fn new<'a>(
6380 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6381 ) -> Self {
6382 tuple.into()
6383 }
6384 #[inline]
6385 fn tokenize(&self) -> Self::Token<'_> {
6386 ()
6387 }
6388 #[inline]
6389 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6390 (
6391 <alloy::sol_types::sol_data::Uint<
6392 256,
6393 > as alloy_sol_types::SolType>::tokenize(ret),
6394 )
6395 }
6396 #[inline]
6397 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6398 <Self::ReturnTuple<
6399 '_,
6400 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6401 .map(|r| {
6402 let r: ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn = r.into();
6403 r._0
6404 })
6405 }
6406 #[inline]
6407 fn abi_decode_returns_validate(
6408 data: &[u8],
6409 ) -> alloy_sol_types::Result<Self::Return> {
6410 <Self::ReturnTuple<
6411 '_,
6412 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6413 .map(|r| {
6414 let r: ERC777_HOOK_FUND_CHANNEL_MULTI_SIZEReturn = r.into();
6415 r._0
6416 })
6417 }
6418 }
6419 };
6420 #[derive(serde::Serialize, serde::Deserialize)]
6421 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6422 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6427 #[derive(Clone)]
6428 pub struct ERC777_HOOK_FUND_CHANNEL_SIZECall;
6429 #[derive(serde::Serialize, serde::Deserialize)]
6430 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6431 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6433 #[derive(Clone)]
6434 pub struct ERC777_HOOK_FUND_CHANNEL_SIZEReturn {
6435 #[allow(missing_docs)]
6436 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6437 }
6438 #[allow(
6439 non_camel_case_types,
6440 non_snake_case,
6441 clippy::pub_underscore_fields,
6442 clippy::style
6443 )]
6444 const _: () = {
6445 use alloy::sol_types as alloy_sol_types;
6446 {
6447 #[doc(hidden)]
6448 type UnderlyingSolTuple<'a> = ();
6449 #[doc(hidden)]
6450 type UnderlyingRustTuple<'a> = ();
6451 #[cfg(test)]
6452 #[allow(dead_code, unreachable_patterns)]
6453 fn _type_assertion(
6454 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6455 ) {
6456 match _t {
6457 alloy_sol_types::private::AssertTypeEq::<
6458 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6459 >(_) => {}
6460 }
6461 }
6462 #[automatically_derived]
6463 #[doc(hidden)]
6464 impl ::core::convert::From<ERC777_HOOK_FUND_CHANNEL_SIZECall>
6465 for UnderlyingRustTuple<'_> {
6466 fn from(value: ERC777_HOOK_FUND_CHANNEL_SIZECall) -> Self {
6467 ()
6468 }
6469 }
6470 #[automatically_derived]
6471 #[doc(hidden)]
6472 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6473 for ERC777_HOOK_FUND_CHANNEL_SIZECall {
6474 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6475 Self
6476 }
6477 }
6478 }
6479 {
6480 #[doc(hidden)]
6481 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6482 #[doc(hidden)]
6483 type UnderlyingRustTuple<'a> = (
6484 alloy::sol_types::private::primitives::aliases::U256,
6485 );
6486 #[cfg(test)]
6487 #[allow(dead_code, unreachable_patterns)]
6488 fn _type_assertion(
6489 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6490 ) {
6491 match _t {
6492 alloy_sol_types::private::AssertTypeEq::<
6493 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6494 >(_) => {}
6495 }
6496 }
6497 #[automatically_derived]
6498 #[doc(hidden)]
6499 impl ::core::convert::From<ERC777_HOOK_FUND_CHANNEL_SIZEReturn>
6500 for UnderlyingRustTuple<'_> {
6501 fn from(value: ERC777_HOOK_FUND_CHANNEL_SIZEReturn) -> Self {
6502 (value._0,)
6503 }
6504 }
6505 #[automatically_derived]
6506 #[doc(hidden)]
6507 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6508 for ERC777_HOOK_FUND_CHANNEL_SIZEReturn {
6509 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6510 Self { _0: tuple.0 }
6511 }
6512 }
6513 }
6514 #[automatically_derived]
6515 impl alloy_sol_types::SolCall for ERC777_HOOK_FUND_CHANNEL_SIZECall {
6516 type Parameters<'a> = ();
6517 type Token<'a> = <Self::Parameters<
6518 'a,
6519 > as alloy_sol_types::SolType>::Token<'a>;
6520 type Return = alloy::sol_types::private::primitives::aliases::U256;
6521 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6522 type ReturnToken<'a> = <Self::ReturnTuple<
6523 'a,
6524 > as alloy_sol_types::SolType>::Token<'a>;
6525 const SIGNATURE: &'static str = "ERC777_HOOK_FUND_CHANNEL_SIZE()";
6526 const SELECTOR: [u8; 4] = [68u8, 218u8, 230u8, 248u8];
6527 #[inline]
6528 fn new<'a>(
6529 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6530 ) -> Self {
6531 tuple.into()
6532 }
6533 #[inline]
6534 fn tokenize(&self) -> Self::Token<'_> {
6535 ()
6536 }
6537 #[inline]
6538 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6539 (
6540 <alloy::sol_types::sol_data::Uint<
6541 256,
6542 > as alloy_sol_types::SolType>::tokenize(ret),
6543 )
6544 }
6545 #[inline]
6546 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6547 <Self::ReturnTuple<
6548 '_,
6549 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6550 .map(|r| {
6551 let r: ERC777_HOOK_FUND_CHANNEL_SIZEReturn = r.into();
6552 r._0
6553 })
6554 }
6555 #[inline]
6556 fn abi_decode_returns_validate(
6557 data: &[u8],
6558 ) -> alloy_sol_types::Result<Self::Return> {
6559 <Self::ReturnTuple<
6560 '_,
6561 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6562 .map(|r| {
6563 let r: ERC777_HOOK_FUND_CHANNEL_SIZEReturn = r.into();
6564 r._0
6565 })
6566 }
6567 }
6568 };
6569 #[derive(serde::Serialize, serde::Deserialize)]
6570 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6571 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6576 #[derive(Clone)]
6577 pub struct LEDGER_VERSIONCall;
6578 #[derive(serde::Serialize, serde::Deserialize)]
6579 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6580 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6582 #[derive(Clone)]
6583 pub struct LEDGER_VERSIONReturn {
6584 #[allow(missing_docs)]
6585 pub _0: alloy::sol_types::private::String,
6586 }
6587 #[allow(
6588 non_camel_case_types,
6589 non_snake_case,
6590 clippy::pub_underscore_fields,
6591 clippy::style
6592 )]
6593 const _: () = {
6594 use alloy::sol_types as alloy_sol_types;
6595 {
6596 #[doc(hidden)]
6597 type UnderlyingSolTuple<'a> = ();
6598 #[doc(hidden)]
6599 type UnderlyingRustTuple<'a> = ();
6600 #[cfg(test)]
6601 #[allow(dead_code, unreachable_patterns)]
6602 fn _type_assertion(
6603 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6604 ) {
6605 match _t {
6606 alloy_sol_types::private::AssertTypeEq::<
6607 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6608 >(_) => {}
6609 }
6610 }
6611 #[automatically_derived]
6612 #[doc(hidden)]
6613 impl ::core::convert::From<LEDGER_VERSIONCall> for UnderlyingRustTuple<'_> {
6614 fn from(value: LEDGER_VERSIONCall) -> Self {
6615 ()
6616 }
6617 }
6618 #[automatically_derived]
6619 #[doc(hidden)]
6620 impl ::core::convert::From<UnderlyingRustTuple<'_>> for LEDGER_VERSIONCall {
6621 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6622 Self
6623 }
6624 }
6625 }
6626 {
6627 #[doc(hidden)]
6628 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
6629 #[doc(hidden)]
6630 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
6631 #[cfg(test)]
6632 #[allow(dead_code, unreachable_patterns)]
6633 fn _type_assertion(
6634 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6635 ) {
6636 match _t {
6637 alloy_sol_types::private::AssertTypeEq::<
6638 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6639 >(_) => {}
6640 }
6641 }
6642 #[automatically_derived]
6643 #[doc(hidden)]
6644 impl ::core::convert::From<LEDGER_VERSIONReturn>
6645 for UnderlyingRustTuple<'_> {
6646 fn from(value: LEDGER_VERSIONReturn) -> Self {
6647 (value._0,)
6648 }
6649 }
6650 #[automatically_derived]
6651 #[doc(hidden)]
6652 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6653 for LEDGER_VERSIONReturn {
6654 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6655 Self { _0: tuple.0 }
6656 }
6657 }
6658 }
6659 #[automatically_derived]
6660 impl alloy_sol_types::SolCall for LEDGER_VERSIONCall {
6661 type Parameters<'a> = ();
6662 type Token<'a> = <Self::Parameters<
6663 'a,
6664 > as alloy_sol_types::SolType>::Token<'a>;
6665 type Return = alloy::sol_types::private::String;
6666 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
6667 type ReturnToken<'a> = <Self::ReturnTuple<
6668 'a,
6669 > as alloy_sol_types::SolType>::Token<'a>;
6670 const SIGNATURE: &'static str = "LEDGER_VERSION()";
6671 const SELECTOR: [u8; 4] = [221u8, 173u8, 25u8, 2u8];
6672 #[inline]
6673 fn new<'a>(
6674 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6675 ) -> Self {
6676 tuple.into()
6677 }
6678 #[inline]
6679 fn tokenize(&self) -> Self::Token<'_> {
6680 ()
6681 }
6682 #[inline]
6683 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6684 (
6685 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
6686 ret,
6687 ),
6688 )
6689 }
6690 #[inline]
6691 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6692 <Self::ReturnTuple<
6693 '_,
6694 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6695 .map(|r| {
6696 let r: LEDGER_VERSIONReturn = r.into();
6697 r._0
6698 })
6699 }
6700 #[inline]
6701 fn abi_decode_returns_validate(
6702 data: &[u8],
6703 ) -> alloy_sol_types::Result<Self::Return> {
6704 <Self::ReturnTuple<
6705 '_,
6706 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6707 .map(|r| {
6708 let r: LEDGER_VERSIONReturn = r.into();
6709 r._0
6710 })
6711 }
6712 }
6713 };
6714 #[derive(serde::Serialize, serde::Deserialize)]
6715 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6716 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6721 #[derive(Clone)]
6722 pub struct MAX_USED_BALANCECall;
6723 #[derive(serde::Serialize, serde::Deserialize)]
6724 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6725 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6727 #[derive(Clone)]
6728 pub struct MAX_USED_BALANCEReturn {
6729 #[allow(missing_docs)]
6730 pub _0: <Balance as alloy::sol_types::SolType>::RustType,
6731 }
6732 #[allow(
6733 non_camel_case_types,
6734 non_snake_case,
6735 clippy::pub_underscore_fields,
6736 clippy::style
6737 )]
6738 const _: () = {
6739 use alloy::sol_types as alloy_sol_types;
6740 {
6741 #[doc(hidden)]
6742 type UnderlyingSolTuple<'a> = ();
6743 #[doc(hidden)]
6744 type UnderlyingRustTuple<'a> = ();
6745 #[cfg(test)]
6746 #[allow(dead_code, unreachable_patterns)]
6747 fn _type_assertion(
6748 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6749 ) {
6750 match _t {
6751 alloy_sol_types::private::AssertTypeEq::<
6752 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6753 >(_) => {}
6754 }
6755 }
6756 #[automatically_derived]
6757 #[doc(hidden)]
6758 impl ::core::convert::From<MAX_USED_BALANCECall>
6759 for UnderlyingRustTuple<'_> {
6760 fn from(value: MAX_USED_BALANCECall) -> Self {
6761 ()
6762 }
6763 }
6764 #[automatically_derived]
6765 #[doc(hidden)]
6766 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6767 for MAX_USED_BALANCECall {
6768 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6769 Self
6770 }
6771 }
6772 }
6773 {
6774 #[doc(hidden)]
6775 type UnderlyingSolTuple<'a> = (Balance,);
6776 #[doc(hidden)]
6777 type UnderlyingRustTuple<'a> = (
6778 <Balance as alloy::sol_types::SolType>::RustType,
6779 );
6780 #[cfg(test)]
6781 #[allow(dead_code, unreachable_patterns)]
6782 fn _type_assertion(
6783 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6784 ) {
6785 match _t {
6786 alloy_sol_types::private::AssertTypeEq::<
6787 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6788 >(_) => {}
6789 }
6790 }
6791 #[automatically_derived]
6792 #[doc(hidden)]
6793 impl ::core::convert::From<MAX_USED_BALANCEReturn>
6794 for UnderlyingRustTuple<'_> {
6795 fn from(value: MAX_USED_BALANCEReturn) -> Self {
6796 (value._0,)
6797 }
6798 }
6799 #[automatically_derived]
6800 #[doc(hidden)]
6801 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6802 for MAX_USED_BALANCEReturn {
6803 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6804 Self { _0: tuple.0 }
6805 }
6806 }
6807 }
6808 #[automatically_derived]
6809 impl alloy_sol_types::SolCall for MAX_USED_BALANCECall {
6810 type Parameters<'a> = ();
6811 type Token<'a> = <Self::Parameters<
6812 'a,
6813 > as alloy_sol_types::SolType>::Token<'a>;
6814 type Return = <Balance as alloy::sol_types::SolType>::RustType;
6815 type ReturnTuple<'a> = (Balance,);
6816 type ReturnToken<'a> = <Self::ReturnTuple<
6817 'a,
6818 > as alloy_sol_types::SolType>::Token<'a>;
6819 const SIGNATURE: &'static str = "MAX_USED_BALANCE()";
6820 const SELECTOR: [u8; 4] = [93u8, 47u8, 7u8, 197u8];
6821 #[inline]
6822 fn new<'a>(
6823 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6824 ) -> Self {
6825 tuple.into()
6826 }
6827 #[inline]
6828 fn tokenize(&self) -> Self::Token<'_> {
6829 ()
6830 }
6831 #[inline]
6832 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6833 (<Balance as alloy_sol_types::SolType>::tokenize(ret),)
6834 }
6835 #[inline]
6836 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6837 <Self::ReturnTuple<
6838 '_,
6839 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6840 .map(|r| {
6841 let r: MAX_USED_BALANCEReturn = r.into();
6842 r._0
6843 })
6844 }
6845 #[inline]
6846 fn abi_decode_returns_validate(
6847 data: &[u8],
6848 ) -> alloy_sol_types::Result<Self::Return> {
6849 <Self::ReturnTuple<
6850 '_,
6851 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6852 .map(|r| {
6853 let r: MAX_USED_BALANCEReturn = r.into();
6854 r._0
6855 })
6856 }
6857 }
6858 };
6859 #[derive(serde::Serialize, serde::Deserialize)]
6860 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6861 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6866 #[derive(Clone)]
6867 pub struct MIN_USED_BALANCECall;
6868 #[derive(serde::Serialize, serde::Deserialize)]
6869 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6870 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6872 #[derive(Clone)]
6873 pub struct MIN_USED_BALANCEReturn {
6874 #[allow(missing_docs)]
6875 pub _0: <Balance as alloy::sol_types::SolType>::RustType,
6876 }
6877 #[allow(
6878 non_camel_case_types,
6879 non_snake_case,
6880 clippy::pub_underscore_fields,
6881 clippy::style
6882 )]
6883 const _: () = {
6884 use alloy::sol_types as alloy_sol_types;
6885 {
6886 #[doc(hidden)]
6887 type UnderlyingSolTuple<'a> = ();
6888 #[doc(hidden)]
6889 type UnderlyingRustTuple<'a> = ();
6890 #[cfg(test)]
6891 #[allow(dead_code, unreachable_patterns)]
6892 fn _type_assertion(
6893 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6894 ) {
6895 match _t {
6896 alloy_sol_types::private::AssertTypeEq::<
6897 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6898 >(_) => {}
6899 }
6900 }
6901 #[automatically_derived]
6902 #[doc(hidden)]
6903 impl ::core::convert::From<MIN_USED_BALANCECall>
6904 for UnderlyingRustTuple<'_> {
6905 fn from(value: MIN_USED_BALANCECall) -> Self {
6906 ()
6907 }
6908 }
6909 #[automatically_derived]
6910 #[doc(hidden)]
6911 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6912 for MIN_USED_BALANCECall {
6913 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6914 Self
6915 }
6916 }
6917 }
6918 {
6919 #[doc(hidden)]
6920 type UnderlyingSolTuple<'a> = (Balance,);
6921 #[doc(hidden)]
6922 type UnderlyingRustTuple<'a> = (
6923 <Balance as alloy::sol_types::SolType>::RustType,
6924 );
6925 #[cfg(test)]
6926 #[allow(dead_code, unreachable_patterns)]
6927 fn _type_assertion(
6928 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6929 ) {
6930 match _t {
6931 alloy_sol_types::private::AssertTypeEq::<
6932 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6933 >(_) => {}
6934 }
6935 }
6936 #[automatically_derived]
6937 #[doc(hidden)]
6938 impl ::core::convert::From<MIN_USED_BALANCEReturn>
6939 for UnderlyingRustTuple<'_> {
6940 fn from(value: MIN_USED_BALANCEReturn) -> Self {
6941 (value._0,)
6942 }
6943 }
6944 #[automatically_derived]
6945 #[doc(hidden)]
6946 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6947 for MIN_USED_BALANCEReturn {
6948 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6949 Self { _0: tuple.0 }
6950 }
6951 }
6952 }
6953 #[automatically_derived]
6954 impl alloy_sol_types::SolCall for MIN_USED_BALANCECall {
6955 type Parameters<'a> = ();
6956 type Token<'a> = <Self::Parameters<
6957 'a,
6958 > as alloy_sol_types::SolType>::Token<'a>;
6959 type Return = <Balance as alloy::sol_types::SolType>::RustType;
6960 type ReturnTuple<'a> = (Balance,);
6961 type ReturnToken<'a> = <Self::ReturnTuple<
6962 'a,
6963 > as alloy_sol_types::SolType>::Token<'a>;
6964 const SIGNATURE: &'static str = "MIN_USED_BALANCE()";
6965 const SELECTOR: [u8; 4] = [41u8, 57u8, 46u8, 50u8];
6966 #[inline]
6967 fn new<'a>(
6968 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6969 ) -> Self {
6970 tuple.into()
6971 }
6972 #[inline]
6973 fn tokenize(&self) -> Self::Token<'_> {
6974 ()
6975 }
6976 #[inline]
6977 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6978 (<Balance as alloy_sol_types::SolType>::tokenize(ret),)
6979 }
6980 #[inline]
6981 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6982 <Self::ReturnTuple<
6983 '_,
6984 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6985 .map(|r| {
6986 let r: MIN_USED_BALANCEReturn = r.into();
6987 r._0
6988 })
6989 }
6990 #[inline]
6991 fn abi_decode_returns_validate(
6992 data: &[u8],
6993 ) -> alloy_sol_types::Result<Self::Return> {
6994 <Self::ReturnTuple<
6995 '_,
6996 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6997 .map(|r| {
6998 let r: MIN_USED_BALANCEReturn = r.into();
6999 r._0
7000 })
7001 }
7002 }
7003 };
7004 #[derive(serde::Serialize, serde::Deserialize)]
7005 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7006 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7011 #[derive(Clone)]
7012 pub struct TOKENS_RECIPIENT_INTERFACE_HASHCall;
7013 #[derive(serde::Serialize, serde::Deserialize)]
7014 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7015 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7017 #[derive(Clone)]
7018 pub struct TOKENS_RECIPIENT_INTERFACE_HASHReturn {
7019 #[allow(missing_docs)]
7020 pub _0: alloy::sol_types::private::FixedBytes<32>,
7021 }
7022 #[allow(
7023 non_camel_case_types,
7024 non_snake_case,
7025 clippy::pub_underscore_fields,
7026 clippy::style
7027 )]
7028 const _: () = {
7029 use alloy::sol_types as alloy_sol_types;
7030 {
7031 #[doc(hidden)]
7032 type UnderlyingSolTuple<'a> = ();
7033 #[doc(hidden)]
7034 type UnderlyingRustTuple<'a> = ();
7035 #[cfg(test)]
7036 #[allow(dead_code, unreachable_patterns)]
7037 fn _type_assertion(
7038 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7039 ) {
7040 match _t {
7041 alloy_sol_types::private::AssertTypeEq::<
7042 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7043 >(_) => {}
7044 }
7045 }
7046 #[automatically_derived]
7047 #[doc(hidden)]
7048 impl ::core::convert::From<TOKENS_RECIPIENT_INTERFACE_HASHCall>
7049 for UnderlyingRustTuple<'_> {
7050 fn from(value: TOKENS_RECIPIENT_INTERFACE_HASHCall) -> Self {
7051 ()
7052 }
7053 }
7054 #[automatically_derived]
7055 #[doc(hidden)]
7056 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7057 for TOKENS_RECIPIENT_INTERFACE_HASHCall {
7058 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7059 Self
7060 }
7061 }
7062 }
7063 {
7064 #[doc(hidden)]
7065 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7066 #[doc(hidden)]
7067 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7068 #[cfg(test)]
7069 #[allow(dead_code, unreachable_patterns)]
7070 fn _type_assertion(
7071 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7072 ) {
7073 match _t {
7074 alloy_sol_types::private::AssertTypeEq::<
7075 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7076 >(_) => {}
7077 }
7078 }
7079 #[automatically_derived]
7080 #[doc(hidden)]
7081 impl ::core::convert::From<TOKENS_RECIPIENT_INTERFACE_HASHReturn>
7082 for UnderlyingRustTuple<'_> {
7083 fn from(value: TOKENS_RECIPIENT_INTERFACE_HASHReturn) -> Self {
7084 (value._0,)
7085 }
7086 }
7087 #[automatically_derived]
7088 #[doc(hidden)]
7089 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7090 for TOKENS_RECIPIENT_INTERFACE_HASHReturn {
7091 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7092 Self { _0: tuple.0 }
7093 }
7094 }
7095 }
7096 #[automatically_derived]
7097 impl alloy_sol_types::SolCall for TOKENS_RECIPIENT_INTERFACE_HASHCall {
7098 type Parameters<'a> = ();
7099 type Token<'a> = <Self::Parameters<
7100 'a,
7101 > as alloy_sol_types::SolType>::Token<'a>;
7102 type Return = alloy::sol_types::private::FixedBytes<32>;
7103 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7104 type ReturnToken<'a> = <Self::ReturnTuple<
7105 'a,
7106 > as alloy_sol_types::SolType>::Token<'a>;
7107 const SIGNATURE: &'static str = "TOKENS_RECIPIENT_INTERFACE_HASH()";
7108 const SELECTOR: [u8; 4] = [114u8, 88u8, 28u8, 192u8];
7109 #[inline]
7110 fn new<'a>(
7111 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7112 ) -> Self {
7113 tuple.into()
7114 }
7115 #[inline]
7116 fn tokenize(&self) -> Self::Token<'_> {
7117 ()
7118 }
7119 #[inline]
7120 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7121 (
7122 <alloy::sol_types::sol_data::FixedBytes<
7123 32,
7124 > as alloy_sol_types::SolType>::tokenize(ret),
7125 )
7126 }
7127 #[inline]
7128 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7129 <Self::ReturnTuple<
7130 '_,
7131 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7132 .map(|r| {
7133 let r: TOKENS_RECIPIENT_INTERFACE_HASHReturn = r.into();
7134 r._0
7135 })
7136 }
7137 #[inline]
7138 fn abi_decode_returns_validate(
7139 data: &[u8],
7140 ) -> alloy_sol_types::Result<Self::Return> {
7141 <Self::ReturnTuple<
7142 '_,
7143 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7144 .map(|r| {
7145 let r: TOKENS_RECIPIENT_INTERFACE_HASHReturn = r.into();
7146 r._0
7147 })
7148 }
7149 }
7150 };
7151 #[derive(serde::Serialize, serde::Deserialize)]
7152 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7153 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7158 #[derive(Clone)]
7159 pub struct VERSIONCall;
7160 #[derive(serde::Serialize, serde::Deserialize)]
7161 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7162 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7164 #[derive(Clone)]
7165 pub struct VERSIONReturn {
7166 #[allow(missing_docs)]
7167 pub _0: alloy::sol_types::private::String,
7168 }
7169 #[allow(
7170 non_camel_case_types,
7171 non_snake_case,
7172 clippy::pub_underscore_fields,
7173 clippy::style
7174 )]
7175 const _: () = {
7176 use alloy::sol_types as alloy_sol_types;
7177 {
7178 #[doc(hidden)]
7179 type UnderlyingSolTuple<'a> = ();
7180 #[doc(hidden)]
7181 type UnderlyingRustTuple<'a> = ();
7182 #[cfg(test)]
7183 #[allow(dead_code, unreachable_patterns)]
7184 fn _type_assertion(
7185 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7186 ) {
7187 match _t {
7188 alloy_sol_types::private::AssertTypeEq::<
7189 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7190 >(_) => {}
7191 }
7192 }
7193 #[automatically_derived]
7194 #[doc(hidden)]
7195 impl ::core::convert::From<VERSIONCall> for UnderlyingRustTuple<'_> {
7196 fn from(value: VERSIONCall) -> Self {
7197 ()
7198 }
7199 }
7200 #[automatically_derived]
7201 #[doc(hidden)]
7202 impl ::core::convert::From<UnderlyingRustTuple<'_>> for VERSIONCall {
7203 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7204 Self
7205 }
7206 }
7207 }
7208 {
7209 #[doc(hidden)]
7210 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
7211 #[doc(hidden)]
7212 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
7213 #[cfg(test)]
7214 #[allow(dead_code, unreachable_patterns)]
7215 fn _type_assertion(
7216 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7217 ) {
7218 match _t {
7219 alloy_sol_types::private::AssertTypeEq::<
7220 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7221 >(_) => {}
7222 }
7223 }
7224 #[automatically_derived]
7225 #[doc(hidden)]
7226 impl ::core::convert::From<VERSIONReturn> for UnderlyingRustTuple<'_> {
7227 fn from(value: VERSIONReturn) -> Self {
7228 (value._0,)
7229 }
7230 }
7231 #[automatically_derived]
7232 #[doc(hidden)]
7233 impl ::core::convert::From<UnderlyingRustTuple<'_>> for VERSIONReturn {
7234 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7235 Self { _0: tuple.0 }
7236 }
7237 }
7238 }
7239 #[automatically_derived]
7240 impl alloy_sol_types::SolCall for VERSIONCall {
7241 type Parameters<'a> = ();
7242 type Token<'a> = <Self::Parameters<
7243 'a,
7244 > as alloy_sol_types::SolType>::Token<'a>;
7245 type Return = alloy::sol_types::private::String;
7246 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
7247 type ReturnToken<'a> = <Self::ReturnTuple<
7248 'a,
7249 > as alloy_sol_types::SolType>::Token<'a>;
7250 const SIGNATURE: &'static str = "VERSION()";
7251 const SELECTOR: [u8; 4] = [255u8, 161u8, 173u8, 116u8];
7252 #[inline]
7253 fn new<'a>(
7254 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7255 ) -> Self {
7256 tuple.into()
7257 }
7258 #[inline]
7259 fn tokenize(&self) -> Self::Token<'_> {
7260 ()
7261 }
7262 #[inline]
7263 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7264 (
7265 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
7266 ret,
7267 ),
7268 )
7269 }
7270 #[inline]
7271 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7272 <Self::ReturnTuple<
7273 '_,
7274 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7275 .map(|r| {
7276 let r: VERSIONReturn = r.into();
7277 r._0
7278 })
7279 }
7280 #[inline]
7281 fn abi_decode_returns_validate(
7282 data: &[u8],
7283 ) -> alloy_sol_types::Result<Self::Return> {
7284 <Self::ReturnTuple<
7285 '_,
7286 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7287 .map(|r| {
7288 let r: VERSIONReturn = r.into();
7289 r._0
7290 })
7291 }
7292 }
7293 };
7294 #[derive(serde::Serialize, serde::Deserialize)]
7295 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7296 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7301 #[derive(Clone)]
7302 pub struct _currentBlockTimestampCall;
7303 #[derive(serde::Serialize, serde::Deserialize)]
7304 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7305 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7307 #[derive(Clone)]
7308 pub struct _currentBlockTimestampReturn {
7309 #[allow(missing_docs)]
7310 pub _0: <Timestamp as alloy::sol_types::SolType>::RustType,
7311 }
7312 #[allow(
7313 non_camel_case_types,
7314 non_snake_case,
7315 clippy::pub_underscore_fields,
7316 clippy::style
7317 )]
7318 const _: () = {
7319 use alloy::sol_types as alloy_sol_types;
7320 {
7321 #[doc(hidden)]
7322 type UnderlyingSolTuple<'a> = ();
7323 #[doc(hidden)]
7324 type UnderlyingRustTuple<'a> = ();
7325 #[cfg(test)]
7326 #[allow(dead_code, unreachable_patterns)]
7327 fn _type_assertion(
7328 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7329 ) {
7330 match _t {
7331 alloy_sol_types::private::AssertTypeEq::<
7332 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7333 >(_) => {}
7334 }
7335 }
7336 #[automatically_derived]
7337 #[doc(hidden)]
7338 impl ::core::convert::From<_currentBlockTimestampCall>
7339 for UnderlyingRustTuple<'_> {
7340 fn from(value: _currentBlockTimestampCall) -> Self {
7341 ()
7342 }
7343 }
7344 #[automatically_derived]
7345 #[doc(hidden)]
7346 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7347 for _currentBlockTimestampCall {
7348 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7349 Self
7350 }
7351 }
7352 }
7353 {
7354 #[doc(hidden)]
7355 type UnderlyingSolTuple<'a> = (Timestamp,);
7356 #[doc(hidden)]
7357 type UnderlyingRustTuple<'a> = (
7358 <Timestamp as alloy::sol_types::SolType>::RustType,
7359 );
7360 #[cfg(test)]
7361 #[allow(dead_code, unreachable_patterns)]
7362 fn _type_assertion(
7363 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7364 ) {
7365 match _t {
7366 alloy_sol_types::private::AssertTypeEq::<
7367 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7368 >(_) => {}
7369 }
7370 }
7371 #[automatically_derived]
7372 #[doc(hidden)]
7373 impl ::core::convert::From<_currentBlockTimestampReturn>
7374 for UnderlyingRustTuple<'_> {
7375 fn from(value: _currentBlockTimestampReturn) -> Self {
7376 (value._0,)
7377 }
7378 }
7379 #[automatically_derived]
7380 #[doc(hidden)]
7381 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7382 for _currentBlockTimestampReturn {
7383 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7384 Self { _0: tuple.0 }
7385 }
7386 }
7387 }
7388 #[automatically_derived]
7389 impl alloy_sol_types::SolCall for _currentBlockTimestampCall {
7390 type Parameters<'a> = ();
7391 type Token<'a> = <Self::Parameters<
7392 'a,
7393 > as alloy_sol_types::SolType>::Token<'a>;
7394 type Return = <Timestamp as alloy::sol_types::SolType>::RustType;
7395 type ReturnTuple<'a> = (Timestamp,);
7396 type ReturnToken<'a> = <Self::ReturnTuple<
7397 'a,
7398 > as alloy_sol_types::SolType>::Token<'a>;
7399 const SIGNATURE: &'static str = "_currentBlockTimestamp()";
7400 const SELECTOR: [u8; 4] = [185u8, 32u8, 222u8, 237u8];
7401 #[inline]
7402 fn new<'a>(
7403 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7404 ) -> Self {
7405 tuple.into()
7406 }
7407 #[inline]
7408 fn tokenize(&self) -> Self::Token<'_> {
7409 ()
7410 }
7411 #[inline]
7412 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7413 (<Timestamp as alloy_sol_types::SolType>::tokenize(ret),)
7414 }
7415 #[inline]
7416 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7417 <Self::ReturnTuple<
7418 '_,
7419 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7420 .map(|r| {
7421 let r: _currentBlockTimestampReturn = r.into();
7422 r._0
7423 })
7424 }
7425 #[inline]
7426 fn abi_decode_returns_validate(
7427 data: &[u8],
7428 ) -> alloy_sol_types::Result<Self::Return> {
7429 <Self::ReturnTuple<
7430 '_,
7431 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7432 .map(|r| {
7433 let r: _currentBlockTimestampReturn = r.into();
7434 r._0
7435 })
7436 }
7437 }
7438 };
7439 #[derive(serde::Serialize, serde::Deserialize)]
7440 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7441 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7446 #[derive(Clone)]
7447 pub struct _getChannelIdCall {
7448 #[allow(missing_docs)]
7449 pub source: alloy::sol_types::private::Address,
7450 #[allow(missing_docs)]
7451 pub destination: alloy::sol_types::private::Address,
7452 }
7453 #[derive(serde::Serialize, serde::Deserialize)]
7454 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7455 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7457 #[derive(Clone)]
7458 pub struct _getChannelIdReturn {
7459 #[allow(missing_docs)]
7460 pub _0: alloy::sol_types::private::FixedBytes<32>,
7461 }
7462 #[allow(
7463 non_camel_case_types,
7464 non_snake_case,
7465 clippy::pub_underscore_fields,
7466 clippy::style
7467 )]
7468 const _: () = {
7469 use alloy::sol_types as alloy_sol_types;
7470 {
7471 #[doc(hidden)]
7472 type UnderlyingSolTuple<'a> = (
7473 alloy::sol_types::sol_data::Address,
7474 alloy::sol_types::sol_data::Address,
7475 );
7476 #[doc(hidden)]
7477 type UnderlyingRustTuple<'a> = (
7478 alloy::sol_types::private::Address,
7479 alloy::sol_types::private::Address,
7480 );
7481 #[cfg(test)]
7482 #[allow(dead_code, unreachable_patterns)]
7483 fn _type_assertion(
7484 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7485 ) {
7486 match _t {
7487 alloy_sol_types::private::AssertTypeEq::<
7488 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7489 >(_) => {}
7490 }
7491 }
7492 #[automatically_derived]
7493 #[doc(hidden)]
7494 impl ::core::convert::From<_getChannelIdCall> for UnderlyingRustTuple<'_> {
7495 fn from(value: _getChannelIdCall) -> Self {
7496 (value.source, value.destination)
7497 }
7498 }
7499 #[automatically_derived]
7500 #[doc(hidden)]
7501 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _getChannelIdCall {
7502 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7503 Self {
7504 source: tuple.0,
7505 destination: tuple.1,
7506 }
7507 }
7508 }
7509 }
7510 {
7511 #[doc(hidden)]
7512 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7513 #[doc(hidden)]
7514 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7515 #[cfg(test)]
7516 #[allow(dead_code, unreachable_patterns)]
7517 fn _type_assertion(
7518 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7519 ) {
7520 match _t {
7521 alloy_sol_types::private::AssertTypeEq::<
7522 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7523 >(_) => {}
7524 }
7525 }
7526 #[automatically_derived]
7527 #[doc(hidden)]
7528 impl ::core::convert::From<_getChannelIdReturn> for UnderlyingRustTuple<'_> {
7529 fn from(value: _getChannelIdReturn) -> Self {
7530 (value._0,)
7531 }
7532 }
7533 #[automatically_derived]
7534 #[doc(hidden)]
7535 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _getChannelIdReturn {
7536 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7537 Self { _0: tuple.0 }
7538 }
7539 }
7540 }
7541 #[automatically_derived]
7542 impl alloy_sol_types::SolCall for _getChannelIdCall {
7543 type Parameters<'a> = (
7544 alloy::sol_types::sol_data::Address,
7545 alloy::sol_types::sol_data::Address,
7546 );
7547 type Token<'a> = <Self::Parameters<
7548 'a,
7549 > as alloy_sol_types::SolType>::Token<'a>;
7550 type Return = alloy::sol_types::private::FixedBytes<32>;
7551 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7552 type ReturnToken<'a> = <Self::ReturnTuple<
7553 'a,
7554 > as alloy_sol_types::SolType>::Token<'a>;
7555 const SIGNATURE: &'static str = "_getChannelId(address,address)";
7556 const SELECTOR: [u8; 4] = [190u8, 155u8, 171u8, 220u8];
7557 #[inline]
7558 fn new<'a>(
7559 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7560 ) -> Self {
7561 tuple.into()
7562 }
7563 #[inline]
7564 fn tokenize(&self) -> Self::Token<'_> {
7565 (
7566 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7567 &self.source,
7568 ),
7569 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7570 &self.destination,
7571 ),
7572 )
7573 }
7574 #[inline]
7575 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7576 (
7577 <alloy::sol_types::sol_data::FixedBytes<
7578 32,
7579 > as alloy_sol_types::SolType>::tokenize(ret),
7580 )
7581 }
7582 #[inline]
7583 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7584 <Self::ReturnTuple<
7585 '_,
7586 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7587 .map(|r| {
7588 let r: _getChannelIdReturn = r.into();
7589 r._0
7590 })
7591 }
7592 #[inline]
7593 fn abi_decode_returns_validate(
7594 data: &[u8],
7595 ) -> alloy_sol_types::Result<Self::Return> {
7596 <Self::ReturnTuple<
7597 '_,
7598 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7599 .map(|r| {
7600 let r: _getChannelIdReturn = r.into();
7601 r._0
7602 })
7603 }
7604 }
7605 };
7606 #[derive(serde::Serialize, serde::Deserialize)]
7607 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7608 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7613 #[derive(Clone)]
7614 pub struct _getTicketHashCall {
7615 #[allow(missing_docs)]
7616 pub redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
7617 }
7618 #[derive(serde::Serialize, serde::Deserialize)]
7619 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7620 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7622 #[derive(Clone)]
7623 pub struct _getTicketHashReturn {
7624 #[allow(missing_docs)]
7625 pub _0: alloy::sol_types::private::FixedBytes<32>,
7626 }
7627 #[allow(
7628 non_camel_case_types,
7629 non_snake_case,
7630 clippy::pub_underscore_fields,
7631 clippy::style
7632 )]
7633 const _: () = {
7634 use alloy::sol_types as alloy_sol_types;
7635 {
7636 #[doc(hidden)]
7637 type UnderlyingSolTuple<'a> = (RedeemableTicket,);
7638 #[doc(hidden)]
7639 type UnderlyingRustTuple<'a> = (
7640 <RedeemableTicket as alloy::sol_types::SolType>::RustType,
7641 );
7642 #[cfg(test)]
7643 #[allow(dead_code, unreachable_patterns)]
7644 fn _type_assertion(
7645 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7646 ) {
7647 match _t {
7648 alloy_sol_types::private::AssertTypeEq::<
7649 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7650 >(_) => {}
7651 }
7652 }
7653 #[automatically_derived]
7654 #[doc(hidden)]
7655 impl ::core::convert::From<_getTicketHashCall> for UnderlyingRustTuple<'_> {
7656 fn from(value: _getTicketHashCall) -> Self {
7657 (value.redeemable,)
7658 }
7659 }
7660 #[automatically_derived]
7661 #[doc(hidden)]
7662 impl ::core::convert::From<UnderlyingRustTuple<'_>> for _getTicketHashCall {
7663 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7664 Self { redeemable: tuple.0 }
7665 }
7666 }
7667 }
7668 {
7669 #[doc(hidden)]
7670 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7671 #[doc(hidden)]
7672 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
7673 #[cfg(test)]
7674 #[allow(dead_code, unreachable_patterns)]
7675 fn _type_assertion(
7676 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7677 ) {
7678 match _t {
7679 alloy_sol_types::private::AssertTypeEq::<
7680 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7681 >(_) => {}
7682 }
7683 }
7684 #[automatically_derived]
7685 #[doc(hidden)]
7686 impl ::core::convert::From<_getTicketHashReturn>
7687 for UnderlyingRustTuple<'_> {
7688 fn from(value: _getTicketHashReturn) -> Self {
7689 (value._0,)
7690 }
7691 }
7692 #[automatically_derived]
7693 #[doc(hidden)]
7694 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7695 for _getTicketHashReturn {
7696 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7697 Self { _0: tuple.0 }
7698 }
7699 }
7700 }
7701 #[automatically_derived]
7702 impl alloy_sol_types::SolCall for _getTicketHashCall {
7703 type Parameters<'a> = (RedeemableTicket,);
7704 type Token<'a> = <Self::Parameters<
7705 'a,
7706 > as alloy_sol_types::SolType>::Token<'a>;
7707 type Return = alloy::sol_types::private::FixedBytes<32>;
7708 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
7709 type ReturnToken<'a> = <Self::ReturnTuple<
7710 'a,
7711 > as alloy_sol_types::SolType>::Token<'a>;
7712 const SIGNATURE: &'static str = "_getTicketHash(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256))";
7713 const SELECTOR: [u8; 4] = [36u8, 8u8, 108u8, 194u8];
7714 #[inline]
7715 fn new<'a>(
7716 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7717 ) -> Self {
7718 tuple.into()
7719 }
7720 #[inline]
7721 fn tokenize(&self) -> Self::Token<'_> {
7722 (
7723 <RedeemableTicket as alloy_sol_types::SolType>::tokenize(
7724 &self.redeemable,
7725 ),
7726 )
7727 }
7728 #[inline]
7729 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7730 (
7731 <alloy::sol_types::sol_data::FixedBytes<
7732 32,
7733 > as alloy_sol_types::SolType>::tokenize(ret),
7734 )
7735 }
7736 #[inline]
7737 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7738 <Self::ReturnTuple<
7739 '_,
7740 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7741 .map(|r| {
7742 let r: _getTicketHashReturn = r.into();
7743 r._0
7744 })
7745 }
7746 #[inline]
7747 fn abi_decode_returns_validate(
7748 data: &[u8],
7749 ) -> alloy_sol_types::Result<Self::Return> {
7750 <Self::ReturnTuple<
7751 '_,
7752 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7753 .map(|r| {
7754 let r: _getTicketHashReturn = r.into();
7755 r._0
7756 })
7757 }
7758 }
7759 };
7760 #[derive(serde::Serialize, serde::Deserialize)]
7761 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7762 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7767 #[derive(Clone)]
7768 pub struct _isWinningTicketCall {
7769 #[allow(missing_docs)]
7770 pub ticketHash: alloy::sol_types::private::FixedBytes<32>,
7771 #[allow(missing_docs)]
7772 pub redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
7773 #[allow(missing_docs)]
7774 pub params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
7775 }
7776 #[derive(serde::Serialize, serde::Deserialize)]
7777 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7778 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7780 #[derive(Clone)]
7781 pub struct _isWinningTicketReturn {
7782 #[allow(missing_docs)]
7783 pub _0: bool,
7784 }
7785 #[allow(
7786 non_camel_case_types,
7787 non_snake_case,
7788 clippy::pub_underscore_fields,
7789 clippy::style
7790 )]
7791 const _: () = {
7792 use alloy::sol_types as alloy_sol_types;
7793 {
7794 #[doc(hidden)]
7795 type UnderlyingSolTuple<'a> = (
7796 alloy::sol_types::sol_data::FixedBytes<32>,
7797 RedeemableTicket,
7798 HoprCrypto::VRFParameters,
7799 );
7800 #[doc(hidden)]
7801 type UnderlyingRustTuple<'a> = (
7802 alloy::sol_types::private::FixedBytes<32>,
7803 <RedeemableTicket as alloy::sol_types::SolType>::RustType,
7804 <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
7805 );
7806 #[cfg(test)]
7807 #[allow(dead_code, unreachable_patterns)]
7808 fn _type_assertion(
7809 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7810 ) {
7811 match _t {
7812 alloy_sol_types::private::AssertTypeEq::<
7813 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7814 >(_) => {}
7815 }
7816 }
7817 #[automatically_derived]
7818 #[doc(hidden)]
7819 impl ::core::convert::From<_isWinningTicketCall>
7820 for UnderlyingRustTuple<'_> {
7821 fn from(value: _isWinningTicketCall) -> Self {
7822 (value.ticketHash, value.redeemable, value.params)
7823 }
7824 }
7825 #[automatically_derived]
7826 #[doc(hidden)]
7827 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7828 for _isWinningTicketCall {
7829 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7830 Self {
7831 ticketHash: tuple.0,
7832 redeemable: tuple.1,
7833 params: tuple.2,
7834 }
7835 }
7836 }
7837 }
7838 {
7839 #[doc(hidden)]
7840 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7841 #[doc(hidden)]
7842 type UnderlyingRustTuple<'a> = (bool,);
7843 #[cfg(test)]
7844 #[allow(dead_code, unreachable_patterns)]
7845 fn _type_assertion(
7846 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7847 ) {
7848 match _t {
7849 alloy_sol_types::private::AssertTypeEq::<
7850 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7851 >(_) => {}
7852 }
7853 }
7854 #[automatically_derived]
7855 #[doc(hidden)]
7856 impl ::core::convert::From<_isWinningTicketReturn>
7857 for UnderlyingRustTuple<'_> {
7858 fn from(value: _isWinningTicketReturn) -> Self {
7859 (value._0,)
7860 }
7861 }
7862 #[automatically_derived]
7863 #[doc(hidden)]
7864 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7865 for _isWinningTicketReturn {
7866 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7867 Self { _0: tuple.0 }
7868 }
7869 }
7870 }
7871 #[automatically_derived]
7872 impl alloy_sol_types::SolCall for _isWinningTicketCall {
7873 type Parameters<'a> = (
7874 alloy::sol_types::sol_data::FixedBytes<32>,
7875 RedeemableTicket,
7876 HoprCrypto::VRFParameters,
7877 );
7878 type Token<'a> = <Self::Parameters<
7879 'a,
7880 > as alloy_sol_types::SolType>::Token<'a>;
7881 type Return = bool;
7882 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7883 type ReturnToken<'a> = <Self::ReturnTuple<
7884 'a,
7885 > as alloy_sol_types::SolType>::Token<'a>;
7886 const SIGNATURE: &'static str = "_isWinningTicket(bytes32,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))";
7887 const SELECTOR: [u8; 4] = [140u8, 55u8, 16u8, 201u8];
7888 #[inline]
7889 fn new<'a>(
7890 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7891 ) -> Self {
7892 tuple.into()
7893 }
7894 #[inline]
7895 fn tokenize(&self) -> Self::Token<'_> {
7896 (
7897 <alloy::sol_types::sol_data::FixedBytes<
7898 32,
7899 > as alloy_sol_types::SolType>::tokenize(&self.ticketHash),
7900 <RedeemableTicket as alloy_sol_types::SolType>::tokenize(
7901 &self.redeemable,
7902 ),
7903 <HoprCrypto::VRFParameters as alloy_sol_types::SolType>::tokenize(
7904 &self.params,
7905 ),
7906 )
7907 }
7908 #[inline]
7909 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7910 (
7911 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
7912 ret,
7913 ),
7914 )
7915 }
7916 #[inline]
7917 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7918 <Self::ReturnTuple<
7919 '_,
7920 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7921 .map(|r| {
7922 let r: _isWinningTicketReturn = r.into();
7923 r._0
7924 })
7925 }
7926 #[inline]
7927 fn abi_decode_returns_validate(
7928 data: &[u8],
7929 ) -> alloy_sol_types::Result<Self::Return> {
7930 <Self::ReturnTuple<
7931 '_,
7932 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7933 .map(|r| {
7934 let r: _isWinningTicketReturn = r.into();
7935 r._0
7936 })
7937 }
7938 }
7939 };
7940 #[derive(serde::Serialize, serde::Deserialize)]
7941 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7942 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7947 #[derive(Clone)]
7948 pub struct canImplementInterfaceForAddressCall {
7949 #[allow(missing_docs)]
7950 pub interfaceHash: alloy::sol_types::private::FixedBytes<32>,
7951 #[allow(missing_docs)]
7952 pub account: alloy::sol_types::private::Address,
7953 }
7954 #[derive(serde::Serialize, serde::Deserialize)]
7955 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7956 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7958 #[derive(Clone)]
7959 pub struct canImplementInterfaceForAddressReturn {
7960 #[allow(missing_docs)]
7961 pub _0: alloy::sol_types::private::FixedBytes<32>,
7962 }
7963 #[allow(
7964 non_camel_case_types,
7965 non_snake_case,
7966 clippy::pub_underscore_fields,
7967 clippy::style
7968 )]
7969 const _: () = {
7970 use alloy::sol_types as alloy_sol_types;
7971 {
7972 #[doc(hidden)]
7973 type UnderlyingSolTuple<'a> = (
7974 alloy::sol_types::sol_data::FixedBytes<32>,
7975 alloy::sol_types::sol_data::Address,
7976 );
7977 #[doc(hidden)]
7978 type UnderlyingRustTuple<'a> = (
7979 alloy::sol_types::private::FixedBytes<32>,
7980 alloy::sol_types::private::Address,
7981 );
7982 #[cfg(test)]
7983 #[allow(dead_code, unreachable_patterns)]
7984 fn _type_assertion(
7985 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7986 ) {
7987 match _t {
7988 alloy_sol_types::private::AssertTypeEq::<
7989 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7990 >(_) => {}
7991 }
7992 }
7993 #[automatically_derived]
7994 #[doc(hidden)]
7995 impl ::core::convert::From<canImplementInterfaceForAddressCall>
7996 for UnderlyingRustTuple<'_> {
7997 fn from(value: canImplementInterfaceForAddressCall) -> Self {
7998 (value.interfaceHash, value.account)
7999 }
8000 }
8001 #[automatically_derived]
8002 #[doc(hidden)]
8003 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8004 for canImplementInterfaceForAddressCall {
8005 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8006 Self {
8007 interfaceHash: tuple.0,
8008 account: tuple.1,
8009 }
8010 }
8011 }
8012 }
8013 {
8014 #[doc(hidden)]
8015 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8016 #[doc(hidden)]
8017 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8018 #[cfg(test)]
8019 #[allow(dead_code, unreachable_patterns)]
8020 fn _type_assertion(
8021 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8022 ) {
8023 match _t {
8024 alloy_sol_types::private::AssertTypeEq::<
8025 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8026 >(_) => {}
8027 }
8028 }
8029 #[automatically_derived]
8030 #[doc(hidden)]
8031 impl ::core::convert::From<canImplementInterfaceForAddressReturn>
8032 for UnderlyingRustTuple<'_> {
8033 fn from(value: canImplementInterfaceForAddressReturn) -> Self {
8034 (value._0,)
8035 }
8036 }
8037 #[automatically_derived]
8038 #[doc(hidden)]
8039 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8040 for canImplementInterfaceForAddressReturn {
8041 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8042 Self { _0: tuple.0 }
8043 }
8044 }
8045 }
8046 #[automatically_derived]
8047 impl alloy_sol_types::SolCall for canImplementInterfaceForAddressCall {
8048 type Parameters<'a> = (
8049 alloy::sol_types::sol_data::FixedBytes<32>,
8050 alloy::sol_types::sol_data::Address,
8051 );
8052 type Token<'a> = <Self::Parameters<
8053 'a,
8054 > as alloy_sol_types::SolType>::Token<'a>;
8055 type Return = alloy::sol_types::private::FixedBytes<32>;
8056 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8057 type ReturnToken<'a> = <Self::ReturnTuple<
8058 'a,
8059 > as alloy_sol_types::SolType>::Token<'a>;
8060 const SIGNATURE: &'static str = "canImplementInterfaceForAddress(bytes32,address)";
8061 const SELECTOR: [u8; 4] = [36u8, 156u8, 179u8, 250u8];
8062 #[inline]
8063 fn new<'a>(
8064 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8065 ) -> Self {
8066 tuple.into()
8067 }
8068 #[inline]
8069 fn tokenize(&self) -> Self::Token<'_> {
8070 (
8071 <alloy::sol_types::sol_data::FixedBytes<
8072 32,
8073 > as alloy_sol_types::SolType>::tokenize(&self.interfaceHash),
8074 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8075 &self.account,
8076 ),
8077 )
8078 }
8079 #[inline]
8080 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8081 (
8082 <alloy::sol_types::sol_data::FixedBytes<
8083 32,
8084 > as alloy_sol_types::SolType>::tokenize(ret),
8085 )
8086 }
8087 #[inline]
8088 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8089 <Self::ReturnTuple<
8090 '_,
8091 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8092 .map(|r| {
8093 let r: canImplementInterfaceForAddressReturn = r.into();
8094 r._0
8095 })
8096 }
8097 #[inline]
8098 fn abi_decode_returns_validate(
8099 data: &[u8],
8100 ) -> alloy_sol_types::Result<Self::Return> {
8101 <Self::ReturnTuple<
8102 '_,
8103 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8104 .map(|r| {
8105 let r: canImplementInterfaceForAddressReturn = r.into();
8106 r._0
8107 })
8108 }
8109 }
8110 };
8111 #[derive(serde::Serialize, serde::Deserialize)]
8112 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8113 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8118 #[derive(Clone)]
8119 pub struct channelsCall(pub alloy::sol_types::private::FixedBytes<32>);
8120 #[derive(serde::Serialize, serde::Deserialize)]
8121 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8122 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8124 #[derive(Clone)]
8125 pub struct channelsReturn {
8126 #[allow(missing_docs)]
8127 pub balance: <Balance as alloy::sol_types::SolType>::RustType,
8128 #[allow(missing_docs)]
8129 pub ticketIndex: <TicketIndex as alloy::sol_types::SolType>::RustType,
8130 #[allow(missing_docs)]
8131 pub closureTime: <Timestamp as alloy::sol_types::SolType>::RustType,
8132 #[allow(missing_docs)]
8133 pub epoch: <ChannelEpoch as alloy::sol_types::SolType>::RustType,
8134 #[allow(missing_docs)]
8135 pub status: <ChannelStatus as alloy::sol_types::SolType>::RustType,
8136 }
8137 #[allow(
8138 non_camel_case_types,
8139 non_snake_case,
8140 clippy::pub_underscore_fields,
8141 clippy::style
8142 )]
8143 const _: () = {
8144 use alloy::sol_types as alloy_sol_types;
8145 {
8146 #[doc(hidden)]
8147 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8148 #[doc(hidden)]
8149 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8150 #[cfg(test)]
8151 #[allow(dead_code, unreachable_patterns)]
8152 fn _type_assertion(
8153 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8154 ) {
8155 match _t {
8156 alloy_sol_types::private::AssertTypeEq::<
8157 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8158 >(_) => {}
8159 }
8160 }
8161 #[automatically_derived]
8162 #[doc(hidden)]
8163 impl ::core::convert::From<channelsCall> for UnderlyingRustTuple<'_> {
8164 fn from(value: channelsCall) -> Self {
8165 (value.0,)
8166 }
8167 }
8168 #[automatically_derived]
8169 #[doc(hidden)]
8170 impl ::core::convert::From<UnderlyingRustTuple<'_>> for channelsCall {
8171 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8172 Self(tuple.0)
8173 }
8174 }
8175 }
8176 {
8177 #[doc(hidden)]
8178 type UnderlyingSolTuple<'a> = (
8179 Balance,
8180 TicketIndex,
8181 Timestamp,
8182 ChannelEpoch,
8183 ChannelStatus,
8184 );
8185 #[doc(hidden)]
8186 type UnderlyingRustTuple<'a> = (
8187 <Balance as alloy::sol_types::SolType>::RustType,
8188 <TicketIndex as alloy::sol_types::SolType>::RustType,
8189 <Timestamp as alloy::sol_types::SolType>::RustType,
8190 <ChannelEpoch as alloy::sol_types::SolType>::RustType,
8191 <ChannelStatus as alloy::sol_types::SolType>::RustType,
8192 );
8193 #[cfg(test)]
8194 #[allow(dead_code, unreachable_patterns)]
8195 fn _type_assertion(
8196 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8197 ) {
8198 match _t {
8199 alloy_sol_types::private::AssertTypeEq::<
8200 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8201 >(_) => {}
8202 }
8203 }
8204 #[automatically_derived]
8205 #[doc(hidden)]
8206 impl ::core::convert::From<channelsReturn> for UnderlyingRustTuple<'_> {
8207 fn from(value: channelsReturn) -> Self {
8208 (
8209 value.balance,
8210 value.ticketIndex,
8211 value.closureTime,
8212 value.epoch,
8213 value.status,
8214 )
8215 }
8216 }
8217 #[automatically_derived]
8218 #[doc(hidden)]
8219 impl ::core::convert::From<UnderlyingRustTuple<'_>> for channelsReturn {
8220 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8221 Self {
8222 balance: tuple.0,
8223 ticketIndex: tuple.1,
8224 closureTime: tuple.2,
8225 epoch: tuple.3,
8226 status: tuple.4,
8227 }
8228 }
8229 }
8230 }
8231 impl channelsReturn {
8232 fn _tokenize(
8233 &self,
8234 ) -> <channelsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
8235 (
8236 <Balance as alloy_sol_types::SolType>::tokenize(&self.balance),
8237 <TicketIndex as alloy_sol_types::SolType>::tokenize(
8238 &self.ticketIndex,
8239 ),
8240 <Timestamp as alloy_sol_types::SolType>::tokenize(&self.closureTime),
8241 <ChannelEpoch as alloy_sol_types::SolType>::tokenize(&self.epoch),
8242 <ChannelStatus as alloy_sol_types::SolType>::tokenize(&self.status),
8243 )
8244 }
8245 }
8246 #[automatically_derived]
8247 impl alloy_sol_types::SolCall for channelsCall {
8248 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8249 type Token<'a> = <Self::Parameters<
8250 'a,
8251 > as alloy_sol_types::SolType>::Token<'a>;
8252 type Return = channelsReturn;
8253 type ReturnTuple<'a> = (
8254 Balance,
8255 TicketIndex,
8256 Timestamp,
8257 ChannelEpoch,
8258 ChannelStatus,
8259 );
8260 type ReturnToken<'a> = <Self::ReturnTuple<
8261 'a,
8262 > as alloy_sol_types::SolType>::Token<'a>;
8263 const SIGNATURE: &'static str = "channels(bytes32)";
8264 const SELECTOR: [u8; 4] = [122u8, 126u8, 189u8, 123u8];
8265 #[inline]
8266 fn new<'a>(
8267 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8268 ) -> Self {
8269 tuple.into()
8270 }
8271 #[inline]
8272 fn tokenize(&self) -> Self::Token<'_> {
8273 (
8274 <alloy::sol_types::sol_data::FixedBytes<
8275 32,
8276 > as alloy_sol_types::SolType>::tokenize(&self.0),
8277 )
8278 }
8279 #[inline]
8280 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8281 channelsReturn::_tokenize(ret)
8282 }
8283 #[inline]
8284 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8285 <Self::ReturnTuple<
8286 '_,
8287 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8288 .map(Into::into)
8289 }
8290 #[inline]
8291 fn abi_decode_returns_validate(
8292 data: &[u8],
8293 ) -> alloy_sol_types::Result<Self::Return> {
8294 <Self::ReturnTuple<
8295 '_,
8296 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8297 .map(Into::into)
8298 }
8299 }
8300 };
8301 #[derive(serde::Serialize, serde::Deserialize)]
8302 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8303 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8308 #[derive(Clone)]
8309 pub struct closeIncomingChannelCall {
8310 #[allow(missing_docs)]
8311 pub source: alloy::sol_types::private::Address,
8312 }
8313 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8315 #[derive(Clone)]
8316 pub struct closeIncomingChannelReturn {}
8317 #[allow(
8318 non_camel_case_types,
8319 non_snake_case,
8320 clippy::pub_underscore_fields,
8321 clippy::style
8322 )]
8323 const _: () = {
8324 use alloy::sol_types as alloy_sol_types;
8325 {
8326 #[doc(hidden)]
8327 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8328 #[doc(hidden)]
8329 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8330 #[cfg(test)]
8331 #[allow(dead_code, unreachable_patterns)]
8332 fn _type_assertion(
8333 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8334 ) {
8335 match _t {
8336 alloy_sol_types::private::AssertTypeEq::<
8337 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8338 >(_) => {}
8339 }
8340 }
8341 #[automatically_derived]
8342 #[doc(hidden)]
8343 impl ::core::convert::From<closeIncomingChannelCall>
8344 for UnderlyingRustTuple<'_> {
8345 fn from(value: closeIncomingChannelCall) -> Self {
8346 (value.source,)
8347 }
8348 }
8349 #[automatically_derived]
8350 #[doc(hidden)]
8351 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8352 for closeIncomingChannelCall {
8353 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8354 Self { source: tuple.0 }
8355 }
8356 }
8357 }
8358 {
8359 #[doc(hidden)]
8360 type UnderlyingSolTuple<'a> = ();
8361 #[doc(hidden)]
8362 type UnderlyingRustTuple<'a> = ();
8363 #[cfg(test)]
8364 #[allow(dead_code, unreachable_patterns)]
8365 fn _type_assertion(
8366 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8367 ) {
8368 match _t {
8369 alloy_sol_types::private::AssertTypeEq::<
8370 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8371 >(_) => {}
8372 }
8373 }
8374 #[automatically_derived]
8375 #[doc(hidden)]
8376 impl ::core::convert::From<closeIncomingChannelReturn>
8377 for UnderlyingRustTuple<'_> {
8378 fn from(value: closeIncomingChannelReturn) -> Self {
8379 ()
8380 }
8381 }
8382 #[automatically_derived]
8383 #[doc(hidden)]
8384 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8385 for closeIncomingChannelReturn {
8386 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8387 Self {}
8388 }
8389 }
8390 }
8391 impl closeIncomingChannelReturn {
8392 fn _tokenize(
8393 &self,
8394 ) -> <closeIncomingChannelCall as alloy_sol_types::SolCall>::ReturnToken<
8395 '_,
8396 > {
8397 ()
8398 }
8399 }
8400 #[automatically_derived]
8401 impl alloy_sol_types::SolCall for closeIncomingChannelCall {
8402 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8403 type Token<'a> = <Self::Parameters<
8404 'a,
8405 > as alloy_sol_types::SolType>::Token<'a>;
8406 type Return = closeIncomingChannelReturn;
8407 type ReturnTuple<'a> = ();
8408 type ReturnToken<'a> = <Self::ReturnTuple<
8409 'a,
8410 > as alloy_sol_types::SolType>::Token<'a>;
8411 const SIGNATURE: &'static str = "closeIncomingChannel(address)";
8412 const SELECTOR: [u8; 4] = [26u8, 127u8, 254u8, 122u8];
8413 #[inline]
8414 fn new<'a>(
8415 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8416 ) -> Self {
8417 tuple.into()
8418 }
8419 #[inline]
8420 fn tokenize(&self) -> Self::Token<'_> {
8421 (
8422 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8423 &self.source,
8424 ),
8425 )
8426 }
8427 #[inline]
8428 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8429 closeIncomingChannelReturn::_tokenize(ret)
8430 }
8431 #[inline]
8432 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8433 <Self::ReturnTuple<
8434 '_,
8435 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8436 .map(Into::into)
8437 }
8438 #[inline]
8439 fn abi_decode_returns_validate(
8440 data: &[u8],
8441 ) -> alloy_sol_types::Result<Self::Return> {
8442 <Self::ReturnTuple<
8443 '_,
8444 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8445 .map(Into::into)
8446 }
8447 }
8448 };
8449 #[derive(serde::Serialize, serde::Deserialize)]
8450 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8451 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8456 #[derive(Clone)]
8457 pub struct closeIncomingChannelSafeCall {
8458 #[allow(missing_docs)]
8459 pub selfAddress: alloy::sol_types::private::Address,
8460 #[allow(missing_docs)]
8461 pub source: alloy::sol_types::private::Address,
8462 }
8463 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8465 #[derive(Clone)]
8466 pub struct closeIncomingChannelSafeReturn {}
8467 #[allow(
8468 non_camel_case_types,
8469 non_snake_case,
8470 clippy::pub_underscore_fields,
8471 clippy::style
8472 )]
8473 const _: () = {
8474 use alloy::sol_types as alloy_sol_types;
8475 {
8476 #[doc(hidden)]
8477 type UnderlyingSolTuple<'a> = (
8478 alloy::sol_types::sol_data::Address,
8479 alloy::sol_types::sol_data::Address,
8480 );
8481 #[doc(hidden)]
8482 type UnderlyingRustTuple<'a> = (
8483 alloy::sol_types::private::Address,
8484 alloy::sol_types::private::Address,
8485 );
8486 #[cfg(test)]
8487 #[allow(dead_code, unreachable_patterns)]
8488 fn _type_assertion(
8489 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8490 ) {
8491 match _t {
8492 alloy_sol_types::private::AssertTypeEq::<
8493 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8494 >(_) => {}
8495 }
8496 }
8497 #[automatically_derived]
8498 #[doc(hidden)]
8499 impl ::core::convert::From<closeIncomingChannelSafeCall>
8500 for UnderlyingRustTuple<'_> {
8501 fn from(value: closeIncomingChannelSafeCall) -> Self {
8502 (value.selfAddress, value.source)
8503 }
8504 }
8505 #[automatically_derived]
8506 #[doc(hidden)]
8507 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8508 for closeIncomingChannelSafeCall {
8509 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8510 Self {
8511 selfAddress: tuple.0,
8512 source: tuple.1,
8513 }
8514 }
8515 }
8516 }
8517 {
8518 #[doc(hidden)]
8519 type UnderlyingSolTuple<'a> = ();
8520 #[doc(hidden)]
8521 type UnderlyingRustTuple<'a> = ();
8522 #[cfg(test)]
8523 #[allow(dead_code, unreachable_patterns)]
8524 fn _type_assertion(
8525 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8526 ) {
8527 match _t {
8528 alloy_sol_types::private::AssertTypeEq::<
8529 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8530 >(_) => {}
8531 }
8532 }
8533 #[automatically_derived]
8534 #[doc(hidden)]
8535 impl ::core::convert::From<closeIncomingChannelSafeReturn>
8536 for UnderlyingRustTuple<'_> {
8537 fn from(value: closeIncomingChannelSafeReturn) -> Self {
8538 ()
8539 }
8540 }
8541 #[automatically_derived]
8542 #[doc(hidden)]
8543 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8544 for closeIncomingChannelSafeReturn {
8545 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8546 Self {}
8547 }
8548 }
8549 }
8550 impl closeIncomingChannelSafeReturn {
8551 fn _tokenize(
8552 &self,
8553 ) -> <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::ReturnToken<
8554 '_,
8555 > {
8556 ()
8557 }
8558 }
8559 #[automatically_derived]
8560 impl alloy_sol_types::SolCall for closeIncomingChannelSafeCall {
8561 type Parameters<'a> = (
8562 alloy::sol_types::sol_data::Address,
8563 alloy::sol_types::sol_data::Address,
8564 );
8565 type Token<'a> = <Self::Parameters<
8566 'a,
8567 > as alloy_sol_types::SolType>::Token<'a>;
8568 type Return = closeIncomingChannelSafeReturn;
8569 type ReturnTuple<'a> = ();
8570 type ReturnToken<'a> = <Self::ReturnTuple<
8571 'a,
8572 > as alloy_sol_types::SolType>::Token<'a>;
8573 const SIGNATURE: &'static str = "closeIncomingChannelSafe(address,address)";
8574 const SELECTOR: [u8; 4] = [84u8, 162u8, 237u8, 245u8];
8575 #[inline]
8576 fn new<'a>(
8577 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8578 ) -> Self {
8579 tuple.into()
8580 }
8581 #[inline]
8582 fn tokenize(&self) -> Self::Token<'_> {
8583 (
8584 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8585 &self.selfAddress,
8586 ),
8587 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8588 &self.source,
8589 ),
8590 )
8591 }
8592 #[inline]
8593 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8594 closeIncomingChannelSafeReturn::_tokenize(ret)
8595 }
8596 #[inline]
8597 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8598 <Self::ReturnTuple<
8599 '_,
8600 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8601 .map(Into::into)
8602 }
8603 #[inline]
8604 fn abi_decode_returns_validate(
8605 data: &[u8],
8606 ) -> alloy_sol_types::Result<Self::Return> {
8607 <Self::ReturnTuple<
8608 '_,
8609 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8610 .map(Into::into)
8611 }
8612 }
8613 };
8614 #[derive(serde::Serialize, serde::Deserialize)]
8615 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8616 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8621 #[derive(Clone)]
8622 pub struct domainSeparatorCall;
8623 #[derive(serde::Serialize, serde::Deserialize)]
8624 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8625 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8627 #[derive(Clone)]
8628 pub struct domainSeparatorReturn {
8629 #[allow(missing_docs)]
8630 pub _0: alloy::sol_types::private::FixedBytes<32>,
8631 }
8632 #[allow(
8633 non_camel_case_types,
8634 non_snake_case,
8635 clippy::pub_underscore_fields,
8636 clippy::style
8637 )]
8638 const _: () = {
8639 use alloy::sol_types as alloy_sol_types;
8640 {
8641 #[doc(hidden)]
8642 type UnderlyingSolTuple<'a> = ();
8643 #[doc(hidden)]
8644 type UnderlyingRustTuple<'a> = ();
8645 #[cfg(test)]
8646 #[allow(dead_code, unreachable_patterns)]
8647 fn _type_assertion(
8648 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8649 ) {
8650 match _t {
8651 alloy_sol_types::private::AssertTypeEq::<
8652 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8653 >(_) => {}
8654 }
8655 }
8656 #[automatically_derived]
8657 #[doc(hidden)]
8658 impl ::core::convert::From<domainSeparatorCall> for UnderlyingRustTuple<'_> {
8659 fn from(value: domainSeparatorCall) -> Self {
8660 ()
8661 }
8662 }
8663 #[automatically_derived]
8664 #[doc(hidden)]
8665 impl ::core::convert::From<UnderlyingRustTuple<'_>> for domainSeparatorCall {
8666 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8667 Self
8668 }
8669 }
8670 }
8671 {
8672 #[doc(hidden)]
8673 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8674 #[doc(hidden)]
8675 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
8676 #[cfg(test)]
8677 #[allow(dead_code, unreachable_patterns)]
8678 fn _type_assertion(
8679 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8680 ) {
8681 match _t {
8682 alloy_sol_types::private::AssertTypeEq::<
8683 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8684 >(_) => {}
8685 }
8686 }
8687 #[automatically_derived]
8688 #[doc(hidden)]
8689 impl ::core::convert::From<domainSeparatorReturn>
8690 for UnderlyingRustTuple<'_> {
8691 fn from(value: domainSeparatorReturn) -> Self {
8692 (value._0,)
8693 }
8694 }
8695 #[automatically_derived]
8696 #[doc(hidden)]
8697 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8698 for domainSeparatorReturn {
8699 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8700 Self { _0: tuple.0 }
8701 }
8702 }
8703 }
8704 #[automatically_derived]
8705 impl alloy_sol_types::SolCall for domainSeparatorCall {
8706 type Parameters<'a> = ();
8707 type Token<'a> = <Self::Parameters<
8708 'a,
8709 > as alloy_sol_types::SolType>::Token<'a>;
8710 type Return = alloy::sol_types::private::FixedBytes<32>;
8711 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
8712 type ReturnToken<'a> = <Self::ReturnTuple<
8713 'a,
8714 > as alloy_sol_types::SolType>::Token<'a>;
8715 const SIGNATURE: &'static str = "domainSeparator()";
8716 const SELECTOR: [u8; 4] = [246u8, 152u8, 218u8, 37u8];
8717 #[inline]
8718 fn new<'a>(
8719 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8720 ) -> Self {
8721 tuple.into()
8722 }
8723 #[inline]
8724 fn tokenize(&self) -> Self::Token<'_> {
8725 ()
8726 }
8727 #[inline]
8728 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8729 (
8730 <alloy::sol_types::sol_data::FixedBytes<
8731 32,
8732 > as alloy_sol_types::SolType>::tokenize(ret),
8733 )
8734 }
8735 #[inline]
8736 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8737 <Self::ReturnTuple<
8738 '_,
8739 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8740 .map(|r| {
8741 let r: domainSeparatorReturn = r.into();
8742 r._0
8743 })
8744 }
8745 #[inline]
8746 fn abi_decode_returns_validate(
8747 data: &[u8],
8748 ) -> alloy_sol_types::Result<Self::Return> {
8749 <Self::ReturnTuple<
8750 '_,
8751 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8752 .map(|r| {
8753 let r: domainSeparatorReturn = r.into();
8754 r._0
8755 })
8756 }
8757 }
8758 };
8759 #[derive(serde::Serialize, serde::Deserialize)]
8760 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8761 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8766 #[derive(Clone)]
8767 pub struct finalizeOutgoingChannelClosureCall {
8768 #[allow(missing_docs)]
8769 pub destination: alloy::sol_types::private::Address,
8770 }
8771 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8773 #[derive(Clone)]
8774 pub struct finalizeOutgoingChannelClosureReturn {}
8775 #[allow(
8776 non_camel_case_types,
8777 non_snake_case,
8778 clippy::pub_underscore_fields,
8779 clippy::style
8780 )]
8781 const _: () = {
8782 use alloy::sol_types as alloy_sol_types;
8783 {
8784 #[doc(hidden)]
8785 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
8786 #[doc(hidden)]
8787 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
8788 #[cfg(test)]
8789 #[allow(dead_code, unreachable_patterns)]
8790 fn _type_assertion(
8791 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8792 ) {
8793 match _t {
8794 alloy_sol_types::private::AssertTypeEq::<
8795 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8796 >(_) => {}
8797 }
8798 }
8799 #[automatically_derived]
8800 #[doc(hidden)]
8801 impl ::core::convert::From<finalizeOutgoingChannelClosureCall>
8802 for UnderlyingRustTuple<'_> {
8803 fn from(value: finalizeOutgoingChannelClosureCall) -> Self {
8804 (value.destination,)
8805 }
8806 }
8807 #[automatically_derived]
8808 #[doc(hidden)]
8809 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8810 for finalizeOutgoingChannelClosureCall {
8811 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8812 Self { destination: tuple.0 }
8813 }
8814 }
8815 }
8816 {
8817 #[doc(hidden)]
8818 type UnderlyingSolTuple<'a> = ();
8819 #[doc(hidden)]
8820 type UnderlyingRustTuple<'a> = ();
8821 #[cfg(test)]
8822 #[allow(dead_code, unreachable_patterns)]
8823 fn _type_assertion(
8824 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8825 ) {
8826 match _t {
8827 alloy_sol_types::private::AssertTypeEq::<
8828 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8829 >(_) => {}
8830 }
8831 }
8832 #[automatically_derived]
8833 #[doc(hidden)]
8834 impl ::core::convert::From<finalizeOutgoingChannelClosureReturn>
8835 for UnderlyingRustTuple<'_> {
8836 fn from(value: finalizeOutgoingChannelClosureReturn) -> Self {
8837 ()
8838 }
8839 }
8840 #[automatically_derived]
8841 #[doc(hidden)]
8842 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8843 for finalizeOutgoingChannelClosureReturn {
8844 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8845 Self {}
8846 }
8847 }
8848 }
8849 impl finalizeOutgoingChannelClosureReturn {
8850 fn _tokenize(
8851 &self,
8852 ) -> <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::ReturnToken<
8853 '_,
8854 > {
8855 ()
8856 }
8857 }
8858 #[automatically_derived]
8859 impl alloy_sol_types::SolCall for finalizeOutgoingChannelClosureCall {
8860 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
8861 type Token<'a> = <Self::Parameters<
8862 'a,
8863 > as alloy_sol_types::SolType>::Token<'a>;
8864 type Return = finalizeOutgoingChannelClosureReturn;
8865 type ReturnTuple<'a> = ();
8866 type ReturnToken<'a> = <Self::ReturnTuple<
8867 'a,
8868 > as alloy_sol_types::SolType>::Token<'a>;
8869 const SIGNATURE: &'static str = "finalizeOutgoingChannelClosure(address)";
8870 const SELECTOR: [u8; 4] = [35u8, 203u8, 58u8, 192u8];
8871 #[inline]
8872 fn new<'a>(
8873 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
8874 ) -> Self {
8875 tuple.into()
8876 }
8877 #[inline]
8878 fn tokenize(&self) -> Self::Token<'_> {
8879 (
8880 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
8881 &self.destination,
8882 ),
8883 )
8884 }
8885 #[inline]
8886 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
8887 finalizeOutgoingChannelClosureReturn::_tokenize(ret)
8888 }
8889 #[inline]
8890 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
8891 <Self::ReturnTuple<
8892 '_,
8893 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
8894 .map(Into::into)
8895 }
8896 #[inline]
8897 fn abi_decode_returns_validate(
8898 data: &[u8],
8899 ) -> alloy_sol_types::Result<Self::Return> {
8900 <Self::ReturnTuple<
8901 '_,
8902 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
8903 .map(Into::into)
8904 }
8905 }
8906 };
8907 #[derive(serde::Serialize, serde::Deserialize)]
8908 #[derive(Default, Debug, PartialEq, Eq, Hash)]
8909 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8914 #[derive(Clone)]
8915 pub struct finalizeOutgoingChannelClosureSafeCall {
8916 #[allow(missing_docs)]
8917 pub selfAddress: alloy::sol_types::private::Address,
8918 #[allow(missing_docs)]
8919 pub destination: alloy::sol_types::private::Address,
8920 }
8921 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
8923 #[derive(Clone)]
8924 pub struct finalizeOutgoingChannelClosureSafeReturn {}
8925 #[allow(
8926 non_camel_case_types,
8927 non_snake_case,
8928 clippy::pub_underscore_fields,
8929 clippy::style
8930 )]
8931 const _: () = {
8932 use alloy::sol_types as alloy_sol_types;
8933 {
8934 #[doc(hidden)]
8935 type UnderlyingSolTuple<'a> = (
8936 alloy::sol_types::sol_data::Address,
8937 alloy::sol_types::sol_data::Address,
8938 );
8939 #[doc(hidden)]
8940 type UnderlyingRustTuple<'a> = (
8941 alloy::sol_types::private::Address,
8942 alloy::sol_types::private::Address,
8943 );
8944 #[cfg(test)]
8945 #[allow(dead_code, unreachable_patterns)]
8946 fn _type_assertion(
8947 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8948 ) {
8949 match _t {
8950 alloy_sol_types::private::AssertTypeEq::<
8951 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8952 >(_) => {}
8953 }
8954 }
8955 #[automatically_derived]
8956 #[doc(hidden)]
8957 impl ::core::convert::From<finalizeOutgoingChannelClosureSafeCall>
8958 for UnderlyingRustTuple<'_> {
8959 fn from(value: finalizeOutgoingChannelClosureSafeCall) -> Self {
8960 (value.selfAddress, value.destination)
8961 }
8962 }
8963 #[automatically_derived]
8964 #[doc(hidden)]
8965 impl ::core::convert::From<UnderlyingRustTuple<'_>>
8966 for finalizeOutgoingChannelClosureSafeCall {
8967 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
8968 Self {
8969 selfAddress: tuple.0,
8970 destination: tuple.1,
8971 }
8972 }
8973 }
8974 }
8975 {
8976 #[doc(hidden)]
8977 type UnderlyingSolTuple<'a> = ();
8978 #[doc(hidden)]
8979 type UnderlyingRustTuple<'a> = ();
8980 #[cfg(test)]
8981 #[allow(dead_code, unreachable_patterns)]
8982 fn _type_assertion(
8983 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
8984 ) {
8985 match _t {
8986 alloy_sol_types::private::AssertTypeEq::<
8987 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
8988 >(_) => {}
8989 }
8990 }
8991 #[automatically_derived]
8992 #[doc(hidden)]
8993 impl ::core::convert::From<finalizeOutgoingChannelClosureSafeReturn>
8994 for UnderlyingRustTuple<'_> {
8995 fn from(value: finalizeOutgoingChannelClosureSafeReturn) -> Self {
8996 ()
8997 }
8998 }
8999 #[automatically_derived]
9000 #[doc(hidden)]
9001 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9002 for finalizeOutgoingChannelClosureSafeReturn {
9003 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9004 Self {}
9005 }
9006 }
9007 }
9008 impl finalizeOutgoingChannelClosureSafeReturn {
9009 fn _tokenize(
9010 &self,
9011 ) -> <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::ReturnToken<
9012 '_,
9013 > {
9014 ()
9015 }
9016 }
9017 #[automatically_derived]
9018 impl alloy_sol_types::SolCall for finalizeOutgoingChannelClosureSafeCall {
9019 type Parameters<'a> = (
9020 alloy::sol_types::sol_data::Address,
9021 alloy::sol_types::sol_data::Address,
9022 );
9023 type Token<'a> = <Self::Parameters<
9024 'a,
9025 > as alloy_sol_types::SolType>::Token<'a>;
9026 type Return = finalizeOutgoingChannelClosureSafeReturn;
9027 type ReturnTuple<'a> = ();
9028 type ReturnToken<'a> = <Self::ReturnTuple<
9029 'a,
9030 > as alloy_sol_types::SolType>::Token<'a>;
9031 const SIGNATURE: &'static str = "finalizeOutgoingChannelClosureSafe(address,address)";
9032 const SELECTOR: [u8; 4] = [101u8, 21u8, 20u8, 191u8];
9033 #[inline]
9034 fn new<'a>(
9035 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9036 ) -> Self {
9037 tuple.into()
9038 }
9039 #[inline]
9040 fn tokenize(&self) -> Self::Token<'_> {
9041 (
9042 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9043 &self.selfAddress,
9044 ),
9045 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9046 &self.destination,
9047 ),
9048 )
9049 }
9050 #[inline]
9051 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9052 finalizeOutgoingChannelClosureSafeReturn::_tokenize(ret)
9053 }
9054 #[inline]
9055 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9056 <Self::ReturnTuple<
9057 '_,
9058 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9059 .map(Into::into)
9060 }
9061 #[inline]
9062 fn abi_decode_returns_validate(
9063 data: &[u8],
9064 ) -> alloy_sol_types::Result<Self::Return> {
9065 <Self::ReturnTuple<
9066 '_,
9067 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9068 .map(Into::into)
9069 }
9070 }
9071 };
9072 #[derive(serde::Serialize, serde::Deserialize)]
9073 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9074 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9079 #[derive(Clone)]
9080 pub struct fundChannelCall {
9081 #[allow(missing_docs)]
9082 pub account: alloy::sol_types::private::Address,
9083 #[allow(missing_docs)]
9084 pub amount: <Balance as alloy::sol_types::SolType>::RustType,
9085 }
9086 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9088 #[derive(Clone)]
9089 pub struct fundChannelReturn {}
9090 #[allow(
9091 non_camel_case_types,
9092 non_snake_case,
9093 clippy::pub_underscore_fields,
9094 clippy::style
9095 )]
9096 const _: () = {
9097 use alloy::sol_types as alloy_sol_types;
9098 {
9099 #[doc(hidden)]
9100 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address, Balance);
9101 #[doc(hidden)]
9102 type UnderlyingRustTuple<'a> = (
9103 alloy::sol_types::private::Address,
9104 <Balance as alloy::sol_types::SolType>::RustType,
9105 );
9106 #[cfg(test)]
9107 #[allow(dead_code, unreachable_patterns)]
9108 fn _type_assertion(
9109 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9110 ) {
9111 match _t {
9112 alloy_sol_types::private::AssertTypeEq::<
9113 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9114 >(_) => {}
9115 }
9116 }
9117 #[automatically_derived]
9118 #[doc(hidden)]
9119 impl ::core::convert::From<fundChannelCall> for UnderlyingRustTuple<'_> {
9120 fn from(value: fundChannelCall) -> Self {
9121 (value.account, value.amount)
9122 }
9123 }
9124 #[automatically_derived]
9125 #[doc(hidden)]
9126 impl ::core::convert::From<UnderlyingRustTuple<'_>> for fundChannelCall {
9127 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9128 Self {
9129 account: tuple.0,
9130 amount: tuple.1,
9131 }
9132 }
9133 }
9134 }
9135 {
9136 #[doc(hidden)]
9137 type UnderlyingSolTuple<'a> = ();
9138 #[doc(hidden)]
9139 type UnderlyingRustTuple<'a> = ();
9140 #[cfg(test)]
9141 #[allow(dead_code, unreachable_patterns)]
9142 fn _type_assertion(
9143 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9144 ) {
9145 match _t {
9146 alloy_sol_types::private::AssertTypeEq::<
9147 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9148 >(_) => {}
9149 }
9150 }
9151 #[automatically_derived]
9152 #[doc(hidden)]
9153 impl ::core::convert::From<fundChannelReturn> for UnderlyingRustTuple<'_> {
9154 fn from(value: fundChannelReturn) -> Self {
9155 ()
9156 }
9157 }
9158 #[automatically_derived]
9159 #[doc(hidden)]
9160 impl ::core::convert::From<UnderlyingRustTuple<'_>> for fundChannelReturn {
9161 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9162 Self {}
9163 }
9164 }
9165 }
9166 impl fundChannelReturn {
9167 fn _tokenize(
9168 &self,
9169 ) -> <fundChannelCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
9170 ()
9171 }
9172 }
9173 #[automatically_derived]
9174 impl alloy_sol_types::SolCall for fundChannelCall {
9175 type Parameters<'a> = (alloy::sol_types::sol_data::Address, Balance);
9176 type Token<'a> = <Self::Parameters<
9177 'a,
9178 > as alloy_sol_types::SolType>::Token<'a>;
9179 type Return = fundChannelReturn;
9180 type ReturnTuple<'a> = ();
9181 type ReturnToken<'a> = <Self::ReturnTuple<
9182 'a,
9183 > as alloy_sol_types::SolType>::Token<'a>;
9184 const SIGNATURE: &'static str = "fundChannel(address,uint96)";
9185 const SELECTOR: [u8; 4] = [252u8, 85u8, 48u8, 154u8];
9186 #[inline]
9187 fn new<'a>(
9188 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9189 ) -> Self {
9190 tuple.into()
9191 }
9192 #[inline]
9193 fn tokenize(&self) -> Self::Token<'_> {
9194 (
9195 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9196 &self.account,
9197 ),
9198 <Balance as alloy_sol_types::SolType>::tokenize(&self.amount),
9199 )
9200 }
9201 #[inline]
9202 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9203 fundChannelReturn::_tokenize(ret)
9204 }
9205 #[inline]
9206 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9207 <Self::ReturnTuple<
9208 '_,
9209 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9210 .map(Into::into)
9211 }
9212 #[inline]
9213 fn abi_decode_returns_validate(
9214 data: &[u8],
9215 ) -> alloy_sol_types::Result<Self::Return> {
9216 <Self::ReturnTuple<
9217 '_,
9218 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9219 .map(Into::into)
9220 }
9221 }
9222 };
9223 #[derive(serde::Serialize, serde::Deserialize)]
9224 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9225 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9230 #[derive(Clone)]
9231 pub struct fundChannelSafeCall {
9232 #[allow(missing_docs)]
9233 pub selfAddress: alloy::sol_types::private::Address,
9234 #[allow(missing_docs)]
9235 pub account: alloy::sol_types::private::Address,
9236 #[allow(missing_docs)]
9237 pub amount: <Balance as alloy::sol_types::SolType>::RustType,
9238 }
9239 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9241 #[derive(Clone)]
9242 pub struct fundChannelSafeReturn {}
9243 #[allow(
9244 non_camel_case_types,
9245 non_snake_case,
9246 clippy::pub_underscore_fields,
9247 clippy::style
9248 )]
9249 const _: () = {
9250 use alloy::sol_types as alloy_sol_types;
9251 {
9252 #[doc(hidden)]
9253 type UnderlyingSolTuple<'a> = (
9254 alloy::sol_types::sol_data::Address,
9255 alloy::sol_types::sol_data::Address,
9256 Balance,
9257 );
9258 #[doc(hidden)]
9259 type UnderlyingRustTuple<'a> = (
9260 alloy::sol_types::private::Address,
9261 alloy::sol_types::private::Address,
9262 <Balance as alloy::sol_types::SolType>::RustType,
9263 );
9264 #[cfg(test)]
9265 #[allow(dead_code, unreachable_patterns)]
9266 fn _type_assertion(
9267 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9268 ) {
9269 match _t {
9270 alloy_sol_types::private::AssertTypeEq::<
9271 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9272 >(_) => {}
9273 }
9274 }
9275 #[automatically_derived]
9276 #[doc(hidden)]
9277 impl ::core::convert::From<fundChannelSafeCall> for UnderlyingRustTuple<'_> {
9278 fn from(value: fundChannelSafeCall) -> Self {
9279 (value.selfAddress, value.account, value.amount)
9280 }
9281 }
9282 #[automatically_derived]
9283 #[doc(hidden)]
9284 impl ::core::convert::From<UnderlyingRustTuple<'_>> for fundChannelSafeCall {
9285 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9286 Self {
9287 selfAddress: tuple.0,
9288 account: tuple.1,
9289 amount: tuple.2,
9290 }
9291 }
9292 }
9293 }
9294 {
9295 #[doc(hidden)]
9296 type UnderlyingSolTuple<'a> = ();
9297 #[doc(hidden)]
9298 type UnderlyingRustTuple<'a> = ();
9299 #[cfg(test)]
9300 #[allow(dead_code, unreachable_patterns)]
9301 fn _type_assertion(
9302 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9303 ) {
9304 match _t {
9305 alloy_sol_types::private::AssertTypeEq::<
9306 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9307 >(_) => {}
9308 }
9309 }
9310 #[automatically_derived]
9311 #[doc(hidden)]
9312 impl ::core::convert::From<fundChannelSafeReturn>
9313 for UnderlyingRustTuple<'_> {
9314 fn from(value: fundChannelSafeReturn) -> Self {
9315 ()
9316 }
9317 }
9318 #[automatically_derived]
9319 #[doc(hidden)]
9320 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9321 for fundChannelSafeReturn {
9322 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9323 Self {}
9324 }
9325 }
9326 }
9327 impl fundChannelSafeReturn {
9328 fn _tokenize(
9329 &self,
9330 ) -> <fundChannelSafeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
9331 ()
9332 }
9333 }
9334 #[automatically_derived]
9335 impl alloy_sol_types::SolCall for fundChannelSafeCall {
9336 type Parameters<'a> = (
9337 alloy::sol_types::sol_data::Address,
9338 alloy::sol_types::sol_data::Address,
9339 Balance,
9340 );
9341 type Token<'a> = <Self::Parameters<
9342 'a,
9343 > as alloy_sol_types::SolType>::Token<'a>;
9344 type Return = fundChannelSafeReturn;
9345 type ReturnTuple<'a> = ();
9346 type ReturnToken<'a> = <Self::ReturnTuple<
9347 'a,
9348 > as alloy_sol_types::SolType>::Token<'a>;
9349 const SIGNATURE: &'static str = "fundChannelSafe(address,address,uint96)";
9350 const SELECTOR: [u8; 4] = [10u8, 190u8, 197u8, 143u8];
9351 #[inline]
9352 fn new<'a>(
9353 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9354 ) -> Self {
9355 tuple.into()
9356 }
9357 #[inline]
9358 fn tokenize(&self) -> Self::Token<'_> {
9359 (
9360 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9361 &self.selfAddress,
9362 ),
9363 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9364 &self.account,
9365 ),
9366 <Balance as alloy_sol_types::SolType>::tokenize(&self.amount),
9367 )
9368 }
9369 #[inline]
9370 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9371 fundChannelSafeReturn::_tokenize(ret)
9372 }
9373 #[inline]
9374 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9375 <Self::ReturnTuple<
9376 '_,
9377 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9378 .map(Into::into)
9379 }
9380 #[inline]
9381 fn abi_decode_returns_validate(
9382 data: &[u8],
9383 ) -> alloy_sol_types::Result<Self::Return> {
9384 <Self::ReturnTuple<
9385 '_,
9386 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9387 .map(Into::into)
9388 }
9389 }
9390 };
9391 #[derive(serde::Serialize, serde::Deserialize)]
9392 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9393 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9398 #[derive(Clone)]
9399 pub struct initiateOutgoingChannelClosureCall {
9400 #[allow(missing_docs)]
9401 pub destination: alloy::sol_types::private::Address,
9402 }
9403 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9405 #[derive(Clone)]
9406 pub struct initiateOutgoingChannelClosureReturn {}
9407 #[allow(
9408 non_camel_case_types,
9409 non_snake_case,
9410 clippy::pub_underscore_fields,
9411 clippy::style
9412 )]
9413 const _: () = {
9414 use alloy::sol_types as alloy_sol_types;
9415 {
9416 #[doc(hidden)]
9417 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
9418 #[doc(hidden)]
9419 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
9420 #[cfg(test)]
9421 #[allow(dead_code, unreachable_patterns)]
9422 fn _type_assertion(
9423 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9424 ) {
9425 match _t {
9426 alloy_sol_types::private::AssertTypeEq::<
9427 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9428 >(_) => {}
9429 }
9430 }
9431 #[automatically_derived]
9432 #[doc(hidden)]
9433 impl ::core::convert::From<initiateOutgoingChannelClosureCall>
9434 for UnderlyingRustTuple<'_> {
9435 fn from(value: initiateOutgoingChannelClosureCall) -> Self {
9436 (value.destination,)
9437 }
9438 }
9439 #[automatically_derived]
9440 #[doc(hidden)]
9441 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9442 for initiateOutgoingChannelClosureCall {
9443 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9444 Self { destination: tuple.0 }
9445 }
9446 }
9447 }
9448 {
9449 #[doc(hidden)]
9450 type UnderlyingSolTuple<'a> = ();
9451 #[doc(hidden)]
9452 type UnderlyingRustTuple<'a> = ();
9453 #[cfg(test)]
9454 #[allow(dead_code, unreachable_patterns)]
9455 fn _type_assertion(
9456 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9457 ) {
9458 match _t {
9459 alloy_sol_types::private::AssertTypeEq::<
9460 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9461 >(_) => {}
9462 }
9463 }
9464 #[automatically_derived]
9465 #[doc(hidden)]
9466 impl ::core::convert::From<initiateOutgoingChannelClosureReturn>
9467 for UnderlyingRustTuple<'_> {
9468 fn from(value: initiateOutgoingChannelClosureReturn) -> Self {
9469 ()
9470 }
9471 }
9472 #[automatically_derived]
9473 #[doc(hidden)]
9474 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9475 for initiateOutgoingChannelClosureReturn {
9476 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9477 Self {}
9478 }
9479 }
9480 }
9481 impl initiateOutgoingChannelClosureReturn {
9482 fn _tokenize(
9483 &self,
9484 ) -> <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::ReturnToken<
9485 '_,
9486 > {
9487 ()
9488 }
9489 }
9490 #[automatically_derived]
9491 impl alloy_sol_types::SolCall for initiateOutgoingChannelClosureCall {
9492 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
9493 type Token<'a> = <Self::Parameters<
9494 'a,
9495 > as alloy_sol_types::SolType>::Token<'a>;
9496 type Return = initiateOutgoingChannelClosureReturn;
9497 type ReturnTuple<'a> = ();
9498 type ReturnToken<'a> = <Self::ReturnTuple<
9499 'a,
9500 > as alloy_sol_types::SolType>::Token<'a>;
9501 const SIGNATURE: &'static str = "initiateOutgoingChannelClosure(address)";
9502 const SELECTOR: [u8; 4] = [124u8, 142u8, 40u8, 218u8];
9503 #[inline]
9504 fn new<'a>(
9505 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9506 ) -> Self {
9507 tuple.into()
9508 }
9509 #[inline]
9510 fn tokenize(&self) -> Self::Token<'_> {
9511 (
9512 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9513 &self.destination,
9514 ),
9515 )
9516 }
9517 #[inline]
9518 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9519 initiateOutgoingChannelClosureReturn::_tokenize(ret)
9520 }
9521 #[inline]
9522 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9523 <Self::ReturnTuple<
9524 '_,
9525 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9526 .map(Into::into)
9527 }
9528 #[inline]
9529 fn abi_decode_returns_validate(
9530 data: &[u8],
9531 ) -> alloy_sol_types::Result<Self::Return> {
9532 <Self::ReturnTuple<
9533 '_,
9534 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9535 .map(Into::into)
9536 }
9537 }
9538 };
9539 #[derive(serde::Serialize, serde::Deserialize)]
9540 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9541 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9546 #[derive(Clone)]
9547 pub struct initiateOutgoingChannelClosureSafeCall {
9548 #[allow(missing_docs)]
9549 pub selfAddress: alloy::sol_types::private::Address,
9550 #[allow(missing_docs)]
9551 pub destination: alloy::sol_types::private::Address,
9552 }
9553 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9555 #[derive(Clone)]
9556 pub struct initiateOutgoingChannelClosureSafeReturn {}
9557 #[allow(
9558 non_camel_case_types,
9559 non_snake_case,
9560 clippy::pub_underscore_fields,
9561 clippy::style
9562 )]
9563 const _: () = {
9564 use alloy::sol_types as alloy_sol_types;
9565 {
9566 #[doc(hidden)]
9567 type UnderlyingSolTuple<'a> = (
9568 alloy::sol_types::sol_data::Address,
9569 alloy::sol_types::sol_data::Address,
9570 );
9571 #[doc(hidden)]
9572 type UnderlyingRustTuple<'a> = (
9573 alloy::sol_types::private::Address,
9574 alloy::sol_types::private::Address,
9575 );
9576 #[cfg(test)]
9577 #[allow(dead_code, unreachable_patterns)]
9578 fn _type_assertion(
9579 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9580 ) {
9581 match _t {
9582 alloy_sol_types::private::AssertTypeEq::<
9583 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9584 >(_) => {}
9585 }
9586 }
9587 #[automatically_derived]
9588 #[doc(hidden)]
9589 impl ::core::convert::From<initiateOutgoingChannelClosureSafeCall>
9590 for UnderlyingRustTuple<'_> {
9591 fn from(value: initiateOutgoingChannelClosureSafeCall) -> Self {
9592 (value.selfAddress, value.destination)
9593 }
9594 }
9595 #[automatically_derived]
9596 #[doc(hidden)]
9597 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9598 for initiateOutgoingChannelClosureSafeCall {
9599 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9600 Self {
9601 selfAddress: tuple.0,
9602 destination: tuple.1,
9603 }
9604 }
9605 }
9606 }
9607 {
9608 #[doc(hidden)]
9609 type UnderlyingSolTuple<'a> = ();
9610 #[doc(hidden)]
9611 type UnderlyingRustTuple<'a> = ();
9612 #[cfg(test)]
9613 #[allow(dead_code, unreachable_patterns)]
9614 fn _type_assertion(
9615 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9616 ) {
9617 match _t {
9618 alloy_sol_types::private::AssertTypeEq::<
9619 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9620 >(_) => {}
9621 }
9622 }
9623 #[automatically_derived]
9624 #[doc(hidden)]
9625 impl ::core::convert::From<initiateOutgoingChannelClosureSafeReturn>
9626 for UnderlyingRustTuple<'_> {
9627 fn from(value: initiateOutgoingChannelClosureSafeReturn) -> Self {
9628 ()
9629 }
9630 }
9631 #[automatically_derived]
9632 #[doc(hidden)]
9633 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9634 for initiateOutgoingChannelClosureSafeReturn {
9635 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9636 Self {}
9637 }
9638 }
9639 }
9640 impl initiateOutgoingChannelClosureSafeReturn {
9641 fn _tokenize(
9642 &self,
9643 ) -> <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::ReturnToken<
9644 '_,
9645 > {
9646 ()
9647 }
9648 }
9649 #[automatically_derived]
9650 impl alloy_sol_types::SolCall for initiateOutgoingChannelClosureSafeCall {
9651 type Parameters<'a> = (
9652 alloy::sol_types::sol_data::Address,
9653 alloy::sol_types::sol_data::Address,
9654 );
9655 type Token<'a> = <Self::Parameters<
9656 'a,
9657 > as alloy_sol_types::SolType>::Token<'a>;
9658 type Return = initiateOutgoingChannelClosureSafeReturn;
9659 type ReturnTuple<'a> = ();
9660 type ReturnToken<'a> = <Self::ReturnTuple<
9661 'a,
9662 > as alloy_sol_types::SolType>::Token<'a>;
9663 const SIGNATURE: &'static str = "initiateOutgoingChannelClosureSafe(address,address)";
9664 const SELECTOR: [u8; 4] = [189u8, 166u8, 95u8, 69u8];
9665 #[inline]
9666 fn new<'a>(
9667 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9668 ) -> Self {
9669 tuple.into()
9670 }
9671 #[inline]
9672 fn tokenize(&self) -> Self::Token<'_> {
9673 (
9674 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9675 &self.selfAddress,
9676 ),
9677 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
9678 &self.destination,
9679 ),
9680 )
9681 }
9682 #[inline]
9683 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9684 initiateOutgoingChannelClosureSafeReturn::_tokenize(ret)
9685 }
9686 #[inline]
9687 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9688 <Self::ReturnTuple<
9689 '_,
9690 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9691 .map(Into::into)
9692 }
9693 #[inline]
9694 fn abi_decode_returns_validate(
9695 data: &[u8],
9696 ) -> alloy_sol_types::Result<Self::Return> {
9697 <Self::ReturnTuple<
9698 '_,
9699 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9700 .map(Into::into)
9701 }
9702 }
9703 };
9704 #[derive(serde::Serialize, serde::Deserialize)]
9705 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9706 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9711 #[derive(Clone)]
9712 pub struct ledgerDomainSeparatorCall;
9713 #[derive(serde::Serialize, serde::Deserialize)]
9714 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9715 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9717 #[derive(Clone)]
9718 pub struct ledgerDomainSeparatorReturn {
9719 #[allow(missing_docs)]
9720 pub _0: alloy::sol_types::private::FixedBytes<32>,
9721 }
9722 #[allow(
9723 non_camel_case_types,
9724 non_snake_case,
9725 clippy::pub_underscore_fields,
9726 clippy::style
9727 )]
9728 const _: () = {
9729 use alloy::sol_types as alloy_sol_types;
9730 {
9731 #[doc(hidden)]
9732 type UnderlyingSolTuple<'a> = ();
9733 #[doc(hidden)]
9734 type UnderlyingRustTuple<'a> = ();
9735 #[cfg(test)]
9736 #[allow(dead_code, unreachable_patterns)]
9737 fn _type_assertion(
9738 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9739 ) {
9740 match _t {
9741 alloy_sol_types::private::AssertTypeEq::<
9742 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9743 >(_) => {}
9744 }
9745 }
9746 #[automatically_derived]
9747 #[doc(hidden)]
9748 impl ::core::convert::From<ledgerDomainSeparatorCall>
9749 for UnderlyingRustTuple<'_> {
9750 fn from(value: ledgerDomainSeparatorCall) -> Self {
9751 ()
9752 }
9753 }
9754 #[automatically_derived]
9755 #[doc(hidden)]
9756 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9757 for ledgerDomainSeparatorCall {
9758 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9759 Self
9760 }
9761 }
9762 }
9763 {
9764 #[doc(hidden)]
9765 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
9766 #[doc(hidden)]
9767 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
9768 #[cfg(test)]
9769 #[allow(dead_code, unreachable_patterns)]
9770 fn _type_assertion(
9771 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9772 ) {
9773 match _t {
9774 alloy_sol_types::private::AssertTypeEq::<
9775 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9776 >(_) => {}
9777 }
9778 }
9779 #[automatically_derived]
9780 #[doc(hidden)]
9781 impl ::core::convert::From<ledgerDomainSeparatorReturn>
9782 for UnderlyingRustTuple<'_> {
9783 fn from(value: ledgerDomainSeparatorReturn) -> Self {
9784 (value._0,)
9785 }
9786 }
9787 #[automatically_derived]
9788 #[doc(hidden)]
9789 impl ::core::convert::From<UnderlyingRustTuple<'_>>
9790 for ledgerDomainSeparatorReturn {
9791 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9792 Self { _0: tuple.0 }
9793 }
9794 }
9795 }
9796 #[automatically_derived]
9797 impl alloy_sol_types::SolCall for ledgerDomainSeparatorCall {
9798 type Parameters<'a> = ();
9799 type Token<'a> = <Self::Parameters<
9800 'a,
9801 > as alloy_sol_types::SolType>::Token<'a>;
9802 type Return = alloy::sol_types::private::FixedBytes<32>;
9803 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
9804 type ReturnToken<'a> = <Self::ReturnTuple<
9805 'a,
9806 > as alloy_sol_types::SolType>::Token<'a>;
9807 const SIGNATURE: &'static str = "ledgerDomainSeparator()";
9808 const SELECTOR: [u8; 4] = [201u8, 102u8, 196u8, 254u8];
9809 #[inline]
9810 fn new<'a>(
9811 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9812 ) -> Self {
9813 tuple.into()
9814 }
9815 #[inline]
9816 fn tokenize(&self) -> Self::Token<'_> {
9817 ()
9818 }
9819 #[inline]
9820 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9821 (
9822 <alloy::sol_types::sol_data::FixedBytes<
9823 32,
9824 > as alloy_sol_types::SolType>::tokenize(ret),
9825 )
9826 }
9827 #[inline]
9828 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9829 <Self::ReturnTuple<
9830 '_,
9831 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9832 .map(|r| {
9833 let r: ledgerDomainSeparatorReturn = r.into();
9834 r._0
9835 })
9836 }
9837 #[inline]
9838 fn abi_decode_returns_validate(
9839 data: &[u8],
9840 ) -> alloy_sol_types::Result<Self::Return> {
9841 <Self::ReturnTuple<
9842 '_,
9843 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
9844 .map(|r| {
9845 let r: ledgerDomainSeparatorReturn = r.into();
9846 r._0
9847 })
9848 }
9849 }
9850 };
9851 #[derive(serde::Serialize, serde::Deserialize)]
9852 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9853 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9858 #[derive(Clone)]
9859 pub struct multicallCall {
9860 #[allow(missing_docs)]
9861 pub data: alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9862 }
9863 #[derive(serde::Serialize, serde::Deserialize)]
9864 #[derive(Default, Debug, PartialEq, Eq, Hash)]
9865 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
9867 #[derive(Clone)]
9868 pub struct multicallReturn {
9869 #[allow(missing_docs)]
9870 pub results: alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9871 }
9872 #[allow(
9873 non_camel_case_types,
9874 non_snake_case,
9875 clippy::pub_underscore_fields,
9876 clippy::style
9877 )]
9878 const _: () = {
9879 use alloy::sol_types as alloy_sol_types;
9880 {
9881 #[doc(hidden)]
9882 type UnderlyingSolTuple<'a> = (
9883 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9884 );
9885 #[doc(hidden)]
9886 type UnderlyingRustTuple<'a> = (
9887 alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9888 );
9889 #[cfg(test)]
9890 #[allow(dead_code, unreachable_patterns)]
9891 fn _type_assertion(
9892 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9893 ) {
9894 match _t {
9895 alloy_sol_types::private::AssertTypeEq::<
9896 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9897 >(_) => {}
9898 }
9899 }
9900 #[automatically_derived]
9901 #[doc(hidden)]
9902 impl ::core::convert::From<multicallCall> for UnderlyingRustTuple<'_> {
9903 fn from(value: multicallCall) -> Self {
9904 (value.data,)
9905 }
9906 }
9907 #[automatically_derived]
9908 #[doc(hidden)]
9909 impl ::core::convert::From<UnderlyingRustTuple<'_>> for multicallCall {
9910 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9911 Self { data: tuple.0 }
9912 }
9913 }
9914 }
9915 {
9916 #[doc(hidden)]
9917 type UnderlyingSolTuple<'a> = (
9918 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9919 );
9920 #[doc(hidden)]
9921 type UnderlyingRustTuple<'a> = (
9922 alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
9923 );
9924 #[cfg(test)]
9925 #[allow(dead_code, unreachable_patterns)]
9926 fn _type_assertion(
9927 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
9928 ) {
9929 match _t {
9930 alloy_sol_types::private::AssertTypeEq::<
9931 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
9932 >(_) => {}
9933 }
9934 }
9935 #[automatically_derived]
9936 #[doc(hidden)]
9937 impl ::core::convert::From<multicallReturn> for UnderlyingRustTuple<'_> {
9938 fn from(value: multicallReturn) -> Self {
9939 (value.results,)
9940 }
9941 }
9942 #[automatically_derived]
9943 #[doc(hidden)]
9944 impl ::core::convert::From<UnderlyingRustTuple<'_>> for multicallReturn {
9945 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
9946 Self { results: tuple.0 }
9947 }
9948 }
9949 }
9950 #[automatically_derived]
9951 impl alloy_sol_types::SolCall for multicallCall {
9952 type Parameters<'a> = (
9953 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9954 );
9955 type Token<'a> = <Self::Parameters<
9956 'a,
9957 > as alloy_sol_types::SolType>::Token<'a>;
9958 type Return = alloy::sol_types::private::Vec<
9959 alloy::sol_types::private::Bytes,
9960 >;
9961 type ReturnTuple<'a> = (
9962 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Bytes>,
9963 );
9964 type ReturnToken<'a> = <Self::ReturnTuple<
9965 'a,
9966 > as alloy_sol_types::SolType>::Token<'a>;
9967 const SIGNATURE: &'static str = "multicall(bytes[])";
9968 const SELECTOR: [u8; 4] = [172u8, 150u8, 80u8, 216u8];
9969 #[inline]
9970 fn new<'a>(
9971 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
9972 ) -> Self {
9973 tuple.into()
9974 }
9975 #[inline]
9976 fn tokenize(&self) -> Self::Token<'_> {
9977 (
9978 <alloy::sol_types::sol_data::Array<
9979 alloy::sol_types::sol_data::Bytes,
9980 > as alloy_sol_types::SolType>::tokenize(&self.data),
9981 )
9982 }
9983 #[inline]
9984 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
9985 (
9986 <alloy::sol_types::sol_data::Array<
9987 alloy::sol_types::sol_data::Bytes,
9988 > as alloy_sol_types::SolType>::tokenize(ret),
9989 )
9990 }
9991 #[inline]
9992 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
9993 <Self::ReturnTuple<
9994 '_,
9995 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
9996 .map(|r| {
9997 let r: multicallReturn = r.into();
9998 r.results
9999 })
10000 }
10001 #[inline]
10002 fn abi_decode_returns_validate(
10003 data: &[u8],
10004 ) -> alloy_sol_types::Result<Self::Return> {
10005 <Self::ReturnTuple<
10006 '_,
10007 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10008 .map(|r| {
10009 let r: multicallReturn = r.into();
10010 r.results
10011 })
10012 }
10013 }
10014 };
10015 #[derive(serde::Serialize, serde::Deserialize)]
10016 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10017 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10022 #[derive(Clone)]
10023 pub struct noticePeriodChannelClosureCall;
10024 #[derive(serde::Serialize, serde::Deserialize)]
10025 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10026 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10028 #[derive(Clone)]
10029 pub struct noticePeriodChannelClosureReturn {
10030 #[allow(missing_docs)]
10031 pub _0: <Timestamp as alloy::sol_types::SolType>::RustType,
10032 }
10033 #[allow(
10034 non_camel_case_types,
10035 non_snake_case,
10036 clippy::pub_underscore_fields,
10037 clippy::style
10038 )]
10039 const _: () = {
10040 use alloy::sol_types as alloy_sol_types;
10041 {
10042 #[doc(hidden)]
10043 type UnderlyingSolTuple<'a> = ();
10044 #[doc(hidden)]
10045 type UnderlyingRustTuple<'a> = ();
10046 #[cfg(test)]
10047 #[allow(dead_code, unreachable_patterns)]
10048 fn _type_assertion(
10049 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10050 ) {
10051 match _t {
10052 alloy_sol_types::private::AssertTypeEq::<
10053 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10054 >(_) => {}
10055 }
10056 }
10057 #[automatically_derived]
10058 #[doc(hidden)]
10059 impl ::core::convert::From<noticePeriodChannelClosureCall>
10060 for UnderlyingRustTuple<'_> {
10061 fn from(value: noticePeriodChannelClosureCall) -> Self {
10062 ()
10063 }
10064 }
10065 #[automatically_derived]
10066 #[doc(hidden)]
10067 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10068 for noticePeriodChannelClosureCall {
10069 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10070 Self
10071 }
10072 }
10073 }
10074 {
10075 #[doc(hidden)]
10076 type UnderlyingSolTuple<'a> = (Timestamp,);
10077 #[doc(hidden)]
10078 type UnderlyingRustTuple<'a> = (
10079 <Timestamp as alloy::sol_types::SolType>::RustType,
10080 );
10081 #[cfg(test)]
10082 #[allow(dead_code, unreachable_patterns)]
10083 fn _type_assertion(
10084 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10085 ) {
10086 match _t {
10087 alloy_sol_types::private::AssertTypeEq::<
10088 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10089 >(_) => {}
10090 }
10091 }
10092 #[automatically_derived]
10093 #[doc(hidden)]
10094 impl ::core::convert::From<noticePeriodChannelClosureReturn>
10095 for UnderlyingRustTuple<'_> {
10096 fn from(value: noticePeriodChannelClosureReturn) -> Self {
10097 (value._0,)
10098 }
10099 }
10100 #[automatically_derived]
10101 #[doc(hidden)]
10102 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10103 for noticePeriodChannelClosureReturn {
10104 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10105 Self { _0: tuple.0 }
10106 }
10107 }
10108 }
10109 #[automatically_derived]
10110 impl alloy_sol_types::SolCall for noticePeriodChannelClosureCall {
10111 type Parameters<'a> = ();
10112 type Token<'a> = <Self::Parameters<
10113 'a,
10114 > as alloy_sol_types::SolType>::Token<'a>;
10115 type Return = <Timestamp as alloy::sol_types::SolType>::RustType;
10116 type ReturnTuple<'a> = (Timestamp,);
10117 type ReturnToken<'a> = <Self::ReturnTuple<
10118 'a,
10119 > as alloy_sol_types::SolType>::Token<'a>;
10120 const SIGNATURE: &'static str = "noticePeriodChannelClosure()";
10121 const SELECTOR: [u8; 4] = [135u8, 53u8, 45u8, 101u8];
10122 #[inline]
10123 fn new<'a>(
10124 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10125 ) -> Self {
10126 tuple.into()
10127 }
10128 #[inline]
10129 fn tokenize(&self) -> Self::Token<'_> {
10130 ()
10131 }
10132 #[inline]
10133 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10134 (<Timestamp as alloy_sol_types::SolType>::tokenize(ret),)
10135 }
10136 #[inline]
10137 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10138 <Self::ReturnTuple<
10139 '_,
10140 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10141 .map(|r| {
10142 let r: noticePeriodChannelClosureReturn = r.into();
10143 r._0
10144 })
10145 }
10146 #[inline]
10147 fn abi_decode_returns_validate(
10148 data: &[u8],
10149 ) -> alloy_sol_types::Result<Self::Return> {
10150 <Self::ReturnTuple<
10151 '_,
10152 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10153 .map(|r| {
10154 let r: noticePeriodChannelClosureReturn = r.into();
10155 r._0
10156 })
10157 }
10158 }
10159 };
10160 #[derive(serde::Serialize, serde::Deserialize)]
10161 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10162 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10167 #[derive(Clone)]
10168 pub struct redeemTicketCall {
10169 #[allow(missing_docs)]
10170 pub redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
10171 #[allow(missing_docs)]
10172 pub params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
10173 }
10174 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10176 #[derive(Clone)]
10177 pub struct redeemTicketReturn {}
10178 #[allow(
10179 non_camel_case_types,
10180 non_snake_case,
10181 clippy::pub_underscore_fields,
10182 clippy::style
10183 )]
10184 const _: () = {
10185 use alloy::sol_types as alloy_sol_types;
10186 {
10187 #[doc(hidden)]
10188 type UnderlyingSolTuple<'a> = (RedeemableTicket, HoprCrypto::VRFParameters);
10189 #[doc(hidden)]
10190 type UnderlyingRustTuple<'a> = (
10191 <RedeemableTicket as alloy::sol_types::SolType>::RustType,
10192 <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
10193 );
10194 #[cfg(test)]
10195 #[allow(dead_code, unreachable_patterns)]
10196 fn _type_assertion(
10197 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10198 ) {
10199 match _t {
10200 alloy_sol_types::private::AssertTypeEq::<
10201 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10202 >(_) => {}
10203 }
10204 }
10205 #[automatically_derived]
10206 #[doc(hidden)]
10207 impl ::core::convert::From<redeemTicketCall> for UnderlyingRustTuple<'_> {
10208 fn from(value: redeemTicketCall) -> Self {
10209 (value.redeemable, value.params)
10210 }
10211 }
10212 #[automatically_derived]
10213 #[doc(hidden)]
10214 impl ::core::convert::From<UnderlyingRustTuple<'_>> for redeemTicketCall {
10215 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10216 Self {
10217 redeemable: tuple.0,
10218 params: tuple.1,
10219 }
10220 }
10221 }
10222 }
10223 {
10224 #[doc(hidden)]
10225 type UnderlyingSolTuple<'a> = ();
10226 #[doc(hidden)]
10227 type UnderlyingRustTuple<'a> = ();
10228 #[cfg(test)]
10229 #[allow(dead_code, unreachable_patterns)]
10230 fn _type_assertion(
10231 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10232 ) {
10233 match _t {
10234 alloy_sol_types::private::AssertTypeEq::<
10235 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10236 >(_) => {}
10237 }
10238 }
10239 #[automatically_derived]
10240 #[doc(hidden)]
10241 impl ::core::convert::From<redeemTicketReturn> for UnderlyingRustTuple<'_> {
10242 fn from(value: redeemTicketReturn) -> Self {
10243 ()
10244 }
10245 }
10246 #[automatically_derived]
10247 #[doc(hidden)]
10248 impl ::core::convert::From<UnderlyingRustTuple<'_>> for redeemTicketReturn {
10249 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10250 Self {}
10251 }
10252 }
10253 }
10254 impl redeemTicketReturn {
10255 fn _tokenize(
10256 &self,
10257 ) -> <redeemTicketCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
10258 ()
10259 }
10260 }
10261 #[automatically_derived]
10262 impl alloy_sol_types::SolCall for redeemTicketCall {
10263 type Parameters<'a> = (RedeemableTicket, HoprCrypto::VRFParameters);
10264 type Token<'a> = <Self::Parameters<
10265 'a,
10266 > as alloy_sol_types::SolType>::Token<'a>;
10267 type Return = redeemTicketReturn;
10268 type ReturnTuple<'a> = ();
10269 type ReturnToken<'a> = <Self::ReturnTuple<
10270 'a,
10271 > as alloy_sol_types::SolType>::Token<'a>;
10272 const SIGNATURE: &'static str = "redeemTicket(((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))";
10273 const SELECTOR: [u8; 4] = [252u8, 183u8, 121u8, 111u8];
10274 #[inline]
10275 fn new<'a>(
10276 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10277 ) -> Self {
10278 tuple.into()
10279 }
10280 #[inline]
10281 fn tokenize(&self) -> Self::Token<'_> {
10282 (
10283 <RedeemableTicket as alloy_sol_types::SolType>::tokenize(
10284 &self.redeemable,
10285 ),
10286 <HoprCrypto::VRFParameters as alloy_sol_types::SolType>::tokenize(
10287 &self.params,
10288 ),
10289 )
10290 }
10291 #[inline]
10292 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10293 redeemTicketReturn::_tokenize(ret)
10294 }
10295 #[inline]
10296 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10297 <Self::ReturnTuple<
10298 '_,
10299 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10300 .map(Into::into)
10301 }
10302 #[inline]
10303 fn abi_decode_returns_validate(
10304 data: &[u8],
10305 ) -> alloy_sol_types::Result<Self::Return> {
10306 <Self::ReturnTuple<
10307 '_,
10308 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10309 .map(Into::into)
10310 }
10311 }
10312 };
10313 #[derive(serde::Serialize, serde::Deserialize)]
10314 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10315 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10320 #[derive(Clone)]
10321 pub struct redeemTicketSafeCall {
10322 #[allow(missing_docs)]
10323 pub selfAddress: alloy::sol_types::private::Address,
10324 #[allow(missing_docs)]
10325 pub redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
10326 #[allow(missing_docs)]
10327 pub params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
10328 }
10329 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10331 #[derive(Clone)]
10332 pub struct redeemTicketSafeReturn {}
10333 #[allow(
10334 non_camel_case_types,
10335 non_snake_case,
10336 clippy::pub_underscore_fields,
10337 clippy::style
10338 )]
10339 const _: () = {
10340 use alloy::sol_types as alloy_sol_types;
10341 {
10342 #[doc(hidden)]
10343 type UnderlyingSolTuple<'a> = (
10344 alloy::sol_types::sol_data::Address,
10345 RedeemableTicket,
10346 HoprCrypto::VRFParameters,
10347 );
10348 #[doc(hidden)]
10349 type UnderlyingRustTuple<'a> = (
10350 alloy::sol_types::private::Address,
10351 <RedeemableTicket as alloy::sol_types::SolType>::RustType,
10352 <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
10353 );
10354 #[cfg(test)]
10355 #[allow(dead_code, unreachable_patterns)]
10356 fn _type_assertion(
10357 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10358 ) {
10359 match _t {
10360 alloy_sol_types::private::AssertTypeEq::<
10361 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10362 >(_) => {}
10363 }
10364 }
10365 #[automatically_derived]
10366 #[doc(hidden)]
10367 impl ::core::convert::From<redeemTicketSafeCall>
10368 for UnderlyingRustTuple<'_> {
10369 fn from(value: redeemTicketSafeCall) -> Self {
10370 (value.selfAddress, value.redeemable, value.params)
10371 }
10372 }
10373 #[automatically_derived]
10374 #[doc(hidden)]
10375 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10376 for redeemTicketSafeCall {
10377 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10378 Self {
10379 selfAddress: tuple.0,
10380 redeemable: tuple.1,
10381 params: tuple.2,
10382 }
10383 }
10384 }
10385 }
10386 {
10387 #[doc(hidden)]
10388 type UnderlyingSolTuple<'a> = ();
10389 #[doc(hidden)]
10390 type UnderlyingRustTuple<'a> = ();
10391 #[cfg(test)]
10392 #[allow(dead_code, unreachable_patterns)]
10393 fn _type_assertion(
10394 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10395 ) {
10396 match _t {
10397 alloy_sol_types::private::AssertTypeEq::<
10398 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10399 >(_) => {}
10400 }
10401 }
10402 #[automatically_derived]
10403 #[doc(hidden)]
10404 impl ::core::convert::From<redeemTicketSafeReturn>
10405 for UnderlyingRustTuple<'_> {
10406 fn from(value: redeemTicketSafeReturn) -> Self {
10407 ()
10408 }
10409 }
10410 #[automatically_derived]
10411 #[doc(hidden)]
10412 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10413 for redeemTicketSafeReturn {
10414 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10415 Self {}
10416 }
10417 }
10418 }
10419 impl redeemTicketSafeReturn {
10420 fn _tokenize(
10421 &self,
10422 ) -> <redeemTicketSafeCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
10423 ()
10424 }
10425 }
10426 #[automatically_derived]
10427 impl alloy_sol_types::SolCall for redeemTicketSafeCall {
10428 type Parameters<'a> = (
10429 alloy::sol_types::sol_data::Address,
10430 RedeemableTicket,
10431 HoprCrypto::VRFParameters,
10432 );
10433 type Token<'a> = <Self::Parameters<
10434 'a,
10435 > as alloy_sol_types::SolType>::Token<'a>;
10436 type Return = redeemTicketSafeReturn;
10437 type ReturnTuple<'a> = ();
10438 type ReturnToken<'a> = <Self::ReturnTuple<
10439 'a,
10440 > as alloy_sol_types::SolType>::Token<'a>;
10441 const SIGNATURE: &'static str = "redeemTicketSafe(address,((bytes32,uint96,uint48,uint32,uint24,uint56),(bytes32,bytes32),uint256),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))";
10442 const SELECTOR: [u8; 4] = [12u8, 216u8, 141u8, 114u8];
10443 #[inline]
10444 fn new<'a>(
10445 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10446 ) -> Self {
10447 tuple.into()
10448 }
10449 #[inline]
10450 fn tokenize(&self) -> Self::Token<'_> {
10451 (
10452 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10453 &self.selfAddress,
10454 ),
10455 <RedeemableTicket as alloy_sol_types::SolType>::tokenize(
10456 &self.redeemable,
10457 ),
10458 <HoprCrypto::VRFParameters as alloy_sol_types::SolType>::tokenize(
10459 &self.params,
10460 ),
10461 )
10462 }
10463 #[inline]
10464 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10465 redeemTicketSafeReturn::_tokenize(ret)
10466 }
10467 #[inline]
10468 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10469 <Self::ReturnTuple<
10470 '_,
10471 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10472 .map(Into::into)
10473 }
10474 #[inline]
10475 fn abi_decode_returns_validate(
10476 data: &[u8],
10477 ) -> alloy_sol_types::Result<Self::Return> {
10478 <Self::ReturnTuple<
10479 '_,
10480 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10481 .map(Into::into)
10482 }
10483 }
10484 };
10485 #[derive(serde::Serialize, serde::Deserialize)]
10486 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10487 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10492 #[derive(Clone)]
10493 pub struct tokenCall;
10494 #[derive(serde::Serialize, serde::Deserialize)]
10495 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10496 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10498 #[derive(Clone)]
10499 pub struct tokenReturn {
10500 #[allow(missing_docs)]
10501 pub _0: alloy::sol_types::private::Address,
10502 }
10503 #[allow(
10504 non_camel_case_types,
10505 non_snake_case,
10506 clippy::pub_underscore_fields,
10507 clippy::style
10508 )]
10509 const _: () = {
10510 use alloy::sol_types as alloy_sol_types;
10511 {
10512 #[doc(hidden)]
10513 type UnderlyingSolTuple<'a> = ();
10514 #[doc(hidden)]
10515 type UnderlyingRustTuple<'a> = ();
10516 #[cfg(test)]
10517 #[allow(dead_code, unreachable_patterns)]
10518 fn _type_assertion(
10519 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10520 ) {
10521 match _t {
10522 alloy_sol_types::private::AssertTypeEq::<
10523 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10524 >(_) => {}
10525 }
10526 }
10527 #[automatically_derived]
10528 #[doc(hidden)]
10529 impl ::core::convert::From<tokenCall> for UnderlyingRustTuple<'_> {
10530 fn from(value: tokenCall) -> Self {
10531 ()
10532 }
10533 }
10534 #[automatically_derived]
10535 #[doc(hidden)]
10536 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenCall {
10537 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10538 Self
10539 }
10540 }
10541 }
10542 {
10543 #[doc(hidden)]
10544 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
10545 #[doc(hidden)]
10546 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
10547 #[cfg(test)]
10548 #[allow(dead_code, unreachable_patterns)]
10549 fn _type_assertion(
10550 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10551 ) {
10552 match _t {
10553 alloy_sol_types::private::AssertTypeEq::<
10554 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10555 >(_) => {}
10556 }
10557 }
10558 #[automatically_derived]
10559 #[doc(hidden)]
10560 impl ::core::convert::From<tokenReturn> for UnderlyingRustTuple<'_> {
10561 fn from(value: tokenReturn) -> Self {
10562 (value._0,)
10563 }
10564 }
10565 #[automatically_derived]
10566 #[doc(hidden)]
10567 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokenReturn {
10568 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10569 Self { _0: tuple.0 }
10570 }
10571 }
10572 }
10573 #[automatically_derived]
10574 impl alloy_sol_types::SolCall for tokenCall {
10575 type Parameters<'a> = ();
10576 type Token<'a> = <Self::Parameters<
10577 'a,
10578 > as alloy_sol_types::SolType>::Token<'a>;
10579 type Return = alloy::sol_types::private::Address;
10580 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
10581 type ReturnToken<'a> = <Self::ReturnTuple<
10582 'a,
10583 > as alloy_sol_types::SolType>::Token<'a>;
10584 const SIGNATURE: &'static str = "token()";
10585 const SELECTOR: [u8; 4] = [252u8, 12u8, 84u8, 106u8];
10586 #[inline]
10587 fn new<'a>(
10588 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10589 ) -> Self {
10590 tuple.into()
10591 }
10592 #[inline]
10593 fn tokenize(&self) -> Self::Token<'_> {
10594 ()
10595 }
10596 #[inline]
10597 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10598 (
10599 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10600 ret,
10601 ),
10602 )
10603 }
10604 #[inline]
10605 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10606 <Self::ReturnTuple<
10607 '_,
10608 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10609 .map(|r| {
10610 let r: tokenReturn = r.into();
10611 r._0
10612 })
10613 }
10614 #[inline]
10615 fn abi_decode_returns_validate(
10616 data: &[u8],
10617 ) -> alloy_sol_types::Result<Self::Return> {
10618 <Self::ReturnTuple<
10619 '_,
10620 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10621 .map(|r| {
10622 let r: tokenReturn = r.into();
10623 r._0
10624 })
10625 }
10626 }
10627 };
10628 #[derive(serde::Serialize, serde::Deserialize)]
10629 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10630 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10635 #[derive(Clone)]
10636 pub struct tokensReceivedCall {
10637 #[allow(missing_docs)]
10638 pub _0: alloy::sol_types::private::Address,
10639 #[allow(missing_docs)]
10640 pub from: alloy::sol_types::private::Address,
10641 #[allow(missing_docs)]
10642 pub to: alloy::sol_types::private::Address,
10643 #[allow(missing_docs)]
10644 pub amount: alloy::sol_types::private::primitives::aliases::U256,
10645 #[allow(missing_docs)]
10646 pub userData: alloy::sol_types::private::Bytes,
10647 #[allow(missing_docs)]
10648 pub _5: alloy::sol_types::private::Bytes,
10649 }
10650 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10652 #[derive(Clone)]
10653 pub struct tokensReceivedReturn {}
10654 #[allow(
10655 non_camel_case_types,
10656 non_snake_case,
10657 clippy::pub_underscore_fields,
10658 clippy::style
10659 )]
10660 const _: () = {
10661 use alloy::sol_types as alloy_sol_types;
10662 {
10663 #[doc(hidden)]
10664 type UnderlyingSolTuple<'a> = (
10665 alloy::sol_types::sol_data::Address,
10666 alloy::sol_types::sol_data::Address,
10667 alloy::sol_types::sol_data::Address,
10668 alloy::sol_types::sol_data::Uint<256>,
10669 alloy::sol_types::sol_data::Bytes,
10670 alloy::sol_types::sol_data::Bytes,
10671 );
10672 #[doc(hidden)]
10673 type UnderlyingRustTuple<'a> = (
10674 alloy::sol_types::private::Address,
10675 alloy::sol_types::private::Address,
10676 alloy::sol_types::private::Address,
10677 alloy::sol_types::private::primitives::aliases::U256,
10678 alloy::sol_types::private::Bytes,
10679 alloy::sol_types::private::Bytes,
10680 );
10681 #[cfg(test)]
10682 #[allow(dead_code, unreachable_patterns)]
10683 fn _type_assertion(
10684 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10685 ) {
10686 match _t {
10687 alloy_sol_types::private::AssertTypeEq::<
10688 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10689 >(_) => {}
10690 }
10691 }
10692 #[automatically_derived]
10693 #[doc(hidden)]
10694 impl ::core::convert::From<tokensReceivedCall> for UnderlyingRustTuple<'_> {
10695 fn from(value: tokensReceivedCall) -> Self {
10696 (
10697 value._0,
10698 value.from,
10699 value.to,
10700 value.amount,
10701 value.userData,
10702 value._5,
10703 )
10704 }
10705 }
10706 #[automatically_derived]
10707 #[doc(hidden)]
10708 impl ::core::convert::From<UnderlyingRustTuple<'_>> for tokensReceivedCall {
10709 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10710 Self {
10711 _0: tuple.0,
10712 from: tuple.1,
10713 to: tuple.2,
10714 amount: tuple.3,
10715 userData: tuple.4,
10716 _5: tuple.5,
10717 }
10718 }
10719 }
10720 }
10721 {
10722 #[doc(hidden)]
10723 type UnderlyingSolTuple<'a> = ();
10724 #[doc(hidden)]
10725 type UnderlyingRustTuple<'a> = ();
10726 #[cfg(test)]
10727 #[allow(dead_code, unreachable_patterns)]
10728 fn _type_assertion(
10729 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10730 ) {
10731 match _t {
10732 alloy_sol_types::private::AssertTypeEq::<
10733 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10734 >(_) => {}
10735 }
10736 }
10737 #[automatically_derived]
10738 #[doc(hidden)]
10739 impl ::core::convert::From<tokensReceivedReturn>
10740 for UnderlyingRustTuple<'_> {
10741 fn from(value: tokensReceivedReturn) -> Self {
10742 ()
10743 }
10744 }
10745 #[automatically_derived]
10746 #[doc(hidden)]
10747 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10748 for tokensReceivedReturn {
10749 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10750 Self {}
10751 }
10752 }
10753 }
10754 impl tokensReceivedReturn {
10755 fn _tokenize(
10756 &self,
10757 ) -> <tokensReceivedCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
10758 ()
10759 }
10760 }
10761 #[automatically_derived]
10762 impl alloy_sol_types::SolCall for tokensReceivedCall {
10763 type Parameters<'a> = (
10764 alloy::sol_types::sol_data::Address,
10765 alloy::sol_types::sol_data::Address,
10766 alloy::sol_types::sol_data::Address,
10767 alloy::sol_types::sol_data::Uint<256>,
10768 alloy::sol_types::sol_data::Bytes,
10769 alloy::sol_types::sol_data::Bytes,
10770 );
10771 type Token<'a> = <Self::Parameters<
10772 'a,
10773 > as alloy_sol_types::SolType>::Token<'a>;
10774 type Return = tokensReceivedReturn;
10775 type ReturnTuple<'a> = ();
10776 type ReturnToken<'a> = <Self::ReturnTuple<
10777 'a,
10778 > as alloy_sol_types::SolType>::Token<'a>;
10779 const SIGNATURE: &'static str = "tokensReceived(address,address,address,uint256,bytes,bytes)";
10780 const SELECTOR: [u8; 4] = [0u8, 35u8, 222u8, 41u8];
10781 #[inline]
10782 fn new<'a>(
10783 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10784 ) -> Self {
10785 tuple.into()
10786 }
10787 #[inline]
10788 fn tokenize(&self) -> Self::Token<'_> {
10789 (
10790 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10791 &self._0,
10792 ),
10793 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10794 &self.from,
10795 ),
10796 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
10797 &self.to,
10798 ),
10799 <alloy::sol_types::sol_data::Uint<
10800 256,
10801 > as alloy_sol_types::SolType>::tokenize(&self.amount),
10802 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
10803 &self.userData,
10804 ),
10805 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
10806 &self._5,
10807 ),
10808 )
10809 }
10810 #[inline]
10811 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10812 tokensReceivedReturn::_tokenize(ret)
10813 }
10814 #[inline]
10815 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10816 <Self::ReturnTuple<
10817 '_,
10818 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10819 .map(Into::into)
10820 }
10821 #[inline]
10822 fn abi_decode_returns_validate(
10823 data: &[u8],
10824 ) -> alloy_sol_types::Result<Self::Return> {
10825 <Self::ReturnTuple<
10826 '_,
10827 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10828 .map(Into::into)
10829 }
10830 }
10831 };
10832 #[derive(serde::Serialize, serde::Deserialize)]
10833 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10834 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10839 #[derive(Clone)]
10840 pub struct updateDomainSeparatorCall;
10841 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10843 #[derive(Clone)]
10844 pub struct updateDomainSeparatorReturn {}
10845 #[allow(
10846 non_camel_case_types,
10847 non_snake_case,
10848 clippy::pub_underscore_fields,
10849 clippy::style
10850 )]
10851 const _: () = {
10852 use alloy::sol_types as alloy_sol_types;
10853 {
10854 #[doc(hidden)]
10855 type UnderlyingSolTuple<'a> = ();
10856 #[doc(hidden)]
10857 type UnderlyingRustTuple<'a> = ();
10858 #[cfg(test)]
10859 #[allow(dead_code, unreachable_patterns)]
10860 fn _type_assertion(
10861 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10862 ) {
10863 match _t {
10864 alloy_sol_types::private::AssertTypeEq::<
10865 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10866 >(_) => {}
10867 }
10868 }
10869 #[automatically_derived]
10870 #[doc(hidden)]
10871 impl ::core::convert::From<updateDomainSeparatorCall>
10872 for UnderlyingRustTuple<'_> {
10873 fn from(value: updateDomainSeparatorCall) -> Self {
10874 ()
10875 }
10876 }
10877 #[automatically_derived]
10878 #[doc(hidden)]
10879 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10880 for updateDomainSeparatorCall {
10881 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10882 Self
10883 }
10884 }
10885 }
10886 {
10887 #[doc(hidden)]
10888 type UnderlyingSolTuple<'a> = ();
10889 #[doc(hidden)]
10890 type UnderlyingRustTuple<'a> = ();
10891 #[cfg(test)]
10892 #[allow(dead_code, unreachable_patterns)]
10893 fn _type_assertion(
10894 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
10895 ) {
10896 match _t {
10897 alloy_sol_types::private::AssertTypeEq::<
10898 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
10899 >(_) => {}
10900 }
10901 }
10902 #[automatically_derived]
10903 #[doc(hidden)]
10904 impl ::core::convert::From<updateDomainSeparatorReturn>
10905 for UnderlyingRustTuple<'_> {
10906 fn from(value: updateDomainSeparatorReturn) -> Self {
10907 ()
10908 }
10909 }
10910 #[automatically_derived]
10911 #[doc(hidden)]
10912 impl ::core::convert::From<UnderlyingRustTuple<'_>>
10913 for updateDomainSeparatorReturn {
10914 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
10915 Self {}
10916 }
10917 }
10918 }
10919 impl updateDomainSeparatorReturn {
10920 fn _tokenize(
10921 &self,
10922 ) -> <updateDomainSeparatorCall as alloy_sol_types::SolCall>::ReturnToken<
10923 '_,
10924 > {
10925 ()
10926 }
10927 }
10928 #[automatically_derived]
10929 impl alloy_sol_types::SolCall for updateDomainSeparatorCall {
10930 type Parameters<'a> = ();
10931 type Token<'a> = <Self::Parameters<
10932 'a,
10933 > as alloy_sol_types::SolType>::Token<'a>;
10934 type Return = updateDomainSeparatorReturn;
10935 type ReturnTuple<'a> = ();
10936 type ReturnToken<'a> = <Self::ReturnTuple<
10937 'a,
10938 > as alloy_sol_types::SolType>::Token<'a>;
10939 const SIGNATURE: &'static str = "updateDomainSeparator()";
10940 const SELECTOR: [u8; 4] = [137u8, 204u8, 254u8, 137u8];
10941 #[inline]
10942 fn new<'a>(
10943 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
10944 ) -> Self {
10945 tuple.into()
10946 }
10947 #[inline]
10948 fn tokenize(&self) -> Self::Token<'_> {
10949 ()
10950 }
10951 #[inline]
10952 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
10953 updateDomainSeparatorReturn::_tokenize(ret)
10954 }
10955 #[inline]
10956 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
10957 <Self::ReturnTuple<
10958 '_,
10959 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
10960 .map(Into::into)
10961 }
10962 #[inline]
10963 fn abi_decode_returns_validate(
10964 data: &[u8],
10965 ) -> alloy_sol_types::Result<Self::Return> {
10966 <Self::ReturnTuple<
10967 '_,
10968 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
10969 .map(Into::into)
10970 }
10971 }
10972 };
10973 #[derive(serde::Serialize, serde::Deserialize)]
10974 #[derive(Default, Debug, PartialEq, Eq, Hash)]
10975 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10980 #[derive(Clone)]
10981 pub struct updateLedgerDomainSeparatorCall;
10982 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
10984 #[derive(Clone)]
10985 pub struct updateLedgerDomainSeparatorReturn {}
10986 #[allow(
10987 non_camel_case_types,
10988 non_snake_case,
10989 clippy::pub_underscore_fields,
10990 clippy::style
10991 )]
10992 const _: () = {
10993 use alloy::sol_types as alloy_sol_types;
10994 {
10995 #[doc(hidden)]
10996 type UnderlyingSolTuple<'a> = ();
10997 #[doc(hidden)]
10998 type UnderlyingRustTuple<'a> = ();
10999 #[cfg(test)]
11000 #[allow(dead_code, unreachable_patterns)]
11001 fn _type_assertion(
11002 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11003 ) {
11004 match _t {
11005 alloy_sol_types::private::AssertTypeEq::<
11006 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11007 >(_) => {}
11008 }
11009 }
11010 #[automatically_derived]
11011 #[doc(hidden)]
11012 impl ::core::convert::From<updateLedgerDomainSeparatorCall>
11013 for UnderlyingRustTuple<'_> {
11014 fn from(value: updateLedgerDomainSeparatorCall) -> Self {
11015 ()
11016 }
11017 }
11018 #[automatically_derived]
11019 #[doc(hidden)]
11020 impl ::core::convert::From<UnderlyingRustTuple<'_>>
11021 for updateLedgerDomainSeparatorCall {
11022 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11023 Self
11024 }
11025 }
11026 }
11027 {
11028 #[doc(hidden)]
11029 type UnderlyingSolTuple<'a> = ();
11030 #[doc(hidden)]
11031 type UnderlyingRustTuple<'a> = ();
11032 #[cfg(test)]
11033 #[allow(dead_code, unreachable_patterns)]
11034 fn _type_assertion(
11035 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
11036 ) {
11037 match _t {
11038 alloy_sol_types::private::AssertTypeEq::<
11039 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
11040 >(_) => {}
11041 }
11042 }
11043 #[automatically_derived]
11044 #[doc(hidden)]
11045 impl ::core::convert::From<updateLedgerDomainSeparatorReturn>
11046 for UnderlyingRustTuple<'_> {
11047 fn from(value: updateLedgerDomainSeparatorReturn) -> Self {
11048 ()
11049 }
11050 }
11051 #[automatically_derived]
11052 #[doc(hidden)]
11053 impl ::core::convert::From<UnderlyingRustTuple<'_>>
11054 for updateLedgerDomainSeparatorReturn {
11055 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
11056 Self {}
11057 }
11058 }
11059 }
11060 impl updateLedgerDomainSeparatorReturn {
11061 fn _tokenize(
11062 &self,
11063 ) -> <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::ReturnToken<
11064 '_,
11065 > {
11066 ()
11067 }
11068 }
11069 #[automatically_derived]
11070 impl alloy_sol_types::SolCall for updateLedgerDomainSeparatorCall {
11071 type Parameters<'a> = ();
11072 type Token<'a> = <Self::Parameters<
11073 'a,
11074 > as alloy_sol_types::SolType>::Token<'a>;
11075 type Return = updateLedgerDomainSeparatorReturn;
11076 type ReturnTuple<'a> = ();
11077 type ReturnToken<'a> = <Self::ReturnTuple<
11078 'a,
11079 > as alloy_sol_types::SolType>::Token<'a>;
11080 const SIGNATURE: &'static str = "updateLedgerDomainSeparator()";
11081 const SELECTOR: [u8; 4] = [220u8, 150u8, 253u8, 80u8];
11082 #[inline]
11083 fn new<'a>(
11084 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
11085 ) -> Self {
11086 tuple.into()
11087 }
11088 #[inline]
11089 fn tokenize(&self) -> Self::Token<'_> {
11090 ()
11091 }
11092 #[inline]
11093 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
11094 updateLedgerDomainSeparatorReturn::_tokenize(ret)
11095 }
11096 #[inline]
11097 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
11098 <Self::ReturnTuple<
11099 '_,
11100 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
11101 .map(Into::into)
11102 }
11103 #[inline]
11104 fn abi_decode_returns_validate(
11105 data: &[u8],
11106 ) -> alloy_sol_types::Result<Self::Return> {
11107 <Self::ReturnTuple<
11108 '_,
11109 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
11110 .map(Into::into)
11111 }
11112 }
11113 };
11114 #[derive(serde::Serialize, serde::Deserialize)]
11116 #[derive()]
11117 pub enum HoprChannelsCalls {
11118 #[allow(missing_docs)]
11119 ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall),
11120 #[allow(missing_docs)]
11121 ERC777_HOOK_FUND_CHANNEL_SIZE(ERC777_HOOK_FUND_CHANNEL_SIZECall),
11122 #[allow(missing_docs)]
11123 LEDGER_VERSION(LEDGER_VERSIONCall),
11124 #[allow(missing_docs)]
11125 MAX_USED_BALANCE(MAX_USED_BALANCECall),
11126 #[allow(missing_docs)]
11127 MIN_USED_BALANCE(MIN_USED_BALANCECall),
11128 #[allow(missing_docs)]
11129 TOKENS_RECIPIENT_INTERFACE_HASH(TOKENS_RECIPIENT_INTERFACE_HASHCall),
11130 #[allow(missing_docs)]
11131 VERSION(VERSIONCall),
11132 #[allow(missing_docs)]
11133 _currentBlockTimestamp(_currentBlockTimestampCall),
11134 #[allow(missing_docs)]
11135 _getChannelId(_getChannelIdCall),
11136 #[allow(missing_docs)]
11137 _getTicketHash(_getTicketHashCall),
11138 #[allow(missing_docs)]
11139 _isWinningTicket(_isWinningTicketCall),
11140 #[allow(missing_docs)]
11141 canImplementInterfaceForAddress(canImplementInterfaceForAddressCall),
11142 #[allow(missing_docs)]
11143 channels(channelsCall),
11144 #[allow(missing_docs)]
11145 closeIncomingChannel(closeIncomingChannelCall),
11146 #[allow(missing_docs)]
11147 closeIncomingChannelSafe(closeIncomingChannelSafeCall),
11148 #[allow(missing_docs)]
11149 domainSeparator(domainSeparatorCall),
11150 #[allow(missing_docs)]
11151 finalizeOutgoingChannelClosure(finalizeOutgoingChannelClosureCall),
11152 #[allow(missing_docs)]
11153 finalizeOutgoingChannelClosureSafe(finalizeOutgoingChannelClosureSafeCall),
11154 #[allow(missing_docs)]
11155 fundChannel(fundChannelCall),
11156 #[allow(missing_docs)]
11157 fundChannelSafe(fundChannelSafeCall),
11158 #[allow(missing_docs)]
11159 initiateOutgoingChannelClosure(initiateOutgoingChannelClosureCall),
11160 #[allow(missing_docs)]
11161 initiateOutgoingChannelClosureSafe(initiateOutgoingChannelClosureSafeCall),
11162 #[allow(missing_docs)]
11163 ledgerDomainSeparator(ledgerDomainSeparatorCall),
11164 #[allow(missing_docs)]
11165 multicall(multicallCall),
11166 #[allow(missing_docs)]
11167 noticePeriodChannelClosure(noticePeriodChannelClosureCall),
11168 #[allow(missing_docs)]
11169 redeemTicket(redeemTicketCall),
11170 #[allow(missing_docs)]
11171 redeemTicketSafe(redeemTicketSafeCall),
11172 #[allow(missing_docs)]
11173 token(tokenCall),
11174 #[allow(missing_docs)]
11175 tokensReceived(tokensReceivedCall),
11176 #[allow(missing_docs)]
11177 updateDomainSeparator(updateDomainSeparatorCall),
11178 #[allow(missing_docs)]
11179 updateLedgerDomainSeparator(updateLedgerDomainSeparatorCall),
11180 }
11181 #[automatically_derived]
11182 impl HoprChannelsCalls {
11183 pub const SELECTORS: &'static [[u8; 4usize]] = &[
11190 [0u8, 35u8, 222u8, 41u8],
11191 [10u8, 190u8, 197u8, 143u8],
11192 [12u8, 216u8, 141u8, 114u8],
11193 [26u8, 127u8, 254u8, 122u8],
11194 [35u8, 203u8, 58u8, 192u8],
11195 [36u8, 8u8, 108u8, 194u8],
11196 [36u8, 156u8, 179u8, 250u8],
11197 [41u8, 57u8, 46u8, 50u8],
11198 [68u8, 218u8, 230u8, 248u8],
11199 [84u8, 162u8, 237u8, 245u8],
11200 [93u8, 47u8, 7u8, 197u8],
11201 [101u8, 21u8, 20u8, 191u8],
11202 [114u8, 88u8, 28u8, 192u8],
11203 [120u8, 216u8, 1u8, 109u8],
11204 [122u8, 126u8, 189u8, 123u8],
11205 [124u8, 142u8, 40u8, 218u8],
11206 [135u8, 53u8, 45u8, 101u8],
11207 [137u8, 204u8, 254u8, 137u8],
11208 [140u8, 55u8, 16u8, 201u8],
11209 [172u8, 150u8, 80u8, 216u8],
11210 [185u8, 32u8, 222u8, 237u8],
11211 [189u8, 166u8, 95u8, 69u8],
11212 [190u8, 155u8, 171u8, 220u8],
11213 [201u8, 102u8, 196u8, 254u8],
11214 [220u8, 150u8, 253u8, 80u8],
11215 [221u8, 173u8, 25u8, 2u8],
11216 [246u8, 152u8, 218u8, 37u8],
11217 [252u8, 12u8, 84u8, 106u8],
11218 [252u8, 85u8, 48u8, 154u8],
11219 [252u8, 183u8, 121u8, 111u8],
11220 [255u8, 161u8, 173u8, 116u8],
11221 ];
11222 }
11223 #[automatically_derived]
11224 impl alloy_sol_types::SolInterface for HoprChannelsCalls {
11225 const NAME: &'static str = "HoprChannelsCalls";
11226 const MIN_DATA_LENGTH: usize = 0usize;
11227 const COUNT: usize = 31usize;
11228 #[inline]
11229 fn selector(&self) -> [u8; 4] {
11230 match self {
11231 Self::ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(_) => {
11232 <ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall as alloy_sol_types::SolCall>::SELECTOR
11233 }
11234 Self::ERC777_HOOK_FUND_CHANNEL_SIZE(_) => {
11235 <ERC777_HOOK_FUND_CHANNEL_SIZECall as alloy_sol_types::SolCall>::SELECTOR
11236 }
11237 Self::LEDGER_VERSION(_) => {
11238 <LEDGER_VERSIONCall as alloy_sol_types::SolCall>::SELECTOR
11239 }
11240 Self::MAX_USED_BALANCE(_) => {
11241 <MAX_USED_BALANCECall as alloy_sol_types::SolCall>::SELECTOR
11242 }
11243 Self::MIN_USED_BALANCE(_) => {
11244 <MIN_USED_BALANCECall as alloy_sol_types::SolCall>::SELECTOR
11245 }
11246 Self::TOKENS_RECIPIENT_INTERFACE_HASH(_) => {
11247 <TOKENS_RECIPIENT_INTERFACE_HASHCall as alloy_sol_types::SolCall>::SELECTOR
11248 }
11249 Self::VERSION(_) => <VERSIONCall as alloy_sol_types::SolCall>::SELECTOR,
11250 Self::_currentBlockTimestamp(_) => {
11251 <_currentBlockTimestampCall as alloy_sol_types::SolCall>::SELECTOR
11252 }
11253 Self::_getChannelId(_) => {
11254 <_getChannelIdCall as alloy_sol_types::SolCall>::SELECTOR
11255 }
11256 Self::_getTicketHash(_) => {
11257 <_getTicketHashCall as alloy_sol_types::SolCall>::SELECTOR
11258 }
11259 Self::_isWinningTicket(_) => {
11260 <_isWinningTicketCall as alloy_sol_types::SolCall>::SELECTOR
11261 }
11262 Self::canImplementInterfaceForAddress(_) => {
11263 <canImplementInterfaceForAddressCall as alloy_sol_types::SolCall>::SELECTOR
11264 }
11265 Self::channels(_) => <channelsCall as alloy_sol_types::SolCall>::SELECTOR,
11266 Self::closeIncomingChannel(_) => {
11267 <closeIncomingChannelCall as alloy_sol_types::SolCall>::SELECTOR
11268 }
11269 Self::closeIncomingChannelSafe(_) => {
11270 <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::SELECTOR
11271 }
11272 Self::domainSeparator(_) => {
11273 <domainSeparatorCall as alloy_sol_types::SolCall>::SELECTOR
11274 }
11275 Self::finalizeOutgoingChannelClosure(_) => {
11276 <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::SELECTOR
11277 }
11278 Self::finalizeOutgoingChannelClosureSafe(_) => {
11279 <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::SELECTOR
11280 }
11281 Self::fundChannel(_) => {
11282 <fundChannelCall as alloy_sol_types::SolCall>::SELECTOR
11283 }
11284 Self::fundChannelSafe(_) => {
11285 <fundChannelSafeCall as alloy_sol_types::SolCall>::SELECTOR
11286 }
11287 Self::initiateOutgoingChannelClosure(_) => {
11288 <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::SELECTOR
11289 }
11290 Self::initiateOutgoingChannelClosureSafe(_) => {
11291 <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::SELECTOR
11292 }
11293 Self::ledgerDomainSeparator(_) => {
11294 <ledgerDomainSeparatorCall as alloy_sol_types::SolCall>::SELECTOR
11295 }
11296 Self::multicall(_) => {
11297 <multicallCall as alloy_sol_types::SolCall>::SELECTOR
11298 }
11299 Self::noticePeriodChannelClosure(_) => {
11300 <noticePeriodChannelClosureCall as alloy_sol_types::SolCall>::SELECTOR
11301 }
11302 Self::redeemTicket(_) => {
11303 <redeemTicketCall as alloy_sol_types::SolCall>::SELECTOR
11304 }
11305 Self::redeemTicketSafe(_) => {
11306 <redeemTicketSafeCall as alloy_sol_types::SolCall>::SELECTOR
11307 }
11308 Self::token(_) => <tokenCall as alloy_sol_types::SolCall>::SELECTOR,
11309 Self::tokensReceived(_) => {
11310 <tokensReceivedCall as alloy_sol_types::SolCall>::SELECTOR
11311 }
11312 Self::updateDomainSeparator(_) => {
11313 <updateDomainSeparatorCall as alloy_sol_types::SolCall>::SELECTOR
11314 }
11315 Self::updateLedgerDomainSeparator(_) => {
11316 <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::SELECTOR
11317 }
11318 }
11319 }
11320 #[inline]
11321 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
11322 Self::SELECTORS.get(i).copied()
11323 }
11324 #[inline]
11325 fn valid_selector(selector: [u8; 4]) -> bool {
11326 Self::SELECTORS.binary_search(&selector).is_ok()
11327 }
11328 #[inline]
11329 #[allow(non_snake_case)]
11330 fn abi_decode_raw(
11331 selector: [u8; 4],
11332 data: &[u8],
11333 ) -> alloy_sol_types::Result<Self> {
11334 static DECODE_SHIMS: &[fn(
11335 &[u8],
11336 ) -> alloy_sol_types::Result<HoprChannelsCalls>] = &[
11337 {
11338 fn tokensReceived(
11339 data: &[u8],
11340 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11341 <tokensReceivedCall as alloy_sol_types::SolCall>::abi_decode_raw(
11342 data,
11343 )
11344 .map(HoprChannelsCalls::tokensReceived)
11345 }
11346 tokensReceived
11347 },
11348 {
11349 fn fundChannelSafe(
11350 data: &[u8],
11351 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11352 <fundChannelSafeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11353 data,
11354 )
11355 .map(HoprChannelsCalls::fundChannelSafe)
11356 }
11357 fundChannelSafe
11358 },
11359 {
11360 fn redeemTicketSafe(
11361 data: &[u8],
11362 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11363 <redeemTicketSafeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11364 data,
11365 )
11366 .map(HoprChannelsCalls::redeemTicketSafe)
11367 }
11368 redeemTicketSafe
11369 },
11370 {
11371 fn closeIncomingChannel(
11372 data: &[u8],
11373 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11374 <closeIncomingChannelCall as alloy_sol_types::SolCall>::abi_decode_raw(
11375 data,
11376 )
11377 .map(HoprChannelsCalls::closeIncomingChannel)
11378 }
11379 closeIncomingChannel
11380 },
11381 {
11382 fn finalizeOutgoingChannelClosure(
11383 data: &[u8],
11384 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11385 <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw(
11386 data,
11387 )
11388 .map(HoprChannelsCalls::finalizeOutgoingChannelClosure)
11389 }
11390 finalizeOutgoingChannelClosure
11391 },
11392 {
11393 fn _getTicketHash(
11394 data: &[u8],
11395 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11396 <_getTicketHashCall as alloy_sol_types::SolCall>::abi_decode_raw(
11397 data,
11398 )
11399 .map(HoprChannelsCalls::_getTicketHash)
11400 }
11401 _getTicketHash
11402 },
11403 {
11404 fn canImplementInterfaceForAddress(
11405 data: &[u8],
11406 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11407 <canImplementInterfaceForAddressCall as alloy_sol_types::SolCall>::abi_decode_raw(
11408 data,
11409 )
11410 .map(HoprChannelsCalls::canImplementInterfaceForAddress)
11411 }
11412 canImplementInterfaceForAddress
11413 },
11414 {
11415 fn MIN_USED_BALANCE(
11416 data: &[u8],
11417 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11418 <MIN_USED_BALANCECall as alloy_sol_types::SolCall>::abi_decode_raw(
11419 data,
11420 )
11421 .map(HoprChannelsCalls::MIN_USED_BALANCE)
11422 }
11423 MIN_USED_BALANCE
11424 },
11425 {
11426 fn ERC777_HOOK_FUND_CHANNEL_SIZE(
11427 data: &[u8],
11428 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11429 <ERC777_HOOK_FUND_CHANNEL_SIZECall as alloy_sol_types::SolCall>::abi_decode_raw(
11430 data,
11431 )
11432 .map(HoprChannelsCalls::ERC777_HOOK_FUND_CHANNEL_SIZE)
11433 }
11434 ERC777_HOOK_FUND_CHANNEL_SIZE
11435 },
11436 {
11437 fn closeIncomingChannelSafe(
11438 data: &[u8],
11439 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11440 <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11441 data,
11442 )
11443 .map(HoprChannelsCalls::closeIncomingChannelSafe)
11444 }
11445 closeIncomingChannelSafe
11446 },
11447 {
11448 fn MAX_USED_BALANCE(
11449 data: &[u8],
11450 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11451 <MAX_USED_BALANCECall as alloy_sol_types::SolCall>::abi_decode_raw(
11452 data,
11453 )
11454 .map(HoprChannelsCalls::MAX_USED_BALANCE)
11455 }
11456 MAX_USED_BALANCE
11457 },
11458 {
11459 fn finalizeOutgoingChannelClosureSafe(
11460 data: &[u8],
11461 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11462 <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11463 data,
11464 )
11465 .map(HoprChannelsCalls::finalizeOutgoingChannelClosureSafe)
11466 }
11467 finalizeOutgoingChannelClosureSafe
11468 },
11469 {
11470 fn TOKENS_RECIPIENT_INTERFACE_HASH(
11471 data: &[u8],
11472 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11473 <TOKENS_RECIPIENT_INTERFACE_HASHCall as alloy_sol_types::SolCall>::abi_decode_raw(
11474 data,
11475 )
11476 .map(HoprChannelsCalls::TOKENS_RECIPIENT_INTERFACE_HASH)
11477 }
11478 TOKENS_RECIPIENT_INTERFACE_HASH
11479 },
11480 {
11481 fn ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(
11482 data: &[u8],
11483 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11484 <ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall as alloy_sol_types::SolCall>::abi_decode_raw(
11485 data,
11486 )
11487 .map(HoprChannelsCalls::ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE)
11488 }
11489 ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE
11490 },
11491 {
11492 fn channels(
11493 data: &[u8],
11494 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11495 <channelsCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
11496 .map(HoprChannelsCalls::channels)
11497 }
11498 channels
11499 },
11500 {
11501 fn initiateOutgoingChannelClosure(
11502 data: &[u8],
11503 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11504 <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw(
11505 data,
11506 )
11507 .map(HoprChannelsCalls::initiateOutgoingChannelClosure)
11508 }
11509 initiateOutgoingChannelClosure
11510 },
11511 {
11512 fn noticePeriodChannelClosure(
11513 data: &[u8],
11514 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11515 <noticePeriodChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw(
11516 data,
11517 )
11518 .map(HoprChannelsCalls::noticePeriodChannelClosure)
11519 }
11520 noticePeriodChannelClosure
11521 },
11522 {
11523 fn updateDomainSeparator(
11524 data: &[u8],
11525 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11526 <updateDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
11527 data,
11528 )
11529 .map(HoprChannelsCalls::updateDomainSeparator)
11530 }
11531 updateDomainSeparator
11532 },
11533 {
11534 fn _isWinningTicket(
11535 data: &[u8],
11536 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11537 <_isWinningTicketCall as alloy_sol_types::SolCall>::abi_decode_raw(
11538 data,
11539 )
11540 .map(HoprChannelsCalls::_isWinningTicket)
11541 }
11542 _isWinningTicket
11543 },
11544 {
11545 fn multicall(
11546 data: &[u8],
11547 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11548 <multicallCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
11549 .map(HoprChannelsCalls::multicall)
11550 }
11551 multicall
11552 },
11553 {
11554 fn _currentBlockTimestamp(
11555 data: &[u8],
11556 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11557 <_currentBlockTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw(
11558 data,
11559 )
11560 .map(HoprChannelsCalls::_currentBlockTimestamp)
11561 }
11562 _currentBlockTimestamp
11563 },
11564 {
11565 fn initiateOutgoingChannelClosureSafe(
11566 data: &[u8],
11567 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11568 <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_decode_raw(
11569 data,
11570 )
11571 .map(HoprChannelsCalls::initiateOutgoingChannelClosureSafe)
11572 }
11573 initiateOutgoingChannelClosureSafe
11574 },
11575 {
11576 fn _getChannelId(
11577 data: &[u8],
11578 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11579 <_getChannelIdCall as alloy_sol_types::SolCall>::abi_decode_raw(
11580 data,
11581 )
11582 .map(HoprChannelsCalls::_getChannelId)
11583 }
11584 _getChannelId
11585 },
11586 {
11587 fn ledgerDomainSeparator(
11588 data: &[u8],
11589 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11590 <ledgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
11591 data,
11592 )
11593 .map(HoprChannelsCalls::ledgerDomainSeparator)
11594 }
11595 ledgerDomainSeparator
11596 },
11597 {
11598 fn updateLedgerDomainSeparator(
11599 data: &[u8],
11600 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11601 <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
11602 data,
11603 )
11604 .map(HoprChannelsCalls::updateLedgerDomainSeparator)
11605 }
11606 updateLedgerDomainSeparator
11607 },
11608 {
11609 fn LEDGER_VERSION(
11610 data: &[u8],
11611 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11612 <LEDGER_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw(
11613 data,
11614 )
11615 .map(HoprChannelsCalls::LEDGER_VERSION)
11616 }
11617 LEDGER_VERSION
11618 },
11619 {
11620 fn domainSeparator(
11621 data: &[u8],
11622 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11623 <domainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
11624 data,
11625 )
11626 .map(HoprChannelsCalls::domainSeparator)
11627 }
11628 domainSeparator
11629 },
11630 {
11631 fn token(data: &[u8]) -> alloy_sol_types::Result<HoprChannelsCalls> {
11632 <tokenCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
11633 .map(HoprChannelsCalls::token)
11634 }
11635 token
11636 },
11637 {
11638 fn fundChannel(
11639 data: &[u8],
11640 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11641 <fundChannelCall as alloy_sol_types::SolCall>::abi_decode_raw(
11642 data,
11643 )
11644 .map(HoprChannelsCalls::fundChannel)
11645 }
11646 fundChannel
11647 },
11648 {
11649 fn redeemTicket(
11650 data: &[u8],
11651 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11652 <redeemTicketCall as alloy_sol_types::SolCall>::abi_decode_raw(
11653 data,
11654 )
11655 .map(HoprChannelsCalls::redeemTicket)
11656 }
11657 redeemTicket
11658 },
11659 {
11660 fn VERSION(
11661 data: &[u8],
11662 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11663 <VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
11664 .map(HoprChannelsCalls::VERSION)
11665 }
11666 VERSION
11667 },
11668 ];
11669 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
11670 return Err(
11671 alloy_sol_types::Error::unknown_selector(
11672 <Self as alloy_sol_types::SolInterface>::NAME,
11673 selector,
11674 ),
11675 );
11676 };
11677 DECODE_SHIMS[idx](data)
11678 }
11679 #[inline]
11680 #[allow(non_snake_case)]
11681 fn abi_decode_raw_validate(
11682 selector: [u8; 4],
11683 data: &[u8],
11684 ) -> alloy_sol_types::Result<Self> {
11685 static DECODE_VALIDATE_SHIMS: &[fn(
11686 &[u8],
11687 ) -> alloy_sol_types::Result<HoprChannelsCalls>] = &[
11688 {
11689 fn tokensReceived(
11690 data: &[u8],
11691 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11692 <tokensReceivedCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11693 data,
11694 )
11695 .map(HoprChannelsCalls::tokensReceived)
11696 }
11697 tokensReceived
11698 },
11699 {
11700 fn fundChannelSafe(
11701 data: &[u8],
11702 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11703 <fundChannelSafeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11704 data,
11705 )
11706 .map(HoprChannelsCalls::fundChannelSafe)
11707 }
11708 fundChannelSafe
11709 },
11710 {
11711 fn redeemTicketSafe(
11712 data: &[u8],
11713 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11714 <redeemTicketSafeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11715 data,
11716 )
11717 .map(HoprChannelsCalls::redeemTicketSafe)
11718 }
11719 redeemTicketSafe
11720 },
11721 {
11722 fn closeIncomingChannel(
11723 data: &[u8],
11724 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11725 <closeIncomingChannelCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11726 data,
11727 )
11728 .map(HoprChannelsCalls::closeIncomingChannel)
11729 }
11730 closeIncomingChannel
11731 },
11732 {
11733 fn finalizeOutgoingChannelClosure(
11734 data: &[u8],
11735 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11736 <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11737 data,
11738 )
11739 .map(HoprChannelsCalls::finalizeOutgoingChannelClosure)
11740 }
11741 finalizeOutgoingChannelClosure
11742 },
11743 {
11744 fn _getTicketHash(
11745 data: &[u8],
11746 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11747 <_getTicketHashCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11748 data,
11749 )
11750 .map(HoprChannelsCalls::_getTicketHash)
11751 }
11752 _getTicketHash
11753 },
11754 {
11755 fn canImplementInterfaceForAddress(
11756 data: &[u8],
11757 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11758 <canImplementInterfaceForAddressCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11759 data,
11760 )
11761 .map(HoprChannelsCalls::canImplementInterfaceForAddress)
11762 }
11763 canImplementInterfaceForAddress
11764 },
11765 {
11766 fn MIN_USED_BALANCE(
11767 data: &[u8],
11768 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11769 <MIN_USED_BALANCECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11770 data,
11771 )
11772 .map(HoprChannelsCalls::MIN_USED_BALANCE)
11773 }
11774 MIN_USED_BALANCE
11775 },
11776 {
11777 fn ERC777_HOOK_FUND_CHANNEL_SIZE(
11778 data: &[u8],
11779 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11780 <ERC777_HOOK_FUND_CHANNEL_SIZECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11781 data,
11782 )
11783 .map(HoprChannelsCalls::ERC777_HOOK_FUND_CHANNEL_SIZE)
11784 }
11785 ERC777_HOOK_FUND_CHANNEL_SIZE
11786 },
11787 {
11788 fn closeIncomingChannelSafe(
11789 data: &[u8],
11790 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11791 <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11792 data,
11793 )
11794 .map(HoprChannelsCalls::closeIncomingChannelSafe)
11795 }
11796 closeIncomingChannelSafe
11797 },
11798 {
11799 fn MAX_USED_BALANCE(
11800 data: &[u8],
11801 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11802 <MAX_USED_BALANCECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11803 data,
11804 )
11805 .map(HoprChannelsCalls::MAX_USED_BALANCE)
11806 }
11807 MAX_USED_BALANCE
11808 },
11809 {
11810 fn finalizeOutgoingChannelClosureSafe(
11811 data: &[u8],
11812 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11813 <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11814 data,
11815 )
11816 .map(HoprChannelsCalls::finalizeOutgoingChannelClosureSafe)
11817 }
11818 finalizeOutgoingChannelClosureSafe
11819 },
11820 {
11821 fn TOKENS_RECIPIENT_INTERFACE_HASH(
11822 data: &[u8],
11823 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11824 <TOKENS_RECIPIENT_INTERFACE_HASHCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11825 data,
11826 )
11827 .map(HoprChannelsCalls::TOKENS_RECIPIENT_INTERFACE_HASH)
11828 }
11829 TOKENS_RECIPIENT_INTERFACE_HASH
11830 },
11831 {
11832 fn ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(
11833 data: &[u8],
11834 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11835 <ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11836 data,
11837 )
11838 .map(HoprChannelsCalls::ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE)
11839 }
11840 ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE
11841 },
11842 {
11843 fn channels(
11844 data: &[u8],
11845 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11846 <channelsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11847 data,
11848 )
11849 .map(HoprChannelsCalls::channels)
11850 }
11851 channels
11852 },
11853 {
11854 fn initiateOutgoingChannelClosure(
11855 data: &[u8],
11856 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11857 <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11858 data,
11859 )
11860 .map(HoprChannelsCalls::initiateOutgoingChannelClosure)
11861 }
11862 initiateOutgoingChannelClosure
11863 },
11864 {
11865 fn noticePeriodChannelClosure(
11866 data: &[u8],
11867 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11868 <noticePeriodChannelClosureCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11869 data,
11870 )
11871 .map(HoprChannelsCalls::noticePeriodChannelClosure)
11872 }
11873 noticePeriodChannelClosure
11874 },
11875 {
11876 fn updateDomainSeparator(
11877 data: &[u8],
11878 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11879 <updateDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11880 data,
11881 )
11882 .map(HoprChannelsCalls::updateDomainSeparator)
11883 }
11884 updateDomainSeparator
11885 },
11886 {
11887 fn _isWinningTicket(
11888 data: &[u8],
11889 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11890 <_isWinningTicketCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11891 data,
11892 )
11893 .map(HoprChannelsCalls::_isWinningTicket)
11894 }
11895 _isWinningTicket
11896 },
11897 {
11898 fn multicall(
11899 data: &[u8],
11900 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11901 <multicallCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11902 data,
11903 )
11904 .map(HoprChannelsCalls::multicall)
11905 }
11906 multicall
11907 },
11908 {
11909 fn _currentBlockTimestamp(
11910 data: &[u8],
11911 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11912 <_currentBlockTimestampCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11913 data,
11914 )
11915 .map(HoprChannelsCalls::_currentBlockTimestamp)
11916 }
11917 _currentBlockTimestamp
11918 },
11919 {
11920 fn initiateOutgoingChannelClosureSafe(
11921 data: &[u8],
11922 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11923 <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11924 data,
11925 )
11926 .map(HoprChannelsCalls::initiateOutgoingChannelClosureSafe)
11927 }
11928 initiateOutgoingChannelClosureSafe
11929 },
11930 {
11931 fn _getChannelId(
11932 data: &[u8],
11933 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11934 <_getChannelIdCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11935 data,
11936 )
11937 .map(HoprChannelsCalls::_getChannelId)
11938 }
11939 _getChannelId
11940 },
11941 {
11942 fn ledgerDomainSeparator(
11943 data: &[u8],
11944 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11945 <ledgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11946 data,
11947 )
11948 .map(HoprChannelsCalls::ledgerDomainSeparator)
11949 }
11950 ledgerDomainSeparator
11951 },
11952 {
11953 fn updateLedgerDomainSeparator(
11954 data: &[u8],
11955 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11956 <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11957 data,
11958 )
11959 .map(HoprChannelsCalls::updateLedgerDomainSeparator)
11960 }
11961 updateLedgerDomainSeparator
11962 },
11963 {
11964 fn LEDGER_VERSION(
11965 data: &[u8],
11966 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11967 <LEDGER_VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11968 data,
11969 )
11970 .map(HoprChannelsCalls::LEDGER_VERSION)
11971 }
11972 LEDGER_VERSION
11973 },
11974 {
11975 fn domainSeparator(
11976 data: &[u8],
11977 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11978 <domainSeparatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11979 data,
11980 )
11981 .map(HoprChannelsCalls::domainSeparator)
11982 }
11983 domainSeparator
11984 },
11985 {
11986 fn token(data: &[u8]) -> alloy_sol_types::Result<HoprChannelsCalls> {
11987 <tokenCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11988 data,
11989 )
11990 .map(HoprChannelsCalls::token)
11991 }
11992 token
11993 },
11994 {
11995 fn fundChannel(
11996 data: &[u8],
11997 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
11998 <fundChannelCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
11999 data,
12000 )
12001 .map(HoprChannelsCalls::fundChannel)
12002 }
12003 fundChannel
12004 },
12005 {
12006 fn redeemTicket(
12007 data: &[u8],
12008 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
12009 <redeemTicketCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
12010 data,
12011 )
12012 .map(HoprChannelsCalls::redeemTicket)
12013 }
12014 redeemTicket
12015 },
12016 {
12017 fn VERSION(
12018 data: &[u8],
12019 ) -> alloy_sol_types::Result<HoprChannelsCalls> {
12020 <VERSIONCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
12021 data,
12022 )
12023 .map(HoprChannelsCalls::VERSION)
12024 }
12025 VERSION
12026 },
12027 ];
12028 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12029 return Err(
12030 alloy_sol_types::Error::unknown_selector(
12031 <Self as alloy_sol_types::SolInterface>::NAME,
12032 selector,
12033 ),
12034 );
12035 };
12036 DECODE_VALIDATE_SHIMS[idx](data)
12037 }
12038 #[inline]
12039 fn abi_encoded_size(&self) -> usize {
12040 match self {
12041 Self::ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(inner) => {
12042 <ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall as alloy_sol_types::SolCall>::abi_encoded_size(
12043 inner,
12044 )
12045 }
12046 Self::ERC777_HOOK_FUND_CHANNEL_SIZE(inner) => {
12047 <ERC777_HOOK_FUND_CHANNEL_SIZECall as alloy_sol_types::SolCall>::abi_encoded_size(
12048 inner,
12049 )
12050 }
12051 Self::LEDGER_VERSION(inner) => {
12052 <LEDGER_VERSIONCall as alloy_sol_types::SolCall>::abi_encoded_size(
12053 inner,
12054 )
12055 }
12056 Self::MAX_USED_BALANCE(inner) => {
12057 <MAX_USED_BALANCECall as alloy_sol_types::SolCall>::abi_encoded_size(
12058 inner,
12059 )
12060 }
12061 Self::MIN_USED_BALANCE(inner) => {
12062 <MIN_USED_BALANCECall as alloy_sol_types::SolCall>::abi_encoded_size(
12063 inner,
12064 )
12065 }
12066 Self::TOKENS_RECIPIENT_INTERFACE_HASH(inner) => {
12067 <TOKENS_RECIPIENT_INTERFACE_HASHCall as alloy_sol_types::SolCall>::abi_encoded_size(
12068 inner,
12069 )
12070 }
12071 Self::VERSION(inner) => {
12072 <VERSIONCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12073 }
12074 Self::_currentBlockTimestamp(inner) => {
12075 <_currentBlockTimestampCall as alloy_sol_types::SolCall>::abi_encoded_size(
12076 inner,
12077 )
12078 }
12079 Self::_getChannelId(inner) => {
12080 <_getChannelIdCall as alloy_sol_types::SolCall>::abi_encoded_size(
12081 inner,
12082 )
12083 }
12084 Self::_getTicketHash(inner) => {
12085 <_getTicketHashCall as alloy_sol_types::SolCall>::abi_encoded_size(
12086 inner,
12087 )
12088 }
12089 Self::_isWinningTicket(inner) => {
12090 <_isWinningTicketCall as alloy_sol_types::SolCall>::abi_encoded_size(
12091 inner,
12092 )
12093 }
12094 Self::canImplementInterfaceForAddress(inner) => {
12095 <canImplementInterfaceForAddressCall as alloy_sol_types::SolCall>::abi_encoded_size(
12096 inner,
12097 )
12098 }
12099 Self::channels(inner) => {
12100 <channelsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12101 }
12102 Self::closeIncomingChannel(inner) => {
12103 <closeIncomingChannelCall as alloy_sol_types::SolCall>::abi_encoded_size(
12104 inner,
12105 )
12106 }
12107 Self::closeIncomingChannelSafe(inner) => {
12108 <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12109 inner,
12110 )
12111 }
12112 Self::domainSeparator(inner) => {
12113 <domainSeparatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
12114 inner,
12115 )
12116 }
12117 Self::finalizeOutgoingChannelClosure(inner) => {
12118 <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_encoded_size(
12119 inner,
12120 )
12121 }
12122 Self::finalizeOutgoingChannelClosureSafe(inner) => {
12123 <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12124 inner,
12125 )
12126 }
12127 Self::fundChannel(inner) => {
12128 <fundChannelCall as alloy_sol_types::SolCall>::abi_encoded_size(
12129 inner,
12130 )
12131 }
12132 Self::fundChannelSafe(inner) => {
12133 <fundChannelSafeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12134 inner,
12135 )
12136 }
12137 Self::initiateOutgoingChannelClosure(inner) => {
12138 <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_encoded_size(
12139 inner,
12140 )
12141 }
12142 Self::initiateOutgoingChannelClosureSafe(inner) => {
12143 <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12144 inner,
12145 )
12146 }
12147 Self::ledgerDomainSeparator(inner) => {
12148 <ledgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
12149 inner,
12150 )
12151 }
12152 Self::multicall(inner) => {
12153 <multicallCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12154 }
12155 Self::noticePeriodChannelClosure(inner) => {
12156 <noticePeriodChannelClosureCall as alloy_sol_types::SolCall>::abi_encoded_size(
12157 inner,
12158 )
12159 }
12160 Self::redeemTicket(inner) => {
12161 <redeemTicketCall as alloy_sol_types::SolCall>::abi_encoded_size(
12162 inner,
12163 )
12164 }
12165 Self::redeemTicketSafe(inner) => {
12166 <redeemTicketSafeCall as alloy_sol_types::SolCall>::abi_encoded_size(
12167 inner,
12168 )
12169 }
12170 Self::token(inner) => {
12171 <tokenCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
12172 }
12173 Self::tokensReceived(inner) => {
12174 <tokensReceivedCall as alloy_sol_types::SolCall>::abi_encoded_size(
12175 inner,
12176 )
12177 }
12178 Self::updateDomainSeparator(inner) => {
12179 <updateDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
12180 inner,
12181 )
12182 }
12183 Self::updateLedgerDomainSeparator(inner) => {
12184 <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
12185 inner,
12186 )
12187 }
12188 }
12189 }
12190 #[inline]
12191 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
12192 match self {
12193 Self::ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(inner) => {
12194 <ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall as alloy_sol_types::SolCall>::abi_encode_raw(
12195 inner,
12196 out,
12197 )
12198 }
12199 Self::ERC777_HOOK_FUND_CHANNEL_SIZE(inner) => {
12200 <ERC777_HOOK_FUND_CHANNEL_SIZECall as alloy_sol_types::SolCall>::abi_encode_raw(
12201 inner,
12202 out,
12203 )
12204 }
12205 Self::LEDGER_VERSION(inner) => {
12206 <LEDGER_VERSIONCall as alloy_sol_types::SolCall>::abi_encode_raw(
12207 inner,
12208 out,
12209 )
12210 }
12211 Self::MAX_USED_BALANCE(inner) => {
12212 <MAX_USED_BALANCECall as alloy_sol_types::SolCall>::abi_encode_raw(
12213 inner,
12214 out,
12215 )
12216 }
12217 Self::MIN_USED_BALANCE(inner) => {
12218 <MIN_USED_BALANCECall as alloy_sol_types::SolCall>::abi_encode_raw(
12219 inner,
12220 out,
12221 )
12222 }
12223 Self::TOKENS_RECIPIENT_INTERFACE_HASH(inner) => {
12224 <TOKENS_RECIPIENT_INTERFACE_HASHCall as alloy_sol_types::SolCall>::abi_encode_raw(
12225 inner,
12226 out,
12227 )
12228 }
12229 Self::VERSION(inner) => {
12230 <VERSIONCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
12231 }
12232 Self::_currentBlockTimestamp(inner) => {
12233 <_currentBlockTimestampCall as alloy_sol_types::SolCall>::abi_encode_raw(
12234 inner,
12235 out,
12236 )
12237 }
12238 Self::_getChannelId(inner) => {
12239 <_getChannelIdCall as alloy_sol_types::SolCall>::abi_encode_raw(
12240 inner,
12241 out,
12242 )
12243 }
12244 Self::_getTicketHash(inner) => {
12245 <_getTicketHashCall as alloy_sol_types::SolCall>::abi_encode_raw(
12246 inner,
12247 out,
12248 )
12249 }
12250 Self::_isWinningTicket(inner) => {
12251 <_isWinningTicketCall as alloy_sol_types::SolCall>::abi_encode_raw(
12252 inner,
12253 out,
12254 )
12255 }
12256 Self::canImplementInterfaceForAddress(inner) => {
12257 <canImplementInterfaceForAddressCall as alloy_sol_types::SolCall>::abi_encode_raw(
12258 inner,
12259 out,
12260 )
12261 }
12262 Self::channels(inner) => {
12263 <channelsCall as alloy_sol_types::SolCall>::abi_encode_raw(
12264 inner,
12265 out,
12266 )
12267 }
12268 Self::closeIncomingChannel(inner) => {
12269 <closeIncomingChannelCall as alloy_sol_types::SolCall>::abi_encode_raw(
12270 inner,
12271 out,
12272 )
12273 }
12274 Self::closeIncomingChannelSafe(inner) => {
12275 <closeIncomingChannelSafeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12276 inner,
12277 out,
12278 )
12279 }
12280 Self::domainSeparator(inner) => {
12281 <domainSeparatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
12282 inner,
12283 out,
12284 )
12285 }
12286 Self::finalizeOutgoingChannelClosure(inner) => {
12287 <finalizeOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_encode_raw(
12288 inner,
12289 out,
12290 )
12291 }
12292 Self::finalizeOutgoingChannelClosureSafe(inner) => {
12293 <finalizeOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12294 inner,
12295 out,
12296 )
12297 }
12298 Self::fundChannel(inner) => {
12299 <fundChannelCall as alloy_sol_types::SolCall>::abi_encode_raw(
12300 inner,
12301 out,
12302 )
12303 }
12304 Self::fundChannelSafe(inner) => {
12305 <fundChannelSafeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12306 inner,
12307 out,
12308 )
12309 }
12310 Self::initiateOutgoingChannelClosure(inner) => {
12311 <initiateOutgoingChannelClosureCall as alloy_sol_types::SolCall>::abi_encode_raw(
12312 inner,
12313 out,
12314 )
12315 }
12316 Self::initiateOutgoingChannelClosureSafe(inner) => {
12317 <initiateOutgoingChannelClosureSafeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12318 inner,
12319 out,
12320 )
12321 }
12322 Self::ledgerDomainSeparator(inner) => {
12323 <ledgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
12324 inner,
12325 out,
12326 )
12327 }
12328 Self::multicall(inner) => {
12329 <multicallCall as alloy_sol_types::SolCall>::abi_encode_raw(
12330 inner,
12331 out,
12332 )
12333 }
12334 Self::noticePeriodChannelClosure(inner) => {
12335 <noticePeriodChannelClosureCall as alloy_sol_types::SolCall>::abi_encode_raw(
12336 inner,
12337 out,
12338 )
12339 }
12340 Self::redeemTicket(inner) => {
12341 <redeemTicketCall as alloy_sol_types::SolCall>::abi_encode_raw(
12342 inner,
12343 out,
12344 )
12345 }
12346 Self::redeemTicketSafe(inner) => {
12347 <redeemTicketSafeCall as alloy_sol_types::SolCall>::abi_encode_raw(
12348 inner,
12349 out,
12350 )
12351 }
12352 Self::token(inner) => {
12353 <tokenCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
12354 }
12355 Self::tokensReceived(inner) => {
12356 <tokensReceivedCall as alloy_sol_types::SolCall>::abi_encode_raw(
12357 inner,
12358 out,
12359 )
12360 }
12361 Self::updateDomainSeparator(inner) => {
12362 <updateDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
12363 inner,
12364 out,
12365 )
12366 }
12367 Self::updateLedgerDomainSeparator(inner) => {
12368 <updateLedgerDomainSeparatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
12369 inner,
12370 out,
12371 )
12372 }
12373 }
12374 }
12375 }
12376 #[derive(serde::Serialize, serde::Deserialize)]
12378 #[derive(Debug, PartialEq, Eq, Hash)]
12379 pub enum HoprChannelsErrors {
12380 #[allow(missing_docs)]
12381 AlreadyInitialized(AlreadyInitialized),
12382 #[allow(missing_docs)]
12383 BalanceExceedsGlobalPerChannelAllowance(BalanceExceedsGlobalPerChannelAllowance),
12384 #[allow(missing_docs)]
12385 ContractNotResponsible(ContractNotResponsible),
12386 #[allow(missing_docs)]
12387 InsufficientChannelBalance(InsufficientChannelBalance),
12388 #[allow(missing_docs)]
12389 InvalidAggregatedTicketInterval(InvalidAggregatedTicketInterval),
12390 #[allow(missing_docs)]
12391 InvalidBalance(InvalidBalance),
12392 #[allow(missing_docs)]
12393 InvalidCurvePoint(InvalidCurvePoint),
12394 #[allow(missing_docs)]
12395 InvalidFieldElement(InvalidFieldElement),
12396 #[allow(missing_docs)]
12397 InvalidNoticePeriod(InvalidNoticePeriod),
12398 #[allow(missing_docs)]
12399 InvalidPointWitness(InvalidPointWitness),
12400 #[allow(missing_docs)]
12401 InvalidSafeAddress(InvalidSafeAddress),
12402 #[allow(missing_docs)]
12403 InvalidTicketSignature(InvalidTicketSignature),
12404 #[allow(missing_docs)]
12405 InvalidTokenRecipient(InvalidTokenRecipient),
12406 #[allow(missing_docs)]
12407 InvalidTokensReceivedUsage(InvalidTokensReceivedUsage),
12408 #[allow(missing_docs)]
12409 InvalidVRFProof(InvalidVRFProof),
12410 #[allow(missing_docs)]
12411 MultiSigUninitialized(MultiSigUninitialized),
12412 #[allow(missing_docs)]
12413 NoticePeriodNotDue(NoticePeriodNotDue),
12414 #[allow(missing_docs)]
12415 SourceEqualsDestination(SourceEqualsDestination),
12416 #[allow(missing_docs)]
12417 TicketIsNotAWin(TicketIsNotAWin),
12418 #[allow(missing_docs)]
12419 TokenTransferFailed(TokenTransferFailed),
12420 #[allow(missing_docs)]
12421 WrongChannelState(WrongChannelState),
12422 #[allow(missing_docs)]
12423 WrongToken(WrongToken),
12424 #[allow(missing_docs)]
12425 ZeroAddress(ZeroAddress),
12426 }
12427 #[automatically_derived]
12428 impl HoprChannelsErrors {
12429 pub const SELECTORS: &'static [[u8; 4usize]] = &[
12436 [4u8, 92u8, 75u8, 2u8],
12437 [13u8, 193u8, 73u8, 240u8],
12438 [58u8, 228u8, 237u8, 107u8],
12439 [69u8, 74u8, 32u8, 200u8],
12440 [73u8, 148u8, 99u8, 193u8],
12441 [105u8, 238u8, 111u8, 40u8],
12442 [113u8, 100u8, 3u8, 42u8],
12443 [114u8, 69u8, 74u8, 130u8],
12444 [142u8, 157u8, 124u8, 94u8],
12445 [149u8, 253u8, 189u8, 184u8],
12446 [151u8, 163u8, 174u8, 210u8],
12447 [160u8, 243u8, 254u8, 234u8],
12448 [164u8, 243u8, 187u8, 228u8],
12449 [172u8, 213u8, 168u8, 35u8],
12450 [177u8, 71u8, 99u8, 108u8],
12451 [185u8, 196u8, 145u8, 8u8],
12452 [197u8, 46u8, 62u8, 255u8],
12453 [205u8, 221u8, 83u8, 86u8],
12454 [208u8, 220u8, 60u8, 30u8],
12455 [234u8, 192u8, 211u8, 137u8],
12456 [237u8, 253u8, 205u8, 152u8],
12457 [238u8, 131u8, 92u8, 137u8],
12458 [249u8, 238u8, 145u8, 7u8],
12459 ];
12460 }
12461 #[automatically_derived]
12462 impl alloy_sol_types::SolInterface for HoprChannelsErrors {
12463 const NAME: &'static str = "HoprChannelsErrors";
12464 const MIN_DATA_LENGTH: usize = 0usize;
12465 const COUNT: usize = 23usize;
12466 #[inline]
12467 fn selector(&self) -> [u8; 4] {
12468 match self {
12469 Self::AlreadyInitialized(_) => {
12470 <AlreadyInitialized as alloy_sol_types::SolError>::SELECTOR
12471 }
12472 Self::BalanceExceedsGlobalPerChannelAllowance(_) => {
12473 <BalanceExceedsGlobalPerChannelAllowance as alloy_sol_types::SolError>::SELECTOR
12474 }
12475 Self::ContractNotResponsible(_) => {
12476 <ContractNotResponsible as alloy_sol_types::SolError>::SELECTOR
12477 }
12478 Self::InsufficientChannelBalance(_) => {
12479 <InsufficientChannelBalance as alloy_sol_types::SolError>::SELECTOR
12480 }
12481 Self::InvalidAggregatedTicketInterval(_) => {
12482 <InvalidAggregatedTicketInterval as alloy_sol_types::SolError>::SELECTOR
12483 }
12484 Self::InvalidBalance(_) => {
12485 <InvalidBalance as alloy_sol_types::SolError>::SELECTOR
12486 }
12487 Self::InvalidCurvePoint(_) => {
12488 <InvalidCurvePoint as alloy_sol_types::SolError>::SELECTOR
12489 }
12490 Self::InvalidFieldElement(_) => {
12491 <InvalidFieldElement as alloy_sol_types::SolError>::SELECTOR
12492 }
12493 Self::InvalidNoticePeriod(_) => {
12494 <InvalidNoticePeriod as alloy_sol_types::SolError>::SELECTOR
12495 }
12496 Self::InvalidPointWitness(_) => {
12497 <InvalidPointWitness as alloy_sol_types::SolError>::SELECTOR
12498 }
12499 Self::InvalidSafeAddress(_) => {
12500 <InvalidSafeAddress as alloy_sol_types::SolError>::SELECTOR
12501 }
12502 Self::InvalidTicketSignature(_) => {
12503 <InvalidTicketSignature as alloy_sol_types::SolError>::SELECTOR
12504 }
12505 Self::InvalidTokenRecipient(_) => {
12506 <InvalidTokenRecipient as alloy_sol_types::SolError>::SELECTOR
12507 }
12508 Self::InvalidTokensReceivedUsage(_) => {
12509 <InvalidTokensReceivedUsage as alloy_sol_types::SolError>::SELECTOR
12510 }
12511 Self::InvalidVRFProof(_) => {
12512 <InvalidVRFProof as alloy_sol_types::SolError>::SELECTOR
12513 }
12514 Self::MultiSigUninitialized(_) => {
12515 <MultiSigUninitialized as alloy_sol_types::SolError>::SELECTOR
12516 }
12517 Self::NoticePeriodNotDue(_) => {
12518 <NoticePeriodNotDue as alloy_sol_types::SolError>::SELECTOR
12519 }
12520 Self::SourceEqualsDestination(_) => {
12521 <SourceEqualsDestination as alloy_sol_types::SolError>::SELECTOR
12522 }
12523 Self::TicketIsNotAWin(_) => {
12524 <TicketIsNotAWin as alloy_sol_types::SolError>::SELECTOR
12525 }
12526 Self::TokenTransferFailed(_) => {
12527 <TokenTransferFailed as alloy_sol_types::SolError>::SELECTOR
12528 }
12529 Self::WrongChannelState(_) => {
12530 <WrongChannelState as alloy_sol_types::SolError>::SELECTOR
12531 }
12532 Self::WrongToken(_) => {
12533 <WrongToken as alloy_sol_types::SolError>::SELECTOR
12534 }
12535 Self::ZeroAddress(_) => {
12536 <ZeroAddress as alloy_sol_types::SolError>::SELECTOR
12537 }
12538 }
12539 }
12540 #[inline]
12541 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
12542 Self::SELECTORS.get(i).copied()
12543 }
12544 #[inline]
12545 fn valid_selector(selector: [u8; 4]) -> bool {
12546 Self::SELECTORS.binary_search(&selector).is_ok()
12547 }
12548 #[inline]
12549 #[allow(non_snake_case)]
12550 fn abi_decode_raw(
12551 selector: [u8; 4],
12552 data: &[u8],
12553 ) -> alloy_sol_types::Result<Self> {
12554 static DECODE_SHIMS: &[fn(
12555 &[u8],
12556 ) -> alloy_sol_types::Result<HoprChannelsErrors>] = &[
12557 {
12558 fn TokenTransferFailed(
12559 data: &[u8],
12560 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12561 <TokenTransferFailed as alloy_sol_types::SolError>::abi_decode_raw(
12562 data,
12563 )
12564 .map(HoprChannelsErrors::TokenTransferFailed)
12565 }
12566 TokenTransferFailed
12567 },
12568 {
12569 fn AlreadyInitialized(
12570 data: &[u8],
12571 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12572 <AlreadyInitialized as alloy_sol_types::SolError>::abi_decode_raw(
12573 data,
12574 )
12575 .map(HoprChannelsErrors::AlreadyInitialized)
12576 }
12577 AlreadyInitialized
12578 },
12579 {
12580 fn InvalidFieldElement(
12581 data: &[u8],
12582 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12583 <InvalidFieldElement as alloy_sol_types::SolError>::abi_decode_raw(
12584 data,
12585 )
12586 .map(HoprChannelsErrors::InvalidFieldElement)
12587 }
12588 InvalidFieldElement
12589 },
12590 {
12591 fn MultiSigUninitialized(
12592 data: &[u8],
12593 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12594 <MultiSigUninitialized as alloy_sol_types::SolError>::abi_decode_raw(
12595 data,
12596 )
12597 .map(HoprChannelsErrors::MultiSigUninitialized)
12598 }
12599 MultiSigUninitialized
12600 },
12601 {
12602 fn WrongChannelState(
12603 data: &[u8],
12604 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12605 <WrongChannelState as alloy_sol_types::SolError>::abi_decode_raw(
12606 data,
12607 )
12608 .map(HoprChannelsErrors::WrongChannelState)
12609 }
12610 WrongChannelState
12611 },
12612 {
12613 fn InvalidTokensReceivedUsage(
12614 data: &[u8],
12615 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12616 <InvalidTokensReceivedUsage as alloy_sol_types::SolError>::abi_decode_raw(
12617 data,
12618 )
12619 .map(HoprChannelsErrors::InvalidTokensReceivedUsage)
12620 }
12621 InvalidTokensReceivedUsage
12622 },
12623 {
12624 fn NoticePeriodNotDue(
12625 data: &[u8],
12626 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12627 <NoticePeriodNotDue as alloy_sol_types::SolError>::abi_decode_raw(
12628 data,
12629 )
12630 .map(HoprChannelsErrors::NoticePeriodNotDue)
12631 }
12632 NoticePeriodNotDue
12633 },
12634 {
12635 fn InvalidCurvePoint(
12636 data: &[u8],
12637 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12638 <InvalidCurvePoint as alloy_sol_types::SolError>::abi_decode_raw(
12639 data,
12640 )
12641 .map(HoprChannelsErrors::InvalidCurvePoint)
12642 }
12643 InvalidCurvePoint
12644 },
12645 {
12646 fn InvalidSafeAddress(
12647 data: &[u8],
12648 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12649 <InvalidSafeAddress as alloy_sol_types::SolError>::abi_decode_raw(
12650 data,
12651 )
12652 .map(HoprChannelsErrors::InvalidSafeAddress)
12653 }
12654 InvalidSafeAddress
12655 },
12656 {
12657 fn InvalidVRFProof(
12658 data: &[u8],
12659 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12660 <InvalidVRFProof as alloy_sol_types::SolError>::abi_decode_raw(
12661 data,
12662 )
12663 .map(HoprChannelsErrors::InvalidVRFProof)
12664 }
12665 InvalidVRFProof
12666 },
12667 {
12668 fn SourceEqualsDestination(
12669 data: &[u8],
12670 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12671 <SourceEqualsDestination as alloy_sol_types::SolError>::abi_decode_raw(
12672 data,
12673 )
12674 .map(HoprChannelsErrors::SourceEqualsDestination)
12675 }
12676 SourceEqualsDestination
12677 },
12678 {
12679 fn WrongToken(
12680 data: &[u8],
12681 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12682 <WrongToken as alloy_sol_types::SolError>::abi_decode_raw(data)
12683 .map(HoprChannelsErrors::WrongToken)
12684 }
12685 WrongToken
12686 },
12687 {
12688 fn BalanceExceedsGlobalPerChannelAllowance(
12689 data: &[u8],
12690 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12691 <BalanceExceedsGlobalPerChannelAllowance as alloy_sol_types::SolError>::abi_decode_raw(
12692 data,
12693 )
12694 .map(
12695 HoprChannelsErrors::BalanceExceedsGlobalPerChannelAllowance,
12696 )
12697 }
12698 BalanceExceedsGlobalPerChannelAllowance
12699 },
12700 {
12701 fn ContractNotResponsible(
12702 data: &[u8],
12703 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12704 <ContractNotResponsible as alloy_sol_types::SolError>::abi_decode_raw(
12705 data,
12706 )
12707 .map(HoprChannelsErrors::ContractNotResponsible)
12708 }
12709 ContractNotResponsible
12710 },
12711 {
12712 fn InsufficientChannelBalance(
12713 data: &[u8],
12714 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12715 <InsufficientChannelBalance as alloy_sol_types::SolError>::abi_decode_raw(
12716 data,
12717 )
12718 .map(HoprChannelsErrors::InsufficientChannelBalance)
12719 }
12720 InsufficientChannelBalance
12721 },
12722 {
12723 fn InvalidTokenRecipient(
12724 data: &[u8],
12725 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12726 <InvalidTokenRecipient as alloy_sol_types::SolError>::abi_decode_raw(
12727 data,
12728 )
12729 .map(HoprChannelsErrors::InvalidTokenRecipient)
12730 }
12731 InvalidTokenRecipient
12732 },
12733 {
12734 fn InvalidBalance(
12735 data: &[u8],
12736 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12737 <InvalidBalance as alloy_sol_types::SolError>::abi_decode_raw(
12738 data,
12739 )
12740 .map(HoprChannelsErrors::InvalidBalance)
12741 }
12742 InvalidBalance
12743 },
12744 {
12745 fn InvalidTicketSignature(
12746 data: &[u8],
12747 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12748 <InvalidTicketSignature as alloy_sol_types::SolError>::abi_decode_raw(
12749 data,
12750 )
12751 .map(HoprChannelsErrors::InvalidTicketSignature)
12752 }
12753 InvalidTicketSignature
12754 },
12755 {
12756 fn InvalidAggregatedTicketInterval(
12757 data: &[u8],
12758 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12759 <InvalidAggregatedTicketInterval as alloy_sol_types::SolError>::abi_decode_raw(
12760 data,
12761 )
12762 .map(HoprChannelsErrors::InvalidAggregatedTicketInterval)
12763 }
12764 InvalidAggregatedTicketInterval
12765 },
12766 {
12767 fn ZeroAddress(
12768 data: &[u8],
12769 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12770 <ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw(data)
12771 .map(HoprChannelsErrors::ZeroAddress)
12772 }
12773 ZeroAddress
12774 },
12775 {
12776 fn InvalidPointWitness(
12777 data: &[u8],
12778 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12779 <InvalidPointWitness as alloy_sol_types::SolError>::abi_decode_raw(
12780 data,
12781 )
12782 .map(HoprChannelsErrors::InvalidPointWitness)
12783 }
12784 InvalidPointWitness
12785 },
12786 {
12787 fn TicketIsNotAWin(
12788 data: &[u8],
12789 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12790 <TicketIsNotAWin as alloy_sol_types::SolError>::abi_decode_raw(
12791 data,
12792 )
12793 .map(HoprChannelsErrors::TicketIsNotAWin)
12794 }
12795 TicketIsNotAWin
12796 },
12797 {
12798 fn InvalidNoticePeriod(
12799 data: &[u8],
12800 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12801 <InvalidNoticePeriod as alloy_sol_types::SolError>::abi_decode_raw(
12802 data,
12803 )
12804 .map(HoprChannelsErrors::InvalidNoticePeriod)
12805 }
12806 InvalidNoticePeriod
12807 },
12808 ];
12809 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
12810 return Err(
12811 alloy_sol_types::Error::unknown_selector(
12812 <Self as alloy_sol_types::SolInterface>::NAME,
12813 selector,
12814 ),
12815 );
12816 };
12817 DECODE_SHIMS[idx](data)
12818 }
12819 #[inline]
12820 #[allow(non_snake_case)]
12821 fn abi_decode_raw_validate(
12822 selector: [u8; 4],
12823 data: &[u8],
12824 ) -> alloy_sol_types::Result<Self> {
12825 static DECODE_VALIDATE_SHIMS: &[fn(
12826 &[u8],
12827 ) -> alloy_sol_types::Result<HoprChannelsErrors>] = &[
12828 {
12829 fn TokenTransferFailed(
12830 data: &[u8],
12831 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12832 <TokenTransferFailed as alloy_sol_types::SolError>::abi_decode_raw_validate(
12833 data,
12834 )
12835 .map(HoprChannelsErrors::TokenTransferFailed)
12836 }
12837 TokenTransferFailed
12838 },
12839 {
12840 fn AlreadyInitialized(
12841 data: &[u8],
12842 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12843 <AlreadyInitialized as alloy_sol_types::SolError>::abi_decode_raw_validate(
12844 data,
12845 )
12846 .map(HoprChannelsErrors::AlreadyInitialized)
12847 }
12848 AlreadyInitialized
12849 },
12850 {
12851 fn InvalidFieldElement(
12852 data: &[u8],
12853 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12854 <InvalidFieldElement as alloy_sol_types::SolError>::abi_decode_raw_validate(
12855 data,
12856 )
12857 .map(HoprChannelsErrors::InvalidFieldElement)
12858 }
12859 InvalidFieldElement
12860 },
12861 {
12862 fn MultiSigUninitialized(
12863 data: &[u8],
12864 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12865 <MultiSigUninitialized as alloy_sol_types::SolError>::abi_decode_raw_validate(
12866 data,
12867 )
12868 .map(HoprChannelsErrors::MultiSigUninitialized)
12869 }
12870 MultiSigUninitialized
12871 },
12872 {
12873 fn WrongChannelState(
12874 data: &[u8],
12875 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12876 <WrongChannelState as alloy_sol_types::SolError>::abi_decode_raw_validate(
12877 data,
12878 )
12879 .map(HoprChannelsErrors::WrongChannelState)
12880 }
12881 WrongChannelState
12882 },
12883 {
12884 fn InvalidTokensReceivedUsage(
12885 data: &[u8],
12886 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12887 <InvalidTokensReceivedUsage as alloy_sol_types::SolError>::abi_decode_raw_validate(
12888 data,
12889 )
12890 .map(HoprChannelsErrors::InvalidTokensReceivedUsage)
12891 }
12892 InvalidTokensReceivedUsage
12893 },
12894 {
12895 fn NoticePeriodNotDue(
12896 data: &[u8],
12897 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12898 <NoticePeriodNotDue as alloy_sol_types::SolError>::abi_decode_raw_validate(
12899 data,
12900 )
12901 .map(HoprChannelsErrors::NoticePeriodNotDue)
12902 }
12903 NoticePeriodNotDue
12904 },
12905 {
12906 fn InvalidCurvePoint(
12907 data: &[u8],
12908 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12909 <InvalidCurvePoint as alloy_sol_types::SolError>::abi_decode_raw_validate(
12910 data,
12911 )
12912 .map(HoprChannelsErrors::InvalidCurvePoint)
12913 }
12914 InvalidCurvePoint
12915 },
12916 {
12917 fn InvalidSafeAddress(
12918 data: &[u8],
12919 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12920 <InvalidSafeAddress as alloy_sol_types::SolError>::abi_decode_raw_validate(
12921 data,
12922 )
12923 .map(HoprChannelsErrors::InvalidSafeAddress)
12924 }
12925 InvalidSafeAddress
12926 },
12927 {
12928 fn InvalidVRFProof(
12929 data: &[u8],
12930 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12931 <InvalidVRFProof as alloy_sol_types::SolError>::abi_decode_raw_validate(
12932 data,
12933 )
12934 .map(HoprChannelsErrors::InvalidVRFProof)
12935 }
12936 InvalidVRFProof
12937 },
12938 {
12939 fn SourceEqualsDestination(
12940 data: &[u8],
12941 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12942 <SourceEqualsDestination as alloy_sol_types::SolError>::abi_decode_raw_validate(
12943 data,
12944 )
12945 .map(HoprChannelsErrors::SourceEqualsDestination)
12946 }
12947 SourceEqualsDestination
12948 },
12949 {
12950 fn WrongToken(
12951 data: &[u8],
12952 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12953 <WrongToken as alloy_sol_types::SolError>::abi_decode_raw_validate(
12954 data,
12955 )
12956 .map(HoprChannelsErrors::WrongToken)
12957 }
12958 WrongToken
12959 },
12960 {
12961 fn BalanceExceedsGlobalPerChannelAllowance(
12962 data: &[u8],
12963 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12964 <BalanceExceedsGlobalPerChannelAllowance as alloy_sol_types::SolError>::abi_decode_raw_validate(
12965 data,
12966 )
12967 .map(
12968 HoprChannelsErrors::BalanceExceedsGlobalPerChannelAllowance,
12969 )
12970 }
12971 BalanceExceedsGlobalPerChannelAllowance
12972 },
12973 {
12974 fn ContractNotResponsible(
12975 data: &[u8],
12976 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12977 <ContractNotResponsible as alloy_sol_types::SolError>::abi_decode_raw_validate(
12978 data,
12979 )
12980 .map(HoprChannelsErrors::ContractNotResponsible)
12981 }
12982 ContractNotResponsible
12983 },
12984 {
12985 fn InsufficientChannelBalance(
12986 data: &[u8],
12987 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12988 <InsufficientChannelBalance as alloy_sol_types::SolError>::abi_decode_raw_validate(
12989 data,
12990 )
12991 .map(HoprChannelsErrors::InsufficientChannelBalance)
12992 }
12993 InsufficientChannelBalance
12994 },
12995 {
12996 fn InvalidTokenRecipient(
12997 data: &[u8],
12998 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
12999 <InvalidTokenRecipient as alloy_sol_types::SolError>::abi_decode_raw_validate(
13000 data,
13001 )
13002 .map(HoprChannelsErrors::InvalidTokenRecipient)
13003 }
13004 InvalidTokenRecipient
13005 },
13006 {
13007 fn InvalidBalance(
13008 data: &[u8],
13009 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13010 <InvalidBalance as alloy_sol_types::SolError>::abi_decode_raw_validate(
13011 data,
13012 )
13013 .map(HoprChannelsErrors::InvalidBalance)
13014 }
13015 InvalidBalance
13016 },
13017 {
13018 fn InvalidTicketSignature(
13019 data: &[u8],
13020 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13021 <InvalidTicketSignature as alloy_sol_types::SolError>::abi_decode_raw_validate(
13022 data,
13023 )
13024 .map(HoprChannelsErrors::InvalidTicketSignature)
13025 }
13026 InvalidTicketSignature
13027 },
13028 {
13029 fn InvalidAggregatedTicketInterval(
13030 data: &[u8],
13031 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13032 <InvalidAggregatedTicketInterval as alloy_sol_types::SolError>::abi_decode_raw_validate(
13033 data,
13034 )
13035 .map(HoprChannelsErrors::InvalidAggregatedTicketInterval)
13036 }
13037 InvalidAggregatedTicketInterval
13038 },
13039 {
13040 fn ZeroAddress(
13041 data: &[u8],
13042 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13043 <ZeroAddress as alloy_sol_types::SolError>::abi_decode_raw_validate(
13044 data,
13045 )
13046 .map(HoprChannelsErrors::ZeroAddress)
13047 }
13048 ZeroAddress
13049 },
13050 {
13051 fn InvalidPointWitness(
13052 data: &[u8],
13053 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13054 <InvalidPointWitness as alloy_sol_types::SolError>::abi_decode_raw_validate(
13055 data,
13056 )
13057 .map(HoprChannelsErrors::InvalidPointWitness)
13058 }
13059 InvalidPointWitness
13060 },
13061 {
13062 fn TicketIsNotAWin(
13063 data: &[u8],
13064 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13065 <TicketIsNotAWin as alloy_sol_types::SolError>::abi_decode_raw_validate(
13066 data,
13067 )
13068 .map(HoprChannelsErrors::TicketIsNotAWin)
13069 }
13070 TicketIsNotAWin
13071 },
13072 {
13073 fn InvalidNoticePeriod(
13074 data: &[u8],
13075 ) -> alloy_sol_types::Result<HoprChannelsErrors> {
13076 <InvalidNoticePeriod as alloy_sol_types::SolError>::abi_decode_raw_validate(
13077 data,
13078 )
13079 .map(HoprChannelsErrors::InvalidNoticePeriod)
13080 }
13081 InvalidNoticePeriod
13082 },
13083 ];
13084 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
13085 return Err(
13086 alloy_sol_types::Error::unknown_selector(
13087 <Self as alloy_sol_types::SolInterface>::NAME,
13088 selector,
13089 ),
13090 );
13091 };
13092 DECODE_VALIDATE_SHIMS[idx](data)
13093 }
13094 #[inline]
13095 fn abi_encoded_size(&self) -> usize {
13096 match self {
13097 Self::AlreadyInitialized(inner) => {
13098 <AlreadyInitialized as alloy_sol_types::SolError>::abi_encoded_size(
13099 inner,
13100 )
13101 }
13102 Self::BalanceExceedsGlobalPerChannelAllowance(inner) => {
13103 <BalanceExceedsGlobalPerChannelAllowance as alloy_sol_types::SolError>::abi_encoded_size(
13104 inner,
13105 )
13106 }
13107 Self::ContractNotResponsible(inner) => {
13108 <ContractNotResponsible as alloy_sol_types::SolError>::abi_encoded_size(
13109 inner,
13110 )
13111 }
13112 Self::InsufficientChannelBalance(inner) => {
13113 <InsufficientChannelBalance as alloy_sol_types::SolError>::abi_encoded_size(
13114 inner,
13115 )
13116 }
13117 Self::InvalidAggregatedTicketInterval(inner) => {
13118 <InvalidAggregatedTicketInterval as alloy_sol_types::SolError>::abi_encoded_size(
13119 inner,
13120 )
13121 }
13122 Self::InvalidBalance(inner) => {
13123 <InvalidBalance as alloy_sol_types::SolError>::abi_encoded_size(
13124 inner,
13125 )
13126 }
13127 Self::InvalidCurvePoint(inner) => {
13128 <InvalidCurvePoint as alloy_sol_types::SolError>::abi_encoded_size(
13129 inner,
13130 )
13131 }
13132 Self::InvalidFieldElement(inner) => {
13133 <InvalidFieldElement as alloy_sol_types::SolError>::abi_encoded_size(
13134 inner,
13135 )
13136 }
13137 Self::InvalidNoticePeriod(inner) => {
13138 <InvalidNoticePeriod as alloy_sol_types::SolError>::abi_encoded_size(
13139 inner,
13140 )
13141 }
13142 Self::InvalidPointWitness(inner) => {
13143 <InvalidPointWitness as alloy_sol_types::SolError>::abi_encoded_size(
13144 inner,
13145 )
13146 }
13147 Self::InvalidSafeAddress(inner) => {
13148 <InvalidSafeAddress as alloy_sol_types::SolError>::abi_encoded_size(
13149 inner,
13150 )
13151 }
13152 Self::InvalidTicketSignature(inner) => {
13153 <InvalidTicketSignature as alloy_sol_types::SolError>::abi_encoded_size(
13154 inner,
13155 )
13156 }
13157 Self::InvalidTokenRecipient(inner) => {
13158 <InvalidTokenRecipient as alloy_sol_types::SolError>::abi_encoded_size(
13159 inner,
13160 )
13161 }
13162 Self::InvalidTokensReceivedUsage(inner) => {
13163 <InvalidTokensReceivedUsage as alloy_sol_types::SolError>::abi_encoded_size(
13164 inner,
13165 )
13166 }
13167 Self::InvalidVRFProof(inner) => {
13168 <InvalidVRFProof as alloy_sol_types::SolError>::abi_encoded_size(
13169 inner,
13170 )
13171 }
13172 Self::MultiSigUninitialized(inner) => {
13173 <MultiSigUninitialized as alloy_sol_types::SolError>::abi_encoded_size(
13174 inner,
13175 )
13176 }
13177 Self::NoticePeriodNotDue(inner) => {
13178 <NoticePeriodNotDue as alloy_sol_types::SolError>::abi_encoded_size(
13179 inner,
13180 )
13181 }
13182 Self::SourceEqualsDestination(inner) => {
13183 <SourceEqualsDestination as alloy_sol_types::SolError>::abi_encoded_size(
13184 inner,
13185 )
13186 }
13187 Self::TicketIsNotAWin(inner) => {
13188 <TicketIsNotAWin as alloy_sol_types::SolError>::abi_encoded_size(
13189 inner,
13190 )
13191 }
13192 Self::TokenTransferFailed(inner) => {
13193 <TokenTransferFailed as alloy_sol_types::SolError>::abi_encoded_size(
13194 inner,
13195 )
13196 }
13197 Self::WrongChannelState(inner) => {
13198 <WrongChannelState as alloy_sol_types::SolError>::abi_encoded_size(
13199 inner,
13200 )
13201 }
13202 Self::WrongToken(inner) => {
13203 <WrongToken as alloy_sol_types::SolError>::abi_encoded_size(inner)
13204 }
13205 Self::ZeroAddress(inner) => {
13206 <ZeroAddress as alloy_sol_types::SolError>::abi_encoded_size(inner)
13207 }
13208 }
13209 }
13210 #[inline]
13211 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
13212 match self {
13213 Self::AlreadyInitialized(inner) => {
13214 <AlreadyInitialized as alloy_sol_types::SolError>::abi_encode_raw(
13215 inner,
13216 out,
13217 )
13218 }
13219 Self::BalanceExceedsGlobalPerChannelAllowance(inner) => {
13220 <BalanceExceedsGlobalPerChannelAllowance as alloy_sol_types::SolError>::abi_encode_raw(
13221 inner,
13222 out,
13223 )
13224 }
13225 Self::ContractNotResponsible(inner) => {
13226 <ContractNotResponsible as alloy_sol_types::SolError>::abi_encode_raw(
13227 inner,
13228 out,
13229 )
13230 }
13231 Self::InsufficientChannelBalance(inner) => {
13232 <InsufficientChannelBalance as alloy_sol_types::SolError>::abi_encode_raw(
13233 inner,
13234 out,
13235 )
13236 }
13237 Self::InvalidAggregatedTicketInterval(inner) => {
13238 <InvalidAggregatedTicketInterval as alloy_sol_types::SolError>::abi_encode_raw(
13239 inner,
13240 out,
13241 )
13242 }
13243 Self::InvalidBalance(inner) => {
13244 <InvalidBalance as alloy_sol_types::SolError>::abi_encode_raw(
13245 inner,
13246 out,
13247 )
13248 }
13249 Self::InvalidCurvePoint(inner) => {
13250 <InvalidCurvePoint as alloy_sol_types::SolError>::abi_encode_raw(
13251 inner,
13252 out,
13253 )
13254 }
13255 Self::InvalidFieldElement(inner) => {
13256 <InvalidFieldElement as alloy_sol_types::SolError>::abi_encode_raw(
13257 inner,
13258 out,
13259 )
13260 }
13261 Self::InvalidNoticePeriod(inner) => {
13262 <InvalidNoticePeriod as alloy_sol_types::SolError>::abi_encode_raw(
13263 inner,
13264 out,
13265 )
13266 }
13267 Self::InvalidPointWitness(inner) => {
13268 <InvalidPointWitness as alloy_sol_types::SolError>::abi_encode_raw(
13269 inner,
13270 out,
13271 )
13272 }
13273 Self::InvalidSafeAddress(inner) => {
13274 <InvalidSafeAddress as alloy_sol_types::SolError>::abi_encode_raw(
13275 inner,
13276 out,
13277 )
13278 }
13279 Self::InvalidTicketSignature(inner) => {
13280 <InvalidTicketSignature as alloy_sol_types::SolError>::abi_encode_raw(
13281 inner,
13282 out,
13283 )
13284 }
13285 Self::InvalidTokenRecipient(inner) => {
13286 <InvalidTokenRecipient as alloy_sol_types::SolError>::abi_encode_raw(
13287 inner,
13288 out,
13289 )
13290 }
13291 Self::InvalidTokensReceivedUsage(inner) => {
13292 <InvalidTokensReceivedUsage as alloy_sol_types::SolError>::abi_encode_raw(
13293 inner,
13294 out,
13295 )
13296 }
13297 Self::InvalidVRFProof(inner) => {
13298 <InvalidVRFProof as alloy_sol_types::SolError>::abi_encode_raw(
13299 inner,
13300 out,
13301 )
13302 }
13303 Self::MultiSigUninitialized(inner) => {
13304 <MultiSigUninitialized as alloy_sol_types::SolError>::abi_encode_raw(
13305 inner,
13306 out,
13307 )
13308 }
13309 Self::NoticePeriodNotDue(inner) => {
13310 <NoticePeriodNotDue as alloy_sol_types::SolError>::abi_encode_raw(
13311 inner,
13312 out,
13313 )
13314 }
13315 Self::SourceEqualsDestination(inner) => {
13316 <SourceEqualsDestination as alloy_sol_types::SolError>::abi_encode_raw(
13317 inner,
13318 out,
13319 )
13320 }
13321 Self::TicketIsNotAWin(inner) => {
13322 <TicketIsNotAWin as alloy_sol_types::SolError>::abi_encode_raw(
13323 inner,
13324 out,
13325 )
13326 }
13327 Self::TokenTransferFailed(inner) => {
13328 <TokenTransferFailed as alloy_sol_types::SolError>::abi_encode_raw(
13329 inner,
13330 out,
13331 )
13332 }
13333 Self::WrongChannelState(inner) => {
13334 <WrongChannelState as alloy_sol_types::SolError>::abi_encode_raw(
13335 inner,
13336 out,
13337 )
13338 }
13339 Self::WrongToken(inner) => {
13340 <WrongToken as alloy_sol_types::SolError>::abi_encode_raw(inner, out)
13341 }
13342 Self::ZeroAddress(inner) => {
13343 <ZeroAddress as alloy_sol_types::SolError>::abi_encode_raw(
13344 inner,
13345 out,
13346 )
13347 }
13348 }
13349 }
13350 }
13351 #[derive(serde::Serialize, serde::Deserialize)]
13353 #[derive(Debug, PartialEq, Eq, Hash)]
13354 pub enum HoprChannelsEvents {
13355 #[allow(missing_docs)]
13356 ChannelBalanceDecreased(ChannelBalanceDecreased),
13357 #[allow(missing_docs)]
13358 ChannelBalanceIncreased(ChannelBalanceIncreased),
13359 #[allow(missing_docs)]
13360 ChannelClosed(ChannelClosed),
13361 #[allow(missing_docs)]
13362 ChannelOpened(ChannelOpened),
13363 #[allow(missing_docs)]
13364 DomainSeparatorUpdated(DomainSeparatorUpdated),
13365 #[allow(missing_docs)]
13366 LedgerDomainSeparatorUpdated(LedgerDomainSeparatorUpdated),
13367 #[allow(missing_docs)]
13368 OutgoingChannelClosureInitiated(OutgoingChannelClosureInitiated),
13369 #[allow(missing_docs)]
13370 TicketRedeemed(TicketRedeemed),
13371 }
13372 #[automatically_derived]
13373 impl HoprChannelsEvents {
13374 pub const SELECTORS: &'static [[u8; 32usize]] = &[
13381 [
13382 7u8, 181u8, 201u8, 80u8, 89u8, 127u8, 195u8, 190u8, 217u8, 46u8, 42u8,
13383 211u8, 127u8, 168u8, 79u8, 112u8, 22u8, 85u8, 172u8, 179u8, 114u8, 152u8,
13384 46u8, 72u8, 111u8, 95u8, 173u8, 54u8, 7u8, 240u8, 74u8, 92u8,
13385 ],
13386 [
13387 34u8, 226u8, 164u8, 34u8, 168u8, 134u8, 6u8, 86u8, 163u8, 163u8, 60u8,
13388 250u8, 29u8, 175u8, 119u8, 30u8, 118u8, 121u8, 140u8, 229u8, 100u8,
13389 151u8, 71u8, 149u8, 114u8, 53u8, 2u8, 93u8, 225u8, 46u8, 11u8, 36u8,
13390 ],
13391 [
13392 95u8, 161u8, 114u8, 70u8, 211u8, 165u8, 214u8, 141u8, 66u8, 186u8, 169u8,
13393 76u8, 222u8, 51u8, 4u8, 33u8, 128u8, 183u8, 131u8, 163u8, 153u8, 192u8,
13394 43u8, 246u8, 58u8, 194u8, 7u8, 110u8, 15u8, 112u8, 135u8, 56u8,
13395 ],
13396 [
13397 113u8, 101u8, 226u8, 235u8, 199u8, 206u8, 53u8, 204u8, 152u8, 203u8,
13398 118u8, 102u8, 249u8, 148u8, 91u8, 54u8, 23u8, 243u8, 243u8, 99u8, 38u8,
13399 183u8, 109u8, 24u8, 147u8, 123u8, 165u8, 254u8, 207u8, 24u8, 115u8, 154u8,
13400 ],
13401 [
13402 119u8, 31u8, 82u8, 64u8, 174u8, 95u8, 216u8, 167u8, 100u8, 13u8, 63u8,
13403 184u8, 47u8, 167u8, 10u8, 171u8, 47u8, 177u8, 219u8, 243u8, 95u8, 46u8,
13404 244u8, 100u8, 248u8, 80u8, 153u8, 70u8, 113u8, 118u8, 100u8, 197u8,
13405 ],
13406 [
13407 164u8, 63u8, 173u8, 131u8, 146u8, 15u8, 208u8, 148u8, 69u8, 133u8, 94u8,
13408 133u8, 78u8, 115u8, 201u8, 197u8, 50u8, 225u8, 116u8, 2u8, 201u8, 206u8,
13409 176u8, 153u8, 147u8, 162u8, 57u8, 40u8, 67u8, 165u8, 189u8, 185u8,
13410 ],
13411 [
13412 206u8, 234u8, 178u8, 238u8, 249u8, 152u8, 193u8, 127u8, 233u8, 111u8,
13413 48u8, 248u8, 63u8, 191u8, 60u8, 85u8, 252u8, 80u8, 71u8, 246u8, 228u8,
13414 12u8, 85u8, 160u8, 207u8, 114u8, 210u8, 54u8, 233u8, 210u8, 186u8, 114u8,
13415 ],
13416 [
13417 221u8, 144u8, 249u8, 56u8, 35u8, 3u8, 53u8, 229u8, 157u8, 201u8, 37u8,
13418 197u8, 126u8, 203u8, 14u8, 39u8, 162u8, 140u8, 45u8, 135u8, 53u8, 110u8,
13419 49u8, 240u8, 12u8, 213u8, 85u8, 74u8, 189u8, 108u8, 27u8, 45u8,
13420 ],
13421 ];
13422 }
13423 #[automatically_derived]
13424 impl alloy_sol_types::SolEventInterface for HoprChannelsEvents {
13425 const NAME: &'static str = "HoprChannelsEvents";
13426 const COUNT: usize = 8usize;
13427 fn decode_raw_log(
13428 topics: &[alloy_sol_types::Word],
13429 data: &[u8],
13430 ) -> alloy_sol_types::Result<Self> {
13431 match topics.first().copied() {
13432 Some(
13433 <ChannelBalanceDecreased as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13434 ) => {
13435 <ChannelBalanceDecreased as alloy_sol_types::SolEvent>::decode_raw_log(
13436 topics,
13437 data,
13438 )
13439 .map(Self::ChannelBalanceDecreased)
13440 }
13441 Some(
13442 <ChannelBalanceIncreased as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13443 ) => {
13444 <ChannelBalanceIncreased as alloy_sol_types::SolEvent>::decode_raw_log(
13445 topics,
13446 data,
13447 )
13448 .map(Self::ChannelBalanceIncreased)
13449 }
13450 Some(<ChannelClosed as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
13451 <ChannelClosed as alloy_sol_types::SolEvent>::decode_raw_log(
13452 topics,
13453 data,
13454 )
13455 .map(Self::ChannelClosed)
13456 }
13457 Some(<ChannelOpened as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
13458 <ChannelOpened as alloy_sol_types::SolEvent>::decode_raw_log(
13459 topics,
13460 data,
13461 )
13462 .map(Self::ChannelOpened)
13463 }
13464 Some(
13465 <DomainSeparatorUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13466 ) => {
13467 <DomainSeparatorUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13468 topics,
13469 data,
13470 )
13471 .map(Self::DomainSeparatorUpdated)
13472 }
13473 Some(
13474 <LedgerDomainSeparatorUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13475 ) => {
13476 <LedgerDomainSeparatorUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
13477 topics,
13478 data,
13479 )
13480 .map(Self::LedgerDomainSeparatorUpdated)
13481 }
13482 Some(
13483 <OutgoingChannelClosureInitiated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
13484 ) => {
13485 <OutgoingChannelClosureInitiated as alloy_sol_types::SolEvent>::decode_raw_log(
13486 topics,
13487 data,
13488 )
13489 .map(Self::OutgoingChannelClosureInitiated)
13490 }
13491 Some(<TicketRedeemed as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
13492 <TicketRedeemed as alloy_sol_types::SolEvent>::decode_raw_log(
13493 topics,
13494 data,
13495 )
13496 .map(Self::TicketRedeemed)
13497 }
13498 _ => {
13499 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
13500 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
13501 log: alloy_sol_types::private::Box::new(
13502 alloy_sol_types::private::LogData::new_unchecked(
13503 topics.to_vec(),
13504 data.to_vec().into(),
13505 ),
13506 ),
13507 })
13508 }
13509 }
13510 }
13511 }
13512 #[automatically_derived]
13513 impl alloy_sol_types::private::IntoLogData for HoprChannelsEvents {
13514 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
13515 match self {
13516 Self::ChannelBalanceDecreased(inner) => {
13517 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13518 }
13519 Self::ChannelBalanceIncreased(inner) => {
13520 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13521 }
13522 Self::ChannelClosed(inner) => {
13523 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13524 }
13525 Self::ChannelOpened(inner) => {
13526 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13527 }
13528 Self::DomainSeparatorUpdated(inner) => {
13529 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13530 }
13531 Self::LedgerDomainSeparatorUpdated(inner) => {
13532 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13533 }
13534 Self::OutgoingChannelClosureInitiated(inner) => {
13535 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13536 }
13537 Self::TicketRedeemed(inner) => {
13538 alloy_sol_types::private::IntoLogData::to_log_data(inner)
13539 }
13540 }
13541 }
13542 fn into_log_data(self) -> alloy_sol_types::private::LogData {
13543 match self {
13544 Self::ChannelBalanceDecreased(inner) => {
13545 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13546 }
13547 Self::ChannelBalanceIncreased(inner) => {
13548 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13549 }
13550 Self::ChannelClosed(inner) => {
13551 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13552 }
13553 Self::ChannelOpened(inner) => {
13554 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13555 }
13556 Self::DomainSeparatorUpdated(inner) => {
13557 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13558 }
13559 Self::LedgerDomainSeparatorUpdated(inner) => {
13560 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13561 }
13562 Self::OutgoingChannelClosureInitiated(inner) => {
13563 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13564 }
13565 Self::TicketRedeemed(inner) => {
13566 alloy_sol_types::private::IntoLogData::into_log_data(inner)
13567 }
13568 }
13569 }
13570 }
13571 use alloy::contract as alloy_contract;
13572 #[inline]
13576 pub const fn new<
13577 P: alloy_contract::private::Provider<N>,
13578 N: alloy_contract::private::Network,
13579 >(
13580 address: alloy_sol_types::private::Address,
13581 provider: P,
13582 ) -> HoprChannelsInstance<P, N> {
13583 HoprChannelsInstance::<P, N>::new(address, provider)
13584 }
13585 #[inline]
13591 pub fn deploy<
13592 P: alloy_contract::private::Provider<N>,
13593 N: alloy_contract::private::Network,
13594 >(
13595 provider: P,
13596 _token: alloy::sol_types::private::Address,
13597 _noticePeriodChannelClosure: <Timestamp as alloy::sol_types::SolType>::RustType,
13598 _safeRegistry: alloy::sol_types::private::Address,
13599 ) -> impl ::core::future::Future<
13600 Output = alloy_contract::Result<HoprChannelsInstance<P, N>>,
13601 > {
13602 HoprChannelsInstance::<
13603 P,
13604 N,
13605 >::deploy(provider, _token, _noticePeriodChannelClosure, _safeRegistry)
13606 }
13607 #[inline]
13613 pub fn deploy_builder<
13614 P: alloy_contract::private::Provider<N>,
13615 N: alloy_contract::private::Network,
13616 >(
13617 provider: P,
13618 _token: alloy::sol_types::private::Address,
13619 _noticePeriodChannelClosure: <Timestamp as alloy::sol_types::SolType>::RustType,
13620 _safeRegistry: alloy::sol_types::private::Address,
13621 ) -> alloy_contract::RawCallBuilder<P, N> {
13622 HoprChannelsInstance::<
13623 P,
13624 N,
13625 >::deploy_builder(provider, _token, _noticePeriodChannelClosure, _safeRegistry)
13626 }
13627 #[derive(Clone)]
13639 pub struct HoprChannelsInstance<P, N = alloy_contract::private::Ethereum> {
13640 address: alloy_sol_types::private::Address,
13641 provider: P,
13642 _network: ::core::marker::PhantomData<N>,
13643 }
13644 #[automatically_derived]
13645 impl<P, N> ::core::fmt::Debug for HoprChannelsInstance<P, N> {
13646 #[inline]
13647 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13648 f.debug_tuple("HoprChannelsInstance").field(&self.address).finish()
13649 }
13650 }
13651 #[automatically_derived]
13653 impl<
13654 P: alloy_contract::private::Provider<N>,
13655 N: alloy_contract::private::Network,
13656 > HoprChannelsInstance<P, N> {
13657 #[inline]
13661 pub const fn new(
13662 address: alloy_sol_types::private::Address,
13663 provider: P,
13664 ) -> Self {
13665 Self {
13666 address,
13667 provider,
13668 _network: ::core::marker::PhantomData,
13669 }
13670 }
13671 #[inline]
13677 pub async fn deploy(
13678 provider: P,
13679 _token: alloy::sol_types::private::Address,
13680 _noticePeriodChannelClosure: <Timestamp as alloy::sol_types::SolType>::RustType,
13681 _safeRegistry: alloy::sol_types::private::Address,
13682 ) -> alloy_contract::Result<HoprChannelsInstance<P, N>> {
13683 let call_builder = Self::deploy_builder(
13684 provider,
13685 _token,
13686 _noticePeriodChannelClosure,
13687 _safeRegistry,
13688 );
13689 let contract_address = call_builder.deploy().await?;
13690 Ok(Self::new(contract_address, call_builder.provider))
13691 }
13692 #[inline]
13698 pub fn deploy_builder(
13699 provider: P,
13700 _token: alloy::sol_types::private::Address,
13701 _noticePeriodChannelClosure: <Timestamp as alloy::sol_types::SolType>::RustType,
13702 _safeRegistry: alloy::sol_types::private::Address,
13703 ) -> alloy_contract::RawCallBuilder<P, N> {
13704 alloy_contract::RawCallBuilder::new_raw_deploy(
13705 provider,
13706 [
13707 &BYTECODE[..],
13708 &alloy_sol_types::SolConstructor::abi_encode(
13709 &constructorCall {
13710 _token,
13711 _noticePeriodChannelClosure,
13712 _safeRegistry,
13713 },
13714 )[..],
13715 ]
13716 .concat()
13717 .into(),
13718 )
13719 }
13720 #[inline]
13722 pub const fn address(&self) -> &alloy_sol_types::private::Address {
13723 &self.address
13724 }
13725 #[inline]
13727 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
13728 self.address = address;
13729 }
13730 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
13732 self.set_address(address);
13733 self
13734 }
13735 #[inline]
13737 pub const fn provider(&self) -> &P {
13738 &self.provider
13739 }
13740 }
13741 impl<P: ::core::clone::Clone, N> HoprChannelsInstance<&P, N> {
13742 #[inline]
13744 pub fn with_cloned_provider(self) -> HoprChannelsInstance<P, N> {
13745 HoprChannelsInstance {
13746 address: self.address,
13747 provider: ::core::clone::Clone::clone(&self.provider),
13748 _network: ::core::marker::PhantomData,
13749 }
13750 }
13751 }
13752 #[automatically_derived]
13754 impl<
13755 P: alloy_contract::private::Provider<N>,
13756 N: alloy_contract::private::Network,
13757 > HoprChannelsInstance<P, N> {
13758 pub fn call_builder<C: alloy_sol_types::SolCall>(
13763 &self,
13764 call: &C,
13765 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
13766 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
13767 }
13768 pub fn ERC777_HOOK_FUND_CHANNEL_MULTI_SIZE(
13770 &self,
13771 ) -> alloy_contract::SolCallBuilder<
13772 &P,
13773 ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall,
13774 N,
13775 > {
13776 self.call_builder(&ERC777_HOOK_FUND_CHANNEL_MULTI_SIZECall)
13777 }
13778 pub fn ERC777_HOOK_FUND_CHANNEL_SIZE(
13780 &self,
13781 ) -> alloy_contract::SolCallBuilder<&P, ERC777_HOOK_FUND_CHANNEL_SIZECall, N> {
13782 self.call_builder(&ERC777_HOOK_FUND_CHANNEL_SIZECall)
13783 }
13784 pub fn LEDGER_VERSION(
13786 &self,
13787 ) -> alloy_contract::SolCallBuilder<&P, LEDGER_VERSIONCall, N> {
13788 self.call_builder(&LEDGER_VERSIONCall)
13789 }
13790 pub fn MAX_USED_BALANCE(
13792 &self,
13793 ) -> alloy_contract::SolCallBuilder<&P, MAX_USED_BALANCECall, N> {
13794 self.call_builder(&MAX_USED_BALANCECall)
13795 }
13796 pub fn MIN_USED_BALANCE(
13798 &self,
13799 ) -> alloy_contract::SolCallBuilder<&P, MIN_USED_BALANCECall, N> {
13800 self.call_builder(&MIN_USED_BALANCECall)
13801 }
13802 pub fn TOKENS_RECIPIENT_INTERFACE_HASH(
13804 &self,
13805 ) -> alloy_contract::SolCallBuilder<&P, TOKENS_RECIPIENT_INTERFACE_HASHCall, N> {
13806 self.call_builder(&TOKENS_RECIPIENT_INTERFACE_HASHCall)
13807 }
13808 pub fn VERSION(&self) -> alloy_contract::SolCallBuilder<&P, VERSIONCall, N> {
13810 self.call_builder(&VERSIONCall)
13811 }
13812 pub fn _currentBlockTimestamp(
13814 &self,
13815 ) -> alloy_contract::SolCallBuilder<&P, _currentBlockTimestampCall, N> {
13816 self.call_builder(&_currentBlockTimestampCall)
13817 }
13818 pub fn _getChannelId(
13820 &self,
13821 source: alloy::sol_types::private::Address,
13822 destination: alloy::sol_types::private::Address,
13823 ) -> alloy_contract::SolCallBuilder<&P, _getChannelIdCall, N> {
13824 self.call_builder(
13825 &_getChannelIdCall {
13826 source,
13827 destination,
13828 },
13829 )
13830 }
13831 pub fn _getTicketHash(
13833 &self,
13834 redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
13835 ) -> alloy_contract::SolCallBuilder<&P, _getTicketHashCall, N> {
13836 self.call_builder(&_getTicketHashCall { redeemable })
13837 }
13838 pub fn _isWinningTicket(
13840 &self,
13841 ticketHash: alloy::sol_types::private::FixedBytes<32>,
13842 redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
13843 params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
13844 ) -> alloy_contract::SolCallBuilder<&P, _isWinningTicketCall, N> {
13845 self.call_builder(
13846 &_isWinningTicketCall {
13847 ticketHash,
13848 redeemable,
13849 params,
13850 },
13851 )
13852 }
13853 pub fn canImplementInterfaceForAddress(
13855 &self,
13856 interfaceHash: alloy::sol_types::private::FixedBytes<32>,
13857 account: alloy::sol_types::private::Address,
13858 ) -> alloy_contract::SolCallBuilder<&P, canImplementInterfaceForAddressCall, N> {
13859 self.call_builder(
13860 &canImplementInterfaceForAddressCall {
13861 interfaceHash,
13862 account,
13863 },
13864 )
13865 }
13866 pub fn channels(
13868 &self,
13869 _0: alloy::sol_types::private::FixedBytes<32>,
13870 ) -> alloy_contract::SolCallBuilder<&P, channelsCall, N> {
13871 self.call_builder(&channelsCall(_0))
13872 }
13873 pub fn closeIncomingChannel(
13875 &self,
13876 source: alloy::sol_types::private::Address,
13877 ) -> alloy_contract::SolCallBuilder<&P, closeIncomingChannelCall, N> {
13878 self.call_builder(&closeIncomingChannelCall { source })
13879 }
13880 pub fn closeIncomingChannelSafe(
13882 &self,
13883 selfAddress: alloy::sol_types::private::Address,
13884 source: alloy::sol_types::private::Address,
13885 ) -> alloy_contract::SolCallBuilder<&P, closeIncomingChannelSafeCall, N> {
13886 self.call_builder(
13887 &closeIncomingChannelSafeCall {
13888 selfAddress,
13889 source,
13890 },
13891 )
13892 }
13893 pub fn domainSeparator(
13895 &self,
13896 ) -> alloy_contract::SolCallBuilder<&P, domainSeparatorCall, N> {
13897 self.call_builder(&domainSeparatorCall)
13898 }
13899 pub fn finalizeOutgoingChannelClosure(
13901 &self,
13902 destination: alloy::sol_types::private::Address,
13903 ) -> alloy_contract::SolCallBuilder<&P, finalizeOutgoingChannelClosureCall, N> {
13904 self.call_builder(
13905 &finalizeOutgoingChannelClosureCall {
13906 destination,
13907 },
13908 )
13909 }
13910 pub fn finalizeOutgoingChannelClosureSafe(
13912 &self,
13913 selfAddress: alloy::sol_types::private::Address,
13914 destination: alloy::sol_types::private::Address,
13915 ) -> alloy_contract::SolCallBuilder<
13916 &P,
13917 finalizeOutgoingChannelClosureSafeCall,
13918 N,
13919 > {
13920 self.call_builder(
13921 &finalizeOutgoingChannelClosureSafeCall {
13922 selfAddress,
13923 destination,
13924 },
13925 )
13926 }
13927 pub fn fundChannel(
13929 &self,
13930 account: alloy::sol_types::private::Address,
13931 amount: <Balance as alloy::sol_types::SolType>::RustType,
13932 ) -> alloy_contract::SolCallBuilder<&P, fundChannelCall, N> {
13933 self.call_builder(&fundChannelCall { account, amount })
13934 }
13935 pub fn fundChannelSafe(
13937 &self,
13938 selfAddress: alloy::sol_types::private::Address,
13939 account: alloy::sol_types::private::Address,
13940 amount: <Balance as alloy::sol_types::SolType>::RustType,
13941 ) -> alloy_contract::SolCallBuilder<&P, fundChannelSafeCall, N> {
13942 self.call_builder(
13943 &fundChannelSafeCall {
13944 selfAddress,
13945 account,
13946 amount,
13947 },
13948 )
13949 }
13950 pub fn initiateOutgoingChannelClosure(
13952 &self,
13953 destination: alloy::sol_types::private::Address,
13954 ) -> alloy_contract::SolCallBuilder<&P, initiateOutgoingChannelClosureCall, N> {
13955 self.call_builder(
13956 &initiateOutgoingChannelClosureCall {
13957 destination,
13958 },
13959 )
13960 }
13961 pub fn initiateOutgoingChannelClosureSafe(
13963 &self,
13964 selfAddress: alloy::sol_types::private::Address,
13965 destination: alloy::sol_types::private::Address,
13966 ) -> alloy_contract::SolCallBuilder<
13967 &P,
13968 initiateOutgoingChannelClosureSafeCall,
13969 N,
13970 > {
13971 self.call_builder(
13972 &initiateOutgoingChannelClosureSafeCall {
13973 selfAddress,
13974 destination,
13975 },
13976 )
13977 }
13978 pub fn ledgerDomainSeparator(
13980 &self,
13981 ) -> alloy_contract::SolCallBuilder<&P, ledgerDomainSeparatorCall, N> {
13982 self.call_builder(&ledgerDomainSeparatorCall)
13983 }
13984 pub fn multicall(
13986 &self,
13987 data: alloy::sol_types::private::Vec<alloy::sol_types::private::Bytes>,
13988 ) -> alloy_contract::SolCallBuilder<&P, multicallCall, N> {
13989 self.call_builder(&multicallCall { data })
13990 }
13991 pub fn noticePeriodChannelClosure(
13993 &self,
13994 ) -> alloy_contract::SolCallBuilder<&P, noticePeriodChannelClosureCall, N> {
13995 self.call_builder(¬icePeriodChannelClosureCall)
13996 }
13997 pub fn redeemTicket(
13999 &self,
14000 redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
14001 params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
14002 ) -> alloy_contract::SolCallBuilder<&P, redeemTicketCall, N> {
14003 self.call_builder(
14004 &redeemTicketCall {
14005 redeemable,
14006 params,
14007 },
14008 )
14009 }
14010 pub fn redeemTicketSafe(
14012 &self,
14013 selfAddress: alloy::sol_types::private::Address,
14014 redeemable: <RedeemableTicket as alloy::sol_types::SolType>::RustType,
14015 params: <HoprCrypto::VRFParameters as alloy::sol_types::SolType>::RustType,
14016 ) -> alloy_contract::SolCallBuilder<&P, redeemTicketSafeCall, N> {
14017 self.call_builder(
14018 &redeemTicketSafeCall {
14019 selfAddress,
14020 redeemable,
14021 params,
14022 },
14023 )
14024 }
14025 pub fn token(&self) -> alloy_contract::SolCallBuilder<&P, tokenCall, N> {
14027 self.call_builder(&tokenCall)
14028 }
14029 pub fn tokensReceived(
14031 &self,
14032 _0: alloy::sol_types::private::Address,
14033 from: alloy::sol_types::private::Address,
14034 to: alloy::sol_types::private::Address,
14035 amount: alloy::sol_types::private::primitives::aliases::U256,
14036 userData: alloy::sol_types::private::Bytes,
14037 _5: alloy::sol_types::private::Bytes,
14038 ) -> alloy_contract::SolCallBuilder<&P, tokensReceivedCall, N> {
14039 self.call_builder(
14040 &tokensReceivedCall {
14041 _0,
14042 from,
14043 to,
14044 amount,
14045 userData,
14046 _5,
14047 },
14048 )
14049 }
14050 pub fn updateDomainSeparator(
14052 &self,
14053 ) -> alloy_contract::SolCallBuilder<&P, updateDomainSeparatorCall, N> {
14054 self.call_builder(&updateDomainSeparatorCall)
14055 }
14056 pub fn updateLedgerDomainSeparator(
14058 &self,
14059 ) -> alloy_contract::SolCallBuilder<&P, updateLedgerDomainSeparatorCall, N> {
14060 self.call_builder(&updateLedgerDomainSeparatorCall)
14061 }
14062 }
14063 #[automatically_derived]
14065 impl<
14066 P: alloy_contract::private::Provider<N>,
14067 N: alloy_contract::private::Network,
14068 > HoprChannelsInstance<P, N> {
14069 pub fn event_filter<E: alloy_sol_types::SolEvent>(
14074 &self,
14075 ) -> alloy_contract::Event<&P, E, N> {
14076 alloy_contract::Event::new_sol(&self.provider, &self.address)
14077 }
14078 pub fn ChannelBalanceDecreased_filter(
14080 &self,
14081 ) -> alloy_contract::Event<&P, ChannelBalanceDecreased, N> {
14082 self.event_filter::<ChannelBalanceDecreased>()
14083 }
14084 pub fn ChannelBalanceIncreased_filter(
14086 &self,
14087 ) -> alloy_contract::Event<&P, ChannelBalanceIncreased, N> {
14088 self.event_filter::<ChannelBalanceIncreased>()
14089 }
14090 pub fn ChannelClosed_filter(
14092 &self,
14093 ) -> alloy_contract::Event<&P, ChannelClosed, N> {
14094 self.event_filter::<ChannelClosed>()
14095 }
14096 pub fn ChannelOpened_filter(
14098 &self,
14099 ) -> alloy_contract::Event<&P, ChannelOpened, N> {
14100 self.event_filter::<ChannelOpened>()
14101 }
14102 pub fn DomainSeparatorUpdated_filter(
14104 &self,
14105 ) -> alloy_contract::Event<&P, DomainSeparatorUpdated, N> {
14106 self.event_filter::<DomainSeparatorUpdated>()
14107 }
14108 pub fn LedgerDomainSeparatorUpdated_filter(
14110 &self,
14111 ) -> alloy_contract::Event<&P, LedgerDomainSeparatorUpdated, N> {
14112 self.event_filter::<LedgerDomainSeparatorUpdated>()
14113 }
14114 pub fn OutgoingChannelClosureInitiated_filter(
14116 &self,
14117 ) -> alloy_contract::Event<&P, OutgoingChannelClosureInitiated, N> {
14118 self.event_filter::<OutgoingChannelClosureInitiated>()
14119 }
14120 pub fn TicketRedeemed_filter(
14122 &self,
14123 ) -> alloy_contract::Event<&P, TicketRedeemed, N> {
14124 self.event_filter::<TicketRedeemed>()
14125 }
14126 }
14127}