1+ import { Emitter } from '@wagmi/core/internal' ;
12import { getDefaultConfig } from 'connectkit' ;
23import {
34 ENABLE_TESTNET ,
89 networkConfigs ,
910} from 'src/utils/marketsAndNetworksConfig' ;
1011import { type Chain } from 'viem' ;
11- import { createConfig , CreateConfigParameters , http , injected } from 'wagmi' ;
12+ import { createConfig , CreateConfigParameters , http } from 'wagmi' ;
1213import {
1314 arbitrum ,
1415 arbitrumSepolia ,
@@ -28,6 +29,7 @@ import {
2829 sepolia ,
2930 zksync ,
3031} from 'wagmi/chains' ;
32+ import { injected , safe } from 'wagmi/connectors' ;
3133
3234const testnetChains : CreateConfigParameters [ 'chains' ] = [
3335 sepolia ,
@@ -95,13 +97,28 @@ const getTransport = (chainId: number) => {
9597const buildTransports = ( chains : CreateConfigParameters [ 'chains' ] ) =>
9698 Object . fromEntries ( chains . map ( ( chain ) => [ chain . id , http ( getTransport ( chain . id ) ) ] ) ) ;
9799
98- const prodConfig = createConfig (
99- getDefaultConfig ( {
100- chains : ENABLE_TESTNET ? testnetChains : prodChains ,
101- transports : ENABLE_TESTNET ? undefined : buildTransports ( prodChains ) ,
102- ...defaultConfig ,
103- } )
104- ) ;
100+ const prodCkConfig = getDefaultConfig ( {
101+ chains : ENABLE_TESTNET ? testnetChains : prodChains ,
102+ transports : ENABLE_TESTNET ? undefined : buildTransports ( prodChains ) ,
103+ ...defaultConfig ,
104+ } ) ;
105+ const prodConfig = createConfig ( {
106+ ...prodCkConfig ,
107+ connectors : prodCkConfig . connectors ?. map ( ( connector ) => {
108+ // initialize the connector with the emitter so we can access the id
109+ const c = connector ( {
110+ chains : prodCkConfig . chains ,
111+ emitter : new Emitter ( '' ) ,
112+ } ) ;
113+ if ( c . id === 'safe' ) {
114+ return safe ( {
115+ allowedDomains : [ / g n o s i s - s a f e .i o $ / , / a p p .s a f e .g l o b a l $ / , / d h e d g e .o r g $ / ] ,
116+ } ) ;
117+ } else {
118+ return connector ;
119+ }
120+ } ) ,
121+ } ) ;
105122
106123const isCypressEnabled = process . env . NEXT_PUBLIC_IS_CYPRESS_ENABLED === 'true' ;
107124
0 commit comments