@vechain/vechain-kit 1.5.7 → 1.5.8

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/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { IVechainEnergyOracleV1__factory, IB3TR__factory, IVOT3__factory, GalaxyMember__factory, NodeManagement__factory, X2EarnApps__factory, XAllocationVoting__factory, XAllocationVotingGovernor__factory, XAllocationPool__factory, VoterRewards__factory, VeBetterPassport__factory, IERC20__factory, MockENS__factory, SubdomainClaimer__factory, IReverseRegistrar__factory, ERC20__factory, SimpleAccountFactory__factory, SimpleAccount__factory, Emissions__factory, X2EarnRewardsPool__factory } from './chunk-FOSPSOWT.js';
2
- import { getConfig, humanNumber, NodeStrengthLevelToImage, allNodeStrengthLevelToName, notFoundImage, convertUriToUrl, resolveMediaTypeFromMimeType, gmNfts, humanAddress, getPicassoImage, VECHAIN_PRIVY_APP_ID, compareAddresses, isValidAddress, TOKEN_LOGO_COMPONENTS, TOKEN_LOGOS, humanDomain, uploadBlobToIPFS, randomTransactionUser } from './chunk-EUQRNI5E.js';
3
- export { getConfig } from './chunk-EUQRNI5E.js';
4
- import { SimpleAccountFactoryABI, VechainLogo, VechainLogoLight, VechainLogoDark, PrivyLogo, SimpleAccountABI } from './chunk-DYI6ON4O.js';
2
+ import { getConfig, humanNumber, NodeStrengthLevelToImage, allNodeStrengthLevelToName, notFoundImage, convertUriToUrl, resolveMediaTypeFromMimeType, gmNfts, DEFAULT_PRIVY_ECOSYSTEM_APPS, humanAddress, getPicassoImage, VECHAIN_PRIVY_APP_ID, compareAddresses, isValidAddress, TOKEN_LOGO_COMPONENTS, TOKEN_LOGOS, humanDomain, uploadBlobToIPFS, randomTransactionUser } from './chunk-USAHFGIQ.js';
3
+ export { getConfig } from './chunk-USAHFGIQ.js';
4
+ import { SimpleAccountFactoryABI, VechainLogo, VechainLogoLight, VechainLogoDark, VechainEnergy, PrivyLogo, SimpleAccountABI } from './chunk-3CI2FPCB.js';
5
5
  import './chunk-PZ5AY32C.js';
6
6
  import React10, { createContext, useState, useEffect, useMemo, useCallback, useRef, useContext } from 'react';
7
7
  import { useLoginWithOAuth, usePrivy, useLoginWithEmail, useMfaEnrollment, useSetWalletRecovery, useLoginWithPasskey as useLoginWithPasskey$1, PrivyProvider } from '@privy-io/react-auth';
@@ -17,14 +17,14 @@ import { initReactI18next, useTranslation } from 'react-i18next';
17
17
  import { abi, Transaction } from 'thor-devkit';
18
18
  import imageCompression from 'browser-image-compression';
19
19
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
20
- import { Interface, formatEther as formatEther$1, isAddress, namehash, ZeroAddress, parseEther as parseEther$1, ethers } from 'ethers';
20
+ import { Interface, formatEther as formatEther$1, isAddress, namehash, toUtf8String, zeroPadValue, toBeHex, ZeroAddress, parseEther as parseEther$1, ethers } from 'ethers';
21
21
  import { z } from 'zod';
22
22
  import { useAccount, createConfig, http, WagmiProvider, useConnect, useSignTypedData, useSignMessage, useDisconnect } from 'wagmi';
23
23
  import { toPrivyWalletConnector } from '@privy-io/cross-app-connect/rainbow-kit';
24
24
  import { isMobile } from 'react-device-detect';
25
- import { createMultiStyleConfigHelpers, defineStyle, defineStyleConfig, extendTheme, createStandaloneToast, IconButton, VStack, Text, InputGroup, InputLeftElement, Icon, Input, InputRightElement, HStack, Link, Box, useMediaQuery, Modal, ModalOverlay, ModalContent, Button, Image, Skeleton, Spinner, useDisclosure, GridItem, ModalHeader, ModalCloseButton, ModalBody, ModalFooter, Tag, useColorMode, Heading, useColorModeValue, Tabs, TabList, Tab, TabPanels, TabPanel, Grid, Card, CardBody, Alert, AlertIcon, Divider, FormControl, Center, Container, Select, FormLabel, Textarea, Circle, AlertTitle, AlertDescription, Popover, PopoverTrigger, PopoverContent, PopoverBody, CardFooter, PinInput, PinInputField, Stack, Accordion, AccordionItem, AccordionButton, AccordionPanel, List, ListItem, ChakraProvider, ColorModeScript, Flex } from '@chakra-ui/react';
25
+ import { createMultiStyleConfigHelpers, defineStyle, defineStyleConfig, extendTheme, createStandaloneToast, IconButton, VStack, Text, InputGroup, InputLeftElement, Icon, Input, InputRightElement, HStack, Link, Box, useMediaQuery, Modal, ModalOverlay, ModalContent, Button, Image, Skeleton, Spinner, useDisclosure, GridItem, ModalHeader, ModalCloseButton, ModalBody, ModalFooter, Tag, Heading, useColorModeValue, Tabs, TabList, Tab, TabPanels, TabPanel, Grid, Card, CardBody, Alert, AlertIcon, CardHeader, Center, CardFooter, Divider, Container, FormControl, Select, FormLabel, Textarea, Circle, AlertTitle, AlertDescription, Popover, PopoverTrigger, PopoverContent, PopoverBody, PinInput, PinInputField, Stack, Accordion, AccordionItem, AccordionButton, AccordionPanel, List, ChakraProvider, ColorModeScript, ListItem, Flex } from '@chakra-ui/react';
26
26
  import { motion } from 'framer-motion';
27
- import { IoChevronBack, IoCheckmarkOutline, IoCopyOutline, IoWalletOutline, IoCloseCircle, IoShieldOutline, IoCogSharp, IoOpenOutline, IoTrashBin, IoChevronUp, IoChevronDown, IoCloseOutline } from 'react-icons/io5';
27
+ import { IoChevronBack, IoCheckmarkOutline, IoCopyOutline, IoWalletOutline, IoCloseCircle, IoCogSharp, IoShieldOutline, IoOpenOutline, IoTrashBin, IoChevronUp, IoChevronDown, IoCloseOutline } from 'react-icons/io5';
28
28
  import { FaRegAddressCard, FaExternalLinkAlt, FaGlobe, FaEnvelope, FaArrowRight, FaTelegramPlane, FaChevronDown, FaEdit, FaGoogle, FaTwitter, FaPhone, FaSpotify, FaApple, FaInstagram, FaTiktok, FaGithub, FaLinkedin, FaTelegram, FaDiscord as FaDiscord$1, FaWallet, FaPlus } from 'react-icons/fa';
29
29
  import { HiOutlineWallet, HiOutlineShieldCheck } from 'react-icons/hi2';
30
30
  import { BsQuestionCircle, BsBookmarkFill, BsBookmark } from 'react-icons/bs';
@@ -48,7 +48,7 @@ import { FaXTwitter, FaWhatsapp, FaDiscord } from 'react-icons/fa6';
48
48
  import { SiFarcaster } from 'react-icons/si';
49
49
  import { GoLinkExternal, GoPlus } from 'react-icons/go';
50
50
  import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
51
- import { modalAnatomy, popoverAnatomy } from '@chakra-ui/anatomy';
51
+ import { modalAnatomy, cardAnatomy, popoverAnatomy } from '@chakra-ui/anatomy';
52
52
 
53
53
  // src/types/Types.ts
54
54
  var NFTMediaType = /* @__PURE__ */ ((NFTMediaType2) => {
@@ -2748,7 +2748,19 @@ var useFetchAppInfo = (appIds) => {
2748
2748
  normalizedIds.map((id) => fetchPrivyAppInfo(id))
2749
2749
  );
2750
2750
  return Object.fromEntries(
2751
- results.map((result, index) => [normalizedIds[index], result])
2751
+ results.map((result, index) => {
2752
+ const id = normalizedIds[index];
2753
+ const defaultApp = DEFAULT_PRIVY_ECOSYSTEM_APPS.find(
2754
+ (app) => app.id === id
2755
+ );
2756
+ return [
2757
+ id,
2758
+ {
2759
+ ...result,
2760
+ website: defaultApp?.website
2761
+ }
2762
+ ];
2763
+ })
2752
2764
  );
2753
2765
  },
2754
2766
  enabled: normalizedIds.length > 0
@@ -3068,6 +3080,10 @@ var nameInterface = new Interface([
3068
3080
  "function resolver(bytes32 node) returns (address resolverAddress)",
3069
3081
  "function text(bytes32 node, string key) returns (string avatar)"
3070
3082
  ]);
3083
+ var erc721Interface = new Interface([
3084
+ "function tokenURI(uint256 tokenId) view returns (string)",
3085
+ "function uri(uint256 id) view returns (string)"
3086
+ ]);
3071
3087
  var getAvatar = async (networkType, nodeUrl, name) => {
3072
3088
  if (!name) throw new Error("Name is required");
3073
3089
  const node = namehash(name);
@@ -3138,15 +3154,89 @@ var getAvatarQueryKey = (name) => [
3138
3154
  "AVATAR",
3139
3155
  name
3140
3156
  ];
3157
+ async function parseAvatarRecord(record, networkType, nodeUrl) {
3158
+ try {
3159
+ if (record.startsWith("http") || record.startsWith("ipfs://") || record.startsWith("ar://")) {
3160
+ return convertUriToUrl(record, networkType) || null;
3161
+ }
3162
+ const match = record.match(
3163
+ /eip155:(\d+)\/(?:erc721|erc1155):([^/]+)\/(\d+)/
3164
+ );
3165
+ if (match) {
3166
+ const [, chainId, contractAddress, tokenId] = match;
3167
+ const isErc1155 = record.includes("erc1155");
3168
+ if (!chainId || !contractAddress || tokenId === void 0) {
3169
+ return null;
3170
+ }
3171
+ const clauses = [
3172
+ {
3173
+ to: contractAddress,
3174
+ data: erc721Interface.encodeFunctionData(
3175
+ isErc1155 ? "uri" : "tokenURI",
3176
+ [BigInt(tokenId)]
3177
+ )
3178
+ }
3179
+ ];
3180
+ const [{ data, reverted }] = await fetch(`${nodeUrl}/accounts/*`, {
3181
+ method: "POST",
3182
+ headers: {
3183
+ "content-type": "application/json"
3184
+ },
3185
+ body: JSON.stringify({ clauses })
3186
+ }).then((res) => res.json());
3187
+ if (reverted) {
3188
+ console.error("Failed to fetch tokenURI");
3189
+ return null;
3190
+ }
3191
+ let tokenUri = "";
3192
+ try {
3193
+ tokenUri = erc721Interface.decodeFunctionResult(
3194
+ isErc1155 ? "uri" : "tokenURI",
3195
+ data
3196
+ )[0];
3197
+ } catch (e) {
3198
+ console.error("Failed to decode avatar data:", e);
3199
+ tokenUri = toUtf8String(data);
3200
+ }
3201
+ tokenUri = convertUriToUrl(tokenUri, networkType) || tokenUri;
3202
+ if (isErc1155) {
3203
+ tokenUri = tokenUri.replace(
3204
+ "{id}",
3205
+ zeroPadValue(toBeHex(BigInt(tokenId)), 32).slice(2)
3206
+ );
3207
+ }
3208
+ const metadataResponse = await fetch(tokenUri);
3209
+ if (!metadataResponse.ok) {
3210
+ console.error("Failed to fetch metadata");
3211
+ return null;
3212
+ }
3213
+ const metadata = await metadataResponse.json();
3214
+ const imageUrl = metadata.image || metadata.image_url || metadata.image_data;
3215
+ if (!imageUrl) {
3216
+ console.error("No image URL in metadata");
3217
+ return null;
3218
+ }
3219
+ return convertUriToUrl(imageUrl, networkType) || imageUrl;
3220
+ }
3221
+ return null;
3222
+ } catch (error) {
3223
+ console.error("Error parsing avatar record:", error);
3224
+ return null;
3225
+ }
3226
+ }
3141
3227
  var useGetAvatar = (name) => {
3142
3228
  const { network } = useVeChainKitConfig();
3143
3229
  const nodeUrl = network.nodeUrl ?? getConfig(network.type).nodeUrl;
3144
3230
  const avatarQuery = useQuery({
3145
3231
  queryKey: getAvatarQueryKey(name ?? ""),
3146
- queryFn: () => getAvatar(network.type, nodeUrl, name),
3232
+ queryFn: async () => {
3233
+ if (!name) return null;
3234
+ const avatarRecord = await getAvatar(network.type, nodeUrl, name);
3235
+ if (!avatarRecord) return null;
3236
+ return parseAvatarRecord(avatarRecord, network.type, nodeUrl);
3237
+ },
3147
3238
  enabled: !!name && !!nodeUrl && !!network.type,
3148
- retry: 3,
3149
- retryDelay: (attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4),
3239
+ // Use the same caching strategy as the avatar query
3150
3240
  staleTime: 5 * 60 * 1e3
3151
3241
  // 5 minutes
3152
3242
  });
@@ -3550,6 +3640,32 @@ var useGetResolverAddress = (domain) => {
3550
3640
  enabled: !!domain && !!nodeUrl && !!network.type
3551
3641
  });
3552
3642
  };
3643
+ var getAvatarOfAddressQueryKey = (address) => [
3644
+ "VECHAIN_KIT",
3645
+ "VET_DOMAINS",
3646
+ "AVATAR_OF_ADDRESS",
3647
+ address
3648
+ ];
3649
+ var useGetAvatarOfAddress = (address) => {
3650
+ const domainsQuery = useVechainDomain(address);
3651
+ const primaryDomain = domainsQuery.data?.domain;
3652
+ const avatarQuery = useGetAvatar(primaryDomain ?? "");
3653
+ return useQuery({
3654
+ queryKey: getAvatarOfAddressQueryKey(address),
3655
+ queryFn: async () => {
3656
+ if (!address) return getPicassoImage(address ?? "");
3657
+ const domains = await domainsQuery.refetch();
3658
+ if (!domains.data?.domain) return getPicassoImage(address);
3659
+ if (domains.data.domain && avatarQuery.data)
3660
+ return avatarQuery.data;
3661
+ return getPicassoImage(address);
3662
+ },
3663
+ enabled: !!address && domainsQuery.isSuccess && (primaryDomain ? avatarQuery.isSuccess : true),
3664
+ // Use the same caching strategy as the avatar query
3665
+ staleTime: 5 * 60 * 1e3
3666
+ // 5 minutes
3667
+ });
3668
+ };
3553
3669
  var useBalances = ({ address = "" }) => {
3554
3670
  const { network } = useVeChainKitConfig();
3555
3671
  const { data: vetData, isLoading: vetLoading } = useAccountBalance(address);
@@ -3817,15 +3933,12 @@ var usePrivyCrossAppSdk = () => {
3817
3933
  // src/hooks/api/wallet/useWalletMetadata.ts
3818
3934
  var useWalletMetadata = (address, networkType) => {
3819
3935
  const { data: domain, isLoading: isLoadingVechainDomain } = useVechainDomain(address ?? "");
3820
- const { data: avatar, isLoading: isLoadingMetadata } = useGetAvatar(
3821
- domain?.domain
3822
- );
3823
- const { data: textRecords, isLoading: isLoadingRecords } = useGetTextRecords(domain?.domain);
3824
- const avatarUrl = avatar ? convertUriToUrl(avatar, networkType) : null;
3936
+ const { data: avatar, isLoading: isLoadingMetadata } = useGetAvatarOfAddress(address ?? "");
3937
+ const { data: textRecords, isLoading: isLoadingRecords } = useGetTextRecords(domain?.domain ?? "");
3825
3938
  const headerUrl = textRecords?.header ? convertUriToUrl(textRecords.header, networkType) : null;
3826
3939
  return {
3827
3940
  domain: domain?.domain,
3828
- image: avatarUrl ?? getPicassoImage(address ?? ""),
3941
+ image: avatar,
3829
3942
  records: {
3830
3943
  ...textRecords,
3831
3944
  header: headerUrl
@@ -3891,7 +4004,7 @@ var useWallet = () => {
3891
4004
  const { data: smartAccount } = useSmartAccount(connectedWalletAddress);
3892
4005
  const activeAddress = isConnectedWithDappKit ? dappKitAccount : smartAccount?.address;
3893
4006
  const activeAccountDomain = useVechainDomain(activeAddress ?? "");
3894
- const activeAccountAvatar = useGetAvatar(activeAccountDomain?.data?.domain);
4007
+ const activeAccountAvatar = useGetAvatarOfAddress(activeAddress ?? "");
3895
4008
  const activeAccountTextRecords = useGetTextRecords(
3896
4009
  activeAccountDomain?.data?.domain
3897
4010
  );
@@ -3906,7 +4019,7 @@ var useWallet = () => {
3906
4019
  const account = activeAddress ? {
3907
4020
  address: activeAddress,
3908
4021
  domain: activeAccountDomain?.data?.domain,
3909
- image: activeAccountAvatar.data ? convertUriToUrl(activeAccountAvatar.data, network.type) : getPicassoImage(activeAddress ?? ""),
4022
+ image: activeAccountAvatar.data,
3910
4023
  isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
3911
4024
  metadata: activeAccountTextRecords?.data
3912
4025
  } : null;
@@ -4153,7 +4266,7 @@ var useAccountBalance = (address) => {
4153
4266
  refetchInterval: 1e4
4154
4267
  });
4155
4268
  };
4156
- var useRefreshMetadata = (domain) => {
4269
+ var useRefreshMetadata = (domain, address) => {
4157
4270
  const queryClient = useQueryClient();
4158
4271
  const { network } = useVeChainKitConfig();
4159
4272
  const refresh = async () => {
@@ -4169,6 +4282,12 @@ var useRefreshMetadata = (domain) => {
4169
4282
  await queryClient.refetchQueries({
4170
4283
  queryKey: getTextRecordsQueryKey(domain, network.type)
4171
4284
  });
4285
+ await queryClient.invalidateQueries({
4286
+ queryKey: getAvatarOfAddressQueryKey(address)
4287
+ });
4288
+ await queryClient.refetchQueries({
4289
+ queryKey: getAvatarOfAddressQueryKey(address)
4290
+ });
4172
4291
  };
4173
4292
  return { refresh };
4174
4293
  };
@@ -4854,6 +4973,8 @@ var ModalBackButton = ({ onClick, ...props }) => {
4854
4973
  icon: /* @__PURE__ */ jsx(IoChevronBack, { fontSize: "20px" }),
4855
4974
  size: "sm",
4856
4975
  variant: "ghost",
4976
+ _hover: { bg: "blackAlpha.100" },
4977
+ _dark: { _hover: { bg: "whiteAlpha.100" } },
4857
4978
  position: "absolute",
4858
4979
  borderRadius: "50%",
4859
4980
  left: "10px",
@@ -4978,7 +5099,7 @@ var AddressDisplay = ({
4978
5099
  // package.json
4979
5100
  var package_default = {
4980
5101
  name: "@vechain/vechain-kit",
4981
- version: "1.5.7",
5102
+ version: "1.5.8",
4982
5103
  private: false,
4983
5104
  homepage: "https://github.com/vechain/vechain-kit",
4984
5105
  repository: "github:vechain/vechain-kit",
@@ -5161,7 +5282,7 @@ var StickyHeaderContainer = ({ children }) => {
5161
5282
  left: "0",
5162
5283
  w: "full",
5163
5284
  borderRadius: "24px 24px 0px 0px",
5164
- bg: isDark ? "rgb(24 24 27 / 90%)" : "rgba(255, 255, 255, 0.8)",
5285
+ bg: isDark ? "rgb(31 31 30 / 90%)" : "rgb(255 255 255 / 69%)",
5165
5286
  backdropFilter: "blur(12px)",
5166
5287
  style: { WebkitBackdropFilter: "blur(12px)" },
5167
5288
  zIndex: 1e3,
@@ -5188,7 +5309,7 @@ var StickyFooterContainer = ({ children }) => {
5188
5309
  bottom: "0",
5189
5310
  left: "0",
5190
5311
  right: "0",
5191
- bg: isDark ? "#18181b" : "white",
5312
+ bg: isDark ? "#1f1f1e" : "white",
5192
5313
  zIndex: "1000",
5193
5314
  p: 4,
5194
5315
  boxShadow: "0px -1px 6px -3px rgb(0 0 0 / 56%)",
@@ -5406,6 +5527,8 @@ var ModalFAQButton = ({ onClick, ...props }) => {
5406
5527
  icon: /* @__PURE__ */ jsx(Icon, { as: BsQuestionCircle, fontSize: "17px" }),
5407
5528
  size: "sm",
5408
5529
  variant: "ghost",
5530
+ _hover: { bg: "blackAlpha.100" },
5531
+ _dark: { _hover: { bg: "whiteAlpha.100" } },
5409
5532
  position: "absolute",
5410
5533
  borderRadius: "50%",
5411
5534
  left: "10px",
@@ -5431,13 +5554,11 @@ var AccountAvatar = ({ wallet, props }) => {
5431
5554
  if (wallet?.isLoadingMetadata) {
5432
5555
  return /* @__PURE__ */ jsx(Spinner, { size: "sm" });
5433
5556
  }
5434
- const fallbackImage = wallet?.address ? getPicassoImage(wallet.address) : void 0;
5435
5557
  return /* @__PURE__ */ jsx(
5436
5558
  Image,
5437
5559
  {
5438
- src: props?.src ?? wallet?.image,
5439
- fallbackSrc: fallbackImage,
5440
- alt: props?.alt ?? wallet?.domain,
5560
+ src: props?.src || wallet?.image,
5561
+ alt: props?.alt || wallet?.domain,
5441
5562
  objectFit: "cover",
5442
5563
  rounded: "full",
5443
5564
  ...props
@@ -6208,7 +6329,7 @@ var AccountDetailsButton = ({
6208
6329
  wordBreak: "break-word",
6209
6330
  whiteSpace: "normal",
6210
6331
  w: "full",
6211
- children: wallet?.domain ? humanDomain(wallet?.domain, 4, 11) : humanAddress(wallet?.address ?? "", 6, 4)
6332
+ children: wallet?.domain ? humanDomain(wallet?.domain ?? "", 18, 0) : humanAddress(wallet?.address ?? "", 6, 4)
6212
6333
  }
6213
6334
  )
6214
6335
  ] }),
@@ -6238,24 +6359,18 @@ var ActionButton = ({
6238
6359
  extraContent
6239
6360
  }) => {
6240
6361
  const { t } = useTranslation();
6241
- const { colorMode } = useColorMode();
6242
- const baseBackgroundColor = backgroundColor ?? colorMode === "dark" ? "#ffffff0a" : "#00000005";
6243
6362
  return /* @__PURE__ */ jsx(
6244
6363
  Button,
6245
6364
  {
6246
- w: "full",
6247
- minH: "70px",
6248
- h: "fit-content",
6365
+ variant: "actionButton",
6249
6366
  py: stacked ? 0 : 4,
6250
6367
  onClick,
6251
6368
  display: hide ? "none" : "flex",
6252
6369
  isDisabled: showComingSoon || isDisabled,
6253
6370
  isLoading,
6254
6371
  loadingText,
6255
- bgColor: baseBackgroundColor,
6256
- _hover: _hover ?? {
6257
- backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
6258
- },
6372
+ bgColor: backgroundColor,
6373
+ _hover,
6259
6374
  ...style,
6260
6375
  children: /* @__PURE__ */ jsxs(HStack, { w: "full", justify: "space-between", children: [
6261
6376
  /* @__PURE__ */ jsx(Box, { minW: "40px", children: leftImage ? /* @__PURE__ */ jsx(
@@ -6340,7 +6455,7 @@ var AccountSelector = ({
6340
6455
  props: { width: 7, height: 7 }
6341
6456
  }
6342
6457
  ),
6343
- /* @__PURE__ */ jsx(Text, { fontSize: size, fontWeight: "500", children: humanDomain(wallet?.domain ?? "", 18, 0) || humanAddress(wallet?.address ?? "", 6, 4) })
6458
+ /* @__PURE__ */ jsx(Text, { fontSize: size, fontWeight: "500", children: humanDomain(wallet?.domain ?? "", 22, 0) || humanAddress(wallet?.address ?? "", 6, 4) })
6344
6459
  ] }),
6345
6460
  /* @__PURE__ */ jsx(
6346
6461
  Icon,
@@ -6760,7 +6875,7 @@ var QuickActionButton = ({
6760
6875
  );
6761
6876
  };
6762
6877
  var QuickActionsSection = ({ mt, setCurrentContent }) => {
6763
- const { account, smartAccount, connectedWallet } = useWallet();
6878
+ const { account, smartAccount, connectedWallet, connection } = useWallet();
6764
6879
  const { totalBalance } = useBalances({
6765
6880
  address: account?.address ?? ""
6766
6881
  });
@@ -6773,7 +6888,7 @@ var QuickActionsSection = ({ mt, setCurrentContent }) => {
6773
6888
  const { getNotifications } = useNotifications();
6774
6889
  const notifications = getNotifications();
6775
6890
  const hasUnreadNotifications = notifications.some((n) => !n.isRead);
6776
- const showRedDot = upgradeRequired || hasUnreadNotifications;
6891
+ const showRedDot = connection.isConnectedWithPrivy && upgradeRequired || hasUnreadNotifications;
6777
6892
  return /* @__PURE__ */ jsxs(VStack, { w: "full", mt, spacing: 4, children: [
6778
6893
  /* @__PURE__ */ jsx(Heading, { size: "xs", fontWeight: "500", w: "full", opacity: 0.5, children: t("Activities") }),
6779
6894
  /* @__PURE__ */ jsx(Grid, { templateColumns: "repeat(3, 1fr)", gap: 2, w: "full", children: QUICK_ACTIONS.map((action) => /* @__PURE__ */ jsx(
@@ -6892,6 +7007,115 @@ var DomainRequiredAlert = () => {
6892
7007
  ) })
6893
7008
  ] }) }) });
6894
7009
  };
7010
+ var CrossAppConnectionSecurityCard = () => {
7011
+ const { t } = useTranslation();
7012
+ const { getConnectionCache } = useCrossAppConnectionCache();
7013
+ const connectionCache = getConnectionCache();
7014
+ return /* @__PURE__ */ jsxs(Card, { variant: "vechainKitBase", w: "full", children: [
7015
+ /* @__PURE__ */ jsxs(CardHeader, { p: 4, pl: 6, borderBottomWidth: "1px", children: [
7016
+ /* @__PURE__ */ jsx(Text, { fontWeight: "medium", opacity: 0.8, children: t("Security preferences") }),
7017
+ /* @__PURE__ */ jsx(Text, { fontSize: "xs", mt: 1, opacity: 0.7, children: t(
7018
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.",
7019
+ {
7020
+ appName: connectionCache?.ecosystemApp.name ?? "origin app"
7021
+ }
7022
+ ) })
7023
+ ] }),
7024
+ /* @__PURE__ */ jsx(CardBody, { borderRadius: "none", children: /* @__PURE__ */ jsxs(VStack, { spacing: 3, align: "stretch", children: [
7025
+ /* @__PURE__ */ jsxs(HStack, { spacing: 3, align: "center", children: [
7026
+ /* @__PURE__ */ jsx(
7027
+ Center,
7028
+ {
7029
+ w: "fit-content",
7030
+ h: "fit-content",
7031
+ p: 2,
7032
+ borderRadius: "full",
7033
+ bg: "blackAlpha.100",
7034
+ _dark: { bg: "blackAlpha.100" },
7035
+ flexShrink: 0,
7036
+ children: /* @__PURE__ */ jsx(Icon, { as: GrUserAdmin })
7037
+ }
7038
+ ),
7039
+ /* @__PURE__ */ jsxs(Box, { flex: 1, children: [
7040
+ /* @__PURE__ */ jsx(
7041
+ Text,
7042
+ {
7043
+ fontSize: "sm",
7044
+ fontWeight: "medium",
7045
+ lineHeight: "shorter",
7046
+ children: t("Login methods")
7047
+ }
7048
+ ),
7049
+ /* @__PURE__ */ jsx(
7050
+ Text,
7051
+ {
7052
+ fontSize: "xs",
7053
+ opacity: 0.7,
7054
+ lineHeight: "shorter",
7055
+ children: t("Manage your login methods and passkeys")
7056
+ }
7057
+ )
7058
+ ] })
7059
+ ] }),
7060
+ /* @__PURE__ */ jsxs(HStack, { spacing: 3, align: "center", children: [
7061
+ /* @__PURE__ */ jsx(
7062
+ Center,
7063
+ {
7064
+ w: "fit-content",
7065
+ h: "fit-content",
7066
+ p: 2,
7067
+ borderRadius: "full",
7068
+ bg: "blackAlpha.100",
7069
+ _dark: { bg: "blackAlpha.100" },
7070
+ flexShrink: 0,
7071
+ children: /* @__PURE__ */ jsx(Icon, { as: HiOutlineShieldCheck })
7072
+ }
7073
+ ),
7074
+ /* @__PURE__ */ jsxs(Box, { flex: 1, children: [
7075
+ /* @__PURE__ */ jsx(
7076
+ Text,
7077
+ {
7078
+ fontSize: "sm",
7079
+ fontWeight: "medium",
7080
+ lineHeight: "shorter",
7081
+ children: t("Security settings")
7082
+ }
7083
+ ),
7084
+ /* @__PURE__ */ jsx(
7085
+ Text,
7086
+ {
7087
+ fontSize: "xs",
7088
+ opacity: 0.7,
7089
+ lineHeight: "shorter",
7090
+ children: t(
7091
+ "Backup your wallet, configure MFA and set recovery options"
7092
+ )
7093
+ }
7094
+ )
7095
+ ] })
7096
+ ] })
7097
+ ] }) }),
7098
+ /* @__PURE__ */ jsx(CardFooter, { children: /* @__PURE__ */ jsxs(
7099
+ Button,
7100
+ {
7101
+ variant: "vechainKitSecondary",
7102
+ w: "full",
7103
+ onClick: () => {
7104
+ window.open(
7105
+ connectionCache?.ecosystemApp.website ?? "https://governance.vebetterdao.org/",
7106
+ "_blank"
7107
+ );
7108
+ },
7109
+ children: [
7110
+ t("Manage on {{appName}}", {
7111
+ appName: connectionCache?.ecosystemApp.name ?? "origin app"
7112
+ }),
7113
+ /* @__PURE__ */ jsx(Icon, { as: FaExternalLinkAlt, ml: 2 })
7114
+ ]
7115
+ }
7116
+ ) })
7117
+ ] });
7118
+ };
6895
7119
  var AccessAndSecurityContent = ({ setCurrentContent }) => {
6896
7120
  const { t } = useTranslation();
6897
7121
  const { exportWallet } = usePrivy();
@@ -6922,27 +7146,17 @@ var AccessAndSecurityContent = ({ setCurrentContent }) => {
6922
7146
  align: "flex-start",
6923
7147
  w: "full",
6924
7148
  children: [
6925
- /* @__PURE__ */ jsxs(VStack, { w: "full", justifyContent: "center", spacing: 3, mb: 3, children: [
6926
- /* @__PURE__ */ jsx(
6927
- Icon,
6928
- {
6929
- opacity: 0.5,
6930
- as: IoShieldOutline,
6931
- fontSize: "50px"
6932
- }
6933
- ),
6934
- /* @__PURE__ */ jsx(
6935
- Text,
6936
- {
6937
- fontSize: "sm",
6938
- opacity: 0.5,
6939
- textAlign: "center",
6940
- children: t(
6941
- "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets."
6942
- )
6943
- }
6944
- )
6945
- ] }),
7149
+ /* @__PURE__ */ jsx(VStack, { w: "full", justifyContent: "center", spacing: 3, mb: 3, children: /* @__PURE__ */ jsx(
7150
+ Text,
7151
+ {
7152
+ fontSize: "sm",
7153
+ opacity: 0.5,
7154
+ textAlign: "center",
7155
+ children: t(
7156
+ "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets."
7157
+ )
7158
+ }
7159
+ ) }),
6946
7160
  upgradeRequired && /* @__PURE__ */ jsx(
6947
7161
  ActionButton,
6948
7162
  {
@@ -6986,70 +7200,53 @@ var AccessAndSecurityContent = ({ setCurrentContent }) => {
6986
7200
  rightIcon: MdOutlineNavigateNext
6987
7201
  }
6988
7202
  ),
6989
- /* @__PURE__ */ jsx(
6990
- ActionButton,
6991
- {
6992
- title: t("Login methods and Passkeys"),
6993
- onClick: () => {
6994
- setCurrentContent("privy-linked-accounts");
6995
- },
6996
- isDisabled: !connection.isConnectedWithSocialLogin,
6997
- leftIcon: GrUserAdmin,
6998
- rightIcon: MdOutlineNavigateNext
6999
- }
7000
- ),
7001
- /* @__PURE__ */ jsx(
7002
- ActionButton,
7003
- {
7004
- title: t("Backup your wallet"),
7005
- onClick: () => {
7006
- exportWallet();
7007
- },
7008
- isDisabled: !connection.isConnectedWithSocialLogin,
7009
- leftIcon: GiHouseKeys
7010
- }
7011
- ),
7012
- /* @__PURE__ */ jsx(
7013
- ActionButton,
7014
- {
7015
- title: t("Manage MFA"),
7016
- onClick: () => {
7017
- showMfaEnrollmentModal();
7018
- },
7019
- isDisabled: !connection.isConnectedWithSocialLogin,
7020
- leftIcon: HiOutlineShieldCheck
7021
- }
7022
- ),
7023
- /* @__PURE__ */ jsx(
7024
- ActionButton,
7025
- {
7026
- title: t("Manage Recovery"),
7027
- onClick: () => {
7028
- setWalletRecovery();
7029
- },
7030
- isDisabled: !connection.isConnectedWithSocialLogin,
7031
- leftIcon: MdOutlineSettingsBackupRestore
7032
- }
7033
- )
7203
+ connection.isConnectedWithSocialLogin ? /* @__PURE__ */ jsxs(Fragment, { children: [
7204
+ /* @__PURE__ */ jsx(
7205
+ ActionButton,
7206
+ {
7207
+ title: t("Login methods and Passkeys"),
7208
+ onClick: () => {
7209
+ setCurrentContent("privy-linked-accounts");
7210
+ },
7211
+ leftIcon: GrUserAdmin,
7212
+ rightIcon: MdOutlineNavigateNext
7213
+ }
7214
+ ),
7215
+ /* @__PURE__ */ jsx(
7216
+ ActionButton,
7217
+ {
7218
+ title: t("Backup your wallet"),
7219
+ onClick: () => {
7220
+ exportWallet();
7221
+ },
7222
+ leftIcon: GiHouseKeys
7223
+ }
7224
+ ),
7225
+ /* @__PURE__ */ jsx(
7226
+ ActionButton,
7227
+ {
7228
+ title: t("Manage MFA"),
7229
+ onClick: () => {
7230
+ showMfaEnrollmentModal();
7231
+ },
7232
+ leftIcon: HiOutlineShieldCheck
7233
+ }
7234
+ ),
7235
+ /* @__PURE__ */ jsx(
7236
+ ActionButton,
7237
+ {
7238
+ title: t("Manage Recovery"),
7239
+ onClick: () => {
7240
+ setWalletRecovery();
7241
+ },
7242
+ leftIcon: MdOutlineSettingsBackupRestore
7243
+ }
7244
+ )
7245
+ ] }) : /* @__PURE__ */ jsx(CrossAppConnectionSecurityCard, {})
7034
7246
  ]
7035
7247
  }
7036
7248
  ) }),
7037
- /* @__PURE__ */ jsx(ModalFooter, { w: "full", children: connection.isConnectedWithVeChain && connection.isConnectedWithCrossApp && /* @__PURE__ */ jsxs(
7038
- Button,
7039
- {
7040
- variant: "vechainKitSecondary",
7041
- onClick: () => {
7042
- window.open(
7043
- "https://governance.vebetterdao.org/",
7044
- "_blank"
7045
- );
7046
- },
7047
- children: [
7048
- t("Manage on VeBetterDAO"),
7049
- /* @__PURE__ */ jsx(Icon, { as: FaExternalLinkAlt, ml: 2 })
7050
- ]
7051
- }
7052
- ) })
7249
+ /* @__PURE__ */ jsx(ModalFooter, { pt: 0 })
7053
7250
  ] });
7054
7251
  };
7055
7252
  var DEFAULT_NOTIFICATIONS = [
@@ -7701,7 +7898,7 @@ var WalletSecuredBy = () => {
7701
7898
  mt: 5,
7702
7899
  p: 3,
7703
7900
  borderRadius: "lg",
7704
- bg: isDark ? "whiteAlpha.100" : "blackAlpha.50",
7901
+ bg: isDark ? "#00000038" : "#f5f5f5",
7705
7902
  shadow: "sm",
7706
7903
  children: [
7707
7904
  /* @__PURE__ */ jsx(Text, { fontSize: "xs", fontWeight: "800", children: t("Wallet secured by") }),
@@ -7745,6 +7942,7 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7745
7942
  const walletImage = getPicassoImage(connectedWallet?.address ?? "");
7746
7943
  const { getConnectionCache } = useCrossAppConnectionCache();
7747
7944
  const connectionCache = getConnectionCache();
7945
+ const { darkMode: isDark } = useVeChainKitConfig();
7748
7946
  return /* @__PURE__ */ jsxs(ScrollToTopWrapper, { children: [
7749
7947
  /* @__PURE__ */ jsxs(StickyHeaderContainer, { children: [
7750
7948
  /* @__PURE__ */ jsx(ModalHeader, { children: t("Embedded wallet") }),
@@ -7812,7 +8010,7 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7812
8010
  {
7813
8011
  href: "https://www.veworld.net/",
7814
8012
  isExternal: true,
7815
- color: "blackAlpha.600",
8013
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
7816
8014
  fontSize: "14px",
7817
8015
  textDecoration: "underline",
7818
8016
  children: [
@@ -7832,7 +8030,7 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7832
8030
  {
7833
8031
  href: "https://docs.vechainkit.vechain.org/vechain-kit/embedded-wallets",
7834
8032
  isExternal: true,
7835
- color: "blackAlpha.600",
8033
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
7836
8034
  fontSize: "14px",
7837
8035
  textDecoration: "underline",
7838
8036
  children: t("here")
@@ -7880,7 +8078,7 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7880
8078
  /* @__PURE__ */ jsx(ModalBackButton, { onClick: onBack }),
7881
8079
  /* @__PURE__ */ jsx(ModalCloseButton, {})
7882
8080
  ] }),
7883
- /* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, align: "stretch", children: [
8081
+ /* @__PURE__ */ jsx(Container, { h: ["540px", "auto"], p: 0, children: /* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, align: "stretch", children: [
7884
8082
  /* @__PURE__ */ jsxs(InputGroup, { size: "lg", children: [
7885
8083
  /* @__PURE__ */ jsx(
7886
8084
  Input,
@@ -7930,7 +8128,9 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7930
8128
  AssetButton,
7931
8129
  {
7932
8130
  symbol: token.symbol,
7933
- amount: Number(token.numericBalance),
8131
+ amount: Number(
8132
+ token.numericBalance
8133
+ ),
7934
8134
  usdValue,
7935
8135
  onClick: () => onSelectToken(token),
7936
8136
  isDisabled: !hasBalance
@@ -7938,7 +8138,7 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7938
8138
  token.address
7939
8139
  );
7940
8140
  }) })
7941
- ] }) }),
8141
+ ] }) }) }),
7942
8142
  /* @__PURE__ */ jsx(ModalFooter, { pt: 0 })
7943
8143
  ] });
7944
8144
  };
@@ -7977,11 +8177,7 @@ var SendTokenContent = ({
7977
8177
  mode: "onChange"
7978
8178
  });
7979
8179
  const { toAddressOrDomain } = watch();
7980
- const {
7981
- domain: resolvedDomain,
7982
- address: resolvedAddress,
7983
- isLoading: isLoadingDomain
7984
- } = useVechainDomain$1({ addressOrDomain: toAddressOrDomain });
8180
+ const { domain: resolvedDomain, address: resolvedAddress } = useVechainDomain$1({ addressOrDomain: toAddressOrDomain });
7985
8181
  const handleSetMaxAmount = () => {
7986
8182
  if (selectedToken) {
7987
8183
  setValue("amount", selectedToken.numericBalance);
@@ -8259,8 +8455,8 @@ var SendTokenContent = ({
8259
8455
  /* @__PURE__ */ jsx(ModalFooter, { children: /* @__PURE__ */ jsx(
8260
8456
  Button,
8261
8457
  {
8262
- variant: "vechainKitSecondary",
8263
- isDisabled: !selectedToken || !isValid || isLoadingDomain,
8458
+ variant: "vechainKitPrimary",
8459
+ isDisabled: !selectedToken || !isValid,
8264
8460
  onClick: handleSubmit(onSubmit),
8265
8461
  children: selectedToken ? t("Send") : t("Select Token")
8266
8462
  }
@@ -8287,7 +8483,7 @@ var SendTokenSummaryContent = ({
8287
8483
  }) => {
8288
8484
  const { t } = useTranslation();
8289
8485
  const { account, connection, connectedWallet } = useWallet();
8290
- const { data: avatar } = useGetAvatar(resolvedDomain);
8486
+ const { data: avatar } = useGetAvatar(resolvedDomain ?? "");
8291
8487
  const { network } = useVeChainKitConfig();
8292
8488
  const { data: upgradeRequired } = useUpgradeRequired(
8293
8489
  account?.address ?? "",
@@ -8297,7 +8493,7 @@ var SendTokenSummaryContent = ({
8297
8493
  const { open: openUpgradeSmartAccountModal } = useUpgradeSmartAccountModal();
8298
8494
  const toImageSrc = useMemo(() => {
8299
8495
  if (avatar) {
8300
- return convertUriToUrl(avatar, network.type);
8496
+ return avatar;
8301
8497
  }
8302
8498
  return getPicassoImage(resolvedAddress || toAddressOrDomain);
8303
8499
  }, [avatar, network.type, resolvedAddress, toAddressOrDomain]);
@@ -8604,6 +8800,78 @@ var ChooseNameContent = ({
8604
8800
  ) })
8605
8801
  ] });
8606
8802
  };
8803
+ var DomainListItem = ({
8804
+ domain,
8805
+ isCurrentDomain,
8806
+ onSelect
8807
+ }) => {
8808
+ const { darkMode: isDark } = useVeChainKitConfig();
8809
+ const { connection } = useWallet();
8810
+ const { t } = useTranslation();
8811
+ const metadata = useWalletMetadata(domain.name, connection.network);
8812
+ return /* @__PURE__ */ jsx(
8813
+ ListItem,
8814
+ {
8815
+ p: 4,
8816
+ bg: isDark ? "#1f1f1e" : "white",
8817
+ borderRadius: "xl",
8818
+ cursor: isCurrentDomain ? "default" : "pointer",
8819
+ opacity: isCurrentDomain ? 0.7 : 1,
8820
+ border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
8821
+ _hover: {
8822
+ bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
8823
+ borderColor: isDark ? "#3d3d3d" : "#dedede"
8824
+ },
8825
+ onClick: () => !isCurrentDomain && onSelect(domain.name),
8826
+ transition: "all 0.2s",
8827
+ children: /* @__PURE__ */ jsxs(HStack, { spacing: 3, align: "center", children: [
8828
+ /* @__PURE__ */ jsx(
8829
+ AccountAvatar,
8830
+ {
8831
+ props: {
8832
+ width: "40px",
8833
+ height: "40px",
8834
+ src: metadata.image ?? getPicassoImage(domain.name),
8835
+ alt: domain.name
8836
+ }
8837
+ }
8838
+ ),
8839
+ /* @__PURE__ */ jsxs(VStack, { align: "start", spacing: 0, flex: 1, children: [
8840
+ /* @__PURE__ */ jsx(
8841
+ Text,
8842
+ {
8843
+ color: isDark ? "whiteAlpha.900" : "gray.700",
8844
+ fontSize: "md",
8845
+ fontWeight: "500",
8846
+ children: domain.name
8847
+ }
8848
+ ),
8849
+ isCurrentDomain && /* @__PURE__ */ jsx(
8850
+ Text,
8851
+ {
8852
+ fontSize: "sm",
8853
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
8854
+ children: t("Current domain")
8855
+ }
8856
+ )
8857
+ ] }),
8858
+ isCurrentDomain && /* @__PURE__ */ jsx(
8859
+ Tag,
8860
+ {
8861
+ size: "sm",
8862
+ bg: isDark ? "#ffffff0a" : "whiteAlpha.100",
8863
+ color: isDark ? "whiteAlpha.900" : "blackAlpha.600",
8864
+ px: 3,
8865
+ py: 1,
8866
+ borderRadius: "full",
8867
+ children: t("Current")
8868
+ }
8869
+ )
8870
+ ] })
8871
+ },
8872
+ domain.name
8873
+ );
8874
+ };
8607
8875
  var ExistingDomainsList = ({
8608
8876
  domains,
8609
8877
  onDomainSelect,
@@ -8611,7 +8879,7 @@ var ExistingDomainsList = ({
8611
8879
  }) => {
8612
8880
  const { t } = useTranslation();
8613
8881
  const { darkMode: isDark } = useVeChainKitConfig();
8614
- const { account, connection } = useWallet();
8882
+ const { account } = useWallet();
8615
8883
  if (domains.length === 0 || isLoading) {
8616
8884
  return null;
8617
8885
  }
@@ -8640,85 +8908,15 @@ var ExistingDomainsList = ({
8640
8908
  ]
8641
8909
  }
8642
8910
  ),
8643
- /* @__PURE__ */ jsx(AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsx(List, { spacing: 2, children: domains.map((domain) => {
8644
- const isCurrentDomain = domain.name === account?.domain;
8645
- const metadata = useWalletMetadata(
8646
- domain.name,
8647
- connection.network
8648
- );
8649
- return /* @__PURE__ */ jsx(
8650
- ListItem,
8651
- {
8652
- p: 4,
8653
- bg: isDark ? "#1f1f1e" : "white",
8654
- borderRadius: "xl",
8655
- cursor: isCurrentDomain ? "default" : "pointer",
8656
- opacity: isCurrentDomain ? 0.7 : 1,
8657
- border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
8658
- _hover: {
8659
- bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
8660
- borderColor: isDark ? "#3d3d3d" : "#dedede"
8661
- },
8662
- onClick: () => !isCurrentDomain && onDomainSelect(domain.name),
8663
- transition: "all 0.2s",
8664
- children: /* @__PURE__ */ jsxs(HStack, { spacing: 3, align: "center", children: [
8665
- /* @__PURE__ */ jsx(
8666
- AccountAvatar,
8667
- {
8668
- props: {
8669
- width: "40px",
8670
- height: "40px",
8671
- src: metadata.image,
8672
- alt: domain.name
8673
- }
8674
- }
8675
- ),
8676
- /* @__PURE__ */ jsxs(
8677
- VStack,
8678
- {
8679
- align: "start",
8680
- spacing: 0,
8681
- flex: 1,
8682
- children: [
8683
- /* @__PURE__ */ jsx(
8684
- Text,
8685
- {
8686
- color: isDark ? "whiteAlpha.900" : "gray.700",
8687
- fontSize: "md",
8688
- fontWeight: "500",
8689
- children: domain.name
8690
- }
8691
- ),
8692
- isCurrentDomain && /* @__PURE__ */ jsx(
8693
- Text,
8694
- {
8695
- fontSize: "sm",
8696
- color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
8697
- children: t(
8698
- "Current domain"
8699
- )
8700
- }
8701
- )
8702
- ]
8703
- }
8704
- ),
8705
- isCurrentDomain && /* @__PURE__ */ jsx(
8706
- Tag,
8707
- {
8708
- size: "sm",
8709
- bg: isDark ? "#ffffff0a" : "whiteAlpha.100",
8710
- color: isDark ? "whiteAlpha.900" : "blackAlpha.600",
8711
- px: 3,
8712
- py: 1,
8713
- borderRadius: "full",
8714
- children: t("Current")
8715
- }
8716
- )
8717
- ] })
8718
- },
8719
- domain.name
8720
- );
8721
- }) }) })
8911
+ /* @__PURE__ */ jsx(AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsx(List, { spacing: 2, children: domains.map((domain) => /* @__PURE__ */ jsx(
8912
+ DomainListItem,
8913
+ {
8914
+ domain,
8915
+ isCurrentDomain: domain.name === account?.domain,
8916
+ onSelect: onDomainSelect
8917
+ },
8918
+ domain.name
8919
+ )) }) })
8722
8920
  ] }) }) });
8723
8921
  };
8724
8922
  var ChooseNameSearchContent = ({
@@ -8888,7 +9086,7 @@ var ChooseNameSearchContent = ({
8888
9086
  /* @__PURE__ */ jsx(ModalFooter, { children: /* @__PURE__ */ jsx(
8889
9087
  Button,
8890
9088
  {
8891
- variant: "vechainKitSecondary",
9089
+ variant: "vechainKitPrimary",
8892
9090
  isDisabled: !isAvailable || !!error || isProtected || isFetchingDomainInfo,
8893
9091
  onClick: handleContinue,
8894
9092
  children: t("Continue")
@@ -9200,6 +9398,7 @@ var en_default = {
9200
9398
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.",
9201
9399
  "Backup can be done only in the app securing your wallet.": "Backup can be done only in the app securing your wallet.",
9202
9400
  "Backup your wallet": "Backup your wallet",
9401
+ "Backup your wallet, configure MFA and set recovery options": "Backup your wallet, configure MFA and set recovery options",
9203
9402
  Balance: "Balance",
9204
9403
  "Balance:": "Balance:",
9205
9404
  "Benefits of this upgrade:": "Benefits of this upgrade:",
@@ -9312,6 +9511,7 @@ var en_default = {
9312
9511
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.",
9313
9512
  "Finally say goodbye to 0x addresses": "Finally say goodbye to 0x addresses",
9314
9513
  "For developers": "For developers",
9514
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.",
9315
9515
  "Frequently asked questions": "Frequently asked questions",
9316
9516
  From: "From",
9317
9517
  Github: "Github",
@@ -9370,9 +9570,11 @@ var en_default = {
9370
9570
  "Manage Recovery": "Manage Recovery",
9371
9571
  "Manage multi-factor authentication settings for your wallet.": "Manage multi-factor authentication settings for your wallet.",
9372
9572
  "Manage on VeBetterDAO": "Manage on VeBetterDAO",
9573
+ "Manage on {{appName}}": "Manage on {{appName}}",
9373
9574
  "Manage passkey login": "Manage passkey login",
9374
9575
  "Manage your embedded wallet security settings or back it up to a new device.": "Manage your embedded wallet security settings or back it up to a new device.",
9375
9576
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.",
9577
+ "Manage your login methods and passkeys": "Manage your login methods and passkeys",
9376
9578
  "Mobile browser may block the login window.": "Mobile browser may block the login window.",
9377
9579
  More: "More",
9378
9580
  "Multiclause Transaction temporary disabled": "Multiclause Transaction temporary disabled",
@@ -9449,6 +9651,8 @@ var en_default = {
9449
9651
  "Search dApps": "Search dApps",
9450
9652
  "Search for a domain": "Search for a domain",
9451
9653
  "Secured by": "Secured by",
9654
+ "Security preferences": "Security preferences",
9655
+ "Security settings": "Security settings",
9452
9656
  "Select Additional Login Method": "Select Additional Login Method",
9453
9657
  "Select Token": "Select Token",
9454
9658
  "Select an app": "Select an app",
@@ -9682,6 +9886,7 @@ var de_default = {
9682
9886
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Das Sichern Ihres Wallets ist entscheidend, da Sie der Einzige mit Zugriff auf Ihre privaten Schl\xFCssel sind. Wenn etwas schiefgeht, ist Ihr privater Schl\xFCssel der einzige Weg, um Ihre Verm\xF6genswerte wiederherzustellen. Die Art der Sicherung h\xE4ngt davon ab, wie Sie auf Ihr Wallet zugreifen: Wenn Sie VeWorld verwenden, ist die Sicherungsoption in der App verf\xFCgbar. F\xFCr Benutzer mit sozialem Login finden Sie Sicherungsoptionen im Wallet-Bereich. Wenn Sie \xFCber VeChain oder eine andere Ecosystem-App verbunden sind, m\xFCssen Sie die urspr\xFCngliche Website besuchen, sich anmelden und dort auf den Wallet-Bereich zugreifen.",
9683
9887
  "Backup can be done only in the app securing your wallet.": "Ein Backup kann nur in der App durchgef\xFChrt werden, die Ihr Wallet sichert.",
9684
9888
  "Backup your wallet": "Sichern Sie Ihr Wallet",
9889
+ "Backup your wallet, configure MFA and set recovery options": "Sichern Sie Ihre Wallet, konfigurieren Sie MFA und legen Sie Wiederherstellungsoptionen fest",
9685
9890
  Balance: "Guthaben",
9686
9891
  "Balance:": "Kontostand:",
9687
9892
  "Benefits of this upgrade:": "Vorteile dieses Upgrades:",
@@ -9794,6 +9999,7 @@ var de_default = {
9794
9999
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "Fee Delegation ist ein einzigartiges Merkmal von VeChain, das es jemand anderem (einem Delegator) erm\xF6glicht, Ihre Transaktionsgeb\xFChren zu bezahlen. W\xE4hrend viele dApps und Dienstanbieter als Delegatoren fungieren, um neuen Benutzern den Einstieg zu erleichtern, k\xF6nnen bei einigen Transaktionen dennoch Geb\xFChren anfallen, die Sie mit Ihrem eigenen VTHO bezahlen m\xFCssen. Geb\xFChren sind notwendig, um Netzwerkmissbrauch zu verhindern und die Knoten zu entsch\xE4digen, die Transaktionen in der Blockchain verarbeiten und validieren. Wenn Sie die Geb\xFChren selbst bezahlen, k\xF6nnen Sie VTHO aus Ihren Verm\xF6genswerten ausw\xE4hlen, um die Transaktionskosten zu decken.",
9795
10000
  "Finally say goodbye to 0x addresses": "Sagen Sie endlich 0x-Adressen auf Wiedersehen",
9796
10001
  "For developers": "F\xFCr Entwickler",
10002
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Aus Sicherheitsgr\xFCnden k\xF6nnen Sie die Einstellungen Ihrer eingebetteten Wallet nur auf der {{appName}} Plattform verwalten.",
9797
10003
  "Frequently asked questions": "H\xE4ufig gestellte Fragen",
9798
10004
  From: "Von",
9799
10005
  Github: "Github",
@@ -9852,9 +10058,11 @@ var de_default = {
9852
10058
  "Manage Recovery": "Wiederherstellung verwalten",
9853
10059
  "Manage multi-factor authentication settings for your wallet.": "Verwalten Sie die Einstellungen zur Multi-Faktor-Authentifizierung f\xFCr Ihr Wallet.",
9854
10060
  "Manage on VeBetterDAO": "Verwalten auf VeBetterDAO",
10061
+ "Manage on {{appName}}": "Verwalten auf {{appName}}",
9855
10062
  "Manage passkey login": "Passkey-Anmeldung verwalten",
9856
10063
  "Manage your embedded wallet security settings or back it up to a new device.": "Verwalten Sie die Sicherheitseinstellungen Ihres eingebetteten Wallets oder sichern Sie es auf einem neuen Ger\xE4t.",
9857
10064
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Verwalten Sie die Sicherheitseinstellungen Ihrer eingebetteten Wallet: Verwalten Sie Ihre Anmeldemethoden, f\xFCgen Sie einen Zugangsschl\xFCssel hinzu oder sichern Sie Ihre Wallet, um nie den Zugriff auf Ihre Assets zu verlieren.",
10065
+ "Manage your login methods and passkeys": "Verwalten Sie Ihre Anmeldemethoden und Zugangsschl\xFCssel",
9858
10066
  "Mobile browser may block the login window.": "Mobiler Browser kann das Anmeldefenster blockieren.",
9859
10067
  More: "Mehr",
9860
10068
  "Multiclause Transaction temporary disabled": "Multiclause-Transaktion vor\xFCbergehend deaktiviert",
@@ -9931,6 +10139,8 @@ var de_default = {
9931
10139
  "Search dApps": "dApps durchsuchen",
9932
10140
  "Search for a domain": "Nach einer Domain suchen",
9933
10141
  "Secured by": "Gesichert durch",
10142
+ "Security preferences": "Sicherheitseinstellungen",
10143
+ "Security settings": "Sicherheitseinstellungen",
9934
10144
  "Select Additional Login Method": "Zus\xE4tzliche Anmeldemethode ausw\xE4hlen",
9935
10145
  "Select Token": "Token ausw\xE4hlen",
9936
10146
  "Select an app": "W\xE4hlen Sie eine App",
@@ -10164,6 +10374,7 @@ var it_default = {
10164
10374
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Fare il backup del tuo portafoglio \xE8 fondamentale poich\xE9 sei l'unico ad avere accesso alle tue chiavi private. Se qualcosa va storto, avere la tua chiave privata \xE8 l'unico modo per recuperare i tuoi beni. Come fare il backup dipende da come accedi al tuo portafoglio: se usi VeWorld, l'opzione di backup \xE8 disponibile all'interno dell'app. Per gli utenti con accesso tramite login sociale, puoi trovare opzioni di backup nella sezione Portafoglio. Se sei connesso tramite VeChain o un'altra app dell'ecosistema, dovrai visitare il sito originale, accedere e raggiungere la sezione Portafoglio da l\xEC.",
10165
10375
  "Backup can be done only in the app securing your wallet.": "Il backup pu\xF2 essere effettuato solo nell'app che protegge il tuo portafoglio.",
10166
10376
  "Backup your wallet": "Esegui il backup del tuo portafoglio",
10377
+ "Backup your wallet, configure MFA and set recovery options": "Esegui il backup del tuo portafoglio, configura MFA e imposta le opzioni di recupero",
10167
10378
  Balance: "Saldo",
10168
10379
  "Balance:": "Saldo:",
10169
10380
  "Benefits of this upgrade:": "Vantaggi di questo aggiornamento:",
@@ -10276,6 +10487,7 @@ var it_default = {
10276
10487
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La delega delle commissioni \xE8 una funzione unica di VeChain che consente a qualcun altro (un delegante) di pagare le tue commissioni di transazione. Mentre molte dApp e fornitori di servizi agiscono come deleganti per facilitare l'inizio per i nuovi utenti, alcune transazioni potrebbero comunque richiedere che tu paghi le commissioni usando il tuo VTHO. Le commissioni sono necessarie per prevenire lo spam di rete e compensare i nodi che elaborano e convalidano le transazioni sulla blockchain. Quando paghi le commissioni di persona, potrai selezionare VTHO dai tuoi asset per coprire il costo della transazione.",
10277
10488
  "Finally say goodbye to 0x addresses": "Finalmente d\xEC addio agli indirizzi 0x",
10278
10489
  "For developers": "Per sviluppatori",
10490
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Per motivi di sicurezza, puoi gestire le impostazioni del tuo portafoglio integrato solo sulla piattaforma {{appName}}.",
10279
10491
  "Frequently asked questions": "Domande frequenti",
10280
10492
  From: "Da",
10281
10493
  Github: "Github",
@@ -10334,9 +10546,11 @@ var it_default = {
10334
10546
  "Manage Recovery": "Gestisci Recupero",
10335
10547
  "Manage multi-factor authentication settings for your wallet.": "Gestisci le impostazioni di autenticazione a pi\xF9 fattori per il tuo portafoglio.",
10336
10548
  "Manage on VeBetterDAO": "Gestisci su VeBetterDAO",
10549
+ "Manage on {{appName}}": "Gestisci su {{appName}}",
10337
10550
  "Manage passkey login": "Gestisci login con chiave di accesso",
10338
10551
  "Manage your embedded wallet security settings or back it up to a new device.": "Gestisci le impostazioni di sicurezza del tuo portafoglio incorporato o esegui il backup su un nuovo dispositivo.",
10339
10552
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Gestisci le impostazioni di sicurezza del tuo portafoglio integrato: gestisci i tuoi metodi di accesso, aggiungi una chiave di accesso o esegui il backup del portafoglio per non perdere mai l'accesso ai tuoi beni.",
10553
+ "Manage your login methods and passkeys": "Gestisci i tuoi metodi di accesso e chiavi di accesso",
10340
10554
  "Mobile browser may block the login window.": "Il browser mobile potrebbe bloccare la finestra di accesso.",
10341
10555
  More: "Altro",
10342
10556
  "Multiclause Transaction temporary disabled": "Transazione multiclausola temporaneamente disabilitata",
@@ -10413,6 +10627,8 @@ var it_default = {
10413
10627
  "Search dApps": "Cerca dApp",
10414
10628
  "Search for a domain": "Cerca un dominio",
10415
10629
  "Secured by": "Protetto da",
10630
+ "Security preferences": "Preferenze di sicurezza",
10631
+ "Security settings": "Impostazioni di sicurezza",
10416
10632
  "Select Additional Login Method": "Seleziona metodo di accesso aggiuntivo",
10417
10633
  "Select Token": "Seleziona Token",
10418
10634
  "Select an app": "Seleziona un'app",
@@ -10646,6 +10862,7 @@ var fr_default = {
10646
10862
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Sauvegarder votre portefeuille est crucial puisque vous \xEAtes le seul \xE0 avoir acc\xE8s \xE0 vos cl\xE9s priv\xE9es. Si quelque chose ne va pas, avoir votre cl\xE9 priv\xE9e est le seul moyen de r\xE9cup\xE9rer vos actifs. La fa\xE7on de sauvegarder d\xE9pend de la mani\xE8re dont vous acc\xE9dez \xE0 votre portefeuille : si vous utilisez VeWorld, l'option de sauvegarde est disponible dans l'application. Pour les utilisateurs de connexion sociale, vous trouverez les options de sauvegarde dans la section Portefeuille. Si vous \xEAtes connect\xE9 via VeChain ou une autre application de l'\xE9cosyst\xE8me, vous devrez visiter le site web d'origine, vous connecter et acc\xE9der \xE0 la section Portefeuille \xE0 partir de l\xE0.",
10647
10863
  "Backup can be done only in the app securing your wallet.": "La sauvegarde ne peut \xEAtre effectu\xE9e que dans l'application s\xE9curisant votre portefeuille.",
10648
10864
  "Backup your wallet": "Sauvegardez votre portefeuille",
10865
+ "Backup your wallet, configure MFA and set recovery options": "Sauvegardez votre portefeuille, configurez l'authentification multi-facteurs et d\xE9finissez les options de r\xE9cup\xE9ration",
10649
10866
  Balance: "Solde",
10650
10867
  "Balance:": "Solde:",
10651
10868
  "Benefits of this upgrade:": "Avantages de cette mise \xE0 niveau :",
@@ -10758,6 +10975,7 @@ var fr_default = {
10758
10975
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La d\xE9l\xE9gation de frais est une fonctionnalit\xE9 unique de VeChain qui permet \xE0 quelqu'un d'autre (un d\xE9l\xE9gataire) de payer vos frais de transaction. Bien que de nombreuses dApps et prestataires de services agissent en tant que d\xE9l\xE9gataires pour faciliter le d\xE9marrage des nouveaux utilisateurs, certaines transactions peuvent encore n\xE9cessiter que vous payiez des frais en utilisant votre propre VTHO. Les frais sont n\xE9cessaires pour pr\xE9venir le spam sur le r\xE9seau et pour r\xE9mun\xE9rer les n\u0153uds qui traitent et valident les transactions sur la blockchain. Lorsque vous payez vous-m\xEAme les frais, vous pourrez s\xE9lectionner VTHO parmi vos actifs pour couvrir le co\xFBt de la transaction.",
10759
10976
  "Finally say goodbye to 0x addresses": "Enfin, dites adieu aux adresses 0x",
10760
10977
  "For developers": "Pour les d\xE9veloppeurs",
10978
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Pour des raisons de s\xE9curit\xE9, vous pouvez g\xE9rer les param\xE8tres de votre portefeuille int\xE9gr\xE9 uniquement sur la plateforme {{appName}}.",
10761
10979
  "Frequently asked questions": "Questions fr\xE9quemment pos\xE9es",
10762
10980
  From: "De",
10763
10981
  Github: "Github",
@@ -10816,9 +11034,11 @@ var fr_default = {
10816
11034
  "Manage Recovery": "G\xE9rer la r\xE9cup\xE9ration",
10817
11035
  "Manage multi-factor authentication settings for your wallet.": "G\xE9rez les param\xE8tres d'authentification \xE0 plusieurs facteurs pour votre portefeuille.",
10818
11036
  "Manage on VeBetterDAO": "G\xE9rer sur VeBetterDAO",
11037
+ "Manage on {{appName}}": "G\xE9rer sur {{appName}}",
10819
11038
  "Manage passkey login": "G\xE9rer la connexion par cl\xE9 de passe",
10820
11039
  "Manage your embedded wallet security settings or back it up to a new device.": "G\xE9rez les param\xE8tres de s\xE9curit\xE9 de votre portefeuille int\xE9gr\xE9 ou sauvegardez-le sur un nouvel appareil.",
10821
11040
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "G\xE9rez les param\xE8tres de s\xE9curit\xE9 de votre portefeuille int\xE9gr\xE9 : g\xE9rez vos m\xE9thodes de connexion, ajoutez une cl\xE9 d'acc\xE8s ou sauvegardez votre portefeuille pour ne jamais perdre l'acc\xE8s \xE0 vos actifs.",
11041
+ "Manage your login methods and passkeys": "G\xE9rez vos m\xE9thodes de connexion et cl\xE9s d'acc\xE8s",
10822
11042
  "Mobile browser may block the login window.": "Le navigateur mobile peut bloquer la fen\xEAtre de connexion.",
10823
11043
  More: "Plus",
10824
11044
  "Multiclause Transaction temporary disabled": "Transaction \xE0 clauses multiples temporairement d\xE9sactiv\xE9e",
@@ -10895,6 +11115,8 @@ var fr_default = {
10895
11115
  "Search dApps": "Rechercher des dApps",
10896
11116
  "Search for a domain": "Rechercher un domaine",
10897
11117
  "Secured by": "S\xE9curis\xE9 par",
11118
+ "Security preferences": "Pr\xE9f\xE9rences de s\xE9curit\xE9",
11119
+ "Security settings": "Param\xE8tres de s\xE9curit\xE9",
10898
11120
  "Select Additional Login Method": "S\xE9lectionner une m\xE9thode de connexion suppl\xE9mentaire",
10899
11121
  "Select Token": "S\xE9lectionner un jeton",
10900
11122
  "Select an app": "S\xE9lectionnez une application",
@@ -11128,6 +11350,7 @@ var es_default = {
11128
11350
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Respaldar tu billetera es crucial ya que eres el \xFAnico con acceso a tus claves privadas. Si algo sale mal, tener tu clave privada es la \xFAnica manera de recuperar tus activos. C\xF3mo hacer un respaldo depende de c\xF3mo accedas a tu billetera: Si usas VeWorld, la opci\xF3n de respaldo est\xE1 disponible dentro de la aplicaci\xF3n. Para usuarios de inicio de sesi\xF3n social, puedes encontrar opciones de respaldo en la secci\xF3n Billetera. Si est\xE1s conectado a trav\xE9s de VeChain u otra aplicaci\xF3n del ecosistema, necesitar\xE1s visitar el sitio web original, iniciar sesi\xF3n y acceder a la secci\xF3n de Billetera desde all\xED.",
11129
11351
  "Backup can be done only in the app securing your wallet.": "La copia de seguridad solo se puede hacer en la aplicaci\xF3n que asegura tu billetera.",
11130
11352
  "Backup your wallet": "Respalda tu billetera",
11353
+ "Backup your wallet, configure MFA and set recovery options": "Realiza una copia de seguridad de tu billetera, configura MFA y establece opciones de recuperaci\xF3n",
11131
11354
  Balance: "Saldo",
11132
11355
  "Balance:": "Saldo:",
11133
11356
  "Benefits of this upgrade:": "Beneficios de esta actualizaci\xF3n:",
@@ -11240,6 +11463,7 @@ var es_default = {
11240
11463
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La delegaci\xF3n de tarifas es una funci\xF3n \xFAnica de VeChain que permite que otra persona (un delegado) pague las tarifas de tus transacciones. Aunque muchas aplicaciones descentralizadas (dApps) y proveedores de servicios act\xFAan como delegados para facilitar a los nuevos usuarios el comienzo, es posible que algunas transacciones a\xFAn requieran que pagues tarifas usando tu propio VTHO. Las tarifas son necesarias para prevenir el spam en la red y compensar a los nodos que procesan y validan las transacciones en la cadena de bloques. Al pagar las tarifas t\xFA mismo, podr\xE1s seleccionar VTHO de tus activos para cubrir el costo de la transacci\xF3n.",
11241
11464
  "Finally say goodbye to 0x addresses": "Finalmente di adi\xF3s a las direcciones 0x",
11242
11465
  "For developers": "Para desarrolladores",
11466
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Por razones de seguridad, puedes gestionar la configuraci\xF3n de tu billetera integrada solo en la plataforma {{appName}}.",
11243
11467
  "Frequently asked questions": "Preguntas frecuentes",
11244
11468
  From: "De",
11245
11469
  Github: "Github",
@@ -11298,9 +11522,11 @@ var es_default = {
11298
11522
  "Manage Recovery": "Gestionar la Recuperaci\xF3n",
11299
11523
  "Manage multi-factor authentication settings for your wallet.": "Gestionar configuraciones de autenticaci\xF3n multifactor para tu billetera.",
11300
11524
  "Manage on VeBetterDAO": "Gestionar en VeBetterDAO",
11525
+ "Manage on {{appName}}": "Gestionar en {{appName}}",
11301
11526
  "Manage passkey login": "Administrar inicio de sesi\xF3n con llave de acceso",
11302
11527
  "Manage your embedded wallet security settings or back it up to a new device.": "Gestiona la configuraci\xF3n de seguridad de tu monedero incrustado o haz una copia de seguridad en un nuevo dispositivo.",
11303
11528
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Administra la configuraci\xF3n de seguridad de tu billetera integrada: gestiona tus m\xE9todos de inicio de sesi\xF3n, a\xF1ade una clave de acceso o realiza una copia de seguridad de tu billetera para no perder nunca el acceso a tus activos.",
11529
+ "Manage your login methods and passkeys": "Gestiona tus m\xE9todos de inicio de sesi\xF3n y claves de acceso",
11304
11530
  "Mobile browser may block the login window.": "El navegador m\xF3vil puede bloquear la ventana de inicio de sesi\xF3n.",
11305
11531
  More: "M\xE1s",
11306
11532
  "Multiclause Transaction temporary disabled": "Transacci\xF3n con m\xFAltiples cl\xE1usulas temporalmente deshabilitada",
@@ -11377,6 +11603,8 @@ var es_default = {
11377
11603
  "Search dApps": "Buscar dApps",
11378
11604
  "Search for a domain": "Buscar un dominio",
11379
11605
  "Secured by": "Asegurado por",
11606
+ "Security preferences": "Preferencias de seguridad",
11607
+ "Security settings": "Configuraciones de seguridad",
11380
11608
  "Select Additional Login Method": "Seleccionar M\xE9todo de Inicio de Sesi\xF3n Adicional",
11381
11609
  "Select Token": "Seleccionar Token",
11382
11610
  "Select an app": "Seleccionar una aplicaci\xF3n",
@@ -11610,6 +11838,7 @@ var zh_default = {
11610
11838
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305\u975E\u5E38\u91CD\u8981\uFF0C\u56E0\u4E3A\u60A8\u662F\u552F\u4E00\u80FD\u8BBF\u95EE\u60A8\u7684\u79C1\u94A5\u7684\u4EBA\u3002\u5982\u679C\u51FA\u73B0\u95EE\u9898\uFF0C\u62E5\u6709\u60A8\u7684\u79C1\u94A5\u662F\u6062\u590D\u8D44\u4EA7\u7684\u552F\u4E00\u65B9\u6CD5\u3002\u5907\u4EFD\u65B9\u5F0F\u53D6\u51B3\u4E8E\u60A8\u5982\u4F55\u8BBF\u95EE\u94B1\u5305\uFF1A\u5982\u679C\u4F7F\u7528 VeWorld\uFF0C\u5907\u4EFD\u9009\u9879\u5728\u5E94\u7528\u5185\u53EF\u7528\u3002\u5BF9\u4E8E\u793E\u4EA4\u767B\u5F55\u7528\u6237\uFF0C\u60A8\u53EF\u4EE5\u5728\u94B1\u5305\u90E8\u5206\u627E\u5230\u5907\u4EFD\u9009\u9879\u3002\u5982\u679C\u901A\u8FC7 VeChain \u6216\u5176\u4ED6\u751F\u6001\u7CFB\u7EDF\u5E94\u7528\u8FDE\u63A5\uFF0C\u60A8\u9700\u8981\u8BBF\u95EE\u539F\u59CB\u7F51\u7AD9\uFF0C\u767B\u5F55\u5E76\u4ECE\u90A3\u91CC\u8BBF\u95EE\u94B1\u5305\u90E8\u5206\u3002",
11611
11839
  "Backup can be done only in the app securing your wallet.": "\u5907\u4EFD\u53EA\u80FD\u5728\u4FDD\u62A4\u60A8\u94B1\u5305\u7684\u5E94\u7528\u4E2D\u5B8C\u6210\u3002",
11612
11840
  "Backup your wallet": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305",
11841
+ "Backup your wallet, configure MFA and set recovery options": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305\uFF0C\u914D\u7F6E\u591A\u56E0\u7D20\u8EAB\u4EFD\u9A8C\u8BC1\u5E76\u8BBE\u7F6E\u6062\u590D\u9009\u9879",
11613
11842
  Balance: "\u4F59\u989D",
11614
11843
  "Balance:": "\u4F59\u989D\uFF1A",
11615
11844
  "Benefits of this upgrade:": "\u6B64\u5347\u7EA7\u7684\u597D\u5904\uFF1A",
@@ -11722,6 +11951,7 @@ var zh_default = {
11722
11951
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "\u8D39\u7528\u59D4\u6258\u662F\u552F\u94FE\uFF08VeChain\uFF09\u7684\u4E00\u4E2A\u72EC\u7279\u529F\u80FD\uFF0C\u5B83\u5141\u8BB8\u5176\u4ED6\u4EBA\uFF08\u5373\u59D4\u6258\u8005\uFF09\u4E3A\u60A8\u7684\u4EA4\u6613\u8D39\u7528\u4E70\u5355\u3002\u867D\u7136\u8BB8\u591AdApp\u548C\u670D\u52A1\u63D0\u4F9B\u5546\u5145\u5F53\u59D4\u6258\u8005\u4EE5\u65B9\u4FBF\u65B0\u7528\u6237\u4E0A\u624B\uFF0C\u4F46\u67D0\u4E9B\u4EA4\u6613\u53EF\u80FD\u4ECD\u9700\u8981\u60A8\u4F7F\u7528\u81EA\u5DF1\u7684VTHO\u652F\u4ED8\u8D39\u7528\u3002\u8D39\u7528\u662F\u9632\u6B62\u7F51\u7EDC\u5783\u573E\u53CA\u8865\u507F\u5904\u7406\u548C\u9A8C\u8BC1\u533A\u5757\u94FE\u4EA4\u6613\u7684\u8282\u70B9\u6240\u5FC5\u9700\u7684\u3002\u5728\u60A8\u81EA\u5DF1\u652F\u4ED8\u8D39\u7528\u65F6\uFF0C\u60A8\u53EF\u4EE5\u4ECE\u8D44\u4EA7\u4E2D\u9009\u62E9VTHO\u6765\u8986\u76D6\u4EA4\u6613\u6210\u672C\u3002",
11723
11952
  "Finally say goodbye to 0x addresses": "\u6700\u7EC8\u544A\u522B0x\u5730\u5740",
11724
11953
  "For developers": "\u4E3A\u5F00\u53D1\u8005",
11954
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u60A8\u53EA\u80FD\u5728 {{appName}} \u5E73\u53F0\u4E0A\u7BA1\u7406\u5D4C\u5165\u5F0F\u94B1\u5305\u8BBE\u7F6E\u3002",
11725
11955
  "Frequently asked questions": "\u5E38\u89C1\u95EE\u9898\u89E3\u7B54",
11726
11956
  From: "\u81EA",
11727
11957
  Github: "Github",
@@ -11780,9 +12010,11 @@ var zh_default = {
11780
12010
  "Manage Recovery": "\u7BA1\u7406\u6062\u590D",
11781
12011
  "Manage multi-factor authentication settings for your wallet.": "\u7BA1\u7406\u60A8\u94B1\u5305\u7684\u591A\u56E0\u7D20\u8BA4\u8BC1\u8BBE\u7F6E\u3002",
11782
12012
  "Manage on VeBetterDAO": "\u5728VeBetterDAO\u4E0A\u7BA1\u7406",
12013
+ "Manage on {{appName}}": "\u5728 {{appName}} \u4E0A\u7BA1\u7406",
11783
12014
  "Manage passkey login": "\u7BA1\u7406\u5BC6\u7801\u767B\u5F55",
11784
12015
  "Manage your embedded wallet security settings or back it up to a new device.": "\u7BA1\u7406\u60A8\u7684\u5D4C\u5165\u94B1\u5305\u5B89\u5168\u8BBE\u7F6E\u6216\u5C06\u5176\u5907\u4EFD\u5230\u65B0\u8BBE\u5907\u3002",
11785
12016
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "\u7BA1\u7406\u60A8\u7684\u5D4C\u5165\u5F0F\u94B1\u5305\u7684\u5B89\u5168\u8BBE\u7F6E\uFF1A\u5904\u7406\u60A8\u7684\u767B\u5F55\u65B9\u6CD5\uFF0C\u6DFB\u52A0\u5BC6\u7801\u94A5\u5319\u6216\u5907\u4EFD\u60A8\u7684\u94B1\u5305\uFF0C\u4EE5\u514D\u5931\u53BB\u5BF9\u8D44\u4EA7\u7684\u8BBF\u95EE\u3002",
12017
+ "Manage your login methods and passkeys": "\u7BA1\u7406\u60A8\u7684\u767B\u5F55\u65B9\u5F0F\u548C\u901A\u884C\u5BC6\u94A5",
11786
12018
  "Mobile browser may block the login window.": "\u79FB\u52A8\u6D4F\u89C8\u5668\u53EF\u80FD\u4F1A\u963B\u6B62\u767B\u5F55\u7A97\u53E3\u3002",
11787
12019
  More: "\u66F4\u591A",
11788
12020
  "Multiclause Transaction temporary disabled": "\u591A\u6761\u6B3E\u4EA4\u6613\u6682\u65F6\u7981\u7528",
@@ -11859,6 +12091,8 @@ var zh_default = {
11859
12091
  "Search dApps": "\u641C\u7D22 dApps",
11860
12092
  "Search for a domain": "\u641C\u7D22\u57DF\u540D",
11861
12093
  "Secured by": "\u5B89\u5168\u4FDD\u969C",
12094
+ "Security preferences": "\u5B89\u5168\u504F\u597D",
12095
+ "Security settings": "\u5B89\u5168\u8BBE\u7F6E",
11862
12096
  "Select Additional Login Method": "\u9009\u62E9\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
11863
12097
  "Select Token": "\u9009\u62E9\u4EE3\u5E01",
11864
12098
  "Select an app": "\u9009\u62E9\u4E00\u4E2A\u5E94\u7528",
@@ -12092,6 +12326,7 @@ var ja_default = {
12092
12326
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306F\u975E\u5E38\u306B\u91CD\u8981\u3067\u3059\u3002\u306A\u305C\u306A\u3089\u3001\u3042\u306A\u305F\u3060\u3051\u304C\u79D8\u5BC6\u9375\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u304B\u3089\u3067\u3059\u3002\u4F55\u304B\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u5834\u5408\u3001\u79D8\u5BC6\u9375\u3092\u6301\u3063\u3066\u3044\u308B\u3053\u3068\u304C\u8CC7\u7523\u3092\u56DE\u5FA9\u3059\u308B\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u65B9\u6CD5\u306F\u30A6\u30A9\u30EC\u30C3\u30C8\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u306B\u3088\u308A\u307E\u3059\uFF1AVeWorld\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30A2\u30D7\u30EA\u5185\u3067\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u30BD\u30FC\u30B7\u30E3\u30EB\u30ED\u30B0\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC\u306E\u5834\u5408\u3001\u30A6\u30A9\u30EC\u30C3\u30C8\u30BB\u30AF\u30B7\u30E7\u30F3\u3067\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002VeChain\u307E\u305F\u306F\u5225\u306E\u30A8\u30B3\u30B7\u30B9\u30C6\u30E0\u30A2\u30D7\u30EA\u3092\u901A\u3058\u3066\u63A5\u7D9A\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u5143\u306EWeb\u30B5\u30A4\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3001\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u30A6\u30A9\u30EC\u30C3\u30C8\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",
12093
12327
  "Backup can be done only in the app securing your wallet.": "\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306F\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4FDD\u8B77\u3057\u3066\u3044\u308B\u30A2\u30D7\u30EA\u3067\u306E\u307F\u884C\u3048\u307E\u3059\u3002",
12094
12328
  "Backup your wallet": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3059\u308B",
12329
+ "Backup your wallet, configure MFA and set recovery options": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u3001MFA\u3092\u8A2D\u5B9A\u3057\u3001\u56DE\u5FA9\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
12095
12330
  Balance: "\u6B8B\u9AD8",
12096
12331
  "Balance:": "\u6B8B\u9AD8\uFF1A",
12097
12332
  "Benefits of this upgrade:": "\u3053\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u306E\u5229\u70B9\uFF1A",
@@ -12204,6 +12439,7 @@ var ja_default = {
12204
12439
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "\u624B\u6570\u6599\u30C7\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u306F\u3001VeChain\u306E\u30E6\u30CB\u30FC\u30AF\u306A\u6A5F\u80FD\u3067\u3042\u308A\u3001\u4ED6\u306E\u8AB0\u304B\uFF08\u30C7\u30EA\u30B2\u30FC\u30BF\u30FC\uFF09\u304C\u3042\u306A\u305F\u306E\u53D6\u5F15\u624B\u6570\u6599\u3092\u652F\u6255\u3046\u3053\u3068\u3092\u53EF\u80FD\u306B\u3057\u307E\u3059\u3002\u591A\u304F\u306EdApps\u304A\u3088\u3073\u30B5\u30FC\u30D3\u30B9\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u304C\u30C7\u30EA\u30B2\u30FC\u30BF\u30FC\u3068\u3057\u3066\u6A5F\u80FD\u3057\u3001\u65B0\u898F\u30E6\u30FC\u30B6\u30FC\u304C\u958B\u59CB\u3057\u3084\u3059\u304F\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u4E00\u90E8\u306E\u53D6\u5F15\u3067\u306F\u4F9D\u7136\u3068\u3057\u3066\u72EC\u81EA\u306EVTHO\u3092\u4F7F\u7528\u3057\u3066\u624B\u6570\u6599\u3092\u652F\u6255\u3046\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u624B\u6570\u6599\u306F\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30B9\u30D1\u30E0\u3092\u9632\u304E\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u4E0A\u306E\u53D6\u5F15\u3092\u51E6\u7406\u304A\u3088\u3073\u691C\u8A3C\u3059\u308B\u30CE\u30FC\u30C9\u306B\u5831\u916C\u3092\u4E0E\u3048\u308B\u305F\u3081\u306B\u5FC5\u8981\u3067\u3059\u3002\u624B\u6570\u6599\u3092\u81EA\u5206\u3067\u652F\u6255\u3046\u5834\u5408\u306F\u3001\u8CC7\u7523\u304B\u3089VTHO\u3092\u9078\u629E\u3057\u3066\u53D6\u5F15\u30B3\u30B9\u30C8\u3092\u30AB\u30D0\u30FC\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
12205
12440
  "Finally say goodbye to 0x addresses": "\u3064\u3044\u306B0x\u30A2\u30C9\u30EC\u30B9\u306B\u304A\u5225\u308C\u3092\u8A00\u3044\u307E\u3057\u3087\u3046",
12206
12441
  "For developers": "\u958B\u767A\u8005\u5411\u3051",
12442
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4E0A\u306E\u7406\u7531\u304B\u3089\u3001\u57CB\u3081\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u8A2D\u5B9A\u306F{{appName}}\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306E\u307F\u7BA1\u7406\u3067\u304D\u307E\u3059\u3002",
12207
12443
  "Frequently asked questions": "\u3088\u304F\u3042\u308B\u8CEA\u554F",
12208
12444
  From: "\u9001\u4FE1\u5143",
12209
12445
  Github: "\u30AE\u30C3\u30C8\u30CF\u30D6",
@@ -12262,9 +12498,11 @@ var ja_default = {
12262
12498
  "Manage Recovery": "\u30EA\u30AB\u30D0\u30EA\u30FC\u306E\u7BA1\u7406",
12263
12499
  "Manage multi-factor authentication settings for your wallet.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u591A\u8981\u7D20\u8A8D\u8A3C\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u3002",
12264
12500
  "Manage on VeBetterDAO": "VeBetterDAO\u3067\u7BA1\u7406",
12501
+ "Manage on {{appName}}": "{{appName}}\u3067\u7BA1\u7406\u3059\u308B",
12265
12502
  "Manage passkey login": "\u30D1\u30B9\u30AD\u30FC\u306E\u30ED\u30B0\u30A4\u30F3\u3092\u7BA1\u7406",
12266
12503
  "Manage your embedded wallet security settings or back it up to a new device.": "\u7D44\u307F\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3057\u305F\u308A\u3001\u65B0\u3057\u3044\u30C7\u30D0\u30A4\u30B9\u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u305F\u308A\u3057\u307E\u3059\u3002",
12267
12504
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "\u57CB\u3081\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3057\u307E\u3059: \u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3092\u51E6\u7406\u3057\u305F\u308A\u3001\u30D1\u30B9\u30AD\u30FC\u3092\u8FFD\u52A0\u3057\u305F\u308A\u3001\u8CC7\u7523\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u5931\u308F\u306A\u3044\u3088\u3046\u306B\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u305F\u308A\u3057\u307E\u3059\u3002",
12505
+ "Manage your login methods and passkeys": "\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3068\u30D1\u30B9\u30AD\u30FC\u3092\u7BA1\u7406\u3059\u308B",
12268
12506
  "Mobile browser may block the login window.": "\u30E2\u30D0\u30A4\u30EB\u30D6\u30E9\u30A6\u30B6\u306F\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30D6\u30ED\u30C3\u30AF\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",
12269
12507
  More: "\u3082\u3063\u3068\u898B\u308B",
12270
12508
  "Multiclause Transaction temporary disabled": "\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u4E00\u6642\u7684\u306B\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002",
@@ -12341,6 +12579,8 @@ var ja_default = {
12341
12579
  "Search dApps": "dApps\u3092\u691C\u7D22",
12342
12580
  "Search for a domain": "\u30C9\u30E1\u30A4\u30F3\u3092\u691C\u7D22",
12343
12581
  "Secured by": "\u306B\u3088\u3063\u3066\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4FDD\u8B77\u3055\u308C\u3066\u3044\u307E\u3059",
12582
+ "Security preferences": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A",
12583
+ "Security settings": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A",
12344
12584
  "Select Additional Login Method": "\u8FFD\u52A0\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3092\u9078\u629E",
12345
12585
  "Select Token": "\u30C8\u30FC\u30AF\u30F3\u3092\u9078\u629E",
12346
12586
  "Select an app": "\u30A2\u30D7\u30EA\u3092\u9078\u629E",
@@ -12664,7 +12904,7 @@ var CustomizationContent = ({
12664
12904
  setCurrentContent
12665
12905
  }) => {
12666
12906
  const { t } = useTranslation();
12667
- const { network, darkMode: isDark } = useVeChainKitConfig();
12907
+ const { network } = useVeChainKitConfig();
12668
12908
  const { account } = useWallet();
12669
12909
  const fileInputRef = useRef(null);
12670
12910
  const coverInputRef = useRef(null);
@@ -12706,20 +12946,22 @@ var CustomizationContent = ({
12706
12946
  setInitialEmail(metadata.email || "");
12707
12947
  setInitialWebsite(metadata.url || "");
12708
12948
  setInitialAvatarHash(
12709
- metadata.avatar ? metadata.avatar.replace("ipfs://", "") : null
12710
- );
12711
- setPreviewImageUrl(
12712
- convertUriToUrl(metadata.avatar ?? "", network.type) || null
12949
+ account.image ? account.image.replace("ipfs://", "") : null
12713
12950
  );
12951
+ setPreviewImageUrl((prev) => prev ?? account.image ?? null);
12714
12952
  }
12715
- }, [account?.metadata, network.type]);
12953
+ }, [account, network.type]);
12716
12954
  const formValues = watch();
12717
12955
  const handleImageUpload = async (event) => {
12718
12956
  const file = event.target.files?.[0];
12719
12957
  if (!file) return;
12720
12958
  try {
12721
12959
  setIsUploading(true);
12722
- setPreviewImageUrl(URL.createObjectURL(file));
12960
+ if (previewImageUrl) {
12961
+ URL.revokeObjectURL(previewImageUrl);
12962
+ }
12963
+ const newPreviewUrl = URL.createObjectURL(file);
12964
+ setPreviewImageUrl(newPreviewUrl);
12723
12965
  const uploadedImage = await onUpload(file);
12724
12966
  if (!uploadedImage) throw new Error("Failed to compress image");
12725
12967
  const ipfsHash = await uploadBlobToIPFS(
@@ -12780,9 +13022,7 @@ var CustomizationContent = ({
12780
13022
  /* @__PURE__ */ jsxs(
12781
13023
  Card,
12782
13024
  {
12783
- bg: isDark ? "#1e1e21" : "#00000005",
12784
- borderRadius: "xl",
12785
- width: "full",
13025
+ variant: "vechainKitBase",
12786
13026
  position: "relative",
12787
13027
  overflow: "visible",
12788
13028
  children: [
@@ -12819,7 +13059,7 @@ var CustomizationContent = ({
12819
13059
  width: "100px",
12820
13060
  height: "100px",
12821
13061
  boxShadow: "0px 0px 3px 2px #00000024",
12822
- src: previewImageUrl || void 0
13062
+ src: previewImageUrl ?? void 0
12823
13063
  }
12824
13064
  }
12825
13065
  ),
@@ -13114,7 +13354,8 @@ var CustomizationSummaryContent = ({
13114
13354
  const { darkMode: isDark } = useVeChainKitConfig();
13115
13355
  const { account, connectedWallet } = useWallet();
13116
13356
  const { refresh: refreshMetadata } = useRefreshMetadata(
13117
- account?.domain ?? ""
13357
+ account?.domain ?? "",
13358
+ account?.address ?? ""
13118
13359
  );
13119
13360
  const { data: upgradeRequired } = useUpgradeRequired(
13120
13361
  account?.address ?? "",
@@ -13139,6 +13380,7 @@ var CustomizationSummaryContent = ({
13139
13380
  } = useUpdateTextRecord({
13140
13381
  resolverAddress,
13141
13382
  // Pass the pre-fetched resolver address
13383
+ signerAccountAddress: account?.address ?? "",
13142
13384
  onSuccess: async () => {
13143
13385
  refreshMetadata();
13144
13386
  setCurrentContent({
@@ -13270,6 +13512,15 @@ var ProfileContent = ({
13270
13512
  onEditClick: () => setCurrentContent("account-customization"),
13271
13513
  address: account?.address ?? "",
13272
13514
  showHeader: false,
13515
+ style: {
13516
+ card: {
13517
+ bg: "transparent",
13518
+ px: 0
13519
+ },
13520
+ footer: {
13521
+ px: 0
13522
+ }
13523
+ },
13273
13524
  onLogout: () => {
13274
13525
  setCurrentContent?.({
13275
13526
  type: "disconnect-confirm",
@@ -13729,7 +13980,7 @@ var ManageCustomTokenContent = ({
13729
13980
  /* @__PURE__ */ jsx(ModalFooter, { children: /* @__PURE__ */ jsx(
13730
13981
  Button,
13731
13982
  {
13732
- variant: "vechainKitSecondary",
13983
+ variant: "vechainKitPrimary",
13733
13984
  isDisabled: !isValid,
13734
13985
  onClick: handleSubmit(onSubmit),
13735
13986
  children: t("Add Token")
@@ -13747,16 +13998,7 @@ var BridgeContent = ({ setCurrentContent }) => {
13747
13998
  /* @__PURE__ */ jsx(ModalCloseButton, {})
13748
13999
  ] }),
13749
14000
  /* @__PURE__ */ jsx(Container, { maxW: "container.lg", children: /* @__PURE__ */ jsx(ModalBody, { children: /* @__PURE__ */ jsxs(VStack, { spacing: 6, align: "center", w: "full", children: [
13750
- /* @__PURE__ */ jsx(
13751
- Image,
13752
- {
13753
- src: isDark ? "https://static.vechain.energy/logo-dark.svg" : "https://static.vechain.energy/logo-light.svg",
13754
- alt: "bridge token",
13755
- w: "200px",
13756
- h: "200px",
13757
- borderRadius: "xl"
13758
- }
13759
- ),
14001
+ /* @__PURE__ */ jsx(VechainEnergy, { isDark, borderRadius: "xl" }),
13760
14002
  /* @__PURE__ */ jsx(Text, { fontSize: "sm", textAlign: "center", children: t(
13761
14003
  "Exchange your digital assets between VeChain and other blockchain networks easily and securely. Swaps are executed through partners that leverage both decentralized and centralized exchanges to convert tokens."
13762
14004
  ) })
@@ -13797,8 +14039,7 @@ var ConnectionDetailsContent = ({ onGoBack }) => {
13797
14039
  /* @__PURE__ */ jsxs(ModalBody, { w: "full", children: [
13798
14040
  connection.isConnectedWithCrossApp && connectionCache && /* @__PURE__ */ jsx(CrossAppConnectionCard, { connectionCache }),
13799
14041
  connection.isConnectedWithSocialLogin && /* @__PURE__ */ jsx(PrivyConnectionCard, {}),
13800
- connection.isConnectedWithDappKit && /* @__PURE__ */ jsx(DappKitConnectionCard, {}),
13801
- connection.isConnectedWithPrivy && /* @__PURE__ */ jsx(WalletSecuredBy, {})
14042
+ connection.isConnectedWithDappKit && /* @__PURE__ */ jsx(DappKitConnectionCard, {})
13802
14043
  ] }),
13803
14044
  /* @__PURE__ */ jsx(ModalFooter, { pt: 0 })
13804
14045
  ] });
@@ -15039,7 +15280,7 @@ var TransactionModalContent = ({
15039
15280
  {
15040
15281
  fontSize: status === "ready" ? "md" : "sm",
15041
15282
  textAlign: "center",
15042
- color: status === "error" ? "red" : "inherit",
15283
+ color: status === "error" ? "red.500" : "inherit",
15043
15284
  mt: 5,
15044
15285
  style: {
15045
15286
  lineBreak: "anywhere"
@@ -15480,17 +15721,22 @@ var ConnectPopover = ({
15480
15721
  };
15481
15722
  var WalletDisplay = ({ variant }) => {
15482
15723
  const { account } = useWallet();
15724
+ const [isSmallMobile] = useMediaQuery("(max-width: 480px)");
15483
15725
  if (!account) return /* @__PURE__ */ jsx(Spinner, {});
15484
15726
  if (variant === "icon") {
15485
15727
  return null;
15486
15728
  }
15729
+ const isLongDomain = account?.domain && account?.domain?.length > 18;
15730
+ const accountDomain = useMemo(() => {
15731
+ return isSmallMobile && isLongDomain ? humanDomain(account?.domain ?? "", 18, 0) : account?.domain;
15732
+ }, [isSmallMobile, account.domain]);
15487
15733
  if (variant === "iconAndDomain") {
15488
- return account.domain ? /* @__PURE__ */ jsx(Text, { fontSize: "sm", children: account.domain }) : /* @__PURE__ */ jsx(Text, { fontSize: "sm", children: humanAddress(account.address ?? "", 4, 4) });
15734
+ return account.domain ? /* @__PURE__ */ jsx(Text, { fontSize: "sm", children: accountDomain }) : /* @__PURE__ */ jsx(Text, { fontSize: "sm", children: humanAddress(account.address ?? "", 6, 4) });
15489
15735
  }
15490
15736
  if (variant === "iconDomainAndAssets") {
15491
- return /* @__PURE__ */ jsxs(HStack, { spacing: 2, children: [
15737
+ return /* @__PURE__ */ jsxs(HStack, { spacing: 4, children: [
15492
15738
  /* @__PURE__ */ jsxs(VStack, { spacing: 0, alignItems: "flex-start", children: [
15493
- account.domain && /* @__PURE__ */ jsx(Text, { fontSize: "sm", fontWeight: "bold", children: account.domain }),
15739
+ account.domain && /* @__PURE__ */ jsx(Text, { fontSize: "sm", fontWeight: "bold", children: accountDomain }),
15494
15740
  /* @__PURE__ */ jsx(
15495
15741
  Text,
15496
15742
  {
@@ -15500,18 +15746,11 @@ var WalletDisplay = ({ variant }) => {
15500
15746
  }
15501
15747
  )
15502
15748
  ] }),
15503
- /* @__PURE__ */ jsx(
15504
- AssetIcons,
15505
- {
15506
- ml: 2,
15507
- address: account.address ?? "",
15508
- maxIcons: 3
15509
- }
15510
- )
15749
+ /* @__PURE__ */ jsx(AssetIcons, { address: account.address ?? "", maxIcons: 3 })
15511
15750
  ] });
15512
15751
  }
15513
15752
  return /* @__PURE__ */ jsxs(VStack, { spacing: 0, alignItems: "flex-start", children: [
15514
- account.domain && /* @__PURE__ */ jsx(Text, { fontSize: "sm", fontWeight: "bold", children: account.domain }),
15753
+ account.domain && /* @__PURE__ */ jsx(Text, { fontSize: "sm", fontWeight: "bold", children: accountDomain }),
15515
15754
  /* @__PURE__ */ jsx(
15516
15755
  Text,
15517
15756
  {
@@ -15530,17 +15769,36 @@ var ConnectedWallet = ({
15530
15769
  }) => {
15531
15770
  const { account } = useWallet();
15532
15771
  const [isDesktop] = useMediaQuery("(min-width: 768px)");
15533
- return /* @__PURE__ */ jsx(Button, { ...buttonStyle, onClick: onOpen, p: "0px 13px", minH: "45px", children: /* @__PURE__ */ jsxs(HStack, { children: [
15534
- /* @__PURE__ */ jsx(
15535
- AccountAvatar,
15536
- {
15537
- wallet: account,
15538
- props: { width: 30, height: 30 }
15539
- }
15540
- ),
15541
- !isDesktop && /* @__PURE__ */ jsx(WalletDisplay, { variant: mobileVariant }),
15542
- isDesktop && /* @__PURE__ */ jsx(WalletDisplay, { variant: desktopVariant })
15543
- ] }) });
15772
+ return /* @__PURE__ */ jsx(
15773
+ Button,
15774
+ {
15775
+ ...buttonStyle,
15776
+ onClick: onOpen,
15777
+ w: "full",
15778
+ minH: "45px",
15779
+ maxW: "fit-content",
15780
+ children: /* @__PURE__ */ jsxs(HStack, { w: "full", minW: "fit-content", children: [
15781
+ /* @__PURE__ */ jsx(
15782
+ AccountAvatar,
15783
+ {
15784
+ wallet: account,
15785
+ props: {
15786
+ width: 30,
15787
+ height: 30,
15788
+ minWidth: 30,
15789
+ minHeight: 30
15790
+ }
15791
+ }
15792
+ ),
15793
+ /* @__PURE__ */ jsx(
15794
+ WalletDisplay,
15795
+ {
15796
+ variant: isDesktop ? desktopVariant : mobileVariant
15797
+ }
15798
+ )
15799
+ ] })
15800
+ }
15801
+ );
15544
15802
  };
15545
15803
  var WalletButton = ({
15546
15804
  mobileVariant = "iconAndDomain",
@@ -15698,7 +15956,7 @@ var TransactionToastContent = ({
15698
15956
  Icon,
15699
15957
  {
15700
15958
  as: MdOutlineErrorOutline,
15701
- color: "red",
15959
+ color: "red.500",
15702
15960
  fontSize: "40px"
15703
15961
  }
15704
15962
  ),
@@ -15973,7 +16231,8 @@ var EcosystemContent = ({ onClose, appsInfo, isLoading }) => {
15973
16231
  setConnectionCache({
15974
16232
  name: appName,
15975
16233
  logoUrl: appsInfo.find((app) => app.id === appId)?.logo_url,
15976
- appId
16234
+ appId,
16235
+ website: appsInfo.find((app) => app.id === appId)?.website
15977
16236
  });
15978
16237
  onClose();
15979
16238
  } catch (error) {
@@ -16113,72 +16372,67 @@ var ProfileCard = ({
16113
16372
  showLinks = true,
16114
16373
  showDescription = true,
16115
16374
  showDisplayName = true,
16116
- showEdit = true
16375
+ showEdit = true,
16376
+ style
16117
16377
  }) => {
16118
16378
  const { t } = useTranslation();
16119
- const { darkMode: isDark, network } = useVeChainKitConfig();
16120
16379
  const { account } = useWallet();
16121
16380
  const activeAccountDomain = useVechainDomain(address);
16122
- const activeAccountAvatar = useGetAvatar(activeAccountDomain?.data?.domain);
16381
+ const activeAccountAvatar = useGetAvatarOfAddress(address);
16123
16382
  const activeAccountTextRecords = useGetTextRecords(
16124
16383
  activeAccountDomain?.data?.domain
16125
16384
  );
16126
- const baseBackgroundColor = isDark ? "#1e1e21" : "#00000005";
16127
16385
  const headerImageSvg = getPicassoImage(address);
16128
16386
  const isConnectedAccount = address === account?.address;
16129
16387
  const hasLinks = activeAccountTextRecords?.data?.url || activeAccountTextRecords?.data?.["com.x"] || activeAccountTextRecords?.data?.email;
16130
- return /* @__PURE__ */ jsxs(
16131
- Card,
16132
- {
16133
- bg: baseBackgroundColor,
16134
- borderRadius: "xl",
16135
- width: "full",
16136
- position: "relative",
16137
- overflow: "visible",
16138
- children: [
16139
- /* @__PURE__ */ jsx(
16140
- Box,
16141
- {
16142
- p: 0,
16143
- backgroundSize: "100% !important",
16144
- backgroundPosition: "center",
16145
- position: "relative",
16146
- h: "80px",
16147
- background: showHeader ? `no-repeat url('${headerImageSvg}')` : "none",
16148
- w: "100%",
16149
- borderRadius: "14px 14px 0 0"
16150
- }
16151
- ),
16152
- /* @__PURE__ */ jsx(
16153
- Box,
16388
+ return /* @__PURE__ */ jsxs(Card, { variant: "vechainKitBase", ...style?.card, children: [
16389
+ /* @__PURE__ */ jsx(
16390
+ Box,
16391
+ {
16392
+ p: 0,
16393
+ backgroundSize: "100% !important",
16394
+ backgroundPosition: "center",
16395
+ position: "relative",
16396
+ h: "80px",
16397
+ background: showHeader ? `no-repeat url('${headerImageSvg}')` : "none",
16398
+ w: "100%",
16399
+ borderRadius: "14px 14px 0 0"
16400
+ }
16401
+ ),
16402
+ /* @__PURE__ */ jsx(
16403
+ Box,
16404
+ {
16405
+ position: "absolute",
16406
+ top: "30px",
16407
+ left: "50%",
16408
+ transform: "translateX(-50%)",
16409
+ children: /* @__PURE__ */ jsx(
16410
+ AccountAvatar,
16154
16411
  {
16155
- position: "absolute",
16156
- top: "30px",
16157
- left: "50%",
16158
- transform: "translateX(-50%)",
16159
- children: /* @__PURE__ */ jsx(
16160
- AccountAvatar,
16161
- {
16162
- wallet: {
16163
- address,
16164
- domain: activeAccountDomain?.data?.domain,
16165
- image: convertUriToUrl(
16166
- activeAccountAvatar?.data ?? "",
16167
- network.type
16168
- ) ?? getPicassoImage(address),
16169
- isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16170
- metadata: activeAccountTextRecords?.data
16171
- },
16172
- props: {
16173
- width: "100px",
16174
- height: "100px",
16175
- boxShadow: "0px 0px 3px 2px #00000024"
16176
- }
16177
- }
16178
- )
16412
+ wallet: {
16413
+ address,
16414
+ domain: activeAccountDomain?.data?.domain,
16415
+ image: activeAccountAvatar.data,
16416
+ isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16417
+ metadata: activeAccountTextRecords?.data
16418
+ },
16419
+ props: {
16420
+ width: "100px",
16421
+ height: "100px"
16422
+ // boxShadow: '0px 0px 3px 2px #00000024',
16423
+ }
16179
16424
  }
16180
- ),
16181
- /* @__PURE__ */ jsx(CardBody, { mt: 10, backgroundColor: "none", border: "none", children: /* @__PURE__ */ jsxs(VStack, { w: "full", spacing: 2, children: [
16425
+ )
16426
+ }
16427
+ ),
16428
+ /* @__PURE__ */ jsx(
16429
+ CardBody,
16430
+ {
16431
+ mt: 10,
16432
+ backgroundColor: "none",
16433
+ border: "none",
16434
+ ...style?.body,
16435
+ children: /* @__PURE__ */ jsxs(VStack, { w: "full", spacing: 2, children: [
16182
16436
  showDisplayName && activeAccountTextRecords?.data?.display && /* @__PURE__ */ jsx(
16183
16437
  Text,
16184
16438
  {
@@ -16232,51 +16486,48 @@ var ProfileCard = ({
16232
16486
  wallet: {
16233
16487
  address,
16234
16488
  domain: activeAccountDomain?.data?.domain,
16235
- image: convertUriToUrl(
16236
- activeAccountAvatar?.data ?? "",
16237
- network.type
16238
- ) ?? getPicassoImage(address),
16489
+ image: activeAccountAvatar.data,
16239
16490
  isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16240
16491
  metadata: activeAccountTextRecords?.data
16241
16492
  },
16242
16493
  style: { mt: 4 }
16243
16494
  }
16244
16495
  )
16245
- ] }) }),
16246
- isConnectedAccount && showEdit && /* @__PURE__ */ jsx(CardFooter, { justify: "space-between", children: /* @__PURE__ */ jsxs(VStack, { w: "full", justify: "space-between", spacing: 4, children: [
16247
- /* @__PURE__ */ jsx(Divider, {}),
16248
- /* @__PURE__ */ jsxs(HStack, { w: "full", justify: "space-between", children: [
16249
- /* @__PURE__ */ jsx(
16250
- Button,
16251
- {
16252
- size: "md",
16253
- width: "full",
16254
- height: "40px",
16255
- variant: "ghost",
16256
- leftIcon: /* @__PURE__ */ jsx(Icon, { as: FaEdit }),
16257
- onClick: onEditClick ?? (() => {
16258
- }),
16259
- children: t("Customize")
16260
- }
16261
- ),
16262
- /* @__PURE__ */ jsx(
16263
- Button,
16264
- {
16265
- size: "md",
16266
- width: "full",
16267
- height: "40px",
16268
- variant: "ghost",
16269
- leftIcon: /* @__PURE__ */ jsx(Icon, { as: RiLogoutBoxLine }),
16270
- colorScheme: "red",
16271
- onClick: onLogout,
16272
- children: t("Logout")
16273
- }
16274
- )
16275
- ] })
16276
- ] }) })
16277
- ]
16278
- }
16279
- );
16496
+ ] })
16497
+ }
16498
+ ),
16499
+ isConnectedAccount && showEdit && /* @__PURE__ */ jsx(CardFooter, { justify: "space-between", ...style?.footer, children: /* @__PURE__ */ jsxs(VStack, { w: "full", justify: "space-between", spacing: 4, children: [
16500
+ /* @__PURE__ */ jsx(Divider, {}),
16501
+ /* @__PURE__ */ jsxs(HStack, { w: "full", justify: "space-between", children: [
16502
+ /* @__PURE__ */ jsx(
16503
+ Button,
16504
+ {
16505
+ size: "md",
16506
+ width: "full",
16507
+ height: "40px",
16508
+ variant: "ghost",
16509
+ leftIcon: /* @__PURE__ */ jsx(Icon, { as: FaEdit }),
16510
+ onClick: onEditClick ?? (() => {
16511
+ }),
16512
+ children: t("Customize")
16513
+ }
16514
+ ),
16515
+ /* @__PURE__ */ jsx(
16516
+ Button,
16517
+ {
16518
+ size: "md",
16519
+ width: "full",
16520
+ height: "40px",
16521
+ variant: "ghost",
16522
+ leftIcon: /* @__PURE__ */ jsx(Icon, { as: RiLogoutBoxLine }),
16523
+ colorScheme: "red",
16524
+ onClick: onLogout,
16525
+ children: t("Logout")
16526
+ }
16527
+ )
16528
+ ] })
16529
+ ] }) })
16530
+ ] });
16280
16531
  };
16281
16532
  var SuccessfulOperationContent2 = ({
16282
16533
  txId,
@@ -17275,7 +17526,8 @@ var useLoginWithVeChain = () => {
17275
17526
  setConnectionCache({
17276
17527
  name: "VeChain",
17277
17528
  logoUrl: appsInfo?.[VECHAIN_PRIVY_APP_ID]?.logo_url,
17278
- appId: VECHAIN_PRIVY_APP_ID
17529
+ appId: VECHAIN_PRIVY_APP_ID,
17530
+ website: "https://governance.vebetterdao.org"
17279
17531
  });
17280
17532
  } catch (error) {
17281
17533
  throw handlePopupError({
@@ -17767,14 +18019,6 @@ var initializeI18n = (i18nInstance) => {
17767
18019
  }
17768
18020
  });
17769
18021
  };
17770
- var DEFAULT_PRIVY_ECOSYSTEM_APP_IDS = [
17771
- "clz41gcg00e4ay75dmq3uzzgr",
17772
- //cleanify
17773
- "cm153hrup0817axti38avlfyg",
17774
- //greencart
17775
- "clv9sfos20j6x1431ga80d95f"
17776
- //mughsot
17777
- ];
17778
18022
  var VeChainKitContext = createContext(null);
17779
18023
  var useVeChainKitConfig = () => {
17780
18024
  const context = useContext(VeChainKitContext);
@@ -17850,7 +18094,7 @@ var VeChainKitProvider = (props) => {
17850
18094
  const userEcosystemMethods = validatedLoginMethods?.find(
17851
18095
  (method35) => method35.method === "ecosystem"
17852
18096
  );
17853
- return userEcosystemMethods?.allowedApps ?? DEFAULT_PRIVY_ECOSYSTEM_APP_IDS;
18097
+ return userEcosystemMethods?.allowedApps ?? DEFAULT_PRIVY_ECOSYSTEM_APPS.map((app) => app.id);
17854
18098
  }, [validatedLoginMethods]);
17855
18099
  let privyAppId, privyClientId;
17856
18100
  if (!privy) {
@@ -17943,7 +18187,7 @@ var VeChainKitProvider = (props) => {
17943
18187
  "--vdk-modal-width": "22rem",
17944
18188
  "--vdk-modal-backdrop-filter": "blur(3px)",
17945
18189
  "--vdk-border-dark-source-card": `1px solid ${"#ffffff0a"}`,
17946
- "--vdk-border-light-source-card": `1px solid ${"#ebebeb"}`,
18190
+ "--vdk-border-light-source-card": `1px solid ${"#ebebeb"} !important`,
17947
18191
  // Dark mode colors
17948
18192
  "--vdk-color-dark-primary": "transparent",
17949
18193
  "--vdk-color-dark-primary-hover": "rgba(255, 255, 255, 0.05)",
@@ -17986,7 +18230,7 @@ var variants = {
17986
18230
  overflowX: "hidden",
17987
18231
  maxHeight: "550px",
17988
18232
  borderRadius: "24px",
17989
- backgroundColor: props.colorMode === "dark" ? "#18181b" : "white"
18233
+ backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
17990
18234
  },
17991
18235
  closeButton: {
17992
18236
  borderRadius: "50%"
@@ -18012,7 +18256,7 @@ var variants = {
18012
18256
  pointerEvents: "auto",
18013
18257
  boxShadow: "0px 0px 10px 0px rgba(0, 0, 0, 0.1)",
18014
18258
  py: "10px",
18015
- backgroundColor: props.colorMode === "dark" ? "#18181b" : "white"
18259
+ backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
18016
18260
  },
18017
18261
  closeButton: {
18018
18262
  borderRadius: "50%",
@@ -18028,17 +18272,27 @@ var modalTheme = defineMultiStyleConfig({
18028
18272
  variant: "vechainKitBase"
18029
18273
  }
18030
18274
  });
18031
- var { definePartsStyle: definePartsStyle2, defineMultiStyleConfig: defineMultiStyleConfig2 } = createMultiStyleConfigHelpers(modalAnatomy.keys);
18275
+ var { definePartsStyle: definePartsStyle2, defineMultiStyleConfig: defineMultiStyleConfig2 } = createMultiStyleConfigHelpers(cardAnatomy.keys);
18032
18276
  var variants2 = {
18033
18277
  vechainKitBase: (props) => definePartsStyle2({
18278
+ container: {
18279
+ backgroundColor: props.colorMode === "dark" ? "#1c1c1b" : "#f5f5f5",
18280
+ borderRadius: "14px",
18281
+ width: "full",
18282
+ border: "none"
18283
+ },
18034
18284
  body: {
18035
- borderRadius: "12px",
18036
- backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white",
18037
- border: props.colorMode === "dark" ? "1px solid #2d2d2d" : "1px solid #eaeaea",
18038
- p: 5
18285
+ p: 5,
18286
+ width: "full"
18287
+ },
18288
+ header: {
18289
+ p: 5,
18290
+ width: "full",
18291
+ borderRadius: "14px 14px 0 0"
18039
18292
  },
18040
18293
  footer: {
18041
- p: 5
18294
+ width: "full",
18295
+ borderRadius: "0 0 14px 14px"
18042
18296
  }
18043
18297
  }),
18044
18298
  featureAnnouncement: (props) => definePartsStyle2({
@@ -18154,28 +18408,22 @@ var variants3 = {
18154
18408
  },
18155
18409
  transition: "all 0.2s"
18156
18410
  })),
18157
- vechainKitSecondary: defineStyle(() => ({
18411
+ vechainKitSecondary: defineStyle(({ colorMode }) => ({
18158
18412
  fontSize: "md",
18159
18413
  px: 4,
18160
18414
  width: "full",
18161
18415
  height: "60px",
18162
18416
  borderRadius: "xl",
18163
- bg: "transparent",
18164
- border: "1px solid",
18165
- borderColor: "gray.200",
18166
- color: "gray.700",
18417
+ backgroundColor: colorMode === "dark" ? "#ffffff0a" : "blackAlpha.50",
18167
18418
  _hover: {
18168
- bg: "gray.50",
18169
- _disabled: {
18170
- bg: "transparent"
18171
- }
18419
+ backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18172
18420
  },
18421
+ border: "1px solid",
18422
+ borderColor: "gray.200",
18423
+ color: "blackAlpha.900",
18173
18424
  _dark: {
18174
18425
  borderColor: "whiteAlpha.200",
18175
- color: "whiteAlpha.900",
18176
- _hover: {
18177
- bg: "whiteAlpha.50"
18178
- }
18426
+ color: "whiteAlpha.900"
18179
18427
  },
18180
18428
  transition: "all 0.2s"
18181
18429
  })),
@@ -18188,6 +18436,17 @@ var variants3 = {
18188
18436
  _hover: {
18189
18437
  backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18190
18438
  }
18439
+ })),
18440
+ actionButton: defineStyle(({ colorMode }) => ({
18441
+ width: "full",
18442
+ minHeight: "70px",
18443
+ height: "fit-content",
18444
+ backgroundColor: colorMode === "dark" ? "#ffffff0a" : "blackAlpha.50",
18445
+ borderRadius: "xl",
18446
+ _hover: {
18447
+ backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18448
+ },
18449
+ transition: "all 0.2s"
18191
18450
  }))
18192
18451
  };
18193
18452
  var buttonTheme = defineStyleConfig({
@@ -18284,6 +18543,6 @@ var VechainKitThemeProvider = ({
18284
18543
  ] });
18285
18544
  };
18286
18545
 
18287
- export { APP_SECURITY_LEVELS, AccessAndSecurityContent, AccessAndSecurityModalProvider, AccountAvatar, AccountCustomizationModalProvider, AccountDetailsButton, AccountMainContent, AccountModal, AccountModalProvider, AccountSelector, ActionButton, AddressDisplay, AddressDisplayCard, AssetButton, AssetsContent, AssetsSection, BalanceSection, BaseModal, BridgeContent, ChooseNameContent, ChooseNameModalProvider, ChooseNameSearchContent, ChooseNameSummaryContent, ConnectModal, ConnectModalProvider, ConnectPopover, ConnectionButton, CustomizationContent, CustomizationSummaryContent, DappKitButton, DomainRequiredAlert, ENS_TEXT_RECORDS, EcosystemButton, EcosystemModal, EmailLoginButton, EmbeddedWalletContent, ExchangeWarningAlert, ExploreEcosystemModalProvider, FAQContent, FAQModalProvider, FadeInView, FadeInViewFromBottom, FadeInViewFromLeft, FadeInViewFromRight, FeatureAnnouncementCard, LoginLoadingModal, LoginWithGoogleButton, MAX_IMAGE_SIZE, MainContent, ManageCustomTokenContent, ModalBackButton, ModalFAQButton, NFTMediaType, NotificationsModalProvider, PRICE_FEED_IDS, PasskeyLoginButton, PrivyButton, PrivyWalletProvider, ProfileCard, ProfileContent, ProfileModalProvider, QuickActionsSection, ReceiveModalProvider, ReceiveTokenContent, RoundState, ScrollToTopWrapper, SecurityLevel, SelectTokenContent, SendTokenContent, SendTokenModalProvider, SendTokenSummaryContent, SettingsContent, ShareButtons, SocialIcons, StickyFooterContainer, StickyHeaderContainer, SwapTokenContent, TransactionButtonAndStatus, TransactionModal, TransactionModalContent, TransactionModalProvider, TransactionToast, TransactionToastProvider, UpgradeSmartAccountContent, UpgradeSmartAccountModal, UpgradeSmartAccountModalProvider, VeChainKitContext, VeChainKitProvider, VeChainLoginButton, VeChainWithPrivyLoginButton, VePassportUserStatus, VechainKitThemeProvider, VersionFooter, WalletButton, WalletModalProvider, buildClaimRewardsTx, buildClaimRoundReward, compressImages, currentBlockQueryKey, fetchPrivyAppInfo, fetchPrivyStatus, fetchVechainDomain, getAccountAddress, getAccountAddressQueryKey, getAccountBalance, getAccountBalanceQueryKey, getAccountImplementationAddress, getAccountImplementationAddressQueryKey, getAccountVersion, getAccountVersionQueryKey, getAllEvents, getAllocationAmount, getAllocationAmountQueryKey, getAllocationsRoundState, getAllocationsRoundStateQueryKey, getAllocationsRoundsEvents, getAllocationsRoundsEventsQueryKey, getAppAdmin, getAppAdminQueryKey, getAppBalance, getAppBalanceQueryKey, getAppExistsQueryKey, getAppSecurityLevelQueryKey, getAppsEligibleInNextRound, getAppsEligibleInNextRoundQueryKey, getAppsShareClauses, getAvatar, getAvatarQueryKey, getB3trBalance, getB3trBalanceQueryKey, getB3trDonatedQueryKey, getB3trToUpgradeQueryKey, getBalanceOf, getCallKey, getChainId, getChainIdQueryKey, getCurrentAccountImplementationVersion, getCurrentAccountImplementationVersionQueryKey, getCurrentAllocationsRoundId, getCurrentAllocationsRoundIdQueryKey, getCustomTokenBalance, getCustomTokenBalanceQueryKey, getCustomTokenInfo, getDelegateeQueryKey, getDelegatorQueryKey, getDomainsOfAddress, getDomainsOfAddressQueryKey, getEnsRecordExistsQueryKey, getEntitiesLinkedToPassportQueryKey, getEvents, getGMBaseUriQueryKey, getGMLevel, getGMbalanceQueryKey, getGetCumulativeScoreWithDecayQueryKey, getHasV1SmartAccount, getHasV1SmartAccountQueryKey, getHasVotedInRound, getHasVotedInRoundQueryKey, getIpfsImage, getIpfsImageQueryKey, getIpfsMetadata, getIpfsMetadataQueryKey, getIsBlacklistedQueryKey, getIsDeployed, getIsDeployedQueryKey, getIsDomainProtectedQueryKey, getIsEntityQueryKey, getIsNodeHolder, getIsNodeHolderQueryKey, getIsPassportQueryKey, getIsPersonAtTimepointQueryKey, getIsPersonQueryKey, getIsWhitelistedQueryKey, getLevelGradient, getLevelMultiplierQueryKey, getLevelOfTokenQueryKey, getNFTMetadataUri, getNFTMetadataUriQueryKey, getNodeCheckCooldownQueryKey, getNodeManagerQueryKey, getParticipatedInGovernance, getParticipatedInGovernanceQueryKey, getParticipationScoreThresholdQueryKey, getPassportForEntityQueryKey, getPassportToggleQueryKey, getPendingDelegationsQueryKeyDelegateePOV, getPendingDelegationsQueryKeyDelegatorPOV, getPendingLinkingsQueryKey, getPrivyAppInfoQueryKey, getResolverAddress, getResolverAddressQueryKey, getRoundReward, getRoundRewardQueryKey, getRoundXApps, getRoundXAppsQueryKey, getSecurityMultiplierQueryKey, getSmartAccount, getSmartAccountQueryKey, getTextRecords, getTextRecordsQueryKey, getThresholdParticipationScoreAtTimepointQueryKey, getThresholdParticipationScoreQueryKey, getTokenIdByAccount, getTokenIdByAccountQueryKey, getTokenInfo, getTokenUsdPrice, getTokenUsdPriceQueryKey, getTokensInfoByOwnerQueryKey, getUpgradeRequired, getUpgradeRequiredForAccount, getUpgradeRequiredForAccountQueryKey, getUpgradeRequiredQueryKey, getUserBotSignalsQueryKey, getUserNodesQueryKey, getUserRoundScoreQueryKey, getUserVotesInRound, getUserVotesInRoundQueryKey, getUserXNodes, getUserXNodesQueryKey, getVeDelegateBalance, getVeDelegateBalanceQueryKey, getVechainDomainQueryKey, getVersion, getVersionQueryKey, getVot3Balance, getVot3BalanceQueryKey, getVotesInRoundQueryKey, getXAppMetadata, getXAppMetadataQueryKey, getXAppRoundEarnings, getXAppRoundEarningsQueryKey, getXAppTotalEarningsClauses, getXAppTotalEarningsQueryKey, getXAppVotes, getXAppVotesQf, getXAppVotesQfQueryKey, getXAppVotesQueryKey, getXApps, getXAppsMetadataBaseUri, getXAppsMetadataBaseUriQueryKey, getXAppsQueryKey, getXAppsSharesQueryKey, imageCompressionOptions, pollForReceipt, useAccessAndSecurityModal, useAccountBalance, useAccountCustomizationModal, useAccountImplementationAddress, useAccountLinking, useAccountModal, useAllocationAmount, useAllocationsRound, useAllocationsRoundState, useAllocationsRoundsEvents, useAppAdmin, useAppBalance, useAppExists, useAppSecurityLevel, useAppsEligibleInNextRound, useB3trDonated, useB3trToUpgrade, useBalances, useCall, useChooseNameModal, useClaimVeWorldSubdomain, useConnectModal, useCrossAppConnectionCache, useCurrentAccountImplementationVersion, useCurrentAllocationsRound, useCurrentAllocationsRoundId, useCurrentBlock, useEcosystemShortcuts, useEnsRecordExists, useExploreEcosystemModal, useFAQModal, useFeatureAnnouncement, useFetchAppInfo, useFetchPrivyStatus, useGMBaseUri, useGMbalance, useGetAccountAddress, useGetAccountVersion, useGetAvatar, useGetB3trBalance, useGetChainId, useGetCumulativeScoreWithDecay, useGetCustomTokenBalances, useGetCustomTokenInfo, useGetDelegatee, useGetDelegator, useGetDomainsOfAddress, useGetEntitiesLinkedToPassport, useGetNodeManager, useGetNodeUrl, useGetPassportForEntity, useGetPendingDelegationsDelegateePOV, useGetPendingDelegationsDelegatorPOV, useGetPendingLinkings, useGetResolverAddress, useGetTextRecords, useGetTokenUsdPrice, useGetTokensInfoByOwner, useGetUserEntitiesLinkedToPassport, useGetUserNode, useGetUserNodes, useGetUserPassportForEntity, useGetUserPendingLinkings, useGetVeDelegateBalance, useGetVot3Balance, useHasV1SmartAccount, useHasVotedInRound, useIpfsImage, useIpfsImageList, useIpfsMetadata, useIpfsMetadatas, useIsBlacklisted, useIsDomainProtected, useIsEntity, useIsGMclaimable, useIsNodeHolder, useIsPWA, useIsPassport, useIsPassportCheckEnabled, useIsPerson, useIsPersonAtTimepoint, useIsSmartAccountDeployed, useIsUserEntity, useIsUserPassport, useIsUserPerson, useIsWhitelisted, useLevelMultiplier, useLevelOfToken, useLocalStorage, useLoginModalContent, useLoginWithOAuth2 as useLoginWithOAuth, useLoginWithPasskey, useLoginWithVeChain, useMostVotedAppsInRound, useMultipleXAppRoundEarnings, useNFTImage, useNFTMetadataUri, useNotificationAlerts, useNotifications, useNotificationsModal, useParticipatedInGovernance, useParticipationScoreThreshold, usePassportChecks, usePrivyWalletProvider, useProfileModal, useReceiveModal, useRefreshBalances, useRefreshMetadata, useRoundEarnings, useRoundReward, useRoundXApps, useScrollToTop, useSecurityMultiplier, useSelectedGmNft, useSendTokenModal, useSendTransaction, useSignMessage2 as useSignMessage, useSignTypedData2 as useSignTypedData, useSingleImageUpload, useSmartAccount, useSmartAccountVersion, useThresholdParticipationScore, useThresholdParticipationScoreAtTimepoint, useTokenIdByAccount, useTransactionModal, useTransactionToast, useTransferERC20, useTransferVET, useTxReceipt, useUpdateTextRecord, useUpgradeRequired, useUpgradeRequiredForAccount, useUpgradeSmartAccount, useUpgradeSmartAccountModal, useUploadImages, useUserBotSignals, useUserDelegation, useUserRoundScore, useUserStatus, useUserTopVotedApps, useUserVotesInAllRounds, useUserVotesInRound, useVeChainKitConfig, useVechainDomain, useVotesInRound, useVotingRewards, useWallet, useWalletMetadata, useWalletModal2 as useWalletModal, useXApp, useXAppMetadata, useXAppRoundEarnings, useXAppTotalEarnings, useXAppVotes, useXAppVotesQf, useXApps, useXAppsMetadataBaseUri, useXAppsShares, useXNode, useXNodeCheckCooldown, useXNodes };
18546
+ export { APP_SECURITY_LEVELS, AccessAndSecurityContent, AccessAndSecurityModalProvider, AccountAvatar, AccountCustomizationModalProvider, AccountDetailsButton, AccountMainContent, AccountModal, AccountModalProvider, AccountSelector, ActionButton, AddressDisplay, AddressDisplayCard, AssetButton, AssetsContent, AssetsSection, BalanceSection, BaseModal, BridgeContent, ChooseNameContent, ChooseNameModalProvider, ChooseNameSearchContent, ChooseNameSummaryContent, ConnectModal, ConnectModalProvider, ConnectPopover, ConnectionButton, CrossAppConnectionSecurityCard, CustomizationContent, CustomizationSummaryContent, DappKitButton, DomainRequiredAlert, ENS_TEXT_RECORDS, EcosystemButton, EcosystemModal, EmailLoginButton, EmbeddedWalletContent, ExchangeWarningAlert, ExploreEcosystemModalProvider, FAQContent, FAQModalProvider, FadeInView, FadeInViewFromBottom, FadeInViewFromLeft, FadeInViewFromRight, FeatureAnnouncementCard, LoginLoadingModal, LoginWithGoogleButton, MAX_IMAGE_SIZE, MainContent, ManageCustomTokenContent, ModalBackButton, ModalFAQButton, NFTMediaType, NotificationsModalProvider, PRICE_FEED_IDS, PasskeyLoginButton, PrivyButton, PrivyWalletProvider, ProfileCard, ProfileContent, ProfileModalProvider, QuickActionsSection, ReceiveModalProvider, ReceiveTokenContent, RoundState, ScrollToTopWrapper, SecurityLevel, SelectTokenContent, SendTokenContent, SendTokenModalProvider, SendTokenSummaryContent, SettingsContent, ShareButtons, SocialIcons, StickyFooterContainer, StickyHeaderContainer, SwapTokenContent, TransactionButtonAndStatus, TransactionModal, TransactionModalContent, TransactionModalProvider, TransactionToast, TransactionToastProvider, UpgradeSmartAccountContent, UpgradeSmartAccountModal, UpgradeSmartAccountModalProvider, VeChainKitContext, VeChainKitProvider, VeChainLoginButton, VeChainWithPrivyLoginButton, VePassportUserStatus, VechainKitThemeProvider, VersionFooter, WalletButton, WalletModalProvider, buildClaimRewardsTx, buildClaimRoundReward, compressImages, currentBlockQueryKey, fetchPrivyAppInfo, fetchPrivyStatus, fetchVechainDomain, getAccountAddress, getAccountAddressQueryKey, getAccountBalance, getAccountBalanceQueryKey, getAccountImplementationAddress, getAccountImplementationAddressQueryKey, getAccountVersion, getAccountVersionQueryKey, getAllEvents, getAllocationAmount, getAllocationAmountQueryKey, getAllocationsRoundState, getAllocationsRoundStateQueryKey, getAllocationsRoundsEvents, getAllocationsRoundsEventsQueryKey, getAppAdmin, getAppAdminQueryKey, getAppBalance, getAppBalanceQueryKey, getAppExistsQueryKey, getAppSecurityLevelQueryKey, getAppsEligibleInNextRound, getAppsEligibleInNextRoundQueryKey, getAppsShareClauses, getAvatar, getAvatarOfAddressQueryKey, getAvatarQueryKey, getB3trBalance, getB3trBalanceQueryKey, getB3trDonatedQueryKey, getB3trToUpgradeQueryKey, getBalanceOf, getCallKey, getChainId, getChainIdQueryKey, getCurrentAccountImplementationVersion, getCurrentAccountImplementationVersionQueryKey, getCurrentAllocationsRoundId, getCurrentAllocationsRoundIdQueryKey, getCustomTokenBalance, getCustomTokenBalanceQueryKey, getCustomTokenInfo, getDelegateeQueryKey, getDelegatorQueryKey, getDomainsOfAddress, getDomainsOfAddressQueryKey, getEnsRecordExistsQueryKey, getEntitiesLinkedToPassportQueryKey, getEvents, getGMBaseUriQueryKey, getGMLevel, getGMbalanceQueryKey, getGetCumulativeScoreWithDecayQueryKey, getHasV1SmartAccount, getHasV1SmartAccountQueryKey, getHasVotedInRound, getHasVotedInRoundQueryKey, getIpfsImage, getIpfsImageQueryKey, getIpfsMetadata, getIpfsMetadataQueryKey, getIsBlacklistedQueryKey, getIsDeployed, getIsDeployedQueryKey, getIsDomainProtectedQueryKey, getIsEntityQueryKey, getIsNodeHolder, getIsNodeHolderQueryKey, getIsPassportQueryKey, getIsPersonAtTimepointQueryKey, getIsPersonQueryKey, getIsWhitelistedQueryKey, getLevelGradient, getLevelMultiplierQueryKey, getLevelOfTokenQueryKey, getNFTMetadataUri, getNFTMetadataUriQueryKey, getNodeCheckCooldownQueryKey, getNodeManagerQueryKey, getParticipatedInGovernance, getParticipatedInGovernanceQueryKey, getParticipationScoreThresholdQueryKey, getPassportForEntityQueryKey, getPassportToggleQueryKey, getPendingDelegationsQueryKeyDelegateePOV, getPendingDelegationsQueryKeyDelegatorPOV, getPendingLinkingsQueryKey, getPrivyAppInfoQueryKey, getResolverAddress, getResolverAddressQueryKey, getRoundReward, getRoundRewardQueryKey, getRoundXApps, getRoundXAppsQueryKey, getSecurityMultiplierQueryKey, getSmartAccount, getSmartAccountQueryKey, getTextRecords, getTextRecordsQueryKey, getThresholdParticipationScoreAtTimepointQueryKey, getThresholdParticipationScoreQueryKey, getTokenIdByAccount, getTokenIdByAccountQueryKey, getTokenInfo, getTokenUsdPrice, getTokenUsdPriceQueryKey, getTokensInfoByOwnerQueryKey, getUpgradeRequired, getUpgradeRequiredForAccount, getUpgradeRequiredForAccountQueryKey, getUpgradeRequiredQueryKey, getUserBotSignalsQueryKey, getUserNodesQueryKey, getUserRoundScoreQueryKey, getUserVotesInRound, getUserVotesInRoundQueryKey, getUserXNodes, getUserXNodesQueryKey, getVeDelegateBalance, getVeDelegateBalanceQueryKey, getVechainDomainQueryKey, getVersion, getVersionQueryKey, getVot3Balance, getVot3BalanceQueryKey, getVotesInRoundQueryKey, getXAppMetadata, getXAppMetadataQueryKey, getXAppRoundEarnings, getXAppRoundEarningsQueryKey, getXAppTotalEarningsClauses, getXAppTotalEarningsQueryKey, getXAppVotes, getXAppVotesQf, getXAppVotesQfQueryKey, getXAppVotesQueryKey, getXApps, getXAppsMetadataBaseUri, getXAppsMetadataBaseUriQueryKey, getXAppsQueryKey, getXAppsSharesQueryKey, imageCompressionOptions, pollForReceipt, useAccessAndSecurityModal, useAccountBalance, useAccountCustomizationModal, useAccountImplementationAddress, useAccountLinking, useAccountModal, useAllocationAmount, useAllocationsRound, useAllocationsRoundState, useAllocationsRoundsEvents, useAppAdmin, useAppBalance, useAppExists, useAppSecurityLevel, useAppsEligibleInNextRound, useB3trDonated, useB3trToUpgrade, useBalances, useCall, useChooseNameModal, useClaimVeWorldSubdomain, useConnectModal, useCrossAppConnectionCache, useCurrentAccountImplementationVersion, useCurrentAllocationsRound, useCurrentAllocationsRoundId, useCurrentBlock, useEcosystemShortcuts, useEnsRecordExists, useExploreEcosystemModal, useFAQModal, useFeatureAnnouncement, useFetchAppInfo, useFetchPrivyStatus, useGMBaseUri, useGMbalance, useGetAccountAddress, useGetAccountVersion, useGetAvatar, useGetAvatarOfAddress, useGetB3trBalance, useGetChainId, useGetCumulativeScoreWithDecay, useGetCustomTokenBalances, useGetCustomTokenInfo, useGetDelegatee, useGetDelegator, useGetDomainsOfAddress, useGetEntitiesLinkedToPassport, useGetNodeManager, useGetNodeUrl, useGetPassportForEntity, useGetPendingDelegationsDelegateePOV, useGetPendingDelegationsDelegatorPOV, useGetPendingLinkings, useGetResolverAddress, useGetTextRecords, useGetTokenUsdPrice, useGetTokensInfoByOwner, useGetUserEntitiesLinkedToPassport, useGetUserNode, useGetUserNodes, useGetUserPassportForEntity, useGetUserPendingLinkings, useGetVeDelegateBalance, useGetVot3Balance, useHasV1SmartAccount, useHasVotedInRound, useIpfsImage, useIpfsImageList, useIpfsMetadata, useIpfsMetadatas, useIsBlacklisted, useIsDomainProtected, useIsEntity, useIsGMclaimable, useIsNodeHolder, useIsPWA, useIsPassport, useIsPassportCheckEnabled, useIsPerson, useIsPersonAtTimepoint, useIsSmartAccountDeployed, useIsUserEntity, useIsUserPassport, useIsUserPerson, useIsWhitelisted, useLevelMultiplier, useLevelOfToken, useLocalStorage, useLoginModalContent, useLoginWithOAuth2 as useLoginWithOAuth, useLoginWithPasskey, useLoginWithVeChain, useMostVotedAppsInRound, useMultipleXAppRoundEarnings, useNFTImage, useNFTMetadataUri, useNotificationAlerts, useNotifications, useNotificationsModal, useParticipatedInGovernance, useParticipationScoreThreshold, usePassportChecks, usePrivyWalletProvider, useProfileModal, useReceiveModal, useRefreshBalances, useRefreshMetadata, useRoundEarnings, useRoundReward, useRoundXApps, useScrollToTop, useSecurityMultiplier, useSelectedGmNft, useSendTokenModal, useSendTransaction, useSignMessage2 as useSignMessage, useSignTypedData2 as useSignTypedData, useSingleImageUpload, useSmartAccount, useSmartAccountVersion, useThresholdParticipationScore, useThresholdParticipationScoreAtTimepoint, useTokenIdByAccount, useTransactionModal, useTransactionToast, useTransferERC20, useTransferVET, useTxReceipt, useUpdateTextRecord, useUpgradeRequired, useUpgradeRequiredForAccount, useUpgradeSmartAccount, useUpgradeSmartAccountModal, useUploadImages, useUserBotSignals, useUserDelegation, useUserRoundScore, useUserStatus, useUserTopVotedApps, useUserVotesInAllRounds, useUserVotesInRound, useVeChainKitConfig, useVechainDomain, useVotesInRound, useVotingRewards, useWallet, useWalletMetadata, useWalletModal2 as useWalletModal, useXApp, useXAppMetadata, useXAppRoundEarnings, useXAppTotalEarnings, useXAppVotes, useXAppVotesQf, useXApps, useXAppsMetadataBaseUri, useXAppsShares, useXNode, useXNodeCheckCooldown, useXNodes };
18288
18547
  //# sourceMappingURL=index.js.map
18289
18548
  //# sourceMappingURL=index.js.map