import {
IndexerGrpcOracleApi,
IndexerGrpcDerivativeApi,
} from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
const endpoints = getNetworkEndpoints(Network.Testnet)
const markets = new IndexerGrpcDerivativeApi(endpoints.indexer)
const indexerGrpcOracleApi = new IndexerGrpcOracleApi(endpoints.indexer)
const market = markets.find((market) => market.ticker === 'INJ/USDT PERP')
// These values are a part of the market object
// fetched from the chain i.e `oracle_base` and `oracle_quote`
const baseSymbol = market.oracle_base
const quoteSymbol = market.oracle_quote
const oracleType = market.oracle_type
const oraclePrice = await indexerGrpcOracleApi.fetchOraclePriceNoThrow({
baseSymbol,
quoteSymbol,
oracleType,
})
console.log(oraclePrice)