JSPM

maia-redux-multicall

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 21
  • Score
    100M100P100Q61777F
  • License MIT

A React + Redux lib for fetching and caching chain state via the MultiCall contract

Package Exports

  • maia-redux-multicall
  • maia-redux-multicall/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (maia-redux-multicall) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

MultiCall

A React + Redux library for fetching, batching, and caching chain state via the MultiCall contract.

Setup

yarn add @uniswap/redux-multicall or npm install @uniswap/redux-multicall

Usage

The usage of this library is similar to RTK Query.

// Somewhere in your app
export const multicall = createMulticall({ reducerPath: 'multicall' })

// In your store's root reducer
export const rootReducer = combineReducers({
  // Other reducers
  [multicall.reducerPath]: multicall.reducer
})

To use the updater, you'll need an instance of the Uniswap Multicall2 contract:

import { abi as MulticallABI } from '@uniswap/v3-periphery/artifacts/contracts/lens/UniswapInterfaceMulticall.sol/UniswapInterfaceMulticall.json'
import { Contract } from '@ethersproject/contracts'
import { UniswapInterfaceMulticall } from './abi/types'

const multicall2Contract = new Contract(address, MulticallABI, provider) as UniswapInterfaceMulticall

For a more detailed example, see basic example app in ./integration-tests

Alpha software

The latest version of the SDK is used in production in the Uniswap Interface, but it is considered Alpha software and may contain bugs or change significantly between patch versions. If you have questions about how to use the SDK, please reach out in the #dev-chat channel of the Discord. Pull requests welcome!