Skip to content

Commit b19b41f

Browse files
authored
Fix: Velvet v3 (DefiLlama#12213)
1 parent f009c9a commit b19b41f

File tree

1 file changed

+19
-27
lines changed

1 file changed

+19
-27
lines changed

projects/velvet-capital-v3/index.js

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,30 @@
11
const ADDRESSES = require('../helper/coreAssets.json')
22
const { sumTokens2 } = require('../helper/unwrapLPs')
33

4-
async function tvl(api) {
5-
const indexes = await api.fetchList({ lengthAbi: 'uint256:portfolioId', itemAbi: 'function getPortfolioList(uint256) view returns (address)', target: config[api.chain] })
6-
const [tokens, vaults] = await Promise.all([
7-
api.multiCall({ abi: 'address[]:getTokens', calls: indexes }),
8-
api.multiCall({ abi: 'address:vault', calls: indexes }),
9-
])
10-
11-
const blacklistsByChain = {
12-
base: [
13-
ADDRESSES.bsc.USDT
14-
],
15-
bsc: [
16-
ADDRESSES.optimism.WETH_1
17-
]
18-
}
4+
const config = {
5+
base: { address: '0xf93659fb357899e092813bc3a2959ceDb3282a7f', blacklistedTokens: [ADDRESSES.bsc.USDT, "0x96af5739ca66ca55ab71ac9f308720d5044995ee"] },
6+
bsc: { address: '0xA1fe1C37Bf899C7F7521082C002dFA4fEbAaA8dd', blacklistedTokens: [ADDRESSES.optimism.WETH_1] }
7+
}
198

20-
const blacklistedTokens = blacklistsByChain[api.chain] || []
9+
const abi = {
10+
getTokens: 'address[]:getTokens',
11+
vault: 'address:vault'
12+
}
2113

14+
async function tvl(api, address, blacklistedTokens) {
15+
const indexes = await api.fetchList({ lengthAbi: 'uint256:portfolioId', itemAbi: 'function getPortfolioList(uint256) view returns (address)', target: address })
16+
const [tokens, vaults] = await Promise.all([
17+
api.multiCall({ abi: abi.getTokens, calls: indexes }),
18+
api.multiCall({ abi: abi.vault, calls: indexes }),
19+
])
2220

23-
const ownerTokens = tokens.map((tokens, i) => [tokens, vaults[i]]);
21+
const ownerTokens = vaults.map((vault, i) => ([tokens[i], vault]))
2422
return sumTokens2({ api, ownerTokens, resolveLP: true, blacklistedTokens});
2523
}
2624

27-
module.exports = {
28-
methodology: 'calculates overall value deposited across different protocol portfolios',
29-
}
30-
31-
const config = {
32-
base : '0xf93659fb357899e092813bc3a2959ceDb3282a7f',
33-
bsc: '0xA1fe1C37Bf899C7F7521082C002dFA4fEbAaA8dd'
34-
}
25+
module.exports = { methodology: 'calculates overall value deposited across different protocol portfolios' }
3526

3627
Object.keys(config).forEach(chain => {
37-
module.exports[chain] = { tvl }
38-
})
28+
const { address, blacklistedTokens } = config[chain]
29+
module.exports[chain] = { tvl: (api) => tvl(api, address, blacklistedTokens) }
30+
})

0 commit comments

Comments
 (0)