@abstract-foundation/agw-react
Version:
Abstract Global Wallet React Components
42 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.InjectWagmiConnector = void 0;
const react_1 = 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_1.default.createElement(react_1.Fragment, null, children);
};
exports.InjectWagmiConnector = InjectWagmiConnector;
//# sourceMappingURL=injectWagmiConnector.js.map