02QueryingChainWasm - InjectiveLabs/injective-ts GitHub Wiki

:warning: The Docs have been moved to https://docs.ts.injective.network/querying/querying-chain/querying-chain-wasm :warning:

Example code snippets to query the wasm module on chain

Using gRPC

  • Get a contacts' account balance Note that pagination parameters can be passed to obtain additional accounts.
import { ChainGrpcWasmApi, PaginationOption } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.TestnetK8s)
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc)

const contractAddress = 'inj...'
const pagination = {...} as PaginationOption

const contractAccountsBalance = await chainGrpcWasmApi.fetchContractAccountsBalance({
    contractAddress,
    pagination /* optional pagination options */
})

console.log(contractAccountsBalance)
  • Get info related to a contract
import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc);

const contractAddress = "inj...";

const contractInfo = await chainGrpcWasmApi.fetchContractInfo(contractAddress);

console.log(contractInfo);
  • Get contract history
import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc);

const contractAddress = "inj...";

const contractHistory = await chainGrpcWasmApi.fetchContractHistory(
  contractAddress
);

console.log(contractHistory);
  • Get the state of a smart contract
import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc);

const contractAddress = "inj...";
const query = "...";

const contractState = await chainGrpcWasmApi.fetchSmartContractState({
  contractAddress,
  query /* optional string query */,
});

console.log(contractState);
  • Get the raw state of a smart contract
import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc);

const contractAddress = "inj...";
const query = "...";

const rawContractState = await chainGrpcWasmApi.fetchRawContractState({
  contractAddress,
  query /* optional string query */,
});

console.log(rawContractState);
  • Get the codes associated with a contract
import { PaginationOption, ChainGrpcWasmApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.TestnetK8s)
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc)

const pagination = {...} as PaginationOption


const rawContractState = await chainGrpcWasmApi.fetchRawContractState(
pagination /* optional pagination options */
)

console.log(rawContractState)
  • Get info associated with a contract code
import { ChainGrpcWasmApi } from "@injectivelabs/sdk-ts";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.TestnetK8s);
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc);

const codeId = 1;

const codeDetails = await chainGrpcWasmApi.fetchContractCode(codeId);

console.log(codeDetails);
  • Get the contracts associated with a code
import { PaginationOption, ChainGrpcWasmApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.TestnetK8s)
const chainGrpcWasmApi = new ChainGrpcWasmApi(endpoints.grpc)

const codeId = 1
const pagination = {...} as PaginationOption

const contracts = await chainGrpcWasmApi.fetchContractCodeContracts({
  codeId,
  pagination /* optional pagination options */
})

console.log(contracts)