@latticexyz/entrykit 2.2.22-ab837ceb49fa77cc29487bb9df0c487975b37afe → 2.2.22-d621dc7c427a59eb74f4d379862646355a149338

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.
@@ -554,7 +554,7 @@ var minGasBalance = parseEther2("0.01");
554
554
 
555
555
  // src/onboarding/quarry/useAllowance.ts
556
556
  import { useClient } from "wagmi";
557
- import { queryOptions, useQuery as useQuery2 } from "@tanstack/react-query";
557
+ import { queryOptions, skipToken, useQuery as useQuery2 } from "@tanstack/react-query";
558
558
 
559
559
  // src/quarry/getAllowance.ts
560
560
  import { numberToHex as numberToHex2 } from "viem";
@@ -684,13 +684,10 @@ function getAllowanceQueryOptions({
684
684
  client,
685
685
  userAddress
686
686
  }) {
687
- const queryKey = ["getAllowance", client?.uid, userAddress];
688
- return queryOptions(
689
- client && userAddress ? {
690
- queryKey,
691
- queryFn: () => getAllowance({ client, userAddress })
692
- } : { queryKey, enabled: false }
693
- );
687
+ return queryOptions({
688
+ queryKey: ["getAllowance", client?.uid, userAddress],
689
+ queryFn: client && userAddress ? () => getAllowance({ client, userAddress }) : skipToken
690
+ });
694
691
  }
695
692
  function useAllowance(userAddress) {
696
693
  const { chainId } = useEntryKitConfig();
@@ -700,7 +697,7 @@ function useAllowance(userAddress) {
700
697
 
701
698
  // src/onboarding/quarry/useSpender.ts
702
699
  import { useClient as useClient2 } from "wagmi";
703
- import { queryOptions as queryOptions2, useQuery as useQuery3 } from "@tanstack/react-query";
700
+ import { queryOptions as queryOptions2, skipToken as skipToken2, useQuery as useQuery3 } from "@tanstack/react-query";
704
701
 
705
702
  // src/onboarding/quarry/getSpender.ts
706
703
  import { getRecord as getRecord2 } from "@latticexyz/store/internal";
@@ -722,18 +719,15 @@ function getSpenderQueryOptions({
722
719
  userAddress,
723
720
  sessionAddress
724
721
  }) {
725
- const queryKey = ["getSpender", client?.uid, userAddress, sessionAddress];
726
- return queryOptions2(
727
- client && userAddress && sessionAddress ? {
728
- queryKey,
729
- queryFn: () => getSpender({ client, userAddress, sessionAddress })
730
- } : { queryKey, enabled: false }
731
- );
722
+ return queryOptions2({
723
+ queryKey: ["getSpender", client?.uid, userAddress, sessionAddress],
724
+ queryFn: client && userAddress && sessionAddress ? () => getSpender({ client, userAddress, sessionAddress }) : skipToken2
725
+ });
732
726
  }
733
727
 
734
728
  // src/onboarding/useDelegation.ts
735
729
  import { useClient as useClient3 } from "wagmi";
736
- import { queryOptions as queryOptions3, useQuery as useQuery4 } from "@tanstack/react-query";
730
+ import { queryOptions as queryOptions3, skipToken as skipToken3, useQuery as useQuery4 } from "@tanstack/react-query";
737
731
 
738
732
  // src/onboarding/getDelegation.ts
739
733
  import { getRecord as getRecord3 } from "@latticexyz/store/internal";
@@ -776,22 +770,19 @@ function getDelegationQueryOptions({
776
770
  userAddress,
777
771
  sessionAddress
778
772
  }) {
779
- const queryKey = ["getDelegation", client?.uid, worldAddress, userAddress, sessionAddress];
780
- return queryOptions3(
781
- client && userAddress && sessionAddress ? {
782
- queryKey,
783
- queryFn: () => getDelegation({ client, worldAddress, userAddress, sessionAddress })
784
- } : { queryKey, enabled: false }
785
- );
773
+ return queryOptions3({
774
+ queryKey: ["getDelegation", client?.uid, worldAddress, userAddress, sessionAddress],
775
+ queryFn: client && userAddress && sessionAddress ? () => getDelegation({ client, worldAddress, userAddress, sessionAddress }) : skipToken3
776
+ });
786
777
  }
787
778
 
788
779
  // src/onboarding/usePrerequisites.ts
789
- import { queryOptions as queryOptions5, useQuery as useQuery6, useQueryClient } from "@tanstack/react-query";
780
+ import { queryOptions as queryOptions5, skipToken as skipToken5, useQuery as useQuery6, useQueryClient } from "@tanstack/react-query";
790
781
  import { useClient as useClient5, useConfig } from "wagmi";
791
782
 
792
783
  // src/useSessionAccount.ts
793
784
  import { useClient as useClient4 } from "wagmi";
794
- import { queryOptions as queryOptions4, useQuery as useQuery5 } from "@tanstack/react-query";
785
+ import { queryOptions as queryOptions4, skipToken as skipToken4, useQuery as useQuery5 } from "@tanstack/react-query";
795
786
 
796
787
  // src/getSessionAccount.ts
797
788
  import { toSimpleSmartAccount } from "permissionless/accounts";
@@ -855,16 +846,13 @@ function getSessionAccountQueryOptions({
855
846
  client,
856
847
  userAddress
857
848
  }) {
858
- const queryKey = ["getSessionAccount", client?.uid, userAddress];
859
- return queryOptions4(
860
- client && userAddress ? {
861
- queryKey,
862
- queryFn: () => getSessionAccount({ client, userAddress }),
863
- staleTime: Infinity,
864
- // TODO: replace with function to retry only connection errors
865
- retry: false
866
- } : { queryKey, enabled: false }
867
- );
849
+ return queryOptions4({
850
+ queryKey: ["getSessionAccount", client?.uid, userAddress],
851
+ queryFn: client && userAddress ? () => getSessionAccount({ client, userAddress }) : skipToken4,
852
+ staleTime: Infinity,
853
+ // TODO: replace with function to retry only connection errors
854
+ retry: false
855
+ });
868
856
  }
869
857
 
870
858
  // src/onboarding/usePrerequisites.ts
@@ -876,39 +864,36 @@ function getPrequisitesQueryOptions({
876
864
  userAddress,
877
865
  worldAddress
878
866
  }) {
879
- const queryKey = ["getPrerequisites", client?.uid, userAddress];
880
- return queryOptions5(
881
- client && userAddress ? {
882
- queryKey,
883
- async queryFn() {
884
- const paymaster = getPaymaster(client.chain);
885
- const {
886
- account: { address: sessionAddress }
887
- } = await queryClient.fetchQuery(getSessionAccountQueryOptions({ client, userAddress }));
888
- const [sessionBalance, allowance, spender, hasDelegation] = await Promise.all([
889
- !paymaster ? queryClient.fetchQuery(
890
- getBalanceQueryOptions(config, { chainId: client.chain.id, address: sessionAddress })
891
- ) : null,
892
- paymaster?.type === "quarry" ? queryClient.fetchQuery(getAllowanceQueryOptions({ client, userAddress })) : null,
893
- paymaster?.type === "quarry" ? queryClient.fetchQuery(getSpenderQueryOptions({ client, userAddress, sessionAddress })) : null,
894
- queryClient.fetchQuery(getDelegationQueryOptions({ client, worldAddress, userAddress, sessionAddress }))
895
- ]);
896
- const hasAllowance = allowance == null || allowance >= minGasBalance;
897
- const isSpender = spender == null ? true : spender;
898
- const hasGasBalance = sessionBalance == null || sessionBalance.value >= minGasBalance;
899
- return {
900
- sessionAddress,
901
- hasAllowance,
902
- isSpender,
903
- hasGasBalance,
904
- hasDelegation,
905
- // we intentionally don't enforce an allowance/gas balance here
906
- complete: isSpender && hasDelegation
907
- };
908
- },
909
- retry: false
910
- } : { queryKey, enabled: false }
911
- );
867
+ return queryOptions5({
868
+ queryKey: ["getPrerequisites", client?.uid, userAddress],
869
+ queryFn: client && userAddress ? async () => {
870
+ const paymaster = getPaymaster(client.chain);
871
+ const {
872
+ account: { address: sessionAddress }
873
+ } = await queryClient.fetchQuery(getSessionAccountQueryOptions({ client, userAddress }));
874
+ const [sessionBalance, allowance, spender, hasDelegation] = await Promise.all([
875
+ !paymaster ? queryClient.fetchQuery(
876
+ getBalanceQueryOptions(config, { chainId: client.chain.id, address: sessionAddress })
877
+ ) : null,
878
+ paymaster?.type === "quarry" ? queryClient.fetchQuery(getAllowanceQueryOptions({ client, userAddress })) : null,
879
+ paymaster?.type === "quarry" ? queryClient.fetchQuery(getSpenderQueryOptions({ client, userAddress, sessionAddress })) : null,
880
+ queryClient.fetchQuery(getDelegationQueryOptions({ client, worldAddress, userAddress, sessionAddress }))
881
+ ]);
882
+ const hasAllowance = allowance == null || allowance >= minGasBalance;
883
+ const isSpender = spender == null ? true : spender;
884
+ const hasGasBalance = sessionBalance == null || sessionBalance.value >= minGasBalance;
885
+ return {
886
+ sessionAddress,
887
+ hasAllowance,
888
+ isSpender,
889
+ hasGasBalance,
890
+ hasDelegation,
891
+ // we intentionally don't enforce an allowance/gas balance here
892
+ complete: isSpender && hasDelegation
893
+ };
894
+ } : skipToken5,
895
+ retry: false
896
+ });
912
897
  }
913
898
  function usePrerequisites(userAddress) {
914
899
  const queryClient = useQueryClient();
@@ -1403,13 +1388,14 @@ import { useEffect as useEffect7 } from "react";
1403
1388
  import { useClient as useClient8 } from "wagmi";
1404
1389
  import {
1405
1390
  queryOptions as queryOptions6,
1391
+ skipToken as skipToken6,
1406
1392
  useQuery as useQuery8,
1407
1393
  useQueryClient as useQueryClient4
1408
1394
  } from "@tanstack/react-query";
1409
1395
 
1410
1396
  // src/getSessionClient.ts
1411
1397
  import { smartAccountActions } from "permissionless";
1412
- import { callFrom } from "@latticexyz/world/internal";
1398
+ import { callFrom, sendUserOperationFrom } from "@latticexyz/world/internal";
1413
1399
 
1414
1400
  // src/createBundlerClient.ts
1415
1401
  import {
@@ -1468,6 +1454,12 @@ async function getSessionClient({
1468
1454
  delegatorAddress: userAddress,
1469
1455
  publicClient: client
1470
1456
  })
1457
+ ).extend(
1458
+ sendUserOperationFrom({
1459
+ worldAddress,
1460
+ delegatorAddress: userAddress,
1461
+ publicClient: client
1462
+ })
1471
1463
  ).extend(() => ({ userAddress, worldAddress, internal_signer: sessionSigner }));
1472
1464
  return sessionClient;
1473
1465
  }
@@ -1482,26 +1474,23 @@ function getSessionClientQueryOptions({
1482
1474
  userAddress,
1483
1475
  worldAddress
1484
1476
  }) {
1485
- const queryKey = ["getSessionClient", client?.uid, userAddress, worldAddress];
1486
- return queryOptions6(
1487
- userAddress ? {
1488
- queryKey,
1489
- async queryFn() {
1490
- const { account: sessionAccount, signer: sessionSigner } = await queryClient.fetchQuery(
1491
- getSessionAccountQueryOptions({ client, userAddress })
1492
- );
1493
- return await getSessionClient({
1494
- sessionAccount,
1495
- sessionSigner,
1496
- userAddress,
1497
- worldAddress
1498
- });
1499
- },
1500
- staleTime: Infinity,
1501
- // TODO: replace with function to retry only connection errors
1502
- retry: false
1503
- } : { queryKey, enabled: false }
1504
- );
1477
+ return queryOptions6({
1478
+ queryKey: ["getSessionClient", client?.uid, userAddress, worldAddress],
1479
+ queryFn: userAddress ? async () => {
1480
+ const { account: sessionAccount, signer: sessionSigner } = await queryClient.fetchQuery(
1481
+ getSessionAccountQueryOptions({ client, userAddress })
1482
+ );
1483
+ return await getSessionClient({
1484
+ sessionAccount,
1485
+ sessionSigner,
1486
+ userAddress,
1487
+ worldAddress
1488
+ });
1489
+ } : skipToken6,
1490
+ staleTime: Infinity,
1491
+ // TODO: replace with function to retry only connection errors
1492
+ retry: false
1493
+ });
1505
1494
  }
1506
1495
  function useSessionClient(userAddress) {
1507
1496
  const queryClient = useQueryClient4();