Allow sandwiches with large differences. Explicitly filter uniswap routers
This commit is contained in:
parent
7bdc8b68ef
commit
177d8599c1
@ -2,9 +2,9 @@ from typing import List, Optional
|
|||||||
|
|
||||||
from mev_inspect.schemas.sandwiches import Sandwich
|
from mev_inspect.schemas.sandwiches import Sandwich
|
||||||
from mev_inspect.schemas.swaps import Swap
|
from mev_inspect.schemas.swaps import Swap
|
||||||
from mev_inspect.utils import equal_within_percent
|
|
||||||
|
|
||||||
SANDWICH_IN_OUT_MAX_PERCENT_DIFFERENCE = 0.01
|
UNISWAP_V2_ROUTER = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"
|
||||||
|
UNISWAP_V3_ROUTER = "0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45"
|
||||||
|
|
||||||
|
|
||||||
def get_sandwiches(swaps: List[Swap]) -> List[Sandwich]:
|
def get_sandwiches(swaps: List[Swap]) -> List[Sandwich]:
|
||||||
@ -34,6 +34,9 @@ def _get_sandwich_starting_with_swap(
|
|||||||
sandwicher_address = front_swap.to_address
|
sandwicher_address = front_swap.to_address
|
||||||
sandwiched_swaps = []
|
sandwiched_swaps = []
|
||||||
|
|
||||||
|
if sandwicher_address in [UNISWAP_V2_ROUTER, UNISWAP_V3_ROUTER]:
|
||||||
|
return None
|
||||||
|
|
||||||
for other_swap in rest_swaps:
|
for other_swap in rest_swaps:
|
||||||
if other_swap.transaction_hash == front_swap.transaction_hash:
|
if other_swap.transaction_hash == front_swap.transaction_hash:
|
||||||
continue
|
continue
|
||||||
@ -48,11 +51,6 @@ def _get_sandwich_starting_with_swap(
|
|||||||
elif (
|
elif (
|
||||||
other_swap.token_out_address == front_swap.token_in_address
|
other_swap.token_out_address == front_swap.token_in_address
|
||||||
and other_swap.token_in_address == front_swap.token_out_address
|
and other_swap.token_in_address == front_swap.token_out_address
|
||||||
and equal_within_percent(
|
|
||||||
other_swap.token_in_amount,
|
|
||||||
front_swap.token_out_amount,
|
|
||||||
SANDWICH_IN_OUT_MAX_PERCENT_DIFFERENCE,
|
|
||||||
)
|
|
||||||
and other_swap.from_address == sandwicher_address
|
and other_swap.from_address == sandwicher_address
|
||||||
):
|
):
|
||||||
if len(sandwiched_swaps) > 0:
|
if len(sandwiched_swaps) > 0:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user