Removed type parameter, now infers through trace_block call

This commit is contained in:
ZigaMr 2022-05-23 01:33:55 +02:00
parent 19c80bd963
commit 4253928021
6 changed files with 18 additions and 14 deletions

View File

@ -18,7 +18,7 @@ case "$1" in
--quiet \
--pidfile $PIDFILE \
--make-pidfile \
--startas /bin/bash -- -c "poetry run python listener.py $2"
--startas /bin/bash -- -c "poetry run python listener.py"
echo "."
;;
stop)
@ -42,7 +42,7 @@ case "$1" in
--quiet \
--pidfile $PIDFILE \
--make-pidfile \
--startas /bin/bash -- -c "poetry run python listener.py $2"
--startas /bin/bash -- -c "poetry run python listener.py"
echo "."
;;

View File

@ -5,6 +5,8 @@ import sys
import dramatiq
from aiohttp_retry import ExponentialRetry, RetryClient
from web3 import Web3, HTTPProvider
import traceback
from mev_inspect.block import get_latest_block_number
from mev_inspect.concurrency import coro
@ -62,9 +64,16 @@ async def run():
priority=HIGH_PRIORITY,
)
type_e = convert_str_to_enum(sys.argv[1])
w3 = Web3(HTTPProvider(rpc))
res = w3.provider.make_request('trace_block', ['earliest'])
if 'error' in res and res['error']['message'] == 'the method trace_block does not exist/is not available':
type_e = RPCType.geth
else:
type_e = RPCType.parity
base_provider = get_base_provider(rpc, type=type_e)
# type_e = convert_str_to_enum(sys.argv[1])
inspector = MEVInspector(rpc, type_e)
base_provider = get_base_provider(rpc)
while not killer.kill_now:
await inspect_next_block(

2
mev
View File

@ -43,7 +43,7 @@ case "$1" in
redis
;;
listener)
kubectl exec -ti deploy/mev-inspect -- ./listener $2 $3
kubectl exec -ti deploy/mev-inspect -- ./listener $2
;;
block-list)
echo "Backfilling blocks from stdin"

View File

@ -10,6 +10,7 @@ from mev_inspect.schemas.blocks import Block
from mev_inspect.schemas.receipts import Receipt
from mev_inspect.schemas.traces import Trace, TraceType
from mev_inspect.utils import RPCType, hex_to_int
from mev_inspect.geth_poa_middleware import geth_poa_middleware
logger = logging.getLogger(__name__)
_calltype_mapping = {
@ -33,16 +34,15 @@ async def get_latest_block_number(base_provider) -> int:
async def create_from_block_number(
w3: Web3,
type: RPCType,
block_number: int,
trace_db_session: Optional[orm.Session],
) -> Block:
type = RPCType.geth if geth_poa_middleware in w3.provider.middlewares else RPCType.parity
if type == RPCType.geth:
block_json = await w3.eth.get_block(block_number)
else:
block_json = dict()
block_timestamp, receipts, traces, base_fee_per_gas = await asyncio.gather(
_find_or_fetch_block_timestamp(w3, block_number, trace_db_session),
_find_or_fetch_block_receipts(

View File

@ -61,7 +61,6 @@ logger = logging.getLogger(__name__)
async def inspect_block(
inspect_db_session: orm.Session,
w3: Web3,
type: RPCType,
trace_classifier: TraceClassifier,
block_number: int,
trace_db_session: Optional[orm.Session],
@ -71,7 +70,6 @@ async def inspect_block(
inspect_db_session,
w3,
trace_classifier,
type,
block_number,
block_number + 1,
trace_db_session,
@ -83,7 +81,6 @@ async def inspect_many_blocks(
inspect_db_session: orm.Session,
w3: Web3,
trace_classifier: TraceClassifier,
type: RPCType,
after_block_number: int,
before_block_number: int,
trace_db_session: Optional[orm.Session],
@ -110,7 +107,6 @@ async def inspect_many_blocks(
w3=w3,
block_number=block_number,
trace_db_session=trace_db_session,
type=type,
)
logger.info(f"Block: {block_number} -- Total traces: {len(block.traces)}")

View File

@ -60,7 +60,6 @@ class MEVInspector:
return await inspect_block(
inspect_db_session,
self.w3,
self.type,
self.trace_classifier,
block,
trace_db_session=trace_db_session,