Skip to main content
Example code snippets to stream from the indexer for archiver module related data using StreamManagerV2.

Using gRPC Stream with StreamManagerV2

Stream spot average entries

import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
import { 
  StreamManagerV2,
  IndexerGrpcArchiverStreamV2 
} from '@injectivelabs/sdk-ts/client/indexer'

const endpoints = getNetworkEndpoints(Network.Testnet)
const stream = new IndexerGrpcArchiverStreamV2(endpoints.indexer)

const streamManager = new StreamManagerV2({
  id: 'archiver-spot-average-entries',
  streamFactory: () => stream.streamSpotAverageEntries({ 
    account: 'inj...',
    callback: (response) => {
      streamManager.emit('data', response)
    }
  }),
  onData: (averageEntries) => {
    console.log(averageEntries)
  },
  retryConfig: { enabled: true }
})

streamManager.on('connect', () => console.log('Stream connected'))
streamManager.start()