Files
tom goriunovandGitHub 401dc58402 Smart wallet auth (#3220)
* basic login button implementation

* refactoring and add dynamic auth button to the other pages

* connect wallet without authenticating an user

* login and logout user in blockscout account

* refactoring and RPC overrides

* authenticate user with connected wallet

* add ENS to profile button

* override evm chains and fix contract write with waas wallet

* disconnect wallet and fix docker build

* add dynamic imports to components that use web3 wallet packages

* refactor user profile directory

* clean up

* tweaks

* update pw ci script

* fix "connect wallet" button behavior

* handle linking email to profile with dynamic provider

* fix test

* async loading web3 hooks and remove dynamic loading from components that use them

* fix pw tests

* add account navigation in horizontal layout when auth provider is dynamic

* fix address verification modal

* review fixes

* spelling fixes
2026-02-18 19:42:44 +01:00

24 lines
687 B
TypeScript

import dynamic from 'next/dynamic';
import config from 'configs/app';
const ReownProvider = dynamic(() => import('./providers/ReownProvider'), { ssr: false });
const DynamicProvider = dynamic(() => import('./providers/DynamicProvider'), { ssr: false });
const WagmiProvider = dynamic(() => import('./providers/WagmiProvider'), { ssr: false });
const feature = config.features.blockchainInteraction;
const Web3Provider = (() => {
if (feature.isEnabled && feature.connectorType === 'reown') {
return ReownProvider;
}
if (feature.isEnabled && feature.connectorType === 'dynamic') {
return DynamicProvider;
}
return WagmiProvider;
})();
export default Web3Provider;