Removed type parameter, now infers through trace_block call
This commit is contained in:
parent
19c80bd963
commit
4253928021
4
listener
4
listener
@ -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 "."
|
||||
;;
|
||||
|
||||
|
13
listener.py
13
listener.py
@ -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
2
mev
@ -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"
|
||||
|
@ -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(
|
||||
|
@ -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)}")
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user