diff --git a/mev_inspect/classifiers/helpers.py b/mev_inspect/classifiers/helpers.py index ced108f..94abbdb 100644 --- a/mev_inspect/classifiers/helpers.py +++ b/mev_inspect/classifiers/helpers.py @@ -178,3 +178,27 @@ def _filter_transfers( filtered_transfers.append(transfer) return filtered_transfers + + +def _get_received_transfer( + liquidator: str, child_transfers: List[Transfer] +) -> Optional[Transfer]: + """Get transfer from AAVE to liquidator""" + + for transfer in child_transfers: + if transfer.to_address == liquidator: + return transfer + + return None + + +def _get_debt_transfer( + liquidator: str, child_transfers: List[Transfer] +) -> Optional[Transfer]: + """Get transfer from liquidator to AAVE""" + + for transfer in child_transfers: + if transfer.from_address == liquidator: + return transfer + + return None diff --git a/mev_inspect/classifiers/specs/aave.py b/mev_inspect/classifiers/specs/aave.py index e82388d..af6c7ff 100644 --- a/mev_inspect/classifiers/specs/aave.py +++ b/mev_inspect/classifiers/specs/aave.py @@ -1,5 +1,6 @@ from typing import List, Optional +from mev_inspect.classifiers.helpers import _get_debt_transfer, _get_received_transfer from mev_inspect.schemas.classifiers import ( ClassifiedTrace, ClassifierSpec, @@ -90,27 +91,3 @@ ATOKENS_SPEC = ClassifierSpec( ) AAVE_CLASSIFIER_SPECS: List[ClassifierSpec] = [AAVE_SPEC, ATOKENS_SPEC] - - -def _get_received_transfer( - liquidator: str, child_transfers: List[Transfer] -) -> Optional[Transfer]: - """Get transfer from AAVE to liquidator""" - - for transfer in child_transfers: - if transfer.to_address == liquidator: - return transfer - - return None - - -def _get_debt_transfer( - liquidator: str, child_transfers: List[Transfer] -) -> Optional[Transfer]: - """Get transfer from liquidator to AAVE""" - - for transfer in child_transfers: - if transfer.from_address == liquidator: - return transfer - - return None diff --git a/mev_inspect/classifiers/specs/compound.py b/mev_inspect/classifiers/specs/compound.py index 05c4d73..b9c23c6 100644 --- a/mev_inspect/classifiers/specs/compound.py +++ b/mev_inspect/classifiers/specs/compound.py @@ -1,5 +1,6 @@ from typing import List, Optional +from mev_inspect.classifiers.helpers import _get_debt_transfer, _get_received_transfer from mev_inspect.schemas.classifiers import ( Classification, ClassifiedTrace, @@ -238,23 +239,3 @@ def _get_seize_call(traces: List[ClassifiedTrace]) -> Optional[ClassifiedTrace]: if trace.classification == Classification.seize: return trace return None - - -def _get_received_transfer( - liquidator: str, child_transfers: List[Transfer] -) -> Optional[Transfer]: - """Get transfer from compound to liquidator""" - for transfer in child_transfers: - if transfer.to_address == liquidator: - return transfer - return None - - -def _get_debt_transfer( - liquidator: str, child_transfers: List[Transfer] -) -> Optional[Transfer]: - """Get transfer from liquidator to compound""" - for transfer in child_transfers: - if transfer.from_address == liquidator: - return transfer - return None