@gelatonetwork/smartwallet-react-privy 0.0.21 → 0.0.23

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @gelatonetwork/smartwallet-react-privy
2
2
 
3
+ ## 0.0.23
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [9b9badd]
8
+ - @gelatonetwork/smartwallet@0.0.23
9
+ - @gelatonetwork/smartwallet-react-types@0.0.23
10
+
11
+ ## 0.0.22
12
+
13
+ ### Patch Changes
14
+
15
+ - fa5b7b4: fix: privy network switch and login issues
16
+ - 90c8314: feat: allow passing clientId for privy
17
+ - Updated dependencies [90c8314]
18
+ - Updated dependencies [7bd5914]
19
+ - @gelatonetwork/smartwallet-react-types@0.0.22
20
+ - @gelatonetwork/smartwallet@0.0.22
21
+
3
22
  ## 0.0.21
4
23
 
5
24
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AASrE,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAqB3C,eAAO,MAAM,gCAAgC,8BAQ5C,CAAC;AAEF,KAAK,kCAAkC,GAAG,MAAM,CAAC,aAAa,CAAC;AAkH/D,eAAO,MAAM,qCAAqC,EAAE,EAAE,CAAC,kCAAkC,CA+BxF,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AASrE,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAkC3C,eAAO,MAAM,gCAAgC,8BAQ5C,CAAC;AAEF,KAAK,kCAAkC,GAAG,MAAM,CAAC,aAAa,CAAC;AAsI/D,eAAO,MAAM,qCAAqC,EAAE,EAAE,CAAC,kCAAkC,CAgCxF,CAAC"}
package/_dist/provider.js CHANGED
@@ -4,7 +4,7 @@ import { PrivyProvider, usePrivy, useSignAuthorization, useWallets } from "@priv
4
4
  import { WagmiProvider, createConfig } from "@privy-io/wagmi";
5
5
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
6
6
  import { ChainId } from "caip";
7
- import { createContext, useContext, useEffect, useState } from "react";
7
+ import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
8
8
  import { createWalletClient, custom } from "viem";
9
9
  import { prepareAuthorization } from "viem/actions";
10
10
  import * as chains from "viem/chains";
@@ -22,31 +22,45 @@ const GelatoSmartWalletPrivyInternal = ({ children, wagmi, apiKey, scw }) => {
22
22
  const { wallets, ready: walletsReady } = useWallets();
23
23
  const { signAuthorization } = useSignAuthorization();
24
24
  const [smartWalletClient, setSmartWalletClient] = useState(null);
25
- const logoutWrapper = async () => {
25
+ const currentChainIdRef = useRef(null);
26
+ const logoutWrapper = useCallback(async () => {
26
27
  if (!smartWalletClient) {
27
28
  return;
28
29
  }
29
30
  setSmartWalletClient(null);
30
31
  await logout();
31
- };
32
- const switchNetwork = async (chainId) => {
33
- if (!smartWalletClient) {
32
+ }, [smartWalletClient, logout]);
33
+ const switchNetwork = useCallback(async (chainId) => {
34
+ if (!smartWalletClient || !wallets || wallets.length === 0) {
34
35
  return;
35
36
  }
36
37
  const primaryWallet = wallets[0];
37
- await primaryWallet.switchChain(chainId);
38
- smartWalletClient.switchChain({ id: chainId });
39
- };
38
+ try {
39
+ await primaryWallet.switchChain(chainId);
40
+ // The useEffect will handle recreating the client with the new chain
41
+ // We don't need to manually call smartWalletClient.switchChain
42
+ }
43
+ catch (error) {
44
+ console.error("Failed to switch network:", error);
45
+ }
46
+ }, [smartWalletClient, wallets]);
47
+ // biome-ignore lint/correctness/useExhaustiveDependencies: off
40
48
  useEffect(() => {
41
49
  if (!ready || !walletsReady) {
42
50
  return;
43
51
  }
44
52
  if (!authenticated || !wallets || wallets.length === 0) {
45
53
  setSmartWalletClient(null);
54
+ currentChainIdRef.current = null;
55
+ return;
56
+ }
57
+ const primaryWallet = wallets[0];
58
+ const walletChainId = primaryWallet.chainId;
59
+ // Only recreate the client if the chain ID changes
60
+ if (currentChainIdRef.current === walletChainId && smartWalletClient) {
46
61
  return;
47
62
  }
48
63
  const fetchWalletClient = async () => {
49
- const primaryWallet = wallets[0];
50
64
  try {
51
65
  // Privy wallet provides chainId in CAIP2 format
52
66
  const { reference: chainId } = ChainId.parse(primaryWallet.chainId);
@@ -64,7 +78,7 @@ const GelatoSmartWalletPrivyInternal = ({ children, wagmi, apiKey, scw }) => {
64
78
  chain,
65
79
  transport: custom(provider)
66
80
  });
67
- client.signAuthorization = async (parameters) => {
81
+ client.account.signAuthorization = async (parameters) => {
68
82
  const preparedAuthorization = await prepareAuthorization(client, parameters);
69
83
  const signedAuthorization = await signAuthorization({
70
84
  contractAddress: preparedAuthorization.address,
@@ -75,13 +89,14 @@ const GelatoSmartWalletPrivyInternal = ({ children, wagmi, apiKey, scw }) => {
75
89
  };
76
90
  const walletClientGelato = await createGelatoSmartWalletClient(client, { apiKey, scw });
77
91
  setSmartWalletClient(walletClientGelato);
92
+ currentChainIdRef.current = walletChainId;
78
93
  }
79
94
  catch (error) {
80
95
  console.error("Failed to get wallet client:", error);
81
96
  }
82
97
  };
83
98
  fetchWalletClient();
84
- }, [ready, wallets, walletsReady, authenticated, signAuthorization, apiKey, scw]);
99
+ }, [ready, walletsReady, authenticated, apiKey, scw, signAuthorization]);
85
100
  return (_jsx(GelatoSmartWalletPrivyProviderContext.Provider, { value: {
86
101
  gelato: {
87
102
  client: smartWalletClient
@@ -96,7 +111,7 @@ const GelatoSmartWalletPrivyInternal = ({ children, wagmi, apiKey, scw }) => {
96
111
  export const GelatoSmartWalletPrivyContextProvider = ({ children, settings }) => {
97
112
  const queryClient = new QueryClient();
98
113
  const wagmiConfig = settings.wagmi ? createConfig(settings.wagmi.config) : undefined;
99
- return (_jsx(PrivyProvider, { appId: settings.waas.appId, config: {
114
+ return (_jsx(PrivyProvider, { appId: settings.waas.appId, clientId: settings.waas.clientId, config: {
100
115
  defaultChain: settings.defaultChain ?? settings.wagmi?.config?.chains?.[0] ?? chains.sepolia,
101
116
  supportedChains: settings.waas.customChains?.supportedChains
102
117
  }, children: _jsx(GelatoSmartWalletPrivyInternal, { wagmi: { config: wagmiConfig }, apiKey: settings.apiKey, scw: settings.scw, children: wagmiConfig ? (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(WagmiProvider, { config: wagmiConfig, children: children }) })) : (children) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAKL,kBAAkB,EAClB,MAAM,EACP,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,qCAAqC,GAAG,aAAa,CAEzD,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAIF,MAAM,8BAA8B,GAK/B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;IACxC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAErD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAIhD,IAAI,CAAC,CAAC;IAEhB,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,MAAM,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACnC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEjC,IAAI,CAAC;gBACH,gDAAgD;gBAChD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,YAAY,CAAC;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7B,4DAA4D;oBAC5D,EAAE,EAAE,MAAM,CAAC,OAAO,CAAQ;iBAC3B,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC;oBAChC,OAAO,EAAE,aAAa,CAAC,OAAc;oBACrC,KAAK;oBACL,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;iBAC5B,CAAC,CAAC;gBAEH,MAAM,CAAC,iBAAiB,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE;oBAC9C,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBAE7E,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC;wBAClD,eAAe,EAAE,qBAAqB,CAAC,OAAO;wBAC9C,OAAO,EAAE,qBAAqB,CAAC,OAAO;wBACtC,KAAK,EAAE,qBAAqB,CAAC,KAAK;qBACnC,CAAC,CAAC;oBAEH,OAAO,mBAAmB,CAAC;gBAC7B,CAAC,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,6BAA6B,CAC5D,MAAM,EACN,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;gBACF,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAEF,iBAAiB,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAElF,OAAO,CACL,KAAC,qCAAqC,CAAC,QAAQ,IAC7C,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,iBAAkF;aAC3F;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB;YACD,MAAM,EAAE,aAAa;YACrB,aAAa;SACd,YAEA,QAAQ,GACsC,CAClD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAA2C,CAAC,EAC5F,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErF,OAAO,CACL,KAAC,aAAa,IACZ,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC1B,MAAM,EAAE;YACN,YAAY,EACV,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO;YAChF,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe;SAC7D,YAED,KAAC,8BAA8B,IAC7B,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,YAEhB,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,aAAa,IAAC,MAAM,EAAE,WAAW,YAAG,QAAQ,GAAiB,GAC1C,CACvB,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GAC8B,GACnB,CACjB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}