Actually insert the data. Fix the ordering

This commit is contained in:
Luke Van Seters 2022-01-20 10:10:50 -05:00
parent c26910e74b
commit 0266582889

View File

@ -71,73 +71,77 @@ INSERT INTO mev_summary (
""" """
INSERT_LIQUIDATIONS_SUMMARY_QUERY = """ INSERT_LIQUIDATIONS_SUMMARY_QUERY = """
SELECT INSERT INTO mev_summary (
l.block_number, SELECT
b.block_timestamp, NULL,
l.transaction_hash, l.block_number,
'liquidation' as type, b.block_timestamp,
l.protocol as protocol, l.protocol as protocol,
l.received_amount* l.transaction_hash,
( 'liquidation' as type,
SELECT usd_price l.received_amount*
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 SELECT usd_price
FROM prices p FROM prices
WHERE WHERE token_address = l.received_token_address
p.timestamp <= b.block_timestamp AND timestamp <= b.block_timestamp
AND p.token_address = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' ORDER BY timestamp DESC
ORDER BY p.timestamp DESC
LIMIT 1 LIMIT 1
) )
) AS miner_payment_usd, /POWER(10, received_token.decimals)
mp.gas_used,
mp.gas_price, -
mp.coinbase_transfer,
mp.gas_price_with_coinbase_transfer, l.debt_purchase_amount*
mp.miner_address, (
ct.error SELECT usd_price
FROM liquidations l FROM prices
JOIN blocks b ON b.block_number = l.block_number WHERE token_address = l.debt_token_address
JOIN tokens received_token ON received_token.token_address = l.received_token_address AND timestamp <= b.block_timestamp
JOIN tokens debt_token ON debt_token.token_address = l.debt_token_address ORDER BY timestamp DESC
JOIN miner_payments mp ON LIMIT 1
mp.block_number = l.block_number AND )
mp.transaction_hash = l.transaction_hash /POWER(10, debt_token.decimals) as gross_profit_usd,
JOIN classified_traces ct ON (
ct.block_number = l.block_number AND (
ct.transaction_hash = l.transaction_hash ((mp.gas_used * mp.gas_price) + mp.coinbase_transfer) /
WHERE POWER(10, 18)
b.block_number >= :after_block_number AND ) *
b.block_number < :before_block_number AND (
ct.trace_address = '{}' AND SELECT usd_price
l.debt_purchase_amount > 0 AND FROM prices p
l.received_amount > 0 AND WHERE
l.debt_purchase_amount < 115792089237316195423570985008687907853269984665640564039457584007913129639935 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
)
""" """