Simplify logic for liquidator payback
This commit is contained in:
parent
b215a1d9b2
commit
5b8072b271
@ -22,7 +22,7 @@ AAVE_CONTRACT_ADDRESSES: List[str] = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def find_transfer_to_liquidator(
|
def find_liquidator_payback(
|
||||||
trace: ClassifiedTrace, liquidator: str
|
trace: ClassifiedTrace, liquidator: str
|
||||||
) -> Optional[ClassifiedTrace]:
|
) -> Optional[ClassifiedTrace]:
|
||||||
"""Check if transfer is to liquidator"""
|
"""Check if transfer is to liquidator"""
|
||||||
@ -53,7 +53,6 @@ def get_liquidations(
|
|||||||
|
|
||||||
"""Inspect list of classified traces and identify liquidation"""
|
"""Inspect list of classified traces and identify liquidation"""
|
||||||
liquidations: List[Liquidation] = []
|
liquidations: List[Liquidation] = []
|
||||||
transfers_to: Dict = {}
|
|
||||||
|
|
||||||
for trace in traces:
|
for trace in traces:
|
||||||
|
|
||||||
@ -72,19 +71,19 @@ def get_liquidations(
|
|||||||
if child.classification == Classification.liquidate:
|
if child.classification == Classification.liquidate:
|
||||||
traces.remove(child)
|
traces.remove(child)
|
||||||
|
|
||||||
to_result = find_transfer_to_liquidator(child, liquidator)
|
liquidator_payback = find_liquidator_payback(child, liquidator)
|
||||||
if to_result and not (
|
|
||||||
to_result.transaction_hash in transfers_to.keys()
|
|
||||||
):
|
|
||||||
transfers_to[str(trace.to_address)] = to_result
|
|
||||||
|
|
||||||
if "amount" in transfers_to[str(trace.to_address)].inputs:
|
if liquidator_payback:
|
||||||
received_amount = int(
|
assert isinstance(liquidator_payback.inputs, Dict)
|
||||||
transfers_to[str(trace.to_address)].inputs["amount"]
|
|
||||||
)
|
|
||||||
|
|
||||||
elif "wad" in transfers_to[str(trace.to_address)].inputs:
|
if "amount" in liquidator_payback.inputs:
|
||||||
received_amount = int(transfers_to[str(trace.to_address)].inputs["wad"])
|
received_amount = int(liquidator_payback.inputs["amount"])
|
||||||
|
|
||||||
|
elif "wad" in liquidator_payback.inputs:
|
||||||
|
received_amount = int(liquidator_payback.inputs["wad"])
|
||||||
|
|
||||||
|
else:
|
||||||
|
received_amount = 0
|
||||||
|
|
||||||
liquidations.append(
|
liquidations.append(
|
||||||
Liquidation(
|
Liquidation(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user