kopia lustrzana https://github.com/bugout-dev/moonworm
				
				
				
			added logger
							rodzic
							
								
									15f60a33ca
								
							
						
					
					
						commit
						9ba980cb80
					
				| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					import logging
 | 
				
			||||||
import pprint as pp
 | 
					import pprint as pp
 | 
				
			||||||
import time
 | 
					import time
 | 
				
			||||||
from os import stat
 | 
					from os import stat
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,9 @@ from .crawler.function_call_crawler import (
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from .crawler.log_scanner import _fetch_events_chunk
 | 
					from .crawler.log_scanner import _fetch_events_chunk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					logging.basicConfig(level=logging.INFO)
 | 
				
			||||||
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def _get_last_crawled_block(
 | 
					def _get_last_crawled_block(
 | 
				
			||||||
    session: Session, contract_address: ChecksumAddress
 | 
					    session: Session, contract_address: ChecksumAddress
 | 
				
			||||||
| 
						 | 
					@ -60,14 +64,13 @@ def _add_function_call_labels(
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        .all()
 | 
					        .all()
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    print(f"{len(existing_function_call_labels)} existing labels")
 | 
					 | 
				
			||||||
    # deletin existing labels
 | 
					    # deletin existing labels
 | 
				
			||||||
    for label in existing_function_call_labels:
 | 
					    for label in existing_function_call_labels:
 | 
				
			||||||
        session.delete(label)
 | 
					        session.delete(label)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        if existing_function_call_labels:
 | 
					        if existing_function_call_labels:
 | 
				
			||||||
            print(
 | 
					            logger.info(
 | 
				
			||||||
                f"Deleting {len(existing_function_call_labels)} existing event labels"
 | 
					                f"Deleting {len(existing_function_call_labels)} existing event labels"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
| 
						 | 
					@ -75,7 +78,7 @@ def _add_function_call_labels(
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
        except:
 | 
					        except:
 | 
				
			||||||
            print(f"Failed!!!\n{e}")
 | 
					            logger.error(f"Failed!!!\n{e}")
 | 
				
			||||||
            session.rollback()
 | 
					            session.rollback()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for function_call in function_calls:
 | 
					    for function_call in function_calls:
 | 
				
			||||||
| 
						 | 
					@ -96,13 +99,12 @@ def _add_function_call_labels(
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        session.add(label)
 | 
					        session.add(label)
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        print("Committing tx_call labels to database...")
 | 
					 | 
				
			||||||
        session.commit()
 | 
					        session.commit()
 | 
				
			||||||
    except Exception as e:
 | 
					    except Exception as e:
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
        except:
 | 
					        except:
 | 
				
			||||||
            print(f"Failed!!!\n{e}")
 | 
					            logger.error(f"Failed!!!\n{e}")
 | 
				
			||||||
            session.rollback()
 | 
					            session.rollback()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -128,13 +130,13 @@ def _add_event_labels(session: Session, events: List[Dict[str, Any]]) -> None:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        if existing_event_labels:
 | 
					        if existing_event_labels:
 | 
				
			||||||
            print(f"Deleting {len(existing_event_labels)} existing event labels")
 | 
					            logger.error(f"Deleting {len(existing_event_labels)} existing event labels")
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
    except Exception as e:
 | 
					    except Exception as e:
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
        except:
 | 
					        except:
 | 
				
			||||||
            print(f"Failed!!!\n{e}")
 | 
					            logger.error(f"Failed!!!\n{e}")
 | 
				
			||||||
            session.rollback()
 | 
					            session.rollback()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for event in events:
 | 
					    for event in events:
 | 
				
			||||||
| 
						 | 
					@ -158,7 +160,7 @@ def _add_event_labels(session: Session, events: List[Dict[str, Any]]) -> None:
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            session.commit()
 | 
					            session.commit()
 | 
				
			||||||
        except:
 | 
					        except:
 | 
				
			||||||
            print(f"Failed!!!\n{e}")
 | 
					            logger.error(f"Failed!!!\n{e}")
 | 
				
			||||||
            session.rollback()
 | 
					            session.rollback()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,20 +211,20 @@ def watch_cu_contract(
 | 
				
			||||||
    if start_block is None:
 | 
					    if start_block is None:
 | 
				
			||||||
        if last_crawled_block is not None:
 | 
					        if last_crawled_block is not None:
 | 
				
			||||||
            current_block = last_crawled_block
 | 
					            current_block = last_crawled_block
 | 
				
			||||||
            print(f"Starting from block {current_block}, last crawled block")
 | 
					            logger.info(f"Starting from block {current_block}, last crawled block")
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            current_block = web3.eth.blockNumber - num_confirmations * 2
 | 
					            current_block = web3.eth.blockNumber - num_confirmations * 2
 | 
				
			||||||
            print(f"Starting from block {current_block}, current block")
 | 
					            logger.info(f"Starting from block {current_block}, current block")
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        current_block = start_block
 | 
					        current_block = start_block
 | 
				
			||||||
        if last_crawled_block is not None:
 | 
					        if last_crawled_block is not None:
 | 
				
			||||||
            if start_block > last_crawled_block:
 | 
					            if start_block > last_crawled_block:
 | 
				
			||||||
                print(
 | 
					                logger.info(
 | 
				
			||||||
                    f"Starting from block {start_block}, last crawled block {last_crawled_block}"
 | 
					                    f"Starting from block {start_block}, last crawled block {last_crawled_block}"
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                current_block = last_crawled_block
 | 
					                current_block = last_crawled_block
 | 
				
			||||||
                print(f"Starting from last crawled block {start_block}")
 | 
					                logger.info(f"Starting from last crawled block {start_block}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    event_abis = [item for item in contract_abi if item["type"] == "event"]
 | 
					    event_abis = [item for item in contract_abi if item["type"] == "event"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -240,7 +242,7 @@ def watch_cu_contract(
 | 
				
			||||||
        crawler.crawl(current_block, end_block)
 | 
					        crawler.crawl(current_block, end_block)
 | 
				
			||||||
        if state.state:
 | 
					        if state.state:
 | 
				
			||||||
            _add_function_call_labels(session, state.state)
 | 
					            _add_function_call_labels(session, state.state)
 | 
				
			||||||
            print(f"Got  {len(state.state)} transaction calls:")
 | 
					            logger.info(f"Got  {len(state.state)} transaction calls:")
 | 
				
			||||||
            state.flush()
 | 
					            state.flush()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for event_abi in event_abis:
 | 
					        for event_abi in event_abis:
 | 
				
			||||||
| 
						 | 
					@ -272,5 +274,6 @@ def watch_cu_contract(
 | 
				
			||||||
        progress_bar.set_description(
 | 
					        progress_bar.set_description(
 | 
				
			||||||
            f"Current block {end_block + 1}, Already watching for"
 | 
					            f"Current block {end_block + 1}, Already watching for"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					        logger.info(f"Current block {end_block + 1}")
 | 
				
			||||||
        progress_bar.update(end_block - current_block + 1)
 | 
					        progress_bar.update(end_block - current_block + 1)
 | 
				
			||||||
        current_block = end_block + 1
 | 
					        current_block = end_block + 1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue