@latticexyz/entrykit 2.2.22-9dc032a7075a33fca3936f049aae8de923e9a723 → 2.2.22-9f06079cb52cb39888097ea3a293ec71bd46ebbc

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.
@@ -550,7 +550,7 @@ function ConnectWallet() {
550
550
  }
551
551
 
552
552
  // src/onboarding/ConnectedSteps.tsx
553
- import { useEffect as useEffect13, useMemo as useMemo4, useRef as useRef4, useState as useState6 } from "react";
553
+ import { useEffect as useEffect15, useMemo as useMemo4, useRef as useRef4, useState as useState6 } from "react";
554
554
  import { twMerge as twMerge17 } from "tailwind-merge";
555
555
 
556
556
  // src/onboarding/usePrerequisites.ts
@@ -1613,8 +1613,9 @@ function Session({ isActive, isExpanded, userClient, registerSpender, registerDe
1613
1613
  }
1614
1614
 
1615
1615
  // src/onboarding/GasBalance.tsx
1616
- import { useState as useState3 } from "react";
1616
+ import { useEffect as useEffect9, useState as useState3 } from "react";
1617
1617
  import { parseEther as parseEther4 } from "viem";
1618
+ import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
1618
1619
  import { useBalance as useBalance2, useWatchBlockNumber } from "wagmi";
1619
1620
 
1620
1621
  // src/data/relayChains.json
@@ -1920,6 +1921,16 @@ function useSetBalance() {
1920
1921
  });
1921
1922
  }
1922
1923
 
1924
+ // src/errors/usePrevious.ts
1925
+ import { useEffect as useEffect8, useRef as useRef2 } from "react";
1926
+ function usePrevious(value, initialValue) {
1927
+ const ref = useRef2();
1928
+ useEffect8(() => {
1929
+ ref.current = { value };
1930
+ }, [value]);
1931
+ return ref.current ? ref.current.value : initialValue;
1932
+ }
1933
+
1923
1934
  // src/icons/IconSVG.tsx
1924
1935
  import { twMerge as twMerge7 } from "tailwind-merge";
1925
1936
  import { jsx as jsx16 } from "react/jsx-runtime";
@@ -1972,9 +1983,11 @@ function CheckIcon(props) {
1972
1983
  // src/onboarding/GasBalance.tsx
1973
1984
  import { Fragment, jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
1974
1985
  function GasBalance({ isActive, isExpanded, sessionAddress }) {
1986
+ const queryClient = useQueryClient6();
1975
1987
  const { chain } = useEntryKitConfig();
1976
1988
  const [copied, setCopied] = useState3(false);
1977
1989
  const balance = useShowQueryError(useBalance2({ chainId: chain.id, address: sessionAddress }));
1990
+ const prevBalance = usePrevious(balance.data);
1978
1991
  useWatchBlockNumber({ onBlockNumber: () => balance.refetch() });
1979
1992
  const setBalance3 = useShowMutationError(useSetBalance());
1980
1993
  const relayChain = relayChains_default[chain.id];
@@ -1983,6 +1996,11 @@ function GasBalance({ isActive, isExpanded, sessionAddress }) {
1983
1996
  setCopied(true);
1984
1997
  setTimeout(() => setCopied(false), 2e3);
1985
1998
  };
1999
+ useEffect9(() => {
2000
+ if (balance.data != null && prevBalance?.value === 0n && balance.data.value > 0n) {
2001
+ queryClient.invalidateQueries({ queryKey: ["getPrerequisites"] });
2002
+ }
2003
+ }, [balance.data, prevBalance, setBalance3, sessionAddress, queryClient]);
1986
2004
  return /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-4", children: [
1987
2005
  /* @__PURE__ */ jsxs14("div", { className: "flex justify-between gap-4", children: [
1988
2006
  /* @__PURE__ */ jsxs14("div", { children: [
@@ -2053,7 +2071,7 @@ function GasBalance({ isActive, isExpanded, sessionAddress }) {
2053
2071
 
2054
2072
  // src/onboarding/deposit/DepositFormContainer.tsx
2055
2073
  import { useState as useState5 } from "react";
2056
- import { useChains as useChains5, useChainId } from "wagmi";
2074
+ import { useChains as useChains4, useChainId } from "wagmi";
2057
2075
 
2058
2076
  // src/onboarding/deposit/DepositViaTransferForm.tsx
2059
2077
  import { useAccount as useAccount5, useWriteContract, usePrepareTransactionRequest, usePublicClient } from "wagmi";
@@ -2061,16 +2079,16 @@ import { encodeFunctionData as encodeFunctionData2 } from "viem";
2061
2079
  import { useMutation as useMutation4, useQuery as useQuery11 } from "@tanstack/react-query";
2062
2080
 
2063
2081
  // src/onboarding/deposit/DepositForm.tsx
2064
- import { useEffect as useEffect8, useRef as useRef2 } from "react";
2082
+ import { useEffect as useEffect11, useRef as useRef3 } from "react";
2065
2083
  import { useAccount as useAccount4, useBalance as useBalance5, useWatchBlockNumber as useWatchBlockNumber2 } from "wagmi";
2066
2084
  import { useIsMounted } from "usehooks-ts";
2067
2085
  import { twMerge as twMerge15 } from "tailwind-merge";
2068
2086
 
2069
2087
  // src/onboarding/deposit/ChainSelect.tsx
2070
- import { useMemo as useMemo2 } from "react";
2088
+ import { useEffect as useEffect10, useMemo as useMemo2 } from "react";
2089
+ import { useAccount as useAccount2, useSwitchChain } from "wagmi";
2071
2090
  import { twMerge as twMerge12 } from "tailwind-merge";
2072
2091
  import * as Select from "@radix-ui/react-select";
2073
- import { useAccount as useAccount2, useChains as useChains2 } from "wagmi";
2074
2092
 
2075
2093
  // src/icons/ChevronUpIcon.tsx
2076
2094
  import { jsx as jsx20 } from "react/jsx-runtime";
@@ -2227,7 +2245,7 @@ function ChainSelect({ value, onChange }) {
2227
2245
  const theme = useTheme();
2228
2246
  const { frame } = useFrame();
2229
2247
  const userAccount = useAccount2();
2230
- const chains = useChains2();
2248
+ const { chains, switchChain } = useSwitchChain();
2231
2249
  const relay = useRelay();
2232
2250
  const relayChains = relay.data?.chains;
2233
2251
  const sourceChains = useMemo2(() => {
@@ -2240,6 +2258,13 @@ function ChainSelect({ value, onChange }) {
2240
2258
  }).filter((c) => c.relayChain);
2241
2259
  }, [chains, relayChains]);
2242
2260
  const selectedChain = sourceChains.find((c) => c.id === value);
2261
+ useEffect10(() => {
2262
+ if (sourceChains.length > 0 && !selectedChain) {
2263
+ const defaultChain = sourceChains[0];
2264
+ onChange(defaultChain.id);
2265
+ switchChain({ chainId: defaultChain.id });
2266
+ }
2267
+ }, [value, selectedChain, sourceChains, onChange, switchChain]);
2243
2268
  return /* @__PURE__ */ jsxs15(
2244
2269
  Select.Root,
2245
2270
  {
@@ -2354,7 +2379,7 @@ var AmountInput = forwardRef3(function AmountInput2({ initialAmount, onChange },
2354
2379
  });
2355
2380
 
2356
2381
  // src/onboarding/deposit/SubmitButton.tsx
2357
- import { useAccount as useAccount3, useBalance as useBalance4, useSwitchChain } from "wagmi";
2382
+ import { useAccount as useAccount3, useBalance as useBalance4, useSwitchChain as useSwitchChain2 } from "wagmi";
2358
2383
  import { twMerge as twMerge14 } from "tailwind-merge";
2359
2384
  import { parseEther as parseEther6 } from "viem";
2360
2385
  import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
@@ -2363,12 +2388,13 @@ function SubmitButton({ amount, chainId, className, ...buttonProps }) {
2363
2388
  const { chainId: userChainId, address: userAddress } = useAccount3();
2364
2389
  const { data: userBalance } = useBalance4({ address: userAddress });
2365
2390
  const shouldSwitchChain = chainId != null && chainId !== userChainId;
2366
- const switchChain = useSwitchChain();
2391
+ const switchChain = useSwitchChain2();
2367
2392
  if (shouldSwitchChain) {
2368
2393
  return /* @__PURE__ */ jsx28(
2369
2394
  Button,
2370
2395
  {
2371
2396
  type: "button",
2397
+ variant: "primary",
2372
2398
  className: twMerge14("w-full", className),
2373
2399
  pending: switchChain.isPending,
2374
2400
  onClick: () => switchChain.switchChain({ chainId }),
@@ -2424,7 +2450,7 @@ function DepositForm({
2424
2450
  onSubmit,
2425
2451
  submitButton
2426
2452
  }) {
2427
- const amountInputRef = useRef2(null);
2453
+ const amountInputRef = useRef3(null);
2428
2454
  const isMounted = useIsMounted();
2429
2455
  const { address: userAddress, chainId: userChainId } = useAccount4();
2430
2456
  const balance = useShowQueryError(useBalance5({ chainId: sourceChain.id, address: userAddress }));
@@ -2437,7 +2463,7 @@ function DepositForm({
2437
2463
  });
2438
2464
  const minimumBalance = amount != null ? amount + (estimatedFee?.fee ?? 0n) : void 0;
2439
2465
  const hasMinimumBalance = balance.data != null ? balance.data.value > (minimumBalance ?? 0n) : void 0;
2440
- useEffect8(() => {
2466
+ useEffect11(() => {
2441
2467
  amountInputRef.current?.focus();
2442
2468
  }, [userChainId]);
2443
2469
  return /* @__PURE__ */ jsxs18(
@@ -2764,14 +2790,14 @@ function DepositViaRelayForm({ amount, setAmount, sourceChain, setSourceChainId
2764
2790
  }
2765
2791
 
2766
2792
  // src/onboarding/deposit/Deposits.tsx
2767
- import { useEffect as useEffect10 } from "react";
2768
- import { useQuery as useQuery15, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
2793
+ import { useEffect as useEffect13 } from "react";
2794
+ import { useQuery as useQuery15, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
2769
2795
 
2770
2796
  // src/onboarding/deposit/TransferDepositStatus.tsx
2771
2797
  import { useQuery as useQuery13 } from "@tanstack/react-query";
2772
2798
 
2773
2799
  // src/onboarding/deposit/DepositStatus.tsx
2774
- import { useEffect as useEffect9, useState as useState4 } from "react";
2800
+ import { useEffect as useEffect12, useState as useState4 } from "react";
2775
2801
  import { twMerge as twMerge16 } from "tailwind-merge";
2776
2802
 
2777
2803
  // src/icons/CloseIcon.tsx
@@ -2794,7 +2820,7 @@ function CloseIcon(props) {
2794
2820
  import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
2795
2821
  function DepositStatus({ status, progress, children, onDismiss }) {
2796
2822
  const [appear, setAppear] = useState4(false);
2797
- useEffect9(() => {
2823
+ useEffect12(() => {
2798
2824
  setAppear(true);
2799
2825
  }, []);
2800
2826
  return /* @__PURE__ */ jsxs19("div", { className: "group bg-white dark:bg-neutral-900 flex flex-col animate-in fade-in slide-in-from-bottom-2 animate-out fade-out", children: [
@@ -2839,7 +2865,7 @@ function DepositStatus({ status, progress, children, onDismiss }) {
2839
2865
  }
2840
2866
 
2841
2867
  // src/onboarding/deposit/TransferDepositStatus.tsx
2842
- import { useChains as useChains3 } from "wagmi";
2868
+ import { useChains as useChains2 } from "wagmi";
2843
2869
  import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
2844
2870
  function TransferDepositStatus({
2845
2871
  amount,
@@ -2850,7 +2876,7 @@ function TransferDepositStatus({
2850
2876
  estimatedTime,
2851
2877
  onDismiss
2852
2878
  }) {
2853
- const chains = useChains3();
2879
+ const chains = useChains2();
2854
2880
  const chain = chains.find((chain2) => chain2.id === chainL1Id);
2855
2881
  const receipt = useQuery13({
2856
2882
  queryKey: ["transferDepositStatus", hash],
@@ -2912,8 +2938,7 @@ function TransferDepositStatus({
2912
2938
  }
2913
2939
  ),
2914
2940
  " ",
2915
- /* @__PURE__ */ jsx35(Balance, { wei: amount }),
2916
- " !"
2941
+ /* @__PURE__ */ jsx35(Balance, { wei: amount })
2917
2942
  ] });
2918
2943
  })()
2919
2944
  }
@@ -2922,7 +2947,7 @@ function TransferDepositStatus({
2922
2947
 
2923
2948
  // src/onboarding/deposit/RelayDepositStatus.tsx
2924
2949
  import { useQuery as useQuery14 } from "@tanstack/react-query";
2925
- import { useChains as useChains4 } from "wagmi";
2950
+ import { useChains as useChains3 } from "wagmi";
2926
2951
  import { Fragment as Fragment6, jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
2927
2952
  function RelayDepositStatus({
2928
2953
  amount,
@@ -2933,7 +2958,7 @@ function RelayDepositStatus({
2933
2958
  depositPromise,
2934
2959
  onDismiss
2935
2960
  }) {
2936
- const chains = useChains4();
2961
+ const chains = useChains3();
2937
2962
  const chainL1 = chains.find((chain) => chain.id === chainL1Id);
2938
2963
  const chainL2 = chains.find((chain) => chain.id === chainL2Id);
2939
2964
  const deposit = useQuery14({
@@ -2980,7 +3005,7 @@ function RelayDepositStatus({
2980
3005
  import { useAccount as useAccount7, useClient as useClient11 } from "wagmi";
2981
3006
  import { jsx as jsx37 } from "react/jsx-runtime";
2982
3007
  function Deposits() {
2983
- const queryClient = useQueryClient6();
3008
+ const queryClient = useQueryClient7();
2984
3009
  const { chainId } = useEntryKitConfig();
2985
3010
  const client = useClient11({ chainId });
2986
3011
  const { address: userAddress } = useAccount7();
@@ -2993,7 +3018,7 @@ function Deposits() {
2993
3018
  return true;
2994
3019
  }
2995
3020
  });
2996
- useEffect10(() => {
3021
+ useEffect13(() => {
2997
3022
  if (isComplete) {
2998
3023
  queryClient.invalidateQueries({ queryKey: ["balance"] });
2999
3024
  queryClient.invalidateQueries({ queryKey: ["getBalance", client?.uid, userAddress] });
@@ -3014,7 +3039,7 @@ import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
3014
3039
  function DepositFormContainer() {
3015
3040
  const { chainId: destinationChainId } = useEntryKitConfig();
3016
3041
  const chainId = useChainId();
3017
- const chains = useChains5();
3042
+ const chains = useChains4();
3018
3043
  const [amount, setAmount] = useState5(void 0);
3019
3044
  const [sourceChainId, setSourceChainId] = useState5(chainId);
3020
3045
  const sourceChain = chains.find(({ id }) => id === sourceChainId);
@@ -3057,33 +3082,18 @@ function ArrowLeftIcon(props) {
3057
3082
  }
3058
3083
 
3059
3084
  // src/onboarding/quarry/GasBalance.tsx
3060
- import { useEffect as useEffect12 } from "react";
3061
- import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
3062
-
3063
- // src/errors/usePrevious.ts
3064
- import { useEffect as useEffect11, useRef as useRef3 } from "react";
3065
- function usePrevious(value, initialValue) {
3066
- const ref = useRef3();
3067
- useEffect11(() => {
3068
- ref.current = { value };
3069
- }, [value]);
3070
- return ref.current ? ref.current.value : initialValue;
3071
- }
3072
-
3073
- // src/onboarding/quarry/GasBalance.tsx
3085
+ import { useEffect as useEffect14 } from "react";
3086
+ import { useQueryClient as useQueryClient8 } from "@tanstack/react-query";
3074
3087
  import { Fragment as Fragment7, jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
3075
3088
  function GasBalance2({ isActive, isExpanded, isFocused, setFocused, userAddress }) {
3076
- const queryClient = useQueryClient7();
3089
+ const queryClient = useQueryClient8();
3077
3090
  const balance = useShowQueryError(useBalance(userAddress));
3078
3091
  const prevBalance = usePrevious(balance.data || 0n);
3079
- useEffect12(() => {
3080
- const checkBalance = async () => {
3081
- if (balance.data != null && prevBalance === 0n && balance.data > 0n) {
3082
- await queryClient.invalidateQueries({ queryKey: ["getPrerequisites"] });
3083
- setFocused(false);
3084
- }
3085
- };
3086
- checkBalance();
3092
+ useEffect14(() => {
3093
+ if (balance.data != null && prevBalance === 0n && balance.data > 0n) {
3094
+ queryClient.invalidateQueries({ queryKey: ["getPrerequisites"] });
3095
+ setFocused(false);
3096
+ }
3087
3097
  }, [balance.data, prevBalance, setFocused, queryClient, userAddress]);
3088
3098
  if (isFocused) {
3089
3099
  return /* @__PURE__ */ jsxs23(Fragment7, { children: [
@@ -3128,7 +3138,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
3128
3138
  const [focusedId, setFocusedId] = useState6(null);
3129
3139
  const userAddress = userClient.account.address;
3130
3140
  const { data: prerequisites, error: prerequisitesError } = usePrerequisites(userAddress);
3131
- useEffect13(() => {
3141
+ useEffect15(() => {
3132
3142
  if (prerequisitesError) {
3133
3143
  console.error("Could not get prerequisites", prerequisitesError);
3134
3144
  }
@@ -3136,7 +3146,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
3136
3146
  const { closeAccountModal } = useAccountModal();
3137
3147
  const isNewConnection = userAddress !== initialUserAddress;
3138
3148
  const initialPrerequisites = useRef4(prerequisites);
3139
- useEffect13(() => {
3149
+ useEffect15(() => {
3140
3150
  if (prerequisites == null) return;
3141
3151
  if (initialPrerequisites.current == null) {
3142
3152
  initialPrerequisites.current = prerequisites;
@@ -3261,11 +3271,11 @@ import { ErrorBoundary } from "react-error-boundary";
3261
3271
 
3262
3272
  // src/errors/ErrorOverlay.tsx
3263
3273
  import { wait } from "@latticexyz/common/utils";
3264
- import { useEffect as useEffect14 } from "react";
3274
+ import { useEffect as useEffect16 } from "react";
3265
3275
  import { twMerge as twMerge18 } from "tailwind-merge";
3266
3276
  import { Fragment as Fragment8, jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
3267
3277
  function ErrorOverlay({ error: error2, retry, dismiss }) {
3268
- useEffect14(() => {
3278
+ useEffect16(() => {
3269
3279
  if (error2) {
3270
3280
  console.error(error2);
3271
3281
  }