Skip to content

Commit 3d6cd56

Browse files
committed
Merge branch 'main' of github.com:DefiLlama/DefiLlama-Adapters
* 'main' of github.com:DefiLlama/DefiLlama-Adapters: (164 commits) add gate wallets (DefiLlama#14961) Add adapter for nebula on nibiru (DefiLlama#14924) ci fix (DefiLlama#14957) DegenPrime - Add new lending pools and tokens (DefiLlama#14951) *bugfix: remove doublecount bugfix Bitkub lending (DefiLlama#14949) add aave on soneium (DefiLlama#14947) track aave umbrella Update Concrete (DefiLlama#14944) clean-up Trading strategy (DefiLlama#14943) update @defillama/sdk fix ens fix bug Add Marinade Select tvl adapter (DefiLlama#14928) Support Spark Liquidity Layer on Optimism and Unichain (DefiLlama#14938) update adapters on nibiru chains (DefiLlama#14940) Added missing Corn coreAssets to fix Uniswap TVL (DefiLlama#14930) update nibiru rpc Add new pools (DefiLlama#14925) feat: add luckystake adapter (DefiLlama#14919) keep old contracts for now (DefiLlama#14937) feat: batch listing (DefiLlama#14927) Add Swirl Liquid Staking Protocol (DefiLlama#14904) add X3X on World Chain (DefiLlama#14929) Add new Hydration adapters (DefiLlama#14923) add benji update lock version code refactor code refactor Optimize unicrypt + pinksale (DefiLlama#14922) Fix aptos Fungible helper (DefiLlama#14918) add indxs.app (DefiLlama#14915) Add granite (DefiLlama#14917) Amped sseed (DefiLlama#14916) Add files via upload (DefiLlama#14899) Add stellar tvl (DefiLlama#14646) add unichain morpho vaults for curators (DefiLlama#14911) temp disable nibiru adapters (DefiLlama#14910) projects(uniswap): add Uniswap deployment on Nibiru (DefiLlama#14890) projects(silverswap): Nibiru has a SilverSwap deployment on mainnet (DefiLlama#14889) kamino lend - borrows (DefiLlama#14909) ZEROBASE adaptor for DeFiLama (DefiLlama#14832) feat: Add fungible support aptos (DefiLlama#14905) up vestingHelper limit for bsc (DefiLlama#14903) feat(satlayer): add BOB to `satlayer` tvl (DefiLlama#14900) Add milkINIT TVL for MilkyWay (DefiLlama#14902) [Bucket]" add xBTC collateral (DefiLlama#14897) add v2 liquidity and plume (DefiLlama#14824) Update ExtraFi Xlend TVL to include Morpho Vaults (DefiLlama#14886) stability: keep old markets and adapter name (DefiLlama#14892) disable pool2, add hallmark (DefiLlama#14898) [Update] desyn add goat chain (DefiLlama#14896) Add Tokenized Balance Sheet Vaults for Origami (DefiLlama#14895) fix cex usdt aptos (DefiLlama#14894) Add Dre Finance (DefiLlama#14883) Fix Sei TVL + Add Sonic TVL (DefiLlama#14368) New OTTV contract (DefiLlama#14875) Add new berancia vaults (DefiLlama#14877) symbiosis add hyper evm support (DefiLlama#14887) remove dup vaults (DefiLlama#14888) fix aptos token (DefiLlama#14884) add price usdt aptos (DefiLlama#14882) Smardex / USDN: Use recipient as owner of the position (DefiLlama#14881) Catex/unichain migration (DefiLlama#14859) remove dai blacklist (DefiLlama#14880) Fix Moar TVL calculation (DefiLlama#14879) add hallmarks tracking on starknet (DefiLlama#14878) dynamic get vaults lists (DefiLlama#14869) Update: D2Finance (DefiLlama#14876) Sui Rewards Me - Project Listing resubmission with requested updates (DefiLlama#14874) Add aptos address of flipster (DefiLlama#14872) disable historical queries (DefiLlama#14871) update curator tvl sources (DefiLlama#14870) add iteration 2 pools (DefiLlama#14862) fix: Add Credbull Plume TVL. Map Plume Stargate USDC.e. (DefiLlama#14861) update sdk to latest version (DefiLlama#14866) feat: update milkBABY and add milkINIT commented out because of issues (DefiLlama#14767) add wstASTR vault (DefiLlama#14864) Fix: Wasabi, dedup + bera (DefiLlama#14865) fix ironbank feature: add Arkis Wrapped Hype Vault to Arkis adapter (DefiLlama#14796) doublecount protocols first batch (DefiLlama#14705) Update olab (DefiLlama#14860) correct native token mappings where possible (DefiLlama#14850) Add new berancia vaults (DefiLlama#14855) Ensuro: adds Compound Blue (compUSDC) to the TVL calculation (DefiLlama#14851) fix: Swissborg - Use cosmos addresses instead of evm (DefiLlama#14858) Commit Hybra V2 (DefiLlama#14854) addresses fixed (DefiLlama#14853) Curve: track hyperliquid (DefiLlama#14852) fix concentrated pool recognition (DefiLlama#14849) code cleanup chore: add yearn curating vaults (DefiLlama#14845) code cleanup migrate coin mapping Saros Dlmm (DefiLlama#14847) add Jiko (DefiLlama#14843) code refactor ...
2 parents bd54d66 + f0427ba commit 3d6cd56

File tree

255 files changed

+4673
-3922
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+4673
-3922
lines changed

liquidations/smardex/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ const calculateLiquidationPrice = (position: Position): number => {
6868

6969
const formatPosition = (position: Position): Liq => {
7070
const owner =
71-
position.mainPosition?.lastOwner?.address || '0x0000000000000000000000000000000000000000';
71+
position.recipient || '0x0000000000000000000000000000000000000000';
7272

7373
const searchParam = position.history && position.history.length > 0 ?
7474
position.history[position.history.length - 1].transactionHash : position.index;

package-lock.json

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

projects/9summits/index.js

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
11
const { getCuratorExport } = require("../helper/curators");
22

33
const configs = {
4-
methodology: 'Count all assets are depoisted in all vaults curated by 9Summits.',
4+
methodology: 'Count all assets are deposited in all vaults curated by 9Summits.',
55
blockchains: {
66
ethereum: {
7+
morphoVaultOwners: [
8+
'0x23E6aecB76675462Ad8f2B31eC7C492060c2fAEF',
9+
],
710
morpho: [
8-
'0xb5e4576C2FAA16b0cC59D1A2f3366164844Ef9E0',
9-
'0xD5Ac156319f2491d4ad1Ec4aA5ed0ED48C0fa173',
10-
'0x1E2aAaDcF528b9cC08F43d4fd7db488cE89F5741',
11-
'0x00B6f2C15E4439749f192D10c70f65354848Cf4b',
12-
'0x0bB2751a90fFF62e844b1521637DeD28F3f5046A',
11+
'0xb5e4576C2FAA16b0cC59D1A2f3366164844Ef9E0', // co-curator with tulip-capital
12+
'0x1E2aAaDcF528b9cC08F43d4fd7db488cE89F5741', // co-curator with tulip-capital
13+
'0x0bB2751a90fFF62e844b1521637DeD28F3f5046A', // co-curator with tulip-capital
14+
],
15+
turtleclub: [
16+
'0xa853d8f5f253468495c5a92d54a3fe6cca2aa26b',
17+
'0x7388d4b5c4cfc96c9105de913717ba7519178129',
18+
'0xDe7CFf032D453Ce6B0a796043E75d380Df258812',
19+
'0xAF87B90E8a3035905697E07Bb813d2d59D2b0951',
1320
],
1421
},
1522
base: {
16-
morpho: [
17-
'0x5496b42ad0deCebFab0db944D83260e60D54f667',
18-
'0xF540D790413FCFAedAC93518Ae99EdDacE82cb78'
23+
morphoVaultOwners: [
24+
'0x23E6aecB76675462Ad8f2B31eC7C492060c2fAEF',
25+
],
26+
},
27+
unichain: {
28+
morphoVaultOwners: [
29+
'0x59e608E4842162480591032f3c8b0aE55C98d104',
1930
],
2031
},
2132
}

projects/Fountain-Protocol/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@ module.exports= mergeExports([
1111
[unitroller_lpt_oasis, '0x63f1fe2e1da490611fc16e4a5d92b7ec7d0911a9'],
1212
].map( ([comptroller, cether]) => ({
1313
oasis: compoundExports2({ comptroller, cether, }),
14-
})))
14+
})))
15+
16+
module.exports.deadFrom = '2023-06-22'
17+
module.exports.oasis.borrowed= () => ({})

projects/MellowProtocol/index.js

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,16 @@ Object.keys(config).forEach(chain => {
2929
module.exports[chain] = {
3030
tvl: async (api) => {
3131
const balances = {}
32-
const logs = await getLogs({
33-
api,
34-
target: registry,
35-
topic: 'VaultRegistered(address,address,uint256,address,address)',
36-
fromBlock,
37-
eventAbi: 'event VaultRegistered (address indexed origin, address indexed sender, uint256 indexed nft, address vault, address owner)',
38-
onlyArgs: true,
39-
extraKey: 'VaultRegistered'
40-
})
41-
const vaultKeys = {}
42-
logs.forEach(i => vaultKeys[i.nft] = i.vault)
43-
const tokenLockedLogs = await getLogs({
44-
api,
45-
target: registry,
46-
topic: 'TokenLocked(address,address,uint256)',
47-
fromBlock,
48-
eventAbi: 'event TokenLocked (address indexed origin, address indexed sender, uint256 indexed nft)',
49-
onlyArgs: true,
50-
extraKey: 'TokenLocked'
51-
})
52-
tokenLockedLogs.forEach(i => delete vaultKeys[i.nft])
53-
let vaults = Object.values(vaultKeys)
32+
33+
const vaults = await api.call({ abi: 'function vaults() view returns (address[])', target: registry })
5434
const tokens = await api.multiCall({ abi: 'function vaultTokens() view returns (address[])', calls: vaults })
5535
const bals = await api.multiCall({ abi: 'function tvl() view returns (uint256[] minTokenAmounts, uint256[] maxTokenAmounts)', calls: vaults, permitFailure: true })
5636
tokens.forEach((tokens, i) => {
5737
if (!bals[i]) return;
5838
let balsInner = bals[i].minTokenAmounts
5939
tokens.forEach((v, i) => sdk.util.sumSingleBalance(balances, v, balsInner[i], api.chain))
6040
})
41+
6142
return balances
6243
}
6344
}

projects/SMARDEX-P2P-Lending/index.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const headers = {
2+
origin: "https://subgraph.smardex.io",
3+
referer: "https://subgraph.smardex.io",
4+
"x-api-key": process.env.SMARDEX_SUBGRAPH_API_KEY,
5+
};
6+
7+
const subgraphUrl = "https://subgraph.smardex.io/ethereum/spro";
8+
9+
const getTokenMetrics = async () => {
10+
const tokenMetricsQuery = `{
11+
tokenMetrics_collection {
12+
id
13+
totalCollateralAmount
14+
totalBorrowedAmount
15+
}
16+
}`;
17+
18+
const result = await fetch(subgraphUrl, {
19+
method: "POST",
20+
headers,
21+
body: JSON.stringify({
22+
query: tokenMetricsQuery,
23+
}),
24+
}).then((res) => res.json());
25+
return result?.data?.tokenMetrics_collection || [];
26+
};
27+
28+
async function getP2pData(isBorrowed = false) {
29+
const tokenMetrics = await getTokenMetrics();
30+
31+
return tokenMetrics.reduce((acc, token) => {
32+
const totalBorrowedAmount = parseFloat(token.totalBorrowedAmount);
33+
34+
return {
35+
...acc,
36+
[token.id]:
37+
// We only need to add the total collateral amount if it's not borrowed
38+
totalBorrowedAmount + parseFloat(isBorrowed ? 0 : token.totalCollateralAmount),
39+
};
40+
}, {});
41+
}
42+
43+
module.exports = {
44+
ethereum: {
45+
tvl: () => getP2pData(),
46+
borrowed: () => getP2pData(true),
47+
},
48+
};
49+
// node test.js projects/p2p-lending/index.js

projects/SMARDEX-USDN/index.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
const ADDRESSES = require('../helper/coreAssets.json')
2+
3+
const USDN_PROTOCOL_ADDRESS = "0x656cB8C6d154Aad29d8771384089be5B5141f01a";
4+
const WSTETH_TOKEN_ADDRESS = ADDRESSES.ethereum.WSTETH;
5+
const REBALANCER_ADDRESS = "0xaebcc85a5594e687f6b302405e6e92d616826e03";
6+
7+
async function fetchUSDNData(api) {
8+
9+
const balanceVault = await api.call({ target: USDN_PROTOCOL_ADDRESS, abi: "uint256:getBalanceVault", });
10+
const balanceLong = await api.call({ target: USDN_PROTOCOL_ADDRESS, abi: "uint256:getBalanceLong", });
11+
const rebalancerCurrentStateData = await api.call({
12+
target: REBALANCER_ADDRESS,
13+
abi: "function getCurrentStateData() view returns (uint128 pendingAssets_, uint256 maxLeverage_, (int24 tick, uint256 tickVersion, uint256 index) currentPosId_)",
14+
});
15+
16+
return {
17+
getBalanceVault: balanceVault,
18+
getBalanceLong: balanceLong,
19+
rebalancerPendingAssets: rebalancerCurrentStateData.pendingAssets_,
20+
};
21+
}
22+
23+
const getEthereumTVL = async (api, block, chainBlocks) => {
24+
const usdnData = await fetchUSDNData(api);
25+
26+
api.add(WSTETH_TOKEN_ADDRESS, Object.values(usdnData))
27+
return api.getBalances();
28+
};
29+
30+
module.exports["ethereum"] = {
31+
timetravel: true,
32+
tvl: getEthereumTVL
33+
};

projects/SmarDex/index.js

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,11 @@ const config = {
1010
};
1111

1212
const ethereumFactory = "0xB878DC600550367e14220d4916Ff678fB284214F";
13-
const USDN_PROTOCOL_ADDRESS = "0x656cB8C6d154Aad29d8771384089be5B5141f01a";
14-
const WSTETH_TOKEN_ADDRESS = ADDRESSES.ethereum.WSTETH;
15-
const REBALANCER_ADDRESS = "0xaebcc85a5594e687f6b302405e6e92d616826e03";
16-
17-
async function fetchUSDNData(api) {
18-
19-
const balanceVault = await api.call({ target: USDN_PROTOCOL_ADDRESS, abi: "uint256:getBalanceVault", });
20-
const balanceLong = await api.call({ target: USDN_PROTOCOL_ADDRESS, abi: "uint256:getBalanceLong", });
21-
const rebalancerCurrentStateData = await api.call({
22-
target: REBALANCER_ADDRESS,
23-
abi: "function getCurrentStateData() view returns (uint128 pendingAssets_, uint256 maxLeverage_, (int24 tick, uint256 tickVersion, uint256 index) currentPosId_)",
24-
});
25-
26-
return {
27-
getBalanceVault: balanceVault,
28-
getBalanceLong: balanceLong,
29-
rebalancerPendingAssets: rebalancerCurrentStateData.pendingAssets_,
30-
};
31-
}
3213

3314
const getEthereumTVL = async (api, block, chainBlocks) => {
34-
const usdnData = await fetchUSDNData(api);
3515
const uniTVL = await getUniTVL({ factory: ethereumFactory, fetchBalances: true, useDefaultCoreAssets: false })(api, block, chainBlocks);
3616

3717
api.addBalances(uniTVL)
38-
api.add(WSTETH_TOKEN_ADDRESS, Object.values(usdnData))
3918
return api.getBalances();
4019
};
4120

projects/SypherFinance/index.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const { sumTokens2 } = require("../helper/unwrapLPs");
2+
const { staking } = require('../helper/staking')
3+
4+
const main_contract = '0xa77BaD7300d954BF9fad8d583ECd3E85a62b8CC0'
5+
6+
const token = '0x5dd2750f18Da3e5933a20340B0fa10cef56A8B07'
7+
const sToken = '0x5Fa631D20B685Aff98aCF4EaAACe28cDbd86f3D3'
8+
9+
module.exports = {
10+
base: {
11+
tvl: async (api) => {
12+
const pools = await api.call({ target: main_contract, abi: "function getAllPools() public view returns(address[] memory list)" })
13+
const tokens = await api.multiCall({ abi: "function getPoolTokens(address _pool) public view returns(address[] memory list)", target: main_contract, calls: pools })
14+
return sumTokens2({ api, ownerTokens: tokens.map((v, i) => [v, pools[i]]), })
15+
},
16+
staking: staking(sToken, token)
17+
}
18+
}

projects/TowerDEX/factoryTvl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async function getAllPairs(factory, chain, {blacklistedPairs = []} = {}) {
4949
return dtos
5050
}
5151

52-
const isNotXYK = (pair) => pair.pair_type && pair.pair_type.custom === 'concentrated'
52+
const isNotXYK = (pair) => pair.pair_type && pair.pair_type.concentrated
5353

5454
function getFactoryTvl(factory, {blacklistedPairs = []} = {}) {
5555
return async (api) => {

projects/ZEROBASE/index.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
const CONFIG = {
2+
ethereum: {
3+
vault: '0x9eF52D8953d184840F2c69096B7b3A7dA7093685',
4+
tokens: ['0xdAC17F958D2ee523a2206206994597C13D831ec7', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48']
5+
},
6+
bsc: {
7+
vault: '0xCc5Df5C68d8c991035B6A437D4e00A99875228E4',
8+
tokens: ['0x55d398326f99059fF775485246999027B3197955', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d']
9+
},
10+
polygon: {
11+
vault: '0xCc5Df5C68d8c991035B6A437D4e00A99875228E4',
12+
tokens: ['0xc2132D05D31c914a87C6611C10748AEb04B58e8F', '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359']
13+
},
14+
arbitrum: {
15+
vault: '0xCc5Df5C68d8c991035B6A437D4e00A99875228E4',
16+
tokens: ['0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', '0xaf88d065e77c8cC2239327C5EDb3A432268e5831']
17+
},
18+
optimism: {
19+
vault: '0xCc5Df5C68d8c991035B6A437D4e00A99875228E4',
20+
tokens: ['0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85']
21+
},
22+
avax: {
23+
vault: '0xC3e9006559cB209a987e99257986aA5Ce324F829',
24+
tokens: ['0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7', '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E']
25+
},
26+
base: {
27+
vault: '0xCc5Df5C68d8c991035B6A437D4e00A99875228E4',
28+
tokens: ['0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913']
29+
}
30+
}
31+
32+
const abis = {
33+
getTVL: "function getTVL(address _token) view returns (uint256)"
34+
}
35+
36+
module.exports = {
37+
methodology: 'For each chain: call getTVL(token) on its vault and sum per-token amounts',
38+
}
39+
40+
const tvl = async (api) => {
41+
const { vault, tokens } = CONFIG[api.chain]
42+
const balances = await api.multiCall({ abi: abis.getTVL, calls: tokens.map((t) => ({ target: vault, params: [t]})) })
43+
tokens.forEach((t, i) => { api.add(t, balances[i]) })
44+
}
45+
46+
Object.keys(CONFIG).forEach((chain) => {
47+
module.exports[chain] = { tvl }
48+
})

projects/aave-umbrella/index.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const config = {
2+
ethereum: { factories: ['0xd400fc38ed4732893174325693a63c30ee3881a8'], }
3+
}
4+
5+
Object.keys(config).forEach(chain => {
6+
const { factories, } = config[chain]
7+
module.exports[chain] = {
8+
tvl: async (api) => {
9+
const stkTokens = (await api.multiCall({ calls: factories, abi: 'address[]:getStkTokens' })).flat()
10+
const tokens = await api.multiCall({ abi: 'address:asset', calls: stkTokens })
11+
return api.sumTokens({ tokensAndOwners2: [tokens, stkTokens], })
12+
}
13+
}
14+
})
15+
16+
module.exports.doublecounted = true

projects/aave-v3/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ const CONFIG = {
2020
era: ['0x5F2A704cE47B373c908fE8A29514249469b52b99'],
2121
linea: ['0x2D97F8FA96886Fd923c065F5457F9DDd494e3877'],
2222
sonic: ['0x306c124fFba5f2Bc0BcAf40D249cf19D492440b9'],
23-
celo: ['0x33b7d355613110b4E842f5f7057Ccd36fb4cee28']
23+
celo: ['0x33b7d355613110b4E842f5f7057Ccd36fb4cee28'],
24+
soneium: ['0xa0208CE8356ad6C5EC6dFb8996c9A6B828212022'],
2425
};
2526

2627
const fetchReserveData = async (api, poolDatas, isBorrowed) => {

projects/accumulated-finance-lending/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ const config = {
2727
}
2828
}
2929
],
30+
"bitkub": [{
31+
"bitkub": {
32+
address: "0xc293a0a2521188f9c81e6e11f577649e671f9965",
33+
collateralToken: '0x7ac168c81f4f3820fa3f22603ce5864d6ab3c547'
34+
}
35+
}],
3036
};
3137

3238
function transformConfig(config) {

projects/acryptos/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ function fetchallchain(chainId) {
2020

2121
module.exports = {
2222
timetravel: false,
23-
methodology: "Acryptos TVL is the USD value of token within the vault and farm contracts",
23+
methodology: "Acryptos TVL is the USD value of token within the vault and farm contracts",
24+
misrepresentedTokens: true,
2425
ethereum: {
2526
tvl: fetchallchain(1),
2627
},

projects/alphaping/index.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
const { getCuratorExport } = require("../helper/curators");
22

33
const configs = {
4-
methodology: 'Count all assets are depoisted in all vaults curated by Alphaping.',
4+
methodology: 'Count all assets are deposited in all vaults curated by Alphaping.',
55
blockchains: {
66
ethereum: {
7-
morpho: [
8-
'0xb0f05E4De970A1aaf77f8C2F823953a367504BA9',
9-
'0x6619F92861C760AD11BA0D56E8ED63A33EccE22B',
10-
'0xFa7ED49Eb24A6117D8a3168EEE69D26b45C40C63',
11-
'0x47fe8Ab9eE47DD65c24df52324181790b9F47EfC'
7+
morphoVaultOwners: [
8+
'0xEB4Af6fA3AFA08B10d593EC8fF87efB03BC04645',
129
],
1310
},
1411
}

0 commit comments

Comments
 (0)