Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1602 commits
Select commit Hold shift + click to select a range
9eda4a2
Update how secrets are fetched (#6787)
g1nt0ki Jul 13, 2023
3daf143
Add new tokens to DeltaPrime adapter (#6789)
kavsky02 Jul 13, 2023
db7fc05
feat(hidden-hand): add hidden hand tvl (#6779)
0xhafa Jul 13, 2023
a91e896
updated nodedao etehreum tvl calculations (#6785)
chainupk Jul 13, 2023
1f8bae9
Revert "updated nodedao etehreum tvl calculations (#6785)" (#6793)
g1nt0ki Jul 13, 2023
a0fc3ad
fix helio money
g1nt0ki Jul 13, 2023
e695316
fix nexon
g1nt0ki Jul 13, 2023
3f44d74
fix liqwid
g1nt0ki Jul 13, 2023
3654ed5
fix croswap
g1nt0ki Jul 13, 2023
abf15e6
add bluespade to DefiLlama (#6795)
Bluespadexyz Jul 13, 2023
ec32dc7
Fix Owna protocol tvl by calling contract (#6790)
0xRoch Jul 13, 2023
60f2d34
track mare v2
g1nt0ki Jul 13, 2023
78f2a51
delist genshiro
g1nt0ki Jul 13, 2023
610a409
new lp in Invest (#6788)
gaspare100 Jul 13, 2023
c09e634
fix protectorate
g1nt0ki Jul 13, 2023
a610c90
Add ChainTools Adapter (#6794)
IamNimrod Jul 13, 2023
ff8493b
fix quoll
g1nt0ki Jul 13, 2023
b275d8c
sommelier: add RealYieldBTC cellar (#6797)
sandbochs Jul 13, 2023
a199fe0
add hallmarks
realdealshaman Jul 13, 2023
7587020
add new wallets to bitvenus
Define101 Jul 14, 2023
cf57b19
Merge pull request #6801 from Define101/main
Define101 Jul 14, 2023
4815943
add hallmark to multichain
Define101 Jul 14, 2023
9d535c9
New Project xWin Finance (#6792)
DainaTsuru Jul 14, 2023
9772f1b
zkswap get token breakdown
g1nt0ki Jul 14, 2023
329061f
Merge pull request #6803 from Define101/main
Define101 Jul 14, 2023
3d6943e
Revert "Revert "updated nodedao etehreum tvl calculations (#6785)" (#…
g1nt0ki Jul 14, 2023
238141e
add osmosis, injective to eris (#6802)
0xphilipp Jul 14, 2023
aff2175
fix spookyswap
g1nt0ki Jul 14, 2023
24ce57c
blacklist anyswap tokens from coreAssets
g1nt0ki Jul 14, 2023
dc7cd3c
sushiswap: fix fantom
g1nt0ki Jul 14, 2023
cedc27b
refactor yearn
g1nt0ki Jul 14, 2023
e8dddb5
update yoshi
g1nt0ki Jul 14, 2023
2407131
remove un-used adapter files
realdealshaman Jul 14, 2023
b87db77
Add Beefy Polygon zkEVM (#6812)
MirthFutures Jul 15, 2023
533b63a
Add TRON chain (#6809)
stupid-boar Jul 15, 2023
59e3aca
add yieldpulse finance (#6808)
yieldpulse Jul 15, 2023
0d6e53f
added psm tvl (#6810)
LawsonGraham Jul 15, 2023
e2a8ce9
New LPs 14/07 Scrub Invest (#6807)
gaspare100 Jul 15, 2023
261d419
add ajna
0xngmi Jul 15, 2023
ff0d227
Added Arbitrum TVL (#6806)
JossDuff Jul 15, 2023
4a442a7
Add BSC for Morphex (#6814)
daedboi Jul 15, 2023
9aa1e2a
Added new project(dex) - DerpDEX (#6815)
techyderp Jul 16, 2023
b2684db
New Scrub Invest Pool (#6816)
gaspare100 Jul 16, 2023
7ec0cdf
cull events
0xngmi Jul 16, 2023
54fd4e7
remove another event
0xngmi Jul 16, 2023
d1ceab1
add skydex tvl (#6799)
skydest Jul 17, 2023
42aff58
Update treasury (#6819)
0xortizzz Jul 17, 2023
b3e518e
Added avax, arb, and bsc chains. (#6818)
rh-low Jul 17, 2023
1031010
update colafactory adapter (#6817)
Jul 17, 2023
870e962
yield guild game adapters
Define101 Jul 17, 2023
bff9936
Merge pull request #6821 from Define101/main
Define101 Jul 17, 2023
6dda1ad
track fusionx.fi
g1nt0ki Jul 17, 2023
8ddbaf8
track fusionx v3
g1nt0ki Jul 17, 2023
d92094a
iziswap track mantle
g1nt0ki Jul 17, 2023
ac263be
Update fusion v3
0xngmi Jul 17, 2023
1726fce
track magicianmv.com
g1nt0ki Jul 17, 2023
01aa5ad
hotfix: heliswap
g1nt0ki Jul 17, 2023
a4ce1ac
minor fix
g1nt0ki Jul 17, 2023
e508f68
Moraswap V2 on Neon EVM (#6823)
0xkaidev Jul 17, 2023
291a39b
feat: add gauge staked lp token for crv pools (#6824)
camolezi Jul 17, 2023
5bb3aca
add polygon
realdealshaman Jul 17, 2023
7b8167d
Fix Pendle v2 TVL (Accounting for interest bearing token exchangeRate)
ngfam Jul 18, 2023
f15465a
Fujidaov2/refactor/add multiple factories per chain (#6813)
0xdcota Jul 18, 2023
06ee19e
add Meter Liquid Staking (#6826)
Fankouzu Jul 18, 2023
81fd958
fix tron issue by rate limiting queries
g1nt0ki Jul 18, 2023
c349c5d
Eris: Add Neutron TVL (#6831)
0xphilipp Jul 18, 2023
793e792
Added zerolend into defilamma (#6830)
Jul 18, 2023
e96e04e
fix elrond
g1nt0ki Jul 18, 2023
64be071
Merge pull request #6827 from ngfam/main
waynebruce0x Jul 18, 2023
e0e683c
track onedex
g1nt0ki Jul 18, 2023
fa2eb3c
refactor quantumx
g1nt0ki Jul 18, 2023
5b6faf7
fix broken adapters
g1nt0ki Jul 18, 2023
9667418
moraswap: code refactor
g1nt0ki Jul 18, 2023
aaf9de9
Update index.js (#6832)
StrategicReserve Jul 18, 2023
f91d2db
balancer: track base
g1nt0ki Jul 18, 2023
5a9c13b
track venus isolated pools
g1nt0ki Jul 18, 2023
e094dc0
timeswap: adds mantle chain (#6834)
waverune Jul 18, 2023
68a0856
raydium: add staking
g1nt0ki Jul 18, 2023
4778750
ondo: track polygon
g1nt0ki Jul 18, 2023
9e4899c
update gains treasury
Define101 Jul 18, 2023
ef2cdf9
update ondo
g1nt0ki Jul 19, 2023
3a1cef4
feat: ApolloX support more ALP Token: BTCB/HAY/WBNB (#6838)
bryansniyve Jul 19, 2023
8c526fb
Add TVL trackers for Sobal DEX on Neon EVM (#6837)
joehquak Jul 19, 2023
d18f770
feat: Add Hatom Protocol (#6811)
amilcarrey Jul 19, 2023
95eb959
minor fix
g1nt0ki Jul 19, 2023
c38760c
update gains treasury (#6835)
Define101 Jul 19, 2023
0321e05
[izumi-iziswap]update poolHelpers contracts (#6839)
LpcAries Jul 19, 2023
988c932
Merge pull request #6841 from Define101/main
Define101 Jul 19, 2023
1a2c38a
Add ennead (#6833)
69ren Jul 19, 2023
d856f27
hop: track arbitrum_nova
g1nt0ki Jul 19, 2023
5882a96
Add Lineabank (#6840)
layerbank-dev Jul 19, 2023
64131d7
fix: update market id and add borrow info (#6842)
nathanramli Jul 19, 2023
3579276
beamex adapter
Define101 Jul 19, 2023
73cb759
Merge branch 'main' of github.com:Define101/DefiLlama-Adapters
Define101 Jul 19, 2023
d06fea8
Merge pull request #6844 from Define101/main
Define101 Jul 19, 2023
ba595da
Update index.js (#6843)
vladjito Jul 19, 2023
f42b5e5
Revert "Update index.js (#6843)" (#6848)
g1nt0ki Jul 19, 2023
af8d972
Added stMatic vault on Polygon_zkEVM chain (#6850)
ezoia-com Jul 19, 2023
1db949b
Add ReHold V2 (#6846)
bifot Jul 19, 2023
365c893
Symbiosis (#6851)
g1nt0ki Jul 19, 2023
204f501
add Antfarm finance DAO treasury
Jul 19, 2023
43a1d31
fix bitgert issue
g1nt0ki Jul 19, 2023
0ba5169
revert change
g1nt0ki Jul 19, 2023
02f5e8d
Merge pull request #6852 from barbat0x/main
Define101 Jul 19, 2023
0c6468e
pancakeswap: track linea
g1nt0ki Jul 19, 2023
8ff4765
Add Swirllend on Linea (#6854)
Jul 19, 2023
39ae030
Updated wormhole.js (#6855)
kev1n-peters Jul 19, 2023
14e9ab3
track mantleswap.org
g1nt0ki Jul 19, 2023
99c9806
syncswap: track linea
g1nt0ki Jul 19, 2023
1079814
track https://app.horizondex.io/pool/
g1nt0ki Jul 19, 2023
72811e1
leetswap: track linea
g1nt0ki Jul 19, 2023
2674751
track https://www.echodex.io
g1nt0ki Jul 19, 2023
11ba506
track icpswap.com
g1nt0ki Jul 19, 2023
9f0be9b
set borrowed to 0
realdealshaman Jul 20, 2023
1585fc4
cryptex: remove treasury
g1nt0ki Jul 20, 2023
0761831
cryptex: refactor
g1nt0ki Jul 20, 2023
be4eb9c
fix broken adapters
g1nt0ki Jul 20, 2023
306d0cf
added Telos to IceCreamSwap (#6863)
simone1999 Jul 20, 2023
1231a34
add narwhal.finance trading vault tvl (#6862)
Coaetlicanth Jul 20, 2023
8462671
code refactor
g1nt0ki Jul 20, 2023
9ba8481
add linea config on izumi-iziswap (#6861)
LpcAries Jul 20, 2023
4214503
track https://aftermath.finance
g1nt0ki Jul 20, 2023
ec53760
Bella (#6866)
g1nt0ki Jul 20, 2023
70dcbd0
track reax.one
g1nt0ki Jul 20, 2023
f895922
minor fix
g1nt0ki Jul 20, 2023
3bd09d4
Update index.js (#6867)
Jul 20, 2023
ff299bc
Add ATOM mare Pool (#6868)
gaspare100 Jul 20, 2023
f622b9d
helio: update vaults
g1nt0ki Jul 20, 2023
4c28975
Revert "Revert "Update index.js (#6843)" (#6848)" (#6849)
g1nt0ki Jul 20, 2023
ea2315b
Add Zilch Capital on zkSync (#6847)
Jul 20, 2023
5e5289e
add(revert-evmos) (#6872)
LPX55 Jul 20, 2023
f4f957d
Added crust-finance (#6871)
LaazyPotaato Jul 20, 2023
60c681d
Added 0x0dex tvl (#6870)
0x0-ai Jul 20, 2023
595f01d
track https://agni.finance
g1nt0ki Jul 21, 2023
86d4ac3
Smardex (#6876)
g1nt0ki Jul 21, 2023
b93d462
adding Shibshift project (#6877)
Webners1 Jul 21, 2023
227eb56
track sui deepbook
g1nt0ki Jul 21, 2023
620f8d1
add SolidWorld polygon (#6856)
andreistefanwork Jul 21, 2023
4b73bb4
fetch contracts from canonical source (#6878)
codehans Jul 21, 2023
a5e0165
track reax-one lending
g1nt0ki Jul 21, 2023
aad15d0
added new chain polygon_zkevm (#6879)
dev-dozer Jul 21, 2023
444637d
add hallmark to conic
Define101 Jul 21, 2023
c720527
Merge pull request #6881 from Define101/main
Define101 Jul 21, 2023
8a19df8
update unicrypt-v3
g1nt0ki Jul 21, 2023
56fa82c
add WMNT token (#6880)
mubashirzebi Jul 21, 2023
56dd199
Ensuro: new pools and Premiums accounts (#6882)
gnarvaja Jul 22, 2023
241f1b3
feat: add zksync tvl (#6873)
bryansniyve Jul 22, 2023
6333f91
add: Evmos Community Treasury (#6883)
LPX55 Jul 22, 2023
59680e7
add dracula
0xngmi Jul 22, 2023
1d9d9c3
sharelock (#6884)
gitslok Jul 23, 2023
4373701
add dyad
0xngmi Jul 23, 2023
5b9084d
track https://dbx.finance/
g1nt0ki Jul 24, 2023
7c83ded
split pika into 2
g1nt0ki Jul 24, 2023
deb0d20
track https://app.dexfinance.com/swap
g1nt0ki Jul 24, 2023
107121e
Add DogeDollar (#6885)
Centipede5 Jul 24, 2023
1b305f3
Add Whale Game (#6889)
brightiron Jul 24, 2023
09ce378
Palmswap (#6890)
g1nt0ki Jul 24, 2023
2d5cd4c
refactor popsicle
g1nt0ki Jul 24, 2023
855a5c9
pulsar: track mantle
g1nt0ki Jul 24, 2023
b1b7510
Uptade ATE on both Arbitrum and zkSync chains (#6891)
Autoearn-Finance Jul 24, 2023
235def4
add zkswap(zksync) (#6892)
web3deadline Jul 24, 2023
74ae65b
add zk era to autoearn
Define101 Jul 24, 2023
757494c
Merge pull request #6896 from Define101/main
Define101 Jul 24, 2023
48df776
update kyberswap treasury
Define101 Jul 24, 2023
49d4b37
Merge pull request #6898 from Define101/main
Define101 Jul 24, 2023
f0e8c76
Timeswap: zkevm chain added (#6893)
waverune Jul 24, 2023
a3b6457
feat: add tvl of teahouse protocol and teahouse-v3 (#6895)
ajak1124 Jul 24, 2023
ab891e2
Dexilla: Add Arbitrum contracts (#6894)
curbisn Jul 24, 2023
140a37b
treasury geth and l2beat
Define101 Jul 24, 2023
f9624d7
Merge pull request #6900 from Define101/main
Define101 Jul 24, 2023
7494169
☀️ Summer.fi TVL adapter (#6820)
marcinciarka Jul 24, 2023
73cdd26
summer-fi: code refactor
g1nt0ki Jul 24, 2023
5e057c8
bugfix
g1nt0ki Jul 24, 2023
7b1e461
add two chains (#6902)
Rubydex Jul 24, 2023
3827882
fix ethereum chain davos protocol
Define101 Jul 25, 2023
6803dc8
Merge branch 'main' of github.com:Define101/DefiLlama-Adapters
Define101 Jul 25, 2023
c4060c1
Merge pull request #6905 from Define101/main
Define101 Jul 25, 2023
f3b0050
summer-fi: cache responses
g1nt0ki Jul 25, 2023
6d64b51
feat: adds support for base (#6906)
meetkosiso Jul 25, 2023
7f4ace6
Add arbitrum and all its pools (#6904)
supakawaiidesu Jul 25, 2023
317b881
☀️ Summer.fi - adapter fixes (#6907)
marcinciarka Jul 25, 2023
5f97453
update summer.fi
g1nt0ki Jul 25, 2023
b5fb9ea
fix broken adapters
g1nt0ki Jul 25, 2023
d088173
trufin: liquid staking
g1nt0ki Jul 25, 2023
5579d90
update summer.fi
g1nt0ki Jul 25, 2023
65cc454
new factory address agni fi
Define101 Jul 25, 2023
0ec808c
Merge pull request #6910 from Define101/main
Define101 Jul 25, 2023
bd2e7fe
Jewelswap update (#6887)
combased-dev Jul 25, 2023
5e82668
add JadeSwap (#6908)
Jadeswap Jul 25, 2023
1d4e3f3
separate fvm
0xngmi Jul 25, 2023
0ce0d3c
add jewelswap liquid staking
g1nt0ki Jul 25, 2023
6fd74b8
update jewelswap liquid staking
g1nt0ki Jul 25, 2023
f50c308
add hallmark
realdealshaman Jul 25, 2023
c681a9a
feat/rbnb (#6913)
happywomwom-wombat Jul 26, 2023
e49276a
Equity - Add new pool (#6914)
ftm1337 Jul 26, 2023
7fe6246
updated the factory address (#6915)
Jadeswap Jul 26, 2023
60e780c
gravity bridge (#6869)
chalabi2 Jul 26, 2023
069aef5
add treasury
Define101 Jul 26, 2023
6dffbde
Merge pull request #6916 from Define101/main
Define101 Jul 26, 2023
fc001d9
add factories pancake era
Define101 Jul 26, 2023
3baff0e
Merge pull request #6917 from Define101/main
Define101 Jul 26, 2023
e7abf1a
track factor v2
g1nt0ki Jul 26, 2023
9ae97dc
update drift.js
g1nt0ki Jul 26, 2023
70c2fa3
aura: track polygon
g1nt0ki Jul 26, 2023
69088d5
fix olympus
0xngmi Jul 26, 2023
7e6e371
update zkbob
g1nt0ki Jul 27, 2023
9620e08
Fix tvl double subtract bug (#6921)
Schwartz10 Jul 27, 2023
06fd0aa
track https://fcondex.com
g1nt0ki Jul 27, 2023
0072826
add optimism v3 algebra (#6927)
Zyberswap-Arbitrum Jul 27, 2023
d3b5df8
update tegisto
g1nt0ki Jul 27, 2023
7526087
Patched incorrect legacy USDC insurance fund address being used (#6925)
lukecaan Jul 27, 2023
538a79e
added ethereum to rehold-v2 (#6922)
bifot Jul 27, 2023
4e8bc76
track https://www.lendle.xyz
g1nt0ki Jul 27, 2023
320824b
add grizzly trade (#6928)
rogsta-dev Jul 27, 2023
62f8fce
add SALSA from MultiversX (#6929)
stakingagency Jul 27, 2023
998c128
update bhavish
g1nt0ki Jul 27, 2023
635c89d
added adapter for weave (#6920)
AndrewAlmost Jul 27, 2023
2aea80a
split velodrome
g1nt0ki Jul 27, 2023
14c7f24
track https://app.ammos.fi
g1nt0ki Jul 27, 2023
7d8bf1b
add cardano tvl
realdealshaman Jul 27, 2023
8477d89
PepeTeam Bridge | Add USDT/USDC on Tron (#6932)
stupid-boar Jul 27, 2023
4669ea4
track https://app.tangent.art/ (#6933)
g1nt0ki Jul 28, 2023
a62b6d1
Count owna offers + fix missing borrowed tvl (#6934)
0xRoch Jul 28, 2023
7af3d2a
Add BSC & Polygon PoS to Prime Protocol (#6935)
nbayindirli Jul 28, 2023
16cc569
Paraspace (#6942)
g1nt0ki Jul 28, 2023
51b0a5e
track lodestar-v1
g1nt0ki Jul 28, 2023
48cc036
update fluidity
g1nt0ki Jul 28, 2023
3ce2de1
fix izumi
g1nt0ki Jul 28, 2023
02c2493
fix sunswap
g1nt0ki Jul 28, 2023
d7eeaf9
fix sft
g1nt0ki Jul 28, 2023
f7667af
fix broken adapters
g1nt0ki Jul 28, 2023
fef3ba9
track sablier-v2
g1nt0ki Jul 29, 2023
6f04907
fix synatx
0xngmi Jul 29, 2023
d384459
add new pool
realdealshaman Jul 29, 2023
c36641b
add rug event
0xngmi Jul 30, 2023
8d1d921
arbitrove tvl (#6951)
deboguer-jng Jul 30, 2023
344dacc
add yogurtfinance (#6950)
devsceth Jul 30, 2023
0e00992
retro adapter (#6949)
christianholman Jul 30, 2023
fb183fd
update Lendle adapter (#6948)
LendleM Jul 30, 2023
948d64a
leetswap: track base (#6945)
Gilgames000 Jul 30, 2023
014edf5
here wallet support (#6946)
pvolnov Jul 30, 2023
2f4feb8
track openworld.vision
g1nt0ki Jul 30, 2023
d538421
sft v2 upgrade to new api url (#6947)
lite Jul 30, 2023
68ba806
add base chain for velocimeter (#6952)
oxSaturn Jul 30, 2023
9f8436b
Track pETH-ETH liquidity drain (#6953)
0xmichalis Jul 30, 2023
e3abe43
add distressed asset check
realdealshaman Jul 30, 2023
5ad3e06
move bulky adapters
g1nt0ki Jul 30, 2023
d099ca9
fix harvest pump from hack
0xngmi Jul 31, 2023
6057303
vivaleva
swimmiee Jul 31, 2023
2d9f097
Update index.js
geunwoobaek Aug 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/getFileList.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ const fileSet = new Set();

[...MODIFIED, ...ADDED].forEach(file => {
const [root, dir] = file.split('/')
if (dir === 'treasury') fileSet.add(file)
if (dir === 'treasury' || dir === 'entities') fileSet.add(file)
else if (root === 'projects' && dir !=='helper' && dir !== 'config') fileSet.add(root + '/' + dir)
})

console.log(JSON.stringify([...fileSet]))

function parse(data) {
return data.replace('[', '').replace(']', '').split(',')
}
}
1 change: 1 addition & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
- name: Run changes files through test script
env:
LLAMA_DEBUG_MODE: "true"
BSC_RPC: https://rpc.ankr.com/bsc,https://bsc-dataseed4.binance.org
run: |
RUN_FILES=$(
MODIFIED=${{ steps.file_changes.outputs.files_modified}} \
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ Follow [this guide](https://docs.llama.fi/submit-a-project) to create an adapter

Also, don't hesitate to send a message on [our discord](https://discord.defillama.com/) if we're late to merge your PR.

> If you would like to add a `volume` adapter please submit the PR [here](https://github.com/DefiLlama/adapters).
> If you would like to add a `volume` adapter please submit the PR [here](https://github.com/DefiLlama/adapters)
> - If you would like to add a `liquidations` adapter, please refer to [this readme document](https://github.com/DefiLlama/DefiLlama-Adapters/tree/main/liquidations) for details.

1. Once your adapter has been merged, it takes time to show on the UI. If more than 24 hours have passed, please let us know in Discord.
2. Please enable "Allow edits by maintainers" while putting up the PR.
3. Sorry, We no longer accept fetch adapter for new projects, we prefer the tvl to computed from blockchain data, if you have trouble with creating a the adapter, please hop onto our discord, we are happy to assist you.
4. **For updating listing info** It is a different repo, you can find your listing in this file: https://github.com/DefiLlama/defillama-server/blob/master/defi/src/protocols/data2.ts, you can edit it there and put up a PR
5. Do not edit/push `package-lock.json` file as part of your changes, we use lockfileVersion 2, and most use v1 and using that messes up our CI
6. No need to go to our discord and announce that you've created a PR, we monitor all PRs and will review it asap

## Getting listed

Expand All @@ -27,11 +35,6 @@ If you want to change RPC providers because you need archive node access or beca
ETHEREUM_RPC="..."
BSC_RPC="..."
POLYGON_RPC="..."
FANTOM_RPC="..."
ARBITRUM_RPC="..."
OPTIMISM_RPC="..."
XDAI_RPC="..."
HARMONY_RPC="..."
```

The name of each rpc is `{CHAIN-NAME}_RPC`, and the name we use for each chain can be found [here](https://github.com/DefiLlama/defillama-sdk/blob/master/src/providers.json)
174 changes: 174 additions & 0 deletions liquidations/gravita-protocol/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
import axios from "axios";
import BigNumber from "bignumber.js";
import { Liq } from "../utils/types";
const sdk = require("@defillama/sdk");

type MulticallResponse<T> = {
output: {
input: any;
success: boolean;
output: T;
}[];
};

const ADMIN_CONTRACT_ADDRESS = "0xf7Cc67326F9A1D057c1e4b110eF6c680B13a1f53";
const VESSEL_MANAGER_CONTRACT_ADDRESS = "0xdB5DAcB1DFbe16326C3656a88017f0cB4ece0977";
const BLUSD_CONTRACT_ADDRESS = "0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3";
const WETH_CONTRACT_ADDRESS = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";

const EXPLORER_BASE_URL = "https://etherscan.io/address/";

const getTokenInfo = async (tokenId: string) => {
const info = (await axios.get("https://coins.llama.fi/prices/current/" + tokenId)).data.coins as {
[tokenId: string]: {
decimals: number;
price: number;
symbol: string;
timestamp: number;
confidence: number;
};
};
const price = info[tokenId];
return price;
};

// cr * debt / collateral = price
const calculateLiquidationPrice = (debt: string, collateral: string, cr: string) => {
const price = new BigNumber(cr).times(debt).div(collateral).toString();
return price;
};

const tokenToCollateralAddress = (token: string) => {
if (token === WETH_CONTRACT_ADDRESS) {
return "ethereum:0x0000000000000000000000000000000000000000"
}
return "ethereum:" + token
}

const positions = async () => {
let collAddresses = (await sdk.api.abi.call({
abi: "function getValidCollateral() external view returns (address[])",
target: ADMIN_CONTRACT_ADDRESS,
})).output;

collAddresses = collAddresses.filter(i => i !== BLUSD_CONTRACT_ADDRESS) // BLUSD is not liquidatable

// get prices for calculating recovery mode
const prices = {}
for (const c of collAddresses) {
const info = await getTokenInfo(`ethereum:${c}`)
prices[c] = BigNumber(info.price).times(10e18).toFixed()
}

const vesselCounts = (
(await sdk.api.abi.multiCall({
calls: collAddresses.map((i) => ({ target: VESSEL_MANAGER_CONTRACT_ADDRESS, params: [i] })),
abi: "function getVesselOwnersCount(address) external view returns (uint256)",
requery: true,
})) as MulticallResponse<number>
).output.map((x, i) => {
return {
asset: collAddresses[i],
count: x.output
}
});

const vesselOwnerQueries = ([] as any[]).concat(...vesselCounts.map(({ asset, count }) => {
return Array.from(Array(Number(count))).map((_, i) => {
return {
target: VESSEL_MANAGER_CONTRACT_ADDRESS,
params: [asset, i]
}
})
}));

const vesselAddresses = (
(await sdk.api.abi.multiCall({
calls: vesselOwnerQueries,
abi: "function getVesselFromVesselOwnersArray(address,uint256) external view returns (address)",
requery: true,
})) as MulticallResponse<string>
).output.map((x, i) => {
return {
asset: vesselOwnerQueries[i].params[0],
vessel: x.output
}
});

const vesselDebtsAndCollaterals = (
(await sdk.api.abi.multiCall({
calls: vesselAddresses.map((i) => ({ target: VESSEL_MANAGER_CONTRACT_ADDRESS, params: [i.asset, i.vessel] })),
abi: "function getEntireDebtAndColl(address,address) external view returns (uint256,uint256,uint256,uint256)",
requery: true,
})) as MulticallResponse<any>
).output.map((x, i) => {
return {
asset: vesselAddresses[i].asset,
owner: vesselAddresses[i].vessel,
coll: x.output[1],
debt: x.output[0]
}
});

const recoveryModeCRs = (
(await sdk.api.abi.multiCall({
calls: collAddresses.map((i) => ({ target: ADMIN_CONTRACT_ADDRESS, params: [i] })),
abi: "function getCcr(address) external view returns (uint256)",
requery: true,
})) as MulticallResponse<string>
).output.map((x, i) => {
return {
asset: collAddresses[i],
recoveryCR: BigNumber(x.output).div(10e17).toFixed(3)
}
});

const minimumCRs = (
(await sdk.api.abi.multiCall({
calls: collAddresses.map((i) => ({ target: ADMIN_CONTRACT_ADDRESS, params: [i] })),
abi: "function getMcr(address) external view returns (uint256)",
requery: true,
})) as MulticallResponse<string>
).output.map((x, i) => {
return {
asset: collAddresses[i],
minCR: BigNumber(x.output).div(10e17).toFixed(3)
}
});

const recoveryModes = (
(await sdk.api.abi.multiCall({
calls: collAddresses.map((i) => ({ target: VESSEL_MANAGER_CONTRACT_ADDRESS, params: [i, prices[i]] })),
abi: "function checkRecoveryMode(address,uint256) external view returns (bool)",
requery: true,
})) as MulticallResponse<boolean>
).output.map((x, i) => {
return {
asset: collAddresses[i],
isRecoveryMode: x.output
}
});

const vessels = vesselDebtsAndCollaterals.map(({ asset, coll, debt, owner }) => {
const cr = recoveryModes.find(i => i.asset === asset).isRecoveryMode ?
recoveryModeCRs.find(i => i.asset === asset).recoveryCR :
minimumCRs.find(i => i.asset === asset).minCR;
return {
owner,
liqPrice: Number(calculateLiquidationPrice(debt, coll, cr)),
collateral: tokenToCollateralAddress(asset), // ETH
collateralAmount: coll,
extra: {
url: EXPLORER_BASE_URL + owner,
},
} as Liq;
});

return vessels;
};

module.exports = {
ethereum: {
liquidations: positions,
},
};
24 changes: 0 additions & 24 deletions liquidations/kolibri/index.ts

This file was deleted.

96 changes: 0 additions & 96 deletions liquidations/kolibri/utils.ts

This file was deleted.

20 changes: 10 additions & 10 deletions liquidations/mimo-protocol/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ const latestRoundDataABI = {
enum Chain {
ethereum = "ethereum",
polygon = "polygon",
fantom = "fantom",
// fantom = "fantom",
}

const getEURUSD = async (chain: Chain) => {
const oracleAddresses = {
[Chain.ethereum]: "0xb49f677943bc038e9857d61e7d053caa2c1734c1",
[Chain.polygon]: "0x73366fe0aa0ded304479862808e02506fe556a98",
[Chain.fantom]: "0x3e68e68ea2c3698400465e3104843597690ae0f7",
// [Chain.fantom]: "0x3e68e68ea2c3698400465e3104843597690ae0f7",
};

const eurUSDRoundData = await sdk.api.abi.call({
Expand All @@ -56,11 +56,11 @@ const getSubgraphUrl = (chain: Chain) => {
subgraphUrl = "https://api.thegraph.com/subgraphs/name/m19/titanpolygon";
break;
}
case Chain.fantom: {
subgraphUrl =
"https://api.thegraph.com/subgraphs/name/rayxpub/titanfantom";
break;
}
// case Chain.fantom: {
// subgraphUrl =
// "https://api.thegraph.com/subgraphs/name/rayxpub/titanfantom";
// break;
// }
}

return subgraphUrl;
Expand Down Expand Up @@ -194,7 +194,7 @@ module.exports = {
polygon: {
liquidations: positions(Chain.polygon),
},
fantom: {
liquidations: positions(Chain.fantom),
},
// fantom: {
// liquidations: positions(Chain.fantom),
// },
};
Loading