Guia de Migração
Migrando RainbowKit
As dependências de pares wagmi e viem alcançaram a versão 2.x.x
com mudanças significativas.
Siga os passos abaixo para migrar.
1. Atualize o RainbowKit, wagmi
e viem
para as suas versões mais recentes
2. Instale a dependência de peer @tanstack/react-query
Com o Wagmi v2, TanStack Query agora é uma dependência paralela obrigatória.
Instale-o com o seguinte comando:
3. Atualize suas configurações do RainbowKit e Wagmi
4. Verifique se há alterações que quebram a compatibilidade no wagmi
e viem
Se você usa hooks do wagmi
e ações do viem
em 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 Instaladas
durante a experiência de Conectar Carteira. Isso garante que os usuários possam sempre encontrar suas carteiras favoritas e se conectar a dApps sem conflitos ou botões de alternativa.
Os desenvolvedores continuam tendo controle total sobre a Lista de Carteiras Personalizadas para enfatizar carteiras preferenciais para os usuários finais. É incentivado 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 diretamente o createConfig
do Wagmi. A configuração da cadeia é simplificada, incluindo provedores públicos inferidos para transports
.
A lista padrão de carteiras será incluída automaticamente, tornando obsoleta a necessidade de usar getDefaultWallets
e connectorsForWallets
.
Você pode criar uma Lista Personalizada de Carteiras passando conectores importados ou conectores de Carteiras Personalizadas para wallets
. Não é mais necessário instanciar conectores de carteira e passar projectId
e chains
.
3. RainbowKitProvider
Você não precisa mais passar chains
para <RainbowKitProvider>
.
4. Cadeias Personalizadas
O tipo Chain
mudou 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 carteira do RainbowKit passaram por mudanças substanciais para suportar o Wagmi v2. Consulte a documentação atualizada e um exemplo de conector para atualizar qualquer Conector de Carteira Personalizado em seu dApp.
Os conectores de carteira 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 que suportam EIP-6963 na sua lista de carteiras.
A dependência par a par do wagmi foi atualizada para 1.x.x
.
Siga os passos abaixo para migrar.
1. Atualize RainbowKit e wagmi
para a versão mais recente
2. Instale a dependência de par viem
wagmi v1 requer a dependência de par viem
. Instale-o com o seguinte comando:
3. Garanta a compatibilidade do empacotador e do polyfill
Nas versões anteriores de wagmi que dependiam de ethers, os módulos fs
, net
e tls
necessários pelo WalletConnect eram automaticamente polyfilled. Isso não acontece mais com RainbowKit v1 + wagmi v1, que são construídos com base em viem.
Consulte a nossa Configuração de Webpack do Next.js e amostras de Polyfills do Create React App para orientações de configuração para o seu projeto.
Guias adicionais do framework para Vite e Remix estão disponíveis aqui.
4. Verifique se há alterações que quebram em wagmi
Se você usa hooks wagmi
em sua aplicação, você precisará seguir o guia de migração de wagmi
para v1.
Você pode ver o guia de migração deles aqui.
A dependência de pares wagmi foi atualizada para 0.12.x
.
O RainbowKit adotou o conector WalletConnectLegacyConnector
em wagmi
para manter o suporte à WalletConnect v1. O suporte para WalletConnect v2 e WalletConnectConnector
estará disponível em breve como uma atualização de correção, sem quebras de compatibilidade.
As carteiras serão transicionadas automaticamente nas futuras edições.
Cada dApp deve agora fornecer um WalletConnect Cloud projectId
para habilitar WalletConnect v2. Isso deve ser concluído antes que os servidores de ponte WalletConnect v1 sejam desativados em 28 de junho de 2023. RainbowKit preferirá silenciosamente v1 para todas as carteiras se projectId
não for especificado.
Siga os passos abaixo para migrar.
Todo dApp que depende do WalletConnect agora precisa obter um projectId
do WalletConnect Cloud. Isso é totalmente grátis e leva apenas alguns minutos.
Forneça o projectId
para getDefaultWallets
e conectores individuais de carteira RainbowKit como o seguinte:
A dependência de pares wagmi foi atualizada para 0.11.x
.
Siga os passos abaixo para migrar.
Se você usa hooks wagmi
em sua aplicação, você precisará verificar se sua aplicação foi afetada pelas alterações que quebram a compatibilidade no wagmi
.
Você pode ver o guia de migração deles aqui.
A dependência de pares wagmi foi atualizada para 0.10.x
.
Siga os passos abaixo para migrar.
Se você usa hooks wagmi
em sua aplicação, você precisará verificar se sua aplicação foi afetada pelas alterações que quebram a compatibilidade no wagmi
.
Você pode ver o guia de migração deles aqui.
A dependência de pares wagmi foi atualizada para 0.9.x
.
Siga os passos abaixo para migrar.
Se você usa hooks wagmi
em sua aplicação, você precisará verificar se sua aplicação foi afetada pelas alterações que quebram a compatibilidade no wagmi
.
Você pode ver o guia de migração deles aqui.
A dependência de pares wagmi foi atualizada para 0.8.x
.
Siga os passos abaixo para migrar.
Se você usa hooks wagmi
em sua aplicação, você precisará verificar se sua aplicação foi afetada pelas alterações que quebram a compatibilidade no wagmi
.
Você pode ver o guia de migração deles aqui.
Se você está criando uma lista de carteiras personalizada, agora deve importar cada carteira individualmente para reduzir o tamanho do pacote. Observe que, como as carteiras não são mais namespace via o objeto wallet
, todas as carteiras agora têm um sufixo Wallet
.
Também observe que a camada de compatibilidade retroativa do Steakwallet foi removida. O Omni deve ser usado em vez disso.
O RainbowKit atualizou a dependência de pares wagmi
para 0.5.x
.
Siga os passos abaixo para migrar.
Atualize RainbowKit e wagmi para a versão mais recente
Se você usa hooks wagmi
em sua aplicação, você precisará verificar se sua aplicação foi afetada pelas alterações que quebram a compatibilidade no wagmi
.
Você pode ver o guia de migração deles aqui.
Removido o parâmetro chainId
de createConnector
no tipo Wallet
.
Observe que todas as carteiras integradas estão usando a nova API. A maioria dos consumidores não será afetada. Esta alteração afeta apenas os consumidores que criaram/consumiram carteiras personalizadas.
Se você anteriormente derivou URLs de RPC do chainId
no createConnector
, agora você pode remover essa lógica pois o wagmi
agora lida internamente com as URLs de RPC quando utilizado com configureChains
.
O RainbowKit atualizou a dependência de pares wagmi
para ^0.4
.
Siga os passos abaixo para migrar.
Atualize RainbowKit e wagmi para a 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! 🌈