Write swaps to the DB. Replace existing ones

This commit is contained in:
Luke Van Seters 2021-08-05 17:45:08 -04:00
parent 55b162ab88
commit 381c04f3cc
2 changed files with 35 additions and 1 deletions

28
mev_inspect/crud/swaps.py Normal file
View File

@ -0,0 +1,28 @@
import json
from typing import List
from mev_inspect.models.swaps import SwapModel
from mev_inspect.schemas.swaps import Swap
def delete_swaps_for_block(
db_session,
block_number: int,
) -> None:
(
db_session.query(SwapModel)
.filter(SwapModel.block_number == block_number)
.delete()
)
db_session.commit()
def write_swaps(
db_session,
swaps: List[Swap],
) -> None:
models = [SwapModel(**json.loads(swap.json())) for swap in swaps]
db_session.bulk_save_objects(models)
db_session.commit()

View File

@ -8,6 +8,7 @@ from mev_inspect.crud.classified_traces import (
delete_classified_traces_for_block,
write_classified_traces,
)
from mev_inspect.crud.swaps import delete_swaps_for_block, write_swaps
from mev_inspect.db import get_session
from mev_inspect.classifier_specs import CLASSIFIER_SPECS
from mev_inspect.trace_classifier import TraceClassifier
@ -37,13 +38,18 @@ def inspect_block(block_number: int, rpc: str):
print(f"Returned {len(classified_traces)} classified traces")
db_session = get_session()
delete_classified_traces_for_block(db_session, block_number)
write_classified_traces(db_session, classified_traces)
db_session.close()
swaps = get_swaps(classified_traces)
print(f"Found {len(swaps)} swaps")
delete_swaps_for_block(db_session, block_number)
write_swaps(db_session, swaps)
db_session.close()
arbitrages = get_arbitrages(swaps)
print(f"Found {len(arbitrages)} arbitrages")