Merge pull request #243 from flashbots/add-liquidations
Write liquidations to mev_summary on inspect
This commit is contained in:
commit
53f6be4700
@ -70,6 +70,80 @@ INSERT INTO mev_summary (
|
||||
)
|
||||
"""
|
||||
|
||||
INSERT_LIQUIDATIONS_SUMMARY_QUERY = """
|
||||
INSERT INTO mev_summary (
|
||||
SELECT
|
||||
NULL,
|
||||
l.block_number,
|
||||
b.block_timestamp,
|
||||
l.protocol as protocol,
|
||||
l.transaction_hash,
|
||||
'liquidation' as type,
|
||||
l.received_amount*
|
||||
(
|
||||
SELECT usd_price
|
||||
FROM prices
|
||||
WHERE token_address = l.received_token_address
|
||||
AND timestamp <= b.block_timestamp
|
||||
ORDER BY timestamp DESC
|
||||
LIMIT 1
|
||||
)
|
||||
/POWER(10, received_token.decimals)
|
||||
|
||||
-
|
||||
|
||||
l.debt_purchase_amount*
|
||||
(
|
||||
SELECT usd_price
|
||||
FROM prices
|
||||
WHERE token_address = l.debt_token_address
|
||||
AND timestamp <= b.block_timestamp
|
||||
ORDER BY timestamp DESC
|
||||
LIMIT 1
|
||||
)
|
||||
/POWER(10, debt_token.decimals) as gross_profit_usd,
|
||||
(
|
||||
(
|
||||
((mp.gas_used * mp.gas_price) + mp.coinbase_transfer) /
|
||||
POWER(10, 18)
|
||||
) *
|
||||
(
|
||||
SELECT usd_price
|
||||
FROM prices p
|
||||
WHERE
|
||||
p.timestamp <= b.block_timestamp
|
||||
AND p.token_address = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
|
||||
ORDER BY p.timestamp DESC
|
||||
LIMIT 1
|
||||
)
|
||||
) AS miner_payment_usd,
|
||||
mp.gas_used,
|
||||
mp.gas_price,
|
||||
mp.coinbase_transfer,
|
||||
mp.gas_price_with_coinbase_transfer,
|
||||
mp.miner_address,
|
||||
mp.base_fee_per_gas,
|
||||
ct.error as error
|
||||
FROM liquidations l
|
||||
JOIN blocks b ON b.block_number = l.block_number
|
||||
JOIN tokens received_token ON received_token.token_address = l.received_token_address
|
||||
JOIN tokens debt_token ON debt_token.token_address = l.debt_token_address
|
||||
JOIN miner_payments mp ON
|
||||
mp.block_number = l.block_number AND
|
||||
mp.transaction_hash = l.transaction_hash
|
||||
JOIN classified_traces ct ON
|
||||
ct.block_number = l.block_number AND
|
||||
ct.transaction_hash = l.transaction_hash
|
||||
WHERE
|
||||
b.block_number >= :after_block_number AND
|
||||
b.block_number < :before_block_number AND
|
||||
ct.trace_address = '{}' AND
|
||||
l.debt_purchase_amount > 0 AND
|
||||
l.received_amount > 0 AND
|
||||
l.debt_purchase_amount < 115792089237316195423570985008687907853269984665640564039457584007913129639935
|
||||
)
|
||||
"""
|
||||
|
||||
|
||||
def update_summary_for_block_range(
|
||||
db_session,
|
||||
@ -116,4 +190,12 @@ def _insert_into_summary_for_block_range(
|
||||
},
|
||||
)
|
||||
|
||||
db_session.execute(
|
||||
INSERT_LIQUIDATIONS_SUMMARY_QUERY,
|
||||
params={
|
||||
"after_block_number": after_block_number,
|
||||
"before_block_number": before_block_number,
|
||||
},
|
||||
)
|
||||
|
||||
db_session.commit()
|
||||
|
Loading…
x
Reference in New Issue
Block a user