@interchaininfo/sdk

v0.4.2
Framework for building InterchainInfo Dashboard modules

InterchainInfo SDK

By SparkIBC

Installation

npm install @interchaininfo/sdk
yarn add @interchaininfo/sdk

Usage

Contexts

To access chain-related data in your React components, use useChain().

import { useChain } from '@interchaininfo/sdk'

const { client } = useChain()
const { cosmWasmClient, junoClient, osmosisClient } = client

// Query a smart contract
cosmWasmClient.queryContractSmart()

// Query a user's balance
junoClient.cosmos.bank.v1beta1.balance()

// Query a tokenfactory denom's authority metadata
osmosisClient.tokenfactory.v1beta1.denomAuthorityMetadata()

To access user wallet data or trigger a wallet connect/disconnect, use useWallet().

import { useWallet } from '@interchaininfo/sdk'

const { wallet, connect, disconnect } = useWallet()

// Connect wallet (type is 'keplr'/'leap'/'cosmostation')
connect('keplr')

To broadcast a Cosmos transaction, use useTx().

import { useTx } from '@interchaininfo/sdk'

const { tx } = useTx()

const msgs = ... // Your Cosmos messages

tx([msgs], {}, () => {
  console.log('Transaction success!')
})

Creating a widget

import { Widget, useWallet } from '@interchaininfo/sdk'
import { SemVer } from 'semver'

// Create a React component for your widget
const BalanceWidgetComponent = () => {
  const { wallet } = useWallet()
  return (
    <div>
      <p>Your balance is {wallet.balance} ujuno</p>
    </div>
  )
}

// Export the widget from your module
export default new Widget(BalanceWidgetComponent, {
  name: 'Balance Widget',
  author: 'Josef Leventon <[email protected]>',
  version: new SemVer('1.0.0'),
})
npm i @interchaininfo/sdk

Metadata

  • Unknown
  • Whatever
  • Josef Leventon
  • released 12/20/2023

Downloads

Maintainers