Write swaps to the DB. Replace existing ones
This commit is contained in:
parent
55b162ab88
commit
381c04f3cc
28
mev_inspect/crud/swaps.py
Normal file
28
mev_inspect/crud/swaps.py
Normal 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()
|
@ -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")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user