@vechain/vechain-kit 1.3.0 → 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,
@@ -4135,6 +4141,73 @@ var useAccountCustomizationModal = () => {
4135
4141
  var AccountCustomizationModalProvider = ({
4136
4142
  children
4137
4143
  }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
4144
+ var useReceiveModal = () => {
4145
+ const {
4146
+ openAccountModal,
4147
+ closeAccountModal,
4148
+ isAccountModalOpen,
4149
+ setAccountModalContent
4150
+ } = useVeChainKitConfig();
4151
+ const open = () => {
4152
+ setAccountModalContent("receive-token");
4153
+ openAccountModal();
4154
+ };
4155
+ const close = () => {
4156
+ closeAccountModal();
4157
+ };
4158
+ return {
4159
+ open,
4160
+ close,
4161
+ isOpen: isAccountModalOpen
4162
+ };
4163
+ };
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
+ };
4138
4211
  var ERC20Interface2 = chunkNKGOARGM_cjs.ERC20__factory.createInterface();
4139
4212
  var useTransferERC20 = ({
4140
4213
  fromAddress,
@@ -5213,7 +5286,7 @@ var AddressDisplay = ({ wallet, label, size = "lg" }) => {
5213
5286
  // package.json
5214
5287
  var package_default = {
5215
5288
  name: "@vechain/vechain-kit",
5216
- version: "1.3.0",
5289
+ version: "1.4.0",
5217
5290
  private: false,
5218
5291
  homepage: "https://github.com/vechain/vechain-kit",
5219
5292
  repository: "github:vechain/vechain-kit",
@@ -5239,8 +5312,8 @@ var package_default = {
5239
5312
  dependencies: {
5240
5313
  "@chakra-ui/react": "^2.8.2",
5241
5314
  "@choc-ui/chakra-autocomplete": "^5.3.0",
5242
- "@privy-io/cross-app-connect": "^0.1.3",
5243
- "@privy-io/react-auth": "2.0.1",
5315
+ "@privy-io/cross-app-connect": "^0.1.6",
5316
+ "@privy-io/react-auth": "2.3.0",
5244
5317
  "@rainbow-me/rainbowkit": "^2.1.5",
5245
5318
  "@tanstack/react-query": "^5.64.2",
5246
5319
  "@tanstack/react-query-devtools": "^5.64.1",
@@ -5575,7 +5648,8 @@ var AddressDisplayCard = ({
5575
5648
  src: imageSrc,
5576
5649
  alt: imageAlt,
5577
5650
  boxSize: "40px",
5578
- borderRadius: "xl"
5651
+ borderRadius: "xl",
5652
+ objectFit: "cover"
5579
5653
  }
5580
5654
  ),
5581
5655
  /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { align: "start", spacing: 0, children: domain ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -5625,6 +5699,22 @@ var ScrollToTopWrapper = ({ children, ...props }) => {
5625
5699
  useScrollToTop();
5626
5700
  return /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { ...props, children });
5627
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
+ };
5628
5718
  var VeChainLoginButton = ({ isDark, gridColumn }) => {
5629
5719
  const { t } = reactI18next.useTranslation();
5630
5720
  const { login: loginWithVeChain } = useLoginWithVeChain();
@@ -5670,12 +5760,19 @@ var VeChainLoginButton = ({ isDark, gridColumn }) => {
5670
5760
  )
5671
5761
  ] });
5672
5762
  };
5673
- var SocialLoginButtons = ({ isDark, loginModalUI }) => {
5763
+ var SocialLoginButtons = ({
5764
+ isDark,
5765
+ loginMethods,
5766
+ gridColumn
5767
+ }) => {
5674
5768
  const { t } = reactI18next.useTranslation();
5675
5769
  const { initOAuth } = useLoginWithOAuth2();
5676
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loginModalUI?.preferredLoginMethods?.map((method35, index) => /* @__PURE__ */ jsxRuntime.jsxs(React9__default.default.Fragment, { children: [
5677
- method35 === "email" && /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(EmailLoginButton, {}) }),
5678
- 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(
5679
5776
  ConnectionButton,
5680
5777
  {
5681
5778
  isDark,
@@ -5686,14 +5783,14 @@ var SocialLoginButtons = ({ isDark, loginModalUI }) => {
5686
5783
  text: t("Continue with Google")
5687
5784
  }
5688
5785
  ) }),
5689
- 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: [
5690
5787
  /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {}),
5691
5788
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", children: "or" }),
5692
5789
  /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {})
5693
5790
  ] }) })
5694
- ] }, method35)) });
5791
+ ] }, loginMethod.method)) });
5695
5792
  };
5696
- var PasskeyLoginButton = ({ isDark, gridColumn = 1 }) => {
5793
+ var PasskeyLoginButton = ({ isDark, gridColumn }) => {
5697
5794
  const { t } = reactI18next.useTranslation();
5698
5795
  const { loginWithPasskey } = useLoginWithPasskey();
5699
5796
  const [loginError, setLoginError] = React9.useState();
@@ -5717,7 +5814,8 @@ var PasskeyLoginButton = ({ isDark, gridColumn = 1 }) => {
5717
5814
  {
5718
5815
  isDark,
5719
5816
  onClick: handleLoginWithPasskey,
5720
- icon: io.IoIosFingerPrint
5817
+ icon: io.IoIosFingerPrint,
5818
+ text: gridColumn && gridColumn >= 2 ? t("Passkey") : void 0
5721
5819
  }
5722
5820
  ) }),
5723
5821
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5750,20 +5848,20 @@ var DappKitButton = ({ isDark, gridColumn = 2 }) => {
5750
5848
  };
5751
5849
  var EcosystemButton = ({
5752
5850
  isDark,
5753
- privySocialLoginEnabled,
5754
5851
  appsInfo,
5755
- isLoading
5852
+ isLoading,
5853
+ gridColumn
5756
5854
  }) => {
5757
5855
  const { t } = reactI18next.useTranslation();
5758
5856
  const ecosystemModal = react.useDisclosure();
5759
5857
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5760
- /* @__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(
5761
5859
  ConnectionButton,
5762
5860
  {
5763
5861
  isDark,
5764
5862
  onClick: ecosystemModal.onOpen,
5765
5863
  icon: io5.IoPlanet,
5766
- text: !privySocialLoginEnabled ? t("Ecosystem") : void 0
5864
+ text: gridColumn && gridColumn >= 2 ? t("Ecosystem") : void 0
5767
5865
  }
5768
5866
  ) }),
5769
5867
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5777,11 +5875,7 @@ var EcosystemButton = ({
5777
5875
  )
5778
5876
  ] });
5779
5877
  };
5780
- var PrivyButton = ({
5781
- isDark,
5782
- onViewMoreLogin,
5783
- gridColumn = 1
5784
- }) => {
5878
+ var PrivyButton = ({ isDark, onViewMoreLogin, gridColumn }) => {
5785
5879
  const { t } = reactI18next.useTranslation();
5786
5880
  return /* @__PURE__ */ jsxRuntime.jsx(react.GridItem, { colSpan: gridColumn, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
5787
5881
  ConnectionButton,
@@ -5789,7 +5883,7 @@ var PrivyButton = ({
5789
5883
  isDark,
5790
5884
  onClick: onViewMoreLogin,
5791
5885
  icon: ci.CiCircleMore,
5792
- text: gridColumn >= 2 ? t("More") : void 0
5886
+ text: gridColumn && gridColumn >= 2 ? t("More") : void 0
5793
5887
  }
5794
5888
  ) });
5795
5889
  };
@@ -6115,51 +6209,99 @@ var VeChainWithPrivyLoginButton = ({ isDark, gridColumn }) => {
6115
6209
  }
6116
6210
  ) });
6117
6211
  };
6118
- var MainContent = ({
6119
- setCurrentContent,
6120
- onClose,
6121
- variant = "vechain-wallet-ecosystem"
6122
- }) => {
6212
+ var MainContent = ({ setCurrentContent, onClose }) => {
6123
6213
  const { t } = reactI18next.useTranslation();
6124
6214
  const { darkMode: isDark } = useVeChainKitConfig();
6125
6215
  const { connection } = useWallet();
6126
- const { loginModalUI, privySocialLoginEnabled, privyEcosystemAppIDS } = useVeChainKitConfig();
6216
+ const { loginModalUI, privyEcosystemAppIDS, loginMethods } = useVeChainKitConfig();
6127
6217
  const { login: viewMoreLogin } = reactAuth.usePrivy();
6218
+ const {
6219
+ showSocialLogin,
6220
+ showPasskey,
6221
+ showVeChainLogin,
6222
+ showDappKit,
6223
+ showEcosystem,
6224
+ showMoreLogin,
6225
+ isOfficialVeChainApp
6226
+ } = useLoginModalContent();
6128
6227
  const { data: appsInfo, isLoading: isEcosystemAppsLoading } = useFetchAppInfo(privyEcosystemAppIDS);
6129
6228
  React9.useEffect(() => {
6130
6229
  if (connection.isConnected) {
6131
6230
  onClose();
6132
6231
  }
6133
6232
  }, [connection.isConnected, onClose]);
6134
- const dappKitGridColumn = React9.useMemo(() => {
6135
- switch (variant) {
6136
- case "full":
6137
- return 1;
6138
- case "vechain-and-wallet":
6139
- return 4;
6140
- case "vechain-wallet-ecosystem":
6141
- if (privyEcosystemAppIDS.length === 0) {
6142
- return 4;
6143
- }
6144
- return 2;
6145
- default:
6146
- if (!privySocialLoginEnabled || privyEcosystemAppIDS.length === 0) {
6147
- return 4;
6148
- }
6149
- return 1;
6150
- }
6151
- }, [variant, privySocialLoginEnabled, privyEcosystemAppIDS]);
6152
- const privyGridColumn = React9.useMemo(() => {
6153
- switch (variant) {
6154
- case "full":
6155
- if (privyEcosystemAppIDS.length === 0) {
6156
- return 2;
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;
6157
6257
  }
6158
- return 1;
6159
- default:
6160
- 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
+ };
6161
6288
  }
6162
- }, [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
+ ]);
6163
6305
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6164
6306
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
6165
6307
  /* @__PURE__ */ jsxRuntime.jsx(ModalFAQButton, { onClick: () => setCurrentContent("faq") }),
@@ -6206,53 +6348,56 @@ var MainContent = ({
6206
6348
  }
6207
6349
  ),
6208
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: [
6209
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(
6351
+ showSocialLogin && /* @__PURE__ */ jsxRuntime.jsx(
6210
6352
  SocialLoginButtons,
6211
6353
  {
6212
6354
  isDark,
6213
- loginModalUI
6355
+ loginMethods,
6356
+ gridColumn: gridLayout.socialLoginColumn
6214
6357
  }
6215
6358
  ),
6216
- variant === "vechain" ? (
6217
- // This exists because we want to use same button but connect
6218
- // with privy-auth instead of cross-app, used only by vechain.
6219
- /* @__PURE__ */ jsxRuntime.jsx(
6220
- VeChainWithPrivyLoginButton,
6221
- {
6222
- isDark,
6223
- gridColumn: 4
6224
- }
6225
- )
6359
+ showVeChainLogin && (isOfficialVeChainApp ? /* @__PURE__ */ jsxRuntime.jsx(
6360
+ VeChainWithPrivyLoginButton,
6361
+ {
6362
+ isDark,
6363
+ gridColumn: gridLayout.veChainColumn
6364
+ }
6226
6365
  ) : /* @__PURE__ */ jsxRuntime.jsx(
6227
6366
  VeChainLoginButton,
6228
6367
  {
6229
6368
  isDark,
6230
- gridColumn: 4
6369
+ gridColumn: gridLayout.veChainColumn
6370
+ }
6371
+ )),
6372
+ showPasskey && /* @__PURE__ */ jsxRuntime.jsx(
6373
+ PasskeyLoginButton,
6374
+ {
6375
+ isDark,
6376
+ gridColumn: gridLayout.passkeyColumn
6231
6377
  }
6232
6378
  ),
6233
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(PasskeyLoginButton, { isDark }),
6234
- /* @__PURE__ */ jsxRuntime.jsx(
6379
+ showDappKit && /* @__PURE__ */ jsxRuntime.jsx(
6235
6380
  DappKitButton,
6236
6381
  {
6237
6382
  isDark,
6238
- gridColumn: dappKitGridColumn
6383
+ gridColumn: gridLayout.dappKitColumn
6239
6384
  }
6240
6385
  ),
6241
- (variant === "full" || variant === "vechain-wallet-ecosystem") && privyEcosystemAppIDS.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
6386
+ showEcosystem && /* @__PURE__ */ jsxRuntime.jsx(
6242
6387
  EcosystemButton,
6243
6388
  {
6244
6389
  isDark,
6245
- privySocialLoginEnabled: variant === "full" && privySocialLoginEnabled,
6246
6390
  appsInfo: Object.values(appsInfo || {}),
6247
- isLoading: isEcosystemAppsLoading
6391
+ isLoading: isEcosystemAppsLoading,
6392
+ gridColumn: gridLayout.ecosystemColumn
6248
6393
  }
6249
6394
  ),
6250
- variant === "full" && privySocialLoginEnabled && /* @__PURE__ */ jsxRuntime.jsx(
6395
+ showMoreLogin && /* @__PURE__ */ jsxRuntime.jsx(
6251
6396
  PrivyButton,
6252
6397
  {
6253
6398
  isDark,
6254
6399
  onViewMoreLogin: viewMoreLogin,
6255
- gridColumn: privyGridColumn
6400
+ gridColumn: gridLayout.moreLoginColumn
6256
6401
  }
6257
6402
  )
6258
6403
  ] }) })
@@ -6317,6 +6462,31 @@ var FeatureAnnouncementCard = ({
6317
6462
  }
6318
6463
  );
6319
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
+ };
6320
6490
  var AccountMainContent = ({
6321
6491
  setCurrentContent,
6322
6492
  wallet,
@@ -6534,7 +6704,8 @@ var ActionButton = ({
6534
6704
  h: "35px",
6535
6705
  borderRadius: "full",
6536
6706
  alt: "left-image",
6537
- alignSelf: "end"
6707
+ alignSelf: "end",
6708
+ objectFit: "cover"
6538
6709
  }
6539
6710
  ) : /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: leftIcon, fontSize: "25px" }) }),
6540
6711
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -6590,13 +6761,10 @@ var AccountSelector = ({
6590
6761
  variant: "vechainKitSelector",
6591
6762
  children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 2, align: "center", children: [
6592
6763
  /* @__PURE__ */ jsxRuntime.jsx(
6593
- react.Image,
6764
+ AccountAvatar,
6594
6765
  {
6595
- src: wallet?.image,
6596
- alt: wallet?.domain,
6597
- width: 5,
6598
- height: 5,
6599
- rounded: "full"
6766
+ wallet,
6767
+ props: { width: 5, height: 5 }
6600
6768
  }
6601
6769
  ),
6602
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) }),
@@ -7154,14 +7322,31 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7154
7322
  ] }),
7155
7323
  connection.isConnectedWithCrossApp && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7156
7324
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.5, children: t(
7157
- "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.",
7325
+ "This is your main wallet, created by {{element}} and secured by Privy.",
7158
7326
  {
7159
7327
  element: connectionCache?.ecosystemApp?.name
7160
7328
  }
7161
7329
  ) }),
7162
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.5, mt: 5, children: t(
7163
- "A smart account is being used as a gateway for blockchain interactions."
7164
- ) })
7330
+ showFullText && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7331
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.5, children: t(
7332
+ "This wallet is the owner of your smart account, which is used as your identity and as a gateway for your blockchain interactions."
7333
+ ) }),
7334
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.5, children: t(
7335
+ "Please be sure to keep this wallet safe and backed up."
7336
+ ) })
7337
+ ] }),
7338
+ /* @__PURE__ */ jsxRuntime.jsx(
7339
+ react.Button,
7340
+ {
7341
+ mt: 0,
7342
+ variant: "link",
7343
+ size: "sm",
7344
+ onClick: () => setShowFullText(!showFullText),
7345
+ color: "blue.500",
7346
+ textAlign: "left",
7347
+ children: t(showFullText ? "Show Less" : "Read More")
7348
+ }
7349
+ )
7165
7350
  ] }),
7166
7351
  connection.isConnectedWithSocialLogin && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7167
7352
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.5, children: t(
@@ -7297,14 +7482,7 @@ var WalletSettingsContent = ({
7297
7482
  ] }),
7298
7483
  /* @__PURE__ */ jsxRuntime.jsxs(react.ModalBody, { w: "full", children: [
7299
7484
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { justify: "center", children: [
7300
- /* @__PURE__ */ jsxRuntime.jsx(
7301
- react.Image,
7302
- {
7303
- src: account?.image,
7304
- maxW: "100px",
7305
- borderRadius: "50%"
7306
- }
7307
- ),
7485
+ /* @__PURE__ */ jsxRuntime.jsx(AccountAvatar, { wallet: account, props: { maxW: "100px" } }),
7308
7486
  /* @__PURE__ */ jsxRuntime.jsx(AddressDisplay, { wallet: account }),
7309
7487
  network.type !== "main" && /* @__PURE__ */ jsxRuntime.jsx(
7310
7488
  react.Tag,
@@ -8022,6 +8200,14 @@ var SendTokenSummaryContent = ({
8022
8200
  const { darkMode: isDark } = useVeChainKitConfig();
8023
8201
  const { account, connection } = useWallet();
8024
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]);
8025
8211
  const transferERC20 = useTransferERC20({
8026
8212
  fromAddress: account?.address ?? "",
8027
8213
  receiverAddress: resolvedAddress || toAddressOrDomain,
@@ -8073,20 +8259,7 @@ var SendTokenSummaryContent = ({
8073
8259
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
8074
8260
  ] }),
8075
8261
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 6, align: "stretch", w: "full", children: [
8076
- connection.isConnectedWithPrivy && /* @__PURE__ */ jsxRuntime.jsxs(
8077
- react.Alert,
8078
- {
8079
- status: "warning",
8080
- fontSize: "xs",
8081
- borderRadius: "xl",
8082
- children: [
8083
- /* @__PURE__ */ jsxRuntime.jsx(react.AlertIcon, {}),
8084
- t(
8085
- "Sending to OceanX or other exchanges may result in loss of funds. Send the tokens to your VeWorld wallet first."
8086
- )
8087
- ]
8088
- }
8089
- ),
8262
+ connection.isConnectedWithPrivy && /* @__PURE__ */ jsxRuntime.jsx(ExchangeWarningAlert, {}),
8090
8263
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, w: "full", children: [
8091
8264
  /* @__PURE__ */ jsxRuntime.jsx(
8092
8265
  AddressDisplayCard,
@@ -8106,9 +8279,7 @@ var SendTokenSummaryContent = ({
8106
8279
  label: t("To"),
8107
8280
  address: resolvedAddress || toAddressOrDomain,
8108
8281
  domain: resolvedDomain,
8109
- imageSrc: chunkEO3CLT4E_cjs.getPicassoImage(
8110
- resolvedAddress || toAddressOrDomain
8111
- ),
8282
+ imageSrc: toImageSrc ?? "",
8112
8283
  imageAlt: "To account",
8113
8284
  symbol: selectedToken.symbol
8114
8285
  }
@@ -8352,6 +8523,123 @@ var ChooseNameContent = ({
8352
8523
  ] }) })
8353
8524
  ] });
8354
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
+ };
8355
8643
  var ChooseNameSearchContent = ({
8356
8644
  name: initialName,
8357
8645
  setCurrentContent
@@ -8462,104 +8750,69 @@ var ChooseNameSearchContent = ({
8462
8750
  ),
8463
8751
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
8464
8752
  ] }),
8465
- /* @__PURE__ */ jsxRuntime.jsxs(react.ModalBody, { children: [
8466
- 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: [
8467
8763
  /* @__PURE__ */ jsxRuntime.jsx(
8468
- react.Text,
8764
+ react.Input,
8469
8765
  {
8470
- fontSize: "sm",
8471
- fontWeight: "500",
8472
- color: isDark ? "whiteAlpha.800" : "gray.600",
8473
- 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
8474
8785
  }
8475
8786
  ),
8476
- /* @__PURE__ */ jsxRuntime.jsx(react.List, { spacing: 2, children: allUserDomains.map((domain) => {
8477
- const isCurrentDomain = domain.name === account?.domain;
8478
- return /* @__PURE__ */ jsxRuntime.jsx(
8479
- react.ListItem,
8480
- {
8481
- p: 3,
8482
- bg: isDark ? "#1a1a1a" : "gray.50",
8483
- borderRadius: "md",
8484
- cursor: isCurrentDomain ? "default" : "pointer",
8485
- opacity: isCurrentDomain ? 0.7 : 1,
8486
- _hover: {
8487
- bg: isCurrentDomain ? isDark ? "#1a1a1a" : "gray.50" : isDark ? "#252525" : "gray.100"
8488
- },
8489
- onClick: () => !isCurrentDomain && handleDomainSelect(domain.name),
8490
- children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "space-between", children: [
8491
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { children: domain.name }),
8492
- isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8493
- react.Tag,
8494
- {
8495
- size: "sm",
8496
- colorScheme: "green",
8497
- variant: "subtle",
8498
- children: t("Current")
8499
- }
8500
- )
8501
- ] })
8502
- },
8503
- domain.name
8504
- );
8505
- }) })
8506
- ] }) : null,
8507
- /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", children: [
8508
- /* @__PURE__ */ jsxRuntime.jsxs(react.InputGroup, { size: "lg", children: [
8509
- /* @__PURE__ */ jsxRuntime.jsx(
8510
- react.Input,
8511
- {
8512
- placeholder: t("Enter your name"),
8513
- value: name,
8514
- onChange: (e) => {
8515
- setName(e.target.value);
8516
- if (!hasInteracted) setHasInteracted(true);
8517
- },
8518
- paddingRight: "120px",
8519
- fontSize: "lg",
8520
- height: "60px",
8521
- bg: isDark ? "#1a1a1a" : "white",
8522
- border: `1px solid ${isDark ? "#ffffff29" : "#ebebeb"}`,
8523
- _hover: {
8524
- border: `1px solid ${isDark ? "#ffffff40" : "#e0e0e0"}`
8525
- },
8526
- _focus: {
8527
- border: `1px solid ${isDark ? "#ffffff60" : "#d0d0d0"}`,
8528
- boxShadow: "none"
8529
- },
8530
- isInvalid: !!error
8531
- }
8532
- ),
8533
- /* @__PURE__ */ jsxRuntime.jsx(
8534
- react.InputRightElement,
8535
- {
8536
- width: "auto",
8537
- paddingRight: "12px",
8538
- h: "full",
8539
- children: /* @__PURE__ */ jsxRuntime.jsx(
8540
- react.Box,
8541
- {
8542
- mr: 4,
8543
- fontSize: "sm",
8544
- color: isDark ? "whiteAlpha.800" : "gray.500",
8545
- children: ".veworld.vet"
8546
- }
8547
- )
8548
- }
8549
- )
8550
- ] }),
8551
- error && hasInteracted && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { color: "red.500", fontSize: "sm", children: error }),
8552
- !error && hasInteracted && name.length >= 3 && /* @__PURE__ */ jsxRuntime.jsx(
8553
- react.Text,
8787
+ /* @__PURE__ */ jsxRuntime.jsx(
8788
+ react.InputRightElement,
8554
8789
  {
8555
- fontSize: "sm",
8556
- color: isAvailable ? "green.500" : "red.500",
8557
- fontWeight: "500",
8558
- 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
+ )
8559
8802
  }
8560
8803
  )
8561
- ] })
8562
- ] }),
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
+ ] }) }),
8563
8816
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8564
8817
  react.Button,
8565
8818
  {
@@ -9401,6 +9654,7 @@ var en_default = {
9401
9654
  "Continue with Google": "Continue with Google",
9402
9655
  "Copy your address or scan this QR code": "Copy your address or scan this QR code",
9403
9656
  Current: "Current",
9657
+ "Current domain": "Current domain",
9404
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.",
9405
9659
  "Customize Account": "Customize Account",
9406
9660
  "Customize account": "Customize account",
@@ -9499,6 +9753,7 @@ var en_default = {
9499
9753
  Passkey: "Passkey",
9500
9754
  "Phone Number": "Phone Number",
9501
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.",
9502
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.",
9503
9758
  "Please click 'Try again' to open the login window.": "Please click 'Try again' to open the login window.",
9504
9759
  "Please complete the passkey authentication...": "Please complete the passkey authentication...",
@@ -9563,6 +9818,7 @@ var en_default = {
9563
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.",
9564
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.",
9565
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.",
9566
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.",
9567
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.",
9568
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.",
@@ -9650,7 +9906,9 @@ var en_default = {
9650
9906
  "to learn more about embedded wallets.": "to learn more about embedded wallets.",
9651
9907
  "your@email.com": "your@email.com",
9652
9908
  "{{element}} website": "{{element}} website",
9653
- "{{name}}": "{{name}}"
9909
+ "{{name}}": "{{name}}",
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."
9654
9912
  };
9655
9913
 
9656
9914
  // src/languages/de.json
@@ -9739,6 +9997,7 @@ var de_default = {
9739
9997
  "Continue with Google": "Mit Google fortfahren",
9740
9998
  "Copy your address or scan this QR code": "Kopieren Sie Ihre Adresse oder scannen Sie diesen QR-Code",
9741
9999
  Current: "Aktuell",
10000
+ "Current domain": "Aktuelle Domain",
9742
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.",
9743
10002
  "Customize Account": "Konto anpassen",
9744
10003
  "Customize account": "Konto anpassen",
@@ -9837,6 +10096,7 @@ var de_default = {
9837
10096
  Passkey: "Passwort",
9838
10097
  "Phone Number": "Telefonnummer",
9839
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.",
9840
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.",
9841
10101
  "Please click 'Try again' to open the login window.": "Bitte klicken Sie auf 'Erneut versuchen', um das Anmeldefenster zu \xF6ffnen.",
9842
10102
  "Please complete the passkey authentication...": "Bitte schlie\xDFen Sie die Passworthauthentifizierung ab...",
@@ -9901,6 +10161,7 @@ var de_default = {
9901
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.",
9902
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.",
9903
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.",
9904
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.",
9905
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.",
9906
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.",
@@ -10077,6 +10338,7 @@ var it_default = {
10077
10338
  "Continue with Google": "Continua con Google",
10078
10339
  "Copy your address or scan this QR code": "Copia il tuo indirizzo o scansiona questo codice QR",
10079
10340
  Current: "Attuale",
10341
+ "Current domain": "Dominio attuale",
10080
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.",
10081
10343
  "Customize Account": "Personalizza Account",
10082
10344
  "Customize account": "Personalizza account",
@@ -10175,6 +10437,7 @@ var it_default = {
10175
10437
  Passkey: "Chiave di accesso",
10176
10438
  "Phone Number": "Numero di telefono",
10177
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.",
10178
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.",
10179
10442
  "Please click 'Try again' to open the login window.": "Fai clic su 'Riprova' per aprire la finestra di accesso.",
10180
10443
  "Please complete the passkey authentication...": "Si prega di completare l'autenticazione con chiave di accesso...",
@@ -10239,6 +10502,7 @@ var it_default = {
10239
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.",
10240
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.",
10241
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.",
10242
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.",
10243
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.",
10244
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.",
@@ -10415,6 +10679,7 @@ var fr_default = {
10415
10679
  "Continue with Google": "Continuer avec Google",
10416
10680
  "Copy your address or scan this QR code": "Copiez votre adresse ou scannez ce code QR",
10417
10681
  Current: "Actuel",
10682
+ "Current domain": "Domaine actuel",
10418
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.",
10419
10684
  "Customize Account": "Personnaliser le compte",
10420
10685
  "Customize account": "Personnaliser le compte",
@@ -10513,6 +10778,7 @@ var fr_default = {
10513
10778
  Passkey: "Cl\xE9 de passe",
10514
10779
  "Phone Number": "Num\xE9ro de t\xE9l\xE9phone",
10515
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.",
10516
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.",
10517
10783
  "Please click 'Try again' to open the login window.": "Veuillez cliquer sur 'R\xE9essayer' pour ouvrir la fen\xEAtre de connexion.",
10518
10784
  "Please complete the passkey authentication...": "Veuillez compl\xE9ter l'authentification par cl\xE9 de passe...",
@@ -10577,6 +10843,7 @@ var fr_default = {
10577
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.",
10578
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.",
10579
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.",
10580
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.",
10581
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.",
10582
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.",
@@ -10753,6 +11020,7 @@ var es_default = {
10753
11020
  "Continue with Google": "Continuar con Google",
10754
11021
  "Copy your address or scan this QR code": "Copia tu direcci\xF3n o escanea este c\xF3digo QR",
10755
11022
  Current: "Actual",
11023
+ "Current domain": "Dominio actual",
10756
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.",
10757
11025
  "Customize Account": "Personalizar Cuenta",
10758
11026
  "Customize account": "Personalizar cuenta",
@@ -10851,6 +11119,7 @@ var es_default = {
10851
11119
  Passkey: "Clave de acceso",
10852
11120
  "Phone Number": "N\xFAmero de tel\xE9fono",
10853
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.",
10854
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.",
10855
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.",
10856
11125
  "Please complete the passkey authentication...": "Por favor, completa la autenticaci\xF3n de clave de acceso...",
@@ -10915,6 +11184,7 @@ var es_default = {
10915
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.",
10916
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.",
10917
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.",
10918
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.",
10919
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.",
10920
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.",
@@ -11091,6 +11361,7 @@ var zh_default = {
11091
11361
  "Continue with Google": "\u901A\u8FC7Google\u7EE7\u7EED",
11092
11362
  "Copy your address or scan this QR code": "\u590D\u5236\u60A8\u7684\u5730\u5740\u6216\u626B\u63CF\u6B64\u4E8C\u7EF4\u7801",
11093
11363
  Current: "\u5F53\u524D",
11364
+ "Current domain": "\u5F53\u524D\u57DF\u540D",
11094
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",
11095
11366
  "Customize Account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
11096
11367
  "Customize account": "\u81EA\u5B9A\u4E49\u5E10\u6237",
@@ -11189,6 +11460,7 @@ var zh_default = {
11189
11460
  Passkey: "\u901A\u884C\u5BC6\u94A5",
11190
11461
  "Phone Number": "\u7535\u8BDD\u53F7\u7801",
11191
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",
11192
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",
11193
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",
11194
11466
  "Please complete the passkey authentication...": "\u8BF7\u5B8C\u6210\u901A\u884C\u5BC6\u94A5\u8BA4\u8BC1...",
@@ -11253,6 +11525,7 @@ var zh_default = {
11253
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",
11254
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",
11255
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",
11256
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",
11257
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",
11258
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",
@@ -11429,6 +11702,7 @@ var ja_default = {
11429
11702
  "Continue with Google": "Google\u3067\u7D9A\u884C",
11430
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",
11431
11704
  Current: "\u73FE\u5728",
11705
+ "Current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3",
11432
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",
11433
11707
  "Customize Account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
11434
11708
  "Customize account": "\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA",
@@ -11527,6 +11801,7 @@ var ja_default = {
11527
11801
  Passkey: "\u30D1\u30B9\u30AD\u30FC",
11528
11802
  "Phone Number": "\u96FB\u8A71\u756A\u53F7",
11529
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",
11530
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",
11531
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",
11532
11807
  "Please complete the passkey authentication...": "\u30D1\u30B9\u30AD\u30FC\u8A8D\u8A3C\u3092\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044...",
@@ -11591,6 +11866,7 @@ var ja_default = {
11591
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",
11592
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",
11593
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",
11594
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",
11595
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",
11596
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",
@@ -13139,7 +13415,6 @@ var AccountModal = ({
13139
13415
  );
13140
13416
  };
13141
13417
  var ConnectModal = ({ isOpen, onClose }) => {
13142
- const { loginModalUI } = useVeChainKitConfig();
13143
13418
  const [currentContent, setCurrentContent] = React9.useState("main");
13144
13419
  React9.useEffect(() => {
13145
13420
  if (isOpen) {
@@ -13153,8 +13428,7 @@ var ConnectModal = ({ isOpen, onClose }) => {
13153
13428
  MainContent,
13154
13429
  {
13155
13430
  setCurrentContent,
13156
- onClose,
13157
- variant: loginModalUI?.variant
13431
+ onClose
13158
13432
  }
13159
13433
  );
13160
13434
  case "faq":
@@ -13312,13 +13586,10 @@ var ConnectedWallet = ({
13312
13586
  const [isDesktop] = react.useMediaQuery("(min-width: 768px)");
13313
13587
  return /* @__PURE__ */ jsxRuntime.jsx(react.Button, { ...buttonStyle, onClick: onOpen, p: "0px 13px", minH: "45px", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
13314
13588
  /* @__PURE__ */ jsxRuntime.jsx(
13315
- react.Image,
13589
+ AccountAvatar,
13316
13590
  {
13317
- src: account?.image ?? chunkEO3CLT4E_cjs.notFoundImage,
13318
- alt: "wallet",
13319
- width: 30,
13320
- height: 30,
13321
- borderRadius: "50%"
13591
+ wallet: account,
13592
+ props: { width: 30, height: 30 }
13322
13593
  }
13323
13594
  ),
13324
13595
  !isDesktop && /* @__PURE__ */ jsxRuntime.jsx(WalletDisplay, { variant: mobileVariant }),
@@ -13908,14 +14179,13 @@ var VeChainKitProvider = ({
13908
14179
  feeDelegation,
13909
14180
  dappKit,
13910
14181
  loginModalUI = {
13911
- variant: "vechain-and-wallet",
13912
14182
  description: "Choose between social login through VeChain or by connecting your wallet."
13913
14183
  },
14184
+ loginMethods,
13914
14185
  darkMode = false,
13915
14186
  i18n: i18nConfig,
13916
14187
  language = "en",
13917
- network,
13918
- privyEcosystemAppIDS = DEFAULT_PRIVY_ECOSYSTEM_APP_IDS
14188
+ network
13919
14189
  }) => {
13920
14190
  const [isConnectModalOpen, setIsConnectModalOpen] = React9.useState(false);
13921
14191
  const openConnectModal = React9.useCallback(() => setIsConnectModalOpen(true), []);
@@ -13948,9 +14218,15 @@ var VeChainKitProvider = ({
13948
14218
  []
13949
14219
  );
13950
14220
  const [accountModalContent, setAccountModalContent] = React9.useState("main");
13951
- 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 = [
13952
14228
  ...privy?.loginMethods ?? [],
13953
- ...(privyEcosystemAppIDS ?? []).map((appID) => `privy:${appID}`)
14229
+ ...allowedEcosystemApps.map((appID) => `privy:${appID}`)
13954
14230
  ];
13955
14231
  let privyAppId, privyClientId;
13956
14232
  if (!privy) {
@@ -13979,20 +14255,20 @@ var VeChainKitProvider = ({
13979
14255
  }, [language, i18nConfig]);
13980
14256
  return /* @__PURE__ */ jsxRuntime.jsxs(EnsureQueryClient, { children: [
13981
14257
  /* @__PURE__ */ jsxRuntime.jsx(reactQueryDevtools.ReactQueryDevtools, { initialIsOpen: false }),
13982
- /* @__PURE__ */ jsxRuntime.jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS, children: /* @__PURE__ */ jsxRuntime.jsx(
14258
+ /* @__PURE__ */ jsxRuntime.jsx(PrivyCrossAppProvider, { privyEcosystemAppIDS: allowedEcosystemApps, children: /* @__PURE__ */ jsxRuntime.jsx(
13983
14259
  VeChainKitContext.Provider,
13984
14260
  {
13985
14261
  value: {
13986
14262
  privy,
13987
- privyEcosystemAppIDS,
14263
+ privyEcosystemAppIDS: allowedEcosystemApps,
13988
14264
  feeDelegation,
13989
14265
  dappKit,
13990
14266
  loginModalUI,
14267
+ loginMethods,
13991
14268
  darkMode,
13992
14269
  i18n: i18nConfig,
13993
14270
  language,
13994
14271
  network,
13995
- privySocialLoginEnabled: privy !== void 0,
13996
14272
  openConnectModal,
13997
14273
  closeConnectModal,
13998
14274
  isConnectModalOpen,
@@ -14015,7 +14291,7 @@ var VeChainKitProvider = ({
14015
14291
  config: {
14016
14292
  loginMethodsAndOrder: {
14017
14293
  // @ts-ignore
14018
- primary: loginMethods
14294
+ primary: privyLoginMethods
14019
14295
  },
14020
14296
  appearance: {
14021
14297
  theme: darkMode ? "dark" : "light",
@@ -14105,7 +14381,7 @@ var variants = {
14105
14381
  scrollbarWidth: "none",
14106
14382
  overflow: "scroll",
14107
14383
  overflowX: "hidden",
14108
- maxHeight: "520px",
14384
+ maxHeight: "540px",
14109
14385
  borderRadius: "24px",
14110
14386
  backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
14111
14387
  },
@@ -14333,6 +14609,7 @@ Object.defineProperty(exports, "useConnex", {
14333
14609
  get: function () { return dappKitReact.useConnex; }
14334
14610
  });
14335
14611
  exports.APP_SECURITY_LEVELS = APP_SECURITY_LEVELS;
14612
+ exports.AccountAvatar = AccountAvatar;
14336
14613
  exports.AccountCustomizationContent = AccountCustomizationContent;
14337
14614
  exports.AccountCustomizationModalProvider = AccountCustomizationModalProvider;
14338
14615
  exports.AccountDetailsButton = AccountDetailsButton;
@@ -14360,6 +14637,7 @@ exports.EcosystemModal = EcosystemModal;
14360
14637
  exports.EmailLoginButton = EmailLoginButton;
14361
14638
  exports.EmbeddedWalletContent = EmbeddedWalletContent;
14362
14639
  exports.EmbeddedWalletSettingsModalProvider = EmbeddedWalletSettingsModalProvider;
14640
+ exports.ExchangeWarningAlert = ExchangeWarningAlert;
14363
14641
  exports.ExploreEcosystemModalProvider = ExploreEcosystemModalProvider;
14364
14642
  exports.FAQContent = FAQContent;
14365
14643
  exports.FAQModalProvider = FAQModalProvider;
@@ -14380,6 +14658,7 @@ exports.PasskeyLoginButton = PasskeyLoginButton;
14380
14658
  exports.PrivyButton = PrivyButton;
14381
14659
  exports.PrivyWalletProvider = PrivyWalletProvider;
14382
14660
  exports.QuickActionsSection = QuickActionsSection;
14661
+ exports.ReceiveModalProvider = ReceiveModalProvider;
14383
14662
  exports.ReceiveTokenContent = ReceiveTokenContent;
14384
14663
  exports.RoundState = RoundState;
14385
14664
  exports.ScrollToTopWrapper = ScrollToTopWrapper;
@@ -14609,6 +14888,7 @@ exports.useIsWhitelisted = useIsWhitelisted;
14609
14888
  exports.useLevelMultiplier = useLevelMultiplier;
14610
14889
  exports.useLevelOfToken = useLevelOfToken;
14611
14890
  exports.useLocalStorage = useLocalStorage;
14891
+ exports.useLoginModalContent = useLoginModalContent;
14612
14892
  exports.useLoginWithOAuth = useLoginWithOAuth2;
14613
14893
  exports.useLoginWithPasskey = useLoginWithPasskey;
14614
14894
  exports.useLoginWithVeChain = useLoginWithVeChain;
@@ -14623,6 +14903,7 @@ exports.useParticipatedInGovernance = useParticipatedInGovernance;
14623
14903
  exports.useParticipationScoreThreshold = useParticipationScoreThreshold;
14624
14904
  exports.usePassportChecks = usePassportChecks;
14625
14905
  exports.usePrivyWalletProvider = usePrivyWalletProvider;
14906
+ exports.useReceiveModal = useReceiveModal;
14626
14907
  exports.useRefreshBalances = useRefreshBalances;
14627
14908
  exports.useRoundEarnings = useRoundEarnings;
14628
14909
  exports.useRoundReward = useRoundReward;