modifying code to inspect_many_blocks to accept half open ranges
This commit is contained in:
parent
b45f729237
commit
825a10be51
@ -1,7 +1,7 @@
|
||||
import asyncio
|
||||
import logging
|
||||
import time
|
||||
from typing import List, Optional
|
||||
from typing import List, Optional, Tuple, Dict
|
||||
|
||||
from sqlalchemy import orm
|
||||
from web3 import Web3
|
||||
@ -99,10 +99,10 @@ async def get_classified_traces_from_events(w3: Web3, after_block: int, before_b
|
||||
base_provider = w3.provider
|
||||
start = after_block
|
||||
stride = 300
|
||||
reserves = dict()
|
||||
reserves: Dict[str, Tuple[str, str]] = dict()
|
||||
while start < before_block:
|
||||
begin = start
|
||||
end = start + stride if (start + stride) < before_block else before_block
|
||||
end = start + stride if (start + stride) < before_block else before_block-1
|
||||
start += stride
|
||||
print("fetching from node...", begin, end, flush=True)
|
||||
swaplogs = await _get_logs_for_topics(base_provider, begin, end, ["0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822"])
|
||||
|
@ -41,7 +41,7 @@ def write_arbitrages(
|
||||
end_amount=arbitrage.end_amount,
|
||||
profit_amount=arbitrage.profit_amount,
|
||||
error=arbitrage.error,
|
||||
protocols={swap.protocol.value for swap in arbitrage.swaps},
|
||||
protocols={swap.protocol.value for swap in arbitrage.swaps if swap.protocol is not None},
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import logging
|
||||
from typing import List, Optional
|
||||
from typing import List, Optional, Any, Dict
|
||||
|
||||
from sqlalchemy import orm
|
||||
from web3 import Web3
|
||||
@ -90,11 +90,13 @@ async def inspect_many_blocks(
|
||||
arbitrages_payload = []
|
||||
async for swaps in get_classified_traces_from_events(w3, after_block_number, before_block_number):
|
||||
arbitrages = get_arbitrages(swaps)
|
||||
|
||||
|
||||
count += len(arbitrages)
|
||||
logger.info(f"{count} Found {len(swaps)} swaps and {len(arbitrages)} arbitrages")
|
||||
if len(arbitrages) > 0:
|
||||
for arb in arbitrages:
|
||||
arb_payload = dict()
|
||||
arb_payload: Dict[str, Any] = dict()
|
||||
arb_payload['block_number'] = arb.block_number
|
||||
arb_payload['transaction'] = arb.transaction_hash
|
||||
arb_payload['account'] = arb.account_address
|
||||
|
Loading…
x
Reference in New Issue
Block a user