Function for child liquidation check
This commit is contained in:
parent
052e1f6c8d
commit
887d8c0a6a
@ -58,6 +58,18 @@ def get_received_amount(trace: DecodedCallTrace) -> int:
|
||||
return received_amount
|
||||
|
||||
|
||||
def is_child_of_liquidation(
|
||||
trace: ClassifiedTrace, parent_liquidations: List[List[int]]
|
||||
) -> bool:
|
||||
|
||||
return any(
|
||||
[
|
||||
is_child_trace_address(trace.trace_address, parent)
|
||||
for parent in parent_liquidations
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
def get_liquidations(
|
||||
traces: List[ClassifiedTrace],
|
||||
) -> List[Liquidation]:
|
||||
@ -71,12 +83,7 @@ def get_liquidations(
|
||||
if (
|
||||
trace.classification == Classification.liquidate
|
||||
and isinstance(trace, DecodedCallTrace)
|
||||
and not any(
|
||||
[
|
||||
is_child_trace_address(trace.trace_address, parent)
|
||||
for parent in parent_liquidations
|
||||
]
|
||||
)
|
||||
and not is_child_of_liquidation(trace, parent_liquidations)
|
||||
):
|
||||
|
||||
parent_liquidations.append(trace.trace_address)
|
||||
@ -93,6 +100,10 @@ def get_liquidations(
|
||||
assert isinstance(child, DecodedCallTrace)
|
||||
received_amount = get_received_amount(child)
|
||||
|
||||
else:
|
||||
|
||||
received_amount = 0
|
||||
|
||||
liquidations.append(
|
||||
Liquidation(
|
||||
liquidated_user=trace.inputs["_user"],
|
||||
|
Loading…
x
Reference in New Issue
Block a user