@@ -197,6 +197,42 @@ def process(self, transaction, logs):
197197 method = "setName" ,
198198 )
199199 ]
200+ elif method == "setNameForAddr" :
201+ d_tnx = self .decode_transaction (transaction )
202+ ens_middle = AttrDict (dic )
203+ ens_middle .log_index = - 1
204+ name = None
205+ if d_tnx [1 ].get ("name" ):
206+ name = d_tnx [1 ]["name" ]
207+ if not name or len (name ) - 4 != name .find ("." ):
208+ return []
209+ address = None
210+ if d_tnx [1 ].get ("addr" ):
211+ address = d_tnx [1 ]["addr" ]
212+ if not address :
213+ return []
214+ ens_middle .reverse_name = name
215+ ens_middle .node = namehash (name )
216+ ens_middle .address = address .lower ()
217+ return [
218+ ENSMiddleD (
219+ transaction_hash = ens_middle .transaction_hash ,
220+ log_index = ens_middle .log_index ,
221+ transaction_index = ens_middle .transaction_index ,
222+ block_number = ens_middle .block_number ,
223+ block_hash = ens_middle .block_hash ,
224+ block_timestamp = ens_middle .block_timestamp ,
225+ from_address = ens_middle .from_address ,
226+ to_address = ens_middle .to_address ,
227+ reverse_name = ens_middle .reverse_name ,
228+ address = ens_middle .address ,
229+ node = ens_middle .node ,
230+ reverse_node = None ,
231+ reverse_base_node = REVERSE_BASE_NODE ,
232+ event_name = None ,
233+ method = "setNameForAddr" ,
234+ )
235+ ]
200236 res = []
201237 start = 0
202238 for idx , single_log in enumerate (logs ):
@@ -282,7 +318,7 @@ def resolve_middle(self, record):
282318 node = record .get ("node" )
283319 if not node :
284320 raise Exception ("pass" )
285- if event_name == "NameChanged" or record ["method" ] == "setName" :
321+ if event_name == "NameChanged" or record ["method" ] == "setName" or record [ "method" ] == "setNameForAddr" :
286322 return ENSAddressD (
287323 address = address ,
288324 reverse_node = record ["reverse_node" ],
0 commit comments