Using gRPC
Fetch parameters such as the default spot and derivatives fees/trading rewards
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const moduleParams = await chainGrpcExchangeApi.fetchModuleParams();
console.log(moduleParams);
Fetch the fee discount schedules
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const feeDiscountSchedule =
await chainGrpcExchangeApi.fetchFeeDiscountSchedule();
console.log(feeDiscountSchedule);
Fetch the fee discounts associated with an injective address
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const injectiveAddress = "inj...";
const feeDiscountAccountInfo =
await chainGrpcExchangeApi.fetchFeeDiscountAccountInfo(injectiveAddress);
console.log(feeDiscountAccountInfo);
Fetch the details regarding the trading reward campaign, such as the total reward points
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const tradingRewardsCampaign =
await chainGrpcExchangeApi.fetchTradingRewardsCampaign();
console.log(tradingRewardsCampaign);
Fetch the trading rewards points for an injective address
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const injectiveAddress = "inj...";
const tradeRewardsPoints = await chainGrpcExchangeApi.fetchTradeRewardsPoints(
injectiveAddress
);
console.log(tradeRewardsPoints);
Fetch the pending trading rewards points for injective addresses
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const injectiveAddresses = ["inj..."];
const pendingTradeRewardsPoints =
await chainGrpcExchangeApi.fetchPendingTradeRewardPoints(injectiveAddresses);
console.log(pendingTradeRewardsPoints);
Fetch the current positions, such as subaccountId, marketId, and position
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
// Replace with your own Injective address(es)
const injectiveAddresses = ["inj1..."];
const positions = await chainGrpcExchangeApi.fetchPositions(injectiveAddresses);
console.log(positions);
Fetch the subaccount trade nonce
Copy
Ask AI
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcExchangeApi } from "@injectivelabs/sdk-ts/client/chain";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcExchangeApi = new ChainGrpcExchangeApi(endpoints.grpc);
const subaccountId = "0x...";
const subaccountTradeNonce =
await chainGrpcExchangeApi.fetchSubaccountTradeNonce(subaccountId);
console.log(subaccountTradeNonce);
