diff --git a/.hypothesis/unicode_data/12.1.0/charmap.json.gz b/.hypothesis/unicode_data/12.1.0/charmap.json.gz new file mode 100644 index 0000000..316ecf8 Binary files /dev/null and b/.hypothesis/unicode_data/12.1.0/charmap.json.gz differ diff --git a/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py b/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py new file mode 100644 index 0000000..95de6a9 --- /dev/null +++ b/alembic/versions/205ce02374b3_add_received_collateral_address_to_liquidations.py @@ -0,0 +1,39 @@ +"""Add received_collateral_address to liquidations + +Revision ID: 205ce02374b3 +Revises: c8363617aa07 +Create Date: 2021-10-04 19:52:40.017084 + +""" +import sqlalchemy as sa +from alembic import op + + +# revision identifiers, used by Alembic. +revision = "205ce02374b3" +down_revision = "c8363617aa07" +branch_labels = None +depends_on = None + + +def upgrade(): + op.create_table( + "liquidations", + sa.Column("created_at", sa.TIMESTAMP, server_default=sa.func.now()), + sa.Column("liquidated_user", sa.String(256), nullable=False), + sa.Column("liquidator_user", sa.String(256), nullable=False), + sa.Column("collateral_token_address", sa.String(256), nullable=False), + sa.Column("debt_token_address", sa.String(256), nullable=False), + sa.Column("debt_purchase_amount", sa.Numeric, nullable=False), + sa.Column("received_amount", sa.Numeric, nullable=False), + sa.Column("received_collateral_address", sa.String(256), nullable=True), + sa.Column("protocol", sa.String(256), nullable=True), + sa.Column("transaction_hash", sa.String(66), nullable=False), + sa.Column("trace_address", sa.String(256), nullable=False), + sa.Column("block_number", sa.Numeric, nullable=False), + sa.PrimaryKeyConstraint("transaction_hash", "trace_address"), + ) + + +def downgrade(): + op.drop_table("liquidations") diff --git a/mev_inspect/aave_liquidations.py b/mev_inspect/aave_liquidations.py index fa08a6d..b30ef26 100644 --- a/mev_inspect/aave_liquidations.py +++ b/mev_inspect/aave_liquidations.py @@ -84,6 +84,8 @@ def get_aave_liquidations( def _get_liquidator_payback( child_traces: List[ClassifiedTrace], liquidator: str ) -> Optional[ERC20Transfer]: + + """Look for and return liquidator payback from liquidation""" for child in child_traces: if child.classification == Classification.transfer: diff --git a/mev_inspect/models/liquidations.py b/mev_inspect/models/liquidations.py index 1c020a9..46a4118 100644 --- a/mev_inspect/models/liquidations.py +++ b/mev_inspect/models/liquidations.py @@ -12,6 +12,7 @@ class LiquidationModel(Base): debt_token_address = Column(String, nullable=False) debt_purchase_amount = Column(Numeric, nullable=False) received_amount = Column(Numeric, nullable=False) + received_token_address = Column(String, nullable=True) protocol = Column(String, nullable=True) transaction_hash = Column(String, primary_key=True) trace_address = Column(ARRAY(Integer), primary_key=True)