Skip to content

Releases: rainbow-me/rainbowkit

@rainbow-me/[email protected]

15 Jun 02:55
e82caf0
Compare
Choose a tag to compare

Minor Changes

  • 233a6d7: Breaking: Removed the chainId parameter from createConnector on the Wallet type (Custom Wallets).

    Note that all built-in wallets are using the new API. Most consumers will be unaffected. This change only affects consumers that have created/consumed custom wallets.

    If you previously derived RPC URLs from the chainId on createConnector, you can now remove that logic as wagmi now handles RPC URLs internally when used with configureChains.

    import { connectorsForWallets, wallet, Chain, Wallet } from '@rainbow-me/rainbowkit';
    import { chain, configureChains } from 'wagmi';
    import { alchemyProvider } from 'wagmi/providers/alchemy';
    import { publicProvider } from 'wagmi/providers/public';
    import { WalletConnectConnector } from 'wagmi/connectors/walletConnect';
    
    export interface MyWalletOptions {
      chains: Chain[];
    }
    
    -const chains = [chain.mainnet]
    +const { chains } = configureChains(
    +  [chain.mainnet],
    +  [
    +    alchemyProvider({ alchemyId: process.env.ALCHEMY_ID }),
    +    publicProvider(),
    +  ]
    +);
    
    export const rainbow = ({ chains }: MyWalletOptions): Wallet => ({
      ...
    - createConnector: ({ chainId }) => {
    + createConnector: () => {
    -   const rpc = chains.reduce(
    -     (rpcUrlMap, chain) => ({
    -       ...rpcUrlMap,
    -       [chainId]: chain.rpcUrls.default,
    -     }),
    -     {}
    -   );
        const connector = new WalletConnectConnector({
          chains,
          options: {
            qrcode: false,
    -       rpc,
          },
        });
      }
      ...
    }
    
    const connectors = connectorsForWallets([
      {
        groupName: 'Recommended',
        wallets: [
          rainbow({ chains }),
        ],
      },
    ]);

@rainbow-me/[email protected]

15 Jun 00:52
64fa3ae
Compare
Choose a tag to compare

Patch Changes

  • ce473cd: Fix WalletConnect in Brave when a large number of WalletConnect-based wallets have been configured

    Brave’s fingerprint prevention logic silently blocks WebSocket connections if too many are opened in the same session. Since we create a fresh WalletConnect connector instance for each wallet, consumers that have configured a large number of wallets can inadvertently break the connection flow in Brave.

    To fix this, we now share WalletConnect connector instances between wallets when the connectors are being provided with the same options.

@rainbow-me/[email protected]

09 Jun 23:43
b785c4f
Compare
Choose a tag to compare

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]

07 Jun 00:43
f0bffb4
Compare
Choose a tag to compare

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 or npm (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 using yarn create because Yarn uses add instead of install, so we now use the correct command when Yarn is detected.

@rainbow-me/[email protected]

06 Jun 22:43
1a28bcc
Compare
Choose a tag to compare

Patch Changes

  • ac37201: Ensure files are copied correctly when template source directory is nested within a path containing node_modules
  • 9e06333: Add missing Node shebang to CLI

@rainbow-me/[email protected]

03 Jun 00:21
9a1d90a
Compare
Choose a tag to compare

Patch Changes

  • 0686c2f: Fix visual bug where focus outlines were out of sync with buttons/links on click when toggling between keyboard and mouse usage
  • dfc7d13: Add the avatar prop to RainbowKitProvider to allow developers to provide their own custom avatar component.

@rainbow-me/[email protected]

03 Jun 00:21
9a1d90a
Compare
Choose a tag to compare

Patch Changes

  • fe5cfc5: Add missing chalk dependency
  • 85ef6ec: Exclude CHANGELOG.md when copying app templates

@rainbow-me/[email protected]

02 Jun 05:07
5494f4b
Compare
Choose a tag to compare

Patch Changes

@rainbow-me/[email protected]

31 May 22:45
aaa8ce7
Compare
Choose a tag to compare

Patch Changes

  • 4be196e: Ensure Brave Wallet and Tokenary aren’t detected as MetaMask

    Both Brave Wallet and Tokenary set window.ethereum.isMetaMask to true 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]

27 May 02:21
3e2f68b
Compare
Choose a tag to compare

Patch Changes

  • a921853: Add disclaimer to the appInfo property in RainbowKitProvider, which displays a custom disclaimer at the bottom of the connection modal's welcome screen