UNPKG

@sky-mavis/tanto-widget

Version:
39 lines (35 loc) 1.29 kB
'use strict'; var react = require('react'); var wagmi = require('wagmi'); var index = require('../utils/index.cjs'); // Resolve conflicts caused by having two Ronin connectors with different IDs (RONIN_WALLET and com.roninchain.wallet) const useSolveRoninConnectionConflict = () => { const { subscribe, setState } = wagmi.useConfig(); react.useEffect(() => { const unsubscribe = subscribe(state => state, (_, prevState) => { setState(state => { const { connections, current: currentUID } = state; if (!currentUID || connections.size <= 1) return state; const currentConnection = connections.get(currentUID); if (!currentConnection) return state; if (index.isRoninWallet(currentConnection.connector.id)) return state; if (index.isRoninWalletInjected(currentConnection.connector.id)) { const tantoConnection = Array.from(connections.values()).find(({ connector }) => index.isRoninWallet(connector.id)); if (!tantoConnection) return state; return prevState; } return state; }); }); return () => unsubscribe(); }, [subscribe]); }; exports.useSolveRoninConnectionConflict = useSolveRoninConnectionConflict;