Guia de Migração
Migrando RainbowKit
As dependências de pares wagmi e viem alcançaram 2.x.x com alterações significativas.
Siga os passos abaixo para realizar a migração.
1. Atualize RainbowKit, wagmi e viem para suas versões mais recentes
2. Instale a dependência de par @tanstack/react-query
Com o Wagmi v2, TanStack Query agora é uma dependência de par obrigatória.
Instale com o seguinte comando:
3. Atualize suas configurações de RainbowKit e Wagmi
4. Verifique alterações de quebra em wagmi e viem
Se você usa hooks do wagmi e ações do viem no seu dApp, você precisará seguir os guias de migração para v2:
1. Comportamento aprimorado para carteiras EIP-6963
Carteiras que suportam o novo padrão de conexão EIP-6963 (incluindo Rainbow, MetaMask e outras) agora aparecerão automaticamente em uma seção Instalado durante a experiência de Conectar Carteira. Isso garante que os usuários sempre possam encontrar suas carteiras favoritas e se conectar a dApps sem conflitos ou botões de fallback.
Os desenvolvedores continuam a ter controle total sobre a Lista de Carteiras Personalizadas para enfatizar carteiras preferenciais para os usuários finais. É encorajado que você continue a incluir a injectedWallet e a walletConnectWallet em sua lista para dar suporte a todas as plataformas.
2. Configuração do Wagmi com getDefaultConfig
Esta nova API simplifica a experiência de configuração e substitui a necessidade de usar o createConfig do Wagmi diretamente. A configuração da cadeia é simplificada, incluindo provedores públicos inferidos para transports.
A lista de carteiras padrão será incluída automaticamente, eliminando a necessidade de usar getDefaultWallets e connectorsForWallets.
Você pode criar uma Lista de Carteiras Personalizadas passando conectores de Carteiras importadas ou Personalizadas para wallets. A instância de conectores de carteira e a passagem de projectId e chains não são mais necessárias.
3. RainbowKitProvider
Você não precisa mais passar chains para <RainbowKitProvider>.
4. Cadeias Personalizadas
O tipo Chain foi alterado de acordo com o Wagmi v2, e continua a suportar os metadados iconUrl e iconBackground do RainbowKit.
Exemplo com getDefaultConfig:
Exemplo com createConfig:
5. Carteiras Personalizadas
Os conectores de carteiras RainbowKit passaram por mudanças substanciais para dar suporte ao Wagmi v2. Consulte os docs atualizados e um exemplo de conector para atualizar quaisquer Conectores de Carteiras Personalizados no seu dApp.
Os conectores de carteiras agora também suportam o padrão EIP-6963 com a propriedade rdns. Certifique-se de que isso esteja preenchido para evitar referências duplicadas a carteiras compatíveis com EIP-6963 na sua lista de carteiras.
A dependência de par wagmi foi atualizada para 1.x.x.
Siga os passos abaixo para realizar a migração.
1. Atualize RainbowKit e wagmi para sua versão mais recente
2. Instale a dependência de par viem
o wagmi v1 requer a dependência de par viem. Instale com o seguinte comando:
3. Garanta compatibilidade com pacote e preenchimento
Consulte nosso exemplo de Configuração do Webpack para Next.js para orientação de configuração para seu projeto.
Guias adicionais do framework para Vite e Remix estão disponíveis aqui.
4. Verifique alterações de quebra em wagmi
Se você usa ganchos wagmi em sua aplicação, precisará seguir o guia de migração da wagmi para v1.
Você pode ver o guia de migração deles aqui.
A dependência de par wagmi foi atualizada para 0.12.x.
RainbowKit adotou o conector WalletConnectLegacyConnector em wagmi para suporte contínuo ao WalletConnect v1. O suporte para o WalletConnect v2 e WalletConnectConnector estará disponível em breve como uma atualização, sem alterações de quebra.
As carteiras serão automaticamente transferidas em lançamentos futuros.
Cada dApp agora deve fornecer um projectId do WalletConnect Cloud para habilitar o WalletConnect v2. Isso deve ser concluído antes que os servidores de ponte v1 do WalletConnect sejam desativados em 28 de junho de 2023. RainbowKit preferirá silenciosamente o v1 para todas as carteiras se o projectId não for especificado.
Siga os passos abaixo para realizar a migração.
Cada dApp que depende do WalletConnect agora precisa obter um projectId do WalletConnect Cloud. Isso é absolutamente gratuito e leva apenas alguns minutos.
Forneça o projectId para getDefaultWallets e conectores de carteiras individuais RainbowKit, como o seguinte:
A dependência de par wagmi foi atualizada para 0.11.x.
Siga os passos abaixo para realizar a migração.
Se você usa ganchos wagmi em sua aplicação, precisará verificar se sua aplicação foi afetada pelas alterações de quebra no wagmi.
Você pode ver o guia de migração deles aqui.
A dependência de par wagmi foi atualizada para 0.10.x.
Siga os passos abaixo para realizar a migração.
Se você usa ganchos wagmi em sua aplicação, precisará verificar se sua aplicação foi afetada pelas alterações de quebra no wagmi.
Você pode ver o guia de migração deles aqui.
A dependência de par wagmi foi atualizada para 0.9.x.
Siga os passos abaixo para realizar a migração.
Se você usa ganchos wagmi em sua aplicação, precisará verificar se sua aplicação foi afetada pelas alterações de quebra no wagmi.
Você pode ver o guia de migração deles aqui.
A dependência de par wagmi foi atualizada para 0.8.x.
Siga os passos abaixo para realizar a migração.
Se você usa ganchos wagmi em sua aplicação, precisará verificar se sua aplicação foi afetada pelas alterações de quebra no wagmi.
Você pode ver o guia de migração deles aqui.
Se você está criando uma lista personalizada de carteiras, agora deve importar cada carteira individualmente para reduzir o tamanho do pacote. Note que, uma vez que as carteiras não são mais nomeadas via objeto wallet, todas as carteiras agora possuem um sufixo Wallet.
Observe também que a camada de compatibilidade retroativa para Steakwallet foi removida. Omni deve ser usado em vez disso.
RainbowKit atualizou a dependência de par wagmi para 0.5.x.
Siga os passos abaixo para realizar a migração.
Atualize RainbowKit e wagmi para sua versão mais recente
Se você usa ganchos wagmi em sua aplicação, precisará verificar se sua aplicação foi afetada pelas alterações de quebra no wagmi.
Você pode ver o guia de migração deles aqui.
Removido o parâmetro chainId do createConnector no tipo Wallet.
Observe que todas as carteiras embutidas estão usando a nova API. A maioria dos consumidores será inalterada. Esta mudança só afeta consumidores que criaram/consumiram carteiras personalizadas.
Se você anteriormente derivava URLs de RPC do chainId em createConnector, agora pode remover essa lógica, pois o wagmi agora manipula URLs de RPC internamente quando usado com configureChains.
RainbowKit atualizou a dependência de par wagmi para ^0.4.
Siga os passos abaixo para realizar a migração.
Atualize RainbowKit e wagmi para sua versão mais recente
Importe configureChains do wagmi em vez do RainbowKit:
RainbowKit não exporta mais uma API apiProvider. Substitua-o pelo provedor desejado do wagmi.
Importe alchemyProvider de wagmi/providers/alchemy.
Importe infuraProvider de wagmi/providers/infura.
Importe jsonRpcProvider de wagmi/providers/jsonRpc.
Importe publicProvider de wagmi/providers/public.
Renomeie WagmiProvider para WagmiConfig.
E você terminou! 🌈