Skip to content

Instantly share code, notes, and snippets.

View sekrystal's full-sized avatar

Sam Krystal sekrystal

View GitHub Profile
@sekrystal
sekrystal / dataframe.txt
Created March 30, 2023 21:46
Insolvent Position Analysis
+ - - - - - - - - - +
| num_liquidations |
+ - - - - - - - - - +
| 87 |
+ - - - - - - - - - +
@sekrystal
sekrystal / aavevar.sol
Created March 30, 2023 21:35
Insolvent Position Analysis
pragma solidity ^0.8.13;
// from ...
uint256 internal constant LIQUIDATION_CLOSE_FACTOR_PERCENT = 5000;
function liquidationCall(
address collateralAsset,
address debtAsset,
address user,
@sekrystal
sekrystal / manaprice.sh
Created March 30, 2023 14:54
Insolvent Position Analysis
➜ ~ cast call -b 13522070 0xA50ba011c48153De246E5192C8f9258A2ba79Ca9 "getAssetPrice(address)" 0x0F5D2fB29fb7d3CFeE444a200298f468908cC942
0x00000000000000000000000000000000000000000000000000031015cc1da8f2
@sekrystal
sekrystal / parse.py
Created March 30, 2023 14:53
Insolvent Position Analysis
parse_user_account_data('0x000000000000000000000000000000000000000000000000085b5b5e846685f4000000000000000000000000000000000000000000000002743544e203a3e4ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f710000000000000000000000000000000000000000
000000000000000000001d9500000000000000000000000000000000000000000000000000260a45667b706b')
UserAccountData(totalCollateralETH=602175436690458100, totalDebtETH=45267162967098778798, availableBorrowsETH=0, currentLiquidationThreshold=8049, ltv=7573, healthFactor=10707342303391851)
@sekrystal
sekrystal / cast.sh
Created March 30, 2023 14:52
Insolvent Position Analysis
➜ ~ cast call -b 13522070 0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9 "getUserAccountData(address)" 0x227cAa7eF6D955A92F483dB2BD01172997A1a623
0x000000000000000000000000000000000000000000000000085b5b5e846685f4000000000000000000000000000000000000000000000002743544e203a3e4ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f710000000000000000000000000000000000000000000000000000000000001d9500000000000000000000000000000000000000000000000000260a45667b706b
@sekrystal
sekrystal / getUserAccountData.py
Created March 30, 2023 14:52
Insolvent Position Analyisis
from io import BytesIO
from binascii import unhexlify
from dataclasses import dataclass
@dataclass(frozen=True)
class UserAccountData:
totalCollateralETH: int
totalDebtETH: int
availableBorrowsETH: int
@sekrystal
sekrystal / priceoracle.sh
Created March 30, 2023 14:51
Insolvent Position Analysis
➜ ~ cast call -b 13517657 0xA50ba011c48153De246E5192C8f9258A2ba79Ca9 "getAssetPrice(address)" 0x0F5D2fB29fb7d3CFeE444a200298f468908cC942
0x000000000000000000000000000000000000000000000000000131d14dce4400
@sekrystal
sekrystal / collateral.sql
Created March 30, 2023 14:48
Insolvent Position Analysis
select
SUM(liquidatedCollateralAmount) as amountSeized,
collateralAsset
from
aave_v2_ethereum.LendingPool_evt_LiquidationCall
where
user = from_hex('0x227cAa7eF6D955A92F483dB2BD01172997A1a623')
and evt_block_number <= 13522070 and evt_block_number >= 13520838
group by collateralAsset
@sekrystal
sekrystal / smalllq.sql
Created March 30, 2023 14:46
Insolvent Position Analysis
select
count(*) as num_liquidations
from
aave_v2_ethereum.LendingPool_evt_LiquidationCall
where
user = from_hex('0x227cAa7eF6D955A92F483dB2BD01172997A1a623')
and evt_block_number <= 13522070 and evt_block_number >= 13520838
@sekrystal
sekrystal / lq.sql
Created March 30, 2023 14:44
Insolvent Position Analysis
select
evt_block_number,
collateralAsset,
debtAsset,
debtToCover,
liquidatedCollateralAmount,
liquidator
from
aave_v2_ethereum.LendingPool_evt_LiquidationCall
where