@getpara/evm-wallet-connectors 2.0.0-alpha.21 → 2.0.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -126,13 +126,13 @@ function EvmExternalWalletProvider({
126
126
  if (!isConnecting && !isReconnecting && !isLocalConnecting && !!wagmiAddress && !storedExternalWallet && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para" && !isLinkingAccount.current) {
127
127
  reset();
128
128
  }
129
- }, [isConnecting, isReconnecting, isLocalConnecting, wagmiAddress, connectedConnector]);
129
+ }, [isConnected, isLocalConnecting, wagmiAddress, connectedConnector]);
130
130
  useEffect(() => {
131
131
  const storedExternalWallet = Object.values(para.externalWallets || {})[0];
132
- if (!isLocalConnecting && !isConnecting && !isReconnecting && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === "EVM" && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== wagmiAddress && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para" && !isLinkingAccount.current) {
132
+ if (!isLocalConnecting && isConnected && (storedExternalWallet == null ? void 0 : storedExternalWallet.type) === "EVM" && (storedExternalWallet == null ? void 0 : storedExternalWallet.address) !== wagmiAddress && (connectedConnector == null ? void 0 : connectedConnector.id) !== "para" && !isLinkingAccount.current) {
133
133
  switchWallet(wagmiAddress);
134
134
  }
135
- }, [isLocalConnecting, wagmiAddress, isReconnecting, isConnecting]);
135
+ }, [isLocalConnecting, wagmiAddress, isConnected]);
136
136
  useEffect(() => {
137
137
  if (!isLocalConnecting && !isConnecting && !isReconnecting && connectedWallet && connectedConnector && connectedWallet.type === "EVM" && connectedConnector.name !== connectedWallet.name) {
138
138
  switchAccount(connectedWallet.isExternal ? connectedWallet.name : "Para");
@@ -297,6 +297,7 @@ function EvmExternalWalletProvider({
297
297
  break;
298
298
  }
299
299
  default: {
300
+ console.error("Wagmi connection error:", e.message);
300
301
  error = "An unknown error occurred";
301
302
  break;
302
303
  }
@@ -5,7 +5,7 @@ import {
5
5
  __spreadValues
6
6
  } from "../chunk-MMUBH76A.js";
7
7
  import { jsx } from "react/jsx-runtime";
8
- import { useMemo } from "react";
8
+ import { useMemo, useRef } from "react";
9
9
  import { createConfig, WagmiProvider } from "wagmi";
10
10
  import { connectorsForWallets } from "../wallets/connectorsForWallets.js";
11
11
  import { http } from "viem";
@@ -28,6 +28,7 @@ function ParaEvmProvider({
28
28
  config: _config,
29
29
  wagmiProviderProps
30
30
  }) {
31
+ const prevWallets = useRef(null);
31
32
  const para = internalConfig.para;
32
33
  const _a = _config, {
33
34
  projectId,
@@ -60,8 +61,11 @@ function ParaEvmProvider({
60
61
  });
61
62
  }, [para]);
62
63
  const config = useMemo(() => {
64
+ if (!prevWallets.current) {
65
+ prevWallets.current = wallets;
66
+ }
63
67
  const existing = getWagmiConfig();
64
- if (existing) return existing;
68
+ if (existing && prevWallets.current === wallets) return existing;
65
69
  const wcMetadata = computeWalletConnectMetaData({ appName, appDescription, appUrl, appIcon });
66
70
  const walletFactories = resolveWalletList(wallets);
67
71
  const baseConnectors = connectorsForWallets(walletFactories, {
@@ -73,12 +77,15 @@ function ParaEvmProvider({
73
77
  walletConnectParameters: { metadata: wcMetadata }
74
78
  });
75
79
  const allConnectors = [...baseConnectors, paraConnectorInstance];
76
- const createdConfig = createConfig(__spreadProps(__spreadValues({}, wagmiConfigParams), {
80
+ const createdConfig = createConfig(__spreadProps(__spreadValues({
81
+ ssr: true
82
+ }, wagmiConfigParams), {
77
83
  chains,
78
84
  transports: transports || createDefaultTransports(chains),
79
85
  connectors: allConnectors
80
86
  }));
81
87
  setWagmiConfig(createdConfig);
88
+ prevWallets.current = wallets;
82
89
  return createdConfig;
83
90
  }, [wallets, paraConnectorInstance]);
84
91
  return /* @__PURE__ */ jsx(WagmiProvider, __spreadProps(__spreadValues({ config }, wagmiProviderProps), { children: /* @__PURE__ */ jsx(EvmExternalWalletProvider, __spreadProps(__spreadValues({}, internalConfig), { children })) }));
@@ -49,7 +49,9 @@ function createParaWagmiConfig(para, cfg) {
49
49
  appName,
50
50
  options: paraConnectorOptions != null ? paraConnectorOptions : {}
51
51
  });
52
- const created = createConfig(__spreadProps(__spreadValues({}, wagmiParams), {
52
+ const created = createConfig(__spreadProps(__spreadValues({
53
+ ssr: true
54
+ }, wagmiParams), {
53
55
  chains,
54
56
  transports,
55
57
  connectors: [...baseConnectors, paraConn]
@@ -8,5 +8,6 @@ import { safeWallet } from './safe/safe.js';
8
8
  import { okxWallet } from './okx/okx.js';
9
9
  import { backpackWallet } from './backpack/backpack.js';
10
10
  import { hahaWallet } from './haha/haha.js';
11
- export { metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet, safeWallet, okxWallet, backpackWallet, hahaWallet, };
11
+ import { phantomWallet } from './phantom/phantom.js';
12
+ export { metaMaskWallet, rainbowWallet, walletConnectWallet, coinbaseWallet, zerionWallet, rabbyWallet, safeWallet, okxWallet, backpackWallet, hahaWallet, phantomWallet, };
12
13
  export declare const allWallets: ((({ appName, appIcon }: import("./coinbase/coinbase.js").CoinbaseWalletOptions) => import("../../types/Wallet.js").Wallet) | (({ projectId, options }: import("./walletConnect/walletConnect.js").WalletConnectWalletOptions) => import("../../types/Wallet.js").Wallet) | (({ projectId, walletConnectParameters }: import("./metaMask/metaMask.js").MetaMaskWalletOptions) => import("../../types/Wallet.js").Wallet))[];
@@ -10,6 +10,7 @@ import { safeWallet } from "./safe/safe.js";
10
10
  import { okxWallet } from "./okx/okx.js";
11
11
  import { backpackWallet } from "./backpack/backpack.js";
12
12
  import { hahaWallet } from "./haha/haha.js";
13
+ import { phantomWallet } from "./phantom/phantom.js";
13
14
  const allWallets = [
14
15
  metaMaskWallet,
15
16
  rainbowWallet,
@@ -20,7 +21,8 @@ const allWallets = [
20
21
  safeWallet,
21
22
  okxWallet,
22
23
  backpackWallet,
23
- hahaWallet
24
+ hahaWallet,
25
+ phantomWallet
24
26
  ];
25
27
  export {
26
28
  allWallets,
@@ -29,6 +31,7 @@ export {
29
31
  hahaWallet,
30
32
  metaMaskWallet,
31
33
  okxWallet,
34
+ phantomWallet,
32
35
  rabbyWallet,
33
36
  rainbowWallet,
34
37
  safeWallet,
@@ -0,0 +1,3 @@
1
+ import { DefaultWalletOptions, Wallet } from '../../../types/Wallet.js';
2
+ export type PhantomWalletOptions = DefaultWalletOptions;
3
+ export declare const phantomWallet: ({ projectId, walletConnectParameters }: PhantomWalletOptions) => Wallet;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ import { getInjectedConnector, hasInjectedProvider } from "../../../utils/getInjectedConnector.js";
4
+ import { icon } from "./phantomIcon.js";
5
+ import { getWalletConnectConnector } from "../../../utils/getWalletConnectConnector.js";
6
+ const phantomWallet = ({ projectId, walletConnectParameters }) => {
7
+ const isPhantomInjected = hasInjectedProvider({ namespace: "phantom.ethereum" });
8
+ const shouldUseWalletConnect = !isPhantomInjected;
9
+ const getUri = (uri) => {
10
+ return uri;
11
+ };
12
+ return {
13
+ id: "phantom",
14
+ internalId: "PHANTOM",
15
+ name: "Phantom",
16
+ rdns: "app.phantom",
17
+ iconUrl: icon,
18
+ installed: isPhantomInjected,
19
+ isExtension: true,
20
+ isMobile: true,
21
+ getUri,
22
+ downloadUrl: "https://phantom.app/download",
23
+ createConnector: shouldUseWalletConnect ? getWalletConnectConnector({
24
+ projectId,
25
+ walletConnectParameters
26
+ }) : getInjectedConnector({ namespace: "phantom.ethereum" })
27
+ };
28
+ };
29
+ export {
30
+ phantomWallet
31
+ };
@@ -0,0 +1 @@
1
+ export declare const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgaGVpZ2h0PSIxMjAwIiB2aWV3Qm94PSIwIDAgMTIwMCAxMjAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMjU5Nl8xMzg1ODApIj4KPHJlY3QgeT0iLTAuMDAwOTc2NTYyIiB3aWR0aD0iMTIwMCIgaGVpZ2h0PSIxMjAwIiBmaWxsPSIjQUI5RkYyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTIyLjIxOCA3NjQuODEzQzQ3NS4xMDEgODM3LjAxMSAzOTYuMTQ3IDkyOC4zNzcgMjkxLjA4OSA5MjguMzc3QzI0MS40MjUgOTI4LjM3NyAxOTMuNjcxIDkwNy45MzIgMTkzLjY3MSA4MTkuMTIxQzE5My42NzEgNTkyLjk0MiA1MDIuNDc5IDI0Mi44MTIgNzg5LjAwMyAyNDIuODEyQzk1Mi4wMDMgMjQyLjgxMiAxMDE2Ljk1IDM1NS45MDEgMTAxNi45NSA0ODQuMzI1QzEwMTYuOTUgNjQ5LjE2NyA5MDkuOTc5IDgzNy42NSA4MDMuNjQ3IDgzNy42NUM3NjkuOTAxIDgzNy42NSA3NTMuMzQ2IDgxOS4xMjEgNzUzLjM0NiA3ODkuNzMxQzc1My4zNDYgNzgyLjA2NCA3NTQuNjIgNzczLjc1OCA3NTcuMTY3IDc2NC44MTNDNzIwLjg3NCA4MjYuNzg4IDY1MC44MzUgODg0LjI5MiA1ODUuMjUzIDg4NC4yOTJDNTM3LjQ5OSA4ODQuMjkyIDUxMy4zMDQgODU0LjI2MiA1MTMuMzA0IDgxMi4wOTNDNTEzLjMwNCA3OTYuNzU5IDUxNi40ODcgNzgwLjc4NiA1MjIuMjE4IDc2NC44MTNaTTc2OS4wMzUgNDc5Ljg3MUM3NjkuMDM1IDUxNy4yOTMgNzQ2Ljk1NiA1MzYuMDAzIDcyMi4yNTggNTM2LjAwM0M2OTcuMTg1IDUzNi4wMDMgNjc1LjQ4MSA1MTcuMjkzIDY3NS40ODEgNDc5Ljg3MUM2NzUuNDgxIDQ0Mi40NDkgNjk3LjE4NSA0MjMuNzM4IDcyMi4yNTggNDIzLjczOEM3NDYuOTU2IDQyMy43MzggNzY5LjAzNSA0NDIuNDQ5IDc2OS4wMzUgNDc5Ljg3MVpNOTA5LjM2NyA0NzkuODcyQzkwOS4zNjcgNTE3LjI5NCA4ODcuMjg4IDUzNi4wMDUgODYyLjU5IDUzNi4wMDVDODM3LjUxNyA1MzYuMDA1IDgxNS44MTMgNTE3LjI5NCA4MTUuODEzIDQ3OS44NzJDODE1LjgxMyA0NDIuNDUgODM3LjUxNyA0MjMuNzQgODYyLjU5IDQyMy43NEM4ODcuMjg4IDQyMy43NCA5MDkuMzY3IDQ0Mi40NSA5MDkuMzY3IDQ3OS44NzJaIiBmaWxsPSIjRkZGREY4Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjU5Nl8xMzg1ODAiPgo8cmVjdCB5PSItMC4wMDA5NzY1NjIiIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjEyMDAiIHJ4PSI2MDAiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import "../../../chunk-MMUBH76A.js";
3
+ const icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgaGVpZ2h0PSIxMjAwIiB2aWV3Qm94PSIwIDAgMTIwMCAxMjAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMjU5Nl8xMzg1ODApIj4KPHJlY3QgeT0iLTAuMDAwOTc2NTYyIiB3aWR0aD0iMTIwMCIgaGVpZ2h0PSIxMjAwIiBmaWxsPSIjQUI5RkYyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTIyLjIxOCA3NjQuODEzQzQ3NS4xMDEgODM3LjAxMSAzOTYuMTQ3IDkyOC4zNzcgMjkxLjA4OSA5MjguMzc3QzI0MS40MjUgOTI4LjM3NyAxOTMuNjcxIDkwNy45MzIgMTkzLjY3MSA4MTkuMTIxQzE5My42NzEgNTkyLjk0MiA1MDIuNDc5IDI0Mi44MTIgNzg5LjAwMyAyNDIuODEyQzk1Mi4wMDMgMjQyLjgxMiAxMDE2Ljk1IDM1NS45MDEgMTAxNi45NSA0ODQuMzI1QzEwMTYuOTUgNjQ5LjE2NyA5MDkuOTc5IDgzNy42NSA4MDMuNjQ3IDgzNy42NUM3NjkuOTAxIDgzNy42NSA3NTMuMzQ2IDgxOS4xMjEgNzUzLjM0NiA3ODkuNzMxQzc1My4zNDYgNzgyLjA2NCA3NTQuNjIgNzczLjc1OCA3NTcuMTY3IDc2NC44MTNDNzIwLjg3NCA4MjYuNzg4IDY1MC44MzUgODg0LjI5MiA1ODUuMjUzIDg4NC4yOTJDNTM3LjQ5OSA4ODQuMjkyIDUxMy4zMDQgODU0LjI2MiA1MTMuMzA0IDgxMi4wOTNDNTEzLjMwNCA3OTYuNzU5IDUxNi40ODcgNzgwLjc4NiA1MjIuMjE4IDc2NC44MTNaTTc2OS4wMzUgNDc5Ljg3MUM3NjkuMDM1IDUxNy4yOTMgNzQ2Ljk1NiA1MzYuMDAzIDcyMi4yNTggNTM2LjAwM0M2OTcuMTg1IDUzNi4wMDMgNjc1LjQ4MSA1MTcuMjkzIDY3NS40ODEgNDc5Ljg3MUM2NzUuNDgxIDQ0Mi40NDkgNjk3LjE4NSA0MjMuNzM4IDcyMi4yNTggNDIzLjczOEM3NDYuOTU2IDQyMy43MzggNzY5LjAzNSA0NDIuNDQ5IDc2OS4wMzUgNDc5Ljg3MVpNOTA5LjM2NyA0NzkuODcyQzkwOS4zNjcgNTE3LjI5NCA4ODcuMjg4IDUzNi4wMDUgODYyLjU5IDUzNi4wMDVDODM3LjUxNyA1MzYuMDA1IDgxNS44MTMgNTE3LjI5NCA4MTUuODEzIDQ3OS44NzJDODE1LjgxMyA0NDIuNDUgODM3LjUxNyA0MjMuNzQgODYyLjU5IDQyMy43NEM4ODcuMjg4IDQyMy43NCA5MDkuMzY3IDQ0Mi40NSA5MDkuMzY3IDQ3OS44NzJaIiBmaWxsPSIjRkZGREY4Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjU5Nl8xMzg1ODAiPgo8cmVjdCB5PSItMC4wMDA5NzY1NjIiIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjEyMDAiIHJ4PSI2MDAiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==";
4
+ export {
5
+ icon
6
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpara/evm-wallet-connectors",
3
- "version": "2.0.0-alpha.21",
3
+ "version": "2.0.0-alpha.22",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,8 +10,8 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@coinbase/wallet-sdk": "4.3.0",
13
- "@getpara/wagmi-v2-connector": "2.0.0-alpha.21",
14
- "@getpara/web-sdk": "2.0.0-alpha.21",
13
+ "@getpara/wagmi-v2-connector": "2.0.0-alpha.22",
14
+ "@getpara/web-sdk": "2.0.0-alpha.22",
15
15
  "viem": "^2.24.2",
16
16
  "wagmi": "^2.14.16",
17
17
  "zustand": "^4.5.2",
@@ -23,7 +23,7 @@
23
23
  "test": "vitest run --coverage"
24
24
  },
25
25
  "devDependencies": {
26
- "@getpara/react-common": "2.0.0-alpha.21",
26
+ "@getpara/react-common": "2.0.0-alpha.22",
27
27
  "@tanstack/react-query": ">=5.0.0",
28
28
  "@types/react": "^18.0.31",
29
29
  "@types/react-dom": "^18.2.7",
@@ -39,5 +39,5 @@
39
39
  "dist",
40
40
  "package.json"
41
41
  ],
42
- "gitHead": "03daa3537312bc52e0640225c8abdbf8047c15da"
42
+ "gitHead": "e23258f6af4d3445bf4717a9e524c63e0088e159"
43
43
  }