diff --git a/cli.py b/cli.py index fb8a080..c9983f6 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) + + @cli.command() @click.argument("after_block", type=int) @click.argument("before_block", type=int) diff --git a/mev b/mev index a936bf1..ffcca8c 100755 --- a/mev +++ b/mev @@ -41,6 +41,10 @@ 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 exec -ti deploy/mev-inspect -- poetry run fetch-block $block_number *) echo "Usage: "$1" {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 = '''