1
2
3
4
5
6
7
8
9
10
import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
export let price = async (asset, base = "usd", amount = 1) => {
let { rates } = await fetchJSON(`https://open.er-api.com/v6/latest/${base}`)
if (rates && rates[asset.toUpperCase()]) return amount * (1 / rates[asset.toUpperCase()])
else {
let { rates } = await fetchJSON('https://api.coingecko.com/api/v3/exchange_rates')
return amount * rates[base.toLowerCase()]?.value / rates[asset.toLowerCase()]?.value
}
}