diff --git a/projects/drop/index.js b/projects/drop/index.js index b8ddb5bef11e..7cf5f94515f8 100644 --- a/projects/drop/index.js +++ b/projects/drop/index.js @@ -1,43 +1,21 @@ -const sdk = require("@defillama/sdk"); const { queryContract } = require('../helper/chain/cosmos') -const chains = { - cosmos: { - chainId: "cosmoshub-4", - denom: "uatom", +const config = { + neutron: [{ coinGeckoId: "cosmos", - dropContract: "neutron16m3hjh7l04kap086jgwthduma0r5l0wh8kc6kaqk92ge9n5aqvys9q6lxr" - }, + contract: "neutron16m3hjh7l04kap086jgwthduma0r5l0wh8kc6kaqk92ge9n5aqvys9q6lxr" + }], }; -function makeTvlFn(chain) { - return async () => { - const balances = {}; - const data = await queryContract({ - contract: chain.dropContract, - chain: "neutron", - data: { - "total_bonded": {} - } - }); - const assetBalance = parseInt(data, 10) / 1e6; - const amount = assetBalance; - - sdk.util.sumSingleBalance( - balances, - chain.coinGeckoId, - amount - ); - - return balances; - }; +async function tvl(api) { + for (const { coinGeckoId, contract, decimals = 6 } of config[api.chain]) { + const bonded = await queryContract({ contract, chain: api.chain, data: { "total_bonded": {} } }) + api.addCGToken(coinGeckoId, bonded / 10 ** decimals) + } } module.exports = { timetravel: false, methodology: "Sum of all the tokens that are liquid staked on DROP", -}; - -for (const chainName of Object.keys(chains)) { - module.exports[chainName] = { tvl: makeTvlFn(chains[chainName]) }; -} + neutron: { tvl } +} \ No newline at end of file