Created
March 5, 2021 11:56
-
-
Save vnavascues/f2f9ef60be5f39b590e228ea7b8dca1b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def test_pnl(): | |
# Address | |
# 0x49a2DcC237a65Cc1F412ed47E0594602f6141936 | |
# Pool | |
# 0x6b9887422E2a4aE11577F59EA9c01a6C998752E2 | |
# Events below (all mints) | |
# 0xb387d1131d3914c62dc85b0434dbd750167b502f3ddb189d9ae0c23a638e37eb | |
mint1 = [ | |
FVal("211.012433028763012105"), # WETH added | |
FVal("3931.525865515694335575"), # BAL added | |
FVal("13863.354042179668423169"), # BPT minted | |
FVal("171717.9625926226832980402267"), # USD value | |
] | |
# 0xece7a30485a6f55111694945435fb76c5a91a31f5f14141c6095359a9aea25df | |
mint2 = [ | |
FVal("48.770816456684107014"), | |
FVal("766.118504277276024234"), | |
FVal("2928.598832122145765797"), | |
FVal("34309.14670714548816446199857"), | |
] | |
# 0xd59cedd7706c147552cfb739c29659c75f4befd114020d36d2670ba29bc60b25 | |
mint3 = [ | |
FVal("42.60946153165202741"), | |
FVal("608.962215990745421816"), | |
FVal("2434.84193779754448647"), | |
FVal("33793.10933422011603320408021"), | |
] | |
# 0xa3cf20fcaf4cab6ef85675a49010a1233ba2a7c0b69700cc39cf3d990dd0e069 | |
mint4 = [ | |
FVal("37.781222929768854251"), | |
FVal("655.871758586628578008"), | |
FVal("2372.785750255643215118"), | |
FVal("29492.34266232012803037128433"), | |
] | |
# 0x90b636bcfbe5c0fe7ca1513153479e575db7ac759bc3f08f652c14df2843afa9 | |
mint5 = [ | |
FVal("244.381018190647666577"), | |
FVal("4070.756393412456222094"), | |
FVal("14993.76705492740270764"), | |
FVal("176930.2493895719059208363942"), | |
] | |
# 0x47f9c7c9b5ad6bb5dda6c4697cae51f138583a7af7f6bbbea5ec72842b8ee728 | |
mint6 = [ | |
FVal("39.168727612531257705"), | |
FVal("719.720745684544434483"), | |
FVal("2520.88230573045103983"), | |
FVal("31496.69607254340107212340932"), | |
] | |
# 0xe1e888067afd4be7da6fdde24a20d8373ae18e50a23f86f65ddf8290e099b57c | |
mint7 = [ | |
FVal("94.999691731063210207"), | |
FVal("2183.001023912432523467"), | |
FVal("6832.011739658222296719"), | |
FVal("65249.36326467104442817944067"), | |
] | |
# 0xb0f55dc0eecf46c3d6878b2d59b790bc94b1cca1bb798910410c5c167ea3d650 | |
mint8 = [ | |
FVal("35.115179595702265152"), | |
FVal("802.062346853348142581"), | |
FVal("2516.7311629135180706"), | |
FVal("24868.42428675684668627461577"), | |
] | |
# 0x78d68c7fe2b85dc3d17f56a9ecf0688ab2282e86ab94b18a075b6c4e34cfbc59 | |
mint9 = [ | |
FVal("0"), | |
FVal("1991.216217795949062055"), | |
FVal("3049.104402077940633466"), | |
FVal("28392.82145647979740001407238"), | |
] | |
# 0x6202102e677a2b644c013fd9ef4bc31fe8e82e08827ba58b179974c9f06ed4db | |
mint10 = [ | |
FVal("0"), | |
FVal("974.638126629901222524"), | |
FVal("1393.903337610378881744"), | |
FVal("13450.43259687576158409796371"), | |
] | |
# 0x15aa20f6507cf17db3066d0848bcb4004b17d437d7fdd3b3505f26323a882597 | |
mint11 = [ | |
FVal("0"), | |
FVal("961.07450828433661829"), | |
FVal("1173.721211913025922713"), | |
FVal("9783.7384943345467741922"), | |
] | |
# 0x1217ac852ee632d4c3510a72894100f333b83b805530cfaffb587ac11d90aecc | |
mint12 = [ | |
FVal("158.404901492406082995"), | |
FVal("7689.62501706743472369"), | |
FVal("16345.766526081407927172"), | |
FVal("180752.74452347041046228070"), | |
] | |
# 0x09e1823f06343bf3bcf80a3d11af647ee01817e074de4308377a559be60f95a4 | |
mint13 = [ | |
FVal("0"), | |
FVal("3111.477659029761566823"), | |
FVal("3257.664700618304437838"), | |
FVal("41195.96420555404314473652"), | |
] | |
# 0x6177fc92646c3f321100f3cb525bbd417188074c43550c6467e522f123d84e52 | |
mint14 = [ | |
FVal("285.862977577363157434"), | |
FVal("18521.946249315514223212"), | |
FVal("33956.434835888694415328"), | |
FVal("628829.7041656774013630308423"), | |
] | |
# 0x29f90f2a67b80e9bcd1b6983c6c42ee65de5b8b1f37d29e140474b84e2a6be4b | |
mint15 = [ | |
FVal("320.71387151072734691"), | |
FVal("14374.975898039405307269"), | |
FVal("31482.005035620130144652"), | |
FVal("1034041.543720412473266136945"), | |
] | |
# 0x86d57acc98ab5840c754a2b2d67aeed2043a99c24ae62a77786d6ccd7eaaba32 | |
mint16 = [ | |
FVal("249.364027054650082812"), | |
FVal("10230.988363638171021856"), | |
FVal("23289.080344752033295543"), | |
FVal("779727.2681639622797486297783"), | |
] | |
# Current balances | |
current_balances = [ | |
FVal("1742.835411025699596836625373"), # WETH in the pool | |
FVal("71296.93754467431147851264039"), # BAL in the pool | |
FVal("162410.653220146511663799"), # BPT amount | |
FVal("5135153.8984838"), # Estimated USD value now | |
] | |
# Calculation | |
mint_weth = FVal("0") | |
mint_bal = FVal("0") | |
mint_bpt = FVal("0") | |
mint_usd = FVal("0") | |
mints = [ | |
mint1, mint2, mint3, mint4, | |
mint5, mint6, mint7, mint8, | |
mint9, mint10, mint11, mint12, | |
mint13, mint14, mint15, mint16, | |
] | |
for mint in mints: | |
mint_weth -= mint[0] | |
mint_bal -= mint[1] | |
mint_bpt += mint[2] | |
mint_usd -= mint[3] | |
print("\n") | |
print(f'WETH: {mint_weth}') | |
print(f'BAL: {mint_bal}') | |
print(f'BPT: {mint_bpt}') | |
print(f'USD: {mint_usd}') | |
pnl_weth = mint_weth + current_balances[0] | |
pnl_bal = mint_bal + current_balances[1] | |
pnl_bpt = mint_bpt - current_balances[2] | |
pnl_usd = mint_usd + current_balances[3] | |
print("\n") | |
print(f'PnL WETH: {pnl_weth}') | |
print(f'PnL BAL: {pnl_bal}') | |
print(f'PnL BPT: {pnl_bpt}') | |
print(f'PnL USD: {pnl_usd}') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment