91 lines
2.0 KiB
Python
91 lines
2.0 KiB
Python
import json
|
|
from typing import List
|
|
|
|
from mev_inspect.models.punks import (
|
|
PunkBidAcceptanceModel,
|
|
PunkBidModel,
|
|
PunkSnipeModel,
|
|
)
|
|
from mev_inspect.schemas.punk_accept_bid import PunkBidAcceptance
|
|
from mev_inspect.schemas.punk_bid import PunkBid
|
|
from mev_inspect.schemas.punk_snipe import PunkSnipe
|
|
|
|
from .shared import delete_by_block_range
|
|
|
|
|
|
def delete_punk_bid_acceptances_for_blocks(
|
|
db_session,
|
|
after_block_number: int,
|
|
before_block_number: int,
|
|
) -> None:
|
|
delete_by_block_range(
|
|
db_session,
|
|
PunkBidAcceptanceModel,
|
|
after_block_number,
|
|
before_block_number,
|
|
)
|
|
db_session.commit()
|
|
|
|
|
|
def write_punk_bid_acceptances(
|
|
db_session,
|
|
punk_bid_acceptances: List[PunkBidAcceptance],
|
|
) -> None:
|
|
models = [
|
|
PunkBidAcceptanceModel(**json.loads(punk_bid_acceptance.json()))
|
|
for punk_bid_acceptance in punk_bid_acceptances
|
|
]
|
|
|
|
db_session.bulk_save_objects(models)
|
|
db_session.commit()
|
|
|
|
|
|
def delete_punk_bids_for_blocks(
|
|
db_session,
|
|
after_block_number: int,
|
|
before_block_number: int,
|
|
) -> None:
|
|
delete_by_block_range(
|
|
db_session,
|
|
PunkBidModel,
|
|
after_block_number,
|
|
before_block_number,
|
|
)
|
|
db_session.commit()
|
|
|
|
|
|
def write_punk_bids(
|
|
db_session,
|
|
punk_bids: List[PunkBid],
|
|
) -> None:
|
|
models = [PunkBidModel(**json.loads(punk_bid.json())) for punk_bid in punk_bids]
|
|
|
|
db_session.bulk_save_objects(models)
|
|
db_session.commit()
|
|
|
|
|
|
def delete_punk_snipes_for_blocks(
|
|
db_session,
|
|
after_block_number: int,
|
|
before_block_number: int,
|
|
) -> None:
|
|
delete_by_block_range(
|
|
db_session,
|
|
PunkSnipeModel,
|
|
after_block_number,
|
|
before_block_number,
|
|
)
|
|
db_session.commit()
|
|
|
|
|
|
def write_punk_snipes(
|
|
db_session,
|
|
punk_snipes: List[PunkSnipe],
|
|
) -> None:
|
|
models = [
|
|
PunkSnipeModel(**json.loads(punk_snipe.json())) for punk_snipe in punk_snipes
|
|
]
|
|
|
|
db_session.bulk_save_objects(models)
|
|
db_session.commit()
|