Fixed parameters, added create2 Tracetype, miner address for geth

This commit is contained in:
ZigaMr 2022-05-09 01:29:01 +02:00
parent 86b5fbb5f1
commit a6b391970f
5 changed files with 23 additions and 13 deletions

View File

@ -79,6 +79,8 @@ k8s_resource(
resource_deps=["postgresql", "redis-master"], resource_deps=["postgresql", "redis-master"],
) )
# k8s_resource(workload='mev-inspect', port_forwards='8101')
k8s_resource( k8s_resource(
workload="mev-inspect-workers", workload="mev-inspect-workers",
resource_deps=["postgresql", "redis-master"], resource_deps=["postgresql", "redis-master"],
@ -102,17 +104,17 @@ local_resource(
# "export-aws-secret-access-key": "foobar", # "export-aws-secret-access-key": "foobar",
#})) #}))
#helm_remote( # helm_remote(
# "localstack", # "localstack",
# repo_name="localstack-charts", # repo_name="localstack-charts",
# repo_url="https://localstack.github.io/helm-charts", # repo_url="https://localstack.github.io/helm-charts",
#) # )
#
#local_resource( # local_resource(
# 'localstack-port-forward', # 'localstack-port-forward',
# serve_cmd='kubectl port-forward --namespace default svc/localstack 4566:4566', # serve_cmd='kubectl port-forward --namespace default svc/localstack 4566:4566',
# resource_deps=["localstack"] # resource_deps=["localstack"]
#) # )
# #
#k8s_yaml(configmap_from_dict("mev-inspect-export", inputs = { #k8s_yaml(configmap_from_dict("mev-inspect-export", inputs = {
# "services": "s3", # "services": "s3",

View File

@ -2,6 +2,7 @@ import asyncio
import logging import logging
import os import os
import sys import sys
import traceback
import dramatiq import dramatiq
from aiohttp_retry import ExponentialRetry, RetryClient from aiohttp_retry import ExponentialRetry, RetryClient
@ -22,6 +23,8 @@ from mev_inspect.queue.tasks import (
realtime_export_task, realtime_export_task,
) )
from mev_inspect.signal_handler import GracefulKiller from mev_inspect.signal_handler import GracefulKiller
from mev_inspect.utils import RPCType
from cli import convert_str_to_enum
logging.basicConfig(filename="listener.log", filemode="a", level=logging.INFO) logging.basicConfig(filename="listener.log", filemode="a", level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -52,8 +55,9 @@ async def run():
queue_name=HIGH_PRIORITY_QUEUE, queue_name=HIGH_PRIORITY_QUEUE,
priority=HIGH_PRIORITY, priority=HIGH_PRIORITY,
) )
inspector = MEVInspector(rpc, type=sys.argv[1]) type_e = convert_str_to_enum(sys.argv[1])
inspector = MEVInspector(rpc, type_e)
base_provider = get_base_provider(rpc) base_provider = get_base_provider(rpc)
while not killer.kill_now: while not killer.kill_now:
@ -125,3 +129,4 @@ if __name__ == "__main__":
run() run()
except Exception as e: except Exception as e:
logger.error(e) logger.error(e)

2
mev
View File

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

View File

@ -49,8 +49,8 @@ async def create_from_block_number(
_find_or_fetch_block_traces(w3, block_number, trace_db_session, type, block_json), _find_or_fetch_block_traces(w3, block_number, trace_db_session, type, block_json),
_find_or_fetch_base_fee_per_gas(w3, block_number, trace_db_session), _find_or_fetch_base_fee_per_gas(w3, block_number, trace_db_session),
) )
miner_address = _get_miner_address_from_traces(traces) miner_address = _get_miner_address_from_traces(traces) if type == RPCType.parity else block_json.miner
return Block( return Block(
block_number=block_number, block_number=block_number,
@ -108,7 +108,7 @@ async def _find_or_fetch_block_traces(
existing_block_traces = _find_block_traces(trace_db_session, block_number) existing_block_traces = _find_block_traces(trace_db_session, block_number)
if existing_block_traces is not None: if existing_block_traces is not None:
return existing_block_traces return existing_block_traces
if type == RPCType.geth: if type == RPCType.geth:
# Translate to parity format # Translate to parity format
traces = await geth_get_tx_traces_parity_format(w3.provider, block_json) traces = await geth_get_tx_traces_parity_format(w3.provider, block_json)
@ -272,8 +272,9 @@ def unwrap_tx_trace_for_parity(
action_dict[key] = tx_trace[key] action_dict[key] = tx_trace[key]
result_dict = dict() result_dict = dict()
for key in ["gasUsed", "output"]: result_dict["gasUsed"] = tx_trace["gasUsed"]
result_dict[key] = tx_trace[key] if "output" in tx_trace.keys():
result_dict["output"] = tx_trace["output"]
response_list.append( response_list.append(
Trace( Trace(
@ -289,6 +290,7 @@ def unwrap_tx_trace_for_parity(
) )
) )
except Exception as e: except Exception as e:
breakpoint()
logger.warn(f"error while unwraping tx trace for parity {e}") logger.warn(f"error while unwraping tx trace for parity {e}")
return [] return []

View File

@ -7,6 +7,7 @@ from .utils import CamelModel
class TraceType(Enum): class TraceType(Enum):
call = "call" call = "call"
create = "create" create = "create"
create2 = "create2"
delegate_call = "delegateCall" delegate_call = "delegateCall"
reward = "reward" reward = "reward"
suicide = "suicide" suicide = "suicide"