UNPKG

@abstract-foundation/agw-react

Version:
43 lines 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InjectWagmiConnector = void 0; const react_1 = require("react"); const react_2 = require("react"); const wagmi_1 = require("wagmi"); const connectors_1 = require("wagmi/connectors"); const usePrivyCrossAppProvider_js_1 = require("./usePrivyCrossAppProvider.js"); const InjectWagmiConnector = (props) => { const { chain, transport, children } = props; const config = (0, wagmi_1.useConfig)(); const { reconnect } = (0, wagmi_1.useReconnect)(); const { provider, ready } = (0, usePrivyCrossAppProvider_js_1.usePrivyCrossAppProvider)({ chain, transport }); const [isSetup, setIsSetup] = (0, react_1.useState)(false); (0, react_1.useEffect)(() => { const setup = async (provider) => { config.storage?.removeItem('xyz.abs.privy.disconnected'); const wagmiConnector = (0, connectors_1.injected)({ target: { provider, id: 'xyz.abs.privy', name: 'Abstract Global Wallet', icon: '', }, }); const connector = config._internal.connectors.setup(wagmiConnector); await config.storage?.setItem('recentConnectorId', 'xyz.abs.privy'); config._internal.connectors.setState([connector]); return connector; }; if (ready && (!isSetup || config.connectors.length === 0)) { setup(provider).then((connector) => { if (connector) { reconnect({ connectors: [connector] }); setIsSetup(true); } }); } }, [provider, ready, isSetup, config, reconnect]); return react_2.default.createElement(react_1.Fragment, null, children); }; exports.InjectWagmiConnector = InjectWagmiConnector; //# sourceMappingURL=injectWagmiConnector.js.map