Distribution

Example code snippets to query data related to delegating to validators from the chain.

Using gRPC

Fetch parameters such as the base and bonus proposer reward

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const moduleParams = await chainGrpcDistributionApi.fetchModuleParams()

console.log(moduleParams)

Fetch the amount and denom of rewards for a delegator delagating to a specific validator

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const delegatorAddress = 'inj...'
const validatorAddress = 'injvaloper...'

const delegatorRewardsFromValidator =
  await chainGrpcDistributionApi.fetchDelegatorRewardsForValidatorNoThrow({
    delegatorAddress,
    validatorAddress,
  })

console.log(delegatorRewardsFromValidator)

Fetch the amount and denom of all rewards for a delegator

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const delegatorAddress = 'inj...'

const totalDelegatorRewards =
  await chainGrpcDistributionApi.fetchDelegatorRewardsNoThrow(delegatorAddress)

console.log(totalDelegatorRewards)

Last updated