23 lines
526 B
Python
23 lines
526 B
Python
from typing import Optional
|
|
from enum import Enum
|
|
from pydantic import BaseModel
|
|
from .classified_traces import ClassifiedTrace, Protocol
|
|
|
|
class StrategyType(Enum):
|
|
arbitrage = "arbitrage"
|
|
liquidation = "liquidation"
|
|
|
|
class Strategy(BaseModel):
|
|
strategy: StrategyType
|
|
traces: List[ClassifiedTrace]
|
|
protocols: List[Protocol]
|
|
|
|
class Liquidation(Strategy):
|
|
collateral_type: str
|
|
collateral_amount: int
|
|
collateral_source: str
|
|
profit: int
|
|
|
|
class Arbitrage(Strategy):
|
|
# strategy: Literal[StrategyType.arbitrage]
|