Merge pull request #113 from flashbots/fetch-block

Add fetch-block command
This commit is contained in:
Gui Heise 2021-10-27 18:01:27 +01:00 committed by GitHub
commit 06615bec95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 0 deletions

19
cli.py
View File

@ -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.db import get_inspect_session, get_trace_session
from mev_inspect.inspect_block import inspect_block from mev_inspect.inspect_block import inspect_block
from mev_inspect.provider import get_base_provider from mev_inspect.provider import get_base_provider
from mev_inspect.block import create_from_block_number
RPC_URL_ENV = "RPC_URL" 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() @cli.command()
@click.argument("after_block", type=int) @click.argument("after_block", type=int)
@click.argument("before_block", type=int) @click.argument("before_block", type=int)

5
mev
View File

@ -51,6 +51,11 @@ case "$1" in
echo "Running tests" echo "Running tests"
kubectl exec -ti deploy/mev-inspect -- poetry run pytest 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}" echo "Usage: "$1" {db|backfill|inspect|test}"
exit 1 exit 1

View File

@ -32,6 +32,7 @@ build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts] [tool.poetry.scripts]
inspect-block = 'cli:inspect_block_command' inspect-block = 'cli:inspect_block_command'
inspect-many-blocks = 'cli:inspect_many_blocks_command' inspect-many-blocks = 'cli:inspect_many_blocks_command'
fetch-block = 'cli:fetch_block_command'
[tool.black] [tool.black]
exclude = ''' exclude = '''