@@ -81,23 +81,23 @@ def get_merged_storage(self, storage_type: Type[StorageType]) -> StorageType:
8181 if self .storage is None :
8282 raise Exception ('`storage` field missing' )
8383
84- storage = self .storage
85- if self .bigmaps :
86- storage = deepcopy (self .storage )
87- _logger .debug ('Merging storage' )
88- _logger .debug ('Before: %s' , storage )
89- for key , field in storage_type .__fields__ .items ():
90- # NOTE: TzKT could return bigmaps as object or as array of key-value objects. We need to guess this from storage.
91- # TODO: This code should be a part of datasource module.
92- if field .type_ not in (int , bool ) and isinstance (storage [key ], int ):
93- if hasattr (field .type_ , '__fields__' ) and 'key' in field .type_ .__fields__ and 'value' in field .type_ .__fields__ :
94- storage [key ] = []
84+ storage = deepcopy (self .storage )
85+ _logger .debug ('Merging storage' )
86+ _logger .debug ('Before: %s' , storage )
87+ for key , field in storage_type .__fields__ .items ():
88+ # NOTE: TzKT could return bigmaps as object or as array of key-value objects. We need to guess this from storage.
89+ # TODO: This code should be a part of datasource module.
90+ if field .type_ not in (int , bool ) and isinstance (storage [key ], int ):
91+ if hasattr (field .type_ , '__fields__' ) and 'key' in field .type_ .__fields__ and 'value' in field .type_ .__fields__ :
92+ storage [key ] = []
93+ if self .bigmaps :
9594 self ._merge_bigmapdiffs (storage , key , array = True )
96- else :
97- storage [key ] = {}
95+ else :
96+ storage [key ] = {}
97+ if self .bigmaps :
9898 self ._merge_bigmapdiffs (storage , key , array = False )
9999
100- _logger .debug ('After: %s' , storage )
100+ _logger .debug ('After: %s' , storage )
101101
102102 return storage_type .parse_obj (storage )
103103
0 commit comments