Releases: rainbow-me/rainbowkit
@rainbow-me/[email protected]
Patch Changes
-
867067c: Improve deep linking support for WalletConnect-based wallets on iOS
We now store the wallet’s universal link URL in local storage so that WalletConnect can use it for deep linking. This is typically handled by the official WalletConnect modal, but we need to handle it ourselves when rendering custom QR codes within RainbowKit.
@rainbow-me/[email protected]
Patch Changes
-
fd5e8e7: Fix npm user agent detection
We try to detect the package manager being used for the init/create script but we were failing to detect npm correctly, instead falling through to using
pnpm
,yarn
ornpm
(in that order) depending on availability. The logic for detecting npm has now been fixed. -
fd5e8e7: Fix install step in Yarn
The
install
command for@rainbow-me/create-rainbowkit
was failing when usingyarn create
because Yarn usesadd
instead ofinstall
, so we now use the correct command when Yarn is detected.
@rainbow-me/[email protected]
@rainbow-me/[email protected]
@rainbow-me/[email protected]
@rainbow-me/[email protected]
Patch Changes
- 2834f97: Initial beta release
@rainbow-me/[email protected]
Patch Changes
-
4be196e: Ensure Brave Wallet and Tokenary aren’t detected as MetaMask
Both Brave Wallet and Tokenary set
window.ethereum.isMetaMask
totrue
which causes issues with the logic for providing the fallback "Injected Wallet" option. Similar to wagmi, we now detect when MetaMask is being impersonated by these wallets. -
7403fab: Add dialog overlay blurs to the theme
-
4be196e: Add Brave Wallet support
Brave Wallet is now included as part of the default set of wallets returned from
getDefaultWallets
, but note that is only visible within the Brave browser to avoid prompting users to download an entirely different web browser.Brave Wallet is also included as part of the
wallet
object to support its usage in custom wallet lists, e.g.wallet.brave({ chains, shimDisconnect: true })
.
@rainbow-me/[email protected]
Patch Changes
- a921853: Add
disclaimer
to theappInfo
property inRainbowKitProvider
, which displays a custom disclaimer at the bottom of the connection modal's welcome screen
@rainbow-me/[email protected]
Minor Changes
-
c0c494a: Breaking: Updated the
wagmi
peer dependency to^0.4
& removed theconfigureChains
&apiProvider
exports.You now need to use wagmi's configureChains function and providers.
Migration guide
1. Upgrade
wagmi
to^0.4.2
npm i wagmi@^0.4.2
2. Migrate
configureChains
import { apiProvider, - configureChains } from '@rainbow-me/rainbowkit'; +import { configureChains } from 'wagmi';
3. Migrate providers
apiProvider.alchemy
toalchemyProvider
-import { - apiProvider, -} from '@rainbow-me/rainbowkit'; import { configureChains } from 'wagmi'; +import { alchemyProvider } from 'wagmi/providers/alchemy'; const { chains, provider } = configureChains( [chain.mainnet, chain.polygon, chain.optimism, chain.arbitrum], - [apiProvider.alchemy(process.env.ALCHEMY_ID)] + [alchemyProvider({ alchemyId: process.env.ALCHEMY_ID })] );
apiProvider.infura
toinfuraProvider
-import { - apiProvider, -} from '@rainbow-me/rainbowkit'; import { configureChains } from 'wagmi'; +import { infuraProvider } from 'wagmi/providers/infura'; const { chains, provider } = configureChains( [chain.mainnet, chain.polygon, chain.optimism, chain.arbitrum], - [apiProvider.infura(process.env.INFURA_ID)] + [infuraProvider({ infuraId: process.env.INFURA_ID })] );
apiProvider.jsonRpc
tojsonRpcProvider
-import { - apiProvider, -} from '@rainbow-me/rainbowkit'; import { configureChains } from 'wagmi'; +import { jsonRpcProvider } from 'wagmi/providers/jsonRpc'; const { chains, provider } = configureChains( [chain.mainnet, chain.polygon], [ - apiProvider.jsonRpc(chain => ({ - rpcUrl: `https://${chain.id}.example.com`, - })), + jsonRpcProvider({ + rpc: chain => ({ + http: `https://${chain.id}.example.com`, + }), + }), ] );
apiProvider.fallback
topublicProvider
-import { - apiProvider, -} from '@rainbow-me/rainbowkit'; import { configureChains } from 'wagmi'; +import { publicProvider } from 'wagmi/providers/public'; const { chains, provider } = configureChains( [chain.mainnet, chain.polygon], - [apiProvider.fallback()] + [publicProvider()] );
@rainbow-me/[email protected]
Patch Changes
-
0b98497: Add Steakwallet to list of available wallets
Example usage:
import { wallet } from '@rainbow-me/rainbowkit'; const steakwallet = wallet.steak({ chains });