3
@†6^†  ã               @   s0   d dl Z d dlmZmZmZ G dd„ deƒZdS )é    N)Ú
SpiderFootÚSpiderFootPluginÚSpiderFootEventc               @   s>   e Zd ZdZi ZdZeƒ fdd„Zdd„ Zdd„ Z	d	d
„ Z
dS )Úsfp_ethereumzpEthereum Finder:Footprint,Investigate,Passive:Content Analysis::Identify ethereum addresses in scraped webpages.Nc             C   s8   || _ | jƒ | _x"t|jƒ ƒD ]}|| | j|< qW d S )N)ÚsfÚtempStorageÚresultsÚlistÚkeysÚopts)ÚselfÚsfcÚuserOptsÚopt© r   ú7/var/www/spiderfoot.crq.systems/modules/sfp_ethereum.pyÚsetup   s    
zsfp_ethereum.setupc             C   s   dgS )NÚTARGET_WEB_CONTENTr   )r   r   r   r   ÚwatchedEvents"   s    zsfp_ethereum.watchedEventsc             C   s   dgS )NÚETHEREUM_ADDRESSr   )r   r   r   r   ÚproducedEvents(   s    zsfp_ethereum.producedEventsc       	      C   s–   |j }|j}|j}| jj|ƒ}|| jkr,d S d| j|< | jjd| d | ƒ tjd|ƒ}x6|D ].}| jjd| ƒ t	d|| j
|ƒ}| j|ƒ q`W d S )NTzReceived event, z, from z[\s:=\>](0x[a-fA-F0-9]{40})zEthereum address match: r   )Ú	eventTypeÚmoduleÚdatar   Ú
hashstringr   ÚdebugÚreÚfindallr   Ú__name__ÚnotifyListeners)	r   ÚeventÚ	eventNameÚsrcModuleNameÚ	eventDataÚ
sourceDataÚmatchesÚmÚevtr   r   r   ÚhandleEvent,   s    


zsfp_ethereum.handleEvent)r   Ú
__module__Ú__qualname__Ú__doc__r   r   Údictr   r   r   r(   r   r   r   r   r      s   r   )r   Úsflibr   r   r   r   r   r   r   r   Ú<module>   s   