faster-eth-abi 5.2.8__cp314-cp314t-win_amd64.whl → 5.2.19__cp314-cp314t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of faster-eth-abi might be problematic. Click here for more details.

Files changed (41) hide show
  1. faster_eth_abi/_codec.cp314t-win_amd64.pyd +0 -0
  2. faster_eth_abi/_codec.py +7 -5
  3. faster_eth_abi/_decoding.cp314t-win_amd64.pyd +0 -0
  4. faster_eth_abi/_decoding.py +212 -30
  5. faster_eth_abi/_encoding.cp314t-win_amd64.pyd +0 -0
  6. faster_eth_abi/_encoding.py +159 -11
  7. faster_eth_abi/_grammar.cp314t-win_amd64.pyd +0 -0
  8. faster_eth_abi/_grammar.py +375 -0
  9. faster_eth_abi/abi.cp314t-win_amd64.pyd +0 -0
  10. faster_eth_abi/base.py +5 -1
  11. faster_eth_abi/codec.py +2675 -9
  12. faster_eth_abi/constants.cp314t-win_amd64.pyd +0 -0
  13. faster_eth_abi/decoding.py +214 -176
  14. faster_eth_abi/encoding.py +112 -38
  15. faster_eth_abi/exceptions.py +26 -14
  16. faster_eth_abi/from_type_str.cp314t-win_amd64.pyd +0 -0
  17. faster_eth_abi/from_type_str.py +7 -1
  18. faster_eth_abi/grammar.py +30 -326
  19. faster_eth_abi/io.py +5 -1
  20. faster_eth_abi/packed.cp314t-win_amd64.pyd +0 -0
  21. faster_eth_abi/packed.py +4 -0
  22. faster_eth_abi/registry.py +186 -91
  23. faster_eth_abi/tools/__init__.cp314t-win_amd64.pyd +0 -0
  24. faster_eth_abi/tools/_strategies.cp314t-win_amd64.pyd +0 -0
  25. faster_eth_abi/tools/_strategies.py +12 -6
  26. faster_eth_abi/typing.py +4627 -0
  27. faster_eth_abi/utils/__init__.cp314t-win_amd64.pyd +0 -0
  28. faster_eth_abi/utils/numeric.cp314t-win_amd64.pyd +0 -0
  29. faster_eth_abi/utils/numeric.py +51 -20
  30. faster_eth_abi/utils/padding.cp314t-win_amd64.pyd +0 -0
  31. faster_eth_abi/utils/string.cp314t-win_amd64.pyd +0 -0
  32. faster_eth_abi/utils/validation.cp314t-win_amd64.pyd +0 -0
  33. {faster_eth_abi-5.2.8.dist-info → faster_eth_abi-5.2.19.dist-info}/METADATA +38 -14
  34. faster_eth_abi-5.2.19.dist-info/RECORD +46 -0
  35. faster_eth_abi-5.2.19.dist-info/top_level.txt +2 -0
  36. faster_eth_abi__mypyc.cp314t-win_amd64.pyd +0 -0
  37. 76f9a3652d4d2667c55c__mypyc.cp314t-win_amd64.pyd +0 -0
  38. faster_eth_abi-5.2.8.dist-info/RECORD +0 -44
  39. faster_eth_abi-5.2.8.dist-info/licenses/LICENSE +0 -21
  40. faster_eth_abi-5.2.8.dist-info/top_level.txt +0 -2
  41. {faster_eth_abi-5.2.8.dist-info → faster_eth_abi-5.2.19.dist-info}/WHEEL +0 -0
faster_eth_abi/codec.py CHANGED
@@ -1,9 +1,22 @@
1
+ # mypy: disable-error-code="overload-overlap"
2
+ """
3
+ API for ABI encoding and decoding.
4
+
5
+ Defines the main encoder and decoder classes, providing methods for binary serialization
6
+ and deserialization of values according to ABI type specifications.
7
+ """
8
+
1
9
  from typing import (
2
10
  Any,
3
11
  Iterable,
4
12
  Tuple,
13
+ Union,
14
+ overload,
5
15
  )
6
16
 
17
+ from eth_typing import (
18
+ HexAddress,
19
+ )
7
20
  from eth_typing.abi import (
8
21
  Decodable,
9
22
  TypeStr,
@@ -18,10 +31,21 @@ from faster_eth_abi.decoding import (
18
31
  )
19
32
  from faster_eth_abi.exceptions import (
20
33
  EncodingError,
34
+ MultipleEntriesFound,
21
35
  )
22
36
  from faster_eth_abi.registry import (
23
37
  ABIRegistry,
24
38
  )
39
+ from faster_eth_abi.typing import (
40
+ AddressTypeStr,
41
+ BoolTypeStr,
42
+ BytesTypeStr,
43
+ IntTypeStr,
44
+ StringTypeStr,
45
+ UintTypeStr,
46
+ )
47
+
48
+ DecodesToIntTypeStr = Union[UintTypeStr, IntTypeStr]
25
49
 
26
50
 
27
51
  class BaseABICoder:
@@ -74,20 +98,18 @@ class ABIEncoder(BaseABICoder):
74
98
  :returns: ``True`` if ``arg`` is encodable as a value of the ABI type
75
99
  ``typ``. Otherwise, ``False``.
76
100
  """
77
- if not self.is_encodable_type(typ):
101
+ try:
102
+ encoder = self._registry.get_encoder(typ)
103
+ except MultipleEntriesFound:
104
+ raise
105
+ except Exception:
78
106
  return False
79
107
 
80
- encoder = self._registry.get_encoder(typ)
81
-
108
+ validate = getattr(encoder, "validate_value", encoder)
82
109
  try:
83
- encoder.validate_value(arg)
110
+ validate(arg)
84
111
  except EncodingError:
85
112
  return False
86
- except AttributeError:
87
- try:
88
- encoder(arg)
89
- except EncodingError:
90
- return False
91
113
 
92
114
  return True
93
115
 
@@ -113,6 +135,2650 @@ class ABIDecoder(BaseABICoder):
113
135
 
114
136
  stream_class = ContextFramesBytesIO
115
137
 
138
+ # raw tuple types, same type
139
+
140
+ # len == 1
141
+
142
+ @overload
143
+ def decode(
144
+ self,
145
+ types: Tuple[AddressTypeStr],
146
+ data: Decodable,
147
+ strict: bool = True,
148
+ ) -> Tuple[HexAddress]:
149
+ ...
150
+
151
+ @overload
152
+ def decode(
153
+ self,
154
+ types: Tuple[BytesTypeStr],
155
+ data: Decodable,
156
+ strict: bool = True,
157
+ ) -> Tuple[bytes]:
158
+ ...
159
+
160
+ @overload
161
+ def decode(
162
+ self,
163
+ types: Tuple[StringTypeStr],
164
+ data: Decodable,
165
+ strict: bool = True,
166
+ ) -> Tuple[str]:
167
+ ...
168
+
169
+ @overload
170
+ def decode(
171
+ self,
172
+ types: Tuple[DecodesToIntTypeStr],
173
+ data: Decodable,
174
+ strict: bool = True,
175
+ ) -> Tuple[int]:
176
+ ...
177
+
178
+ @overload
179
+ def decode(
180
+ self,
181
+ types: Tuple[BoolTypeStr],
182
+ data: Decodable,
183
+ strict: bool = True,
184
+ ) -> Tuple[bool]:
185
+ ...
186
+
187
+ @overload
188
+ def decode(
189
+ self,
190
+ types: Tuple[TypeStr],
191
+ data: Decodable,
192
+ strict: bool = True,
193
+ ) -> Tuple[Any]:
194
+ ...
195
+
196
+ # len == 2
197
+
198
+ @overload
199
+ def decode(
200
+ self,
201
+ types: Tuple[AddressTypeStr, AddressTypeStr],
202
+ data: Decodable,
203
+ strict: bool = True,
204
+ ) -> Tuple[HexAddress, HexAddress]:
205
+ ...
206
+
207
+ @overload
208
+ def decode(
209
+ self,
210
+ types: Tuple[AddressTypeStr, BytesTypeStr],
211
+ data: Decodable,
212
+ strict: bool = True,
213
+ ) -> Tuple[HexAddress, bytes]:
214
+ ...
215
+
216
+ @overload
217
+ def decode(
218
+ self,
219
+ types: Tuple[AddressTypeStr, StringTypeStr],
220
+ data: Decodable,
221
+ strict: bool = True,
222
+ ) -> Tuple[HexAddress, str]:
223
+ ...
224
+
225
+ @overload
226
+ def decode(
227
+ self,
228
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr],
229
+ data: Decodable,
230
+ strict: bool = True,
231
+ ) -> Tuple[HexAddress, int]:
232
+ ...
233
+
234
+ @overload
235
+ def decode(
236
+ self,
237
+ types: Tuple[AddressTypeStr, BoolTypeStr],
238
+ data: Decodable,
239
+ strict: bool = True,
240
+ ) -> Tuple[HexAddress, bool]:
241
+ ...
242
+
243
+ @overload
244
+ def decode(
245
+ self,
246
+ types: Tuple[AddressTypeStr, TypeStr],
247
+ data: Decodable,
248
+ strict: bool = True,
249
+ ) -> Tuple[HexAddress, Any]:
250
+ ...
251
+
252
+ @overload
253
+ def decode(
254
+ self,
255
+ types: Tuple[BytesTypeStr, AddressTypeStr],
256
+ data: Decodable,
257
+ strict: bool = True,
258
+ ) -> Tuple[bytes, HexAddress]:
259
+ ...
260
+
261
+ @overload
262
+ def decode(
263
+ self,
264
+ types: Tuple[BytesTypeStr, BytesTypeStr],
265
+ data: Decodable,
266
+ strict: bool = True,
267
+ ) -> Tuple[bytes, bytes]:
268
+ ...
269
+
270
+ @overload
271
+ def decode(
272
+ self,
273
+ types: Tuple[BytesTypeStr, StringTypeStr],
274
+ data: Decodable,
275
+ strict: bool = True,
276
+ ) -> Tuple[bytes, str]:
277
+ ...
278
+
279
+ @overload
280
+ def decode(
281
+ self,
282
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr],
283
+ data: Decodable,
284
+ strict: bool = True,
285
+ ) -> Tuple[bytes, int]:
286
+ ...
287
+
288
+ @overload
289
+ def decode(
290
+ self,
291
+ types: Tuple[BytesTypeStr, BoolTypeStr],
292
+ data: Decodable,
293
+ strict: bool = True,
294
+ ) -> Tuple[bytes, bool]:
295
+ ...
296
+
297
+ @overload
298
+ def decode(
299
+ self,
300
+ types: Tuple[BytesTypeStr, TypeStr],
301
+ data: Decodable,
302
+ strict: bool = True,
303
+ ) -> Tuple[bytes, Any]:
304
+ ...
305
+
306
+ @overload
307
+ def decode(
308
+ self,
309
+ types: Tuple[StringTypeStr, AddressTypeStr],
310
+ data: Decodable,
311
+ strict: bool = True,
312
+ ) -> Tuple[str, HexAddress]:
313
+ ...
314
+
315
+ @overload
316
+ def decode(
317
+ self,
318
+ types: Tuple[StringTypeStr, BytesTypeStr],
319
+ data: Decodable,
320
+ strict: bool = True,
321
+ ) -> Tuple[str, bytes]:
322
+ ...
323
+
324
+ @overload
325
+ def decode(
326
+ self,
327
+ types: Tuple[StringTypeStr, StringTypeStr],
328
+ data: Decodable,
329
+ strict: bool = True,
330
+ ) -> Tuple[str, str]:
331
+ ...
332
+
333
+ @overload
334
+ def decode(
335
+ self,
336
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr],
337
+ data: Decodable,
338
+ strict: bool = True,
339
+ ) -> Tuple[str, int]:
340
+ ...
341
+
342
+ @overload
343
+ def decode(
344
+ self,
345
+ types: Tuple[StringTypeStr, BoolTypeStr],
346
+ data: Decodable,
347
+ strict: bool = True,
348
+ ) -> Tuple[str, bool]:
349
+ ...
350
+
351
+ @overload
352
+ def decode(
353
+ self,
354
+ types: Tuple[StringTypeStr, TypeStr],
355
+ data: Decodable,
356
+ strict: bool = True,
357
+ ) -> Tuple[str, Any]:
358
+ ...
359
+
360
+ @overload
361
+ def decode(
362
+ self,
363
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr],
364
+ data: Decodable,
365
+ strict: bool = True,
366
+ ) -> Tuple[int, HexAddress]:
367
+ ...
368
+
369
+ @overload
370
+ def decode(
371
+ self,
372
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr],
373
+ data: Decodable,
374
+ strict: bool = True,
375
+ ) -> Tuple[int, bytes]:
376
+ ...
377
+
378
+ @overload
379
+ def decode(
380
+ self,
381
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr],
382
+ data: Decodable,
383
+ strict: bool = True,
384
+ ) -> Tuple[int, str]:
385
+ ...
386
+
387
+ @overload
388
+ def decode(
389
+ self,
390
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr],
391
+ data: Decodable,
392
+ strict: bool = True,
393
+ ) -> Tuple[int, int]:
394
+ ...
395
+
396
+ @overload
397
+ def decode(
398
+ self,
399
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr],
400
+ data: Decodable,
401
+ strict: bool = True,
402
+ ) -> Tuple[int, bool]:
403
+ ...
404
+
405
+ @overload
406
+ def decode(
407
+ self,
408
+ types: Tuple[DecodesToIntTypeStr, TypeStr],
409
+ data: Decodable,
410
+ strict: bool = True,
411
+ ) -> Tuple[int, Any]:
412
+ ...
413
+
414
+ @overload
415
+ def decode(
416
+ self,
417
+ types: Tuple[BoolTypeStr, AddressTypeStr],
418
+ data: Decodable,
419
+ strict: bool = True,
420
+ ) -> Tuple[bool, HexAddress]:
421
+ ...
422
+
423
+ @overload
424
+ def decode(
425
+ self,
426
+ types: Tuple[BoolTypeStr, BytesTypeStr],
427
+ data: Decodable,
428
+ strict: bool = True,
429
+ ) -> Tuple[bool, bytes]:
430
+ ...
431
+
432
+ @overload
433
+ def decode(
434
+ self,
435
+ types: Tuple[BoolTypeStr, StringTypeStr],
436
+ data: Decodable,
437
+ strict: bool = True,
438
+ ) -> Tuple[bool, str]:
439
+ ...
440
+
441
+ @overload
442
+ def decode(
443
+ self,
444
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr],
445
+ data: Decodable,
446
+ strict: bool = True,
447
+ ) -> Tuple[bool, int]:
448
+ ...
449
+
450
+ @overload
451
+ def decode(
452
+ self,
453
+ types: Tuple[BoolTypeStr, BoolTypeStr],
454
+ data: Decodable,
455
+ strict: bool = True,
456
+ ) -> Tuple[bool, bool]:
457
+ ...
458
+
459
+ @overload
460
+ def decode(
461
+ self,
462
+ types: Tuple[BoolTypeStr, TypeStr],
463
+ data: Decodable,
464
+ strict: bool = True,
465
+ ) -> Tuple[bool, Any]:
466
+ ...
467
+
468
+ @overload
469
+ def decode(
470
+ self,
471
+ types: Tuple[TypeStr, AddressTypeStr],
472
+ data: Decodable,
473
+ strict: bool = True,
474
+ ) -> Tuple[Any, HexAddress]:
475
+ ...
476
+
477
+ @overload
478
+ def decode(
479
+ self,
480
+ types: Tuple[TypeStr, BytesTypeStr],
481
+ data: Decodable,
482
+ strict: bool = True,
483
+ ) -> Tuple[Any, bytes]:
484
+ ...
485
+
486
+ @overload
487
+ def decode(
488
+ self,
489
+ types: Tuple[TypeStr, StringTypeStr],
490
+ data: Decodable,
491
+ strict: bool = True,
492
+ ) -> Tuple[Any, str]:
493
+ ...
494
+
495
+ @overload
496
+ def decode(
497
+ self,
498
+ types: Tuple[TypeStr, DecodesToIntTypeStr],
499
+ data: Decodable,
500
+ strict: bool = True,
501
+ ) -> Tuple[Any, int]:
502
+ ...
503
+
504
+ @overload
505
+ def decode(
506
+ self,
507
+ types: Tuple[TypeStr, BoolTypeStr],
508
+ data: Decodable,
509
+ strict: bool = True,
510
+ ) -> Tuple[Any, bool]:
511
+ ...
512
+
513
+ @overload
514
+ def decode(
515
+ self,
516
+ types: Tuple[TypeStr, TypeStr],
517
+ data: Decodable,
518
+ strict: bool = True,
519
+ ) -> Tuple[Any, Any]:
520
+ ...
521
+
522
+ # len == 3
523
+ # okay get ready for some ugly overloads
524
+ # We will probably not implement lengths > 3
525
+
526
+ @overload
527
+ def decode(
528
+ self,
529
+ types: Tuple[AddressTypeStr, AddressTypeStr, AddressTypeStr],
530
+ data: Decodable,
531
+ strict: bool = True,
532
+ ) -> Tuple[HexAddress, HexAddress, HexAddress]:
533
+ ...
534
+
535
+ @overload
536
+ def decode(
537
+ self,
538
+ types: Tuple[AddressTypeStr, AddressTypeStr, BytesTypeStr],
539
+ data: Decodable,
540
+ strict: bool = True,
541
+ ) -> Tuple[HexAddress, HexAddress, bytes]:
542
+ ...
543
+
544
+ @overload
545
+ def decode(
546
+ self,
547
+ types: Tuple[AddressTypeStr, AddressTypeStr, StringTypeStr],
548
+ data: Decodable,
549
+ strict: bool = True,
550
+ ) -> Tuple[HexAddress, HexAddress, str]:
551
+ ...
552
+
553
+ @overload
554
+ def decode(
555
+ self,
556
+ types: Tuple[AddressTypeStr, AddressTypeStr, DecodesToIntTypeStr],
557
+ data: Decodable,
558
+ strict: bool = True,
559
+ ) -> Tuple[HexAddress, HexAddress, int]:
560
+ ...
561
+
562
+ @overload
563
+ def decode(
564
+ self,
565
+ types: Tuple[AddressTypeStr, AddressTypeStr, BoolTypeStr],
566
+ data: Decodable,
567
+ strict: bool = True,
568
+ ) -> Tuple[HexAddress, HexAddress, bool]:
569
+ ...
570
+
571
+ @overload
572
+ def decode(
573
+ self,
574
+ types: Tuple[AddressTypeStr, AddressTypeStr, TypeStr],
575
+ data: Decodable,
576
+ strict: bool = True,
577
+ ) -> Tuple[HexAddress, HexAddress, Any]:
578
+ ...
579
+
580
+ @overload
581
+ def decode(
582
+ self,
583
+ types: Tuple[AddressTypeStr, BytesTypeStr, AddressTypeStr],
584
+ data: Decodable,
585
+ strict: bool = True,
586
+ ) -> Tuple[HexAddress, bytes, HexAddress]:
587
+ ...
588
+
589
+ @overload
590
+ def decode(
591
+ self,
592
+ types: Tuple[AddressTypeStr, BytesTypeStr, BytesTypeStr],
593
+ data: Decodable,
594
+ strict: bool = True,
595
+ ) -> Tuple[HexAddress, bytes, bytes]:
596
+ ...
597
+
598
+ @overload
599
+ def decode(
600
+ self,
601
+ types: Tuple[AddressTypeStr, BytesTypeStr, StringTypeStr],
602
+ data: Decodable,
603
+ strict: bool = True,
604
+ ) -> Tuple[HexAddress, bytes, str]:
605
+ ...
606
+
607
+ @overload
608
+ def decode(
609
+ self,
610
+ types: Tuple[AddressTypeStr, BytesTypeStr, DecodesToIntTypeStr],
611
+ data: Decodable,
612
+ strict: bool = True,
613
+ ) -> Tuple[HexAddress, bytes, int]:
614
+ ...
615
+
616
+ @overload
617
+ def decode(
618
+ self,
619
+ types: Tuple[AddressTypeStr, BytesTypeStr, BoolTypeStr],
620
+ data: Decodable,
621
+ strict: bool = True,
622
+ ) -> Tuple[HexAddress, bytes, bool]:
623
+ ...
624
+
625
+ @overload
626
+ def decode(
627
+ self,
628
+ types: Tuple[AddressTypeStr, BytesTypeStr, TypeStr],
629
+ data: Decodable,
630
+ strict: bool = True,
631
+ ) -> Tuple[HexAddress, bytes, Any]:
632
+ ...
633
+
634
+ @overload
635
+ def decode(
636
+ self,
637
+ types: Tuple[AddressTypeStr, StringTypeStr, AddressTypeStr],
638
+ data: Decodable,
639
+ strict: bool = True,
640
+ ) -> Tuple[HexAddress, str, HexAddress]:
641
+ ...
642
+
643
+ @overload
644
+ def decode(
645
+ self,
646
+ types: Tuple[AddressTypeStr, StringTypeStr, BytesTypeStr],
647
+ data: Decodable,
648
+ strict: bool = True,
649
+ ) -> Tuple[HexAddress, str, bytes]:
650
+ ...
651
+
652
+ @overload
653
+ def decode(
654
+ self,
655
+ types: Tuple[AddressTypeStr, StringTypeStr, StringTypeStr],
656
+ data: Decodable,
657
+ strict: bool = True,
658
+ ) -> Tuple[HexAddress, str, str]:
659
+ ...
660
+
661
+ @overload
662
+ def decode(
663
+ self,
664
+ types: Tuple[AddressTypeStr, StringTypeStr, DecodesToIntTypeStr],
665
+ data: Decodable,
666
+ strict: bool = True,
667
+ ) -> Tuple[HexAddress, str, int]:
668
+ ...
669
+
670
+ @overload
671
+ def decode(
672
+ self,
673
+ types: Tuple[AddressTypeStr, StringTypeStr, BoolTypeStr],
674
+ data: Decodable,
675
+ strict: bool = True,
676
+ ) -> Tuple[HexAddress, str, bool]:
677
+ ...
678
+
679
+ @overload
680
+ def decode(
681
+ self,
682
+ types: Tuple[AddressTypeStr, StringTypeStr, TypeStr],
683
+ data: Decodable,
684
+ strict: bool = True,
685
+ ) -> Tuple[HexAddress, str, Any]:
686
+ ...
687
+
688
+ @overload
689
+ def decode(
690
+ self,
691
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, AddressTypeStr],
692
+ data: Decodable,
693
+ strict: bool = True,
694
+ ) -> Tuple[HexAddress, int, HexAddress]:
695
+ ...
696
+
697
+ @overload
698
+ def decode(
699
+ self,
700
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, BytesTypeStr],
701
+ data: Decodable,
702
+ strict: bool = True,
703
+ ) -> Tuple[HexAddress, int, bytes]:
704
+ ...
705
+
706
+ @overload
707
+ def decode(
708
+ self,
709
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, StringTypeStr],
710
+ data: Decodable,
711
+ strict: bool = True,
712
+ ) -> Tuple[HexAddress, int, str]:
713
+ ...
714
+
715
+ @overload
716
+ def decode(
717
+ self,
718
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
719
+ data: Decodable,
720
+ strict: bool = True,
721
+ ) -> Tuple[HexAddress, int, int]:
722
+ ...
723
+
724
+ @overload
725
+ def decode(
726
+ self,
727
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, BoolTypeStr],
728
+ data: Decodable,
729
+ strict: bool = True,
730
+ ) -> Tuple[HexAddress, int, bool]:
731
+ ...
732
+
733
+ @overload
734
+ def decode(
735
+ self,
736
+ types: Tuple[AddressTypeStr, DecodesToIntTypeStr, TypeStr],
737
+ data: Decodable,
738
+ strict: bool = True,
739
+ ) -> Tuple[HexAddress, int, Any]:
740
+ ...
741
+
742
+ @overload
743
+ def decode(
744
+ self,
745
+ types: Tuple[AddressTypeStr, BoolTypeStr, AddressTypeStr],
746
+ data: Decodable,
747
+ strict: bool = True,
748
+ ) -> Tuple[HexAddress, bool, HexAddress]:
749
+ ...
750
+
751
+ @overload
752
+ def decode(
753
+ self,
754
+ types: Tuple[AddressTypeStr, BoolTypeStr, BytesTypeStr],
755
+ data: Decodable,
756
+ strict: bool = True,
757
+ ) -> Tuple[HexAddress, bool, bytes]:
758
+ ...
759
+
760
+ @overload
761
+ def decode(
762
+ self,
763
+ types: Tuple[AddressTypeStr, BoolTypeStr, StringTypeStr],
764
+ data: Decodable,
765
+ strict: bool = True,
766
+ ) -> Tuple[HexAddress, bool, str]:
767
+ ...
768
+
769
+ @overload
770
+ def decode(
771
+ self,
772
+ types: Tuple[AddressTypeStr, BoolTypeStr, DecodesToIntTypeStr],
773
+ data: Decodable,
774
+ strict: bool = True,
775
+ ) -> Tuple[HexAddress, bool, int]:
776
+ ...
777
+
778
+ @overload
779
+ def decode(
780
+ self,
781
+ types: Tuple[AddressTypeStr, BoolTypeStr, BoolTypeStr],
782
+ data: Decodable,
783
+ strict: bool = True,
784
+ ) -> Tuple[HexAddress, bool, bool]:
785
+ ...
786
+
787
+ @overload
788
+ def decode(
789
+ self,
790
+ types: Tuple[AddressTypeStr, BoolTypeStr, TypeStr],
791
+ data: Decodable,
792
+ strict: bool = True,
793
+ ) -> Tuple[HexAddress, bool, Any]:
794
+ ...
795
+
796
+ @overload
797
+ def decode(
798
+ self,
799
+ types: Tuple[AddressTypeStr, TypeStr, AddressTypeStr],
800
+ data: Decodable,
801
+ strict: bool = True,
802
+ ) -> Tuple[HexAddress, Any, HexAddress]:
803
+ ...
804
+
805
+ @overload
806
+ def decode(
807
+ self,
808
+ types: Tuple[AddressTypeStr, TypeStr, BytesTypeStr],
809
+ data: Decodable,
810
+ strict: bool = True,
811
+ ) -> Tuple[HexAddress, Any, bytes]:
812
+ ...
813
+
814
+ @overload
815
+ def decode(
816
+ self,
817
+ types: Tuple[AddressTypeStr, TypeStr, StringTypeStr],
818
+ data: Decodable,
819
+ strict: bool = True,
820
+ ) -> Tuple[HexAddress, Any, str]:
821
+ ...
822
+
823
+ @overload
824
+ def decode(
825
+ self,
826
+ types: Tuple[AddressTypeStr, TypeStr, DecodesToIntTypeStr],
827
+ data: Decodable,
828
+ strict: bool = True,
829
+ ) -> Tuple[HexAddress, Any, int]:
830
+ ...
831
+
832
+ @overload
833
+ def decode(
834
+ self,
835
+ types: Tuple[AddressTypeStr, TypeStr, BoolTypeStr],
836
+ data: Decodable,
837
+ strict: bool = True,
838
+ ) -> Tuple[HexAddress, Any, bool]:
839
+ ...
840
+
841
+ @overload
842
+ def decode(
843
+ self,
844
+ types: Tuple[AddressTypeStr, TypeStr, TypeStr],
845
+ data: Decodable,
846
+ strict: bool = True,
847
+ ) -> Tuple[HexAddress, Any, Any]:
848
+ ...
849
+
850
+ @overload
851
+ def decode(
852
+ self,
853
+ types: Tuple[BytesTypeStr, AddressTypeStr, AddressTypeStr],
854
+ data: Decodable,
855
+ strict: bool = True,
856
+ ) -> Tuple[bytes, HexAddress, HexAddress]:
857
+ ...
858
+
859
+ @overload
860
+ def decode(
861
+ self,
862
+ types: Tuple[BytesTypeStr, AddressTypeStr, BytesTypeStr],
863
+ data: Decodable,
864
+ strict: bool = True,
865
+ ) -> Tuple[bytes, HexAddress, bytes]:
866
+ ...
867
+
868
+ @overload
869
+ def decode(
870
+ self,
871
+ types: Tuple[BytesTypeStr, AddressTypeStr, StringTypeStr],
872
+ data: Decodable,
873
+ strict: bool = True,
874
+ ) -> Tuple[bytes, HexAddress, str]:
875
+ ...
876
+
877
+ @overload
878
+ def decode(
879
+ self,
880
+ types: Tuple[BytesTypeStr, AddressTypeStr, DecodesToIntTypeStr],
881
+ data: Decodable,
882
+ strict: bool = True,
883
+ ) -> Tuple[bytes, HexAddress, int]:
884
+ ...
885
+
886
+ @overload
887
+ def decode(
888
+ self,
889
+ types: Tuple[BytesTypeStr, AddressTypeStr, BoolTypeStr],
890
+ data: Decodable,
891
+ strict: bool = True,
892
+ ) -> Tuple[bytes, HexAddress, bool]:
893
+ ...
894
+
895
+ @overload
896
+ def decode(
897
+ self,
898
+ types: Tuple[BytesTypeStr, AddressTypeStr, TypeStr],
899
+ data: Decodable,
900
+ strict: bool = True,
901
+ ) -> Tuple[bytes, HexAddress, Any]:
902
+ ...
903
+
904
+ @overload
905
+ def decode(
906
+ self,
907
+ types: Tuple[BytesTypeStr, BytesTypeStr, AddressTypeStr],
908
+ data: Decodable,
909
+ strict: bool = True,
910
+ ) -> Tuple[bytes, bytes, HexAddress]:
911
+ ...
912
+
913
+ @overload
914
+ def decode(
915
+ self,
916
+ types: Tuple[BytesTypeStr, BytesTypeStr, BytesTypeStr],
917
+ data: Decodable,
918
+ strict: bool = True,
919
+ ) -> Tuple[bytes, bytes, bytes]:
920
+ ...
921
+
922
+ @overload
923
+ def decode(
924
+ self,
925
+ types: Tuple[BytesTypeStr, BytesTypeStr, StringTypeStr],
926
+ data: Decodable,
927
+ strict: bool = True,
928
+ ) -> Tuple[bytes, bytes, str]:
929
+ ...
930
+
931
+ @overload
932
+ def decode(
933
+ self,
934
+ types: Tuple[BytesTypeStr, BytesTypeStr, DecodesToIntTypeStr],
935
+ data: Decodable,
936
+ strict: bool = True,
937
+ ) -> Tuple[bytes, bytes, int]:
938
+ ...
939
+
940
+ @overload
941
+ def decode(
942
+ self,
943
+ types: Tuple[BytesTypeStr, BytesTypeStr, BoolTypeStr],
944
+ data: Decodable,
945
+ strict: bool = True,
946
+ ) -> Tuple[bytes, bytes, bool]:
947
+ ...
948
+
949
+ @overload
950
+ def decode(
951
+ self,
952
+ types: Tuple[BytesTypeStr, BytesTypeStr, TypeStr],
953
+ data: Decodable,
954
+ strict: bool = True,
955
+ ) -> Tuple[bytes, bytes, Any]:
956
+ ...
957
+
958
+ @overload
959
+ def decode(
960
+ self,
961
+ types: Tuple[BytesTypeStr, StringTypeStr, AddressTypeStr],
962
+ data: Decodable,
963
+ strict: bool = True,
964
+ ) -> Tuple[bytes, str, HexAddress]:
965
+ ...
966
+
967
+ @overload
968
+ def decode(
969
+ self,
970
+ types: Tuple[BytesTypeStr, StringTypeStr, BytesTypeStr],
971
+ data: Decodable,
972
+ strict: bool = True,
973
+ ) -> Tuple[bytes, str, bytes]:
974
+ ...
975
+
976
+ @overload
977
+ def decode(
978
+ self,
979
+ types: Tuple[BytesTypeStr, StringTypeStr, StringTypeStr],
980
+ data: Decodable,
981
+ strict: bool = True,
982
+ ) -> Tuple[bytes, str, str]:
983
+ ...
984
+
985
+ @overload
986
+ def decode(
987
+ self,
988
+ types: Tuple[BytesTypeStr, StringTypeStr, DecodesToIntTypeStr],
989
+ data: Decodable,
990
+ strict: bool = True,
991
+ ) -> Tuple[bytes, str, int]:
992
+ ...
993
+
994
+ @overload
995
+ def decode(
996
+ self,
997
+ types: Tuple[BytesTypeStr, StringTypeStr, BoolTypeStr],
998
+ data: Decodable,
999
+ strict: bool = True,
1000
+ ) -> Tuple[bytes, str, bool]:
1001
+ ...
1002
+
1003
+ @overload
1004
+ def decode(
1005
+ self,
1006
+ types: Tuple[BytesTypeStr, StringTypeStr, TypeStr],
1007
+ data: Decodable,
1008
+ strict: bool = True,
1009
+ ) -> Tuple[bytes, str, Any]:
1010
+ ...
1011
+
1012
+ @overload
1013
+ def decode(
1014
+ self,
1015
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, AddressTypeStr],
1016
+ data: Decodable,
1017
+ strict: bool = True,
1018
+ ) -> Tuple[bytes, int, HexAddress]:
1019
+ ...
1020
+
1021
+ @overload
1022
+ def decode(
1023
+ self,
1024
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, BytesTypeStr],
1025
+ data: Decodable,
1026
+ strict: bool = True,
1027
+ ) -> Tuple[bytes, int, bytes]:
1028
+ ...
1029
+
1030
+ @overload
1031
+ def decode(
1032
+ self,
1033
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, StringTypeStr],
1034
+ data: Decodable,
1035
+ strict: bool = True,
1036
+ ) -> Tuple[bytes, int, str]:
1037
+ ...
1038
+
1039
+ @overload
1040
+ def decode(
1041
+ self,
1042
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
1043
+ data: Decodable,
1044
+ strict: bool = True,
1045
+ ) -> Tuple[bytes, int, int]:
1046
+ ...
1047
+
1048
+ @overload
1049
+ def decode(
1050
+ self,
1051
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, BoolTypeStr],
1052
+ data: Decodable,
1053
+ strict: bool = True,
1054
+ ) -> Tuple[bytes, int, bool]:
1055
+ ...
1056
+
1057
+ @overload
1058
+ def decode(
1059
+ self,
1060
+ types: Tuple[BytesTypeStr, DecodesToIntTypeStr, TypeStr],
1061
+ data: Decodable,
1062
+ strict: bool = True,
1063
+ ) -> Tuple[bytes, int, Any]:
1064
+ ...
1065
+
1066
+ @overload
1067
+ def decode(
1068
+ self,
1069
+ types: Tuple[BytesTypeStr, BoolTypeStr, AddressTypeStr],
1070
+ data: Decodable,
1071
+ strict: bool = True,
1072
+ ) -> Tuple[bytes, bool, HexAddress]:
1073
+ ...
1074
+
1075
+ @overload
1076
+ def decode(
1077
+ self,
1078
+ types: Tuple[BytesTypeStr, BoolTypeStr, BytesTypeStr],
1079
+ data: Decodable,
1080
+ strict: bool = True,
1081
+ ) -> Tuple[bytes, bool, bytes]:
1082
+ ...
1083
+
1084
+ @overload
1085
+ def decode(
1086
+ self,
1087
+ types: Tuple[BytesTypeStr, BoolTypeStr, StringTypeStr],
1088
+ data: Decodable,
1089
+ strict: bool = True,
1090
+ ) -> Tuple[bytes, bool, str]:
1091
+ ...
1092
+
1093
+ @overload
1094
+ def decode(
1095
+ self,
1096
+ types: Tuple[BytesTypeStr, BoolTypeStr, DecodesToIntTypeStr],
1097
+ data: Decodable,
1098
+ strict: bool = True,
1099
+ ) -> Tuple[bytes, bool, int]:
1100
+ ...
1101
+
1102
+ @overload
1103
+ def decode(
1104
+ self,
1105
+ types: Tuple[BytesTypeStr, BoolTypeStr, BoolTypeStr],
1106
+ data: Decodable,
1107
+ strict: bool = True,
1108
+ ) -> Tuple[bytes, bool, bool]:
1109
+ ...
1110
+
1111
+ @overload
1112
+ def decode(
1113
+ self,
1114
+ types: Tuple[BytesTypeStr, BoolTypeStr, TypeStr],
1115
+ data: Decodable,
1116
+ strict: bool = True,
1117
+ ) -> Tuple[bytes, bool, Any]:
1118
+ ...
1119
+
1120
+ @overload
1121
+ def decode(
1122
+ self,
1123
+ types: Tuple[BytesTypeStr, TypeStr, AddressTypeStr],
1124
+ data: Decodable,
1125
+ strict: bool = True,
1126
+ ) -> Tuple[bytes, Any, HexAddress]:
1127
+ ...
1128
+
1129
+ @overload
1130
+ def decode(
1131
+ self,
1132
+ types: Tuple[BytesTypeStr, TypeStr, BytesTypeStr],
1133
+ data: Decodable,
1134
+ strict: bool = True,
1135
+ ) -> Tuple[bytes, Any, bytes]:
1136
+ ...
1137
+
1138
+ @overload
1139
+ def decode(
1140
+ self,
1141
+ types: Tuple[BytesTypeStr, TypeStr, StringTypeStr],
1142
+ data: Decodable,
1143
+ strict: bool = True,
1144
+ ) -> Tuple[bytes, Any, str]:
1145
+ ...
1146
+
1147
+ @overload
1148
+ def decode(
1149
+ self,
1150
+ types: Tuple[BytesTypeStr, TypeStr, DecodesToIntTypeStr],
1151
+ data: Decodable,
1152
+ strict: bool = True,
1153
+ ) -> Tuple[bytes, Any, int]:
1154
+ ...
1155
+
1156
+ @overload
1157
+ def decode(
1158
+ self,
1159
+ types: Tuple[BytesTypeStr, TypeStr, BoolTypeStr],
1160
+ data: Decodable,
1161
+ strict: bool = True,
1162
+ ) -> Tuple[bytes, Any, bool]:
1163
+ ...
1164
+
1165
+ @overload
1166
+ def decode(
1167
+ self,
1168
+ types: Tuple[BytesTypeStr, TypeStr, TypeStr],
1169
+ data: Decodable,
1170
+ strict: bool = True,
1171
+ ) -> Tuple[bytes, Any, Any]:
1172
+ ...
1173
+
1174
+ @overload
1175
+ def decode(
1176
+ self,
1177
+ types: Tuple[StringTypeStr, AddressTypeStr, AddressTypeStr],
1178
+ data: Decodable,
1179
+ strict: bool = True,
1180
+ ) -> Tuple[str, HexAddress, HexAddress]:
1181
+ ...
1182
+
1183
+ @overload
1184
+ def decode(
1185
+ self,
1186
+ types: Tuple[StringTypeStr, AddressTypeStr, BytesTypeStr],
1187
+ data: Decodable,
1188
+ strict: bool = True,
1189
+ ) -> Tuple[str, HexAddress, bytes]:
1190
+ ...
1191
+
1192
+ @overload
1193
+ def decode(
1194
+ self,
1195
+ types: Tuple[StringTypeStr, AddressTypeStr, StringTypeStr],
1196
+ data: Decodable,
1197
+ strict: bool = True,
1198
+ ) -> Tuple[str, HexAddress, str]:
1199
+ ...
1200
+
1201
+ @overload
1202
+ def decode(
1203
+ self,
1204
+ types: Tuple[StringTypeStr, AddressTypeStr, DecodesToIntTypeStr],
1205
+ data: Decodable,
1206
+ strict: bool = True,
1207
+ ) -> Tuple[str, HexAddress, int]:
1208
+ ...
1209
+
1210
+ @overload
1211
+ def decode(
1212
+ self,
1213
+ types: Tuple[StringTypeStr, AddressTypeStr, BoolTypeStr],
1214
+ data: Decodable,
1215
+ strict: bool = True,
1216
+ ) -> Tuple[str, HexAddress, bool]:
1217
+ ...
1218
+
1219
+ @overload
1220
+ def decode(
1221
+ self,
1222
+ types: Tuple[StringTypeStr, AddressTypeStr, TypeStr],
1223
+ data: Decodable,
1224
+ strict: bool = True,
1225
+ ) -> Tuple[str, HexAddress, Any]:
1226
+ ...
1227
+
1228
+ @overload
1229
+ def decode(
1230
+ self,
1231
+ types: Tuple[StringTypeStr, BytesTypeStr, AddressTypeStr],
1232
+ data: Decodable,
1233
+ strict: bool = True,
1234
+ ) -> Tuple[str, bytes, HexAddress]:
1235
+ ...
1236
+
1237
+ @overload
1238
+ def decode(
1239
+ self,
1240
+ types: Tuple[StringTypeStr, BytesTypeStr, BytesTypeStr],
1241
+ data: Decodable,
1242
+ strict: bool = True,
1243
+ ) -> Tuple[str, bytes, bytes]:
1244
+ ...
1245
+
1246
+ @overload
1247
+ def decode(
1248
+ self,
1249
+ types: Tuple[StringTypeStr, BytesTypeStr, StringTypeStr],
1250
+ data: Decodable,
1251
+ strict: bool = True,
1252
+ ) -> Tuple[str, bytes, str]:
1253
+ ...
1254
+
1255
+ @overload
1256
+ def decode(
1257
+ self,
1258
+ types: Tuple[StringTypeStr, BytesTypeStr, DecodesToIntTypeStr],
1259
+ data: Decodable,
1260
+ strict: bool = True,
1261
+ ) -> Tuple[str, bytes, int]:
1262
+ ...
1263
+
1264
+ @overload
1265
+ def decode(
1266
+ self,
1267
+ types: Tuple[StringTypeStr, BytesTypeStr, BoolTypeStr],
1268
+ data: Decodable,
1269
+ strict: bool = True,
1270
+ ) -> Tuple[str, bytes, bool]:
1271
+ ...
1272
+
1273
+ @overload
1274
+ def decode(
1275
+ self,
1276
+ types: Tuple[StringTypeStr, BytesTypeStr, TypeStr],
1277
+ data: Decodable,
1278
+ strict: bool = True,
1279
+ ) -> Tuple[str, bytes, Any]:
1280
+ ...
1281
+
1282
+ @overload
1283
+ def decode(
1284
+ self,
1285
+ types: Tuple[StringTypeStr, StringTypeStr, AddressTypeStr],
1286
+ data: Decodable,
1287
+ strict: bool = True,
1288
+ ) -> Tuple[str, str, HexAddress]:
1289
+ ...
1290
+
1291
+ @overload
1292
+ def decode(
1293
+ self,
1294
+ types: Tuple[StringTypeStr, StringTypeStr, BytesTypeStr],
1295
+ data: Decodable,
1296
+ strict: bool = True,
1297
+ ) -> Tuple[str, str, bytes]:
1298
+ ...
1299
+
1300
+ @overload
1301
+ def decode(
1302
+ self,
1303
+ types: Tuple[StringTypeStr, StringTypeStr, StringTypeStr],
1304
+ data: Decodable,
1305
+ strict: bool = True,
1306
+ ) -> Tuple[str, str, str]:
1307
+ ...
1308
+
1309
+ @overload
1310
+ def decode(
1311
+ self,
1312
+ types: Tuple[StringTypeStr, StringTypeStr, DecodesToIntTypeStr],
1313
+ data: Decodable,
1314
+ strict: bool = True,
1315
+ ) -> Tuple[str, str, int]:
1316
+ ...
1317
+
1318
+ @overload
1319
+ def decode(
1320
+ self,
1321
+ types: Tuple[StringTypeStr, StringTypeStr, BoolTypeStr],
1322
+ data: Decodable,
1323
+ strict: bool = True,
1324
+ ) -> Tuple[str, str, bool]:
1325
+ ...
1326
+
1327
+ @overload
1328
+ def decode(
1329
+ self,
1330
+ types: Tuple[StringTypeStr, StringTypeStr, TypeStr],
1331
+ data: Decodable,
1332
+ strict: bool = True,
1333
+ ) -> Tuple[str, str, Any]:
1334
+ ...
1335
+
1336
+ @overload
1337
+ def decode(
1338
+ self,
1339
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, AddressTypeStr],
1340
+ data: Decodable,
1341
+ strict: bool = True,
1342
+ ) -> Tuple[str, int, HexAddress]:
1343
+ ...
1344
+
1345
+ @overload
1346
+ def decode(
1347
+ self,
1348
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, BytesTypeStr],
1349
+ data: Decodable,
1350
+ strict: bool = True,
1351
+ ) -> Tuple[str, int, bytes]:
1352
+ ...
1353
+
1354
+ @overload
1355
+ def decode(
1356
+ self,
1357
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, StringTypeStr],
1358
+ data: Decodable,
1359
+ strict: bool = True,
1360
+ ) -> Tuple[str, int, str]:
1361
+ ...
1362
+
1363
+ @overload
1364
+ def decode(
1365
+ self,
1366
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
1367
+ data: Decodable,
1368
+ strict: bool = True,
1369
+ ) -> Tuple[str, int, int]:
1370
+ ...
1371
+
1372
+ @overload
1373
+ def decode(
1374
+ self,
1375
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, BoolTypeStr],
1376
+ data: Decodable,
1377
+ strict: bool = True,
1378
+ ) -> Tuple[str, int, bool]:
1379
+ ...
1380
+
1381
+ @overload
1382
+ def decode(
1383
+ self,
1384
+ types: Tuple[StringTypeStr, DecodesToIntTypeStr, TypeStr],
1385
+ data: Decodable,
1386
+ strict: bool = True,
1387
+ ) -> Tuple[str, int, Any]:
1388
+ ...
1389
+
1390
+ @overload
1391
+ def decode(
1392
+ self,
1393
+ types: Tuple[StringTypeStr, BoolTypeStr, AddressTypeStr],
1394
+ data: Decodable,
1395
+ strict: bool = True,
1396
+ ) -> Tuple[str, bool, HexAddress]:
1397
+ ...
1398
+
1399
+ @overload
1400
+ def decode(
1401
+ self,
1402
+ types: Tuple[StringTypeStr, BoolTypeStr, BytesTypeStr],
1403
+ data: Decodable,
1404
+ strict: bool = True,
1405
+ ) -> Tuple[str, bool, bytes]:
1406
+ ...
1407
+
1408
+ @overload
1409
+ def decode(
1410
+ self,
1411
+ types: Tuple[StringTypeStr, BoolTypeStr, StringTypeStr],
1412
+ data: Decodable,
1413
+ strict: bool = True,
1414
+ ) -> Tuple[str, bool, str]:
1415
+ ...
1416
+
1417
+ @overload
1418
+ def decode(
1419
+ self,
1420
+ types: Tuple[StringTypeStr, BoolTypeStr, DecodesToIntTypeStr],
1421
+ data: Decodable,
1422
+ strict: bool = True,
1423
+ ) -> Tuple[str, bool, int]:
1424
+ ...
1425
+
1426
+ @overload
1427
+ def decode(
1428
+ self,
1429
+ types: Tuple[StringTypeStr, BoolTypeStr, BoolTypeStr],
1430
+ data: Decodable,
1431
+ strict: bool = True,
1432
+ ) -> Tuple[str, bool, bool]:
1433
+ ...
1434
+
1435
+ @overload
1436
+ def decode(
1437
+ self,
1438
+ types: Tuple[StringTypeStr, BoolTypeStr, TypeStr],
1439
+ data: Decodable,
1440
+ strict: bool = True,
1441
+ ) -> Tuple[str, bool, Any]:
1442
+ ...
1443
+
1444
+ @overload
1445
+ def decode(
1446
+ self,
1447
+ types: Tuple[StringTypeStr, TypeStr, AddressTypeStr],
1448
+ data: Decodable,
1449
+ strict: bool = True,
1450
+ ) -> Tuple[str, Any, HexAddress]:
1451
+ ...
1452
+
1453
+ @overload
1454
+ def decode(
1455
+ self,
1456
+ types: Tuple[StringTypeStr, TypeStr, BytesTypeStr],
1457
+ data: Decodable,
1458
+ strict: bool = True,
1459
+ ) -> Tuple[str, Any, bytes]:
1460
+ ...
1461
+
1462
+ @overload
1463
+ def decode(
1464
+ self,
1465
+ types: Tuple[StringTypeStr, TypeStr, StringTypeStr],
1466
+ data: Decodable,
1467
+ strict: bool = True,
1468
+ ) -> Tuple[str, Any, str]:
1469
+ ...
1470
+
1471
+ @overload
1472
+ def decode(
1473
+ self,
1474
+ types: Tuple[StringTypeStr, TypeStr, DecodesToIntTypeStr],
1475
+ data: Decodable,
1476
+ strict: bool = True,
1477
+ ) -> Tuple[str, Any, int]:
1478
+ ...
1479
+
1480
+ @overload
1481
+ def decode(
1482
+ self,
1483
+ types: Tuple[StringTypeStr, TypeStr, BoolTypeStr],
1484
+ data: Decodable,
1485
+ strict: bool = True,
1486
+ ) -> Tuple[str, Any, bool]:
1487
+ ...
1488
+
1489
+ @overload
1490
+ def decode(
1491
+ self,
1492
+ types: Tuple[StringTypeStr, TypeStr, TypeStr],
1493
+ data: Decodable,
1494
+ strict: bool = True,
1495
+ ) -> Tuple[str, Any, Any]:
1496
+ ...
1497
+
1498
+ @overload
1499
+ def decode(
1500
+ self,
1501
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, AddressTypeStr],
1502
+ data: Decodable,
1503
+ strict: bool = True,
1504
+ ) -> Tuple[int, HexAddress, HexAddress]:
1505
+ ...
1506
+
1507
+ @overload
1508
+ def decode(
1509
+ self,
1510
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, BytesTypeStr],
1511
+ data: Decodable,
1512
+ strict: bool = True,
1513
+ ) -> Tuple[int, HexAddress, bytes]:
1514
+ ...
1515
+
1516
+ @overload
1517
+ def decode(
1518
+ self,
1519
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, StringTypeStr],
1520
+ data: Decodable,
1521
+ strict: bool = True,
1522
+ ) -> Tuple[int, HexAddress, str]:
1523
+ ...
1524
+
1525
+ @overload
1526
+ def decode(
1527
+ self,
1528
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, DecodesToIntTypeStr],
1529
+ data: Decodable,
1530
+ strict: bool = True,
1531
+ ) -> Tuple[int, HexAddress, int]:
1532
+ ...
1533
+
1534
+ @overload
1535
+ def decode(
1536
+ self,
1537
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, BoolTypeStr],
1538
+ data: Decodable,
1539
+ strict: bool = True,
1540
+ ) -> Tuple[int, HexAddress, bool]:
1541
+ ...
1542
+
1543
+ @overload
1544
+ def decode(
1545
+ self,
1546
+ types: Tuple[DecodesToIntTypeStr, AddressTypeStr, TypeStr],
1547
+ data: Decodable,
1548
+ strict: bool = True,
1549
+ ) -> Tuple[int, HexAddress, Any]:
1550
+ ...
1551
+
1552
+ @overload
1553
+ def decode(
1554
+ self,
1555
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, AddressTypeStr],
1556
+ data: Decodable,
1557
+ strict: bool = True,
1558
+ ) -> Tuple[int, bytes, HexAddress]:
1559
+ ...
1560
+
1561
+ @overload
1562
+ def decode(
1563
+ self,
1564
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, BytesTypeStr],
1565
+ data: Decodable,
1566
+ strict: bool = True,
1567
+ ) -> Tuple[int, bytes, bytes]:
1568
+ ...
1569
+
1570
+ @overload
1571
+ def decode(
1572
+ self,
1573
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, StringTypeStr],
1574
+ data: Decodable,
1575
+ strict: bool = True,
1576
+ ) -> Tuple[int, bytes, str]:
1577
+ ...
1578
+
1579
+ @overload
1580
+ def decode(
1581
+ self,
1582
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, DecodesToIntTypeStr],
1583
+ data: Decodable,
1584
+ strict: bool = True,
1585
+ ) -> Tuple[int, bytes, int]:
1586
+ ...
1587
+
1588
+ @overload
1589
+ def decode(
1590
+ self,
1591
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, BoolTypeStr],
1592
+ data: Decodable,
1593
+ strict: bool = True,
1594
+ ) -> Tuple[int, bytes, bool]:
1595
+ ...
1596
+
1597
+ @overload
1598
+ def decode(
1599
+ self,
1600
+ types: Tuple[DecodesToIntTypeStr, BytesTypeStr, TypeStr],
1601
+ data: Decodable,
1602
+ strict: bool = True,
1603
+ ) -> Tuple[int, bytes, Any]:
1604
+ ...
1605
+
1606
+ @overload
1607
+ def decode(
1608
+ self,
1609
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, AddressTypeStr],
1610
+ data: Decodable,
1611
+ strict: bool = True,
1612
+ ) -> Tuple[int, str, HexAddress]:
1613
+ ...
1614
+
1615
+ @overload
1616
+ def decode(
1617
+ self,
1618
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, BytesTypeStr],
1619
+ data: Decodable,
1620
+ strict: bool = True,
1621
+ ) -> Tuple[int, str, bytes]:
1622
+ ...
1623
+
1624
+ @overload
1625
+ def decode(
1626
+ self,
1627
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, StringTypeStr],
1628
+ data: Decodable,
1629
+ strict: bool = True,
1630
+ ) -> Tuple[int, str, str]:
1631
+ ...
1632
+
1633
+ @overload
1634
+ def decode(
1635
+ self,
1636
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, DecodesToIntTypeStr],
1637
+ data: Decodable,
1638
+ strict: bool = True,
1639
+ ) -> Tuple[int, str, int]:
1640
+ ...
1641
+
1642
+ @overload
1643
+ def decode(
1644
+ self,
1645
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, BoolTypeStr],
1646
+ data: Decodable,
1647
+ strict: bool = True,
1648
+ ) -> Tuple[int, str, bool]:
1649
+ ...
1650
+
1651
+ @overload
1652
+ def decode(
1653
+ self,
1654
+ types: Tuple[DecodesToIntTypeStr, StringTypeStr, TypeStr],
1655
+ data: Decodable,
1656
+ strict: bool = True,
1657
+ ) -> Tuple[int, str, Any]:
1658
+ ...
1659
+
1660
+ @overload
1661
+ def decode(
1662
+ self,
1663
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, AddressTypeStr],
1664
+ data: Decodable,
1665
+ strict: bool = True,
1666
+ ) -> Tuple[int, int, HexAddress]:
1667
+ ...
1668
+
1669
+ @overload
1670
+ def decode(
1671
+ self,
1672
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, BytesTypeStr],
1673
+ data: Decodable,
1674
+ strict: bool = True,
1675
+ ) -> Tuple[int, int, bytes]:
1676
+ ...
1677
+
1678
+ @overload
1679
+ def decode(
1680
+ self,
1681
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, StringTypeStr],
1682
+ data: Decodable,
1683
+ strict: bool = True,
1684
+ ) -> Tuple[int, int, str]:
1685
+ ...
1686
+
1687
+ @overload
1688
+ def decode(
1689
+ self,
1690
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
1691
+ data: Decodable,
1692
+ strict: bool = True,
1693
+ ) -> Tuple[int, int, int]:
1694
+ ...
1695
+
1696
+ @overload
1697
+ def decode(
1698
+ self,
1699
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, BoolTypeStr],
1700
+ data: Decodable,
1701
+ strict: bool = True,
1702
+ ) -> Tuple[int, int, bool]:
1703
+ ...
1704
+
1705
+ @overload
1706
+ def decode(
1707
+ self,
1708
+ types: Tuple[DecodesToIntTypeStr, DecodesToIntTypeStr, TypeStr],
1709
+ data: Decodable,
1710
+ strict: bool = True,
1711
+ ) -> Tuple[int, int, Any]:
1712
+ ...
1713
+
1714
+ @overload
1715
+ def decode(
1716
+ self,
1717
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, AddressTypeStr],
1718
+ data: Decodable,
1719
+ strict: bool = True,
1720
+ ) -> Tuple[int, bool, HexAddress]:
1721
+ ...
1722
+
1723
+ @overload
1724
+ def decode(
1725
+ self,
1726
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, BytesTypeStr],
1727
+ data: Decodable,
1728
+ strict: bool = True,
1729
+ ) -> Tuple[int, bool, bytes]:
1730
+ ...
1731
+
1732
+ @overload
1733
+ def decode(
1734
+ self,
1735
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, StringTypeStr],
1736
+ data: Decodable,
1737
+ strict: bool = True,
1738
+ ) -> Tuple[int, bool, str]:
1739
+ ...
1740
+
1741
+ @overload
1742
+ def decode(
1743
+ self,
1744
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, DecodesToIntTypeStr],
1745
+ data: Decodable,
1746
+ strict: bool = True,
1747
+ ) -> Tuple[int, bool, int]:
1748
+ ...
1749
+
1750
+ @overload
1751
+ def decode(
1752
+ self,
1753
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, BoolTypeStr],
1754
+ data: Decodable,
1755
+ strict: bool = True,
1756
+ ) -> Tuple[int, bool, bool]:
1757
+ ...
1758
+
1759
+ @overload
1760
+ def decode(
1761
+ self,
1762
+ types: Tuple[DecodesToIntTypeStr, BoolTypeStr, TypeStr],
1763
+ data: Decodable,
1764
+ strict: bool = True,
1765
+ ) -> Tuple[int, bool, Any]:
1766
+ ...
1767
+
1768
+ @overload
1769
+ def decode(
1770
+ self,
1771
+ types: Tuple[DecodesToIntTypeStr, TypeStr, AddressTypeStr],
1772
+ data: Decodable,
1773
+ strict: bool = True,
1774
+ ) -> Tuple[int, Any, HexAddress]:
1775
+ ...
1776
+
1777
+ @overload
1778
+ def decode(
1779
+ self,
1780
+ types: Tuple[DecodesToIntTypeStr, TypeStr, BytesTypeStr],
1781
+ data: Decodable,
1782
+ strict: bool = True,
1783
+ ) -> Tuple[int, Any, bytes]:
1784
+ ...
1785
+
1786
+ @overload
1787
+ def decode(
1788
+ self,
1789
+ types: Tuple[DecodesToIntTypeStr, TypeStr, StringTypeStr],
1790
+ data: Decodable,
1791
+ strict: bool = True,
1792
+ ) -> Tuple[int, Any, str]:
1793
+ ...
1794
+
1795
+ @overload
1796
+ def decode(
1797
+ self,
1798
+ types: Tuple[DecodesToIntTypeStr, TypeStr, DecodesToIntTypeStr],
1799
+ data: Decodable,
1800
+ strict: bool = True,
1801
+ ) -> Tuple[int, Any, int]:
1802
+ ...
1803
+
1804
+ @overload
1805
+ def decode(
1806
+ self,
1807
+ types: Tuple[DecodesToIntTypeStr, TypeStr, BoolTypeStr],
1808
+ data: Decodable,
1809
+ strict: bool = True,
1810
+ ) -> Tuple[int, Any, bool]:
1811
+ ...
1812
+
1813
+ @overload
1814
+ def decode(
1815
+ self,
1816
+ types: Tuple[DecodesToIntTypeStr, TypeStr, TypeStr],
1817
+ data: Decodable,
1818
+ strict: bool = True,
1819
+ ) -> Tuple[int, Any, Any]:
1820
+ ...
1821
+
1822
+ @overload
1823
+ def decode(
1824
+ self,
1825
+ types: Tuple[BoolTypeStr, AddressTypeStr, AddressTypeStr],
1826
+ data: Decodable,
1827
+ strict: bool = True,
1828
+ ) -> Tuple[bool, HexAddress, HexAddress]:
1829
+ ...
1830
+
1831
+ @overload
1832
+ def decode(
1833
+ self,
1834
+ types: Tuple[BoolTypeStr, AddressTypeStr, BytesTypeStr],
1835
+ data: Decodable,
1836
+ strict: bool = True,
1837
+ ) -> Tuple[bool, HexAddress, bytes]:
1838
+ ...
1839
+
1840
+ @overload
1841
+ def decode(
1842
+ self,
1843
+ types: Tuple[BoolTypeStr, AddressTypeStr, StringTypeStr],
1844
+ data: Decodable,
1845
+ strict: bool = True,
1846
+ ) -> Tuple[bool, HexAddress, str]:
1847
+ ...
1848
+
1849
+ @overload
1850
+ def decode(
1851
+ self,
1852
+ types: Tuple[BoolTypeStr, AddressTypeStr, DecodesToIntTypeStr],
1853
+ data: Decodable,
1854
+ strict: bool = True,
1855
+ ) -> Tuple[bool, HexAddress, int]:
1856
+ ...
1857
+
1858
+ @overload
1859
+ def decode(
1860
+ self,
1861
+ types: Tuple[BoolTypeStr, AddressTypeStr, BoolTypeStr],
1862
+ data: Decodable,
1863
+ strict: bool = True,
1864
+ ) -> Tuple[bool, HexAddress, bool]:
1865
+ ...
1866
+
1867
+ @overload
1868
+ def decode(
1869
+ self,
1870
+ types: Tuple[BoolTypeStr, AddressTypeStr, TypeStr],
1871
+ data: Decodable,
1872
+ strict: bool = True,
1873
+ ) -> Tuple[bool, HexAddress, Any]:
1874
+ ...
1875
+
1876
+ @overload
1877
+ def decode(
1878
+ self,
1879
+ types: Tuple[BoolTypeStr, BytesTypeStr, AddressTypeStr],
1880
+ data: Decodable,
1881
+ strict: bool = True,
1882
+ ) -> Tuple[bool, bytes, HexAddress]:
1883
+ ...
1884
+
1885
+ @overload
1886
+ def decode(
1887
+ self,
1888
+ types: Tuple[BoolTypeStr, BytesTypeStr, BytesTypeStr],
1889
+ data: Decodable,
1890
+ strict: bool = True,
1891
+ ) -> Tuple[bool, bytes, bytes]:
1892
+ ...
1893
+
1894
+ @overload
1895
+ def decode(
1896
+ self,
1897
+ types: Tuple[BoolTypeStr, BytesTypeStr, StringTypeStr],
1898
+ data: Decodable,
1899
+ strict: bool = True,
1900
+ ) -> Tuple[bool, bytes, str]:
1901
+ ...
1902
+
1903
+ @overload
1904
+ def decode(
1905
+ self,
1906
+ types: Tuple[BoolTypeStr, BytesTypeStr, DecodesToIntTypeStr],
1907
+ data: Decodable,
1908
+ strict: bool = True,
1909
+ ) -> Tuple[bool, bytes, int]:
1910
+ ...
1911
+
1912
+ @overload
1913
+ def decode(
1914
+ self,
1915
+ types: Tuple[BoolTypeStr, BytesTypeStr, BoolTypeStr],
1916
+ data: Decodable,
1917
+ strict: bool = True,
1918
+ ) -> Tuple[bool, bytes, bool]:
1919
+ ...
1920
+
1921
+ @overload
1922
+ def decode(
1923
+ self,
1924
+ types: Tuple[BoolTypeStr, BytesTypeStr, TypeStr],
1925
+ data: Decodable,
1926
+ strict: bool = True,
1927
+ ) -> Tuple[bool, bytes, Any]:
1928
+ ...
1929
+
1930
+ @overload
1931
+ def decode(
1932
+ self,
1933
+ types: Tuple[BoolTypeStr, StringTypeStr, AddressTypeStr],
1934
+ data: Decodable,
1935
+ strict: bool = True,
1936
+ ) -> Tuple[bool, str, HexAddress]:
1937
+ ...
1938
+
1939
+ @overload
1940
+ def decode(
1941
+ self,
1942
+ types: Tuple[BoolTypeStr, StringTypeStr, BytesTypeStr],
1943
+ data: Decodable,
1944
+ strict: bool = True,
1945
+ ) -> Tuple[bool, str, bytes]:
1946
+ ...
1947
+
1948
+ @overload
1949
+ def decode(
1950
+ self,
1951
+ types: Tuple[BoolTypeStr, StringTypeStr, StringTypeStr],
1952
+ data: Decodable,
1953
+ strict: bool = True,
1954
+ ) -> Tuple[bool, str, str]:
1955
+ ...
1956
+
1957
+ @overload
1958
+ def decode(
1959
+ self,
1960
+ types: Tuple[BoolTypeStr, StringTypeStr, DecodesToIntTypeStr],
1961
+ data: Decodable,
1962
+ strict: bool = True,
1963
+ ) -> Tuple[bool, str, int]:
1964
+ ...
1965
+
1966
+ @overload
1967
+ def decode(
1968
+ self,
1969
+ types: Tuple[BoolTypeStr, StringTypeStr, BoolTypeStr],
1970
+ data: Decodable,
1971
+ strict: bool = True,
1972
+ ) -> Tuple[bool, str, bool]:
1973
+ ...
1974
+
1975
+ @overload
1976
+ def decode(
1977
+ self,
1978
+ types: Tuple[BoolTypeStr, StringTypeStr, TypeStr],
1979
+ data: Decodable,
1980
+ strict: bool = True,
1981
+ ) -> Tuple[bool, str, Any]:
1982
+ ...
1983
+
1984
+ @overload
1985
+ def decode(
1986
+ self,
1987
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, AddressTypeStr],
1988
+ data: Decodable,
1989
+ strict: bool = True,
1990
+ ) -> Tuple[bool, int, HexAddress]:
1991
+ ...
1992
+
1993
+ @overload
1994
+ def decode(
1995
+ self,
1996
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, BytesTypeStr],
1997
+ data: Decodable,
1998
+ strict: bool = True,
1999
+ ) -> Tuple[bool, int, bytes]:
2000
+ ...
2001
+
2002
+ @overload
2003
+ def decode(
2004
+ self,
2005
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, StringTypeStr],
2006
+ data: Decodable,
2007
+ strict: bool = True,
2008
+ ) -> Tuple[bool, int, str]:
2009
+ ...
2010
+
2011
+ @overload
2012
+ def decode(
2013
+ self,
2014
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
2015
+ data: Decodable,
2016
+ strict: bool = True,
2017
+ ) -> Tuple[bool, int, int]:
2018
+ ...
2019
+
2020
+ @overload
2021
+ def decode(
2022
+ self,
2023
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, BoolTypeStr],
2024
+ data: Decodable,
2025
+ strict: bool = True,
2026
+ ) -> Tuple[bool, int, bool]:
2027
+ ...
2028
+
2029
+ @overload
2030
+ def decode(
2031
+ self,
2032
+ types: Tuple[BoolTypeStr, DecodesToIntTypeStr, TypeStr],
2033
+ data: Decodable,
2034
+ strict: bool = True,
2035
+ ) -> Tuple[bool, int, Any]:
2036
+ ...
2037
+
2038
+ @overload
2039
+ def decode(
2040
+ self,
2041
+ types: Tuple[BoolTypeStr, BoolTypeStr, AddressTypeStr],
2042
+ data: Decodable,
2043
+ strict: bool = True,
2044
+ ) -> Tuple[bool, bool, HexAddress]:
2045
+ ...
2046
+
2047
+ @overload
2048
+ def decode(
2049
+ self,
2050
+ types: Tuple[BoolTypeStr, BoolTypeStr, BytesTypeStr],
2051
+ data: Decodable,
2052
+ strict: bool = True,
2053
+ ) -> Tuple[bool, bool, bytes]:
2054
+ ...
2055
+
2056
+ @overload
2057
+ def decode(
2058
+ self,
2059
+ types: Tuple[BoolTypeStr, BoolTypeStr, StringTypeStr],
2060
+ data: Decodable,
2061
+ strict: bool = True,
2062
+ ) -> Tuple[bool, bool, str]:
2063
+ ...
2064
+
2065
+ @overload
2066
+ def decode(
2067
+ self,
2068
+ types: Tuple[BoolTypeStr, BoolTypeStr, DecodesToIntTypeStr],
2069
+ data: Decodable,
2070
+ strict: bool = True,
2071
+ ) -> Tuple[bool, bool, int]:
2072
+ ...
2073
+
2074
+ @overload
2075
+ def decode(
2076
+ self,
2077
+ types: Tuple[BoolTypeStr, BoolTypeStr, BoolTypeStr],
2078
+ data: Decodable,
2079
+ strict: bool = True,
2080
+ ) -> Tuple[bool, bool, bool]:
2081
+ ...
2082
+
2083
+ @overload
2084
+ def decode(
2085
+ self,
2086
+ types: Tuple[BoolTypeStr, BoolTypeStr, TypeStr],
2087
+ data: Decodable,
2088
+ strict: bool = True,
2089
+ ) -> Tuple[bool, bool, Any]:
2090
+ ...
2091
+
2092
+ @overload
2093
+ def decode(
2094
+ self,
2095
+ types: Tuple[BoolTypeStr, TypeStr, AddressTypeStr],
2096
+ data: Decodable,
2097
+ strict: bool = True,
2098
+ ) -> Tuple[bool, Any, HexAddress]:
2099
+ ...
2100
+
2101
+ @overload
2102
+ def decode(
2103
+ self,
2104
+ types: Tuple[BoolTypeStr, TypeStr, BytesTypeStr],
2105
+ data: Decodable,
2106
+ strict: bool = True,
2107
+ ) -> Tuple[bool, Any, bytes]:
2108
+ ...
2109
+
2110
+ @overload
2111
+ def decode(
2112
+ self,
2113
+ types: Tuple[BoolTypeStr, TypeStr, StringTypeStr],
2114
+ data: Decodable,
2115
+ strict: bool = True,
2116
+ ) -> Tuple[bool, Any, str]:
2117
+ ...
2118
+
2119
+ @overload
2120
+ def decode(
2121
+ self,
2122
+ types: Tuple[BoolTypeStr, TypeStr, DecodesToIntTypeStr],
2123
+ data: Decodable,
2124
+ strict: bool = True,
2125
+ ) -> Tuple[bool, Any, int]:
2126
+ ...
2127
+
2128
+ @overload
2129
+ def decode(
2130
+ self,
2131
+ types: Tuple[BoolTypeStr, TypeStr, BoolTypeStr],
2132
+ data: Decodable,
2133
+ strict: bool = True,
2134
+ ) -> Tuple[bool, Any, bool]:
2135
+ ...
2136
+
2137
+ @overload
2138
+ def decode(
2139
+ self,
2140
+ types: Tuple[BoolTypeStr, TypeStr, TypeStr],
2141
+ data: Decodable,
2142
+ strict: bool = True,
2143
+ ) -> Tuple[bool, Any, Any]:
2144
+ ...
2145
+
2146
+ # --- Fallbacks for len == 3 ---
2147
+
2148
+ @overload
2149
+ def decode(
2150
+ self,
2151
+ types: Tuple[TypeStr, AddressTypeStr, AddressTypeStr],
2152
+ data: Decodable,
2153
+ strict: bool = True,
2154
+ ) -> Tuple[Any, HexAddress, HexAddress]:
2155
+ ...
2156
+
2157
+ @overload
2158
+ def decode(
2159
+ self,
2160
+ types: Tuple[TypeStr, AddressTypeStr, BytesTypeStr],
2161
+ data: Decodable,
2162
+ strict: bool = True,
2163
+ ) -> Tuple[Any, HexAddress, bytes]:
2164
+ ...
2165
+
2166
+ @overload
2167
+ def decode(
2168
+ self,
2169
+ types: Tuple[TypeStr, AddressTypeStr, StringTypeStr],
2170
+ data: Decodable,
2171
+ strict: bool = True,
2172
+ ) -> Tuple[Any, HexAddress, str]:
2173
+ ...
2174
+
2175
+ @overload
2176
+ def decode(
2177
+ self,
2178
+ types: Tuple[TypeStr, AddressTypeStr, DecodesToIntTypeStr],
2179
+ data: Decodable,
2180
+ strict: bool = True,
2181
+ ) -> Tuple[Any, HexAddress, int]:
2182
+ ...
2183
+
2184
+ @overload
2185
+ def decode(
2186
+ self,
2187
+ types: Tuple[TypeStr, AddressTypeStr, BoolTypeStr],
2188
+ data: Decodable,
2189
+ strict: bool = True,
2190
+ ) -> Tuple[Any, HexAddress, bool]:
2191
+ ...
2192
+
2193
+ @overload
2194
+ def decode(
2195
+ self,
2196
+ types: Tuple[TypeStr, AddressTypeStr, TypeStr],
2197
+ data: Decodable,
2198
+ strict: bool = True,
2199
+ ) -> Tuple[Any, HexAddress, Any]:
2200
+ ...
2201
+
2202
+ @overload
2203
+ def decode(
2204
+ self,
2205
+ types: Tuple[TypeStr, BytesTypeStr, AddressTypeStr],
2206
+ data: Decodable,
2207
+ strict: bool = True,
2208
+ ) -> Tuple[Any, bytes, HexAddress]:
2209
+ ...
2210
+
2211
+ @overload
2212
+ def decode(
2213
+ self,
2214
+ types: Tuple[TypeStr, BytesTypeStr, BytesTypeStr],
2215
+ data: Decodable,
2216
+ strict: bool = True,
2217
+ ) -> Tuple[Any, bytes, bytes]:
2218
+ ...
2219
+
2220
+ @overload
2221
+ def decode(
2222
+ self,
2223
+ types: Tuple[TypeStr, BytesTypeStr, StringTypeStr],
2224
+ data: Decodable,
2225
+ strict: bool = True,
2226
+ ) -> Tuple[Any, bytes, str]:
2227
+ ...
2228
+
2229
+ @overload
2230
+ def decode(
2231
+ self,
2232
+ types: Tuple[TypeStr, BytesTypeStr, DecodesToIntTypeStr],
2233
+ data: Decodable,
2234
+ strict: bool = True,
2235
+ ) -> Tuple[Any, bytes, int]:
2236
+ ...
2237
+
2238
+ @overload
2239
+ def decode(
2240
+ self,
2241
+ types: Tuple[TypeStr, BytesTypeStr, BoolTypeStr],
2242
+ data: Decodable,
2243
+ strict: bool = True,
2244
+ ) -> Tuple[Any, bytes, bool]:
2245
+ ...
2246
+
2247
+ @overload
2248
+ def decode(
2249
+ self,
2250
+ types: Tuple[TypeStr, BytesTypeStr, TypeStr],
2251
+ data: Decodable,
2252
+ strict: bool = True,
2253
+ ) -> Tuple[Any, bytes, Any]:
2254
+ ...
2255
+
2256
+ @overload
2257
+ def decode(
2258
+ self,
2259
+ types: Tuple[TypeStr, StringTypeStr, AddressTypeStr],
2260
+ data: Decodable,
2261
+ strict: bool = True,
2262
+ ) -> Tuple[Any, str, HexAddress]:
2263
+ ...
2264
+
2265
+ @overload
2266
+ def decode(
2267
+ self,
2268
+ types: Tuple[TypeStr, StringTypeStr, BytesTypeStr],
2269
+ data: Decodable,
2270
+ strict: bool = True,
2271
+ ) -> Tuple[Any, str, bytes]:
2272
+ ...
2273
+
2274
+ @overload
2275
+ def decode(
2276
+ self,
2277
+ types: Tuple[TypeStr, StringTypeStr, StringTypeStr],
2278
+ data: Decodable,
2279
+ strict: bool = True,
2280
+ ) -> Tuple[Any, str, str]:
2281
+ ...
2282
+
2283
+ @overload
2284
+ def decode(
2285
+ self,
2286
+ types: Tuple[TypeStr, StringTypeStr, DecodesToIntTypeStr],
2287
+ data: Decodable,
2288
+ strict: bool = True,
2289
+ ) -> Tuple[Any, str, int]:
2290
+ ...
2291
+
2292
+ @overload
2293
+ def decode(
2294
+ self,
2295
+ types: Tuple[TypeStr, StringTypeStr, BoolTypeStr],
2296
+ data: Decodable,
2297
+ strict: bool = True,
2298
+ ) -> Tuple[Any, str, bool]:
2299
+ ...
2300
+
2301
+ @overload
2302
+ def decode(
2303
+ self,
2304
+ types: Tuple[TypeStr, StringTypeStr, TypeStr],
2305
+ data: Decodable,
2306
+ strict: bool = True,
2307
+ ) -> Tuple[Any, str, Any]:
2308
+ ...
2309
+
2310
+ @overload
2311
+ def decode(
2312
+ self,
2313
+ types: Tuple[TypeStr, DecodesToIntTypeStr, AddressTypeStr],
2314
+ data: Decodable,
2315
+ strict: bool = True,
2316
+ ) -> Tuple[Any, int, HexAddress]:
2317
+ ...
2318
+
2319
+ @overload
2320
+ def decode(
2321
+ self,
2322
+ types: Tuple[TypeStr, DecodesToIntTypeStr, BytesTypeStr],
2323
+ data: Decodable,
2324
+ strict: bool = True,
2325
+ ) -> Tuple[Any, int, bytes]:
2326
+ ...
2327
+
2328
+ @overload
2329
+ def decode(
2330
+ self,
2331
+ types: Tuple[TypeStr, DecodesToIntTypeStr, StringTypeStr],
2332
+ data: Decodable,
2333
+ strict: bool = True,
2334
+ ) -> Tuple[Any, int, str]:
2335
+ ...
2336
+
2337
+ @overload
2338
+ def decode(
2339
+ self,
2340
+ types: Tuple[TypeStr, DecodesToIntTypeStr, DecodesToIntTypeStr],
2341
+ data: Decodable,
2342
+ strict: bool = True,
2343
+ ) -> Tuple[Any, int, int]:
2344
+ ...
2345
+
2346
+ @overload
2347
+ def decode(
2348
+ self,
2349
+ types: Tuple[TypeStr, DecodesToIntTypeStr, BoolTypeStr],
2350
+ data: Decodable,
2351
+ strict: bool = True,
2352
+ ) -> Tuple[Any, int, bool]:
2353
+ ...
2354
+
2355
+ @overload
2356
+ def decode(
2357
+ self,
2358
+ types: Tuple[TypeStr, DecodesToIntTypeStr, TypeStr],
2359
+ data: Decodable,
2360
+ strict: bool = True,
2361
+ ) -> Tuple[Any, int, Any]:
2362
+ ...
2363
+
2364
+ @overload
2365
+ def decode(
2366
+ self,
2367
+ types: Tuple[TypeStr, BoolTypeStr, AddressTypeStr],
2368
+ data: Decodable,
2369
+ strict: bool = True,
2370
+ ) -> Tuple[Any, bool, HexAddress]:
2371
+ ...
2372
+
2373
+ @overload
2374
+ def decode(
2375
+ self,
2376
+ types: Tuple[TypeStr, BoolTypeStr, BytesTypeStr],
2377
+ data: Decodable,
2378
+ strict: bool = True,
2379
+ ) -> Tuple[Any, bool, bytes]:
2380
+ ...
2381
+
2382
+ @overload
2383
+ def decode(
2384
+ self,
2385
+ types: Tuple[TypeStr, BoolTypeStr, StringTypeStr],
2386
+ data: Decodable,
2387
+ strict: bool = True,
2388
+ ) -> Tuple[Any, bool, str]:
2389
+ ...
2390
+
2391
+ @overload
2392
+ def decode(
2393
+ self,
2394
+ types: Tuple[TypeStr, BoolTypeStr, DecodesToIntTypeStr],
2395
+ data: Decodable,
2396
+ strict: bool = True,
2397
+ ) -> Tuple[Any, bool, int]:
2398
+ ...
2399
+
2400
+ @overload
2401
+ def decode(
2402
+ self,
2403
+ types: Tuple[TypeStr, BoolTypeStr, BoolTypeStr],
2404
+ data: Decodable,
2405
+ strict: bool = True,
2406
+ ) -> Tuple[Any, bool, bool]:
2407
+ ...
2408
+
2409
+ @overload
2410
+ def decode(
2411
+ self,
2412
+ types: Tuple[TypeStr, BoolTypeStr, TypeStr],
2413
+ data: Decodable,
2414
+ strict: bool = True,
2415
+ ) -> Tuple[Any, bool, Any]:
2416
+ ...
2417
+
2418
+ @overload
2419
+ def decode(
2420
+ self,
2421
+ types: Tuple[TypeStr, TypeStr, AddressTypeStr],
2422
+ data: Decodable,
2423
+ strict: bool = True,
2424
+ ) -> Tuple[Any, Any, HexAddress]:
2425
+ ...
2426
+
2427
+ @overload
2428
+ def decode(
2429
+ self,
2430
+ types: Tuple[TypeStr, TypeStr, BytesTypeStr],
2431
+ data: Decodable,
2432
+ strict: bool = True,
2433
+ ) -> Tuple[Any, Any, bytes]:
2434
+ ...
2435
+
2436
+ @overload
2437
+ def decode(
2438
+ self,
2439
+ types: Tuple[TypeStr, TypeStr, StringTypeStr],
2440
+ data: Decodable,
2441
+ strict: bool = True,
2442
+ ) -> Tuple[Any, Any, str]:
2443
+ ...
2444
+
2445
+ @overload
2446
+ def decode(
2447
+ self,
2448
+ types: Tuple[TypeStr, TypeStr, DecodesToIntTypeStr],
2449
+ data: Decodable,
2450
+ strict: bool = True,
2451
+ ) -> Tuple[Any, Any, int]:
2452
+ ...
2453
+
2454
+ @overload
2455
+ def decode(
2456
+ self,
2457
+ types: Tuple[TypeStr, TypeStr, BoolTypeStr],
2458
+ data: Decodable,
2459
+ strict: bool = True,
2460
+ ) -> Tuple[Any, Any, bool]:
2461
+ ...
2462
+
2463
+ @overload
2464
+ def decode(
2465
+ self,
2466
+ types: Tuple[TypeStr, TypeStr, TypeStr],
2467
+ data: Decodable,
2468
+ strict: bool = True,
2469
+ ) -> Tuple[Any, Any, Any]:
2470
+ ...
2471
+
2472
+ # non-tuple types input
2473
+
2474
+ @overload
2475
+ def decode(
2476
+ self,
2477
+ types: Iterable[AddressTypeStr],
2478
+ data: Decodable,
2479
+ strict: bool = True,
2480
+ ) -> Tuple[HexAddress, ...]:
2481
+ ...
2482
+
2483
+ @overload
2484
+ def decode(
2485
+ self,
2486
+ types: Iterable[BytesTypeStr],
2487
+ data: Decodable,
2488
+ strict: bool = True,
2489
+ ) -> Tuple[bytes, ...]:
2490
+ ...
2491
+
2492
+ @overload
2493
+ def decode(
2494
+ self,
2495
+ types: Iterable[StringTypeStr],
2496
+ data: Decodable,
2497
+ strict: bool = True,
2498
+ ) -> Tuple[str, ...]:
2499
+ ...
2500
+
2501
+ @overload
2502
+ def decode(
2503
+ self,
2504
+ types: Iterable[DecodesToIntTypeStr],
2505
+ data: Decodable,
2506
+ strict: bool = True,
2507
+ ) -> Tuple[int, ...]:
2508
+ ...
2509
+
2510
+ @overload
2511
+ def decode(
2512
+ self,
2513
+ types: Iterable[BoolTypeStr],
2514
+ data: Decodable,
2515
+ strict: bool = True,
2516
+ ) -> Tuple[bool, ...]:
2517
+ ...
2518
+
2519
+ # fallback to union types, still better than Any
2520
+
2521
+ @overload
2522
+ def decode(
2523
+ self,
2524
+ types: Iterable[Union[AddressTypeStr, BytesTypeStr]],
2525
+ data: Decodable,
2526
+ strict: bool = True,
2527
+ ) -> Tuple[Union[HexAddress, bytes], ...]:
2528
+ ...
2529
+
2530
+ @overload
2531
+ def decode(
2532
+ self,
2533
+ types: Iterable[Union[AddressTypeStr, StringTypeStr]],
2534
+ data: Decodable,
2535
+ strict: bool = True,
2536
+ ) -> Tuple[Union[HexAddress, str], ...]:
2537
+ ...
2538
+
2539
+ @overload
2540
+ def decode(
2541
+ self,
2542
+ types: Iterable[Union[AddressTypeStr, DecodesToIntTypeStr]],
2543
+ data: Decodable,
2544
+ strict: bool = True,
2545
+ ) -> Tuple[Union[HexAddress, int], ...]:
2546
+ ...
2547
+
2548
+ @overload
2549
+ def decode(
2550
+ self,
2551
+ types: Iterable[Union[AddressTypeStr, BoolTypeStr]],
2552
+ data: Decodable,
2553
+ strict: bool = True,
2554
+ ) -> Tuple[Union[HexAddress, bool], ...]:
2555
+ ...
2556
+
2557
+ @overload
2558
+ def decode(
2559
+ self,
2560
+ types: Iterable[Union[BytesTypeStr, StringTypeStr]],
2561
+ data: Decodable,
2562
+ strict: bool = True,
2563
+ ) -> Tuple[Union[bytes, str], ...]:
2564
+ ...
2565
+
2566
+ @overload
2567
+ def decode(
2568
+ self,
2569
+ types: Iterable[Union[BytesTypeStr, DecodesToIntTypeStr]],
2570
+ data: Decodable,
2571
+ strict: bool = True,
2572
+ ) -> Tuple[Union[bytes, int], ...]:
2573
+ ...
2574
+
2575
+ @overload
2576
+ def decode(
2577
+ self,
2578
+ types: Iterable[Union[BytesTypeStr, BoolTypeStr]],
2579
+ data: Decodable,
2580
+ strict: bool = True,
2581
+ ) -> Tuple[Union[bytes, bool], ...]:
2582
+ ...
2583
+
2584
+ @overload
2585
+ def decode(
2586
+ self,
2587
+ types: Iterable[Union[StringTypeStr, DecodesToIntTypeStr]],
2588
+ data: Decodable,
2589
+ strict: bool = True,
2590
+ ) -> Tuple[Union[str, int], ...]:
2591
+ ...
2592
+
2593
+ @overload
2594
+ def decode(
2595
+ self,
2596
+ types: Iterable[Union[StringTypeStr, BoolTypeStr]],
2597
+ data: Decodable,
2598
+ strict: bool = True,
2599
+ ) -> Tuple[Union[str, bool], ...]:
2600
+ ...
2601
+
2602
+ @overload
2603
+ def decode(
2604
+ self,
2605
+ types: Iterable[Union[DecodesToIntTypeStr, BoolTypeStr]],
2606
+ data: Decodable,
2607
+ strict: bool = True,
2608
+ ) -> Tuple[Union[int, bool], ...]:
2609
+ ...
2610
+
2611
+ @overload
2612
+ def decode(
2613
+ self,
2614
+ types: Iterable[Union[AddressTypeStr, BytesTypeStr, StringTypeStr]],
2615
+ data: Decodable,
2616
+ strict: bool = True,
2617
+ ) -> Tuple[Union[HexAddress, bytes, str], ...]:
2618
+ ...
2619
+
2620
+ @overload
2621
+ def decode(
2622
+ self,
2623
+ types: Iterable[Union[AddressTypeStr, BytesTypeStr, DecodesToIntTypeStr]],
2624
+ data: Decodable,
2625
+ strict: bool = True,
2626
+ ) -> Tuple[Union[HexAddress, bytes, int], ...]:
2627
+ ...
2628
+
2629
+ @overload
2630
+ def decode(
2631
+ self,
2632
+ types: Iterable[Union[AddressTypeStr, BytesTypeStr, BoolTypeStr]],
2633
+ data: Decodable,
2634
+ strict: bool = True,
2635
+ ) -> Tuple[Union[HexAddress, bytes, bool], ...]:
2636
+ ...
2637
+
2638
+ @overload
2639
+ def decode(
2640
+ self,
2641
+ types: Iterable[Union[AddressTypeStr, StringTypeStr, DecodesToIntTypeStr]],
2642
+ data: Decodable,
2643
+ strict: bool = True,
2644
+ ) -> Tuple[Union[HexAddress, str, int], ...]:
2645
+ ...
2646
+
2647
+ @overload
2648
+ def decode(
2649
+ self,
2650
+ types: Iterable[Union[AddressTypeStr, StringTypeStr, BoolTypeStr]],
2651
+ data: Decodable,
2652
+ strict: bool = True,
2653
+ ) -> Tuple[Union[HexAddress, str, bool], ...]:
2654
+ ...
2655
+
2656
+ @overload
2657
+ def decode(
2658
+ self,
2659
+ types: Iterable[Union[AddressTypeStr, DecodesToIntTypeStr, BoolTypeStr]],
2660
+ data: Decodable,
2661
+ strict: bool = True,
2662
+ ) -> Tuple[Union[HexAddress, int, bool], ...]:
2663
+ ...
2664
+
2665
+ @overload
2666
+ def decode(
2667
+ self,
2668
+ types: Iterable[Union[BytesTypeStr, StringTypeStr, DecodesToIntTypeStr]],
2669
+ data: Decodable,
2670
+ strict: bool = True,
2671
+ ) -> Tuple[Union[bytes, str, int], ...]:
2672
+ ...
2673
+
2674
+ @overload
2675
+ def decode(
2676
+ self,
2677
+ types: Iterable[Union[BytesTypeStr, StringTypeStr, BoolTypeStr]],
2678
+ data: Decodable,
2679
+ strict: bool = True,
2680
+ ) -> Tuple[Union[bytes, str, bool], ...]:
2681
+ ...
2682
+
2683
+ @overload
2684
+ def decode(
2685
+ self,
2686
+ types: Iterable[Union[BytesTypeStr, DecodesToIntTypeStr, BoolTypeStr]],
2687
+ data: Decodable,
2688
+ strict: bool = True,
2689
+ ) -> Tuple[Union[bytes, int, bool], ...]:
2690
+ ...
2691
+
2692
+ @overload
2693
+ def decode(
2694
+ self,
2695
+ types: Iterable[Union[StringTypeStr, DecodesToIntTypeStr, BoolTypeStr]],
2696
+ data: Decodable,
2697
+ strict: bool = True,
2698
+ ) -> Tuple[Union[str, int, bool], ...]:
2699
+ ...
2700
+
2701
+ @overload
2702
+ def decode(
2703
+ self,
2704
+ types: Iterable[
2705
+ Union[AddressTypeStr, BytesTypeStr, StringTypeStr, DecodesToIntTypeStr]
2706
+ ],
2707
+ data: Decodable,
2708
+ strict: bool = True,
2709
+ ) -> Tuple[Union[HexAddress, bytes, str, int], ...]:
2710
+ ...
2711
+
2712
+ @overload
2713
+ def decode(
2714
+ self,
2715
+ types: Iterable[
2716
+ Union[AddressTypeStr, BytesTypeStr, StringTypeStr, BoolTypeStr]
2717
+ ],
2718
+ data: Decodable,
2719
+ strict: bool = True,
2720
+ ) -> Tuple[Union[HexAddress, bytes, str, bool], ...]:
2721
+ ...
2722
+
2723
+ @overload
2724
+ def decode(
2725
+ self,
2726
+ types: Iterable[
2727
+ Union[AddressTypeStr, BytesTypeStr, DecodesToIntTypeStr, BoolTypeStr]
2728
+ ],
2729
+ data: Decodable,
2730
+ strict: bool = True,
2731
+ ) -> Tuple[Union[HexAddress, bytes, int, bool], ...]:
2732
+ ...
2733
+
2734
+ @overload
2735
+ def decode(
2736
+ self,
2737
+ types: Iterable[
2738
+ Union[AddressTypeStr, StringTypeStr, DecodesToIntTypeStr, BoolTypeStr]
2739
+ ],
2740
+ data: Decodable,
2741
+ strict: bool = True,
2742
+ ) -> Tuple[Union[AddressTypeStr, str, int, bool], ...]:
2743
+ ...
2744
+
2745
+ @overload
2746
+ def decode(
2747
+ self,
2748
+ types: Iterable[
2749
+ Union[BytesTypeStr, StringTypeStr, DecodesToIntTypeStr, BoolTypeStr]
2750
+ ],
2751
+ data: Decodable,
2752
+ strict: bool = True,
2753
+ ) -> Tuple[Union[bytes, str, int, bool], ...]:
2754
+ ...
2755
+
2756
+ @overload
2757
+ def decode(
2758
+ self,
2759
+ types: Iterable[
2760
+ Union[
2761
+ AddressTypeStr,
2762
+ BytesTypeStr,
2763
+ StringTypeStr,
2764
+ DecodesToIntTypeStr,
2765
+ BoolTypeStr,
2766
+ ]
2767
+ ],
2768
+ data: Decodable,
2769
+ strict: bool = True,
2770
+ ) -> Tuple[Union[HexAddress, bytes, str, int, bool], ...]:
2771
+ ...
2772
+
2773
+ @overload
2774
+ def decode(
2775
+ self,
2776
+ types: Iterable[TypeStr],
2777
+ data: Decodable,
2778
+ strict: bool = True,
2779
+ ) -> Tuple[Any, ...]:
2780
+ ...
2781
+
116
2782
  def decode(
117
2783
  self,
118
2784
  types: Iterable[TypeStr],