mirror of
https://github.com/alexgo-io/DefiLlama-Adapters.git
synced 2026-01-12 08:34:23 +08:00
update brahma adapter
This commit is contained in:
28
projects/brahmafi/abi.json
Normal file
28
projects/brahmafi/abi.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"wantToken": {
|
||||
"inputs": [],
|
||||
"name": "wantToken",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
"totalVaultFunds": {
|
||||
"inputs": [],
|
||||
"name": "totalVaultFunds",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,28 @@
|
||||
const axios = require("axios");
|
||||
const sdk = require('@defillama/sdk')
|
||||
const abi = require('./abi.json')
|
||||
|
||||
const BASE_API = "https://vault-api.brahma.fi";
|
||||
const ENDPOINTS = {
|
||||
tvl: "/tvl",
|
||||
};
|
||||
const vaults = [
|
||||
'0xAa0508FcD0352B206F558b2B817dcC1F0cc3F401', // ETH Maxi
|
||||
'0x1c4ceb52ab54a35f9d03fcc156a7c57f965e081e', // PM USDC
|
||||
]
|
||||
|
||||
const tvl = async (timestamp, block) => {
|
||||
const result = await axios.default.get(`${BASE_API}${ENDPOINTS.tvl}`);
|
||||
const calls = vaults.map(v => ({ target: v }))
|
||||
const balances = {}
|
||||
|
||||
if (result.status !== 200) return {};
|
||||
const [
|
||||
tokens, balance
|
||||
] = await Promise.all([
|
||||
sdk.api.abi.multiCall({ block, calls, abi: abi.wantToken }),
|
||||
// sdk.api.abi.multiCall({ block, calls, abi: abi.totalVaultFunds }),
|
||||
sdk.api.abi.multiCall({ block, calls, abi: 'erc20:totalSupply' }),
|
||||
]).then(o => o.map(i => i.output))
|
||||
|
||||
return result.data?.data || {};
|
||||
tokens.forEach((i, j) => {
|
||||
balances[i.output] = balance[j].output
|
||||
});
|
||||
|
||||
return balances
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user