diff --git a/cli.py b/cli.py index fb8a080..2580934 100644 --- a/cli.py +++ b/cli.py @@ -9,6 +9,7 @@ from mev_inspect.classifiers.trace import TraceClassifier from mev_inspect.db import get_inspect_session, get_trace_session from mev_inspect.inspect_block import inspect_block from mev_inspect.provider import get_base_provider +from mev_inspect.block import create_from_block_number RPC_URL_ENV = "RPC_URL" @@ -47,6 +48,24 @@ def inspect_block_command(block_number: int, rpc: str, cache: bool): ) +@cli.command() +@click.argument("block_number", type=int) +@click.option("--rpc", default=lambda: os.environ.get(RPC_URL_ENV, "")) +def fetch_block_command(block_number: int, rpc: str): + base_provider = get_base_provider(rpc) + w3 = Web3(base_provider) + trace_db_session = get_trace_session() + + block = create_from_block_number( + base_provider, + w3, + block_number, + trace_db_session=trace_db_session, + ) + + print(block.json()) + + @cli.command() @click.argument("after_block", type=int) @click.argument("before_block", type=int) diff --git a/mev b/mev index 2988390..45b2aa6 100755 --- a/mev +++ b/mev @@ -51,6 +51,11 @@ case "$1" in echo "Running tests" kubectl exec -ti deploy/mev-inspect -- poetry run pytest tests ;; + fetch) + block_number=$2 + echo "Fetching block $block_number" + kubectl exec -ti deploy/mev-inspect -- poetry run fetch-block $block_number + ;; *) echo "Usage: "$1" {db|backfill|inspect|test}" exit 1 diff --git a/pyproject.toml b/pyproject.toml index 797a99c..b593a95 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] inspect-block = 'cli:inspect_block_command' inspect-many-blocks = 'cli:inspect_many_blocks_command' +fetch-block = 'cli:fetch_block_command' [tool.black] exclude = '''