@vechain/vechain-kit 1.3.1 → 1.4.0

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.cjs CHANGED
@@ -3592,12 +3592,15 @@ var usePrivyCrossAppSdk = () => {
3592
3592
 
3593
3593
  // src/hooks/api/wallet/useWalletMetadata.ts
3594
3594
  var useWalletMetadata = (address, networkType) => {
3595
- const { data: domain } = useVechainDomain(address ?? "");
3596
- const { data: avatar } = useGetAvatar(domain?.domain);
3595
+ const { data: domain, isLoading: isLoadingVechainDomain } = useVechainDomain(address ?? "");
3596
+ const { data: avatar, isLoading: isLoadingAvatar } = useGetAvatar(
3597
+ domain?.domain
3598
+ );
3597
3599
  const avatarUrl = chunkEO3CLT4E_cjs.convertUriToUrl(avatar ?? "", networkType);
3598
3600
  return {
3599
3601
  domain: domain?.domain,
3600
- image: avatarUrl ?? chunkEO3CLT4E_cjs.getPicassoImage(address ?? "")
3602
+ image: avatarUrl ?? chunkEO3CLT4E_cjs.getPicassoImage(address ?? ""),
3603
+ isLoading: isLoadingVechainDomain || isLoadingAvatar
3601
3604
  };
3602
3605
  };
3603
3606
 
@@ -3666,12 +3669,14 @@ var useWallet = () => {
3666
3669
  const account = activeAddress ? {
3667
3670
  address: activeAddress,
3668
3671
  domain: activeMetadata.domain,
3669
- image: activeMetadata.image
3672
+ image: activeMetadata.image,
3673
+ isLoadingAvatar: activeMetadata.isLoading
3670
3674
  } : null;
3671
3675
  const connectedWallet = connectedWalletAddress ? {
3672
3676
  address: connectedWalletAddress,
3673
3677
  domain: connectedMetadata.domain,
3674
- image: connectedMetadata.image
3678
+ image: connectedMetadata.image,
3679
+ isLoadingAvatar: connectedMetadata.isLoading
3675
3680
  } : null;
3676
3681
  const { data: smartAccountVersion } = useContractVersion(
3677
3682
  smartAccount?.address ?? ""
@@ -3709,7 +3714,8 @@ var useWallet = () => {
3709
3714
  image: smartAccountMetadata.image,
3710
3715
  isDeployed: smartAccount?.isDeployed ?? false,
3711
3716
  isActive: hasActiveSmartAccount,
3712
- version: smartAccountVersion ?? null
3717
+ version: smartAccountVersion ?? null,
3718
+ isLoadingAvatar: smartAccountMetadata.isLoading
3713
3719
  },
3714
3720
  connectedWallet,
3715
3721
  privyUser: user,
@@ -4156,6 +4162,52 @@ var useReceiveModal = () => {
4156
4162
  };
4157
4163
  };
4158
4164
  var ReceiveModalProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
4165
+ var useLoginModalContent = () => {
4166
+ const { privy, loginMethods } = useVeChainKitConfig();
4167
+ const isVeChainApp = privy?.appId === chunkEO3CLT4E_cjs.VECHAIN_PRIVY_APP_ID;
4168
+ const showEcosystemLogin = React9.useMemo(() => {
4169
+ if (!loginMethods) return true;
4170
+ if (loginMethods.length > 0 && !loginMethods?.find((method35) => method35.method === "ecosystem")) {
4171
+ return false;
4172
+ }
4173
+ return true;
4174
+ }, [loginMethods]);
4175
+ if (!privy) {
4176
+ return {
4177
+ showSocialLogin: false,
4178
+ showPasskey: false,
4179
+ showVeChainLogin: true,
4180
+ showDappKit: true,
4181
+ showEcosystem: showEcosystemLogin,
4182
+ showMoreLogin: false,
4183
+ isOfficialVeChainApp: false
4184
+ };
4185
+ }
4186
+ if (isVeChainApp) {
4187
+ return {
4188
+ showSocialLogin: false,
4189
+ showPasskey: false,
4190
+ showVeChainLogin: true,
4191
+ showDappKit: true,
4192
+ showEcosystem: showEcosystemLogin,
4193
+ showMoreLogin: false,
4194
+ isOfficialVeChainApp: true
4195
+ };
4196
+ }
4197
+ const showMoreLogin = React9.useMemo(() => {
4198
+ if (!loginMethods) return true;
4199
+ return loginMethods.some((method35) => method35.method === "more");
4200
+ }, [loginMethods]);
4201
+ return {
4202
+ showSocialLogin: true,
4203
+ showPasskey: true,
4204
+ showVeChainLogin: true,
4205
+ showDappKit: true,
4206
+ showEcosystem: showEcosystemLogin,
4207
+ showMoreLogin,
4208
+ isOfficialVeChainApp: false
4209
+ };
4210
+ };
4159
4211
  var ERC20Interface2 = chunkNKGOARGM_cjs.ERC20__factory.createInterface();
4160
4212
  var useTransferERC20 = ({
4161
4213
  fromAddress,
@@ -5234,7 +5286,7 @@ var AddressDisplay = ({ wallet, label, size = "lg" }) => {
5234
5286
  // package.json
5235
5287
  var package_default = {
5236
5288
  name: "@vechain/vechain-kit",
5237
- version: "1.3.1",
5289
+ version: "1.4.0",
5238
5290
  private: false,
5239
5291
  homepage: "https://github.com/vechain/vechain-kit",
5240
5292
  repository: "github:vechain/vechain-kit",
@@ -5260,8 +5312,8 @@ var package_default = {
5260
5312
  dependencies: {
5261
5313
  "@chakra-ui/react": "^2.8.2",
5262
5314
  "@choc-ui/chakra-autocomplete": "^5.3.0",
5263
- "@privy-io/cross-app-connect": "^0.1.3",
5264
- "@privy-io/react-auth": "2.0.1",
5315
+ "@privy-io/cross-app-connect": "^0.1.6",
5316
+ "@privy-io/react-auth": "2.3.0",
5265
5317
  "@rainbow-me/rainbowkit": "^2.1.5",
5266
5318
  "@tanstack/react-query": "^5.64.2",
5267
5319
  "@tanstack/react-query-devtools": "^5.64.1",
@@ -5596,7 +5648,8 @@ var AddressDisplayCard = ({
5596
5648
  src: imageSrc,
5597
5649
  alt: imageAlt,
5598
5650
  boxSize: "40px",
5599
- borderRadius: "xl"
5651
+ borderRadius: "xl",
5652
+ objectFit: "cover"
5600
5653
  }
5601
5654
  ),
5602
5655
  /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { align: "start", spacing: 0, children: domain ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -5646,6 +5699,22 @@ var ScrollToTopWrapper = ({ children, ...props }) => {
5646
5699
  useScrollToTop();
5647
5700
  return /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { ...props, children });
5648
5701
  };
5702
+ var AccountAvatar = ({ wallet, props }) => {
5703
+ if (wallet?.isLoadingAvatar) {
5704
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Spinner, { size: "sm" });
5705
+ }
5706
+ return /* @__PURE__ */ jsxRuntime.jsx(
5707
+ react.Image,
5708
+ {
5709
+ src: props?.src ?? wallet?.image,
5710
+ alt: props?.alt ?? wallet?.domain,
5711
+ fallbackSrc: chunkEO3CLT4E_cjs.notFoundImage,
5712
+ objectFit: "cover",
5713
+ rounded: "full",
5714
+ ...props
5715
+ }
5716
+ );
5717
+ };
5649
5718
  var VeChainLoginButton = ({ isDark, gridColumn }) => {
5650
5719
  const { t } = reactI18next.useTranslation();
5651
5720
  const { login: loginWithVeChain } = useLoginWithVeChain();
@@ -5691,12 +5760,19 @@ var VeChainLoginButton = ({ isDark, gridColumn }) => {
5691
5760
  )
5692
5761
  ] });
5693
5762
  };
5694
- var SocialLoginButtons = ({ isDark, loginModalUI }) => {
5763
+ var SocialLoginButtons = ({
5764
+ isDark,
5765
+ loginMethods,
5766
+ gridColumn
5767
+ }) => {
5695
5768
  const { t } = reactI18next.useTranslation();
5696
5769
  const { initOAuth } = useLoginWithOAuth2();
5697
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loginModalUI?.preferredLoginMethods?.map((method35, index) => /* @__PURE__ */ jsxRuntime.jsxs(React9__default.default.Fragment, { children: [
5698
- method35 === "email" && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(EmailLoginButton, {}) }),
5699
- method35 === "google" && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5770
+ const selfHostedPrivyLoginMethods = loginMethods?.filter(
5771
+ (method35) => method35.method === "email" || method35.method === "google"
5772
+ );
5773
+ return /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: gridColumn, w: "full", children: selfHostedPrivyLoginMethods?.map((loginMethod, index) => /* @__PURE__ */ jsxRuntime.jsxs(React9__default.default.Fragment, { children: [
5774
+ loginMethod.method === "email" && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(EmailLoginButton, {}) }),
5775
+ loginMethod.method === "google" && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5700
5776
  ConnectionButton,
5701
5777
  {
5702
5778
  isDark,
@@ -5707,14 +5783,14 @@ var SocialLoginButtons = ({ isDark, loginModalUI }) => {
5707
5783
  text: t("Continue with Google")
5708
5784
  }
5709
5785
  ) }),
5710
- index !== (loginModalUI?.preferredLoginMethods?.length ?? 0) - 1 && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
5786
+ index !== (selfHostedPrivyLoginMethods?.length ?? 0) - 1 && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
5711
5787
  /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {}),
5712
5788
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", children: "or" }),
5713
5789
  /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {})
5714
5790
  ] }) })
5715
- ] }, method35)) });
5791
+ ] }, loginMethod.method)) });
5716
5792
  };
5717
- var PasskeyLoginButton = ({ isDark, gridColumn = 1 }) => {
5793
+ var PasskeyLoginButton = ({ isDark, gridColumn }) => {
5718
5794
  const { t } = reactI18next.useTranslation();
5719
5795
  const { loginWithPasskey } = useLoginWithPasskey();
5720
5796
  const [loginError, setLoginError] = React9.useState();
@@ -5738,7 +5814,8 @@ var PasskeyLoginButton = ({ isDark, gridColumn = 1 }) => {
5738
5814
  {
5739
5815
  isDark,
5740
5816
  onClick: handleLoginWithPasskey,
5741
- icon: io.IoIosFingerPrint
5817
+ icon: io.IoIosFingerPrint,
5818
+ text: gridColumn && gridColumn >= 2 ? t("Passkey") : void 0
5742
5819
  }
5743
5820
  ) }),
5744
5821
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5771,20 +5848,20 @@ var DappKitButton = ({ isDark, gridColumn = 2 }) => {
5771
5848
  };
5772
5849
  var EcosystemButton = ({
5773
5850
  isDark,
5774
- privySocialLoginEnabled,
5775
5851
  appsInfo,
5776
- isLoading
5852
+ isLoading,
5853
+ gridColumn
5777
5854
  }) => {
5778
5855
  const { t } = reactI18next.useTranslation();
5779
5856
  const ecosystemModal = react.useDisclosure();
5780
5857
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5781
- /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: privySocialLoginEnabled ? 1 : 2, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5858
+ /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: gridColumn, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5782
5859
  ConnectionButton,
5783
5860
  {
5784
5861
  isDark,
5785
5862
  onClick: ecosystemModal.onOpen,
5786
5863
  icon: io5.IoPlanet,
5787
- text: !privySocialLoginEnabled ? t("Ecosystem") : void 0
5864
+ text: gridColumn && gridColumn >= 2 ? t("Ecosystem") : void 0
5788
5865
  }
5789
5866
  ) }),
5790
5867
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5798,11 +5875,7 @@ var EcosystemButton = ({
5798
5875
  )
5799
5876
  ] });
5800
5877
  };
5801
- var PrivyButton = ({
5802
- isDark,
5803
- onViewMoreLogin,
5804
- gridColumn = 1
5805
- }) => {
5878
+ var PrivyButton = ({ isDark, onViewMoreLogin, gridColumn }) => {
5806
5879
  const { t } = reactI18next.useTranslation();
5807
5880
  return /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: gridColumn, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5808
5881
  ConnectionButton,
@@ -5810,7 +5883,7 @@ var PrivyButton = ({
5810
5883
  isDark,
5811
5884
  onClick: onViewMoreLogin,
5812
5885
  icon: ci.CiCircleMore,
5813
- text: gridColumn >= 2 ? t("More") : void 0
5886
+ text: gridColumn && gridColumn >= 2 ? t("More") : void 0
5814
5887
  }
5815
5888
  ) });
5816
5889
  };
@@ -6136,51 +6209,99 @@ var VeChainWithPrivyLoginButton = ({ isDark, gridColumn }) => {
6136
6209
  }
6137
6210
  ) });
6138
6211
  };
6139
- var MainContent = ({
6140
- setCurrentContent,
6141
- onClose,
6142
- variant = "vechain-wallet-ecosystem"
6143
- }) => {
6212
+ var MainContent = ({ setCurrentContent, onClose }) => {
6144
6213
  const { t } = reactI18next.useTranslation();
6145
6214
  const { darkMode: isDark } = useVeChainKitConfig();
6146
6215
  const { connection } = useWallet();
6147
- const { loginModalUI, privySocialLoginEnabled, privyEcosystemAppIDS } = useVeChainKitConfig();
6216
+ const { loginModalUI, privyEcosystemAppIDS, loginMethods } = useVeChainKitConfig();
6148
6217
  const { login: viewMoreLogin } = reactAuth.usePrivy();
6218
+ const {
6219
+ showSocialLogin,
6220
+ showPasskey,
6221
+ showVeChainLogin,
6222
+ showDappKit,
6223
+ showEcosystem,
6224
+ showMoreLogin,
6225
+ isOfficialVeChainApp
6226
+ } = useLoginModalContent();
6149
6227
  const { data: appsInfo, isLoading: isEcosystemAppsLoading } = useFetchAppInfo(privyEcosystemAppIDS);
6150
6228
  React9.useEffect(() => {
6151
6229
  if (connection.isConnected) {
6152
6230
  onClose();
6153
6231
  }
6154
6232
  }, [connection.isConnected, onClose]);
6155
- const dappKitGridColumn = React9.useMemo(() => {
6156
- switch (variant) {
6157
- case "full":
6158
- return 1;
6159
- case "vechain-and-wallet":
6160
- return 4;
6161
- case "vechain-wallet-ecosystem":
6162
- if (privyEcosystemAppIDS.length === 0) {
6163
- return 4;
6233
+ const gridLayout = React9.useMemo(() => {
6234
+ if (loginMethods?.length) {
6235
+ const layout = {};
6236
+ loginMethods.forEach(({ method: method35, gridColumn }) => {
6237
+ switch (method35) {
6238
+ case "email":
6239
+ case "google":
6240
+ layout.socialLoginColumn = gridColumn || 4;
6241
+ break;
6242
+ case "vechain":
6243
+ layout.veChainColumn = gridColumn || 4;
6244
+ break;
6245
+ case "passkey":
6246
+ layout.passkeyColumn = gridColumn || 1;
6247
+ break;
6248
+ case "dappkit":
6249
+ layout.dappKitColumn = gridColumn || 2;
6250
+ break;
6251
+ case "ecosystem":
6252
+ layout.ecosystemColumn = gridColumn || 2;
6253
+ break;
6254
+ case "more":
6255
+ layout.moreLoginColumn = gridColumn || 1;
6256
+ break;
6164
6257
  }
6165
- return 2;
6166
- default:
6167
- if (!privySocialLoginEnabled || privyEcosystemAppIDS.length === 0) {
6168
- return 4;
6169
- }
6170
- return 1;
6171
- }
6172
- }, [variant, privySocialLoginEnabled, privyEcosystemAppIDS]);
6173
- const privyGridColumn = React9.useMemo(() => {
6174
- switch (variant) {
6175
- case "full":
6176
- if (privyEcosystemAppIDS.length === 0) {
6177
- return 2;
6178
- }
6179
- return 1;
6180
- default:
6181
- return 0;
6258
+ });
6259
+ return layout;
6260
+ }
6261
+ const visibleButtons = {
6262
+ socialLogin: showSocialLogin,
6263
+ veChainLogin: showVeChainLogin,
6264
+ dappKit: showDappKit,
6265
+ ecosystem: showEcosystem,
6266
+ moreLogin: showMoreLogin,
6267
+ passkey: showPasskey
6268
+ };
6269
+ if (visibleButtons.veChainLogin && visibleButtons.dappKit && visibleButtons.ecosystem && !visibleButtons.socialLogin) {
6270
+ return {
6271
+ veChainColumn: 4,
6272
+ // Full width
6273
+ dappKitColumn: 2,
6274
+ // Half width
6275
+ ecosystemColumn: 2
6276
+ // Half width
6277
+ };
6278
+ }
6279
+ if (visibleButtons.socialLogin) {
6280
+ return {
6281
+ socialLoginColumn: 4,
6282
+ veChainColumn: 4,
6283
+ dappKitColumn: 1,
6284
+ ecosystemColumn: 1,
6285
+ moreLoginColumn: 1,
6286
+ passkeyColumn: 1
6287
+ };
6182
6288
  }
6183
- }, [variant, privyEcosystemAppIDS]);
6289
+ const totalButtons = Object.values(visibleButtons).filter(Boolean).length;
6290
+ const defaultColumn = Math.min(4, totalButtons);
6291
+ return {
6292
+ veChainColumn: 4,
6293
+ dappKitColumn: defaultColumn,
6294
+ ecosystemColumn: defaultColumn
6295
+ };
6296
+ }, [
6297
+ loginMethods,
6298
+ showSocialLogin,
6299
+ showVeChainLogin,
6300
+ showDappKit,
6301
+ showEcosystem,
6302
+ showMoreLogin,
6303
+ showPasskey
6304
+ ]);
6184
6305
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6185
6306
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
6186
6307
  /* @__PURE__ */ jsxRuntime.jsx(ModalFAQButton, { onClick: () => setCurrentContent("faq") }),
@@ -6227,53 +6348,56 @@ var MainContent = ({
6227
6348
  }
6228
6349
  ),
6229
6350
  /* @__PURE__ */ jsxRuntime.jsx(react.Stack, { spacing: 4, w: "full", align: "center", children: /* @__PURE__ */ jsxRuntime.jsxs(react.Grid, { templateColumns: "repeat(4, 1fr)", gap: 2, w: "full", children: [
6230
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(
6351
+ showSocialLogin && /* @__PURE__ */ jsxRuntime.jsx(
6231
6352
  SocialLoginButtons,
6232
6353
  {
6233
6354
  isDark,
6234
- loginModalUI
6355
+ loginMethods,
6356
+ gridColumn: gridLayout.socialLoginColumn
6235
6357
  }
6236
6358
  ),
6237
- variant === "vechain" ? (
6238
- // This exists because we want to use same button but connect
6239
- // with privy-auth instead of cross-app, used only by vechain.
6240
- /* @__PURE__ */ jsxRuntime.jsx(
6241
- VeChainWithPrivyLoginButton,
6242
- {
6243
- isDark,
6244
- gridColumn: 4
6245
- }
6246
- )
6359
+ showVeChainLogin && (isOfficialVeChainApp ? /* @__PURE__ */ jsxRuntime.jsx(
6360
+ VeChainWithPrivyLoginButton,
6361
+ {
6362
+ isDark,
6363
+ gridColumn: gridLayout.veChainColumn
6364
+ }
6247
6365
  ) : /* @__PURE__ */ jsxRuntime.jsx(
6248
6366
  VeChainLoginButton,
6249
6367
  {
6250
6368
  isDark,
6251
- gridColumn: 4
6369
+ gridColumn: gridLayout.veChainColumn
6370
+ }
6371
+ )),
6372
+ showPasskey && /* @__PURE__ */ jsxRuntime.jsx(
6373
+ PasskeyLoginButton,
6374
+ {
6375
+ isDark,
6376
+ gridColumn: gridLayout.passkeyColumn
6252
6377
  }
6253
6378
  ),
6254
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(PasskeyLoginButton, { isDark }),
6255
- /* @__PURE__ */ jsxRuntime.jsx(
6379
+ showDappKit && /* @__PURE__ */ jsxRuntime.jsx(
6256
6380
  DappKitButton,
6257
6381
  {
6258
6382
  isDark,
6259
- gridColumn: dappKitGridColumn
6383
+ gridColumn: gridLayout.dappKitColumn
6260
6384
  }
6261
6385
  ),
6262
- (variant === "full" || variant === "vechain-wallet-ecosystem") && privyEcosystemAppIDS.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
6386
+ showEcosystem && /* @__PURE__ */ jsxRuntime.jsx(
6263
6387
  EcosystemButton,
6264
6388
  {
6265
6389
  isDark,
6266
- privySocialLoginEnabled: variant === "full" && privySocialLoginEnabled,
6267
6390
  appsInfo: Object.values(appsInfo || {}),
6268
- isLoading: isEcosystemAppsLoading
6391
+ isLoading: isEcosystemAppsLoading,
6392
+ gridColumn: gridLayout.ecosystemColumn
6269
6393
  }
6270
6394
  ),
6271
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(
6395
+ showMoreLogin && /* @__PURE__ */ jsxRuntime.jsx(
6272
6396
  PrivyButton,
6273
6397
  {
6274
6398
  isDark,
6275
6399
  onViewMoreLogin: viewMoreLogin,
6276
- gridColumn: privyGridColumn
6400
+ gridColumn: gridLayout.moreLoginColumn
6277
6401
  }
6278
6402
  )
6279
6403
  ] }) })
@@ -6338,6 +6462,31 @@ var FeatureAnnouncementCard = ({
6338
6462
  }
6339
6463
  );
6340
6464
  };
6465
+ var ExchangeWarningAlert = () => {
6466
+ const { t } = reactI18next.useTranslation();
6467
+ const [showFullText, setShowFullText] = React9.useState(false);
6468
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Alert, { status: "warning", fontSize: "xs", borderRadius: "xl", p: 2, children: /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { spacing: 1, align: "stretch", w: "full", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 2, align: "flex-start", children: [
6469
+ /* @__PURE__ */ jsxRuntime.jsx(react.AlertIcon, { boxSize: 4 }),
6470
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { w: "full", children: [
6471
+ t(
6472
+ "Sending to OceanX or other exchanges may result in loss of funds."
6473
+ ),
6474
+ showFullText && t("Send the tokens to your VeWorld wallet first."),
6475
+ /* @__PURE__ */ jsxRuntime.jsx(
6476
+ react.Button,
6477
+ {
6478
+ variant: "link",
6479
+ size: "xs",
6480
+ onClick: () => setShowFullText(!showFullText),
6481
+ color: "inherit",
6482
+ pl: 6,
6483
+ mt: 0,
6484
+ children: t(showFullText ? "Show Less" : "Read More")
6485
+ }
6486
+ )
6487
+ ] })
6488
+ ] }) }) });
6489
+ };
6341
6490
  var AccountMainContent = ({
6342
6491
  setCurrentContent,
6343
6492
  wallet,
@@ -6555,7 +6704,8 @@ var ActionButton = ({
6555
6704
  h: "35px",
6556
6705
  borderRadius: "full",
6557
6706
  alt: "left-image",
6558
- alignSelf: "end"
6707
+ alignSelf: "end",
6708
+ objectFit: "cover"
6559
6709
  }
6560
6710
  ) : /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: leftIcon, fontSize: "25px" }) }),
6561
6711
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -6611,13 +6761,10 @@ var AccountSelector = ({
6611
6761
  variant: "vechainKitSelector",
6612
6762
  children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 2, align: "center", children: [
6613
6763
  /* @__PURE__ */ jsxRuntime.jsx(
6614
- react.Image,
6764
+ AccountAvatar,
6615
6765
  {
6616
- src: wallet?.image,
6617
- alt: wallet?.domain,
6618
- width: 5,
6619
- height: 5,
6620
- rounded: "full"
6766
+ wallet,
6767
+ props: { width: 5, height: 5 }
6621
6768
  }
6622
6769
  ),
6623
6770
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: size, fontWeight: "500", children: chunkEO3CLT4E_cjs.humanDomain(wallet?.domain ?? "", 6, 4) || chunkEO3CLT4E_cjs.humanAddress(wallet?.address ?? "", 6, 4) }),
@@ -7335,14 +7482,7 @@ var WalletSettingsContent = ({
7335
7482
  ] }),
7336
7483
  /* @__PURE__ */ jsxRuntime.jsxs(react.ModalBody, { w: "full", children: [
7337
7484
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { justify: "center", children: [
7338
- /* @__PURE__ */ jsxRuntime.jsx(
7339
- react.Image,
7340
- {
7341
- src: account?.image,
7342
- maxW: "100px",
7343
- borderRadius: "50%"
7344
- }
7345
- ),
7485
+ /* @__PURE__ */ jsxRuntime.jsx(AccountAvatar, { wallet: account, props: { maxW: "100px" } }),
7346
7486
  /* @__PURE__ */ jsxRuntime.jsx(AddressDisplay, { wallet: account }),
7347
7487
  network.type !== "main" && /* @__PURE__ */ jsxRuntime.jsx(
7348
7488
  react.Tag,
@@ -8060,6 +8200,14 @@ var SendTokenSummaryContent = ({
8060
8200
  const { darkMode: isDark } = useVeChainKitConfig();
8061
8201
  const { account, connection } = useWallet();
8062
8202
  const transactionModal = react.useDisclosure();
8203
+ const { data: avatar } = useGetAvatar(resolvedDomain);
8204
+ const { network } = useVeChainKitConfig();
8205
+ const toImageSrc = React9.useMemo(() => {
8206
+ if (avatar) {
8207
+ return chunkEO3CLT4E_cjs.convertUriToUrl(avatar, network.type);
8208
+ }
8209
+ return chunkEO3CLT4E_cjs.getPicassoImage(resolvedAddress || toAddressOrDomain);
8210
+ }, [avatar, network.type, resolvedAddress, toAddressOrDomain]);
8063
8211
  const transferERC20 = useTransferERC20({
8064
8212
  fromAddress: account?.address ?? "",
8065
8213
  receiverAddress: resolvedAddress || toAddressOrDomain,
@@ -8111,20 +8259,7 @@ var SendTokenSummaryContent = ({
8111
8259
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
8112
8260
  ] }),
8113
8261
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 6, align: "stretch", w: "full", children: [
8114
- connection.isConnectedWithPrivy && /* @__PURE__ */ jsxRuntime.jsxs(
8115
- react.Alert,
8116
- {
8117
- status: "warning",
8118
- fontSize: "xs",
8119
- borderRadius: "xl",
8120
- children: [
8121
- /* @__PURE__ */ jsxRuntime.jsx(react.AlertIcon, {}),
8122
- t(
8123
- "Sending to OceanX or other exchanges may result in loss of funds. Send the tokens to your VeWorld wallet first."
8124
- )
8125
- ]
8126
- }
8127
- ),
8262
+ connection.isConnectedWithPrivy && /* @__PURE__ */ jsxRuntime.jsx(ExchangeWarningAlert, {}),
8128
8263
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, w: "full", children: [
8129
8264
  /* @__PURE__ */ jsxRuntime.jsx(
8130
8265
  AddressDisplayCard,
@@ -8144,9 +8279,7 @@ var SendTokenSummaryContent = ({
8144
8279
  label: t("To"),
8145
8280
  address: resolvedAddress || toAddressOrDomain,
8146
8281
  domain: resolvedDomain,
8147
- imageSrc: chunkEO3CLT4E_cjs.getPicassoImage(
8148
- resolvedAddress || toAddressOrDomain
8149
- ),
8282
+ imageSrc: toImageSrc ?? "",
8150
8283
  imageAlt: "To account",
8151
8284
  symbol: selectedToken.symbol
8152
8285
  }
@@ -8390,6 +8523,123 @@ var ChooseNameContent = ({
8390
8523
  ] }) })
8391
8524
  ] });
8392
8525
  };
8526
+ var ExistingDomainsList = ({
8527
+ domains,
8528
+ onDomainSelect,
8529
+ isLoading
8530
+ }) => {
8531
+ const { t } = reactI18next.useTranslation();
8532
+ const { darkMode: isDark } = useVeChainKitConfig();
8533
+ const { account, connection } = useWallet();
8534
+ if (domains.length === 0 || isLoading) {
8535
+ return null;
8536
+ }
8537
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Accordion, { allowToggle: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.AccordionItem, { border: "none", children: ({ isExpanded }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8538
+ /* @__PURE__ */ jsxRuntime.jsxs(
8539
+ react.AccordionButton,
8540
+ {
8541
+ bg: isDark ? "whiteAlpha.50" : "gray.50",
8542
+ borderRadius: "xl",
8543
+ _hover: {
8544
+ bg: isDark ? "whiteAlpha.100" : "gray.100"
8545
+ },
8546
+ opacity: isLoading ? 0.7 : 1,
8547
+ transition: "all 0.2s",
8548
+ disabled: isLoading,
8549
+ children: [
8550
+ /* @__PURE__ */ jsxRuntime.jsx(react.Box, { flex: "1", textAlign: "left", py: 2, children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "500", children: isLoading ? t("Loading your domains...") : `${t("Your existing domains")} (${domains.length})` }) }),
8551
+ /* @__PURE__ */ jsxRuntime.jsx(
8552
+ react.Icon,
8553
+ {
8554
+ as: isExpanded ? io5.IoChevronUp : io5.IoChevronDown,
8555
+ fontSize: "20px",
8556
+ opacity: 0.5
8557
+ }
8558
+ )
8559
+ ]
8560
+ }
8561
+ ),
8562
+ /* @__PURE__ */ jsxRuntime.jsx(react.AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsxRuntime.jsx(react.List, { spacing: 2, children: domains.map((domain) => {
8563
+ const isCurrentDomain = domain.name === account?.domain;
8564
+ const metadata = useWalletMetadata(
8565
+ domain.name,
8566
+ connection.network
8567
+ );
8568
+ return /* @__PURE__ */ jsxRuntime.jsx(
8569
+ react.ListItem,
8570
+ {
8571
+ p: 4,
8572
+ bg: isDark ? "#1f1f1e" : "white",
8573
+ borderRadius: "xl",
8574
+ cursor: isCurrentDomain ? "default" : "pointer",
8575
+ opacity: isCurrentDomain ? 0.7 : 1,
8576
+ border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
8577
+ _hover: {
8578
+ bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
8579
+ borderColor: isDark ? "#3d3d3d" : "#dedede"
8580
+ },
8581
+ onClick: () => !isCurrentDomain && onDomainSelect(domain.name),
8582
+ transition: "all 0.2s",
8583
+ children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
8584
+ /* @__PURE__ */ jsxRuntime.jsx(
8585
+ AccountAvatar,
8586
+ {
8587
+ props: {
8588
+ width: "40px",
8589
+ height: "40px",
8590
+ src: metadata.image,
8591
+ alt: domain.name
8592
+ }
8593
+ }
8594
+ ),
8595
+ /* @__PURE__ */ jsxRuntime.jsxs(
8596
+ react.VStack,
8597
+ {
8598
+ align: "start",
8599
+ spacing: 0,
8600
+ flex: 1,
8601
+ children: [
8602
+ /* @__PURE__ */ jsxRuntime.jsx(
8603
+ react.Text,
8604
+ {
8605
+ color: isDark ? "whiteAlpha.900" : "gray.700",
8606
+ fontSize: "md",
8607
+ fontWeight: "500",
8608
+ children: domain.name
8609
+ }
8610
+ ),
8611
+ isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8612
+ react.Text,
8613
+ {
8614
+ fontSize: "sm",
8615
+ color: isDark ? "whiteAlpha.600" : "gray.500",
8616
+ children: t(
8617
+ "Current domain"
8618
+ )
8619
+ }
8620
+ )
8621
+ ]
8622
+ }
8623
+ ),
8624
+ isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8625
+ react.Tag,
8626
+ {
8627
+ size: "sm",
8628
+ bg: isDark ? "whiteAlpha.200" : "gray.100",
8629
+ color: isDark ? "whiteAlpha.800" : "gray.600",
8630
+ px: 3,
8631
+ py: 1,
8632
+ borderRadius: "full",
8633
+ children: t("Current")
8634
+ }
8635
+ )
8636
+ ] })
8637
+ },
8638
+ domain.name
8639
+ );
8640
+ }) }) })
8641
+ ] }) }) });
8642
+ };
8393
8643
  var ChooseNameSearchContent = ({
8394
8644
  name: initialName,
8395
8645
  setCurrentContent
@@ -8500,104 +8750,69 @@ var ChooseNameSearchContent = ({
8500
8750
  ),
8501
8751
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
8502
8752
  ] }),
8503
- /* @__PURE__ */ jsxRuntime.jsxs(react.ModalBody, { children: [
8504
- isLoadingOwnedDomains ? /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: "gray.500", children: t("Loading your domains...") }) : allUserDomains.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", mb: 6, children: [
8753
+ /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", children: [
8754
+ /* @__PURE__ */ jsxRuntime.jsx(
8755
+ ExistingDomainsList,
8756
+ {
8757
+ domains: allUserDomains,
8758
+ onDomainSelect: handleDomainSelect,
8759
+ isLoading: isLoadingOwnedDomains
8760
+ }
8761
+ ),
8762
+ /* @__PURE__ */ jsxRuntime.jsxs(react.InputGroup, { size: "lg", children: [
8505
8763
  /* @__PURE__ */ jsxRuntime.jsx(
8506
- react.Text,
8764
+ react.Input,
8507
8765
  {
8508
- fontSize: "sm",
8509
- fontWeight: "500",
8510
- color: isDark ? "whiteAlpha.800" : "gray.600",
8511
- children: t("Your existing domains")
8766
+ placeholder: t("Enter your name"),
8767
+ value: name,
8768
+ onChange: (e) => {
8769
+ setName(e.target.value);
8770
+ if (!hasInteracted) setHasInteracted(true);
8771
+ },
8772
+ paddingRight: "120px",
8773
+ fontSize: "lg",
8774
+ height: "60px",
8775
+ bg: isDark ? "#1a1a1a" : "white",
8776
+ border: `1px solid ${isDark ? "#ffffff29" : "#ebebeb"}`,
8777
+ _hover: {
8778
+ border: `1px solid ${isDark ? "#ffffff40" : "#e0e0e0"}`
8779
+ },
8780
+ _focus: {
8781
+ border: `1px solid ${isDark ? "#ffffff60" : "#d0d0d0"}`,
8782
+ boxShadow: "none"
8783
+ },
8784
+ isInvalid: !!error
8512
8785
  }
8513
8786
  ),
8514
- /* @__PURE__ */ jsxRuntime.jsx(react.List, { spacing: 2, children: allUserDomains.map((domain) => {
8515
- const isCurrentDomain = domain.name === account?.domain;
8516
- return /* @__PURE__ */ jsxRuntime.jsx(
8517
- react.ListItem,
8518
- {
8519
- p: 3,
8520
- bg: isDark ? "#1a1a1a" : "gray.50",
8521
- borderRadius: "md",
8522
- cursor: isCurrentDomain ? "default" : "pointer",
8523
- opacity: isCurrentDomain ? 0.7 : 1,
8524
- _hover: {
8525
- bg: isCurrentDomain ? isDark ? "#1a1a1a" : "gray.50" : isDark ? "#252525" : "gray.100"
8526
- },
8527
- onClick: () => !isCurrentDomain && handleDomainSelect(domain.name),
8528
- children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "space-between", children: [
8529
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { children: domain.name }),
8530
- isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8531
- react.Tag,
8532
- {
8533
- size: "sm",
8534
- colorScheme: "green",
8535
- variant: "subtle",
8536
- children: t("Current")
8537
- }
8538
- )
8539
- ] })
8540
- },
8541
- domain.name
8542
- );
8543
- }) })
8544
- ] }) : null,
8545
- /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", children: [
8546
- /* @__PURE__ */ jsxRuntime.jsxs(react.InputGroup, { size: "lg", children: [
8547
- /* @__PURE__ */ jsxRuntime.jsx(
8548
- react.Input,
8549
- {
8550
- placeholder: t("Enter your name"),
8551
- value: name,
8552
- onChange: (e) => {
8553
- setName(e.target.value);
8554
- if (!hasInteracted) setHasInteracted(true);
8555
- },
8556
- paddingRight: "120px",
8557
- fontSize: "lg",
8558
- height: "60px",
8559
- bg: isDark ? "#1a1a1a" : "white",
8560
- border: `1px solid ${isDark ? "#ffffff29" : "#ebebeb"}`,
8561
- _hover: {
8562
- border: `1px solid ${isDark ? "#ffffff40" : "#e0e0e0"}`
8563
- },
8564
- _focus: {
8565
- border: `1px solid ${isDark ? "#ffffff60" : "#d0d0d0"}`,
8566
- boxShadow: "none"
8567
- },
8568
- isInvalid: !!error
8569
- }
8570
- ),
8571
- /* @__PURE__ */ jsxRuntime.jsx(
8572
- react.InputRightElement,
8573
- {
8574
- width: "auto",
8575
- paddingRight: "12px",
8576
- h: "full",
8577
- children: /* @__PURE__ */ jsxRuntime.jsx(
8578
- react.Box,
8579
- {
8580
- mr: 4,
8581
- fontSize: "sm",
8582
- color: isDark ? "whiteAlpha.800" : "gray.500",
8583
- children: ".veworld.vet"
8584
- }
8585
- )
8586
- }
8587
- )
8588
- ] }),
8589
- error && hasInteracted && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { color: "red.500", fontSize: "sm", children: error }),
8590
- !error && hasInteracted && name.length >= 3 && /* @__PURE__ */ jsxRuntime.jsx(
8591
- react.Text,
8787
+ /* @__PURE__ */ jsxRuntime.jsx(
8788
+ react.InputRightElement,
8592
8789
  {
8593
- fontSize: "sm",
8594
- color: isAvailable ? "green.500" : "red.500",
8595
- fontWeight: "500",
8596
- children: isOwnDomain ? t("YOU OWN THIS") : isAvailable ? t("AVAILABLE") : t("UNAVAILABLE")
8790
+ width: "auto",
8791
+ paddingRight: "12px",
8792
+ h: "full",
8793
+ children: /* @__PURE__ */ jsxRuntime.jsx(
8794
+ react.Box,
8795
+ {
8796
+ mr: 4,
8797
+ fontSize: "sm",
8798
+ color: isDark ? "whiteAlpha.800" : "gray.500",
8799
+ children: ".veworld.vet"
8800
+ }
8801
+ )
8597
8802
  }
8598
8803
  )
8599
- ] })
8600
- ] }),
8804
+ ] }),
8805
+ error && hasInteracted && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { color: "red.500", fontSize: "sm", children: error }),
8806
+ !error && hasInteracted && name.length >= 3 && /* @__PURE__ */ jsxRuntime.jsx(
8807
+ react.Text,
8808
+ {
8809
+ fontSize: "sm",
8810
+ color: isAvailable ? "green.500" : "red.500",
8811
+ fontWeight: "500",
8812
+ children: isOwnDomain ? t("YOU OWN THIS") : isAvailable ? t("AVAILABLE") : t("UNAVAILABLE")
8813
+ }
8814
+ )
8815
+ ] }) }),
8601
8816
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8602
8817
  react.Button,
8603
8818
  {
@@ -9439,6 +9654,7 @@ var en_default = {
9439
9654
  "Continue with Google": "Continue with Google",
9440
9655
  "Copy your address or scan this QR code": "Copy your address or scan this QR code",
9441
9656
  Current: "Current",
9657
+ "Current domain": "Current domain",
9442
9658
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.",
9443
9659
  "Customize Account": "Customize Account",
9444
9660
  "Customize account": "Customize account",
@@ -9537,6 +9753,7 @@ var en_default = {
9537
9753
  Passkey: "Passkey",
9538
9754
  "Phone Number": "Phone Number",
9539
9755
  "Please approve the request in the connection request window...": "Please approve the request in the connection request window...",
9756
+ "Please be sure to keep this wallet safe and backed up.": "Please be sure to keep this wallet safe and backed up.",
9540
9757
  "Please check {{email}} for an email from privy.io and enter your code below.": "Please check {{email}} for an email from privy.io and enter your code below.",
9541
9758
  "Please click 'Try again' to open the login window.": "Please click 'Try again' to open the login window.",
9542
9759
  "Please complete the passkey authentication...": "Please complete the passkey authentication...",
@@ -9601,6 +9818,7 @@ var en_default = {
9601
9818
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.",
9602
9819
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.",
9603
9820
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.",
9821
+ "This is your main wallet, created by {{element}} and secured by Privy.": "This is your main wallet, created by {{element}} and secured by Privy.",
9604
9822
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.",
9605
9823
  "This may take a few seconds. You can close this window and check the status later.": "This may take a few seconds. You can close this window and check the status later.",
9606
9824
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.",
@@ -9689,8 +9907,8 @@ var en_default = {
9689
9907
  "your@email.com": "your@email.com",
9690
9908
  "{{element}} website": "{{element}} website",
9691
9909
  "{{name}}": "{{name}}",
9692
- "This is your main wallet, created by {{element}} and secured by Privy.": "This is your main wallet, created by {{element}} and secured by Privy.",
9693
- "Please be sure to keep this wallet safe and backed up.": "Please be sure to keep this wallet safe and backed up."
9910
+ "Sending to OceanX or other exchanges may result in loss of funds.": "Sending to OceanX or other exchanges may result in loss of funds.",
9911
+ "Send the tokens to your VeWorld wallet first.": "Send the tokens to your VeWorld wallet first."
9694
9912
  };
9695
9913
 
9696
9914
  // src/languages/de.json
@@ -9779,6 +9997,7 @@ var de_default = {
9779
9997
  "Continue with Google": "Mit Google fortfahren",
9780
9998
  "Copy your address or scan this QR code": "Kopieren Sie Ihre Adresse oder scannen Sie diesen QR-Code",
9781
9999
  Current: "Aktuell",
10000
+ "Current domain": "Aktuelle Domain",
9782
10001
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Derzeit werden Multiclauses-Transaktionen f\xFCr Smart-Konten nicht unterst\xFCtzt. Ihre Multiclause-Transaktion wird in mehrere Transaktionen aufgeteilt.",
9783
10002
  "Customize Account": "Konto anpassen",
9784
10003
  "Customize account": "Konto anpassen",
@@ -9877,6 +10096,7 @@ var de_default = {
9877
10096
  Passkey: "Passwort",
9878
10097
  "Phone Number": "Telefonnummer",
9879
10098
  "Please approve the request in the connection request window...": "Bitte genehmigen Sie die Anfrage im Verbindungsanfragefenster...",
10099
+ "Please be sure to keep this wallet safe and backed up.": "Bitte stellen Sie sicher, dass diese Brieftasche sicher und gesichert aufbewahrt wird.",
9880
10100
  "Please check {{email}} for an email from privy.io and enter your code below.": "Bitte \xFCberpr\xFCfen Sie {{email}} auf eine E-Mail von privy.io und geben Sie Ihren Code unten ein.",
9881
10101
  "Please click 'Try again' to open the login window.": "Bitte klicken Sie auf 'Erneut versuchen', um das Anmeldefenster zu \xF6ffnen.",
9882
10102
  "Please complete the passkey authentication...": "Bitte schlie\xDFen Sie die Passworthauthentifizierung ab...",
@@ -9941,6 +10161,7 @@ var de_default = {
9941
10161
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Dies ist Ihr Hauptwallet und Ihre Identit\xE4t. Bitte stellen Sie sicher, dass es sicher und gesichert ist. Gehen Sie zur {{element}} App oder Erweiterung, um Ihr Wallet und Ihre Sicherheitseinstellungen zu verwalten.",
9942
10162
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Dies ist Ihr Hauptwallet und Ihre Identit\xE4t. Bitte achten Sie darauf, es sicher zu verwahren und ein Backup zu erstellen. Gehen Sie auf die {{element}} Website, um Ihre Anmeldemethoden und Sicherheitseinstellungen zu verwalten.",
9943
10163
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Dies ist Ihre Hauptgeldb\xF6rse und Identit\xE4t. Bitte achten Sie darauf, sie sicher und abgesichert zu halten. Besuchen Sie die Website von {{element}}, um Ihre Geldb\xF6rse und Sicherheitseinstellungen zu verwalten.",
10164
+ "This is your main wallet, created by {{element}} and secured by Privy.": "Dies ist Ihre Hauptbrieftasche, erstellt von {{element}} und gesichert durch Privy.",
9944
10165
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Dies ist Ihr Haupt-Wallet, erstellt von {{element}} und gesichert von Privy. Dieses Wallet ist der Besitzer Ihres Smart-Accounts, der als Ihre Identit\xE4t und als Tor f\xFCr Ihre Blockchain-Interaktionen verwendet wird. Bitte stellen Sie sicher, dass es sicher und gesichert ist.",
9945
10166
  "This may take a few seconds. You can close this window and check the status later.": "Dies kann einige Sekunden dauern. Sie k\xF6nnen dieses Fenster schlie\xDFen und den Status sp\xE4ter \xFCberpr\xFCfen.",
9946
10167
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Dieses Wallet ist der Besitzer Ihres Smart-Accounts, der als Ihre Identit\xE4t und als Tor f\xFCr Ihre Blockchain-Interaktionen verwendet wird.",
@@ -10117,6 +10338,7 @@ var it_default = {
10117
10338
  "Continue with Google": "Continua con Google",
10118
10339
  "Copy your address or scan this QR code": "Copia il tuo indirizzo o scansiona questo codice QR",
10119
10340
  Current: "Attuale",
10341
+ "Current domain": "Dominio attuale",
10120
10342
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Attualmente, le transazioni multiclausole non sono supportate per gli account smart. La tua transazione multiclausola sar\xE0 divisa in pi\xF9 transazioni.",
10121
10343
  "Customize Account": "Personalizza Account",
10122
10344
  "Customize account": "Personalizza account",
@@ -10215,6 +10437,7 @@ var it_default = {
10215
10437
  Passkey: "Chiave di accesso",
10216
10438
  "Phone Number": "Numero di telefono",
10217
10439
  "Please approve the request in the connection request window...": "Si prega di approvare la richiesta nella finestra della richiesta di connessione...",
10440
+ "Please be sure to keep this wallet safe and backed up.": "Si prega di assicurarsi che questo portafoglio sia al sicuro e con un backup.",
10218
10441
  "Please check {{email}} for an email from privy.io and enter your code below.": "Controlla {{email}} per un'email da privy.io e inserisci il tuo codice qui sotto.",
10219
10442
  "Please click 'Try again' to open the login window.": "Fai clic su 'Riprova' per aprire la finestra di accesso.",
10220
10443
  "Please complete the passkey authentication...": "Si prega di completare l'autenticazione con chiave di accesso...",
@@ -10279,6 +10502,7 @@ var it_default = {
10279
10502
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Questo \xE8 il tuo portafoglio principale e la tua identit\xE0. Assicurati di tenerlo al sicuro e di eseguire il backup. Vai all'app o all'estensione {{element}} per gestire il tuo portafoglio e le impostazioni di sicurezza.",
10280
10503
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Questo \xE8 il tuo portafoglio principale e la tua identit\xE0. Assicurati di tenerlo al sicuro e di fare un backup. Vai al sito web {{element}} per gestire i metodi di accesso e le impostazioni di sicurezza.",
10281
10504
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Questo \xE8 il tuo portafoglio e identit\xE0 principale. Assicurati di tenerlo al sicuro e di averne una copia di backup. Vai al sito web di {{element}} per gestire le impostazioni del tuo portafoglio e della sicurezza.",
10505
+ "This is your main wallet, created by {{element}} and secured by Privy.": "Questo \xE8 il tuo portafoglio principale, creato da {{element}} e protetto da Privy.",
10282
10506
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Questo \xE8 il tuo portafoglio principale, creato da {{element}} e protetto da Privy. Questo portafoglio \xE8 il proprietario del tuo account smart, che \xE8 utilizzato come la tua identit\xE0 e come un gateway per le tue interazioni con la blockchain. Assicurati di tenerlo al sicuro e di eseguirne il backup.",
10283
10507
  "This may take a few seconds. You can close this window and check the status later.": "Potrebbe richiedere alcuni secondi. Puoi chiudere questa finestra e controllare lo stato pi\xF9 tardi.",
10284
10508
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Questo portafoglio \xE8 il proprietario del tuo account smart, che \xE8 utilizzato come la tua identit\xE0 e come un gateway per le tue interazioni con la blockchain.",
@@ -10455,6 +10679,7 @@ var fr_default = {
10455
10679
  "Continue with Google": "Continuer avec Google",
10456
10680
  "Copy your address or scan this QR code": "Copiez votre adresse ou scannez ce code QR",
10457
10681
  Current: "Actuel",
10682
+ "Current domain": "Domaine actuel",
10458
10683
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Actuellement, les transactions \xE0 clauses multiples ne sont pas prises en charge pour les comptes intelligents. Votre transaction \xE0 clauses multiples sera divis\xE9e en plusieurs transactions.",
10459
10684
  "Customize Account": "Personnaliser le compte",
10460
10685
  "Customize account": "Personnaliser le compte",
@@ -10553,6 +10778,7 @@ var fr_default = {
10553
10778
  Passkey: "Cl\xE9 de passe",
10554
10779
  "Phone Number": "Num\xE9ro de t\xE9l\xE9phone",
10555
10780
  "Please approve the request in the connection request window...": "Veuillez approuver la demande dans la fen\xEAtre de demande de connexion...",
10781
+ "Please be sure to keep this wallet safe and backed up.": "Veuillez vous assurer que ce portefeuille est en s\xE9curit\xE9 et sauvegard\xE9.",
10556
10782
  "Please check {{email}} for an email from privy.io and enter your code below.": "Veuillez v\xE9rifier {{email}} pour un email de privy.io et entrez votre code ci-dessous.",
10557
10783
  "Please click 'Try again' to open the login window.": "Veuillez cliquer sur 'R\xE9essayer' pour ouvrir la fen\xEAtre de connexion.",
10558
10784
  "Please complete the passkey authentication...": "Veuillez compl\xE9ter l'authentification par cl\xE9 de passe...",
@@ -10617,6 +10843,7 @@ var fr_default = {
10617
10843
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Ceci est votre portefeuille principal et votre identit\xE9. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9. Allez dans l'application ou l'extension {{element}} pour g\xE9rer votre portefeuille et vos param\xE8tres de s\xE9curit\xE9.",
10618
10844
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Ceci est votre portefeuille et identit\xE9 principaux. Veuillez vous assurer de les garder en s\xE9curit\xE9 et sauvegard\xE9s. Allez sur le site {{element}} pour g\xE9rer vos m\xE9thodes de connexion et vos param\xE8tres de s\xE9curit\xE9.",
10619
10845
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Ceci est votre portefeuille principal et votre identit\xE9. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9. Allez sur le site {{element}} pour g\xE9rer votre portefeuille et vos param\xE8tres de s\xE9curit\xE9.",
10846
+ "This is your main wallet, created by {{element}} and secured by Privy.": "Ceci est votre portefeuille principal, cr\xE9\xE9 par {{element}} et s\xE9curis\xE9 par Privy.",
10620
10847
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Ceci est votre portefeuille principal, cr\xE9\xE9 par {{element}} et s\xE9curis\xE9 par Privy. Ce portefeuille est le propri\xE9taire de votre compte intelligent, qui est utilis\xE9 comme votre identit\xE9 et comme une passerelle pour vos interactions blockchain. Veuillez vous assurer de le garder en s\xE9curit\xE9 et sauvegard\xE9.",
10621
10848
  "This may take a few seconds. You can close this window and check the status later.": "Cela peut prendre quelques secondes. Vous pouvez fermer cette fen\xEAtre et v\xE9rifier le statut plus tard.",
10622
10849
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Ce portefeuille est le propri\xE9taire de votre compte intelligent, qui est utilis\xE9 comme votre identit\xE9 et comme une passerelle pour vos interactions blockchain.",
@@ -10793,6 +11020,7 @@ var es_default = {
10793
11020
  "Continue with Google": "Continuar con Google",
10794
11021
  "Copy your address or scan this QR code": "Copia tu direcci\xF3n o escanea este c\xF3digo QR",
10795
11022
  Current: "Actual",
11023
+ "Current domain": "Dominio actual",
10796
11024
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "Actualmente, las transacciones con m\xFAltiples cl\xE1usulas no son compatibles con las cuentas inteligentes. Su transacci\xF3n con m\xFAltiples cl\xE1usulas se dividir\xE1 en varias transacciones.",
10797
11025
  "Customize Account": "Personalizar Cuenta",
10798
11026
  "Customize account": "Personalizar cuenta",
@@ -10891,6 +11119,7 @@ var es_default = {
10891
11119
  Passkey: "Clave de acceso",
10892
11120
  "Phone Number": "N\xFAmero de tel\xE9fono",
10893
11121
  "Please approve the request in the connection request window...": "Por favor, aprueba la solicitud en la ventana de solicitud de conexi\xF3n...",
11122
+ "Please be sure to keep this wallet safe and backed up.": "Por favor, aseg\xFArese de mantener esta billetera segura y respaldada.",
10894
11123
  "Please check {{email}} for an email from privy.io and enter your code below.": "Por favor, revisa {{email}} para un correo electr\xF3nico de privy.io e ingresa tu c\xF3digo a continuaci\xF3n.",
10895
11124
  "Please click 'Try again' to open the login window.": "Por favor, haz clic en 'Intentar de nuevo' para abrir la ventana de inicio de sesi\xF3n.",
10896
11125
  "Please complete the passkey authentication...": "Por favor, completa la autenticaci\xF3n de clave de acceso...",
@@ -10955,6 +11184,7 @@ var es_default = {
10955
11184
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "Este es tu monedero principal e identidad. Aseg\xFArate de mantenerlo seguro y respaldado. Ve a la aplicaci\xF3n o extensi\xF3n de {{element}} para gestionar tu monedero y la configuraci\xF3n de seguridad.",
10956
11185
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "Esta es tu billetera e identidad principal. Aseg\xFArate de mantenerla segura y respaldada. Ve al sitio web de {{element}} para gestionar tus m\xE9todos de inicio de sesi\xF3n y configuraciones de seguridad.",
10957
11186
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "Esta es su billetera principal e identidad. Aseg\xFArese de mantenerla segura y respaldada. Vaya al sitio web de {{element}} para administrar su billetera y la configuraci\xF3n de seguridad.",
11187
+ "This is your main wallet, created by {{element}} and secured by Privy.": "Esta es su billetera principal, creada por {{element}} y asegurada por Privy.",
10958
11188
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "Esta es tu billetera principal, creada por {{element}} y asegurada por Privy. Esta billetera es la propietaria de tu cuenta inteligente, la cual se utiliza como tu identidad y como puerta de entrada para tus interacciones con la blockchain. Por favor, aseg\xFArate de mantenerla segura y respaldada.",
10959
11189
  "This may take a few seconds. You can close this window and check the status later.": "Esto puede tardar unos segundos. Puede cerrar esta ventana y comprobar el estado m\xE1s tarde.",
10960
11190
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "Esta billetera es la propietaria de tu cuenta inteligente, la cual se utiliza como tu identidad y como puerta de entrada para tus interacciones con la blockchain.",
@@ -11131,6 +11361,7 @@ var zh_default = {
11131
11361
  "Continue with Google": "\u901A\u8FC7Google\u7EE7\u7EED",
11132
11362
  "Copy your address or scan this QR code": "\u590D\u5236\u60A8\u7684\u5730\u5740\u6216\u626B\u63CF\u6B64\u4E8C\u7EF4\u7801",
11133
11363
  Current: "\u5F53\u524D",
11364
+ "Current domain": "\u5F53\u524D\u57DF\u540D",
11134
11365
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "\u5F53\u524D\uFF0C\u4E0D\u652F\u6301\u667A\u80FD\u8D26\u6237\u7684\u591A\u6761\u6B3E\u4EA4\u6613\u3002\u60A8\u7684\u591A\u6761\u6B3E\u4EA4\u6613\u5C06\u88AB\u62C6\u5206\u4E3A\u591A\u7B14\u4EA4\u6613\u3002",
11135
11366
  "Customize Account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
11136
11367
  "Customize account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
@@ -11229,6 +11460,7 @@ var zh_default = {
11229
11460
  Passkey: "\u901A\u884C\u5BC6\u94A5",
11230
11461
  "Phone Number": "\u7535\u8BDD\u53F7\u7801",
11231
11462
  "Please approve the request in the connection request window...": "\u8BF7\u5728\u8FDE\u63A5\u8BF7\u6C42\u7A97\u53E3\u4E2D\u6279\u51C6\u8BF7\u6C42...",
11463
+ "Please be sure to keep this wallet safe and backed up.": "\u8BF7\u52A1\u5FC5\u4FDD\u8BC1\u6B64\u94B1\u5305\u7684\u5B89\u5168\u5E76\u8FDB\u884C\u5907\u4EFD\u3002",
11232
11464
  "Please check {{email}} for an email from privy.io and enter your code below.": "\u8BF7\u67E5\u770B {{email}} \u662F\u5426\u6709\u6765\u81EA privy.io \u7684\u7535\u5B50\u90AE\u4EF6\uFF0C\u5E76\u5728\u4E0B\u65B9\u8F93\u5165\u60A8\u7684\u4EE3\u7801\u3002",
11233
11465
  "Please click 'Try again' to open the login window.": "\u8BF7\u70B9\u51FB\u201C\u91CD\u8BD5\u201D\u4EE5\u6253\u5F00\u767B\u5F55\u7A97\u53E3\u3002",
11234
11466
  "Please complete the passkey authentication...": "\u8BF7\u5B8C\u6210\u901A\u884C\u5BC6\u94A5\u8BA4\u8BC1...",
@@ -11293,6 +11525,7 @@ var zh_default = {
11293
11525
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u8981\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u52A1\u5FC5\u59A5\u5584\u4FDD\u7BA1\u5E76\u5907\u4EFD\u3002\u8BF7\u524D\u5F80{{element}}\u5E94\u7528\u7A0B\u5E8F\u6216\u6269\u5C55\u7BA1\u7406\u60A8\u7684\u94B1\u5305\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
11294
11526
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u52A1\u5FC5\u786E\u4FDD\u5176\u5B89\u5168\u5E76\u5907\u4EFD\u3002\u524D\u5F80 {{element}} \u7F51\u7AD9\u7BA1\u7406\u60A8\u7684\u767B\u5F55\u65B9\u5F0F\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
11295
11527
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u8981\u94B1\u5305\u548C\u8EAB\u4EFD\u3002\u8BF7\u786E\u4FDD\u5176\u5B89\u5168\u5E76\u8FDB\u884C\u5907\u4EFD\u3002\u8BBF\u95EE{{element}}\u7F51\u7AD9\u4EE5\u7BA1\u7406\u60A8\u7684\u94B1\u5305\u548C\u5B89\u5168\u8BBE\u7F6E\u3002",
11528
+ "This is your main wallet, created by {{element}} and secured by Privy.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\uFF0C\u7531{{element}}\u521B\u5EFA\uFF0C\u5E76\u7531Privy\u4FDD\u62A4\u3002",
11296
11529
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "\u8FD9\u662F\u60A8\u7684\u4E3B\u94B1\u5305\uFF0C\u7531{{element}}\u521B\u5EFA\u5E76\u901A\u8FC7Privy\u4FDD\u62A4\u3002\u6B64\u94B1\u5305\u662F\u60A8\u7684\u667A\u80FD\u8D26\u6237\u6240\u6709\u8005\uFF0C\u7528\u4F5C\u60A8\u7684\u8EAB\u4EFD\u6807\u8BC6\u4EE5\u53CA\u533A\u5757\u94FE\u4EA4\u4E92\u7684\u7F51\u5173\u3002\u8BF7\u52A1\u5FC5\u786E\u4FDD\u94B1\u5305\u7684\u5B89\u5168\u6027\u5E76\u8FDB\u884C\u5907\u4EFD\u3002",
11297
11530
  "This may take a few seconds. You can close this window and check the status later.": "\u8FD9\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u949F\u3002\u60A8\u53EF\u4EE5\u5173\u95ED\u6B64\u7A97\u53E3\uFF0C\u7A0D\u540E\u67E5\u770B\u72B6\u6001\u3002",
11298
11531
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "\u6B64\u94B1\u5305\u662F\u60A8\u7684\u667A\u80FD\u8D26\u6237\u6240\u6709\u8005\uFF0C\u7528\u4F5C\u60A8\u7684\u8EAB\u4EFD\u6807\u8BC6\u4EE5\u53CA\u533A\u5757\u94FE\u4EA4\u4E92\u7684\u7F51\u5173\u3002",
@@ -11469,6 +11702,7 @@ var ja_default = {
11469
11702
  "Continue with Google": "Google\u3067\u7D9A\u884C",
11470
11703
  "Copy your address or scan this QR code": "\u30A2\u30C9\u30EC\u30B9\u3092\u30B3\u30D4\u30FC\u3059\u308B\u304B\u3001\u3053\u306EQR\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044",
11471
11704
  Current: "\u73FE\u5728",
11705
+ "Current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3",
11472
11706
  "Currently, multiclause transactions are not supported for smart accounts. Your multiclause transaction will be split into multiple transactions.": "\u73FE\u5728\u3001\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u306F\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3042\u306A\u305F\u306E\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u8907\u6570\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u5206\u5272\u3055\u308C\u307E\u3059\u3002",
11473
11707
  "Customize Account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
11474
11708
  "Customize account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
@@ -11567,6 +11801,7 @@ var ja_default = {
11567
11801
  Passkey: "\u30D1\u30B9\u30AD\u30FC",
11568
11802
  "Phone Number": "\u96FB\u8A71\u756A\u53F7",
11569
11803
  "Please approve the request in the connection request window...": "\u63A5\u7D9A\u30EA\u30AF\u30A8\u30B9\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044...",
11804
+ "Please be sure to keep this wallet safe and backed up.": "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u308B\u3088\u3046\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
11570
11805
  "Please check {{email}} for an email from privy.io and enter your code below.": "{{email}} \u306B privy.io \u304B\u3089\u306E\u30E1\u30FC\u30EB\u304C\u5C4A\u3044\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3001\u4EE5\u4E0B\u306B\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
11571
11806
  "Please click 'Try again' to open the login window.": "\u300C\u518D\u8A66\u884C\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u3044\u3066\u304F\u3060\u3055\u3044\u3002",
11572
11807
  "Please complete the passkey authentication...": "\u30D1\u30B9\u30AD\u30FC\u8A8D\u8A3C\u3092\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044...",
@@ -11631,6 +11866,7 @@ var ja_default = {
11631
11866
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} app or extension to manage your wallet and security settings.": "\u3053\u308C\u306F\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u306B\u306F\u3001{{element}} \u30A2\u30D7\u30EA\u307E\u305F\u306F\u62E1\u5F35\u6A5F\u80FD\u306B\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
11632
11867
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your login methods and security settings.": "\u3053\u308C\u304C\u3042\u306A\u305F\u306E\u4E3B\u8981\u306A\u30A6\u30A9\u30EC\u30C3\u30C8\u3068ID\u3067\u3059\u3002\u5FC5\u305A\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u305F\u3081\u306B{{element}}\u306E\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306B\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
11633
11868
  "This is your main wallet and identity. Please be sure to keep it safe and backed up. Go to {{element}} website to manage your wallet and security settings.": "\u3053\u308C\u304C\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3067\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u306B\u306F{{element}}\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
11869
+ "This is your main wallet, created by {{element}} and secured by Privy.": "\u3053\u308C\u306F\u3001{{element}}\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u3001Privy\u306B\u3088\u3063\u3066\u4FDD\u8B77\u3055\u308C\u305F\u3042\u306A\u305F\u306E\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u3059\u3002",
11634
11870
  "This is your main wallet, created by {{element}} and secured by Privy. This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions. Please be sure to keep it safe and backed up.": "{{element}}\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u3001Privy\u306B\u3088\u3063\u3066\u4FDD\u8B77\u3055\u308C\u305F\u30E1\u30A4\u30F3\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u3059\u3002\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u3001\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u6240\u6709\u8005\u3067\u3042\u308A\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u3068\u306E\u3084\u308A\u53D6\u308A\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3068\u3057\u3066\u6A5F\u80FD\u3057\u307E\u3059\u3002\u5B89\u5168\u306B\u4FDD\u7BA1\u3057\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u78BA\u5B9F\u306B\u53D6\u3063\u3066\u304F\u3060\u3055\u3044\u3002",
11635
11871
  "This may take a few seconds. You can close this window and check the status later.": "\u6570\u79D2\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u3066\u5F8C\u3067\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u78BA\u8A8D\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
11636
11872
  "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions.": "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u3001\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u308B\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u6240\u6709\u8005\u3067\u3042\u308A\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u3068\u306E\u3084\u308A\u53D6\u308A\u306E\u30B2\u30FC\u30C8\u30A6\u30A7\u30A4\u3068\u3057\u3066\u6A5F\u80FD\u3057\u307E\u3059\u3002",
@@ -13179,7 +13415,6 @@ var AccountModal = ({
13179
13415
  );
13180
13416
  };
13181
13417
  var ConnectModal = ({ isOpen, onClose }) => {
13182
- const { loginModalUI } = useVeChainKitConfig();
13183
13418
  const [currentContent, setCurrentContent] = React9.useState("main");
13184
13419
  React9.useEffect(() => {
13185
13420
  if (isOpen) {
@@ -13193,8 +13428,7 @@ var ConnectModal = ({ isOpen, onClose }) => {
13193
13428
  MainContent,
13194
13429
  {
13195
13430
  setCurrentContent,
13196
- onClose,
13197
- variant: loginModalUI?.variant
13431
+ onClose
13198
13432
  }
13199
13433
  );
13200
13434
  case "faq":
@@ -13352,13 +13586,10 @@ var ConnectedWallet = ({
13352
13586
  const [isDesktop] = react.useMediaQuery("(min-width: 768px)");
13353
13587
  return /* @__PURE__ */ jsxRuntime.jsx(react.Button, { ...buttonStyle, onClick: onOpen, p: "0px 13px", minH: "45px", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
13354
13588
  /* @__PURE__ */ jsxRuntime.jsx(
13355
- react.Image,
13589
+ AccountAvatar,
13356
13590
  {
13357
- src: account?.image ?? chunkEO3CLT4E_cjs.notFoundImage,
13358
- alt: "wallet",
13359
- width: 30,
13360
- height: 30,
13361
- borderRadius: "50%"
13591
+ wallet: account,
13592
+ props: { width: 30, height: 30 }
13362
13593
  }
13363
13594
  ),
13364
13595
  !isDesktop && /* @__PURE__ */ jsxRuntime.jsx(WalletDisplay, { variant: mobileVariant }),
@@ -13948,14 +14179,13 @@ var VeChainKitProvider = ({
13948
14179
  feeDelegation,
13949
14180
  dappKit,
13950
14181
  loginModalUI = {
13951
- variant: "vechain-and-wallet",
13952
14182
  description: "Choose between social login through VeChain or by connecting your wallet."
13953
14183
  },
14184
+ loginMethods,
13954
14185
  darkMode = false,
13955
14186
  i18n: i18nConfig,
13956
14187
  language = "en",
13957
- network,
13958
- privyEcosystemAppIDS = DEFAULT_PRIVY_ECOSYSTEM_APP_IDS
14188
+ network
13959
14189
  }) => {
13960
14190
  const [isConnectModalOpen, setIsConnectModalOpen] = React9.useState(false);
13961
14191
  const openConnectModal = React9.useCallback(() => setIsConnectModalOpen(true), []);
@@ -13988,9 +14218,15 @@ var VeChainKitProvider = ({
13988
14218
  []
13989
14219
  );
13990
14220
  const [accountModalContent, setAccountModalContent] = React9.useState("main");
13991
- const loginMethods = [
14221
+ const allowedEcosystemApps = React9.useMemo(() => {
14222
+ const userEcosystemMethods = loginMethods?.find(
14223
+ (method35) => method35.method === "ecosystem"
14224
+ );
14225
+ return userEcosystemMethods?.allowedApps ?? DEFAULT_PRIVY_ECOSYSTEM_APP_IDS;
14226
+ }, [loginMethods]);
14227
+ const privyLoginMethods = [
13992
14228
  ...privy?.loginMethods ?? [],
13993
- ...(privyEcosystemAppIDS ?? []).map((appID) => `privy:${appID}`)
14229
+ ...allowedEcosystemApps.map((appID) => `privy:${appID}`)
13994
14230
  ];
13995
14231
  let privyAppId, privyClientId;
13996
14232
  if (!privy) {
@@ -14019,20 +14255,20 @@ var VeChainKitProvider = ({
14019
14255
  }, [language, i18nConfig]);
14020
14256
  return /* @__PURE__ */ jsxRuntime.jsxs(EnsureQueryClient, { children: [
14021
14257
  /* @__PURE__ */ jsxRuntime.jsx(reactQueryDevtools.ReactQueryDevtools, { initialIsOpen: false }),
14022
- /* @__PURE__ */ jsxRuntime.jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS, children: /* @__PURE__ */ jsxRuntime.jsx(
14258
+ /* @__PURE__ */ jsxRuntime.jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS: allowedEcosystemApps, children: /* @__PURE__ */ jsxRuntime.jsx(
14023
14259
  VeChainKitContext.Provider,
14024
14260
  {
14025
14261
  value: {
14026
14262
  privy,
14027
- privyEcosystemAppIDS,
14263
+ privyEcosystemAppIDS: allowedEcosystemApps,
14028
14264
  feeDelegation,
14029
14265
  dappKit,
14030
14266
  loginModalUI,
14267
+ loginMethods,
14031
14268
  darkMode,
14032
14269
  i18n: i18nConfig,
14033
14270
  language,
14034
14271
  network,
14035
- privySocialLoginEnabled: privy !== void 0,
14036
14272
  openConnectModal,
14037
14273
  closeConnectModal,
14038
14274
  isConnectModalOpen,
@@ -14055,7 +14291,7 @@ var VeChainKitProvider = ({
14055
14291
  config: {
14056
14292
  loginMethodsAndOrder: {
14057
14293
  // @ts-ignore
14058
- primary: loginMethods
14294
+ primary: privyLoginMethods
14059
14295
  },
14060
14296
  appearance: {
14061
14297
  theme: darkMode ? "dark" : "light",
@@ -14145,7 +14381,7 @@ var variants = {
14145
14381
  scrollbarWidth: "none",
14146
14382
  overflow: "scroll",
14147
14383
  overflowX: "hidden",
14148
- maxHeight: "520px",
14384
+ maxHeight: "540px",
14149
14385
  borderRadius: "24px",
14150
14386
  backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
14151
14387
  },
@@ -14373,6 +14609,7 @@ Object.defineProperty(exports, "useConnex", {
14373
14609
  get: function () { return dappKitReact.useConnex; }
14374
14610
  });
14375
14611
  exports.APP_SECURITY_LEVELS = APP_SECURITY_LEVELS;
14612
+ exports.AccountAvatar = AccountAvatar;
14376
14613
  exports.AccountCustomizationContent = AccountCustomizationContent;
14377
14614
  exports.AccountCustomizationModalProvider = AccountCustomizationModalProvider;
14378
14615
  exports.AccountDetailsButton = AccountDetailsButton;
@@ -14400,6 +14637,7 @@ exports.EcosystemModal = EcosystemModal;
14400
14637
  exports.EmailLoginButton = EmailLoginButton;
14401
14638
  exports.EmbeddedWalletContent = EmbeddedWalletContent;
14402
14639
  exports.EmbeddedWalletSettingsModalProvider = EmbeddedWalletSettingsModalProvider;
14640
+ exports.ExchangeWarningAlert = ExchangeWarningAlert;
14403
14641
  exports.ExploreEcosystemModalProvider = ExploreEcosystemModalProvider;
14404
14642
  exports.FAQContent = FAQContent;
14405
14643
  exports.FAQModalProvider = FAQModalProvider;
@@ -14650,6 +14888,7 @@ exports.useIsWhitelisted = useIsWhitelisted;
14650
14888
  exports.useLevelMultiplier = useLevelMultiplier;
14651
14889
  exports.useLevelOfToken = useLevelOfToken;
14652
14890
  exports.useLocalStorage = useLocalStorage;
14891
+ exports.useLoginModalContent = useLoginModalContent;
14653
14892
  exports.useLoginWithOAuth = useLoginWithOAuth2;
14654
14893
  exports.useLoginWithPasskey = useLoginWithPasskey;
14655
14894
  exports.useLoginWithVeChain = useLoginWithVeChain;