File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -589,6 +589,23 @@ def _dfs(obj):
589
589
raise DeserializeException (
590
590
f"Unexpected data structure: { f } ."
591
591
)
592
+ elif (
593
+ hasattr (f_info .type , "__origin__" )
594
+ and f_info .type .__origin__ is list
595
+ ):
596
+ t_args = f_info .type .__args__
597
+ if len (t_args ) != 1 :
598
+ raise DeserializeException (f"List types need exactly one type argument, but got { t_args } " )
599
+ if not "list" in f :
600
+ raise DeserializeException (f"Expected type \" list\" for constructor List but got { f } " )
601
+ t = t_args [0 ]
602
+ if (
603
+ inspect .isclass (t )
604
+ and issubclass (t , PlutusData )
605
+ ):
606
+ converted_fields .append (t .from_dict (f ))
607
+ else :
608
+ converted_fields .append (_dfs (f ))
592
609
else :
593
610
converted_fields .append (_dfs (f ))
594
611
return cls (* converted_fields )
You can’t perform that action at this time.
0 commit comments