@latticexyz/entrykit 2.2.22-91cbbf67c5363dfcb7435504d6c803c19113e9ad → 2.2.22-9dc032a7075a33fca3936f049aae8de923e9a723

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.
@@ -189,31 +189,20 @@ function userOpExecutor({ executor }) {
189
189
  }
190
190
 
191
191
  // src/getBundlerTransport.ts
192
- import { wiresaw } from "@latticexyz/common/internal";
193
192
  function getBundlerTransport(chain) {
194
193
  const bundlerHttpUrl = chain.rpcUrls.bundler?.http[0];
195
- const wiresawWebSocketUrl = chain.rpcUrls.wiresaw?.webSocket?.[0];
196
- if (wiresawWebSocketUrl) {
197
- return wiresaw({ wiresaw: webSocket(wiresawWebSocketUrl), fallbackBundler: http(bundlerHttpUrl) });
194
+ const bundlerTransport = bundlerHttpUrl ? http(bundlerHttpUrl) : chain.id === 31337 ? userOpExecutor({
195
+ executor: createClient({
196
+ chain,
197
+ transport: fallback([webSocket(), http()]),
198
+ account: privateKeyToAccount(keccak256(stringToHex("local user op executor"))),
199
+ pollingInterval: 10
200
+ }).extend(transactionQueue())
201
+ }) : null;
202
+ if (!bundlerTransport) {
203
+ throw new Error(`Chain ${chain.id} config did not include a bundler RPC URL.`);
198
204
  }
199
- const wiresawHttpUrl = chain.rpcUrls.wiresaw?.http[0];
200
- if (wiresawHttpUrl) {
201
- return wiresaw({ wiresaw: http(wiresawHttpUrl), fallbackBundler: http(bundlerHttpUrl) });
202
- }
203
- if (bundlerHttpUrl) {
204
- return http(bundlerHttpUrl);
205
- }
206
- if (chain.id === 31337) {
207
- return userOpExecutor({
208
- executor: createClient({
209
- chain,
210
- transport: fallback([webSocket(), http()]),
211
- account: privateKeyToAccount(keccak256(stringToHex("local user op executor"))),
212
- pollingInterval: 10
213
- }).extend(transactionQueue())
214
- });
215
- }
216
- throw new Error(`Chain ${chain.id} config did not include a bundler RPC URL.`);
205
+ return bundlerTransport;
217
206
  }
218
207
 
219
208
  // src/EntryKitConfigProvider.tsx
@@ -561,7 +550,7 @@ function ConnectWallet() {
561
550
  }
562
551
 
563
552
  // src/onboarding/ConnectedSteps.tsx
564
- import { useEffect as useEffect15, useMemo as useMemo4, useRef as useRef4, useState as useState6 } from "react";
553
+ import { useEffect as useEffect13, useMemo as useMemo4, useRef as useRef4, useState as useState6 } from "react";
565
554
  import { twMerge as twMerge17 } from "tailwind-merge";
566
555
 
567
556
  // src/onboarding/usePrerequisites.ts
@@ -1624,9 +1613,8 @@ function Session({ isActive, isExpanded, userClient, registerSpender, registerDe
1624
1613
  }
1625
1614
 
1626
1615
  // src/onboarding/GasBalance.tsx
1627
- import { useEffect as useEffect9, useState as useState3 } from "react";
1616
+ import { useState as useState3 } from "react";
1628
1617
  import { parseEther as parseEther4 } from "viem";
1629
- import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
1630
1618
  import { useBalance as useBalance2, useWatchBlockNumber } from "wagmi";
1631
1619
 
1632
1620
  // src/data/relayChains.json
@@ -1932,16 +1920,6 @@ function useSetBalance() {
1932
1920
  });
1933
1921
  }
1934
1922
 
1935
- // src/errors/usePrevious.ts
1936
- import { useEffect as useEffect8, useRef as useRef2 } from "react";
1937
- function usePrevious(value, initialValue) {
1938
- const ref = useRef2();
1939
- useEffect8(() => {
1940
- ref.current = { value };
1941
- }, [value]);
1942
- return ref.current ? ref.current.value : initialValue;
1943
- }
1944
-
1945
1923
  // src/icons/IconSVG.tsx
1946
1924
  import { twMerge as twMerge7 } from "tailwind-merge";
1947
1925
  import { jsx as jsx16 } from "react/jsx-runtime";
@@ -1994,11 +1972,9 @@ function CheckIcon(props) {
1994
1972
  // src/onboarding/GasBalance.tsx
1995
1973
  import { Fragment, jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
1996
1974
  function GasBalance({ isActive, isExpanded, sessionAddress }) {
1997
- const queryClient = useQueryClient6();
1998
1975
  const { chain } = useEntryKitConfig();
1999
1976
  const [copied, setCopied] = useState3(false);
2000
1977
  const balance = useShowQueryError(useBalance2({ chainId: chain.id, address: sessionAddress }));
2001
- const prevBalance = usePrevious(balance.data);
2002
1978
  useWatchBlockNumber({ onBlockNumber: () => balance.refetch() });
2003
1979
  const setBalance3 = useShowMutationError(useSetBalance());
2004
1980
  const relayChain = relayChains_default[chain.id];
@@ -2007,11 +1983,6 @@ function GasBalance({ isActive, isExpanded, sessionAddress }) {
2007
1983
  setCopied(true);
2008
1984
  setTimeout(() => setCopied(false), 2e3);
2009
1985
  };
2010
- useEffect9(() => {
2011
- if (balance.data != null && prevBalance?.value === 0n && balance.data.value > 0n) {
2012
- queryClient.invalidateQueries({ queryKey: ["getPrerequisites"] });
2013
- }
2014
- }, [balance.data, prevBalance, setBalance3, sessionAddress, queryClient]);
2015
1986
  return /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-4", children: [
2016
1987
  /* @__PURE__ */ jsxs14("div", { className: "flex justify-between gap-4", children: [
2017
1988
  /* @__PURE__ */ jsxs14("div", { children: [
@@ -2082,7 +2053,7 @@ function GasBalance({ isActive, isExpanded, sessionAddress }) {
2082
2053
 
2083
2054
  // src/onboarding/deposit/DepositFormContainer.tsx
2084
2055
  import { useState as useState5 } from "react";
2085
- import { useChains as useChains4, useChainId } from "wagmi";
2056
+ import { useChains as useChains5, useChainId } from "wagmi";
2086
2057
 
2087
2058
  // src/onboarding/deposit/DepositViaTransferForm.tsx
2088
2059
  import { useAccount as useAccount5, useWriteContract, usePrepareTransactionRequest, usePublicClient } from "wagmi";
@@ -2090,16 +2061,16 @@ import { encodeFunctionData as encodeFunctionData2 } from "viem";
2090
2061
  import { useMutation as useMutation4, useQuery as useQuery11 } from "@tanstack/react-query";
2091
2062
 
2092
2063
  // src/onboarding/deposit/DepositForm.tsx
2093
- import { useEffect as useEffect11, useRef as useRef3 } from "react";
2064
+ import { useEffect as useEffect8, useRef as useRef2 } from "react";
2094
2065
  import { useAccount as useAccount4, useBalance as useBalance5, useWatchBlockNumber as useWatchBlockNumber2 } from "wagmi";
2095
2066
  import { useIsMounted } from "usehooks-ts";
2096
2067
  import { twMerge as twMerge15 } from "tailwind-merge";
2097
2068
 
2098
2069
  // src/onboarding/deposit/ChainSelect.tsx
2099
- import { useEffect as useEffect10, useMemo as useMemo2 } from "react";
2100
- import { useAccount as useAccount2, useSwitchChain } from "wagmi";
2070
+ import { useMemo as useMemo2 } from "react";
2101
2071
  import { twMerge as twMerge12 } from "tailwind-merge";
2102
2072
  import * as Select from "@radix-ui/react-select";
2073
+ import { useAccount as useAccount2, useChains as useChains2 } from "wagmi";
2103
2074
 
2104
2075
  // src/icons/ChevronUpIcon.tsx
2105
2076
  import { jsx as jsx20 } from "react/jsx-runtime";
@@ -2256,7 +2227,7 @@ function ChainSelect({ value, onChange }) {
2256
2227
  const theme = useTheme();
2257
2228
  const { frame } = useFrame();
2258
2229
  const userAccount = useAccount2();
2259
- const { chains, switchChain } = useSwitchChain();
2230
+ const chains = useChains2();
2260
2231
  const relay = useRelay();
2261
2232
  const relayChains = relay.data?.chains;
2262
2233
  const sourceChains = useMemo2(() => {
@@ -2269,13 +2240,6 @@ function ChainSelect({ value, onChange }) {
2269
2240
  }).filter((c) => c.relayChain);
2270
2241
  }, [chains, relayChains]);
2271
2242
  const selectedChain = sourceChains.find((c) => c.id === value);
2272
- useEffect10(() => {
2273
- if (sourceChains.length > 0 && !selectedChain) {
2274
- const defaultChain = sourceChains[0];
2275
- onChange(defaultChain.id);
2276
- switchChain({ chainId: defaultChain.id });
2277
- }
2278
- }, [value, selectedChain, sourceChains, onChange, switchChain]);
2279
2243
  return /* @__PURE__ */ jsxs15(
2280
2244
  Select.Root,
2281
2245
  {
@@ -2390,7 +2354,7 @@ var AmountInput = forwardRef3(function AmountInput2({ initialAmount, onChange },
2390
2354
  });
2391
2355
 
2392
2356
  // src/onboarding/deposit/SubmitButton.tsx
2393
- import { useAccount as useAccount3, useBalance as useBalance4, useSwitchChain as useSwitchChain2 } from "wagmi";
2357
+ import { useAccount as useAccount3, useBalance as useBalance4, useSwitchChain } from "wagmi";
2394
2358
  import { twMerge as twMerge14 } from "tailwind-merge";
2395
2359
  import { parseEther as parseEther6 } from "viem";
2396
2360
  import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
@@ -2399,13 +2363,12 @@ function SubmitButton({ amount, chainId, className, ...buttonProps }) {
2399
2363
  const { chainId: userChainId, address: userAddress } = useAccount3();
2400
2364
  const { data: userBalance } = useBalance4({ address: userAddress });
2401
2365
  const shouldSwitchChain = chainId != null && chainId !== userChainId;
2402
- const switchChain = useSwitchChain2();
2366
+ const switchChain = useSwitchChain();
2403
2367
  if (shouldSwitchChain) {
2404
2368
  return /* @__PURE__ */ jsx28(
2405
2369
  Button,
2406
2370
  {
2407
2371
  type: "button",
2408
- variant: "primary",
2409
2372
  className: twMerge14("w-full", className),
2410
2373
  pending: switchChain.isPending,
2411
2374
  onClick: () => switchChain.switchChain({ chainId }),
@@ -2461,7 +2424,7 @@ function DepositForm({
2461
2424
  onSubmit,
2462
2425
  submitButton
2463
2426
  }) {
2464
- const amountInputRef = useRef3(null);
2427
+ const amountInputRef = useRef2(null);
2465
2428
  const isMounted = useIsMounted();
2466
2429
  const { address: userAddress, chainId: userChainId } = useAccount4();
2467
2430
  const balance = useShowQueryError(useBalance5({ chainId: sourceChain.id, address: userAddress }));
@@ -2474,7 +2437,7 @@ function DepositForm({
2474
2437
  });
2475
2438
  const minimumBalance = amount != null ? amount + (estimatedFee?.fee ?? 0n) : void 0;
2476
2439
  const hasMinimumBalance = balance.data != null ? balance.data.value > (minimumBalance ?? 0n) : void 0;
2477
- useEffect11(() => {
2440
+ useEffect8(() => {
2478
2441
  amountInputRef.current?.focus();
2479
2442
  }, [userChainId]);
2480
2443
  return /* @__PURE__ */ jsxs18(
@@ -2801,14 +2764,14 @@ function DepositViaRelayForm({ amount, setAmount, sourceChain, setSourceChainId
2801
2764
  }
2802
2765
 
2803
2766
  // src/onboarding/deposit/Deposits.tsx
2804
- import { useEffect as useEffect13 } from "react";
2805
- import { useQuery as useQuery15, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
2767
+ import { useEffect as useEffect10 } from "react";
2768
+ import { useQuery as useQuery15, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
2806
2769
 
2807
2770
  // src/onboarding/deposit/TransferDepositStatus.tsx
2808
2771
  import { useQuery as useQuery13 } from "@tanstack/react-query";
2809
2772
 
2810
2773
  // src/onboarding/deposit/DepositStatus.tsx
2811
- import { useEffect as useEffect12, useState as useState4 } from "react";
2774
+ import { useEffect as useEffect9, useState as useState4 } from "react";
2812
2775
  import { twMerge as twMerge16 } from "tailwind-merge";
2813
2776
 
2814
2777
  // src/icons/CloseIcon.tsx
@@ -2831,7 +2794,7 @@ function CloseIcon(props) {
2831
2794
  import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
2832
2795
  function DepositStatus({ status, progress, children, onDismiss }) {
2833
2796
  const [appear, setAppear] = useState4(false);
2834
- useEffect12(() => {
2797
+ useEffect9(() => {
2835
2798
  setAppear(true);
2836
2799
  }, []);
2837
2800
  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: [
@@ -2876,7 +2839,7 @@ function DepositStatus({ status, progress, children, onDismiss }) {
2876
2839
  }
2877
2840
 
2878
2841
  // src/onboarding/deposit/TransferDepositStatus.tsx
2879
- import { useChains as useChains2 } from "wagmi";
2842
+ import { useChains as useChains3 } from "wagmi";
2880
2843
  import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs20 } from "react/jsx-runtime";
2881
2844
  function TransferDepositStatus({
2882
2845
  amount,
@@ -2887,7 +2850,7 @@ function TransferDepositStatus({
2887
2850
  estimatedTime,
2888
2851
  onDismiss
2889
2852
  }) {
2890
- const chains = useChains2();
2853
+ const chains = useChains3();
2891
2854
  const chain = chains.find((chain2) => chain2.id === chainL1Id);
2892
2855
  const receipt = useQuery13({
2893
2856
  queryKey: ["transferDepositStatus", hash],
@@ -2949,7 +2912,8 @@ function TransferDepositStatus({
2949
2912
  }
2950
2913
  ),
2951
2914
  " ",
2952
- /* @__PURE__ */ jsx35(Balance, { wei: amount })
2915
+ /* @__PURE__ */ jsx35(Balance, { wei: amount }),
2916
+ " !"
2953
2917
  ] });
2954
2918
  })()
2955
2919
  }
@@ -2958,7 +2922,7 @@ function TransferDepositStatus({
2958
2922
 
2959
2923
  // src/onboarding/deposit/RelayDepositStatus.tsx
2960
2924
  import { useQuery as useQuery14 } from "@tanstack/react-query";
2961
- import { useChains as useChains3 } from "wagmi";
2925
+ import { useChains as useChains4 } from "wagmi";
2962
2926
  import { Fragment as Fragment6, jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
2963
2927
  function RelayDepositStatus({
2964
2928
  amount,
@@ -2969,7 +2933,7 @@ function RelayDepositStatus({
2969
2933
  depositPromise,
2970
2934
  onDismiss
2971
2935
  }) {
2972
- const chains = useChains3();
2936
+ const chains = useChains4();
2973
2937
  const chainL1 = chains.find((chain) => chain.id === chainL1Id);
2974
2938
  const chainL2 = chains.find((chain) => chain.id === chainL2Id);
2975
2939
  const deposit = useQuery14({
@@ -3016,7 +2980,7 @@ function RelayDepositStatus({
3016
2980
  import { useAccount as useAccount7, useClient as useClient11 } from "wagmi";
3017
2981
  import { jsx as jsx37 } from "react/jsx-runtime";
3018
2982
  function Deposits() {
3019
- const queryClient = useQueryClient7();
2983
+ const queryClient = useQueryClient6();
3020
2984
  const { chainId } = useEntryKitConfig();
3021
2985
  const client = useClient11({ chainId });
3022
2986
  const { address: userAddress } = useAccount7();
@@ -3029,7 +2993,7 @@ function Deposits() {
3029
2993
  return true;
3030
2994
  }
3031
2995
  });
3032
- useEffect13(() => {
2996
+ useEffect10(() => {
3033
2997
  if (isComplete) {
3034
2998
  queryClient.invalidateQueries({ queryKey: ["balance"] });
3035
2999
  queryClient.invalidateQueries({ queryKey: ["getBalance", client?.uid, userAddress] });
@@ -3050,7 +3014,7 @@ import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
3050
3014
  function DepositFormContainer() {
3051
3015
  const { chainId: destinationChainId } = useEntryKitConfig();
3052
3016
  const chainId = useChainId();
3053
- const chains = useChains4();
3017
+ const chains = useChains5();
3054
3018
  const [amount, setAmount] = useState5(void 0);
3055
3019
  const [sourceChainId, setSourceChainId] = useState5(chainId);
3056
3020
  const sourceChain = chains.find(({ id }) => id === sourceChainId);
@@ -3093,18 +3057,33 @@ function ArrowLeftIcon(props) {
3093
3057
  }
3094
3058
 
3095
3059
  // src/onboarding/quarry/GasBalance.tsx
3096
- import { useEffect as useEffect14 } from "react";
3097
- import { useQueryClient as useQueryClient8 } from "@tanstack/react-query";
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
3098
3074
  import { Fragment as Fragment7, jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
3099
3075
  function GasBalance2({ isActive, isExpanded, isFocused, setFocused, userAddress }) {
3100
- const queryClient = useQueryClient8();
3076
+ const queryClient = useQueryClient7();
3101
3077
  const balance = useShowQueryError(useBalance(userAddress));
3102
3078
  const prevBalance = usePrevious(balance.data || 0n);
3103
- useEffect14(() => {
3104
- if (balance.data != null && prevBalance === 0n && balance.data > 0n) {
3105
- queryClient.invalidateQueries({ queryKey: ["getPrerequisites"] });
3106
- setFocused(false);
3107
- }
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();
3108
3087
  }, [balance.data, prevBalance, setFocused, queryClient, userAddress]);
3109
3088
  if (isFocused) {
3110
3089
  return /* @__PURE__ */ jsxs23(Fragment7, { children: [
@@ -3149,7 +3128,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
3149
3128
  const [focusedId, setFocusedId] = useState6(null);
3150
3129
  const userAddress = userClient.account.address;
3151
3130
  const { data: prerequisites, error: prerequisitesError } = usePrerequisites(userAddress);
3152
- useEffect15(() => {
3131
+ useEffect13(() => {
3153
3132
  if (prerequisitesError) {
3154
3133
  console.error("Could not get prerequisites", prerequisitesError);
3155
3134
  }
@@ -3157,7 +3136,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
3157
3136
  const { closeAccountModal } = useAccountModal();
3158
3137
  const isNewConnection = userAddress !== initialUserAddress;
3159
3138
  const initialPrerequisites = useRef4(prerequisites);
3160
- useEffect15(() => {
3139
+ useEffect13(() => {
3161
3140
  if (prerequisites == null) return;
3162
3141
  if (initialPrerequisites.current == null) {
3163
3142
  initialPrerequisites.current = prerequisites;
@@ -3282,11 +3261,11 @@ import { ErrorBoundary } from "react-error-boundary";
3282
3261
 
3283
3262
  // src/errors/ErrorOverlay.tsx
3284
3263
  import { wait } from "@latticexyz/common/utils";
3285
- import { useEffect as useEffect16 } from "react";
3264
+ import { useEffect as useEffect14 } from "react";
3286
3265
  import { twMerge as twMerge18 } from "tailwind-merge";
3287
3266
  import { Fragment as Fragment8, jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
3288
3267
  function ErrorOverlay({ error: error2, retry, dismiss }) {
3289
- useEffect16(() => {
3268
+ useEffect14(() => {
3290
3269
  if (error2) {
3291
3270
  console.error(error2);
3292
3271
  }