Fancy looks
This commit is contained in:
parent
ae20953c23
commit
31254350b4
@ -37,6 +37,8 @@ class ClassifiedTrace(Trace):
|
|||||||
block_number: int
|
block_number: int
|
||||||
trace_address: List[int]
|
trace_address: List[int]
|
||||||
classification: Classification
|
classification: Classification
|
||||||
|
|
||||||
|
# Optional
|
||||||
error: Optional[str]
|
error: Optional[str]
|
||||||
to_address: Optional[str]
|
to_address: Optional[str]
|
||||||
from_address: Optional[str]
|
from_address: Optional[str]
|
||||||
@ -49,13 +51,6 @@ class ClassifiedTrace(Trace):
|
|||||||
inputs: Optional[Dict[str, Any]]
|
inputs: Optional[Dict[str, Any]]
|
||||||
abi_name: Optional[str]
|
abi_name: Optional[str]
|
||||||
|
|
||||||
class Config:
|
|
||||||
json_encoders = {
|
|
||||||
# a little lazy but fine for now
|
|
||||||
# this is used for bytes value inputs
|
|
||||||
bytes: lambda b: b.hex(),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Call(ClassifiedTrace):
|
class Call(ClassifiedTrace):
|
||||||
|
|
||||||
@ -68,6 +63,8 @@ class ClassifiedCall(ClassifiedTrace):
|
|||||||
inputs: Dict[str, Any]
|
inputs: Dict[str, Any]
|
||||||
abi_name: str
|
abi_name: str
|
||||||
|
|
||||||
|
# Optional
|
||||||
|
protocol: Optional[Protocol]
|
||||||
gas: Optional[int]
|
gas: Optional[int]
|
||||||
gas_used: Optional[int]
|
gas_used: Optional[int]
|
||||||
function_name: Optional[str]
|
function_name: Optional[str]
|
||||||
@ -78,11 +75,11 @@ class ClassifiedCall(ClassifiedTrace):
|
|||||||
|
|
||||||
|
|
||||||
class Swap(BaseModel):
|
class Swap(BaseModel):
|
||||||
|
|
||||||
abi_name: str
|
abi_name: str
|
||||||
transaction_hash: str
|
transaction_hash: str
|
||||||
block_number: int
|
block_number: int
|
||||||
trace_address: List[int]
|
trace_address: List[int]
|
||||||
protocol: Optional[Protocol]
|
|
||||||
pool_address: str
|
pool_address: str
|
||||||
from_address: str
|
from_address: str
|
||||||
to_address: str
|
to_address: str
|
||||||
@ -90,10 +87,14 @@ class Swap(BaseModel):
|
|||||||
token_in_amount: int
|
token_in_amount: int
|
||||||
token_out_address: str
|
token_out_address: str
|
||||||
token_out_amount: int
|
token_out_amount: int
|
||||||
|
|
||||||
|
# Optional
|
||||||
|
protocol: Optional[Protocol]
|
||||||
error: Optional[str]
|
error: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class Arbitrage(BaseModel):
|
class Arbitrage(BaseModel):
|
||||||
|
|
||||||
swaps: List[Swap]
|
swaps: List[Swap]
|
||||||
block_number: int
|
block_number: int
|
||||||
transaction_hash: str
|
transaction_hash: str
|
||||||
@ -104,10 +105,11 @@ class Arbitrage(BaseModel):
|
|||||||
profit_amount: int
|
profit_amount: int
|
||||||
|
|
||||||
|
|
||||||
# -------- Transfers------------------------------------------------------------------------------
|
# ------ Transfers ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
class Transfer(BaseModel):
|
class Transfer(BaseModel):
|
||||||
|
|
||||||
transaction_hash: str
|
transaction_hash: str
|
||||||
trace_address: List[int]
|
trace_address: List[int]
|
||||||
from_address: str
|
from_address: str
|
||||||
@ -144,17 +146,20 @@ class Transfer(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class LiquidationType(Enum):
|
class LiquidationType(Enum):
|
||||||
|
|
||||||
compound_v2_ceth_liquidation = "compound_v2_ceth_liquidation"
|
compound_v2_ceth_liquidation = "compound_v2_ceth_liquidation"
|
||||||
compound_v2_ctoken_liquidation = "compound_v2_ctoken_liquidation" # TODO: add logic to handle ctoken liquidations
|
compound_v2_ctoken_liquidation = "compound_v2_ctoken_liquidation" # TODO: add logic to handle ctoken liquidations
|
||||||
|
|
||||||
|
|
||||||
class LiquidationStatus(Enum):
|
class LiquidationStatus(Enum):
|
||||||
|
|
||||||
seized = "seized" # succesfully completed
|
seized = "seized" # succesfully completed
|
||||||
check = "check" # just a liquidation check. i.e searcher only checks if opportunity is still available and reverts accordingly
|
check = "check" # just a liquidation check. i.e searcher only checks if opportunity is still available and reverts accordingly
|
||||||
out_of_gas = "out_of_gas" # tx ran out of gas
|
out_of_gas = "out_of_gas" # tx ran out of gas
|
||||||
|
|
||||||
|
|
||||||
class LiquidationCollateralSource(Enum):
|
class LiquidationCollateralSource(Enum):
|
||||||
|
|
||||||
aave_flashloan = "aave_flashloan"
|
aave_flashloan = "aave_flashloan"
|
||||||
dydx_flashloan = "dydx_flashloan"
|
dydx_flashloan = "dydx_flashloan"
|
||||||
uniswap_flashloan = "uniswap_flashloan"
|
uniswap_flashloan = "uniswap_flashloan"
|
||||||
@ -164,6 +169,7 @@ class LiquidationCollateralSource(Enum):
|
|||||||
|
|
||||||
|
|
||||||
class Liquidation(CamelModel):
|
class Liquidation(CamelModel):
|
||||||
|
|
||||||
tx_hash: str
|
tx_hash: str
|
||||||
borrower: str # account that got liquidated
|
borrower: str # account that got liquidated
|
||||||
collateral_provided: str # collateral provided by searcher, 'ether' or token contract address
|
collateral_provided: str # collateral provided by searcher, 'ether' or token contract address
|
||||||
@ -182,6 +188,7 @@ class Liquidation(CamelModel):
|
|||||||
|
|
||||||
|
|
||||||
class ClassifierSpec(BaseModel):
|
class ClassifierSpec(BaseModel):
|
||||||
|
|
||||||
abi_name: str
|
abi_name: str
|
||||||
protocol: Optional[Protocol] = None
|
protocol: Optional[Protocol] = None
|
||||||
valid_contract_addresses: Optional[List[str]] = None
|
valid_contract_addresses: Optional[List[str]] = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user