mirror of
https://github.com/alexgo-io/DefiLlama-Adapters.git
synced 2026-01-12 16:53:02 +08:00
39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
/**
|
|
* Oswap is a decentralized token swap protocol on the Obyte ledger.
|
|
*
|
|
* @see https://oswap.io/
|
|
* @see https://v2-stats.oswap.io/
|
|
*
|
|
* @see https://v1.oswap.io/
|
|
* @see https://v1-stats.oswap.io/
|
|
*/
|
|
const { fetchBaseAABalances, fetchOswapExchangeRates, fetchOswapAssets, summingBaseAABalancesToTvl } = require('../helper/chain/obyte')
|
|
|
|
// TODO support time travel for the exchange rate, currently it always returns the latest rates
|
|
async function tvl(api) {
|
|
const timestamp = api.timestamp
|
|
const [exchangeRates, assetMetadata] = await Promise.all([
|
|
fetchOswapExchangeRates(),
|
|
fetchOswapAssets()
|
|
])
|
|
|
|
const usdValue = await Promise.all([
|
|
fetchBaseAABalances(timestamp, "GS23D3GQNNMNJ5TL4Z5PINZ5626WASMA"), // Oswap v1
|
|
fetchBaseAABalances(timestamp, "2JYYNOSRFGLI3TBI4FVSE6GFBUAZTTI3"), // Oswap v2
|
|
fetchBaseAABalances(timestamp, "DYZOJKX4MJOQRAUPX7K6WCEV5STMKOHI") // Oswap v2.1
|
|
]).then(baseAABalances => {
|
|
return baseAABalances.reduce(summingBaseAABalancesToTvl(assetMetadata, exchangeRates), 0)
|
|
})
|
|
api.addUSDValue(usdValue)
|
|
}
|
|
|
|
module.exports = {
|
|
timetravel: false,
|
|
misrepresentedTokens: true,
|
|
methodology:
|
|
"The TVL is the USD value of the all non-self issued assets locked into the autonomous agents extending the Oswap protocol.",
|
|
obyte: {
|
|
tvl
|
|
},
|
|
}
|