Skip to content

belongnet/metakeep-wagmi-connector

Repository files navigation

metakeep-wagmi-connector

Version Downloads install size

Connector for integrating wagmi v2.x with the MetaKeep.xyz platform.

Features:

  • ⚙ Connects with wagmi v2
  • 🔮 Supports Web3Modal
  • 📐 Session validations and caching
  • 🔐 Supports One-Click Auth / SIWE
  • 💡 Lightweight ~26kB
  • ✍️ TypeScript/ESM/Dynamic import

Installation

You can install metakeep-wagmi-connector using npm, yarn, or pnpm:

pnpm add @belongnet/metakeep-wagmi-connector

Once installed, add metakeep to your wagmi configuration as a connector. Here's a sample configuration:

import { metaKeep } from '@belongnet/metakeep-wagmi-connector'

const config = createConfig({
  // ...
  connectors: [
    metaKeep({
      appId: import.meta.env.VITE_META_KEEP_APP_ID,
    }),
  ],
})

Make sure to set the appId in your environment variables, for example in a .env file:

VITE_META_KEEP_APP_ID=your-app-id

Enjoy!

Usage

The connector will automatically handle the authentication process with wagmi. see the wagmi documentation for more information.

const { connect } = useConnect()

connect({ connector: 'metakeep' })

Metakeep Provider access

You can use the useAccount hook to access the native connector provider.

Warning

Use this only if you know what you're doing. Instead, it's better to utilize methods at the wagmi level.

import type { MetaKeepProvider } from '@belongnet/metakeep-wagmi-connector'

const { connector } = useAccount()

const provider = <MetaKeepProvider>await connector.value?.getProvider()

const authorizedUser = provider.getUser()
console.log(authorizedUser)

Migration Guide

  1. Follow the installation steps Wagmi migrate from v1 to v2.
  2. Update the @belongnet/metakeep-wagmi-connector to the latest version.
  3. Update the connector configuration to use the new import
-import { MetaKeepConnector } from '@belongnet/metakeep-wagmi-connector';
+import { metaKeep } from '@belongnet/metakeep-wagmi-connector'
  1. Update the connector configuration to use the new import
  connectors: [
-    new MetaKeepConnector({
-     chains,
-      options: {
-        appId: import.meta.env.VITE_META_KEEP_APP_ID,
-      },
-    }),
+   metaKeep({
+     appId: import.meta.env.VITE_META_KEEP_APP_ID,
+   }),
  ],

Also connector for Wagmi v1 docs are still available at 0.x branch

Links

Related connectors

License

This project is licensed under the terms of the MIT license.