02QueryingIndexerOracle - InjectiveLabs/injective-ts GitHub Wiki
:warning: The Docs have been moved to https://docs.ts.injective.network/querying/querying-api/querying-indexer-oracle :warning:
Example code snippets to query the indexer for oracle module related data.
Using gRPC
- Get a list of oracles
import { IndexerGrpcOracleApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const indexerGrpcOracleApi = new IndexerGrpcOracleApi(endpoints.indexer);
const oracleList = await indexerGrpcOracleApi.fetchOracleList();
console.log(oracleList);
- Get price from oracle
import { IndexerGrpcOracleApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const indexerGrpcOracleApi = new IndexerGrpcOracleApi(endpoints.indexer);
const baseSymbol = "INJ";
const quoteSymbol = "USDT";
const oracleType = "bandibc"; // primary oracle we use
const oraclePrice = await indexerGrpcOracleApi.fetchOraclePriceNoThrow({
baseSymbol,
quoteSymbol,
oracleType,
});
console.log(oraclePrice);