Delete all traces for a block before writing in the script

This commit is contained in:
Luke Van Seters 2021-07-30 13:36:46 -04:00
parent 4a1b69fbc9
commit 0a09fd4efa
2 changed files with 16 additions and 1 deletions

View File

@ -5,6 +5,17 @@ from mev_inspect.models.classified_traces import ClassifiedTraceModel
from mev_inspect.schemas.classified_traces import ClassifiedTrace
def delete_classified_traces_for_block(
db_session, block_number: int,
) -> None:
(db_session.query(ClassifiedTraceModel)
.filter(ClassifiedTraceModel.block_number == block_number)
.delete()
)
db_session.commit()
def write_classified_traces(
db_session,
classified_traces: List[ClassifiedTrace],

View File

@ -4,7 +4,10 @@ import click
from web3 import Web3
from mev_inspect import block
from mev_inspect.crud.classified_traces import write_classified_traces
from mev_inspect.crud.classified_traces import (
delete_classified_traces_for_block,
write_classified_traces,
)
from mev_inspect.db import get_session
from mev_inspect.classifier_specs import CLASSIFIER_SPECS
from mev_inspect.trace_classifier import TraceClassifier
@ -32,6 +35,7 @@ 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()