Example code snippets to query data related to delegating to validators from the chain.
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)