@vechain/vechain-kit 1.5.6 → 1.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk5GZ7N47F_cjs = require('./chunk-5GZ7N47F.cjs');
4
- var chunkRUIC653T_cjs = require('./chunk-RUIC653T.cjs');
5
- var chunkFID67WC3_cjs = require('./chunk-FID67WC3.cjs');
4
+ var chunk5YN7CZ5H_cjs = require('./chunk-5YN7CZ5H.cjs');
5
+ var chunkA4NZ5AVL_cjs = require('./chunk-A4NZ5AVL.cjs');
6
6
  require('./chunk-Q7SFCCGT.cjs');
7
7
  var React10 = require('react');
8
8
  var reactAuth = require('@privy-io/react-auth');
@@ -92,7 +92,7 @@ var PRICE_FEED_IDS = {
92
92
  };
93
93
  var getTokenUsdPrice = async (thor, token, network) => {
94
94
  const functionFragment2 = OracleInterface.getFunction("getLatestValue").format("json");
95
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(network).oracleContractAddress).method(JSON.parse(functionFragment2)).call(PRICE_FEED_IDS[token]);
95
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(network).oracleContractAddress).method(JSON.parse(functionFragment2)).call(PRICE_FEED_IDS[token]);
96
96
  if (res.reverted) throw new Error("Reverted");
97
97
  return new bignumber_js.BigNumber(res.decoded[0]).div(1e12).toNumber();
98
98
  };
@@ -111,11 +111,11 @@ var useGetTokenUsdPrice = (token) => {
111
111
  var B3TRInterface = chunk5GZ7N47F_cjs.IB3TR__factory.createInterface();
112
112
  var getB3trBalance = async (thor, network, address) => {
113
113
  const functionFragment2 = B3TRInterface.getFunction("balanceOf").format("json");
114
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(network).b3trContractAddress).method(JSON.parse(functionFragment2)).call(address);
114
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(network).b3trContractAddress).method(JSON.parse(functionFragment2)).call(address);
115
115
  if (res.reverted) throw new Error("Reverted");
116
116
  const original = res.decoded[0];
117
117
  const scaled = viem.formatEther(original);
118
- const formatted = scaled === "0" ? "0" : chunkRUIC653T_cjs.humanNumber(scaled);
118
+ const formatted = scaled === "0" ? "0" : chunk5YN7CZ5H_cjs.humanNumber(scaled);
119
119
  return {
120
120
  original,
121
121
  scaled,
@@ -138,11 +138,11 @@ var useGetB3trBalance = (address) => {
138
138
  var VOT3Interface = chunk5GZ7N47F_cjs.IVOT3__factory.createInterface();
139
139
  var getVot3Balance = async (thor, network, address) => {
140
140
  const functionFragment2 = VOT3Interface.getFunction("balanceOf").format("json");
141
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(network).vot3ContractAddress).method(JSON.parse(functionFragment2)).call(address);
141
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(network).vot3ContractAddress).method(JSON.parse(functionFragment2)).call(address);
142
142
  if (res.reverted) throw new Error("Reverted");
143
143
  const original = res.decoded[0];
144
144
  const scaled = viem.formatEther(original);
145
- const formatted = scaled === "0" ? "0" : chunkRUIC653T_cjs.humanNumber(scaled);
145
+ const formatted = scaled === "0" ? "0" : chunk5YN7CZ5H_cjs.humanNumber(scaled);
146
146
  return {
147
147
  original,
148
148
  scaled,
@@ -168,7 +168,7 @@ var contractInterface = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface(
168
168
  var method = "getIdAttachedToNode";
169
169
  var useGetTokenIdAttachedToNode = (nodeId, enabled = true) => {
170
170
  const { network } = useVeChainKitConfig();
171
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
171
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
172
172
  return useCall({
173
173
  contractInterface,
174
174
  contractAddress,
@@ -184,7 +184,7 @@ var method2 = "getUserNodes";
184
184
  var getUserNodesQueryKey = (user) => getCallKey({ method: method2, keyArgs: [user] });
185
185
  var useGetUserNodes = (user) => {
186
186
  const { network } = useVeChainKitConfig();
187
- const contractAddress = chunkRUIC653T_cjs.getConfig(
187
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(
188
188
  network.type
189
189
  ).nodeManagementContractAddress;
190
190
  return useCall({
@@ -215,7 +215,7 @@ var method3 = "checkCooldown";
215
215
  var getNodeCheckCooldownQueryKey = (nodeId) => getCallKey({ method: method3, keyArgs: [nodeId] });
216
216
  var useXNodeCheckCooldown = (nodeId) => {
217
217
  const { network } = useVeChainKitConfig();
218
- const contractAddress = chunkRUIC653T_cjs.getConfig(
218
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(
219
219
  network.type
220
220
  ).nodeManagementContractAddress;
221
221
  return useCall({
@@ -236,11 +236,11 @@ var useXNode = (address) => {
236
236
  const xNode = firstNode ? {
237
237
  id: firstNode.nodeId,
238
238
  level: Number(firstNode.nodeLevel),
239
- image: chunkRUIC653T_cjs.NodeStrengthLevelToImage[Number(firstNode.nodeLevel)],
240
- name: chunkRUIC653T_cjs.allNodeStrengthLevelToName[Number(firstNode.nodeLevel)]
239
+ image: chunk5YN7CZ5H_cjs.NodeStrengthLevelToImage[Number(firstNode.nodeLevel)],
240
+ name: chunk5YN7CZ5H_cjs.allNodeStrengthLevelToName[Number(firstNode.nodeLevel)]
241
241
  } : void 0;
242
242
  const xNodeName = xNode?.name ?? t("Not available");
243
- const xNodeImage = xNode?.image ?? chunkRUIC653T_cjs.notFoundImage;
243
+ const xNodeImage = xNode?.image ?? chunk5YN7CZ5H_cjs.notFoundImage;
244
244
  const xNodeLevel = xNode?.level ?? 0;
245
245
  const nodeType = Number(xNodeLevel) >= 4 ? "XNODE" : "ECONOMIC NODE";
246
246
  const {
@@ -281,7 +281,7 @@ var getNodeIdsAbi = new thorDevkit.abi.Function(JSON.parse(getNodeIdsFragment));
281
281
  var getNodeLevelsAbi = new thorDevkit.abi.Function(JSON.parse(getNodeLevelsFragment));
282
282
  var getUserXNodes = async (thor, networkType, user) => {
283
283
  if (!user) throw new Error("User address is required");
284
- const contractAddress = chunkRUIC653T_cjs.getConfig(networkType).nodeManagementContractAddress;
284
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(networkType).nodeManagementContractAddress;
285
285
  const clauses = [
286
286
  {
287
287
  to: contractAddress,
@@ -307,8 +307,8 @@ var getUserXNodes = async (thor, networkType, user) => {
307
307
  return {
308
308
  id,
309
309
  level: Number(levels[index]),
310
- image: chunkRUIC653T_cjs.NodeStrengthLevelToImage[Number(levels[index])],
311
- name: chunkRUIC653T_cjs.allNodeStrengthLevelToName[Number(levels[index])]
310
+ image: chunk5YN7CZ5H_cjs.NodeStrengthLevelToImage[Number(levels[index])],
311
+ name: chunk5YN7CZ5H_cjs.allNodeStrengthLevelToName[Number(levels[index])]
312
312
  };
313
313
  });
314
314
  };
@@ -335,7 +335,7 @@ var getIsNodeHolderQueryKey = (address) => [
335
335
  ];
336
336
  var getIsNodeHolder = async (thor, networkType, address) => {
337
337
  if (!address) return Promise.reject(new Error("Address not provided"));
338
- const contractAddress = chunkRUIC653T_cjs.getConfig(networkType).nodeManagementContractAddress;
338
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(networkType).nodeManagementContractAddress;
339
339
  const functionAbi2 = contractInterface4.getFunction(method4);
340
340
  const res = await thor.account(contractAddress).method(functionAbi2).call(address);
341
341
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -351,7 +351,7 @@ var useIsNodeHolder = (address) => {
351
351
  });
352
352
  };
353
353
  var getAppAdmin = async (thor, appId, networkType) => {
354
- const X2EARNAPPS_CONTRACT = chunkRUIC653T_cjs.getConfig(networkType).x2EarnAppsContractAddress;
354
+ const X2EARNAPPS_CONTRACT = chunk5YN7CZ5H_cjs.getConfig(networkType).x2EarnAppsContractAddress;
355
355
  const functionFragment2 = chunk5GZ7N47F_cjs.X2EarnApps__factory.createInterface().getFunction("appAdmin").format("json");
356
356
  const res = await thor.account(X2EARNAPPS_CONTRACT).method(JSON.parse(functionFragment2)).call(appId);
357
357
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -379,7 +379,7 @@ var method5 = "appExists";
379
379
  var getAppExistsQueryKey = (appId) => getCallKey({ method: method5, keyArgs: [appId] });
380
380
  var useAppExists = (appId) => {
381
381
  const { network } = useVeChainKitConfig();
382
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).x2EarnAppsContractAddress;
382
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).x2EarnAppsContractAddress;
383
383
  return useCall({
384
384
  contractInterface: contractInterface5,
385
385
  contractAddress,
@@ -389,7 +389,7 @@ var useAppExists = (appId) => {
389
389
  });
390
390
  };
391
391
  var getAppsEligibleInNextRound = async (thor, networkType) => {
392
- const X2EARNAPPS_CONTRACT = chunkRUIC653T_cjs.getConfig(networkType).x2EarnAppsContractAddress;
392
+ const X2EARNAPPS_CONTRACT = chunk5YN7CZ5H_cjs.getConfig(networkType).x2EarnAppsContractAddress;
393
393
  const functionFragment2 = chunk5GZ7N47F_cjs.X2EarnApps__factory.createInterface().getFunction("allEligibleApps").format("json");
394
394
  const res = await thor.account(X2EARNAPPS_CONTRACT).method(JSON.parse(functionFragment2)).call();
395
395
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -410,7 +410,7 @@ var useAppsEligibleInNextRound = () => {
410
410
  };
411
411
  var getRoundXApps = async (thor, networkType, roundId) => {
412
412
  if (!roundId) return [];
413
- const xAllocationVotingContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
413
+ const xAllocationVotingContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
414
414
  const functionFragment2 = chunk5GZ7N47F_cjs.XAllocationVoting__factory.createInterface().getFunction("getAppsOfRound").format("json");
415
415
  const res = await thor.account(xAllocationVotingContract).method(JSON.parse(functionFragment2)).call(roundId);
416
416
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -441,7 +441,7 @@ var useRoundXApps = (roundId) => {
441
441
  var currentBlockQueryKey = () => ["VECHAIN_KIT", "CURRENT_BLOCK"];
442
442
  var useCurrentBlock = () => {
443
443
  const { network } = useVeChainKitConfig();
444
- const nodeUrl = network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl;
444
+ const nodeUrl = network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl;
445
445
  return reactQuery.useQuery({
446
446
  queryKey: currentBlockQueryKey(),
447
447
  queryFn: async () => {
@@ -569,7 +569,7 @@ var useTxReceipt = (txId, blockTimeout) => {
569
569
  // src/hooks/api/vebetterdao/xApps/hooks/useUserVotesInRound.ts
570
570
  var XAllocationVotingInterface = chunk5GZ7N47F_cjs.XAllocationVoting__factory.createInterface();
571
571
  var getUserVotesInRound = async (thor, network, roundId, address) => {
572
- const xAllocationVotingContract = chunkRUIC653T_cjs.getConfig(network).xAllocationVotingContractAddress;
572
+ const xAllocationVotingContract = chunk5YN7CZ5H_cjs.getConfig(network).xAllocationVotingContractAddress;
573
573
  const eventFragment = XAllocationVotingInterface.getEvent("AllocationVoteCast").format(
574
574
  "json"
575
575
  );
@@ -593,7 +593,7 @@ var getUserVotesInRound = async (thor, network, roundId, address) => {
593
593
  const events = await getAllEvents({
594
594
  thor,
595
595
  filterCriteria,
596
- nodeUrl: chunkRUIC653T_cjs.getConfig(network).nodeUrl
596
+ nodeUrl: chunk5YN7CZ5H_cjs.getConfig(network).nodeUrl
597
597
  });
598
598
  const decodedAllocatedVoteEvents = [];
599
599
  events.forEach((event) => {
@@ -664,7 +664,7 @@ var unendorsedAppsAbi = new thorDevkit.abi.Function(JSON.parse(unendorsedAppsFra
664
664
  var allAppsFragment = chunk5GZ7N47F_cjs.X2EarnApps__factory.createInterface().getFunction("apps").format("json");
665
665
  var allAppsAbi = new thorDevkit.abi.Function(JSON.parse(allAppsFragment));
666
666
  var getXApps = async (thor, networkType) => {
667
- const x2EarnAppsContract = chunkRUIC653T_cjs.getConfig(networkType).x2EarnAppsContractAddress;
667
+ const x2EarnAppsContract = chunk5YN7CZ5H_cjs.getConfig(networkType).x2EarnAppsContractAddress;
668
668
  const clauses = [
669
669
  {
670
670
  to: x2EarnAppsContract,
@@ -747,7 +747,7 @@ var useXApp = (appId) => {
747
747
 
748
748
  // src/hooks/api/vebetterdao/xApps/getXAppsMetadataBaseUri.ts
749
749
  var getXAppsMetadataBaseUri = async (thor, networkType) => {
750
- const X2EARNAPPS_CONTRACT = chunkRUIC653T_cjs.getConfig(networkType).x2EarnAppsContractAddress;
750
+ const X2EARNAPPS_CONTRACT = chunk5YN7CZ5H_cjs.getConfig(networkType).x2EarnAppsContractAddress;
751
751
  const functionFragment2 = chunk5GZ7N47F_cjs.X2EarnApps__factory.createInterface().getFunction("baseURI").format("json");
752
752
  const res = await thor.account(X2EARNAPPS_CONTRACT).method(JSON.parse(functionFragment2)).call();
753
753
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -775,7 +775,7 @@ var useXAppsMetadataBaseUri = () => {
775
775
 
776
776
  // src/hooks/api/vebetterdao/xApps/getXAppMetadata.ts
777
777
  var getXAppMetadata = async (uri, networkType) => {
778
- const url = chunkRUIC653T_cjs.convertUriToUrl(uri, networkType);
778
+ const url = chunk5YN7CZ5H_cjs.convertUriToUrl(uri, networkType);
779
779
  if (!url) return void 0;
780
780
  const response = await fetch(url);
781
781
  if (!response.ok) {
@@ -807,7 +807,7 @@ var useXAppMetadata = (xAppId) => {
807
807
  var allocationVotingInterface = chunk5GZ7N47F_cjs.XAllocationVotingGovernor__factory.createInterface();
808
808
  var method6 = "getAppVotes";
809
809
  var getXAppVotes = async (thor, networkType, roundId, xAppId) => {
810
- const ALLOCATION_VOTING_CONTRACT = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
810
+ const ALLOCATION_VOTING_CONTRACT = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
811
811
  const functionFragment2 = allocationVotingInterface.getFunction(method6).format("json");
812
812
  const res = await thor.account(ALLOCATION_VOTING_CONTRACT).method(JSON.parse(functionFragment2)).call(roundId, xAppId);
813
813
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -818,7 +818,7 @@ var useXAppVotes = (roundId, appId) => {
818
818
  const { network } = useVeChainKitConfig();
819
819
  return useCall({
820
820
  contractInterface: allocationVotingInterface,
821
- contractAddress: chunkRUIC653T_cjs.getConfig(network.type).xAllocationVotingContractAddress,
821
+ contractAddress: chunk5YN7CZ5H_cjs.getConfig(network.type).xAllocationVotingContractAddress,
822
822
  method: method6,
823
823
  args: [roundId, appId],
824
824
  enabled: !!roundId && !!appId && !!network.type
@@ -829,7 +829,7 @@ var useXAppVotes = (roundId, appId) => {
829
829
  // src/hooks/api/vebetterdao/xApps/hooks/useXAppVotesQf.ts
830
830
  var allocationVotingInterface2 = chunk5GZ7N47F_cjs.XAllocationVotingGovernor__factory.createInterface();
831
831
  var getXAppVotesQf = async (thor, networkType, roundId, xAppId) => {
832
- const ALLOCATION_VOTING_CONTRACT = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
832
+ const ALLOCATION_VOTING_CONTRACT = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
833
833
  const functionFragment2 = allocationVotingInterface2.getFunction("getAppVotesQF").format("json");
834
834
  const res = await thor.account(ALLOCATION_VOTING_CONTRACT).method(JSON.parse(functionFragment2)).call(roundId, xAppId);
835
835
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -843,7 +843,7 @@ var useXAppVotesQf = (roundId, appId) => {
843
843
  const { network } = useVeChainKitConfig();
844
844
  return useCall({
845
845
  contractInterface: allocationVotingInterface2,
846
- contractAddress: chunkRUIC653T_cjs.getConfig(network.type).xAllocationVotingContractAddress,
846
+ contractAddress: chunk5YN7CZ5H_cjs.getConfig(network.type).xAllocationVotingContractAddress,
847
847
  method: "getAppVotesQF",
848
848
  args: [roundId, appId],
849
849
  enabled: !!roundId && !!appId && !!network.type
@@ -917,7 +917,7 @@ var method7 = "getAppShares";
917
917
  var functionFragment = allocationPoolInterface.getFunction(method7).format("json");
918
918
  var functionAbi = new thorDevkit.abi.Function(JSON.parse(functionFragment));
919
919
  var getAppsShareClauses = (networkType, apps, roundId) => {
920
- const allocationPoolContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationPoolContractAddress;
920
+ const allocationPoolContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationPoolContractAddress;
921
921
  const clauses = apps.map((app) => ({
922
922
  to: allocationPoolContract,
923
923
  value: 0,
@@ -974,7 +974,7 @@ var useMostVotedAppsInRound = (roundId) => {
974
974
  };
975
975
  var getParticipatedInGovernance = async (networkType, thor, address) => {
976
976
  if (!address) return Promise.reject(new Error("Address not provided"));
977
- const galaxyMemberContract = chunkRUIC653T_cjs.getConfig(networkType).galaxyMemberContractAddress;
977
+ const galaxyMemberContract = chunk5YN7CZ5H_cjs.getConfig(networkType).galaxyMemberContractAddress;
978
978
  const functionFragment2 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface().getFunction("participatedInGovernance").format("json");
979
979
  const res = await thor.account(galaxyMemberContract).method(JSON.parse(functionFragment2)).call(address);
980
980
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -997,7 +997,7 @@ var useParticipatedInGovernance = (address) => {
997
997
  };
998
998
  var getBalanceOf = async (thor, network, address) => {
999
999
  if (!address) return Promise.reject(new Error("Address not provided"));
1000
- const contractAddress = chunkRUIC653T_cjs.getConfig(network).galaxyMemberContractAddress;
1000
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network).galaxyMemberContractAddress;
1001
1001
  const functionFragment2 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface().getFunction("balanceOf").format("json");
1002
1002
  const res = await thor.account(contractAddress).method(JSON.parse(functionFragment2)).call(address);
1003
1003
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -1029,7 +1029,7 @@ var useIsGMclaimable = (address) => {
1029
1029
  };
1030
1030
  var getTokenIdByAccount = async (thor, networkType, address, index) => {
1031
1031
  if (!address) return Promise.reject(new Error("Address not provided"));
1032
- const contractAddress = chunkRUIC653T_cjs.getConfig(networkType).galaxyMemberContractAddress;
1032
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(networkType).galaxyMemberContractAddress;
1033
1033
  const functionFragment2 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface().getFunction("tokenOfOwnerByIndex").format("json");
1034
1034
  const res = await thor.account(contractAddress).method(JSON.parse(functionFragment2)).call(address, index);
1035
1035
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -1056,7 +1056,7 @@ var contractInterface6 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface
1056
1056
  var method8 = "getSelectedTokenId";
1057
1057
  var useSelectedTokenId = (address, enabled = true) => {
1058
1058
  const { network } = useVeChainKitConfig();
1059
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1059
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1060
1060
  return useCall({
1061
1061
  contractInterface: contractInterface6,
1062
1062
  contractAddress,
@@ -1067,7 +1067,7 @@ var useSelectedTokenId = (address, enabled = true) => {
1067
1067
  };
1068
1068
  var getIpfsMetadata = async (networkType, uri, parseJson = false) => {
1069
1069
  if (!uri) throw new Error("No URI provided");
1070
- const newUri = chunkRUIC653T_cjs.convertUriToUrl(uri, networkType);
1070
+ const newUri = chunk5YN7CZ5H_cjs.convertUriToUrl(uri, networkType);
1071
1071
  if (!newUri) throw new Error("Invalid URI");
1072
1072
  const response = await fetch(newUri, {
1073
1073
  headers: {
@@ -1091,7 +1091,7 @@ var useIpfsMetadata = (ipfsUri, parseJson = false) => {
1091
1091
  var MAX_IMAGE_SIZE = 1024 * 1024 * 10;
1092
1092
  var getIpfsImage = async (networkType, uri) => {
1093
1093
  if (!uri) throw new Error("IPFS URI is required");
1094
- const response = await fetch(chunkRUIC653T_cjs.convertUriToUrl(uri, networkType) ?? "", {
1094
+ const response = await fetch(chunk5YN7CZ5H_cjs.convertUriToUrl(uri, networkType) ?? "", {
1095
1095
  headers: {
1096
1096
  "X-Project-Id": "vechain-kit"
1097
1097
  }
@@ -1123,7 +1123,7 @@ var getIpfsImage = async (networkType, uri) => {
1123
1123
  resolve({
1124
1124
  image: reader.result,
1125
1125
  mime: blob.type,
1126
- mediaType: chunkRUIC653T_cjs.resolveMediaTypeFromMimeType(blob.type)
1126
+ mediaType: chunk5YN7CZ5H_cjs.resolveMediaTypeFromMimeType(blob.type)
1127
1127
  });
1128
1128
  };
1129
1129
  reader.onerror = () => {
@@ -1279,7 +1279,7 @@ var method9 = "levelOf";
1279
1279
  var getLevelOfTokenQueryKey = (tokenId) => getCallKey({ method: method9, keyArgs: [tokenId] });
1280
1280
  var useLevelOfToken = (tokenId, enabled = true) => {
1281
1281
  const { network } = useVeChainKitConfig();
1282
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1282
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1283
1283
  return useCall({
1284
1284
  contractInterface: contractInterface7,
1285
1285
  contractAddress,
@@ -1296,7 +1296,7 @@ var getLevelMultiplierQueryKey = (level) => getCallKey({ method: method10, keyAr
1296
1296
  var percentageToMultiplier = (percentage) => 1 + percentage / 100;
1297
1297
  var useLevelMultiplier = (level, enabled = true) => {
1298
1298
  const { network } = useVeChainKitConfig();
1299
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).voterRewardsContractAddress;
1299
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).voterRewardsContractAddress;
1300
1300
  return useCall({
1301
1301
  contractInterface: contractInterface8,
1302
1302
  contractAddress,
@@ -1312,7 +1312,7 @@ var contractInterface9 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface
1312
1312
  var method11 = "getNodeIdAttached";
1313
1313
  var useGetNodeIdAttached = (tokenId) => {
1314
1314
  const { network } = useVeChainKitConfig();
1315
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1315
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1316
1316
  return useCall({
1317
1317
  contractInterface: contractInterface9,
1318
1318
  contractAddress,
@@ -1327,7 +1327,7 @@ var contractInterface10 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterfac
1327
1327
  var method12 = "MAX_LEVEL";
1328
1328
  var useGMMaxLevel = (enabled = true) => {
1329
1329
  const { network } = useVeChainKitConfig();
1330
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1330
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1331
1331
  return useCall({
1332
1332
  contractInterface: contractInterface10,
1333
1333
  contractAddress,
@@ -1411,8 +1411,8 @@ var useSelectedGmNft = (userAddress) => {
1411
1411
  const { xNodeId } = useXNode(userAddress);
1412
1412
  const isXNodeAttachedToGM = attachedNodeId === xNodeId;
1413
1413
  const isMaxGmLevelReached = !!maxGmLevel && !!gmLevel && Number(gmLevel) === Number(maxGmLevel);
1414
- const gmImage = gmNftImage?.image || imageData?.image || chunkRUIC653T_cjs.gmNfts[Number(gmLevel) - 1]?.image || chunkRUIC653T_cjs.notFoundImage;
1415
- const nftName = nftMetadata?.name || chunkRUIC653T_cjs.gmNfts[Number(gmLevel) - 1]?.name;
1414
+ const gmImage = gmNftImage?.image || imageData?.image || chunk5YN7CZ5H_cjs.gmNfts[Number(gmLevel) - 1]?.image || chunk5YN7CZ5H_cjs.notFoundImage;
1415
+ const nftName = nftMetadata?.name || chunk5YN7CZ5H_cjs.gmNfts[Number(gmLevel) - 1]?.name;
1416
1416
  const gmName = `${nftName} #${tokenID}`;
1417
1417
  return {
1418
1418
  gmId: selectedTokenId,
@@ -1440,7 +1440,7 @@ var method13 = "getB3TRtoUpgrade";
1440
1440
  var getB3trToUpgradeQueryKey = (tokenId) => getCallKey({ method: method13, keyArgs: [tokenId] });
1441
1441
  var useB3trToUpgrade = (tokenId, enabled = true) => {
1442
1442
  const { network } = useVeChainKitConfig();
1443
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1443
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1444
1444
  return useCall({
1445
1445
  contractInterface: contractInterface11,
1446
1446
  contractAddress,
@@ -1455,7 +1455,7 @@ var method14 = "getTokensInfoByOwner";
1455
1455
  var getTokensInfoByOwnerQueryKey = (owner) => getCallKey({ method: method14, keyArgs: [owner] });
1456
1456
  var useGetTokensInfoByOwner = (owner, size = 10) => {
1457
1457
  const { network } = useVeChainKitConfig();
1458
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1458
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1459
1459
  const { thor } = dappKitReact.useConnex();
1460
1460
  const fetchTokens = async ({ pageParam = 0 }) => {
1461
1461
  const functionFragment2 = contractInterface12.getFunction(method14)?.format("json");
@@ -1487,7 +1487,7 @@ var method15 = "getB3TRdonated";
1487
1487
  var getB3trDonatedQueryKey = (tokenId) => getCallKey({ method: method15, keyArgs: [tokenId] });
1488
1488
  var useB3trDonated = (tokenId, enabled = true) => {
1489
1489
  const { network } = useVeChainKitConfig();
1490
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1490
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1491
1491
  return useCall({
1492
1492
  contractInterface: contractInterface13,
1493
1493
  contractAddress,
@@ -1504,7 +1504,7 @@ var method16 = "baseURI";
1504
1504
  var getGMBaseUriQueryKey = () => getCallKey({ method: "getGMBaseUri", keyArgs: [] });
1505
1505
  var useGMBaseUri = () => {
1506
1506
  const { network } = useVeChainKitConfig();
1507
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).galaxyMemberContractAddress;
1507
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).galaxyMemberContractAddress;
1508
1508
  return useCall({
1509
1509
  contractInterface: contractInterface14,
1510
1510
  contractAddress,
@@ -1536,7 +1536,7 @@ var getGMLevel = (startingLevel, b3trDonated) => {
1536
1536
  if (!Number.isInteger(startingLevel) || startingLevel <= 0) {
1537
1537
  throw new Error("Starting level must be a positive integer");
1538
1538
  }
1539
- const gmLevelMap = new Map(chunkRUIC653T_cjs.gmNfts.map((gm) => [Number(gm.level), gm]));
1539
+ const gmLevelMap = new Map(chunk5YN7CZ5H_cjs.gmNfts.map((gm) => [Number(gm.level), gm]));
1540
1540
  const startingGM = gmLevelMap.get(startingLevel);
1541
1541
  if (!startingGM) return null;
1542
1542
  let finalLevel = startingLevel;
@@ -1557,7 +1557,7 @@ var xAllocationVotingInterface = chunk5GZ7N47F_cjs.XAllocationVoting__factory.cr
1557
1557
  var getCurrentAllocationsRoundId = async (thor, networkType) => {
1558
1558
  const currentRoundAbi = xAllocationVotingInterface.getFunction("currentRoundId");
1559
1559
  if (!currentRoundAbi) throw new Error("currentRoundId function not found");
1560
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress).method(currentRoundAbi).call();
1560
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress).method(currentRoundAbi).call();
1561
1561
  if (res.vmError) return Promise.reject(new Error(res.vmError));
1562
1562
  return res.decoded[0];
1563
1563
  };
@@ -1575,7 +1575,7 @@ var useCurrentAllocationsRoundId = () => {
1575
1575
  });
1576
1576
  };
1577
1577
  var getAllocationAmount = async (thor, networkType, roundId) => {
1578
- const emissionsContract = chunkRUIC653T_cjs.getConfig(networkType).emissionsContractAddress;
1578
+ const emissionsContract = chunk5YN7CZ5H_cjs.getConfig(networkType).emissionsContractAddress;
1579
1579
  const emissionsInterface = chunk5GZ7N47F_cjs.Emissions__factory.createInterface();
1580
1580
  const functionFragmentTreasuryAmount = emissionsInterface.getFunction("getTreasuryAmount").format("json");
1581
1581
  const functionFragmentVoteX2EarnAmount = emissionsInterface.getFunction("getVote2EarnAmount").format("json");
@@ -1613,7 +1613,7 @@ var useAllocationAmount = (roundId) => {
1613
1613
  });
1614
1614
  };
1615
1615
  var getHasVotedInRound = async (thor, networkType, roundId, address) => {
1616
- const xAllocationVotingContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1616
+ const xAllocationVotingContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1617
1617
  const functionFragment2 = chunk5GZ7N47F_cjs.XAllocationVoting__factory.createInterface().getFunction("hasVoted").format("json");
1618
1618
  const res = await thor.account(xAllocationVotingContract).method(JSON.parse(functionFragment2)).call(roundId, address);
1619
1619
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -1637,7 +1637,7 @@ var RoundState = {
1637
1637
  };
1638
1638
  var getAllocationsRoundState = async (thor, networkType, roundId) => {
1639
1639
  if (!roundId) return Promise.reject(new Error("roundId is required"));
1640
- const xAllocationVotingContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1640
+ const xAllocationVotingContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1641
1641
  const functionFragment2 = xAllocationVotingInterface2.getFunction("state").format("json");
1642
1642
  const res = await thor.account(xAllocationVotingContract).method(JSON.parse(functionFragment2)).call(roundId);
1643
1643
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -1658,7 +1658,7 @@ var useAllocationsRoundState = (roundId) => {
1658
1658
  });
1659
1659
  };
1660
1660
  var getAllocationsRoundsEvents = async (thor, networkType) => {
1661
- const xAllocationVotingContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1661
+ const xAllocationVotingContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationVotingContractAddress;
1662
1662
  const allocationCreatedAbi = chunk5GZ7N47F_cjs.XAllocationVoting__factory.createInterface().getEvent("RoundCreated");
1663
1663
  if (!allocationCreatedAbi) throw new Error("RoundCreated event not found");
1664
1664
  const allocationCreatedEvent = new thorDevkit.abi.Event(
@@ -1673,7 +1673,7 @@ var getAllocationsRoundsEvents = async (thor, networkType) => {
1673
1673
  const events = await getAllEvents({
1674
1674
  thor,
1675
1675
  filterCriteria,
1676
- nodeUrl: chunkRUIC653T_cjs.getConfig(networkType).nodeUrl
1676
+ nodeUrl: chunk5YN7CZ5H_cjs.getConfig(networkType).nodeUrl
1677
1677
  });
1678
1678
  const decodedCreatedAllocationEvents = [];
1679
1679
  events.forEach((event) => {
@@ -1743,7 +1743,7 @@ var useAllocationsRound = (roundId) => {
1743
1743
  const isLoading = currentAllocationId.isLoading || allocationRoundsEvents.isLoading || currentAllocationState.isLoading;
1744
1744
  const isError = currentAllocationId.isError || allocationRoundsEvents.isError || currentAllocationState.isError;
1745
1745
  const error = currentAllocationId.error || allocationRoundsEvents.error || currentAllocationState.error;
1746
- const blockTime = chunkRUIC653T_cjs.getConfig(network.type).network.blockTime;
1746
+ const blockTime = chunk5YN7CZ5H_cjs.getConfig(network.type).network.blockTime;
1747
1747
  const estimatedEndTime = React10.useMemo(() => {
1748
1748
  if (!currentAllocationRound) return null;
1749
1749
  const endBlock = Number(currentAllocationRound.voteEnd);
@@ -1822,7 +1822,7 @@ var EnsureQueryClient = ({ children }) => {
1822
1822
  var roundEarningsFragment = chunk5GZ7N47F_cjs.XAllocationPool__factory.createInterface().getFunction("roundEarnings").format("json");
1823
1823
  var roundEarningsAbi = new thorDevkit.abi.Function(JSON.parse(roundEarningsFragment));
1824
1824
  var getXAppRoundEarnings = async (thor, roundId, xAppId, networkType) => {
1825
- const xAllocationPoolContract = chunkRUIC653T_cjs.getConfig(networkType).xAllocationPoolContractAddress;
1825
+ const xAllocationPoolContract = chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationPoolContractAddress;
1826
1826
  const functionFragment2 = chunk5GZ7N47F_cjs.XAllocationPool__factory.createInterface().getFunction("roundEarnings").format("json");
1827
1827
  const res = await thor.account(xAllocationPoolContract).method(JSON.parse(functionFragment2)).call(roundId, xAppId);
1828
1828
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -1870,7 +1870,7 @@ var useMultipleXAppRoundEarnings = (roundId, xAppIds) => {
1870
1870
  queryFn: () => getRoundXApps(thor, network.type, roundId),
1871
1871
  queryKey: getRoundXAppsQueryKey(roundId)
1872
1872
  });
1873
- const xAllocationPoolContract = chunkRUIC653T_cjs.getConfig(
1873
+ const xAllocationPoolContract = chunk5YN7CZ5H_cjs.getConfig(
1874
1874
  network.type
1875
1875
  ).xAllocationPoolContractAddress;
1876
1876
  const xAppsInRound = data.filter((app) => xAppIds.includes(app.id));
@@ -1906,7 +1906,7 @@ var roundEarningsFragment2 = chunk5GZ7N47F_cjs.XAllocationPool__factory.createIn
1906
1906
  var roundEarningsAbi2 = new thorDevkit.abi.Function(JSON.parse(roundEarningsFragment2));
1907
1907
  var getXAppTotalEarningsClauses = (roundIds, app, networkType) => {
1908
1908
  const clauses = roundIds.map((roundId) => ({
1909
- to: chunkRUIC653T_cjs.getConfig(networkType).xAllocationPoolContractAddress,
1909
+ to: chunk5YN7CZ5H_cjs.getConfig(networkType).xAllocationPoolContractAddress,
1910
1910
  value: 0,
1911
1911
  data: roundEarningsAbi2.encode(roundId, app)
1912
1912
  }));
@@ -1977,7 +1977,7 @@ var getAppBalance = async (thor, xAppId, x2EarnRewardsPoolContract) => {
1977
1977
  if (res.vmError) return Promise.reject(new Error(res.vmError));
1978
1978
  const original = res.decoded[0];
1979
1979
  const scaled = viem.formatEther(original);
1980
- const formatted = scaled === "0" ? "0" : chunkRUIC653T_cjs.humanNumber(scaled);
1980
+ const formatted = scaled === "0" ? "0" : chunk5YN7CZ5H_cjs.humanNumber(scaled);
1981
1981
  return {
1982
1982
  original,
1983
1983
  scaled,
@@ -1993,7 +1993,7 @@ var getAppBalanceQueryKey = (xAppId) => [
1993
1993
  var useAppBalance = (xAppId) => {
1994
1994
  const { thor } = dappKitReact.useConnex();
1995
1995
  const { network } = useVeChainKitConfig();
1996
- const x2EarnRewardsPoolContract = chunkRUIC653T_cjs.getConfig(
1996
+ const x2EarnRewardsPoolContract = chunk5YN7CZ5H_cjs.getConfig(
1997
1997
  network.type
1998
1998
  ).x2EarnRewardsPoolContractAddress;
1999
1999
  return reactQuery.useQuery({
@@ -2010,7 +2010,7 @@ var getIsPersonQueryKey = (user) => {
2010
2010
  };
2011
2011
  var useIsPerson = (user) => {
2012
2012
  const { network } = useVeChainKitConfig();
2013
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2013
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2014
2014
  network.type
2015
2015
  ).veBetterPassportContractAddress;
2016
2016
  return useCall({
@@ -2032,7 +2032,7 @@ var getUserRoundScoreQueryKey = (user, round) => {
2032
2032
  };
2033
2033
  var useUserRoundScore = (address, round) => {
2034
2034
  const { network } = useVeChainKitConfig();
2035
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2035
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2036
2036
  network.type
2037
2037
  ).veBetterPassportContractAddress;
2038
2038
  return useCall({
@@ -2052,7 +2052,7 @@ var getThresholdParticipationScoreQueryKey = () => {
2052
2052
  };
2053
2053
  var useThresholdParticipationScore = () => {
2054
2054
  const { network } = useVeChainKitConfig();
2055
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2055
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2056
2056
  network.type
2057
2057
  ).veBetterPassportContractAddress;
2058
2058
  return useCall({
@@ -2072,7 +2072,7 @@ var getPassportToggleQueryKey = (checkName) => {
2072
2072
  };
2073
2073
  var useIsPassportCheckEnabled = (checkName) => {
2074
2074
  const { network } = useVeChainKitConfig();
2075
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2075
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2076
2076
  network.type
2077
2077
  ).veBetterPassportContractAddress;
2078
2078
  return useCall({
@@ -2092,7 +2092,7 @@ var getParticipationScoreThresholdQueryKey = () => {
2092
2092
  };
2093
2093
  var useParticipationScoreThreshold = () => {
2094
2094
  const { network } = useVeChainKitConfig();
2095
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2095
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2096
2096
  network.type
2097
2097
  ).veBetterPassportContractAddress;
2098
2098
  return useCall({
@@ -2113,7 +2113,7 @@ var getAppSecurityLevelQueryKey = (appId) => {
2113
2113
  };
2114
2114
  var useAppSecurityLevel = (appId) => {
2115
2115
  const { network } = useVeChainKitConfig();
2116
- const contractAddress = chunkRUIC653T_cjs.getConfig(
2116
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(
2117
2117
  network.type
2118
2118
  ).veBetterPassportContractAddress;
2119
2119
  return useCall({
@@ -2157,7 +2157,7 @@ var getIsBlacklistedQueryKey = (address) => {
2157
2157
  };
2158
2158
  var useIsBlacklisted = (address) => {
2159
2159
  const { network } = useVeChainKitConfig();
2160
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2160
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2161
2161
  network.type
2162
2162
  ).veBetterPassportContractAddress;
2163
2163
  return useCall({
@@ -2177,7 +2177,7 @@ var getIsWhitelistedQueryKey = (address) => {
2177
2177
  };
2178
2178
  var useIsWhitelisted = (address) => {
2179
2179
  const { network } = useVeChainKitConfig();
2180
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2180
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2181
2181
  network.type
2182
2182
  ).veBetterPassportContractAddress;
2183
2183
  return useCall({
@@ -2214,7 +2214,7 @@ var getUserBotSignalsQueryKey = (address) => {
2214
2214
  };
2215
2215
  var useUserBotSignals = (address) => {
2216
2216
  const { network } = useVeChainKitConfig();
2217
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2217
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2218
2218
  network.type
2219
2219
  ).veBetterPassportContractAddress;
2220
2220
  return useCall({
@@ -2236,7 +2236,7 @@ var getGetCumulativeScoreWithDecayQueryKey = (user, round) => {
2236
2236
  };
2237
2237
  var useGetCumulativeScoreWithDecay = (user, round) => {
2238
2238
  const { network } = useVeChainKitConfig();
2239
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2239
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2240
2240
  network.type
2241
2241
  ).veBetterPassportContractAddress;
2242
2242
  return useCall({
@@ -2263,7 +2263,7 @@ var getSecurityMultiplierQueryKey = (securityLevel) => {
2263
2263
  };
2264
2264
  var useSecurityMultiplier = (securityLevel) => {
2265
2265
  const { network } = useVeChainKitConfig();
2266
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2266
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2267
2267
  network.type
2268
2268
  ).veBetterPassportContractAddress;
2269
2269
  return useCall({
@@ -2280,7 +2280,7 @@ var getDelegateeQueryKey = (delegator) => {
2280
2280
  };
2281
2281
  var useGetDelegatee = (delegator) => {
2282
2282
  const { network } = useVeChainKitConfig();
2283
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2283
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2284
2284
  network.type
2285
2285
  ).veBetterPassportContractAddress;
2286
2286
  return useCall({
@@ -2302,7 +2302,7 @@ var getDelegatorQueryKey = (delegator) => {
2302
2302
  };
2303
2303
  var useGetDelegator = (delegator) => {
2304
2304
  const { network } = useVeChainKitConfig();
2305
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2305
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2306
2306
  network.type
2307
2307
  ).veBetterPassportContractAddress;
2308
2308
  return useCall({
@@ -2312,7 +2312,7 @@ var useGetDelegator = (delegator) => {
2312
2312
  args: [delegator],
2313
2313
  mapResponse: (response) => {
2314
2314
  const delegator2 = response.decoded[0];
2315
- if (chunkRUIC653T_cjs.compareAddresses(delegator2, viem.zeroAddress)) return null;
2315
+ if (chunk5YN7CZ5H_cjs.compareAddresses(delegator2, viem.zeroAddress)) return null;
2316
2316
  return delegator2;
2317
2317
  },
2318
2318
  enabled: !!delegator
@@ -2327,7 +2327,7 @@ var getPendingDelegationsQueryKeyDelegateePOV = (delegatee) => {
2327
2327
  };
2328
2328
  var useGetPendingDelegationsDelegateePOV = (delegatee) => {
2329
2329
  const { network } = useVeChainKitConfig();
2330
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2330
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2331
2331
  network.type
2332
2332
  ).veBetterPassportContractAddress;
2333
2333
  return useCall({
@@ -2349,7 +2349,7 @@ var getPendingDelegationsQueryKeyDelegatorPOV = (delegator) => {
2349
2349
  };
2350
2350
  var useGetPendingDelegationsDelegatorPOV = (delegator) => {
2351
2351
  const { network } = useVeChainKitConfig();
2352
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2352
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2353
2353
  network.type
2354
2354
  ).veBetterPassportContractAddress;
2355
2355
  return useCall({
@@ -2371,7 +2371,7 @@ var getPendingLinkingsQueryKey = (user) => {
2371
2371
  };
2372
2372
  var useGetPendingLinkings = (user) => {
2373
2373
  const { network } = useVeChainKitConfig();
2374
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2374
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2375
2375
  network.type
2376
2376
  ).veBetterPassportContractAddress;
2377
2377
  return useCall({
@@ -2398,7 +2398,7 @@ var getEntitiesLinkedToPassportQueryKey = (passport) => {
2398
2398
  };
2399
2399
  var useGetEntitiesLinkedToPassport = (passport) => {
2400
2400
  const { network } = useVeChainKitConfig();
2401
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2401
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2402
2402
  network.type
2403
2403
  ).veBetterPassportContractAddress;
2404
2404
  return useCall({
@@ -2421,7 +2421,7 @@ var getPassportForEntityQueryKey = (entity) => {
2421
2421
  };
2422
2422
  var useGetPassportForEntity = (entity) => {
2423
2423
  const { network } = useVeChainKitConfig();
2424
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2424
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2425
2425
  network.type
2426
2426
  ).veBetterPassportContractAddress;
2427
2427
  return useCall({
@@ -2445,7 +2445,7 @@ var getIsEntityQueryKey = (address) => {
2445
2445
  };
2446
2446
  var useIsEntity = (address) => {
2447
2447
  const { network } = useVeChainKitConfig();
2448
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2448
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2449
2449
  network.type
2450
2450
  ).veBetterPassportContractAddress;
2451
2451
  return useCall({
@@ -2498,7 +2498,7 @@ var getIsPassportQueryKey = (address) => {
2498
2498
  };
2499
2499
  var useIsPassport = (address) => {
2500
2500
  const { network } = useVeChainKitConfig();
2501
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2501
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2502
2502
  network.type
2503
2503
  ).veBetterPassportContractAddress;
2504
2504
  return useCall({
@@ -2534,7 +2534,7 @@ var getThresholdParticipationScoreAtTimepointQueryKey = (blockNumber) => {
2534
2534
  };
2535
2535
  var useThresholdParticipationScoreAtTimepoint = (blockNumber) => {
2536
2536
  const { network } = useVeChainKitConfig();
2537
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2537
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2538
2538
  network.type
2539
2539
  ).veBetterPassportContractAddress;
2540
2540
  return useCall({
@@ -2556,7 +2556,7 @@ var getIsPersonAtTimepointQueryKey = (user, blockNumber) => {
2556
2556
  };
2557
2557
  var useIsPersonAtTimepoint = (user, blockNumber) => {
2558
2558
  const { network } = useVeChainKitConfig();
2559
- const veBetterPassportContractAddress = chunkRUIC653T_cjs.getConfig(
2559
+ const veBetterPassportContractAddress = chunk5YN7CZ5H_cjs.getConfig(
2560
2560
  network.type
2561
2561
  ).veBetterPassportContractAddress;
2562
2562
  return useCall({
@@ -2569,7 +2569,7 @@ var useIsPersonAtTimepoint = (user, blockNumber) => {
2569
2569
  };
2570
2570
  var getRoundReward = async (thor, networkType, address, roundId) => {
2571
2571
  const functionFragment2 = chunk5GZ7N47F_cjs.VoterRewards__factory.createInterface().getFunction("getReward").format("json");
2572
- const contractAddress = chunkRUIC653T_cjs.getConfig(networkType).voterRewardsContractAddress;
2572
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(networkType).voterRewardsContractAddress;
2573
2573
  const res = await thor.account(contractAddress).method(JSON.parse(functionFragment2)).call(roundId, address);
2574
2574
  if (res.vmError) return Promise.reject(new Error(res.vmError));
2575
2575
  const reward = viem.formatEther(res.decoded[0]);
@@ -2601,7 +2601,7 @@ var useVotingRewards = (currentRoundId, voter) => {
2601
2601
  const { thor } = dappKitReact.useConnex();
2602
2602
  const queryClient = reactQuery.useQueryClient();
2603
2603
  const { network } = useVeChainKitConfig();
2604
- const contractAddress = chunkRUIC653T_cjs.getConfig(network.type).voterRewardsContractAddress;
2604
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(network.type).voterRewardsContractAddress;
2605
2605
  const rounds = React10.useMemo(() => {
2606
2606
  return Array.from(
2607
2607
  { length: parseInt(currentRoundId ?? "0") - 1 },
@@ -2656,7 +2656,7 @@ var useVotingRewards = (currentRoundId, voter) => {
2656
2656
  var voterRewardsInterface2 = chunk5GZ7N47F_cjs.VoterRewards__factory.createInterface();
2657
2657
  var buildClaimRoundReward = (roundId, address, networkType) => {
2658
2658
  const clause = {
2659
- to: chunkRUIC653T_cjs.getConfig(networkType).voterRewardsContractAddress,
2659
+ to: chunk5YN7CZ5H_cjs.getConfig(networkType).voterRewardsContractAddress,
2660
2660
  value: 0,
2661
2661
  data: voterRewardsInterface2.encodeFunctionData("claimReward", [
2662
2662
  roundId,
@@ -2691,7 +2691,7 @@ var method33 = "getNodeManager";
2691
2691
  var getNodeManagerQueryKey = (nodeId) => getCallKey({ method: method33, keyArgs: [nodeId] });
2692
2692
  var useGetNodeManager = (nodeId) => {
2693
2693
  const { network } = useVeChainKitConfig();
2694
- const contractAddress = chunkRUIC653T_cjs.getConfig(
2694
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(
2695
2695
  network.type
2696
2696
  ).nodeManagementContractAddress;
2697
2697
  return useCall({
@@ -2705,11 +2705,11 @@ var useGetNodeManager = (nodeId) => {
2705
2705
  var ERC20Interface = chunk5GZ7N47F_cjs.IERC20__factory.createInterface();
2706
2706
  var getVeDelegateBalance = async (thor, network, address) => {
2707
2707
  const functionFragment2 = ERC20Interface.getFunction("balanceOf").format("json");
2708
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(network).veDelegateTokenContractAddress).method(JSON.parse(functionFragment2)).call(address);
2708
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(network).veDelegateTokenContractAddress).method(JSON.parse(functionFragment2)).call(address);
2709
2709
  if (res.reverted) throw new Error("Reverted");
2710
2710
  const original = res.decoded[0];
2711
2711
  const scaled = ethers.formatEther(original);
2712
- const formatted = scaled === "0" ? "0" : chunkRUIC653T_cjs.humanNumber(scaled);
2712
+ const formatted = scaled === "0" ? "0" : chunk5YN7CZ5H_cjs.humanNumber(scaled);
2713
2713
  return {
2714
2714
  original,
2715
2715
  scaled,
@@ -2753,7 +2753,19 @@ var useFetchAppInfo = (appIds) => {
2753
2753
  normalizedIds.map((id) => fetchPrivyAppInfo(id))
2754
2754
  );
2755
2755
  return Object.fromEntries(
2756
- results.map((result, index) => [normalizedIds[index], result])
2756
+ results.map((result, index) => {
2757
+ const id = normalizedIds[index];
2758
+ const defaultApp = chunk5YN7CZ5H_cjs.DEFAULT_PRIVY_ECOSYSTEM_APPS.find(
2759
+ (app) => app.id === id
2760
+ );
2761
+ return [
2762
+ id,
2763
+ {
2764
+ ...result,
2765
+ website: defaultApp?.website
2766
+ }
2767
+ ];
2768
+ })
2757
2769
  );
2758
2770
  },
2759
2771
  enabled: normalizedIds.length > 0
@@ -2807,7 +2819,7 @@ var fetchVechainDomain = async (thor, networkType, addressOrDomain) => {
2807
2819
  const isValidAddress2 = ethers.isAddress(addressOrDomain);
2808
2820
  if (isValidAddress2) {
2809
2821
  try {
2810
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).vnsResolverAddress).method(getNamesABI).call([addressOrDomain]);
2822
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).vnsResolverAddress).method(getNamesABI).call([addressOrDomain]);
2811
2823
  const domainName = res.decoded.names?.[0];
2812
2824
  return {
2813
2825
  address: addressOrDomain,
@@ -2824,7 +2836,7 @@ var fetchVechainDomain = async (thor, networkType, addressOrDomain) => {
2824
2836
  }
2825
2837
  }
2826
2838
  try {
2827
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).vnsResolverAddress).method(getAddressesABI).call([addressOrDomain]);
2839
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).vnsResolverAddress).method(getAddressesABI).call([addressOrDomain]);
2828
2840
  const domainAddress = res.decoded.addresses?.[0];
2829
2841
  if (domainAddress === "0x0000000000000000000000000000000000000000") {
2830
2842
  return {
@@ -2870,7 +2882,7 @@ var getEnsRecordExists = async (thor, network, name) => {
2870
2882
  const labelHash = viem.keccak256(viem.toBytes(name));
2871
2883
  const subnode = viem.keccak256(viem.concat([hashedNode, labelHash]));
2872
2884
  const functionFragment2 = MockENSInterface.getFunction("recordExists").format("json");
2873
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(network).vetDomainsContractAddress).method(JSON.parse(functionFragment2)).call(subnode);
2885
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(network).vetDomainsContractAddress).method(JSON.parse(functionFragment2)).call(subnode);
2874
2886
  if (res.reverted) throw new Error("Reverted");
2875
2887
  return res.decoded[0];
2876
2888
  };
@@ -2903,10 +2915,10 @@ var useClaimVeWorldSubdomain = ({
2903
2915
  if (!subdomain) throw new Error("Invalid subdomain");
2904
2916
  const clausesArray = [];
2905
2917
  clausesArray.push({
2906
- to: chunkRUIC653T_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
2918
+ to: chunk5YN7CZ5H_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
2907
2919
  value: "0x0",
2908
2920
  data: ReverseRegistrarInterface.encodeFunctionData("setName", [""]),
2909
- comment: `Unsetting your current VeChain nickname of the account ${chunkRUIC653T_cjs.humanAddress(
2921
+ comment: `Unsetting your current VeChain nickname of the account ${chunk5YN7CZ5H_cjs.humanAddress(
2910
2922
  account?.address ?? "",
2911
2923
  4,
2912
2924
  4
@@ -2915,23 +2927,23 @@ var useClaimVeWorldSubdomain = ({
2915
2927
  });
2916
2928
  if (!alreadyOwned) {
2917
2929
  clausesArray.push({
2918
- to: chunkRUIC653T_cjs.getConfig(network.type).veWorldSubdomainClaimerContractAddress,
2930
+ to: chunk5YN7CZ5H_cjs.getConfig(network.type).veWorldSubdomainClaimerContractAddress,
2919
2931
  value: "0x0",
2920
2932
  data: SubdomainClaimerInterface.encodeFunctionData("claim", [
2921
2933
  subdomain,
2922
- chunkRUIC653T_cjs.getConfig(network.type).vetDomainsPublicResolverAddress
2934
+ chunk5YN7CZ5H_cjs.getConfig(network.type).vetDomainsPublicResolverAddress
2923
2935
  ]),
2924
2936
  comment: `Claim VeChain subdomain: ${subdomain}.${domain}`,
2925
2937
  abi: SubdomainClaimerInterface.getFunction("claim")
2926
2938
  });
2927
2939
  }
2928
2940
  clausesArray.push({
2929
- to: chunkRUIC653T_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
2941
+ to: chunk5YN7CZ5H_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
2930
2942
  value: "0x0",
2931
2943
  data: ReverseRegistrarInterface.encodeFunctionData("setName", [
2932
2944
  subdomain + "." + domain
2933
2945
  ]),
2934
- comment: `Set ${subdomain}.${domain} as the VeChain nickname of the account ${chunkRUIC653T_cjs.humanAddress(
2946
+ comment: `Set ${subdomain}.${domain} as the VeChain nickname of the account ${chunk5YN7CZ5H_cjs.humanAddress(
2935
2947
  account?.address ?? "",
2936
2948
  4,
2937
2949
  4
@@ -3014,7 +3026,7 @@ var method34 = "isDomainProtected";
3014
3026
  var getIsDomainProtectedQueryKey = (domain) => getCallKey({ method: method34, keyArgs: [domain] });
3015
3027
  var useIsDomainProtected = (domain, enabled = true) => {
3016
3028
  const { network } = useVeChainKitConfig();
3017
- const contractAddress = chunkRUIC653T_cjs.getConfig(
3029
+ const contractAddress = chunk5YN7CZ5H_cjs.getConfig(
3018
3030
  network.type
3019
3031
  ).veWorldSubdomainClaimerContractAddress;
3020
3032
  return useCall({
@@ -3034,7 +3046,7 @@ var DomainsResponseSchema = zod.z.object({
3034
3046
  });
3035
3047
  var getDomainsOfAddress = async (networkType, address, parentDomain = "vet") => {
3036
3048
  if (!address) throw new Error("Address is required");
3037
- const graphQlIndexerUrl = chunkRUIC653T_cjs.getConfig(networkType).graphQlIndexerUrl;
3049
+ const graphQlIndexerUrl = chunk5YN7CZ5H_cjs.getConfig(networkType).graphQlIndexerUrl;
3038
3050
  const query = `query Registrations {
3039
3051
  domains(
3040
3052
  where: {owner: "${address.toLowerCase()}", parent_: {name: "${parentDomain}"}}
@@ -3073,6 +3085,10 @@ var nameInterface = new ethers.Interface([
3073
3085
  "function resolver(bytes32 node) returns (address resolverAddress)",
3074
3086
  "function text(bytes32 node, string key) returns (string avatar)"
3075
3087
  ]);
3088
+ var erc721Interface = new ethers.Interface([
3089
+ "function tokenURI(uint256 tokenId) view returns (string)",
3090
+ "function uri(uint256 id) view returns (string)"
3091
+ ]);
3076
3092
  var getAvatar = async (networkType, nodeUrl, name) => {
3077
3093
  if (!name) throw new Error("Name is required");
3078
3094
  const node = ethers.namehash(name);
@@ -3085,7 +3101,7 @@ var getAvatar = async (networkType, nodeUrl, name) => {
3085
3101
  body: JSON.stringify({
3086
3102
  clauses: [
3087
3103
  {
3088
- to: chunkRUIC653T_cjs.getConfig(networkType).vetDomainsContractAddress,
3104
+ to: chunk5YN7CZ5H_cjs.getConfig(networkType).vetDomainsContractAddress,
3089
3105
  data: nameInterface.encodeFunctionData("resolver", [
3090
3106
  node
3091
3107
  ])
@@ -3143,15 +3159,89 @@ var getAvatarQueryKey = (name) => [
3143
3159
  "AVATAR",
3144
3160
  name
3145
3161
  ];
3162
+ async function parseAvatarRecord(record, networkType, nodeUrl) {
3163
+ try {
3164
+ if (record.startsWith("http") || record.startsWith("ipfs://") || record.startsWith("ar://")) {
3165
+ return chunk5YN7CZ5H_cjs.convertUriToUrl(record, networkType) || null;
3166
+ }
3167
+ const match = record.match(
3168
+ /eip155:(\d+)\/(?:erc721|erc1155):([^/]+)\/(\d+)/
3169
+ );
3170
+ if (match) {
3171
+ const [, chainId, contractAddress, tokenId] = match;
3172
+ const isErc1155 = record.includes("erc1155");
3173
+ if (!chainId || !contractAddress || tokenId === void 0) {
3174
+ return null;
3175
+ }
3176
+ const clauses = [
3177
+ {
3178
+ to: contractAddress,
3179
+ data: erc721Interface.encodeFunctionData(
3180
+ isErc1155 ? "uri" : "tokenURI",
3181
+ [BigInt(tokenId)]
3182
+ )
3183
+ }
3184
+ ];
3185
+ const [{ data, reverted }] = await fetch(`${nodeUrl}/accounts/*`, {
3186
+ method: "POST",
3187
+ headers: {
3188
+ "content-type": "application/json"
3189
+ },
3190
+ body: JSON.stringify({ clauses })
3191
+ }).then((res) => res.json());
3192
+ if (reverted) {
3193
+ console.error("Failed to fetch tokenURI");
3194
+ return null;
3195
+ }
3196
+ let tokenUri = "";
3197
+ try {
3198
+ tokenUri = erc721Interface.decodeFunctionResult(
3199
+ isErc1155 ? "uri" : "tokenURI",
3200
+ data
3201
+ )[0];
3202
+ } catch (e) {
3203
+ console.error("Failed to decode avatar data:", e);
3204
+ tokenUri = ethers.toUtf8String(data);
3205
+ }
3206
+ tokenUri = chunk5YN7CZ5H_cjs.convertUriToUrl(tokenUri, networkType) || tokenUri;
3207
+ if (isErc1155) {
3208
+ tokenUri = tokenUri.replace(
3209
+ "{id}",
3210
+ ethers.zeroPadValue(ethers.toBeHex(BigInt(tokenId)), 32).slice(2)
3211
+ );
3212
+ }
3213
+ const metadataResponse = await fetch(tokenUri);
3214
+ if (!metadataResponse.ok) {
3215
+ console.error("Failed to fetch metadata");
3216
+ return null;
3217
+ }
3218
+ const metadata = await metadataResponse.json();
3219
+ const imageUrl = metadata.image || metadata.image_url || metadata.image_data;
3220
+ if (!imageUrl) {
3221
+ console.error("No image URL in metadata");
3222
+ return null;
3223
+ }
3224
+ return chunk5YN7CZ5H_cjs.convertUriToUrl(imageUrl, networkType) || imageUrl;
3225
+ }
3226
+ return null;
3227
+ } catch (error) {
3228
+ console.error("Error parsing avatar record:", error);
3229
+ return null;
3230
+ }
3231
+ }
3146
3232
  var useGetAvatar = (name) => {
3147
3233
  const { network } = useVeChainKitConfig();
3148
- const nodeUrl = network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl;
3234
+ const nodeUrl = network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl;
3149
3235
  const avatarQuery = reactQuery.useQuery({
3150
3236
  queryKey: getAvatarQueryKey(name ?? ""),
3151
- queryFn: () => getAvatar(network.type, nodeUrl, name),
3237
+ queryFn: async () => {
3238
+ if (!name) return null;
3239
+ const avatarRecord = await getAvatar(network.type, nodeUrl, name);
3240
+ if (!avatarRecord) return null;
3241
+ return parseAvatarRecord(avatarRecord, network.type, nodeUrl);
3242
+ },
3152
3243
  enabled: !!name && !!nodeUrl && !!network.type,
3153
- retry: 3,
3154
- retryDelay: (attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4),
3244
+ // Use the same caching strategy as the avatar query
3155
3245
  staleTime: 5 * 60 * 1e3
3156
3246
  // 5 minutes
3157
3247
  });
@@ -3173,7 +3263,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
3173
3263
  body: JSON.stringify({
3174
3264
  clauses: [
3175
3265
  {
3176
- to: chunkRUIC653T_cjs.getConfig(network).vetDomainsContractAddress,
3266
+ to: chunk5YN7CZ5H_cjs.getConfig(network).vetDomainsContractAddress,
3177
3267
  data: nameInterface2.encodeFunctionData("resolver", [
3178
3268
  node
3179
3269
  ])
@@ -3232,7 +3322,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
3232
3322
  var getTextRecordsQueryKey = (domain, network) => ["VECHAIN_KIT_TEXT_RECORDS", domain, network];
3233
3323
  var useGetTextRecords = (domain) => {
3234
3324
  const { network } = useVeChainKitConfig();
3235
- const nodeUrl = network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl;
3325
+ const nodeUrl = network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl;
3236
3326
  return reactQuery.useQuery({
3237
3327
  queryKey: getTextRecordsQueryKey(domain, network.type),
3238
3328
  queryFn: () => getTextRecords(nodeUrl, network.type, domain),
@@ -3293,7 +3383,7 @@ var useSendTransaction = ({
3293
3383
  });
3294
3384
  }
3295
3385
  let transaction = vendor.sign("tx", clauses2);
3296
- if (feeDelegation.delegateAllTransactions) {
3386
+ if (feeDelegation?.delegateAllTransactions) {
3297
3387
  transaction = transaction.delegate(feeDelegation.delegatorUrl);
3298
3388
  }
3299
3389
  if (signerAccountAddress) {
@@ -3527,7 +3617,7 @@ var getResolverAddress = async (nodeUrl, network, domain) => {
3527
3617
  body: JSON.stringify({
3528
3618
  clauses: [
3529
3619
  {
3530
- to: chunkRUIC653T_cjs.getConfig(network).vetDomainsContractAddress,
3620
+ to: chunk5YN7CZ5H_cjs.getConfig(network).vetDomainsContractAddress,
3531
3621
  data: nameInterface4.encodeFunctionData("resolver", [node])
3532
3622
  }
3533
3623
  ]
@@ -3548,13 +3638,39 @@ var getResolverAddressQueryKey = (domain) => [
3548
3638
  ];
3549
3639
  var useGetResolverAddress = (domain) => {
3550
3640
  const { network } = useVeChainKitConfig();
3551
- const nodeUrl = network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl;
3641
+ const nodeUrl = network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl;
3552
3642
  return reactQuery.useQuery({
3553
3643
  queryKey: getResolverAddressQueryKey(domain),
3554
3644
  queryFn: () => getResolverAddress(nodeUrl, network.type, domain),
3555
3645
  enabled: !!domain && !!nodeUrl && !!network.type
3556
3646
  });
3557
3647
  };
3648
+ var getAvatarOfAddressQueryKey = (address) => [
3649
+ "VECHAIN_KIT",
3650
+ "VET_DOMAINS",
3651
+ "AVATAR_OF_ADDRESS",
3652
+ address
3653
+ ];
3654
+ var useGetAvatarOfAddress = (address) => {
3655
+ const domainsQuery = useVechainDomain(address);
3656
+ const primaryDomain = domainsQuery.data?.domain;
3657
+ const avatarQuery = useGetAvatar(primaryDomain ?? "");
3658
+ return reactQuery.useQuery({
3659
+ queryKey: getAvatarOfAddressQueryKey(address),
3660
+ queryFn: async () => {
3661
+ if (!address) return chunk5YN7CZ5H_cjs.getPicassoImage(address ?? "");
3662
+ const domains = await domainsQuery.refetch();
3663
+ if (!domains.data?.domain) return chunk5YN7CZ5H_cjs.getPicassoImage(address);
3664
+ if (domains.data.domain && avatarQuery.data)
3665
+ return avatarQuery.data;
3666
+ return chunk5YN7CZ5H_cjs.getPicassoImage(address);
3667
+ },
3668
+ enabled: !!address && domainsQuery.isSuccess && (primaryDomain ? avatarQuery.isSuccess : true),
3669
+ // Use the same caching strategy as the avatar query
3670
+ staleTime: 5 * 60 * 1e3
3671
+ // 5 minutes
3672
+ });
3673
+ };
3558
3674
  var useBalances = ({ address = "" }) => {
3559
3675
  const { network } = useVeChainKitConfig();
3560
3676
  const { data: vetData, isLoading: vetLoading } = useAccountBalance(address);
@@ -3573,10 +3689,10 @@ var useBalances = ({ address = "" }) => {
3573
3689
  const isLoading = vetLoading || b3trLoading || vot3Loading || vetUsdPriceLoading || b3trUsdPriceLoading || veDelegateLoading || vthoUsdPriceLoading || customTokensLoading;
3574
3690
  const contractAddresses = {
3575
3691
  vet: "0x",
3576
- vtho: chunkRUIC653T_cjs.getConfig(network.type).vthoContractAddress,
3577
- b3tr: chunkRUIC653T_cjs.getConfig(network.type).b3trContractAddress,
3578
- vot3: chunkRUIC653T_cjs.getConfig(network.type).vot3ContractAddress,
3579
- veDelegate: chunkRUIC653T_cjs.getConfig(network.type).veDelegate
3692
+ vtho: chunk5YN7CZ5H_cjs.getConfig(network.type).vthoContractAddress,
3693
+ b3tr: chunk5YN7CZ5H_cjs.getConfig(network.type).b3trContractAddress,
3694
+ vot3: chunk5YN7CZ5H_cjs.getConfig(network.type).vot3ContractAddress,
3695
+ veDelegate: chunk5YN7CZ5H_cjs.getConfig(network.type).veDelegate
3580
3696
  };
3581
3697
  const balances = [
3582
3698
  {
@@ -3707,7 +3823,7 @@ var vechain = viem.defineChain({
3707
3823
  });
3708
3824
  var vechainConnector = () => {
3709
3825
  return rainbowKit.toPrivyWalletConnector({
3710
- id: chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID,
3826
+ id: chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID,
3711
3827
  name: "VeChain",
3712
3828
  iconUrl: "https://imagedelivery.net/oHBRUd2clqykxgDWmeAyLg/661dd77c-2f9d-40e7-baa1-f4e24fd7bf00/icon",
3713
3829
  smartWalletMode: false
@@ -3762,7 +3878,7 @@ var usePrivyCrossAppSdk = () => {
3762
3878
  setIsConnecting(true);
3763
3879
  setConnectionError(null);
3764
3880
  const connector = connectors.find(
3765
- (c) => c.id === (appID || chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID)
3881
+ (c) => c.id === (appID || chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID)
3766
3882
  );
3767
3883
  if (!connector) {
3768
3884
  throw new Error("Connector not found");
@@ -3822,15 +3938,12 @@ var usePrivyCrossAppSdk = () => {
3822
3938
  // src/hooks/api/wallet/useWalletMetadata.ts
3823
3939
  var useWalletMetadata = (address, networkType) => {
3824
3940
  const { data: domain, isLoading: isLoadingVechainDomain } = useVechainDomain(address ?? "");
3825
- const { data: avatar, isLoading: isLoadingMetadata } = useGetAvatar(
3826
- domain?.domain
3827
- );
3828
- const { data: textRecords, isLoading: isLoadingRecords } = useGetTextRecords(domain?.domain);
3829
- const avatarUrl = avatar ? chunkRUIC653T_cjs.convertUriToUrl(avatar, networkType) : null;
3830
- const headerUrl = textRecords?.header ? chunkRUIC653T_cjs.convertUriToUrl(textRecords.header, networkType) : null;
3941
+ const { data: avatar, isLoading: isLoadingMetadata } = useGetAvatarOfAddress(address ?? "");
3942
+ const { data: textRecords, isLoading: isLoadingRecords } = useGetTextRecords(domain?.domain ?? "");
3943
+ const headerUrl = textRecords?.header ? chunk5YN7CZ5H_cjs.convertUriToUrl(textRecords.header, networkType) : null;
3831
3944
  return {
3832
3945
  domain: domain?.domain,
3833
- image: avatarUrl ?? chunkRUIC653T_cjs.getPicassoImage(address ?? ""),
3946
+ image: avatar,
3834
3947
  records: {
3835
3948
  ...textRecords,
3836
3949
  header: headerUrl
@@ -3859,7 +3972,7 @@ var useWallet = () => {
3859
3972
  const isConnectedWithDappKit = !!dappKitAccount;
3860
3973
  const isConnectedWithSocialLogin = authenticated && !!user;
3861
3974
  const isConnectedWithPrivy = isConnectedWithSocialLogin || isConnectedWithCrossApp;
3862
- const isConnectedWithVeChain = isConnectedWithSocialLogin && privy?.appId === chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID || isConnectedWithCrossApp && connectionCache?.ecosystemApp?.appId === chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID;
3975
+ const isConnectedWithVeChain = isConnectedWithSocialLogin && privy?.appId === chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID || isConnectedWithCrossApp && connectionCache?.ecosystemApp?.appId === chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID;
3863
3976
  const isLoading = isConnectingWithCrossApp || isReconnectingWithCrossApp || isLoadingLoginOAuth || !ready;
3864
3977
  const [isConnected, setIsConnected] = React10.useState(false);
3865
3978
  const connectionSource = isConnectedWithCrossApp ? {
@@ -3896,7 +4009,7 @@ var useWallet = () => {
3896
4009
  const { data: smartAccount } = useSmartAccount(connectedWalletAddress);
3897
4010
  const activeAddress = isConnectedWithDappKit ? dappKitAccount : smartAccount?.address;
3898
4011
  const activeAccountDomain = useVechainDomain(activeAddress ?? "");
3899
- const activeAccountAvatar = useGetAvatar(activeAccountDomain?.data?.domain);
4012
+ const activeAccountAvatar = useGetAvatarOfAddress(activeAddress ?? "");
3900
4013
  const activeAccountTextRecords = useGetTextRecords(
3901
4014
  activeAccountDomain?.data?.domain
3902
4015
  );
@@ -3911,7 +4024,7 @@ var useWallet = () => {
3911
4024
  const account = activeAddress ? {
3912
4025
  address: activeAddress,
3913
4026
  domain: activeAccountDomain?.data?.domain,
3914
- image: activeAccountAvatar.data ? chunkRUIC653T_cjs.convertUriToUrl(activeAccountAvatar.data, network.type) : chunkRUIC653T_cjs.getPicassoImage(activeAddress ?? ""),
4027
+ image: activeAccountAvatar.data,
3915
4028
  isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
3916
4029
  metadata: activeAccountTextRecords?.data
3917
4030
  } : null;
@@ -3925,7 +4038,7 @@ var useWallet = () => {
3925
4038
  const { data: smartAccountVersion } = useSmartAccountVersion(
3926
4039
  smartAccount?.address ?? ""
3927
4040
  );
3928
- const hasActiveSmartAccount = !!smartAccount?.address && !!account?.address && chunkRUIC653T_cjs.compareAddresses(smartAccount?.address, account?.address);
4041
+ const hasActiveSmartAccount = !!smartAccount?.address && !!account?.address && chunk5YN7CZ5H_cjs.compareAddresses(smartAccount?.address, account?.address);
3929
4042
  const disconnect = React10.useCallback(async () => {
3930
4043
  try {
3931
4044
  setIsConnected(false);
@@ -3976,7 +4089,7 @@ var useWallet = () => {
3976
4089
  source: connectionSource,
3977
4090
  isInAppBrowser: (window.vechain && window.vechain.isInAppBrowser) ?? false,
3978
4091
  nodeUrl,
3979
- delegatorUrl: feeDelegation.delegatorUrl,
4092
+ delegatorUrl: feeDelegation?.delegatorUrl,
3980
4093
  chainId,
3981
4094
  network: network.type
3982
4095
  },
@@ -4049,17 +4162,17 @@ var useCustomTokens = () => {
4049
4162
  };
4050
4163
  const isTokenIncluded = (address) => {
4051
4164
  return customTokens.some(
4052
- (t) => chunkRUIC653T_cjs.compareAddresses(t.address, address)
4165
+ (t) => chunk5YN7CZ5H_cjs.compareAddresses(t.address, address)
4053
4166
  );
4054
4167
  };
4055
4168
  const isDefaultToken = (address) => {
4056
4169
  const contractAddresses = {
4057
4170
  vet: "0x",
4058
4171
  // VET has no contract address since it's the native token
4059
- vtho: chunkRUIC653T_cjs.getConfig(network.type).vthoContractAddress,
4060
- b3tr: chunkRUIC653T_cjs.getConfig(network.type).b3trContractAddress,
4061
- vot3: chunkRUIC653T_cjs.getConfig(network.type).vot3ContractAddress,
4062
- veDelegate: chunkRUIC653T_cjs.getConfig(network.type).veDelegate
4172
+ vtho: chunk5YN7CZ5H_cjs.getConfig(network.type).vthoContractAddress,
4173
+ b3tr: chunk5YN7CZ5H_cjs.getConfig(network.type).b3trContractAddress,
4174
+ vot3: chunk5YN7CZ5H_cjs.getConfig(network.type).vot3ContractAddress,
4175
+ veDelegate: chunk5YN7CZ5H_cjs.getConfig(network.type).veDelegate
4063
4176
  };
4064
4177
  return Object.values(contractAddresses).includes(address);
4065
4178
  };
@@ -4154,11 +4267,11 @@ var useAccountBalance = (address) => {
4154
4267
  return reactQuery.useQuery({
4155
4268
  queryKey: getAccountBalanceQueryKey(address),
4156
4269
  queryFn: () => getAccountBalance(thor, address),
4157
- enabled: !!address && chunkRUIC653T_cjs.isValidAddress(address),
4270
+ enabled: !!address && chunk5YN7CZ5H_cjs.isValidAddress(address),
4158
4271
  refetchInterval: 1e4
4159
4272
  });
4160
4273
  };
4161
- var useRefreshMetadata = (domain) => {
4274
+ var useRefreshMetadata = (domain, address) => {
4162
4275
  const queryClient = reactQuery.useQueryClient();
4163
4276
  const { network } = useVeChainKitConfig();
4164
4277
  const refresh = async () => {
@@ -4174,6 +4287,12 @@ var useRefreshMetadata = (domain) => {
4174
4287
  await queryClient.refetchQueries({
4175
4288
  queryKey: getTextRecordsQueryKey(domain, network.type)
4176
4289
  });
4290
+ await queryClient.invalidateQueries({
4291
+ queryKey: getAvatarOfAddressQueryKey(address)
4292
+ });
4293
+ await queryClient.refetchQueries({
4294
+ queryKey: getAvatarOfAddressQueryKey(address)
4295
+ });
4177
4296
  };
4178
4297
  return { refresh };
4179
4298
  };
@@ -4181,7 +4300,7 @@ var useRefreshMetadata = (domain) => {
4181
4300
  // src/hooks/api/utility/useGetNodeUrl.ts
4182
4301
  var useGetNodeUrl = () => {
4183
4302
  const { network } = useVeChainKitConfig();
4184
- return network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl;
4303
+ return network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl;
4185
4304
  };
4186
4305
 
4187
4306
  // src/hooks/api/utility/useGetChainId.ts
@@ -4209,7 +4328,7 @@ var getCustomTokenBalance = async (thor, token, address) => {
4209
4328
  if (res.reverted) throw new Error("Reverted");
4210
4329
  const original = res.decoded[0];
4211
4330
  const scaled = viem.formatEther(original);
4212
- const formatted = scaled === "0" ? "0" : chunkRUIC653T_cjs.humanNumber(scaled);
4331
+ const formatted = scaled === "0" ? "0" : chunk5YN7CZ5H_cjs.humanNumber(scaled);
4213
4332
  return {
4214
4333
  ...token,
4215
4334
  original,
@@ -4232,7 +4351,7 @@ var useGetCustomTokenBalances = (address) => {
4232
4351
  };
4233
4352
  var getNFTMetadataUri = async (networkType, thor, tokenID) => {
4234
4353
  if (!tokenID) return Promise.reject(new Error("tokenID not provided"));
4235
- const galaxyMemberContract = chunkRUIC653T_cjs.getConfig(networkType).galaxyMemberContractAddress;
4354
+ const galaxyMemberContract = chunk5YN7CZ5H_cjs.getConfig(networkType).galaxyMemberContractAddress;
4236
4355
  const functionFragment2 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface().getFunction("tokenURI").format("json");
4237
4356
  const res = await thor.account(galaxyMemberContract).method(JSON.parse(functionFragment2)).call(tokenID);
4238
4357
  if (res.vmError) return Promise.reject(new Error(res.vmError));
@@ -4296,7 +4415,7 @@ var getAccountAddress = async (thor, ownerAddress, networkType) => {
4296
4415
  const functionFragment2 = SimpleAccountFactoryInterface.getFunction("getAccountAddress").format(
4297
4416
  "json"
4298
4417
  );
4299
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
4418
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
4300
4419
  if (res.reverted) throw new Error("Reverted");
4301
4420
  return res.decoded[0];
4302
4421
  };
@@ -4322,7 +4441,7 @@ var getUpgradeRequiredForAccount = async (thor, contractAddress, targetVersion,
4322
4441
  const functionFragment2 = SimpleAccountFactoryInterface2.getFunction(
4323
4442
  "upgradeRequiredForAccount"
4324
4443
  ).format("json");
4325
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(contractAddress, targetVersion);
4444
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(contractAddress, targetVersion);
4326
4445
  if (res.reverted) throw new Error("Reverted");
4327
4446
  return res.decoded[0];
4328
4447
  };
@@ -4377,7 +4496,7 @@ var getAccountImplementationAddress = async (thor, version, networkType) => {
4377
4496
  default:
4378
4497
  throw new Error("Invalid version, must be between 1 and 3");
4379
4498
  }
4380
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
4499
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
4381
4500
  if (res.reverted) throw new Error("Reverted");
4382
4501
  return res.decoded[0];
4383
4502
  };
@@ -4408,7 +4527,7 @@ var getHasV1SmartAccount = async (thor, ownerAddress, networkType) => {
4408
4527
  const functionFragment2 = SimpleAccountFactoryInterface4.getFunction("hasLegacyAccount").format(
4409
4528
  "json"
4410
4529
  );
4411
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
4530
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
4412
4531
  if (res.reverted) throw new Error("Reverted");
4413
4532
  return res.decoded[0];
4414
4533
  };
@@ -4433,7 +4552,7 @@ var getUpgradeRequired = async (thor, accountAddress, ownerAddress, targetVersio
4433
4552
  const functionFragment2 = SimpleAccountFactoryInterface5.getFunction("upgradeRequired").format(
4434
4553
  "json"
4435
4554
  );
4436
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress, targetVersion);
4555
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress, targetVersion);
4437
4556
  if (res.reverted) throw new Error("Reverted");
4438
4557
  return res.decoded[0];
4439
4558
  };
@@ -4472,7 +4591,7 @@ var getAccountVersion = async (thor, accountAddress, ownerAddress, networkType)
4472
4591
  const functionFragment2 = SimpleAccountFactoryInterface6.getFunction("getAccountVersion").format(
4473
4592
  "json"
4474
4593
  );
4475
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress);
4594
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress);
4476
4595
  if (res.reverted) throw new Error("Reverted");
4477
4596
  return {
4478
4597
  version: res.decoded[0],
@@ -4507,7 +4626,7 @@ var getCurrentAccountImplementationVersion = async (thor, networkType) => {
4507
4626
  const functionFragment2 = SimpleAccountFactoryInterface7.getFunction(
4508
4627
  "currentAccountImplementationVersion"
4509
4628
  ).format("json");
4510
- const res = await thor.account(chunkRUIC653T_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
4629
+ const res = await thor.account(chunk5YN7CZ5H_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
4511
4630
  if (res.reverted) throw new Error("Reverted");
4512
4631
  return parseInt(res.decoded[0]);
4513
4632
  };
@@ -4532,8 +4651,8 @@ var getSmartAccount = async (thor, network, ownerAddress) => {
4532
4651
  return { address: void 0 };
4533
4652
  }
4534
4653
  const account = await thor.contracts.executeCall(
4535
- chunkRUIC653T_cjs.getConfig(network).accountFactoryAddress,
4536
- sdkCore.ABIContract.ofAbi(chunkFID67WC3_cjs.SimpleAccountFactoryABI).getFunction(
4654
+ chunk5YN7CZ5H_cjs.getConfig(network).accountFactoryAddress,
4655
+ sdkCore.ABIContract.ofAbi(chunkA4NZ5AVL_cjs.SimpleAccountFactoryABI).getFunction(
4537
4656
  "getAccountAddress"
4538
4657
  ),
4539
4658
  [ownerAddress]
@@ -4750,7 +4869,7 @@ var useUpgradeSmartAccount = ({
4750
4869
  const { refresh: refreshSmartAccountQueries } = useRefreshSmartAccountQueries();
4751
4870
  const { data: newImplementationAddress } = useAccountImplementationAddress(targetVersion);
4752
4871
  const buildClauses = React10.useCallback(async () => {
4753
- if (!smartAccountAddress || !chunkRUIC653T_cjs.isValidAddress(smartAccountAddress)) {
4872
+ if (!smartAccountAddress || !chunk5YN7CZ5H_cjs.isValidAddress(smartAccountAddress)) {
4754
4873
  throw new Error("Invalid smart account address");
4755
4874
  }
4756
4875
  if (!newImplementationAddress) {
@@ -4781,7 +4900,7 @@ var useUpgradeSmartAccount = ({
4781
4900
  const result = useSendTransaction({
4782
4901
  privyUIOptions: {
4783
4902
  title: "Upgrade Smart Account",
4784
- description: `Upgrading your account at ${chunkRUIC653T_cjs.humanAddress(
4903
+ description: `Upgrading your account at ${chunk5YN7CZ5H_cjs.humanAddress(
4785
4904
  smartAccountAddress
4786
4905
  )} to version ${targetVersion}`,
4787
4906
  buttonText: "Sign to continue"
@@ -4859,6 +4978,8 @@ var ModalBackButton = ({ onClick, ...props }) => {
4859
4978
  icon: /* @__PURE__ */ jsxRuntime.jsx(io5.IoChevronBack, { fontSize: "20px" }),
4860
4979
  size: "sm",
4861
4980
  variant: "ghost",
4981
+ _hover: { bg: "blackAlpha.100" },
4982
+ _dark: { _hover: { bg: "whiteAlpha.100" } },
4862
4983
  position: "absolute",
4863
4984
  borderRadius: "50%",
4864
4985
  left: "10px",
@@ -4921,7 +5042,7 @@ var AddressDisplay = ({
4921
5042
  react.Input,
4922
5043
  {
4923
5044
  cursor: "pointer",
4924
- value: showHumanAddress ? chunkRUIC653T_cjs.humanAddress(
5045
+ value: showHumanAddress ? chunk5YN7CZ5H_cjs.humanAddress(
4925
5046
  wallet.address ?? "",
4926
5047
  8,
4927
5048
  7
@@ -4954,7 +5075,7 @@ var AddressDisplay = ({
4954
5075
  react.Input,
4955
5076
  {
4956
5077
  cursor: "pointer",
4957
- value: showHumanAddress ? chunkRUIC653T_cjs.humanAddress(wallet?.address ?? "", 6, 4) : wallet?.address,
5078
+ value: showHumanAddress ? chunk5YN7CZ5H_cjs.humanAddress(wallet?.address ?? "", 6, 4) : wallet?.address,
4958
5079
  readOnly: true,
4959
5080
  fontSize: "sm",
4960
5081
  fontWeight: "700",
@@ -4983,7 +5104,7 @@ var AddressDisplay = ({
4983
5104
  // package.json
4984
5105
  var package_default = {
4985
5106
  name: "@vechain/vechain-kit",
4986
- version: "1.5.6",
5107
+ version: "1.5.8",
4987
5108
  private: false,
4988
5109
  homepage: "https://github.com/vechain/vechain-kit",
4989
5110
  repository: "github:vechain/vechain-kit",
@@ -5111,7 +5232,7 @@ var VersionFooter = ({ ...props }) => {
5111
5232
  ...props,
5112
5233
  children: [
5113
5234
  /* @__PURE__ */ jsxRuntime.jsx(
5114
- chunkFID67WC3_cjs.VechainLogo,
5235
+ chunkA4NZ5AVL_cjs.VechainLogo,
5115
5236
  {
5116
5237
  isDark,
5117
5238
  w: "70px",
@@ -5166,7 +5287,7 @@ var StickyHeaderContainer = ({ children }) => {
5166
5287
  left: "0",
5167
5288
  w: "full",
5168
5289
  borderRadius: "24px 24px 0px 0px",
5169
- bg: isDark ? "rgb(24 24 27 / 90%)" : "rgba(255, 255, 255, 0.8)",
5290
+ bg: isDark ? "rgb(31 31 30 / 90%)" : "rgb(255 255 255 / 69%)",
5170
5291
  backdropFilter: "blur(12px)",
5171
5292
  style: { WebkitBackdropFilter: "blur(12px)" },
5172
5293
  zIndex: 1e3,
@@ -5193,7 +5314,7 @@ var StickyFooterContainer = ({ children }) => {
5193
5314
  bottom: "0",
5194
5315
  left: "0",
5195
5316
  right: "0",
5196
- bg: isDark ? "#18181b" : "white",
5317
+ bg: isDark ? "#1f1f1e" : "white",
5197
5318
  zIndex: "1000",
5198
5319
  p: 4,
5199
5320
  boxShadow: "0px -1px 6px -3px rgb(0 0 0 / 56%)",
@@ -5288,13 +5409,13 @@ var AssetButton = ({
5288
5409
  ...buttonProps,
5289
5410
  children: [
5290
5411
  /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
5291
- chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[symbol] ? React10__default.default.cloneElement(chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[symbol], {
5412
+ chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[symbol] ? React10__default.default.cloneElement(chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[symbol], {
5292
5413
  boxSize: "24px",
5293
5414
  borderRadius: "full"
5294
5415
  }) : /* @__PURE__ */ jsxRuntime.jsx(
5295
5416
  react.Image,
5296
5417
  {
5297
- src: chunkRUIC653T_cjs.TOKEN_LOGOS[symbol],
5418
+ src: chunk5YN7CZ5H_cjs.TOKEN_LOGOS[symbol],
5298
5419
  alt: `${symbol} logo`,
5299
5420
  boxSize: "24px",
5300
5421
  borderRadius: "full",
@@ -5379,8 +5500,8 @@ var AddressDisplayCard = ({
5379
5500
  ),
5380
5501
  /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { align: "start", spacing: 0, children: domain ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5381
5502
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children: domain }),
5382
- !hideAddress && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", opacity: 0.5, children: chunkRUIC653T_cjs.humanAddress(address, 6, 4) })
5383
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children: chunkRUIC653T_cjs.humanAddress(address, 6, 4) }) })
5503
+ !hideAddress && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", opacity: 0.5, children: chunk5YN7CZ5H_cjs.humanAddress(address, 6, 4) })
5504
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children: chunk5YN7CZ5H_cjs.humanAddress(address, 6, 4) }) })
5384
5505
  ] }),
5385
5506
  /* @__PURE__ */ jsxRuntime.jsxs(
5386
5507
  react.VStack,
@@ -5411,6 +5532,8 @@ var ModalFAQButton = ({ onClick, ...props }) => {
5411
5532
  icon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: bs.BsQuestionCircle, fontSize: "17px" }),
5412
5533
  size: "sm",
5413
5534
  variant: "ghost",
5535
+ _hover: { bg: "blackAlpha.100" },
5536
+ _dark: { _hover: { bg: "whiteAlpha.100" } },
5414
5537
  position: "absolute",
5415
5538
  borderRadius: "50%",
5416
5539
  left: "10px",
@@ -5436,13 +5559,11 @@ var AccountAvatar = ({ wallet, props }) => {
5436
5559
  if (wallet?.isLoadingMetadata) {
5437
5560
  return /* @__PURE__ */ jsxRuntime.jsx(react.Spinner, { size: "sm" });
5438
5561
  }
5439
- const fallbackImage = wallet?.address ? chunkRUIC653T_cjs.getPicassoImage(wallet.address) : void 0;
5440
5562
  return /* @__PURE__ */ jsxRuntime.jsx(
5441
5563
  react.Image,
5442
5564
  {
5443
- src: props?.src ?? wallet?.image,
5444
- fallbackSrc: fallbackImage,
5445
- alt: props?.alt ?? wallet?.domain,
5565
+ src: props?.src || wallet?.image,
5566
+ alt: props?.alt || wallet?.domain,
5446
5567
  objectFit: "cover",
5447
5568
  rounded: "full",
5448
5569
  ...props
@@ -5496,7 +5617,7 @@ var TransactionButtonAndStatus = ({
5496
5617
  color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
5497
5618
  textAlign: "center",
5498
5619
  width: "full",
5499
- href: `${chunkRUIC653T_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
5620
+ href: `${chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
5500
5621
  target: "_blank",
5501
5622
  rel: "noopener noreferrer",
5502
5623
  children: t("View transaction on the explorer")
@@ -5787,7 +5908,7 @@ var VeChainWithPrivyLoginButton = ({ isDark, gridColumn }) => {
5787
5908
  {
5788
5909
  isDark,
5789
5910
  onClick: viewMoreLogin,
5790
- icon: isDark ? chunkFID67WC3_cjs.VechainLogoLight : chunkFID67WC3_cjs.VechainLogoDark,
5911
+ icon: isDark ? chunkA4NZ5AVL_cjs.VechainLogoLight : chunkA4NZ5AVL_cjs.VechainLogoDark,
5791
5912
  text: t("Use social login with VeChain"),
5792
5913
  variant: "loginWithVechain",
5793
5914
  rightIcon: /* @__PURE__ */ jsxRuntime.jsx(SocialIcons, {})
@@ -5818,7 +5939,7 @@ var VeChainLoginButton = ({ isDark, gridColumn }) => {
5818
5939
  {
5819
5940
  isDark,
5820
5941
  onClick: handleLoginWithVeChain,
5821
- icon: isDark ? chunkFID67WC3_cjs.VechainLogoLight : chunkFID67WC3_cjs.VechainLogoDark,
5942
+ icon: isDark ? chunkA4NZ5AVL_cjs.VechainLogoLight : chunkA4NZ5AVL_cjs.VechainLogoDark,
5822
5943
  text: t("Use social login with VeChain"),
5823
5944
  variant: "loginWithVechain",
5824
5945
  rightIcon: /* @__PURE__ */ jsxRuntime.jsx(SocialIcons, {})
@@ -6213,7 +6334,7 @@ var AccountDetailsButton = ({
6213
6334
  wordBreak: "break-word",
6214
6335
  whiteSpace: "normal",
6215
6336
  w: "full",
6216
- children: wallet?.domain ? chunkRUIC653T_cjs.humanDomain(wallet?.domain, 4, 11) : chunkRUIC653T_cjs.humanAddress(wallet?.address ?? "", 6, 4)
6337
+ children: wallet?.domain ? chunk5YN7CZ5H_cjs.humanDomain(wallet?.domain ?? "", 18, 0) : chunk5YN7CZ5H_cjs.humanAddress(wallet?.address ?? "", 6, 4)
6217
6338
  }
6218
6339
  )
6219
6340
  ] }),
@@ -6243,24 +6364,18 @@ var ActionButton = ({
6243
6364
  extraContent
6244
6365
  }) => {
6245
6366
  const { t } = reactI18next.useTranslation();
6246
- const { colorMode } = react.useColorMode();
6247
- const baseBackgroundColor = backgroundColor ?? colorMode === "dark" ? "#ffffff0a" : "#00000005";
6248
6367
  return /* @__PURE__ */ jsxRuntime.jsx(
6249
6368
  react.Button,
6250
6369
  {
6251
- w: "full",
6252
- minH: "70px",
6253
- h: "fit-content",
6370
+ variant: "actionButton",
6254
6371
  py: stacked ? 0 : 4,
6255
6372
  onClick,
6256
6373
  display: hide ? "none" : "flex",
6257
6374
  isDisabled: showComingSoon || isDisabled,
6258
6375
  isLoading,
6259
6376
  loadingText,
6260
- bgColor: baseBackgroundColor,
6261
- _hover: _hover ?? {
6262
- backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
6263
- },
6377
+ bgColor: backgroundColor,
6378
+ _hover,
6264
6379
  ...style,
6265
6380
  children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { w: "full", justify: "space-between", children: [
6266
6381
  /* @__PURE__ */ jsxRuntime.jsx(react.Box, { minW: "40px", children: leftImage ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -6283,7 +6398,7 @@ var ActionButton = ({
6283
6398
  flex: 1,
6284
6399
  justifyContent: "flex-start",
6285
6400
  alignItems: "flex-start",
6286
- children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "flex-start", children: [
6401
+ children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "flex-start", alignItems: "baseline", children: [
6287
6402
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "400", children: title }),
6288
6403
  showComingSoon && /* @__PURE__ */ jsxRuntime.jsx(react.Tag, { size: "sm", colorScheme: "red", children: t("Coming Soon!") }),
6289
6404
  extraContent
@@ -6345,7 +6460,7 @@ var AccountSelector = ({
6345
6460
  props: { width: 7, height: 7 }
6346
6461
  }
6347
6462
  ),
6348
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: size, fontWeight: "500", children: chunkRUIC653T_cjs.humanDomain(wallet?.domain ?? "", 18, 0) || chunkRUIC653T_cjs.humanAddress(wallet?.address ?? "", 6, 4) })
6463
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: size, fontWeight: "500", children: chunk5YN7CZ5H_cjs.humanDomain(wallet?.domain ?? "", 22, 0) || chunk5YN7CZ5H_cjs.humanAddress(wallet?.address ?? "", 6, 4) })
6349
6464
  ] }),
6350
6465
  /* @__PURE__ */ jsxRuntime.jsx(
6351
6466
  react.Icon,
@@ -6410,17 +6525,17 @@ var AssetIcons = ({
6410
6525
  border: "2px solid #00000024",
6411
6526
  alignItems: "center",
6412
6527
  justifyContent: "center",
6413
- children: chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[token.symbol] ? React10__default.default.cloneElement(
6414
- chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[token.symbol],
6528
+ children: chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[token.symbol] ? React10__default.default.cloneElement(
6529
+ chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[token.symbol],
6415
6530
  {
6416
6531
  width: `${iconSize * 0.8}px`,
6417
6532
  height: `${iconSize * 0.8}px`,
6418
6533
  rounded: "full"
6419
6534
  }
6420
- ) : chunkRUIC653T_cjs.TOKEN_LOGOS[token.symbol] ? /* @__PURE__ */ jsxRuntime.jsx(
6535
+ ) : chunk5YN7CZ5H_cjs.TOKEN_LOGOS[token.symbol] ? /* @__PURE__ */ jsxRuntime.jsx(
6421
6536
  react.Image,
6422
6537
  {
6423
- src: chunkRUIC653T_cjs.TOKEN_LOGOS[token.symbol],
6538
+ src: chunk5YN7CZ5H_cjs.TOKEN_LOGOS[token.symbol],
6424
6539
  alt: `${token.symbol} logo`,
6425
6540
  width: `${iconSize * 0.8}px`,
6426
6541
  height: `${iconSize * 0.8}px`,
@@ -6730,7 +6845,8 @@ var QuickActionButton = ({
6730
6845
  icon,
6731
6846
  label,
6732
6847
  onClick,
6733
- isDisabled
6848
+ isDisabled,
6849
+ showRedDot
6734
6850
  }) => {
6735
6851
  const { t } = reactI18next.useTranslation();
6736
6852
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -6743,18 +6859,41 @@ var QuickActionButton = ({
6743
6859
  isDisabled,
6744
6860
  icon: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, children: [
6745
6861
  /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: icon, boxSize: 5, opacity: 0.9 }),
6746
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "600", children: t(label, label) })
6862
+ /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { p: 0, alignItems: "baseline", spacing: 1, children: [
6863
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "600", children: t(label, label) }),
6864
+ showRedDot && /* @__PURE__ */ jsxRuntime.jsx(
6865
+ react.Box,
6866
+ {
6867
+ minWidth: "8px",
6868
+ height: "8px",
6869
+ bg: "red.500",
6870
+ borderRadius: "full",
6871
+ display: "flex",
6872
+ alignItems: "center",
6873
+ justifyContent: "center"
6874
+ }
6875
+ )
6876
+ ] })
6747
6877
  ] }),
6748
6878
  onClick
6749
6879
  }
6750
6880
  );
6751
6881
  };
6752
6882
  var QuickActionsSection = ({ mt, setCurrentContent }) => {
6753
- const { account } = useWallet();
6883
+ const { account, smartAccount, connectedWallet, connection } = useWallet();
6754
6884
  const { totalBalance } = useBalances({
6755
6885
  address: account?.address ?? ""
6756
6886
  });
6757
6887
  const { t } = reactI18next.useTranslation();
6888
+ const { data: upgradeRequired } = useUpgradeRequired(
6889
+ smartAccount?.address ?? "",
6890
+ connectedWallet?.address ?? "",
6891
+ 3
6892
+ );
6893
+ const { getNotifications } = useNotifications();
6894
+ const notifications = getNotifications();
6895
+ const hasUnreadNotifications = notifications.some((n) => !n.isRead);
6896
+ const showRedDot = connection.isConnectedWithPrivy && upgradeRequired || hasUnreadNotifications;
6758
6897
  return /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", mt, spacing: 4, children: [
6759
6898
  /* @__PURE__ */ jsxRuntime.jsx(react.Heading, { size: "xs", fontWeight: "500", w: "full", opacity: 0.5, children: t("Activities") }),
6760
6899
  /* @__PURE__ */ jsxRuntime.jsx(react.Grid, { templateColumns: "repeat(3, 1fr)", gap: 2, w: "full", children: QUICK_ACTIONS.map((action) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -6763,7 +6902,8 @@ var QuickActionsSection = ({ mt, setCurrentContent }) => {
6763
6902
  icon: action.icon,
6764
6903
  label: action.label,
6765
6904
  onClick: () => action.onClick(setCurrentContent),
6766
- isDisabled: action.isDisabled?.(totalBalance)
6905
+ isDisabled: action.isDisabled?.(totalBalance),
6906
+ showRedDot: showRedDot && action.label === "Settings"
6767
6907
  },
6768
6908
  action.label
6769
6909
  )) })
@@ -6872,10 +7012,120 @@ var DomainRequiredAlert = () => {
6872
7012
  ) })
6873
7013
  ] }) }) });
6874
7014
  };
7015
+ var CrossAppConnectionSecurityCard = () => {
7016
+ const { t } = reactI18next.useTranslation();
7017
+ const { getConnectionCache } = useCrossAppConnectionCache();
7018
+ const connectionCache = getConnectionCache();
7019
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { variant: "vechainKitBase", w: "full", children: [
7020
+ /* @__PURE__ */ jsxRuntime.jsxs(react.CardHeader, { p: 4, pl: 6, borderBottomWidth: "1px", children: [
7021
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", opacity: 0.8, children: t("Security preferences") }),
7022
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", mt: 1, opacity: 0.7, children: t(
7023
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.",
7024
+ {
7025
+ appName: connectionCache?.ecosystemApp.name ?? "origin app"
7026
+ }
7027
+ ) })
7028
+ ] }),
7029
+ /* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { borderRadius: "none", children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 3, align: "stretch", children: [
7030
+ /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
7031
+ /* @__PURE__ */ jsxRuntime.jsx(
7032
+ react.Center,
7033
+ {
7034
+ w: "fit-content",
7035
+ h: "fit-content",
7036
+ p: 2,
7037
+ borderRadius: "full",
7038
+ bg: "blackAlpha.100",
7039
+ _dark: { bg: "blackAlpha.100" },
7040
+ flexShrink: 0,
7041
+ children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: gr.GrUserAdmin })
7042
+ }
7043
+ ),
7044
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { flex: 1, children: [
7045
+ /* @__PURE__ */ jsxRuntime.jsx(
7046
+ react.Text,
7047
+ {
7048
+ fontSize: "sm",
7049
+ fontWeight: "medium",
7050
+ lineHeight: "shorter",
7051
+ children: t("Login methods")
7052
+ }
7053
+ ),
7054
+ /* @__PURE__ */ jsxRuntime.jsx(
7055
+ react.Text,
7056
+ {
7057
+ fontSize: "xs",
7058
+ opacity: 0.7,
7059
+ lineHeight: "shorter",
7060
+ children: t("Manage your login methods and passkeys")
7061
+ }
7062
+ )
7063
+ ] })
7064
+ ] }),
7065
+ /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
7066
+ /* @__PURE__ */ jsxRuntime.jsx(
7067
+ react.Center,
7068
+ {
7069
+ w: "fit-content",
7070
+ h: "fit-content",
7071
+ p: 2,
7072
+ borderRadius: "full",
7073
+ bg: "blackAlpha.100",
7074
+ _dark: { bg: "blackAlpha.100" },
7075
+ flexShrink: 0,
7076
+ children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: hi2.HiOutlineShieldCheck })
7077
+ }
7078
+ ),
7079
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { flex: 1, children: [
7080
+ /* @__PURE__ */ jsxRuntime.jsx(
7081
+ react.Text,
7082
+ {
7083
+ fontSize: "sm",
7084
+ fontWeight: "medium",
7085
+ lineHeight: "shorter",
7086
+ children: t("Security settings")
7087
+ }
7088
+ ),
7089
+ /* @__PURE__ */ jsxRuntime.jsx(
7090
+ react.Text,
7091
+ {
7092
+ fontSize: "xs",
7093
+ opacity: 0.7,
7094
+ lineHeight: "shorter",
7095
+ children: t(
7096
+ "Backup your wallet, configure MFA and set recovery options"
7097
+ )
7098
+ }
7099
+ )
7100
+ ] })
7101
+ ] })
7102
+ ] }) }),
7103
+ /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { children: /* @__PURE__ */ jsxRuntime.jsxs(
7104
+ react.Button,
7105
+ {
7106
+ variant: "vechainKitSecondary",
7107
+ w: "full",
7108
+ onClick: () => {
7109
+ window.open(
7110
+ connectionCache?.ecosystemApp.website ?? "https://governance.vebetterdao.org/",
7111
+ "_blank"
7112
+ );
7113
+ },
7114
+ children: [
7115
+ t("Manage on {{appName}}", {
7116
+ appName: connectionCache?.ecosystemApp.name ?? "origin app"
7117
+ }),
7118
+ /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaExternalLinkAlt, ml: 2 })
7119
+ ]
7120
+ }
7121
+ ) })
7122
+ ] });
7123
+ };
6875
7124
  var AccessAndSecurityContent = ({ setCurrentContent }) => {
6876
7125
  const { t } = reactI18next.useTranslation();
6877
7126
  const { exportWallet } = reactAuth.usePrivy();
6878
7127
  const { showMfaEnrollmentModal } = reactAuth.useMfaEnrollment();
7128
+ const { setWalletRecovery } = reactAuth.useSetWalletRecovery();
6879
7129
  const { connection, smartAccount, connectedWallet } = useWallet();
6880
7130
  const { data: upgradeRequired } = useUpgradeRequired(
6881
7131
  smartAccount?.address ?? "",
@@ -6901,72 +7151,17 @@ var AccessAndSecurityContent = ({ setCurrentContent }) => {
6901
7151
  align: "flex-start",
6902
7152
  w: "full",
6903
7153
  children: [
6904
- /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", justifyContent: "center", spacing: 3, mb: 3, children: [
6905
- /* @__PURE__ */ jsxRuntime.jsx(
6906
- react.Icon,
6907
- {
6908
- opacity: 0.5,
6909
- as: io5.IoShieldOutline,
6910
- fontSize: "50px"
6911
- }
6912
- ),
6913
- /* @__PURE__ */ jsxRuntime.jsx(
6914
- react.Text,
6915
- {
6916
- fontSize: "sm",
6917
- opacity: 0.5,
6918
- textAlign: "center",
6919
- children: t(
6920
- "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets."
6921
- )
6922
- }
6923
- )
6924
- ] }),
6925
- /* @__PURE__ */ jsxRuntime.jsx(
6926
- ActionButton,
6927
- {
6928
- title: t("Your embedded wallet"),
6929
- onClick: () => {
6930
- setCurrentContent("embedded-wallet");
6931
- },
6932
- leftIcon: hi2.HiOutlineWallet,
6933
- rightIcon: md.MdOutlineNavigateNext
6934
- }
6935
- ),
6936
- /* @__PURE__ */ jsxRuntime.jsx(
6937
- ActionButton,
6938
- {
6939
- title: t("Login methods and Passkeys"),
6940
- onClick: () => {
6941
- setCurrentContent("privy-linked-accounts");
6942
- },
6943
- isDisabled: !connection.isConnectedWithSocialLogin,
6944
- leftIcon: gr.GrUserAdmin,
6945
- rightIcon: md.MdOutlineNavigateNext
6946
- }
6947
- ),
6948
- /* @__PURE__ */ jsxRuntime.jsx(
6949
- ActionButton,
6950
- {
6951
- title: t("Backup your wallet"),
6952
- onClick: () => {
6953
- exportWallet();
6954
- },
6955
- isDisabled: !connection.isConnectedWithSocialLogin,
6956
- leftIcon: gi.GiHouseKeys
6957
- }
6958
- ),
6959
- /* @__PURE__ */ jsxRuntime.jsx(
6960
- ActionButton,
7154
+ /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { w: "full", justifyContent: "center", spacing: 3, mb: 3, children: /* @__PURE__ */ jsxRuntime.jsx(
7155
+ react.Text,
6961
7156
  {
6962
- title: t("Manage MFA"),
6963
- onClick: () => {
6964
- showMfaEnrollmentModal();
6965
- },
6966
- isDisabled: !connection.isConnectedWithSocialLogin,
6967
- leftIcon: hi2.HiOutlineShieldCheck
7157
+ fontSize: "sm",
7158
+ opacity: 0.5,
7159
+ textAlign: "center",
7160
+ children: t(
7161
+ "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets."
7162
+ )
6968
7163
  }
6969
- ),
7164
+ ) }),
6970
7165
  upgradeRequired && /* @__PURE__ */ jsxRuntime.jsx(
6971
7166
  ActionButton,
6972
7167
  {
@@ -6983,28 +7178,80 @@ var AccessAndSecurityContent = ({ setCurrentContent }) => {
6983
7178
  }
6984
7179
  });
6985
7180
  },
6986
- leftIcon: hi2.HiOutlineShieldCheck
7181
+ leftIcon: io5.IoCogSharp,
7182
+ extraContent: /* @__PURE__ */ jsxRuntime.jsx(
7183
+ react.Box,
7184
+ {
7185
+ minWidth: "8px",
7186
+ height: "8px",
7187
+ bg: "red.500",
7188
+ borderRadius: "full",
7189
+ display: "flex",
7190
+ alignItems: "center",
7191
+ justifyContent: "center",
7192
+ ml: 2
7193
+ }
7194
+ )
6987
7195
  }
6988
- )
7196
+ ),
7197
+ /* @__PURE__ */ jsxRuntime.jsx(
7198
+ ActionButton,
7199
+ {
7200
+ title: t("Your embedded wallet"),
7201
+ onClick: () => {
7202
+ setCurrentContent("embedded-wallet");
7203
+ },
7204
+ leftIcon: hi2.HiOutlineWallet,
7205
+ rightIcon: md.MdOutlineNavigateNext
7206
+ }
7207
+ ),
7208
+ connection.isConnectedWithSocialLogin ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7209
+ /* @__PURE__ */ jsxRuntime.jsx(
7210
+ ActionButton,
7211
+ {
7212
+ title: t("Login methods and Passkeys"),
7213
+ onClick: () => {
7214
+ setCurrentContent("privy-linked-accounts");
7215
+ },
7216
+ leftIcon: gr.GrUserAdmin,
7217
+ rightIcon: md.MdOutlineNavigateNext
7218
+ }
7219
+ ),
7220
+ /* @__PURE__ */ jsxRuntime.jsx(
7221
+ ActionButton,
7222
+ {
7223
+ title: t("Backup your wallet"),
7224
+ onClick: () => {
7225
+ exportWallet();
7226
+ },
7227
+ leftIcon: gi.GiHouseKeys
7228
+ }
7229
+ ),
7230
+ /* @__PURE__ */ jsxRuntime.jsx(
7231
+ ActionButton,
7232
+ {
7233
+ title: t("Manage MFA"),
7234
+ onClick: () => {
7235
+ showMfaEnrollmentModal();
7236
+ },
7237
+ leftIcon: hi2.HiOutlineShieldCheck
7238
+ }
7239
+ ),
7240
+ /* @__PURE__ */ jsxRuntime.jsx(
7241
+ ActionButton,
7242
+ {
7243
+ title: t("Manage Recovery"),
7244
+ onClick: () => {
7245
+ setWalletRecovery();
7246
+ },
7247
+ leftIcon: md.MdOutlineSettingsBackupRestore
7248
+ }
7249
+ )
7250
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(CrossAppConnectionSecurityCard, {})
6989
7251
  ]
6990
7252
  }
6991
7253
  ) }),
6992
- /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { w: "full", children: connection.isConnectedWithVeChain && connection.isConnectedWithCrossApp && /* @__PURE__ */ jsxRuntime.jsxs(
6993
- react.Button,
6994
- {
6995
- variant: "vechainKitSecondary",
6996
- onClick: () => {
6997
- window.open(
6998
- "https://governance.vebetterdao.org/",
6999
- "_blank"
7000
- );
7001
- },
7002
- children: [
7003
- t("Manage on VeBetterDAO"),
7004
- /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaExternalLinkAlt, ml: 2 })
7005
- ]
7006
- }
7007
- ) })
7254
+ /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { pt: 0 })
7008
7255
  ] });
7009
7256
  };
7010
7257
  var DEFAULT_NOTIFICATIONS = [
@@ -7229,13 +7476,18 @@ var SettingsContent = ({
7229
7476
  const contentRef = React10.useRef(null);
7230
7477
  const { t } = reactI18next.useTranslation();
7231
7478
  const { privy } = useVeChainKitConfig();
7232
- const { connection, disconnect, account } = useWallet();
7479
+ const { connection, disconnect, account, smartAccount, connectedWallet } = useWallet();
7233
7480
  const { getConnectionCache } = useCrossAppConnectionCache();
7234
7481
  const connectionCache = getConnectionCache();
7235
7482
  const { data: appInfo } = useFetchAppInfo(privy?.appId ?? "");
7236
7483
  const { getNotifications } = useNotifications();
7237
7484
  const notifications = getNotifications();
7238
7485
  const hasUnreadNotifications = notifications.some((n) => !n.isRead);
7486
+ const { data: upgradeRequired } = useUpgradeRequired(
7487
+ smartAccount?.address ?? "",
7488
+ connectedWallet?.address ?? "",
7489
+ 3
7490
+ );
7239
7491
  React10.useEffect(() => {
7240
7492
  if (contentRef.current) {
7241
7493
  contentRef.current.scrollTop = 0;
@@ -7296,7 +7548,19 @@ var SettingsContent = ({
7296
7548
  setCurrentContent("access-and-security");
7297
7549
  },
7298
7550
  leftIcon: io5.IoShieldOutline,
7299
- rightIcon: md.MdOutlineNavigateNext
7551
+ rightIcon: md.MdOutlineNavigateNext,
7552
+ extraContent: upgradeRequired && /* @__PURE__ */ jsxRuntime.jsx(
7553
+ react.Box,
7554
+ {
7555
+ minWidth: "8px",
7556
+ height: "8px",
7557
+ bg: "red.500",
7558
+ borderRadius: "full",
7559
+ display: "flex",
7560
+ alignItems: "center",
7561
+ justifyContent: "center"
7562
+ }
7563
+ )
7300
7564
  }
7301
7565
  ),
7302
7566
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7334,17 +7598,13 @@ var SettingsContent = ({
7334
7598
  extraContent: hasUnreadNotifications && /* @__PURE__ */ jsxRuntime.jsx(
7335
7599
  react.Box,
7336
7600
  {
7337
- minWidth: "16px",
7338
- height: "16px",
7601
+ minWidth: "8px",
7602
+ height: "8px",
7339
7603
  bg: "red.500",
7340
7604
  borderRadius: "full",
7341
7605
  display: "flex",
7342
7606
  alignItems: "center",
7343
- justifyContent: "center",
7344
- ml: 2,
7345
- children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", color: "white", children: notifications.filter(
7346
- (n) => !n.isRead
7347
- ).length })
7607
+ justifyContent: "center"
7348
7608
  }
7349
7609
  )
7350
7610
  }
@@ -7447,7 +7707,7 @@ var NetworkInfo = () => {
7447
7707
  InfoRow,
7448
7708
  {
7449
7709
  label: t("Node URL"),
7450
- value: network.nodeUrl || chunkRUIC653T_cjs.getConfig(network.type).nodeUrl
7710
+ value: network.nodeUrl || chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl
7451
7711
  }
7452
7712
  ),
7453
7713
  connection.isConnectedWithPrivy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -7643,15 +7903,15 @@ var WalletSecuredBy = () => {
7643
7903
  mt: 5,
7644
7904
  p: 3,
7645
7905
  borderRadius: "lg",
7646
- bg: isDark ? "whiteAlpha.100" : "blackAlpha.50",
7906
+ bg: isDark ? "#00000038" : "#f5f5f5",
7647
7907
  shadow: "sm",
7648
7908
  children: [
7649
7909
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", fontWeight: "800", children: t("Wallet secured by") }),
7650
7910
  /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "center", children: [
7651
- /* @__PURE__ */ jsxRuntime.jsx(chunkFID67WC3_cjs.PrivyLogo, { isDark, w: "50px" }),
7911
+ /* @__PURE__ */ jsxRuntime.jsx(chunkA4NZ5AVL_cjs.PrivyLogo, { isDark, w: "50px" }),
7652
7912
  /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: pi.PiLineVertical, ml: 3 }),
7653
7913
  connection.isConnectedWithVeChain ? /* @__PURE__ */ jsxRuntime.jsx(
7654
- chunkFID67WC3_cjs.VechainLogo,
7914
+ chunkA4NZ5AVL_cjs.VechainLogo,
7655
7915
  {
7656
7916
  isDark,
7657
7917
  w: "80px",
@@ -7684,9 +7944,10 @@ var WalletSecuredBy = () => {
7684
7944
  var EmbeddedWalletContent = ({ setCurrentContent }) => {
7685
7945
  const { t } = reactI18next.useTranslation();
7686
7946
  const { connectedWallet, connection } = useWallet();
7687
- const walletImage = chunkRUIC653T_cjs.getPicassoImage(connectedWallet?.address ?? "");
7947
+ const walletImage = chunk5YN7CZ5H_cjs.getPicassoImage(connectedWallet?.address ?? "");
7688
7948
  const { getConnectionCache } = useCrossAppConnectionCache();
7689
7949
  const connectionCache = getConnectionCache();
7950
+ const { darkMode: isDark } = useVeChainKitConfig();
7690
7951
  return /* @__PURE__ */ jsxRuntime.jsxs(ScrollToTopWrapper, { children: [
7691
7952
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
7692
7953
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Embedded wallet") }),
@@ -7754,7 +8015,7 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7754
8015
  {
7755
8016
  href: "https://www.veworld.net/",
7756
8017
  isExternal: true,
7757
- color: "blackAlpha.600",
8018
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
7758
8019
  fontSize: "14px",
7759
8020
  textDecoration: "underline",
7760
8021
  children: [
@@ -7774,7 +8035,7 @@ var EmbeddedWalletContent = ({ setCurrentContent }) => {
7774
8035
  {
7775
8036
  href: "https://docs.vechainkit.vechain.org/vechain-kit/embedded-wallets",
7776
8037
  isExternal: true,
7777
- color: "blackAlpha.600",
8038
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
7778
8039
  fontSize: "14px",
7779
8040
  textDecoration: "underline",
7780
8041
  children: t("here")
@@ -7822,7 +8083,7 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7822
8083
  /* @__PURE__ */ jsxRuntime.jsx(ModalBackButton, { onClick: onBack }),
7823
8084
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
7824
8085
  ] }),
7825
- /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", children: [
8086
+ /* @__PURE__ */ jsxRuntime.jsx(react.Container, { h: ["540px", "auto"], p: 0, children: /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, align: "stretch", children: [
7826
8087
  /* @__PURE__ */ jsxRuntime.jsxs(react.InputGroup, { size: "lg", children: [
7827
8088
  /* @__PURE__ */ jsxRuntime.jsx(
7828
8089
  react.Input,
@@ -7872,7 +8133,9 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7872
8133
  AssetButton,
7873
8134
  {
7874
8135
  symbol: token.symbol,
7875
- amount: Number(token.numericBalance),
8136
+ amount: Number(
8137
+ token.numericBalance
8138
+ ),
7876
8139
  usdValue,
7877
8140
  onClick: () => onSelectToken(token),
7878
8141
  isDisabled: !hasBalance
@@ -7880,7 +8143,7 @@ var SelectTokenContent = ({ onSelectToken, onBack }) => {
7880
8143
  token.address
7881
8144
  );
7882
8145
  }) })
7883
- ] }) }),
8146
+ ] }) }) }),
7884
8147
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { pt: 0 })
7885
8148
  ] });
7886
8149
  };
@@ -7919,11 +8182,7 @@ var SendTokenContent = ({
7919
8182
  mode: "onChange"
7920
8183
  });
7921
8184
  const { toAddressOrDomain } = watch();
7922
- const {
7923
- domain: resolvedDomain,
7924
- address: resolvedAddress,
7925
- isLoading: isLoadingDomain
7926
- } = dappKitReact.useVechainDomain({ addressOrDomain: toAddressOrDomain });
8185
+ const { domain: resolvedDomain, address: resolvedAddress } = dappKitReact.useVechainDomain({ addressOrDomain: toAddressOrDomain });
7927
8186
  const handleSetMaxAmount = () => {
7928
8187
  if (selectedToken) {
7929
8188
  setValue("amount", selectedToken.numericBalance);
@@ -7931,7 +8190,7 @@ var SendTokenContent = ({
7931
8190
  };
7932
8191
  const onSubmit = async (data) => {
7933
8192
  if (!selectedToken) return;
7934
- const isValidReceiver = !chunkRUIC653T_cjs.compareAddresses(resolvedAddress ?? ethers.ZeroAddress, ethers.ZeroAddress) || chunkRUIC653T_cjs.isValidAddress(data.toAddressOrDomain);
8193
+ const isValidReceiver = !chunk5YN7CZ5H_cjs.compareAddresses(resolvedAddress ?? ethers.ZeroAddress, ethers.ZeroAddress) || chunk5YN7CZ5H_cjs.isValidAddress(data.toAddressOrDomain);
7935
8194
  if (!isValidReceiver) {
7936
8195
  setError("toAddressOrDomain", {
7937
8196
  type: "manual",
@@ -8044,8 +8303,8 @@ var SendTokenContent = ({
8044
8303
  bg: isDark ? "whiteAlpha.300" : "blackAlpha.300"
8045
8304
  },
8046
8305
  onClick: () => setIsSelectingToken(true),
8047
- leftIcon: chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol] ? React10__default.default.cloneElement(
8048
- chunkRUIC653T_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol],
8306
+ leftIcon: chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol] ? React10__default.default.cloneElement(
8307
+ chunk5YN7CZ5H_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol],
8049
8308
  {
8050
8309
  boxSize: "20px",
8051
8310
  borderRadius: "full"
@@ -8053,7 +8312,7 @@ var SendTokenContent = ({
8053
8312
  ) : /* @__PURE__ */ jsxRuntime.jsx(
8054
8313
  react.Image,
8055
8314
  {
8056
- src: chunkRUIC653T_cjs.TOKEN_LOGOS[selectedToken.symbol],
8315
+ src: chunk5YN7CZ5H_cjs.TOKEN_LOGOS[selectedToken.symbol],
8057
8316
  alt: `${selectedToken.symbol} logo`,
8058
8317
  boxSize: "20px",
8059
8318
  borderRadius: "full",
@@ -8201,8 +8460,8 @@ var SendTokenContent = ({
8201
8460
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8202
8461
  react.Button,
8203
8462
  {
8204
- variant: "vechainKitSecondary",
8205
- isDisabled: !selectedToken || !isValid || isLoadingDomain,
8463
+ variant: "vechainKitPrimary",
8464
+ isDisabled: !selectedToken || !isValid,
8206
8465
  onClick: handleSubmit(onSubmit),
8207
8466
  children: selectedToken ? t("Send") : t("Select Token")
8208
8467
  }
@@ -8229,7 +8488,7 @@ var SendTokenSummaryContent = ({
8229
8488
  }) => {
8230
8489
  const { t } = reactI18next.useTranslation();
8231
8490
  const { account, connection, connectedWallet } = useWallet();
8232
- const { data: avatar } = useGetAvatar(resolvedDomain);
8491
+ const { data: avatar } = useGetAvatar(resolvedDomain ?? "");
8233
8492
  const { network } = useVeChainKitConfig();
8234
8493
  const { data: upgradeRequired } = useUpgradeRequired(
8235
8494
  account?.address ?? "",
@@ -8239,9 +8498,9 @@ var SendTokenSummaryContent = ({
8239
8498
  const { open: openUpgradeSmartAccountModal } = useUpgradeSmartAccountModal();
8240
8499
  const toImageSrc = React10.useMemo(() => {
8241
8500
  if (avatar) {
8242
- return chunkRUIC653T_cjs.convertUriToUrl(avatar, network.type);
8501
+ return avatar;
8243
8502
  }
8244
- return chunkRUIC653T_cjs.getPicassoImage(resolvedAddress || toAddressOrDomain);
8503
+ return chunk5YN7CZ5H_cjs.getPicassoImage(resolvedAddress || toAddressOrDomain);
8245
8504
  }, [avatar, network.type, resolvedAddress, toAddressOrDomain]);
8246
8505
  const {
8247
8506
  sendTransaction: transferERC20,
@@ -8301,6 +8560,10 @@ var SendTokenSummaryContent = ({
8301
8560
  return selectedToken.symbol === "VET" ? transferVETReceipt : transferERC20Receipt;
8302
8561
  };
8303
8562
  const handleSend = async () => {
8563
+ if (upgradeRequired) {
8564
+ openUpgradeSmartAccountModal();
8565
+ return;
8566
+ }
8304
8567
  try {
8305
8568
  if (selectedToken.symbol === "VET") {
8306
8569
  await transferVET();
@@ -8313,11 +8576,6 @@ var SendTokenSummaryContent = ({
8313
8576
  };
8314
8577
  const isTxWaitingConfirmation = transferERC20WaitingForWalletConfirmation || transferVETWaitingForWalletConfirmation;
8315
8578
  const isSubmitting = isTxWaitingConfirmation || transferERC20Pending || transferVETPending;
8316
- React10.useEffect(() => {
8317
- if (upgradeRequired) {
8318
- openUpgradeSmartAccountModal();
8319
- }
8320
- }, [upgradeRequired, openUpgradeSmartAccountModal]);
8321
8579
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8322
8580
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
8323
8581
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: "Send" }),
@@ -8416,7 +8674,7 @@ var SendTokenSummaryContent = ({
8416
8674
  transactionPendingText: t("Sending..."),
8417
8675
  txReceipt: getTxReceipt(),
8418
8676
  buttonText: t("Confirm"),
8419
- isDisabled: isSubmitting || upgradeRequired
8677
+ isDisabled: isSubmitting
8420
8678
  }
8421
8679
  ) })
8422
8680
  ] });
@@ -8529,23 +8787,95 @@ var ChooseNameContent = ({
8529
8787
  }
8530
8788
  )
8531
8789
  ] })
8532
- ] }) }),
8533
- /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8534
- react.Button,
8535
- {
8536
- variant: "vechainKitPrimary",
8537
- onClick: () => setCurrentContent({
8538
- type: "choose-name-search",
8539
- props: {
8540
- name: "",
8541
- setCurrentContent,
8542
- initialContentSource
8543
- }
8544
- }),
8545
- children: t("Choose name")
8546
- }
8547
- ) })
8548
- ] });
8790
+ ] }) }),
8791
+ /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8792
+ react.Button,
8793
+ {
8794
+ variant: "vechainKitPrimary",
8795
+ onClick: () => setCurrentContent({
8796
+ type: "choose-name-search",
8797
+ props: {
8798
+ name: "",
8799
+ setCurrentContent,
8800
+ initialContentSource
8801
+ }
8802
+ }),
8803
+ children: t("Choose name")
8804
+ }
8805
+ ) })
8806
+ ] });
8807
+ };
8808
+ var DomainListItem = ({
8809
+ domain,
8810
+ isCurrentDomain,
8811
+ onSelect
8812
+ }) => {
8813
+ const { darkMode: isDark } = useVeChainKitConfig();
8814
+ const { connection } = useWallet();
8815
+ const { t } = reactI18next.useTranslation();
8816
+ const metadata = useWalletMetadata(domain.name, connection.network);
8817
+ return /* @__PURE__ */ jsxRuntime.jsx(
8818
+ react.ListItem,
8819
+ {
8820
+ p: 4,
8821
+ bg: isDark ? "#1f1f1e" : "white",
8822
+ borderRadius: "xl",
8823
+ cursor: isCurrentDomain ? "default" : "pointer",
8824
+ opacity: isCurrentDomain ? 0.7 : 1,
8825
+ border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
8826
+ _hover: {
8827
+ bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
8828
+ borderColor: isDark ? "#3d3d3d" : "#dedede"
8829
+ },
8830
+ onClick: () => !isCurrentDomain && onSelect(domain.name),
8831
+ transition: "all 0.2s",
8832
+ children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
8833
+ /* @__PURE__ */ jsxRuntime.jsx(
8834
+ AccountAvatar,
8835
+ {
8836
+ props: {
8837
+ width: "40px",
8838
+ height: "40px",
8839
+ src: metadata.image ?? chunk5YN7CZ5H_cjs.getPicassoImage(domain.name),
8840
+ alt: domain.name
8841
+ }
8842
+ }
8843
+ ),
8844
+ /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { align: "start", spacing: 0, flex: 1, children: [
8845
+ /* @__PURE__ */ jsxRuntime.jsx(
8846
+ react.Text,
8847
+ {
8848
+ color: isDark ? "whiteAlpha.900" : "gray.700",
8849
+ fontSize: "md",
8850
+ fontWeight: "500",
8851
+ children: domain.name
8852
+ }
8853
+ ),
8854
+ isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8855
+ react.Text,
8856
+ {
8857
+ fontSize: "sm",
8858
+ color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
8859
+ children: t("Current domain")
8860
+ }
8861
+ )
8862
+ ] }),
8863
+ isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8864
+ react.Tag,
8865
+ {
8866
+ size: "sm",
8867
+ bg: isDark ? "#ffffff0a" : "whiteAlpha.100",
8868
+ color: isDark ? "whiteAlpha.900" : "blackAlpha.600",
8869
+ px: 3,
8870
+ py: 1,
8871
+ borderRadius: "full",
8872
+ children: t("Current")
8873
+ }
8874
+ )
8875
+ ] })
8876
+ },
8877
+ domain.name
8878
+ );
8549
8879
  };
8550
8880
  var ExistingDomainsList = ({
8551
8881
  domains,
@@ -8554,7 +8884,7 @@ var ExistingDomainsList = ({
8554
8884
  }) => {
8555
8885
  const { t } = reactI18next.useTranslation();
8556
8886
  const { darkMode: isDark } = useVeChainKitConfig();
8557
- const { account, connection } = useWallet();
8887
+ const { account } = useWallet();
8558
8888
  if (domains.length === 0 || isLoading) {
8559
8889
  return null;
8560
8890
  }
@@ -8583,85 +8913,15 @@ var ExistingDomainsList = ({
8583
8913
  ]
8584
8914
  }
8585
8915
  ),
8586
- /* @__PURE__ */ jsxRuntime.jsx(react.AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsxRuntime.jsx(react.List, { spacing: 2, children: domains.map((domain) => {
8587
- const isCurrentDomain = domain.name === account?.domain;
8588
- const metadata = useWalletMetadata(
8589
- domain.name,
8590
- connection.network
8591
- );
8592
- return /* @__PURE__ */ jsxRuntime.jsx(
8593
- react.ListItem,
8594
- {
8595
- p: 4,
8596
- bg: isDark ? "#1f1f1e" : "white",
8597
- borderRadius: "xl",
8598
- cursor: isCurrentDomain ? "default" : "pointer",
8599
- opacity: isCurrentDomain ? 0.7 : 1,
8600
- border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
8601
- _hover: {
8602
- bg: isCurrentDomain ? isDark ? "#1f1f1e" : "white" : isDark ? "#252525" : "gray.50",
8603
- borderColor: isDark ? "#3d3d3d" : "#dedede"
8604
- },
8605
- onClick: () => !isCurrentDomain && onDomainSelect(domain.name),
8606
- transition: "all 0.2s",
8607
- children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
8608
- /* @__PURE__ */ jsxRuntime.jsx(
8609
- AccountAvatar,
8610
- {
8611
- props: {
8612
- width: "40px",
8613
- height: "40px",
8614
- src: metadata.image,
8615
- alt: domain.name
8616
- }
8617
- }
8618
- ),
8619
- /* @__PURE__ */ jsxRuntime.jsxs(
8620
- react.VStack,
8621
- {
8622
- align: "start",
8623
- spacing: 0,
8624
- flex: 1,
8625
- children: [
8626
- /* @__PURE__ */ jsxRuntime.jsx(
8627
- react.Text,
8628
- {
8629
- color: isDark ? "whiteAlpha.900" : "gray.700",
8630
- fontSize: "md",
8631
- fontWeight: "500",
8632
- children: domain.name
8633
- }
8634
- ),
8635
- isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8636
- react.Text,
8637
- {
8638
- fontSize: "sm",
8639
- color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
8640
- children: t(
8641
- "Current domain"
8642
- )
8643
- }
8644
- )
8645
- ]
8646
- }
8647
- ),
8648
- isCurrentDomain && /* @__PURE__ */ jsxRuntime.jsx(
8649
- react.Tag,
8650
- {
8651
- size: "sm",
8652
- bg: isDark ? "#ffffff0a" : "whiteAlpha.100",
8653
- color: isDark ? "whiteAlpha.900" : "blackAlpha.600",
8654
- px: 3,
8655
- py: 1,
8656
- borderRadius: "full",
8657
- children: t("Current")
8658
- }
8659
- )
8660
- ] })
8661
- },
8662
- domain.name
8663
- );
8664
- }) }) })
8916
+ /* @__PURE__ */ jsxRuntime.jsx(react.AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsxRuntime.jsx(react.List, { spacing: 2, children: domains.map((domain) => /* @__PURE__ */ jsxRuntime.jsx(
8917
+ DomainListItem,
8918
+ {
8919
+ domain,
8920
+ isCurrentDomain: domain.name === account?.domain,
8921
+ onSelect: onDomainSelect
8922
+ },
8923
+ domain.name
8924
+ )) }) })
8665
8925
  ] }) }) });
8666
8926
  };
8667
8927
  var ChooseNameSearchContent = ({
@@ -8831,7 +9091,7 @@ var ChooseNameSearchContent = ({
8831
9091
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
8832
9092
  react.Button,
8833
9093
  {
8834
- variant: "vechainKitSecondary",
9094
+ variant: "vechainKitPrimary",
8835
9095
  isDisabled: !isAvailable || !!error || isProtected || isFetchingDomainInfo,
8836
9096
  onClick: handleContinue,
8837
9097
  children: t("Continue")
@@ -8882,17 +9142,16 @@ var ChooseNameSummaryContent = ({
8882
9142
  }
8883
9143
  });
8884
9144
  const handleConfirm = async () => {
9145
+ if (upgradeRequired) {
9146
+ openUpgradeSmartAccountModal();
9147
+ return;
9148
+ }
8885
9149
  try {
8886
9150
  await sendTransaction();
8887
9151
  } catch (error) {
8888
9152
  console.error("Transaction failed:", error);
8889
9153
  }
8890
9154
  };
8891
- React10.useEffect(() => {
8892
- if (upgradeRequired) {
8893
- openUpgradeSmartAccountModal();
8894
- }
8895
- }, [upgradeRequired, openUpgradeSmartAccountModal]);
8896
9155
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8897
9156
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
8898
9157
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Confirm Name") }),
@@ -8926,7 +9185,7 @@ var ChooseNameSummaryContent = ({
8926
9185
  transactionPendingText: t("Claiming name..."),
8927
9186
  txReceipt,
8928
9187
  buttonText: t("Confirm"),
8929
- isDisabled: isTransactionPending || upgradeRequired
9188
+ isDisabled: isTransactionPending
8930
9189
  }
8931
9190
  ) })
8932
9191
  ] });
@@ -9144,6 +9403,7 @@ var en_default = {
9144
9403
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.",
9145
9404
  "Backup can be done only in the app securing your wallet.": "Backup can be done only in the app securing your wallet.",
9146
9405
  "Backup your wallet": "Backup your wallet",
9406
+ "Backup your wallet, configure MFA and set recovery options": "Backup your wallet, configure MFA and set recovery options",
9147
9407
  Balance: "Balance",
9148
9408
  "Balance:": "Balance:",
9149
9409
  "Benefits of this upgrade:": "Benefits of this upgrade:",
@@ -9256,6 +9516,7 @@ var en_default = {
9256
9516
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.",
9257
9517
  "Finally say goodbye to 0x addresses": "Finally say goodbye to 0x addresses",
9258
9518
  "For developers": "For developers",
9519
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.",
9259
9520
  "Frequently asked questions": "Frequently asked questions",
9260
9521
  From: "From",
9261
9522
  Github: "Github",
@@ -9311,11 +9572,14 @@ var en_default = {
9311
9572
  Mainnet: "Mainnet",
9312
9573
  "Manage Custom Tokens": "Manage Custom Tokens",
9313
9574
  "Manage MFA": "Manage MFA",
9575
+ "Manage Recovery": "Manage Recovery",
9314
9576
  "Manage multi-factor authentication settings for your wallet.": "Manage multi-factor authentication settings for your wallet.",
9315
9577
  "Manage on VeBetterDAO": "Manage on VeBetterDAO",
9578
+ "Manage on {{appName}}": "Manage on {{appName}}",
9316
9579
  "Manage passkey login": "Manage passkey login",
9317
9580
  "Manage your embedded wallet security settings or back it up to a new device.": "Manage your embedded wallet security settings or back it up to a new device.",
9318
9581
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.",
9582
+ "Manage your login methods and passkeys": "Manage your login methods and passkeys",
9319
9583
  "Mobile browser may block the login window.": "Mobile browser may block the login window.",
9320
9584
  More: "More",
9321
9585
  "Multiclause Transaction temporary disabled": "Multiclause Transaction temporary disabled",
@@ -9392,6 +9656,8 @@ var en_default = {
9392
9656
  "Search dApps": "Search dApps",
9393
9657
  "Search for a domain": "Search for a domain",
9394
9658
  "Secured by": "Secured by",
9659
+ "Security preferences": "Security preferences",
9660
+ "Security settings": "Security settings",
9395
9661
  "Select Additional Login Method": "Select Additional Login Method",
9396
9662
  "Select Token": "Select Token",
9397
9663
  "Select an app": "Select an app",
@@ -9625,6 +9891,7 @@ var de_default = {
9625
9891
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Das Sichern Ihres Wallets ist entscheidend, da Sie der Einzige mit Zugriff auf Ihre privaten Schl\xFCssel sind. Wenn etwas schiefgeht, ist Ihr privater Schl\xFCssel der einzige Weg, um Ihre Verm\xF6genswerte wiederherzustellen. Die Art der Sicherung h\xE4ngt davon ab, wie Sie auf Ihr Wallet zugreifen: Wenn Sie VeWorld verwenden, ist die Sicherungsoption in der App verf\xFCgbar. F\xFCr Benutzer mit sozialem Login finden Sie Sicherungsoptionen im Wallet-Bereich. Wenn Sie \xFCber VeChain oder eine andere Ecosystem-App verbunden sind, m\xFCssen Sie die urspr\xFCngliche Website besuchen, sich anmelden und dort auf den Wallet-Bereich zugreifen.",
9626
9892
  "Backup can be done only in the app securing your wallet.": "Ein Backup kann nur in der App durchgef\xFChrt werden, die Ihr Wallet sichert.",
9627
9893
  "Backup your wallet": "Sichern Sie Ihr Wallet",
9894
+ "Backup your wallet, configure MFA and set recovery options": "Sichern Sie Ihre Wallet, konfigurieren Sie MFA und legen Sie Wiederherstellungsoptionen fest",
9628
9895
  Balance: "Guthaben",
9629
9896
  "Balance:": "Kontostand:",
9630
9897
  "Benefits of this upgrade:": "Vorteile dieses Upgrades:",
@@ -9737,6 +10004,7 @@ var de_default = {
9737
10004
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "Fee Delegation ist ein einzigartiges Merkmal von VeChain, das es jemand anderem (einem Delegator) erm\xF6glicht, Ihre Transaktionsgeb\xFChren zu bezahlen. W\xE4hrend viele dApps und Dienstanbieter als Delegatoren fungieren, um neuen Benutzern den Einstieg zu erleichtern, k\xF6nnen bei einigen Transaktionen dennoch Geb\xFChren anfallen, die Sie mit Ihrem eigenen VTHO bezahlen m\xFCssen. Geb\xFChren sind notwendig, um Netzwerkmissbrauch zu verhindern und die Knoten zu entsch\xE4digen, die Transaktionen in der Blockchain verarbeiten und validieren. Wenn Sie die Geb\xFChren selbst bezahlen, k\xF6nnen Sie VTHO aus Ihren Verm\xF6genswerten ausw\xE4hlen, um die Transaktionskosten zu decken.",
9738
10005
  "Finally say goodbye to 0x addresses": "Sagen Sie endlich 0x-Adressen auf Wiedersehen",
9739
10006
  "For developers": "F\xFCr Entwickler",
10007
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Aus Sicherheitsgr\xFCnden k\xF6nnen Sie die Einstellungen Ihrer eingebetteten Wallet nur auf der {{appName}} Plattform verwalten.",
9740
10008
  "Frequently asked questions": "H\xE4ufig gestellte Fragen",
9741
10009
  From: "Von",
9742
10010
  Github: "Github",
@@ -9792,11 +10060,14 @@ var de_default = {
9792
10060
  Mainnet: "Mainnet",
9793
10061
  "Manage Custom Tokens": "Benutzerdefinierte Token verwalten",
9794
10062
  "Manage MFA": "MFA verwalten",
10063
+ "Manage Recovery": "Wiederherstellung verwalten",
9795
10064
  "Manage multi-factor authentication settings for your wallet.": "Verwalten Sie die Einstellungen zur Multi-Faktor-Authentifizierung f\xFCr Ihr Wallet.",
9796
10065
  "Manage on VeBetterDAO": "Verwalten auf VeBetterDAO",
10066
+ "Manage on {{appName}}": "Verwalten auf {{appName}}",
9797
10067
  "Manage passkey login": "Passkey-Anmeldung verwalten",
9798
10068
  "Manage your embedded wallet security settings or back it up to a new device.": "Verwalten Sie die Sicherheitseinstellungen Ihres eingebetteten Wallets oder sichern Sie es auf einem neuen Ger\xE4t.",
9799
10069
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Verwalten Sie die Sicherheitseinstellungen Ihrer eingebetteten Wallet: Verwalten Sie Ihre Anmeldemethoden, f\xFCgen Sie einen Zugangsschl\xFCssel hinzu oder sichern Sie Ihre Wallet, um nie den Zugriff auf Ihre Assets zu verlieren.",
10070
+ "Manage your login methods and passkeys": "Verwalten Sie Ihre Anmeldemethoden und Zugangsschl\xFCssel",
9800
10071
  "Mobile browser may block the login window.": "Mobiler Browser kann das Anmeldefenster blockieren.",
9801
10072
  More: "Mehr",
9802
10073
  "Multiclause Transaction temporary disabled": "Multiclause-Transaktion vor\xFCbergehend deaktiviert",
@@ -9873,6 +10144,8 @@ var de_default = {
9873
10144
  "Search dApps": "dApps durchsuchen",
9874
10145
  "Search for a domain": "Nach einer Domain suchen",
9875
10146
  "Secured by": "Gesichert durch",
10147
+ "Security preferences": "Sicherheitseinstellungen",
10148
+ "Security settings": "Sicherheitseinstellungen",
9876
10149
  "Select Additional Login Method": "Zus\xE4tzliche Anmeldemethode ausw\xE4hlen",
9877
10150
  "Select Token": "Token ausw\xE4hlen",
9878
10151
  "Select an app": "W\xE4hlen Sie eine App",
@@ -10106,6 +10379,7 @@ var it_default = {
10106
10379
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Fare il backup del tuo portafoglio \xE8 fondamentale poich\xE9 sei l'unico ad avere accesso alle tue chiavi private. Se qualcosa va storto, avere la tua chiave privata \xE8 l'unico modo per recuperare i tuoi beni. Come fare il backup dipende da come accedi al tuo portafoglio: se usi VeWorld, l'opzione di backup \xE8 disponibile all'interno dell'app. Per gli utenti con accesso tramite login sociale, puoi trovare opzioni di backup nella sezione Portafoglio. Se sei connesso tramite VeChain o un'altra app dell'ecosistema, dovrai visitare il sito originale, accedere e raggiungere la sezione Portafoglio da l\xEC.",
10107
10380
  "Backup can be done only in the app securing your wallet.": "Il backup pu\xF2 essere effettuato solo nell'app che protegge il tuo portafoglio.",
10108
10381
  "Backup your wallet": "Esegui il backup del tuo portafoglio",
10382
+ "Backup your wallet, configure MFA and set recovery options": "Esegui il backup del tuo portafoglio, configura MFA e imposta le opzioni di recupero",
10109
10383
  Balance: "Saldo",
10110
10384
  "Balance:": "Saldo:",
10111
10385
  "Benefits of this upgrade:": "Vantaggi di questo aggiornamento:",
@@ -10218,6 +10492,7 @@ var it_default = {
10218
10492
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La delega delle commissioni \xE8 una funzione unica di VeChain che consente a qualcun altro (un delegante) di pagare le tue commissioni di transazione. Mentre molte dApp e fornitori di servizi agiscono come deleganti per facilitare l'inizio per i nuovi utenti, alcune transazioni potrebbero comunque richiedere che tu paghi le commissioni usando il tuo VTHO. Le commissioni sono necessarie per prevenire lo spam di rete e compensare i nodi che elaborano e convalidano le transazioni sulla blockchain. Quando paghi le commissioni di persona, potrai selezionare VTHO dai tuoi asset per coprire il costo della transazione.",
10219
10493
  "Finally say goodbye to 0x addresses": "Finalmente d\xEC addio agli indirizzi 0x",
10220
10494
  "For developers": "Per sviluppatori",
10495
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Per motivi di sicurezza, puoi gestire le impostazioni del tuo portafoglio integrato solo sulla piattaforma {{appName}}.",
10221
10496
  "Frequently asked questions": "Domande frequenti",
10222
10497
  From: "Da",
10223
10498
  Github: "Github",
@@ -10273,11 +10548,14 @@ var it_default = {
10273
10548
  Mainnet: "Mainnet",
10274
10549
  "Manage Custom Tokens": "Gestisci Token Personalizzati",
10275
10550
  "Manage MFA": "Gestisci MFA",
10551
+ "Manage Recovery": "Gestisci Recupero",
10276
10552
  "Manage multi-factor authentication settings for your wallet.": "Gestisci le impostazioni di autenticazione a pi\xF9 fattori per il tuo portafoglio.",
10277
10553
  "Manage on VeBetterDAO": "Gestisci su VeBetterDAO",
10554
+ "Manage on {{appName}}": "Gestisci su {{appName}}",
10278
10555
  "Manage passkey login": "Gestisci login con chiave di accesso",
10279
10556
  "Manage your embedded wallet security settings or back it up to a new device.": "Gestisci le impostazioni di sicurezza del tuo portafoglio incorporato o esegui il backup su un nuovo dispositivo.",
10280
10557
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Gestisci le impostazioni di sicurezza del tuo portafoglio integrato: gestisci i tuoi metodi di accesso, aggiungi una chiave di accesso o esegui il backup del portafoglio per non perdere mai l'accesso ai tuoi beni.",
10558
+ "Manage your login methods and passkeys": "Gestisci i tuoi metodi di accesso e chiavi di accesso",
10281
10559
  "Mobile browser may block the login window.": "Il browser mobile potrebbe bloccare la finestra di accesso.",
10282
10560
  More: "Altro",
10283
10561
  "Multiclause Transaction temporary disabled": "Transazione multiclausola temporaneamente disabilitata",
@@ -10354,6 +10632,8 @@ var it_default = {
10354
10632
  "Search dApps": "Cerca dApp",
10355
10633
  "Search for a domain": "Cerca un dominio",
10356
10634
  "Secured by": "Protetto da",
10635
+ "Security preferences": "Preferenze di sicurezza",
10636
+ "Security settings": "Impostazioni di sicurezza",
10357
10637
  "Select Additional Login Method": "Seleziona metodo di accesso aggiuntivo",
10358
10638
  "Select Token": "Seleziona Token",
10359
10639
  "Select an app": "Seleziona un'app",
@@ -10587,6 +10867,7 @@ var fr_default = {
10587
10867
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Sauvegarder votre portefeuille est crucial puisque vous \xEAtes le seul \xE0 avoir acc\xE8s \xE0 vos cl\xE9s priv\xE9es. Si quelque chose ne va pas, avoir votre cl\xE9 priv\xE9e est le seul moyen de r\xE9cup\xE9rer vos actifs. La fa\xE7on de sauvegarder d\xE9pend de la mani\xE8re dont vous acc\xE9dez \xE0 votre portefeuille : si vous utilisez VeWorld, l'option de sauvegarde est disponible dans l'application. Pour les utilisateurs de connexion sociale, vous trouverez les options de sauvegarde dans la section Portefeuille. Si vous \xEAtes connect\xE9 via VeChain ou une autre application de l'\xE9cosyst\xE8me, vous devrez visiter le site web d'origine, vous connecter et acc\xE9der \xE0 la section Portefeuille \xE0 partir de l\xE0.",
10588
10868
  "Backup can be done only in the app securing your wallet.": "La sauvegarde ne peut \xEAtre effectu\xE9e que dans l'application s\xE9curisant votre portefeuille.",
10589
10869
  "Backup your wallet": "Sauvegardez votre portefeuille",
10870
+ "Backup your wallet, configure MFA and set recovery options": "Sauvegardez votre portefeuille, configurez l'authentification multi-facteurs et d\xE9finissez les options de r\xE9cup\xE9ration",
10590
10871
  Balance: "Solde",
10591
10872
  "Balance:": "Solde:",
10592
10873
  "Benefits of this upgrade:": "Avantages de cette mise \xE0 niveau :",
@@ -10699,6 +10980,7 @@ var fr_default = {
10699
10980
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La d\xE9l\xE9gation de frais est une fonctionnalit\xE9 unique de VeChain qui permet \xE0 quelqu'un d'autre (un d\xE9l\xE9gataire) de payer vos frais de transaction. Bien que de nombreuses dApps et prestataires de services agissent en tant que d\xE9l\xE9gataires pour faciliter le d\xE9marrage des nouveaux utilisateurs, certaines transactions peuvent encore n\xE9cessiter que vous payiez des frais en utilisant votre propre VTHO. Les frais sont n\xE9cessaires pour pr\xE9venir le spam sur le r\xE9seau et pour r\xE9mun\xE9rer les n\u0153uds qui traitent et valident les transactions sur la blockchain. Lorsque vous payez vous-m\xEAme les frais, vous pourrez s\xE9lectionner VTHO parmi vos actifs pour couvrir le co\xFBt de la transaction.",
10700
10981
  "Finally say goodbye to 0x addresses": "Enfin, dites adieu aux adresses 0x",
10701
10982
  "For developers": "Pour les d\xE9veloppeurs",
10983
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Pour des raisons de s\xE9curit\xE9, vous pouvez g\xE9rer les param\xE8tres de votre portefeuille int\xE9gr\xE9 uniquement sur la plateforme {{appName}}.",
10702
10984
  "Frequently asked questions": "Questions fr\xE9quemment pos\xE9es",
10703
10985
  From: "De",
10704
10986
  Github: "Github",
@@ -10754,11 +11036,14 @@ var fr_default = {
10754
11036
  Mainnet: "Mainnet",
10755
11037
  "Manage Custom Tokens": "G\xE9rer les jetons personnalis\xE9s",
10756
11038
  "Manage MFA": "G\xE9rer la MFA",
11039
+ "Manage Recovery": "G\xE9rer la r\xE9cup\xE9ration",
10757
11040
  "Manage multi-factor authentication settings for your wallet.": "G\xE9rez les param\xE8tres d'authentification \xE0 plusieurs facteurs pour votre portefeuille.",
10758
11041
  "Manage on VeBetterDAO": "G\xE9rer sur VeBetterDAO",
11042
+ "Manage on {{appName}}": "G\xE9rer sur {{appName}}",
10759
11043
  "Manage passkey login": "G\xE9rer la connexion par cl\xE9 de passe",
10760
11044
  "Manage your embedded wallet security settings or back it up to a new device.": "G\xE9rez les param\xE8tres de s\xE9curit\xE9 de votre portefeuille int\xE9gr\xE9 ou sauvegardez-le sur un nouvel appareil.",
10761
11045
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "G\xE9rez les param\xE8tres de s\xE9curit\xE9 de votre portefeuille int\xE9gr\xE9 : g\xE9rez vos m\xE9thodes de connexion, ajoutez une cl\xE9 d'acc\xE8s ou sauvegardez votre portefeuille pour ne jamais perdre l'acc\xE8s \xE0 vos actifs.",
11046
+ "Manage your login methods and passkeys": "G\xE9rez vos m\xE9thodes de connexion et cl\xE9s d'acc\xE8s",
10762
11047
  "Mobile browser may block the login window.": "Le navigateur mobile peut bloquer la fen\xEAtre de connexion.",
10763
11048
  More: "Plus",
10764
11049
  "Multiclause Transaction temporary disabled": "Transaction \xE0 clauses multiples temporairement d\xE9sactiv\xE9e",
@@ -10835,6 +11120,8 @@ var fr_default = {
10835
11120
  "Search dApps": "Rechercher des dApps",
10836
11121
  "Search for a domain": "Rechercher un domaine",
10837
11122
  "Secured by": "S\xE9curis\xE9 par",
11123
+ "Security preferences": "Pr\xE9f\xE9rences de s\xE9curit\xE9",
11124
+ "Security settings": "Param\xE8tres de s\xE9curit\xE9",
10838
11125
  "Select Additional Login Method": "S\xE9lectionner une m\xE9thode de connexion suppl\xE9mentaire",
10839
11126
  "Select Token": "S\xE9lectionner un jeton",
10840
11127
  "Select an app": "S\xE9lectionnez une application",
@@ -11068,6 +11355,7 @@ var es_default = {
11068
11355
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "Respaldar tu billetera es crucial ya que eres el \xFAnico con acceso a tus claves privadas. Si algo sale mal, tener tu clave privada es la \xFAnica manera de recuperar tus activos. C\xF3mo hacer un respaldo depende de c\xF3mo accedas a tu billetera: Si usas VeWorld, la opci\xF3n de respaldo est\xE1 disponible dentro de la aplicaci\xF3n. Para usuarios de inicio de sesi\xF3n social, puedes encontrar opciones de respaldo en la secci\xF3n Billetera. Si est\xE1s conectado a trav\xE9s de VeChain u otra aplicaci\xF3n del ecosistema, necesitar\xE1s visitar el sitio web original, iniciar sesi\xF3n y acceder a la secci\xF3n de Billetera desde all\xED.",
11069
11356
  "Backup can be done only in the app securing your wallet.": "La copia de seguridad solo se puede hacer en la aplicaci\xF3n que asegura tu billetera.",
11070
11357
  "Backup your wallet": "Respalda tu billetera",
11358
+ "Backup your wallet, configure MFA and set recovery options": "Realiza una copia de seguridad de tu billetera, configura MFA y establece opciones de recuperaci\xF3n",
11071
11359
  Balance: "Saldo",
11072
11360
  "Balance:": "Saldo:",
11073
11361
  "Benefits of this upgrade:": "Beneficios de esta actualizaci\xF3n:",
@@ -11180,6 +11468,7 @@ var es_default = {
11180
11468
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "La delegaci\xF3n de tarifas es una funci\xF3n \xFAnica de VeChain que permite que otra persona (un delegado) pague las tarifas de tus transacciones. Aunque muchas aplicaciones descentralizadas (dApps) y proveedores de servicios act\xFAan como delegados para facilitar a los nuevos usuarios el comienzo, es posible que algunas transacciones a\xFAn requieran que pagues tarifas usando tu propio VTHO. Las tarifas son necesarias para prevenir el spam en la red y compensar a los nodos que procesan y validan las transacciones en la cadena de bloques. Al pagar las tarifas t\xFA mismo, podr\xE1s seleccionar VTHO de tus activos para cubrir el costo de la transacci\xF3n.",
11181
11469
  "Finally say goodbye to 0x addresses": "Finalmente di adi\xF3s a las direcciones 0x",
11182
11470
  "For developers": "Para desarrolladores",
11471
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "Por razones de seguridad, puedes gestionar la configuraci\xF3n de tu billetera integrada solo en la plataforma {{appName}}.",
11183
11472
  "Frequently asked questions": "Preguntas frecuentes",
11184
11473
  From: "De",
11185
11474
  Github: "Github",
@@ -11235,11 +11524,14 @@ var es_default = {
11235
11524
  Mainnet: "Red principal",
11236
11525
  "Manage Custom Tokens": "Gestionar tokens personalizados",
11237
11526
  "Manage MFA": "Gestionar MFA",
11527
+ "Manage Recovery": "Gestionar la Recuperaci\xF3n",
11238
11528
  "Manage multi-factor authentication settings for your wallet.": "Gestionar configuraciones de autenticaci\xF3n multifactor para tu billetera.",
11239
11529
  "Manage on VeBetterDAO": "Gestionar en VeBetterDAO",
11530
+ "Manage on {{appName}}": "Gestionar en {{appName}}",
11240
11531
  "Manage passkey login": "Administrar inicio de sesi\xF3n con llave de acceso",
11241
11532
  "Manage your embedded wallet security settings or back it up to a new device.": "Gestiona la configuraci\xF3n de seguridad de tu monedero incrustado o haz una copia de seguridad en un nuevo dispositivo.",
11242
11533
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "Administra la configuraci\xF3n de seguridad de tu billetera integrada: gestiona tus m\xE9todos de inicio de sesi\xF3n, a\xF1ade una clave de acceso o realiza una copia de seguridad de tu billetera para no perder nunca el acceso a tus activos.",
11534
+ "Manage your login methods and passkeys": "Gestiona tus m\xE9todos de inicio de sesi\xF3n y claves de acceso",
11243
11535
  "Mobile browser may block the login window.": "El navegador m\xF3vil puede bloquear la ventana de inicio de sesi\xF3n.",
11244
11536
  More: "M\xE1s",
11245
11537
  "Multiclause Transaction temporary disabled": "Transacci\xF3n con m\xFAltiples cl\xE1usulas temporalmente deshabilitada",
@@ -11316,6 +11608,8 @@ var es_default = {
11316
11608
  "Search dApps": "Buscar dApps",
11317
11609
  "Search for a domain": "Buscar un dominio",
11318
11610
  "Secured by": "Asegurado por",
11611
+ "Security preferences": "Preferencias de seguridad",
11612
+ "Security settings": "Configuraciones de seguridad",
11319
11613
  "Select Additional Login Method": "Seleccionar M\xE9todo de Inicio de Sesi\xF3n Adicional",
11320
11614
  "Select Token": "Seleccionar Token",
11321
11615
  "Select an app": "Seleccionar una aplicaci\xF3n",
@@ -11549,6 +11843,7 @@ var zh_default = {
11549
11843
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305\u975E\u5E38\u91CD\u8981\uFF0C\u56E0\u4E3A\u60A8\u662F\u552F\u4E00\u80FD\u8BBF\u95EE\u60A8\u7684\u79C1\u94A5\u7684\u4EBA\u3002\u5982\u679C\u51FA\u73B0\u95EE\u9898\uFF0C\u62E5\u6709\u60A8\u7684\u79C1\u94A5\u662F\u6062\u590D\u8D44\u4EA7\u7684\u552F\u4E00\u65B9\u6CD5\u3002\u5907\u4EFD\u65B9\u5F0F\u53D6\u51B3\u4E8E\u60A8\u5982\u4F55\u8BBF\u95EE\u94B1\u5305\uFF1A\u5982\u679C\u4F7F\u7528 VeWorld\uFF0C\u5907\u4EFD\u9009\u9879\u5728\u5E94\u7528\u5185\u53EF\u7528\u3002\u5BF9\u4E8E\u793E\u4EA4\u767B\u5F55\u7528\u6237\uFF0C\u60A8\u53EF\u4EE5\u5728\u94B1\u5305\u90E8\u5206\u627E\u5230\u5907\u4EFD\u9009\u9879\u3002\u5982\u679C\u901A\u8FC7 VeChain \u6216\u5176\u4ED6\u751F\u6001\u7CFB\u7EDF\u5E94\u7528\u8FDE\u63A5\uFF0C\u60A8\u9700\u8981\u8BBF\u95EE\u539F\u59CB\u7F51\u7AD9\uFF0C\u767B\u5F55\u5E76\u4ECE\u90A3\u91CC\u8BBF\u95EE\u94B1\u5305\u90E8\u5206\u3002",
11550
11844
  "Backup can be done only in the app securing your wallet.": "\u5907\u4EFD\u53EA\u80FD\u5728\u4FDD\u62A4\u60A8\u94B1\u5305\u7684\u5E94\u7528\u4E2D\u5B8C\u6210\u3002",
11551
11845
  "Backup your wallet": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305",
11846
+ "Backup your wallet, configure MFA and set recovery options": "\u5907\u4EFD\u60A8\u7684\u94B1\u5305\uFF0C\u914D\u7F6E\u591A\u56E0\u7D20\u8EAB\u4EFD\u9A8C\u8BC1\u5E76\u8BBE\u7F6E\u6062\u590D\u9009\u9879",
11552
11847
  Balance: "\u4F59\u989D",
11553
11848
  "Balance:": "\u4F59\u989D\uFF1A",
11554
11849
  "Benefits of this upgrade:": "\u6B64\u5347\u7EA7\u7684\u597D\u5904\uFF1A",
@@ -11661,6 +11956,7 @@ var zh_default = {
11661
11956
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "\u8D39\u7528\u59D4\u6258\u662F\u552F\u94FE\uFF08VeChain\uFF09\u7684\u4E00\u4E2A\u72EC\u7279\u529F\u80FD\uFF0C\u5B83\u5141\u8BB8\u5176\u4ED6\u4EBA\uFF08\u5373\u59D4\u6258\u8005\uFF09\u4E3A\u60A8\u7684\u4EA4\u6613\u8D39\u7528\u4E70\u5355\u3002\u867D\u7136\u8BB8\u591AdApp\u548C\u670D\u52A1\u63D0\u4F9B\u5546\u5145\u5F53\u59D4\u6258\u8005\u4EE5\u65B9\u4FBF\u65B0\u7528\u6237\u4E0A\u624B\uFF0C\u4F46\u67D0\u4E9B\u4EA4\u6613\u53EF\u80FD\u4ECD\u9700\u8981\u60A8\u4F7F\u7528\u81EA\u5DF1\u7684VTHO\u652F\u4ED8\u8D39\u7528\u3002\u8D39\u7528\u662F\u9632\u6B62\u7F51\u7EDC\u5783\u573E\u53CA\u8865\u507F\u5904\u7406\u548C\u9A8C\u8BC1\u533A\u5757\u94FE\u4EA4\u6613\u7684\u8282\u70B9\u6240\u5FC5\u9700\u7684\u3002\u5728\u60A8\u81EA\u5DF1\u652F\u4ED8\u8D39\u7528\u65F6\uFF0C\u60A8\u53EF\u4EE5\u4ECE\u8D44\u4EA7\u4E2D\u9009\u62E9VTHO\u6765\u8986\u76D6\u4EA4\u6613\u6210\u672C\u3002",
11662
11957
  "Finally say goodbye to 0x addresses": "\u6700\u7EC8\u544A\u522B0x\u5730\u5740",
11663
11958
  "For developers": "\u4E3A\u5F00\u53D1\u8005",
11959
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C\u60A8\u53EA\u80FD\u5728 {{appName}} \u5E73\u53F0\u4E0A\u7BA1\u7406\u5D4C\u5165\u5F0F\u94B1\u5305\u8BBE\u7F6E\u3002",
11664
11960
  "Frequently asked questions": "\u5E38\u89C1\u95EE\u9898\u89E3\u7B54",
11665
11961
  From: "\u81EA",
11666
11962
  Github: "Github",
@@ -11716,11 +12012,14 @@ var zh_default = {
11716
12012
  Mainnet: "\u4E3B\u7F51",
11717
12013
  "Manage Custom Tokens": "\u7BA1\u7406\u81EA\u5B9A\u4E49\u4EE3\u5E01",
11718
12014
  "Manage MFA": "\u7BA1\u7406\u591A\u56E0\u7D20\u8BA4\u8BC1",
12015
+ "Manage Recovery": "\u7BA1\u7406\u6062\u590D",
11719
12016
  "Manage multi-factor authentication settings for your wallet.": "\u7BA1\u7406\u60A8\u94B1\u5305\u7684\u591A\u56E0\u7D20\u8BA4\u8BC1\u8BBE\u7F6E\u3002",
11720
12017
  "Manage on VeBetterDAO": "\u5728VeBetterDAO\u4E0A\u7BA1\u7406",
12018
+ "Manage on {{appName}}": "\u5728 {{appName}} \u4E0A\u7BA1\u7406",
11721
12019
  "Manage passkey login": "\u7BA1\u7406\u5BC6\u7801\u767B\u5F55",
11722
12020
  "Manage your embedded wallet security settings or back it up to a new device.": "\u7BA1\u7406\u60A8\u7684\u5D4C\u5165\u94B1\u5305\u5B89\u5168\u8BBE\u7F6E\u6216\u5C06\u5176\u5907\u4EFD\u5230\u65B0\u8BBE\u5907\u3002",
11723
12021
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "\u7BA1\u7406\u60A8\u7684\u5D4C\u5165\u5F0F\u94B1\u5305\u7684\u5B89\u5168\u8BBE\u7F6E\uFF1A\u5904\u7406\u60A8\u7684\u767B\u5F55\u65B9\u6CD5\uFF0C\u6DFB\u52A0\u5BC6\u7801\u94A5\u5319\u6216\u5907\u4EFD\u60A8\u7684\u94B1\u5305\uFF0C\u4EE5\u514D\u5931\u53BB\u5BF9\u8D44\u4EA7\u7684\u8BBF\u95EE\u3002",
12022
+ "Manage your login methods and passkeys": "\u7BA1\u7406\u60A8\u7684\u767B\u5F55\u65B9\u5F0F\u548C\u901A\u884C\u5BC6\u94A5",
11724
12023
  "Mobile browser may block the login window.": "\u79FB\u52A8\u6D4F\u89C8\u5668\u53EF\u80FD\u4F1A\u963B\u6B62\u767B\u5F55\u7A97\u53E3\u3002",
11725
12024
  More: "\u66F4\u591A",
11726
12025
  "Multiclause Transaction temporary disabled": "\u591A\u6761\u6B3E\u4EA4\u6613\u6682\u65F6\u7981\u7528",
@@ -11797,6 +12096,8 @@ var zh_default = {
11797
12096
  "Search dApps": "\u641C\u7D22 dApps",
11798
12097
  "Search for a domain": "\u641C\u7D22\u57DF\u540D",
11799
12098
  "Secured by": "\u5B89\u5168\u4FDD\u969C",
12099
+ "Security preferences": "\u5B89\u5168\u504F\u597D",
12100
+ "Security settings": "\u5B89\u5168\u8BBE\u7F6E",
11800
12101
  "Select Additional Login Method": "\u9009\u62E9\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
11801
12102
  "Select Token": "\u9009\u62E9\u4EE3\u5E01",
11802
12103
  "Select an app": "\u9009\u62E9\u4E00\u4E2A\u5E94\u7528",
@@ -12030,6 +12331,7 @@ var ja_default = {
12030
12331
  "Backing up your wallet is crucial as you are the only one with access to your private keys. If something goes wrong, having your private key is the only way to recover your assets. How to backup depends on how you access your wallet: If using VeWorld, the backup option is available within the app. For social login users, you can find backup options in the Wallet section. If you're connected through VeChain or another ecosystem app, you'll need to visit the original website, log in, and access the Wallet section from there.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306F\u975E\u5E38\u306B\u91CD\u8981\u3067\u3059\u3002\u306A\u305C\u306A\u3089\u3001\u3042\u306A\u305F\u3060\u3051\u304C\u79D8\u5BC6\u9375\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u304B\u3089\u3067\u3059\u3002\u4F55\u304B\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u5834\u5408\u3001\u79D8\u5BC6\u9375\u3092\u6301\u3063\u3066\u3044\u308B\u3053\u3068\u304C\u8CC7\u7523\u3092\u56DE\u5FA9\u3059\u308B\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u65B9\u6CD5\u306F\u30A6\u30A9\u30EC\u30C3\u30C8\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u306B\u3088\u308A\u307E\u3059\uFF1AVeWorld\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30A2\u30D7\u30EA\u5185\u3067\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u30BD\u30FC\u30B7\u30E3\u30EB\u30ED\u30B0\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC\u306E\u5834\u5408\u3001\u30A6\u30A9\u30EC\u30C3\u30C8\u30BB\u30AF\u30B7\u30E7\u30F3\u3067\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002VeChain\u307E\u305F\u306F\u5225\u306E\u30A8\u30B3\u30B7\u30B9\u30C6\u30E0\u30A2\u30D7\u30EA\u3092\u901A\u3058\u3066\u63A5\u7D9A\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u5143\u306EWeb\u30B5\u30A4\u30C8\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3001\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u30A6\u30A9\u30EC\u30C3\u30C8\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",
12031
12332
  "Backup can be done only in the app securing your wallet.": "\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306F\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4FDD\u8B77\u3057\u3066\u3044\u308B\u30A2\u30D7\u30EA\u3067\u306E\u307F\u884C\u3048\u307E\u3059\u3002",
12032
12333
  "Backup your wallet": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3059\u308B",
12334
+ "Backup your wallet, configure MFA and set recovery options": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u3001MFA\u3092\u8A2D\u5B9A\u3057\u3001\u56DE\u5FA9\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
12033
12335
  Balance: "\u6B8B\u9AD8",
12034
12336
  "Balance:": "\u6B8B\u9AD8\uFF1A",
12035
12337
  "Benefits of this upgrade:": "\u3053\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u306E\u5229\u70B9\uFF1A",
@@ -12142,6 +12444,7 @@ var ja_default = {
12142
12444
  "Fee delegation is a unique feature of VeChain that allows someone else (a delegator) to pay for your transaction fees. While many dApps and service providers act as delegators to make it easier for new users to get started, some transactions may still require you to pay fees using your own VTHO. Fees are necessary to prevent network spam and compensate the nodes that process and validate transactions on the blockchain. When paying fees yourself, you'll be able to select VTHO from your assets to cover the transaction cost.": "\u624B\u6570\u6599\u30C7\u30EA\u30B2\u30FC\u30B7\u30E7\u30F3\u306F\u3001VeChain\u306E\u30E6\u30CB\u30FC\u30AF\u306A\u6A5F\u80FD\u3067\u3042\u308A\u3001\u4ED6\u306E\u8AB0\u304B\uFF08\u30C7\u30EA\u30B2\u30FC\u30BF\u30FC\uFF09\u304C\u3042\u306A\u305F\u306E\u53D6\u5F15\u624B\u6570\u6599\u3092\u652F\u6255\u3046\u3053\u3068\u3092\u53EF\u80FD\u306B\u3057\u307E\u3059\u3002\u591A\u304F\u306EdApps\u304A\u3088\u3073\u30B5\u30FC\u30D3\u30B9\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u304C\u30C7\u30EA\u30B2\u30FC\u30BF\u30FC\u3068\u3057\u3066\u6A5F\u80FD\u3057\u3001\u65B0\u898F\u30E6\u30FC\u30B6\u30FC\u304C\u958B\u59CB\u3057\u3084\u3059\u304F\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u4E00\u90E8\u306E\u53D6\u5F15\u3067\u306F\u4F9D\u7136\u3068\u3057\u3066\u72EC\u81EA\u306EVTHO\u3092\u4F7F\u7528\u3057\u3066\u624B\u6570\u6599\u3092\u652F\u6255\u3046\u5FC5\u8981\u304C\u3042\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u624B\u6570\u6599\u306F\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30B9\u30D1\u30E0\u3092\u9632\u304E\u3001\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u4E0A\u306E\u53D6\u5F15\u3092\u51E6\u7406\u304A\u3088\u3073\u691C\u8A3C\u3059\u308B\u30CE\u30FC\u30C9\u306B\u5831\u916C\u3092\u4E0E\u3048\u308B\u305F\u3081\u306B\u5FC5\u8981\u3067\u3059\u3002\u624B\u6570\u6599\u3092\u81EA\u5206\u3067\u652F\u6255\u3046\u5834\u5408\u306F\u3001\u8CC7\u7523\u304B\u3089VTHO\u3092\u9078\u629E\u3057\u3066\u53D6\u5F15\u30B3\u30B9\u30C8\u3092\u30AB\u30D0\u30FC\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002",
12143
12445
  "Finally say goodbye to 0x addresses": "\u3064\u3044\u306B0x\u30A2\u30C9\u30EC\u30B9\u306B\u304A\u5225\u308C\u3092\u8A00\u3044\u307E\u3057\u3087\u3046",
12144
12446
  "For developers": "\u958B\u767A\u8005\u5411\u3051",
12447
+ "For security reasons, you can manage your embedded wallet settings only on the {{appName}} platform.": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4E0A\u306E\u7406\u7531\u304B\u3089\u3001\u57CB\u3081\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u8A2D\u5B9A\u306F{{appName}}\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306E\u307F\u7BA1\u7406\u3067\u304D\u307E\u3059\u3002",
12145
12448
  "Frequently asked questions": "\u3088\u304F\u3042\u308B\u8CEA\u554F",
12146
12449
  From: "\u9001\u4FE1\u5143",
12147
12450
  Github: "\u30AE\u30C3\u30C8\u30CF\u30D6",
@@ -12197,11 +12500,14 @@ var ja_default = {
12197
12500
  Mainnet: "\u30E1\u30A4\u30F3\u30CD\u30C3\u30C8",
12198
12501
  "Manage Custom Tokens": "\u30AB\u30B9\u30BF\u30E0\u30C8\u30FC\u30AF\u30F3\u306E\u7BA1\u7406",
12199
12502
  "Manage MFA": "MFA\u3092\u7BA1\u7406\u3059\u308B",
12503
+ "Manage Recovery": "\u30EA\u30AB\u30D0\u30EA\u30FC\u306E\u7BA1\u7406",
12200
12504
  "Manage multi-factor authentication settings for your wallet.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u591A\u8981\u7D20\u8A8D\u8A3C\u8A2D\u5B9A\u3092\u7BA1\u7406\u3059\u308B\u3002",
12201
12505
  "Manage on VeBetterDAO": "VeBetterDAO\u3067\u7BA1\u7406",
12506
+ "Manage on {{appName}}": "{{appName}}\u3067\u7BA1\u7406\u3059\u308B",
12202
12507
  "Manage passkey login": "\u30D1\u30B9\u30AD\u30FC\u306E\u30ED\u30B0\u30A4\u30F3\u3092\u7BA1\u7406",
12203
12508
  "Manage your embedded wallet security settings or back it up to a new device.": "\u7D44\u307F\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3057\u305F\u308A\u3001\u65B0\u3057\u3044\u30C7\u30D0\u30A4\u30B9\u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u305F\u308A\u3057\u307E\u3059\u3002",
12204
12509
  "Manage your embedded wallet security settings: handle your login methods, add a passkey or back up your wallet to never lose access to your assets.": "\u57CB\u3081\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A\u3092\u7BA1\u7406\u3057\u307E\u3059: \u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3092\u51E6\u7406\u3057\u305F\u308A\u3001\u30D1\u30B9\u30AD\u30FC\u3092\u8FFD\u52A0\u3057\u305F\u308A\u3001\u8CC7\u7523\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u5931\u308F\u306A\u3044\u3088\u3046\u306B\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3057\u305F\u308A\u3057\u307E\u3059\u3002",
12510
+ "Manage your login methods and passkeys": "\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3068\u30D1\u30B9\u30AD\u30FC\u3092\u7BA1\u7406\u3059\u308B",
12205
12511
  "Mobile browser may block the login window.": "\u30E2\u30D0\u30A4\u30EB\u30D6\u30E9\u30A6\u30B6\u306F\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30D6\u30ED\u30C3\u30AF\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",
12206
12512
  More: "\u3082\u3063\u3068\u898B\u308B",
12207
12513
  "Multiclause Transaction temporary disabled": "\u8907\u6570\u6761\u9805\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u4E00\u6642\u7684\u306B\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002",
@@ -12278,6 +12584,8 @@ var ja_default = {
12278
12584
  "Search dApps": "dApps\u3092\u691C\u7D22",
12279
12585
  "Search for a domain": "\u30C9\u30E1\u30A4\u30F3\u3092\u691C\u7D22",
12280
12586
  "Secured by": "\u306B\u3088\u3063\u3066\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4FDD\u8B77\u3055\u308C\u3066\u3044\u307E\u3059",
12587
+ "Security preferences": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A",
12588
+ "Security settings": "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u8A2D\u5B9A",
12281
12589
  "Select Additional Login Method": "\u8FFD\u52A0\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3092\u9078\u629E",
12282
12590
  "Select Token": "\u30C8\u30FC\u30AF\u30F3\u3092\u9078\u629E",
12283
12591
  "Select an app": "\u30A2\u30D7\u30EA\u3092\u9078\u629E",
@@ -12525,7 +12833,7 @@ var FAQContent = ({ onGoBack }) => {
12525
12833
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 6, align: "stretch", children: [
12526
12834
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { children: [
12527
12835
  /* @__PURE__ */ jsxRuntime.jsx(react.HStack, { justify: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
12528
- chunkFID67WC3_cjs.VechainLogo,
12836
+ chunkA4NZ5AVL_cjs.VechainLogo,
12529
12837
  {
12530
12838
  isDark,
12531
12839
  w: "200px",
@@ -12601,7 +12909,7 @@ var CustomizationContent = ({
12601
12909
  setCurrentContent
12602
12910
  }) => {
12603
12911
  const { t } = reactI18next.useTranslation();
12604
- const { network, darkMode: isDark } = useVeChainKitConfig();
12912
+ const { network } = useVeChainKitConfig();
12605
12913
  const { account } = useWallet();
12606
12914
  const fileInputRef = React10.useRef(null);
12607
12915
  const coverInputRef = React10.useRef(null);
@@ -12643,23 +12951,25 @@ var CustomizationContent = ({
12643
12951
  setInitialEmail(metadata.email || "");
12644
12952
  setInitialWebsite(metadata.url || "");
12645
12953
  setInitialAvatarHash(
12646
- metadata.avatar ? metadata.avatar.replace("ipfs://", "") : null
12647
- );
12648
- setPreviewImageUrl(
12649
- chunkRUIC653T_cjs.convertUriToUrl(metadata.avatar ?? "", network.type) || null
12954
+ account.image ? account.image.replace("ipfs://", "") : null
12650
12955
  );
12956
+ setPreviewImageUrl((prev) => prev ?? account.image ?? null);
12651
12957
  }
12652
- }, [account?.metadata, network.type]);
12958
+ }, [account, network.type]);
12653
12959
  const formValues = watch();
12654
12960
  const handleImageUpload = async (event) => {
12655
12961
  const file = event.target.files?.[0];
12656
12962
  if (!file) return;
12657
12963
  try {
12658
12964
  setIsUploading(true);
12659
- setPreviewImageUrl(URL.createObjectURL(file));
12965
+ if (previewImageUrl) {
12966
+ URL.revokeObjectURL(previewImageUrl);
12967
+ }
12968
+ const newPreviewUrl = URL.createObjectURL(file);
12969
+ setPreviewImageUrl(newPreviewUrl);
12660
12970
  const uploadedImage = await onUpload(file);
12661
12971
  if (!uploadedImage) throw new Error("Failed to compress image");
12662
- const ipfsHash = await chunkRUIC653T_cjs.uploadBlobToIPFS(
12972
+ const ipfsHash = await chunk5YN7CZ5H_cjs.uploadBlobToIPFS(
12663
12973
  uploadedImage.file,
12664
12974
  file.name,
12665
12975
  network.type
@@ -12717,9 +13027,7 @@ var CustomizationContent = ({
12717
13027
  /* @__PURE__ */ jsxRuntime.jsxs(
12718
13028
  react.Card,
12719
13029
  {
12720
- bg: isDark ? "#1e1e21" : "#00000005",
12721
- borderRadius: "xl",
12722
- width: "full",
13030
+ variant: "vechainKitBase",
12723
13031
  position: "relative",
12724
13032
  overflow: "visible",
12725
13033
  children: [
@@ -12731,7 +13039,7 @@ var CustomizationContent = ({
12731
13039
  backgroundPosition: "center",
12732
13040
  position: "relative",
12733
13041
  h: "80px",
12734
- background: `no-repeat url('${chunkRUIC653T_cjs.getPicassoImage(
13042
+ background: `no-repeat url('${chunk5YN7CZ5H_cjs.getPicassoImage(
12735
13043
  account?.address ?? ""
12736
13044
  )}')`,
12737
13045
  w: "100%",
@@ -12756,7 +13064,7 @@ var CustomizationContent = ({
12756
13064
  width: "100px",
12757
13065
  height: "100px",
12758
13066
  boxShadow: "0px 0px 3px 2px #00000024",
12759
- src: previewImageUrl || void 0
13067
+ src: previewImageUrl ?? void 0
12760
13068
  }
12761
13069
  }
12762
13070
  ),
@@ -13051,7 +13359,8 @@ var CustomizationSummaryContent = ({
13051
13359
  const { darkMode: isDark } = useVeChainKitConfig();
13052
13360
  const { account, connectedWallet } = useWallet();
13053
13361
  const { refresh: refreshMetadata } = useRefreshMetadata(
13054
- account?.domain ?? ""
13362
+ account?.domain ?? "",
13363
+ account?.address ?? ""
13055
13364
  );
13056
13365
  const { data: upgradeRequired } = useUpgradeRequired(
13057
13366
  account?.address ?? "",
@@ -13076,6 +13385,7 @@ var CustomizationSummaryContent = ({
13076
13385
  } = useUpdateTextRecord({
13077
13386
  resolverAddress,
13078
13387
  // Pass the pre-fetched resolver address
13388
+ signerAccountAddress: account?.address ?? "",
13079
13389
  onSuccess: async () => {
13080
13390
  refreshMetadata();
13081
13391
  setCurrentContent({
@@ -13088,13 +13398,17 @@ var CustomizationSummaryContent = ({
13088
13398
  "Your changes have been saved successfully."
13089
13399
  ),
13090
13400
  onDone: () => {
13091
- setCurrentContent("settings");
13401
+ setCurrentContent("profile");
13092
13402
  }
13093
13403
  }
13094
13404
  });
13095
13405
  }
13096
13406
  });
13097
13407
  const onSubmit = async (data) => {
13408
+ if (upgradeRequired) {
13409
+ openUpgradeSmartAccountModal();
13410
+ return;
13411
+ }
13098
13412
  try {
13099
13413
  const domain2 = account?.domain ?? "";
13100
13414
  const CHANGES_TO_TEXT_RECORDS = {
@@ -13133,11 +13447,6 @@ var CustomizationSummaryContent = ({
13133
13447
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "md", children: value })
13134
13448
  ] });
13135
13449
  };
13136
- React10.useEffect(() => {
13137
- if (upgradeRequired) {
13138
- openUpgradeSmartAccountModal();
13139
- }
13140
- }, [upgradeRequired, openUpgradeSmartAccountModal]);
13141
13450
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "form", onSubmit: handleSubmit(onSubmit), children: [
13142
13451
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
13143
13452
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Confirm Changes") }),
@@ -13178,7 +13487,7 @@ var CustomizationSummaryContent = ({
13178
13487
  transactionPendingText: t("Saving changes..."),
13179
13488
  txReceipt,
13180
13489
  buttonText: t("Confirm"),
13181
- isDisabled: isTransactionPending || upgradeRequired
13490
+ isDisabled: isTransactionPending
13182
13491
  }
13183
13492
  ) })
13184
13493
  ] });
@@ -13208,6 +13517,15 @@ var ProfileContent = ({
13208
13517
  onEditClick: () => setCurrentContent("account-customization"),
13209
13518
  address: account?.address ?? "",
13210
13519
  showHeader: false,
13520
+ style: {
13521
+ card: {
13522
+ bg: "transparent",
13523
+ px: 0
13524
+ },
13525
+ footer: {
13526
+ px: 0
13527
+ }
13528
+ },
13211
13529
  onLogout: () => {
13212
13530
  setCurrentContent?.({
13213
13531
  type: "disconnect-confirm",
@@ -13609,7 +13927,7 @@ var ManageCustomTokenContent = ({
13609
13927
  /* @__PURE__ */ jsxRuntime.jsx(
13610
13928
  react.Image,
13611
13929
  {
13612
- src: chunkRUIC653T_cjs.TOKEN_LOGOS[token?.symbol],
13930
+ src: chunk5YN7CZ5H_cjs.TOKEN_LOGOS[token?.symbol],
13613
13931
  alt: `${token.symbol} logo`,
13614
13932
  boxSize: "20px",
13615
13933
  borderRadius: "full",
@@ -13639,7 +13957,7 @@ var ManageCustomTokenContent = ({
13639
13957
  ),
13640
13958
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", children: token.symbol ?? "Unknown" })
13641
13959
  ] }),
13642
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { opacity: 0.7, children: chunkRUIC653T_cjs.humanAddress(
13960
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { opacity: 0.7, children: chunk5YN7CZ5H_cjs.humanAddress(
13643
13961
  token.address ?? "",
13644
13962
  4,
13645
13963
  4
@@ -13667,7 +13985,7 @@ var ManageCustomTokenContent = ({
13667
13985
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
13668
13986
  react.Button,
13669
13987
  {
13670
- variant: "vechainKitSecondary",
13988
+ variant: "vechainKitPrimary",
13671
13989
  isDisabled: !isValid,
13672
13990
  onClick: handleSubmit(onSubmit),
13673
13991
  children: t("Add Token")
@@ -13685,16 +14003,7 @@ var BridgeContent = ({ setCurrentContent }) => {
13685
14003
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
13686
14004
  ] }),
13687
14005
  /* @__PURE__ */ jsxRuntime.jsx(react.Container, { maxW: "container.lg", children: /* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 6, align: "center", w: "full", children: [
13688
- /* @__PURE__ */ jsxRuntime.jsx(
13689
- react.Image,
13690
- {
13691
- src: isDark ? "https://static.vechain.energy/logo-dark.svg" : "https://static.vechain.energy/logo-light.svg",
13692
- alt: "bridge token",
13693
- w: "200px",
13694
- h: "200px",
13695
- borderRadius: "xl"
13696
- }
13697
- ),
14006
+ /* @__PURE__ */ jsxRuntime.jsx(chunkA4NZ5AVL_cjs.VechainEnergy, { isDark, borderRadius: "xl" }),
13698
14007
  /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", textAlign: "center", children: t(
13699
14008
  "Exchange your digital assets between VeChain and other blockchain networks easily and securely. Swaps are executed through partners that leverage both decentralized and centralized exchanges to convert tokens."
13700
14009
  ) })
@@ -13735,8 +14044,7 @@ var ConnectionDetailsContent = ({ onGoBack }) => {
13735
14044
  /* @__PURE__ */ jsxRuntime.jsxs(react.ModalBody, { w: "full", children: [
13736
14045
  connection.isConnectedWithCrossApp && connectionCache && /* @__PURE__ */ jsxRuntime.jsx(CrossAppConnectionCard, { connectionCache }),
13737
14046
  connection.isConnectedWithSocialLogin && /* @__PURE__ */ jsxRuntime.jsx(PrivyConnectionCard, {}),
13738
- connection.isConnectedWithDappKit && /* @__PURE__ */ jsxRuntime.jsx(DappKitConnectionCard, {}),
13739
- connection.isConnectedWithPrivy && /* @__PURE__ */ jsxRuntime.jsx(WalletSecuredBy, {})
14047
+ connection.isConnectedWithDappKit && /* @__PURE__ */ jsxRuntime.jsx(DappKitConnectionCard, {})
13740
14048
  ] }),
13741
14049
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { pt: 0 })
13742
14050
  ] });
@@ -13940,7 +14248,7 @@ var PrivyLinkedAccounts = ({ onBack }) => {
13940
14248
  case "phone":
13941
14249
  return account.number;
13942
14250
  case "wallet":
13943
- return `${chunkRUIC653T_cjs.humanAddress(account.address)} - ${account.walletClientType}`;
14251
+ return `${chunk5YN7CZ5H_cjs.humanAddress(account.address)} - ${account.walletClientType}`;
13944
14252
  default:
13945
14253
  return "";
13946
14254
  }
@@ -14455,7 +14763,7 @@ var SharedAppCard = ({
14455
14763
  react.Image,
14456
14764
  {
14457
14765
  src: imageUrl,
14458
- fallbackSrc: chunkRUIC653T_cjs.notFoundImage,
14766
+ fallbackSrc: chunk5YN7CZ5H_cjs.notFoundImage,
14459
14767
  alt: name,
14460
14768
  height: "90px",
14461
14769
  objectFit: "contain",
@@ -14555,7 +14863,7 @@ var ShortcutsSection = ({}) => {
14555
14863
  react.Image,
14556
14864
  {
14557
14865
  src: shortcut.image,
14558
- fallbackSrc: chunkRUIC653T_cjs.notFoundImage,
14866
+ fallbackSrc: chunk5YN7CZ5H_cjs.notFoundImage,
14559
14867
  alt: shortcut.name,
14560
14868
  objectFit: "contain",
14561
14869
  rounded: "full"
@@ -14942,7 +15250,7 @@ var TransactionModalContent = ({
14942
15250
  }
14943
15251
  };
14944
15252
  const statusConfig = getStatusConfig();
14945
- const socialDescription = `${chunkRUIC653T_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`;
15253
+ const socialDescription = `${chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`;
14946
15254
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
14947
15255
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
14948
15256
  /* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: statusConfig.title }),
@@ -14977,7 +15285,7 @@ var TransactionModalContent = ({
14977
15285
  {
14978
15286
  fontSize: status === "ready" ? "md" : "sm",
14979
15287
  textAlign: "center",
14980
- color: status === "error" ? "red" : "inherit",
15288
+ color: status === "error" ? "red.500" : "inherit",
14981
15289
  mt: 5,
14982
15290
  style: {
14983
15291
  lineBreak: "anywhere"
@@ -15020,7 +15328,7 @@ var TransactionModalContent = ({
15020
15328
  uiConfig?.showExplorerButton && txReceipt?.meta.txID && /* @__PURE__ */ jsxRuntime.jsx(
15021
15329
  react.Link,
15022
15330
  {
15023
- href: `${chunkRUIC653T_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
15331
+ href: `${chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
15024
15332
  isExternal: true,
15025
15333
  opacity: 0.5,
15026
15334
  fontSize: "14px",
@@ -15083,7 +15391,7 @@ var SuccessfulOperationContent = ({
15083
15391
  }) => {
15084
15392
  const { t } = reactI18next.useTranslation();
15085
15393
  const { network, darkMode } = useVeChainKitConfig();
15086
- const explorerUrl = chunkRUIC653T_cjs.getConfig(network.type).explorerUrl;
15394
+ const explorerUrl = chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl;
15087
15395
  const socialDescription = `${explorerUrl}/${txId}`;
15088
15396
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
15089
15397
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
@@ -15418,44 +15726,42 @@ var ConnectPopover = ({
15418
15726
  };
15419
15727
  var WalletDisplay = ({ variant }) => {
15420
15728
  const { account } = useWallet();
15729
+ const [isSmallMobile] = react.useMediaQuery("(max-width: 480px)");
15421
15730
  if (!account) return /* @__PURE__ */ jsxRuntime.jsx(react.Spinner, {});
15422
15731
  if (variant === "icon") {
15423
15732
  return null;
15424
15733
  }
15734
+ const isLongDomain = account?.domain && account?.domain?.length > 18;
15735
+ const accountDomain = React10.useMemo(() => {
15736
+ return isSmallMobile && isLongDomain ? chunk5YN7CZ5H_cjs.humanDomain(account?.domain ?? "", 18, 0) : account?.domain;
15737
+ }, [isSmallMobile, account.domain]);
15425
15738
  if (variant === "iconAndDomain") {
15426
- return account.domain ? /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: account.domain }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: chunkRUIC653T_cjs.humanAddress(account.address ?? "", 4, 4) });
15739
+ return account.domain ? /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: accountDomain }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: chunk5YN7CZ5H_cjs.humanAddress(account.address ?? "", 6, 4) });
15427
15740
  }
15428
15741
  if (variant === "iconDomainAndAssets") {
15429
- return /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 2, children: [
15742
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 4, children: [
15430
15743
  /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 0, alignItems: "flex-start", children: [
15431
- account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: account.domain }),
15744
+ account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: accountDomain }),
15432
15745
  /* @__PURE__ */ jsxRuntime.jsx(
15433
15746
  react.Text,
15434
15747
  {
15435
15748
  fontSize: account.domain ? "xs" : "sm",
15436
15749
  opacity: account.domain ? 0.5 : 1,
15437
- children: chunkRUIC653T_cjs.humanAddress(account.address ?? "", 4, 4)
15750
+ children: chunk5YN7CZ5H_cjs.humanAddress(account.address ?? "", 4, 4)
15438
15751
  }
15439
15752
  )
15440
15753
  ] }),
15441
- /* @__PURE__ */ jsxRuntime.jsx(
15442
- AssetIcons,
15443
- {
15444
- ml: 2,
15445
- address: account.address ?? "",
15446
- maxIcons: 3
15447
- }
15448
- )
15754
+ /* @__PURE__ */ jsxRuntime.jsx(AssetIcons, { address: account.address ?? "", maxIcons: 3 })
15449
15755
  ] });
15450
15756
  }
15451
15757
  return /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 0, alignItems: "flex-start", children: [
15452
- account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: account.domain }),
15758
+ account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: accountDomain }),
15453
15759
  /* @__PURE__ */ jsxRuntime.jsx(
15454
15760
  react.Text,
15455
15761
  {
15456
15762
  fontSize: account.domain ? "xs" : "sm",
15457
15763
  opacity: account.domain ? 0.5 : 1,
15458
- children: chunkRUIC653T_cjs.humanAddress(account.address ?? "", 4, 4)
15764
+ children: chunk5YN7CZ5H_cjs.humanAddress(account.address ?? "", 4, 4)
15459
15765
  }
15460
15766
  )
15461
15767
  ] });
@@ -15468,17 +15774,36 @@ var ConnectedWallet = ({
15468
15774
  }) => {
15469
15775
  const { account } = useWallet();
15470
15776
  const [isDesktop] = react.useMediaQuery("(min-width: 768px)");
15471
- return /* @__PURE__ */ jsxRuntime.jsx(react.Button, { ...buttonStyle, onClick: onOpen, p: "0px 13px", minH: "45px", children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
15472
- /* @__PURE__ */ jsxRuntime.jsx(
15473
- AccountAvatar,
15474
- {
15475
- wallet: account,
15476
- props: { width: 30, height: 30 }
15477
- }
15478
- ),
15479
- !isDesktop && /* @__PURE__ */ jsxRuntime.jsx(WalletDisplay, { variant: mobileVariant }),
15480
- isDesktop && /* @__PURE__ */ jsxRuntime.jsx(WalletDisplay, { variant: desktopVariant })
15481
- ] }) });
15777
+ return /* @__PURE__ */ jsxRuntime.jsx(
15778
+ react.Button,
15779
+ {
15780
+ ...buttonStyle,
15781
+ onClick: onOpen,
15782
+ w: "full",
15783
+ minH: "45px",
15784
+ maxW: "fit-content",
15785
+ children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { w: "full", minW: "fit-content", children: [
15786
+ /* @__PURE__ */ jsxRuntime.jsx(
15787
+ AccountAvatar,
15788
+ {
15789
+ wallet: account,
15790
+ props: {
15791
+ width: 30,
15792
+ height: 30,
15793
+ minWidth: 30,
15794
+ minHeight: 30
15795
+ }
15796
+ }
15797
+ ),
15798
+ /* @__PURE__ */ jsxRuntime.jsx(
15799
+ WalletDisplay,
15800
+ {
15801
+ variant: isDesktop ? desktopVariant : mobileVariant
15802
+ }
15803
+ )
15804
+ ] })
15805
+ }
15806
+ );
15482
15807
  };
15483
15808
  var WalletButton = ({
15484
15809
  mobileVariant = "iconAndDomain",
@@ -15610,7 +15935,7 @@ var TransactionToastContent = ({
15610
15935
  }) => {
15611
15936
  const { t } = reactI18next.useTranslation();
15612
15937
  const { network } = useVeChainKitConfig();
15613
- const explorerUrl = chunkRUIC653T_cjs.getConfig(network.type).explorerUrl;
15938
+ const explorerUrl = chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl;
15614
15939
  const errorMessage = React10.useMemo(() => {
15615
15940
  if (!txError) return null;
15616
15941
  return txError.reason || t("Something went wrong. Please try again.");
@@ -15636,7 +15961,7 @@ var TransactionToastContent = ({
15636
15961
  react.Icon,
15637
15962
  {
15638
15963
  as: md.MdOutlineErrorOutline,
15639
- color: "red",
15964
+ color: "red.500",
15640
15965
  fontSize: "40px"
15641
15966
  }
15642
15967
  ),
@@ -15911,7 +16236,8 @@ var EcosystemContent = ({ onClose, appsInfo, isLoading }) => {
15911
16236
  setConnectionCache({
15912
16237
  name: appName,
15913
16238
  logoUrl: appsInfo.find((app) => app.id === appId)?.logo_url,
15914
- appId
16239
+ appId,
16240
+ website: appsInfo.find((app) => app.id === appId)?.website
15915
16241
  });
15916
16242
  onClose();
15917
16243
  } catch (error) {
@@ -16051,72 +16377,67 @@ var ProfileCard = ({
16051
16377
  showLinks = true,
16052
16378
  showDescription = true,
16053
16379
  showDisplayName = true,
16054
- showEdit = true
16380
+ showEdit = true,
16381
+ style
16055
16382
  }) => {
16056
16383
  const { t } = reactI18next.useTranslation();
16057
- const { darkMode: isDark, network } = useVeChainKitConfig();
16058
16384
  const { account } = useWallet();
16059
16385
  const activeAccountDomain = useVechainDomain(address);
16060
- const activeAccountAvatar = useGetAvatar(activeAccountDomain?.data?.domain);
16386
+ const activeAccountAvatar = useGetAvatarOfAddress(address);
16061
16387
  const activeAccountTextRecords = useGetTextRecords(
16062
16388
  activeAccountDomain?.data?.domain
16063
16389
  );
16064
- const baseBackgroundColor = isDark ? "#1e1e21" : "#00000005";
16065
- const headerImageSvg = chunkRUIC653T_cjs.getPicassoImage(address);
16390
+ const headerImageSvg = chunk5YN7CZ5H_cjs.getPicassoImage(address);
16066
16391
  const isConnectedAccount = address === account?.address;
16067
16392
  const hasLinks = activeAccountTextRecords?.data?.url || activeAccountTextRecords?.data?.["com.x"] || activeAccountTextRecords?.data?.email;
16068
- return /* @__PURE__ */ jsxRuntime.jsxs(
16069
- react.Card,
16070
- {
16071
- bg: baseBackgroundColor,
16072
- borderRadius: "xl",
16073
- width: "full",
16074
- position: "relative",
16075
- overflow: "visible",
16076
- children: [
16077
- /* @__PURE__ */ jsxRuntime.jsx(
16078
- react.Box,
16079
- {
16080
- p: 0,
16081
- backgroundSize: "100% !important",
16082
- backgroundPosition: "center",
16083
- position: "relative",
16084
- h: "80px",
16085
- background: showHeader ? `no-repeat url('${headerImageSvg}')` : "none",
16086
- w: "100%",
16087
- borderRadius: "14px 14px 0 0"
16088
- }
16089
- ),
16090
- /* @__PURE__ */ jsxRuntime.jsx(
16091
- react.Box,
16393
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { variant: "vechainKitBase", ...style?.card, children: [
16394
+ /* @__PURE__ */ jsxRuntime.jsx(
16395
+ react.Box,
16396
+ {
16397
+ p: 0,
16398
+ backgroundSize: "100% !important",
16399
+ backgroundPosition: "center",
16400
+ position: "relative",
16401
+ h: "80px",
16402
+ background: showHeader ? `no-repeat url('${headerImageSvg}')` : "none",
16403
+ w: "100%",
16404
+ borderRadius: "14px 14px 0 0"
16405
+ }
16406
+ ),
16407
+ /* @__PURE__ */ jsxRuntime.jsx(
16408
+ react.Box,
16409
+ {
16410
+ position: "absolute",
16411
+ top: "30px",
16412
+ left: "50%",
16413
+ transform: "translateX(-50%)",
16414
+ children: /* @__PURE__ */ jsxRuntime.jsx(
16415
+ AccountAvatar,
16092
16416
  {
16093
- position: "absolute",
16094
- top: "30px",
16095
- left: "50%",
16096
- transform: "translateX(-50%)",
16097
- children: /* @__PURE__ */ jsxRuntime.jsx(
16098
- AccountAvatar,
16099
- {
16100
- wallet: {
16101
- address,
16102
- domain: activeAccountDomain?.data?.domain,
16103
- image: chunkRUIC653T_cjs.convertUriToUrl(
16104
- activeAccountAvatar?.data ?? "",
16105
- network.type
16106
- ) ?? chunkRUIC653T_cjs.getPicassoImage(address),
16107
- isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16108
- metadata: activeAccountTextRecords?.data
16109
- },
16110
- props: {
16111
- width: "100px",
16112
- height: "100px",
16113
- boxShadow: "0px 0px 3px 2px #00000024"
16114
- }
16115
- }
16116
- )
16417
+ wallet: {
16418
+ address,
16419
+ domain: activeAccountDomain?.data?.domain,
16420
+ image: activeAccountAvatar.data,
16421
+ isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16422
+ metadata: activeAccountTextRecords?.data
16423
+ },
16424
+ props: {
16425
+ width: "100px",
16426
+ height: "100px"
16427
+ // boxShadow: '0px 0px 3px 2px #00000024',
16428
+ }
16117
16429
  }
16118
- ),
16119
- /* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { mt: 10, backgroundColor: "none", border: "none", children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", spacing: 2, children: [
16430
+ )
16431
+ }
16432
+ ),
16433
+ /* @__PURE__ */ jsxRuntime.jsx(
16434
+ react.CardBody,
16435
+ {
16436
+ mt: 10,
16437
+ backgroundColor: "none",
16438
+ border: "none",
16439
+ ...style?.body,
16440
+ children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", spacing: 2, children: [
16120
16441
  showDisplayName && activeAccountTextRecords?.data?.display && /* @__PURE__ */ jsxRuntime.jsx(
16121
16442
  react.Text,
16122
16443
  {
@@ -16170,51 +16491,48 @@ var ProfileCard = ({
16170
16491
  wallet: {
16171
16492
  address,
16172
16493
  domain: activeAccountDomain?.data?.domain,
16173
- image: chunkRUIC653T_cjs.convertUriToUrl(
16174
- activeAccountAvatar?.data ?? "",
16175
- network.type
16176
- ) ?? chunkRUIC653T_cjs.getPicassoImage(address),
16494
+ image: activeAccountAvatar.data,
16177
16495
  isLoadingMetadata: activeAccountAvatar?.isLoading || activeAccountDomain?.isLoading || activeAccountTextRecords?.isLoading,
16178
16496
  metadata: activeAccountTextRecords?.data
16179
16497
  },
16180
16498
  style: { mt: 4 }
16181
16499
  }
16182
16500
  )
16183
- ] }) }),
16184
- isConnectedAccount && showEdit && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { justify: "space-between", children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", justify: "space-between", spacing: 4, children: [
16185
- /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {}),
16186
- /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { w: "full", justify: "space-between", children: [
16187
- /* @__PURE__ */ jsxRuntime.jsx(
16188
- react.Button,
16189
- {
16190
- size: "md",
16191
- width: "full",
16192
- height: "40px",
16193
- variant: "ghost",
16194
- leftIcon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaEdit }),
16195
- onClick: onEditClick ?? (() => {
16196
- }),
16197
- children: t("Customize")
16198
- }
16199
- ),
16200
- /* @__PURE__ */ jsxRuntime.jsx(
16201
- react.Button,
16202
- {
16203
- size: "md",
16204
- width: "full",
16205
- height: "40px",
16206
- variant: "ghost",
16207
- leftIcon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: ri.RiLogoutBoxLine }),
16208
- colorScheme: "red",
16209
- onClick: onLogout,
16210
- children: t("Logout")
16211
- }
16212
- )
16213
- ] })
16214
- ] }) })
16215
- ]
16216
- }
16217
- );
16501
+ ] })
16502
+ }
16503
+ ),
16504
+ isConnectedAccount && showEdit && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { justify: "space-between", ...style?.footer, children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", justify: "space-between", spacing: 4, children: [
16505
+ /* @__PURE__ */ jsxRuntime.jsx(react.Divider, {}),
16506
+ /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { w: "full", justify: "space-between", children: [
16507
+ /* @__PURE__ */ jsxRuntime.jsx(
16508
+ react.Button,
16509
+ {
16510
+ size: "md",
16511
+ width: "full",
16512
+ height: "40px",
16513
+ variant: "ghost",
16514
+ leftIcon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaEdit }),
16515
+ onClick: onEditClick ?? (() => {
16516
+ }),
16517
+ children: t("Customize")
16518
+ }
16519
+ ),
16520
+ /* @__PURE__ */ jsxRuntime.jsx(
16521
+ react.Button,
16522
+ {
16523
+ size: "md",
16524
+ width: "full",
16525
+ height: "40px",
16526
+ variant: "ghost",
16527
+ leftIcon: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: ri.RiLogoutBoxLine }),
16528
+ colorScheme: "red",
16529
+ onClick: onLogout,
16530
+ children: t("Logout")
16531
+ }
16532
+ )
16533
+ ] })
16534
+ ] }) })
16535
+ ] });
16218
16536
  };
16219
16537
  var SuccessfulOperationContent2 = ({
16220
16538
  txId,
@@ -16225,7 +16543,7 @@ var SuccessfulOperationContent2 = ({
16225
16543
  }) => {
16226
16544
  const { t } = reactI18next.useTranslation();
16227
16545
  const { network, darkMode } = useVeChainKitConfig();
16228
- const explorerUrl = chunkRUIC653T_cjs.getConfig(network.type).explorerUrl;
16546
+ const explorerUrl = chunk5YN7CZ5H_cjs.getConfig(network.type).explorerUrl;
16229
16547
  const socialDescription = `${explorerUrl}/${txId}`;
16230
16548
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
16231
16549
  /* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
@@ -16850,7 +17168,7 @@ var useReceiveModal = () => {
16850
17168
  var ReceiveModalProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
16851
17169
  var useLoginModalContent = () => {
16852
17170
  const { privy, loginMethods } = useVeChainKitConfig();
16853
- const isVeChainApp = privy?.appId === chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID;
17171
+ const isVeChainApp = privy?.appId === chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID;
16854
17172
  const isLoginMethodEnabled = (method35) => {
16855
17173
  if (!loginMethods) return true;
16856
17174
  if (Array.isArray(method35)) {
@@ -16928,6 +17246,21 @@ var useUpgradeSmartAccountModal = (style) => {
16928
17246
  var UpgradeSmartAccountModalProvider = ({
16929
17247
  children
16930
17248
  }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
17249
+ var useProfileModal = () => {
17250
+ const { openAccountModal, closeAccountModal, isAccountModalOpen } = useModal();
17251
+ const open = () => {
17252
+ openAccountModal("profile");
17253
+ };
17254
+ const close = () => {
17255
+ closeAccountModal();
17256
+ };
17257
+ return {
17258
+ open,
17259
+ close,
17260
+ isOpen: isAccountModalOpen
17261
+ };
17262
+ };
17263
+ var ProfileModalProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
16931
17264
  var ERC20Interface4 = chunk5GZ7N47F_cjs.ERC20__factory.createInterface();
16932
17265
  var useTransferERC20 = ({
16933
17266
  fromAddress,
@@ -16941,7 +17274,7 @@ var useTransferERC20 = ({
16941
17274
  const queryClient = reactQuery.useQueryClient();
16942
17275
  const { refresh } = useRefreshBalances();
16943
17276
  const buildClauses = React10.useCallback(async () => {
16944
- if (!receiverAddress || !amount || !chunkRUIC653T_cjs.isValidAddress(receiverAddress))
17277
+ if (!receiverAddress || !amount || !chunk5YN7CZ5H_cjs.isValidAddress(receiverAddress))
16945
17278
  throw new Error("Invalid receiver address or amount");
16946
17279
  const clausesArray = [];
16947
17280
  clausesArray.push({
@@ -16964,7 +17297,7 @@ var useTransferERC20 = ({
16964
17297
  signerAccountAddress: fromAddress,
16965
17298
  privyUIOptions: {
16966
17299
  title: "Confirm Transfer",
16967
- description: `Transfer ${amount} ${tokenName} to ${chunkRUIC653T_cjs.humanAddress(
17300
+ description: `Transfer ${amount} ${tokenName} to ${chunk5YN7CZ5H_cjs.humanAddress(
16968
17301
  receiverAddress
16969
17302
  )}`,
16970
17303
  buttonText: "Sign to continue"
@@ -16990,7 +17323,7 @@ var useTransferVET = ({
16990
17323
  }) => {
16991
17324
  const { refresh } = useRefreshBalances();
16992
17325
  const buildClauses = React10.useCallback(async () => {
16993
- if (!receiverAddress || !amount || !chunkRUIC653T_cjs.isValidAddress(receiverAddress))
17326
+ if (!receiverAddress || !amount || !chunk5YN7CZ5H_cjs.isValidAddress(receiverAddress))
16994
17327
  throw new Error("Invalid receiver address or amount");
16995
17328
  if (isNaN(Number(amount))) {
16996
17329
  throw new Error("Invalid amount");
@@ -17014,7 +17347,7 @@ var useTransferVET = ({
17014
17347
  signerAccountAddress: fromAddress,
17015
17348
  privyUIOptions: {
17016
17349
  title: "Confirm Transfer",
17017
- description: `Transfer ${amount} VET to ${chunkRUIC653T_cjs.humanAddress(
17350
+ description: `Transfer ${amount} VET to ${chunk5YN7CZ5H_cjs.humanAddress(
17018
17351
  receiverAddress
17019
17352
  )}`,
17020
17353
  buttonText: "Sign to continue"
@@ -17191,14 +17524,15 @@ var useCrossAppConnectionCache = () => {
17191
17524
  var useLoginWithVeChain = () => {
17192
17525
  const { login: loginWithVeChain } = usePrivyCrossAppSdk();
17193
17526
  const { setConnectionCache } = useCrossAppConnectionCache();
17194
- const { data: appsInfo } = useFetchAppInfo([chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID]);
17527
+ const { data: appsInfo } = useFetchAppInfo([chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID]);
17195
17528
  const login = async () => {
17196
17529
  try {
17197
- await loginWithVeChain(chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID);
17530
+ await loginWithVeChain(chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID);
17198
17531
  setConnectionCache({
17199
17532
  name: "VeChain",
17200
- logoUrl: appsInfo?.[chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID]?.logo_url,
17201
- appId: chunkRUIC653T_cjs.VECHAIN_PRIVY_APP_ID
17533
+ logoUrl: appsInfo?.[chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID]?.logo_url,
17534
+ appId: chunk5YN7CZ5H_cjs.VECHAIN_PRIVY_APP_ID,
17535
+ website: "https://governance.vebetterdao.org"
17202
17536
  });
17203
17537
  } catch (error) {
17204
17538
  throw handlePopupError({
@@ -17461,9 +17795,9 @@ var PrivyWalletProvider = ({
17461
17795
  clauses.push(
17462
17796
  sdkCore.Clause.callFunction(
17463
17797
  sdkCore.Address.of(
17464
- chunkRUIC653T_cjs.getConfig(network.type).accountFactoryAddress
17798
+ chunk5YN7CZ5H_cjs.getConfig(network.type).accountFactoryAddress
17465
17799
  ),
17466
- sdkCore.ABIContract.ofAbi(chunkFID67WC3_cjs.SimpleAccountFactoryABI).getFunction(
17800
+ sdkCore.ABIContract.ofAbi(chunkA4NZ5AVL_cjs.SimpleAccountFactoryABI).getFunction(
17467
17801
  "createAccount"
17468
17802
  ),
17469
17803
  [connectedWallet.address ?? ""]
@@ -17473,7 +17807,7 @@ var PrivyWalletProvider = ({
17473
17807
  clauses.push(
17474
17808
  sdkCore.Clause.callFunction(
17475
17809
  sdkCore.Address.of(smartAccount.address),
17476
- sdkCore.ABIContract.ofAbi(chunkFID67WC3_cjs.SimpleAccountABI).getFunction(
17810
+ sdkCore.ABIContract.ofAbi(chunkA4NZ5AVL_cjs.SimpleAccountABI).getFunction(
17477
17811
  "executeBatchWithAuthorization"
17478
17812
  ),
17479
17813
  [
@@ -17536,9 +17870,9 @@ var PrivyWalletProvider = ({
17536
17870
  clauses.push(
17537
17871
  sdkCore.Clause.callFunction(
17538
17872
  sdkCore.Address.of(
17539
- chunkRUIC653T_cjs.getConfig(network.type).accountFactoryAddress
17873
+ chunk5YN7CZ5H_cjs.getConfig(network.type).accountFactoryAddress
17540
17874
  ),
17541
- sdkCore.ABIContract.ofAbi(chunkFID67WC3_cjs.SimpleAccountFactoryABI).getFunction(
17875
+ sdkCore.ABIContract.ofAbi(chunkA4NZ5AVL_cjs.SimpleAccountFactoryABI).getFunction(
17542
17876
  "createAccount"
17543
17877
  ),
17544
17878
  [connectedWallet.address ?? ""]
@@ -17550,7 +17884,7 @@ var PrivyWalletProvider = ({
17550
17884
  clauses.push(
17551
17885
  sdkCore.Clause.callFunction(
17552
17886
  sdkCore.Address.of(smartAccount.address ?? ""),
17553
- sdkCore.ABIContract.ofAbi(chunkFID67WC3_cjs.SimpleAccountABI).getFunction(
17887
+ sdkCore.ABIContract.ofAbi(chunkA4NZ5AVL_cjs.SimpleAccountABI).getFunction(
17554
17888
  "executeWithAuthorization"
17555
17889
  ),
17556
17890
  [
@@ -17585,10 +17919,10 @@ var PrivyWalletProvider = ({
17585
17919
  [
17586
17920
  {
17587
17921
  privateKey: Buffer.from(
17588
- chunkRUIC653T_cjs.randomTransactionUser.privateKey.slice(2),
17922
+ chunk5YN7CZ5H_cjs.randomTransactionUser.privateKey.slice(2),
17589
17923
  "hex"
17590
17924
  ),
17591
- address: chunkRUIC653T_cjs.randomTransactionUser.address
17925
+ address: chunk5YN7CZ5H_cjs.randomTransactionUser.address
17592
17926
  }
17593
17927
  ],
17594
17928
  { delegator: { delegatorUrl } }
@@ -17599,11 +17933,11 @@ var PrivyWalletProvider = ({
17599
17933
  true
17600
17934
  );
17601
17935
  const signer = await providerWithDelegationEnabled.getSigner(
17602
- chunkRUIC653T_cjs.randomTransactionUser.address
17936
+ chunk5YN7CZ5H_cjs.randomTransactionUser.address
17603
17937
  );
17604
17938
  const txInput = sdkNetwork.signerUtils.transactionBodyToTransactionRequestInput(
17605
17939
  txBody,
17606
- chunkRUIC653T_cjs.randomTransactionUser.address
17940
+ chunk5YN7CZ5H_cjs.randomTransactionUser.address
17607
17941
  );
17608
17942
  const rawDelegateSigned = await signer.signTransaction(txInput);
17609
17943
  const { id } = await fetch(`${nodeUrl}/transactions`, {
@@ -17642,7 +17976,7 @@ var PrivyWalletProvider = ({
17642
17976
  PrivyWalletProviderContext.Provider,
17643
17977
  {
17644
17978
  value: {
17645
- accountFactory: chunkRUIC653T_cjs.getConfig(network.type).accountFactoryAddress,
17979
+ accountFactory: chunk5YN7CZ5H_cjs.getConfig(network.type).accountFactoryAddress,
17646
17980
  sendTransaction,
17647
17981
  signMessage,
17648
17982
  signTypedData,
@@ -17690,14 +18024,6 @@ var initializeI18n = (i18nInstance) => {
17690
18024
  }
17691
18025
  });
17692
18026
  };
17693
- var DEFAULT_PRIVY_ECOSYSTEM_APP_IDS = [
17694
- "clz41gcg00e4ay75dmq3uzzgr",
17695
- //cleanify
17696
- "cm153hrup0817axti38avlfyg",
17697
- //greencart
17698
- "clv9sfos20j6x1431ga80d95f"
17699
- //mughsot
17700
- ];
17701
18027
  var VeChainKitContext = React10.createContext(null);
17702
18028
  var useVeChainKitConfig = () => {
17703
18029
  const context = React10.useContext(VeChainKitContext);
@@ -17708,11 +18034,20 @@ var useVeChainKitConfig = () => {
17708
18034
  };
17709
18035
  var validateConfig = (props) => {
17710
18036
  const errors = [];
17711
- if (!props.feeDelegation) {
17712
- errors.push("feeDelegation configuration is required");
17713
- } else {
17714
- if (!props.feeDelegation.delegatorUrl) {
17715
- errors.push("feeDelegation.delegatorUrl is required");
18037
+ const requiresFeeDelegation = props.privy !== void 0 || props.loginMethods?.some(
18038
+ (method35) => method35.method === "vechain" || method35.method === "ecosystem"
18039
+ );
18040
+ if (requiresFeeDelegation) {
18041
+ if (!props.feeDelegation) {
18042
+ errors.push(
18043
+ "feeDelegation configuration is required when using Privy or vechain login method"
18044
+ );
18045
+ } else {
18046
+ if (!props.feeDelegation || !props.feeDelegation.delegatorUrl) {
18047
+ errors.push(
18048
+ "feeDelegation.delegatorUrl is required when using Privy or vechain login method"
18049
+ );
18050
+ }
17716
18051
  }
17717
18052
  }
17718
18053
  if (!props.network) {
@@ -17764,7 +18099,7 @@ var VeChainKitProvider = (props) => {
17764
18099
  const userEcosystemMethods = validatedLoginMethods?.find(
17765
18100
  (method35) => method35.method === "ecosystem"
17766
18101
  );
17767
- return userEcosystemMethods?.allowedApps ?? DEFAULT_PRIVY_ECOSYSTEM_APP_IDS;
18102
+ return userEcosystemMethods?.allowedApps ?? chunk5YN7CZ5H_cjs.DEFAULT_PRIVY_ECOSYSTEM_APPS.map((app) => app.id);
17768
18103
  }, [validatedLoginMethods]);
17769
18104
  let privyAppId, privyClientId;
17770
18105
  if (!privy) {
@@ -17841,8 +18176,8 @@ var VeChainKitProvider = (props) => {
17841
18176
  children: /* @__PURE__ */ jsxRuntime.jsx(
17842
18177
  dappKitReact.DAppKitProvider,
17843
18178
  {
17844
- nodeUrl: network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl,
17845
- genesis: chunkRUIC653T_cjs.getConfig(network.type).network.genesis,
18179
+ nodeUrl: network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl,
18180
+ genesis: chunk5YN7CZ5H_cjs.getConfig(network.type).network.genesis,
17846
18181
  i18n: i18nConfig,
17847
18182
  language,
17848
18183
  logLevel: dappKit.logLevel,
@@ -17857,7 +18192,7 @@ var VeChainKitProvider = (props) => {
17857
18192
  "--vdk-modal-width": "22rem",
17858
18193
  "--vdk-modal-backdrop-filter": "blur(3px)",
17859
18194
  "--vdk-border-dark-source-card": `1px solid ${"#ffffff0a"}`,
17860
- "--vdk-border-light-source-card": `1px solid ${"#ebebeb"}`,
18195
+ "--vdk-border-light-source-card": `1px solid ${"#ebebeb"} !important`,
17861
18196
  // Dark mode colors
17862
18197
  "--vdk-color-dark-primary": "transparent",
17863
18198
  "--vdk-color-dark-primary-hover": "rgba(255, 255, 255, 0.05)",
@@ -17877,9 +18212,9 @@ var VeChainKitProvider = (props) => {
17877
18212
  children: /* @__PURE__ */ jsxRuntime.jsx(
17878
18213
  PrivyWalletProvider,
17879
18214
  {
17880
- nodeUrl: network.nodeUrl ?? chunkRUIC653T_cjs.getConfig(network.type).nodeUrl,
17881
- delegatorUrl: feeDelegation.delegatorUrl,
17882
- delegateAllTransactions: feeDelegation.delegateAllTransactions,
18215
+ nodeUrl: network.nodeUrl ?? chunk5YN7CZ5H_cjs.getConfig(network.type).nodeUrl,
18216
+ delegatorUrl: feeDelegation?.delegatorUrl ?? "",
18217
+ delegateAllTransactions: feeDelegation?.delegateAllTransactions ?? false,
17883
18218
  children: /* @__PURE__ */ jsxRuntime.jsx(ModalProvider, { children })
17884
18219
  }
17885
18220
  )
@@ -17900,7 +18235,7 @@ var variants = {
17900
18235
  overflowX: "hidden",
17901
18236
  maxHeight: "550px",
17902
18237
  borderRadius: "24px",
17903
- backgroundColor: props.colorMode === "dark" ? "#18181b" : "white"
18238
+ backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
17904
18239
  },
17905
18240
  closeButton: {
17906
18241
  borderRadius: "50%"
@@ -17926,7 +18261,7 @@ var variants = {
17926
18261
  pointerEvents: "auto",
17927
18262
  boxShadow: "0px 0px 10px 0px rgba(0, 0, 0, 0.1)",
17928
18263
  py: "10px",
17929
- backgroundColor: props.colorMode === "dark" ? "#18181b" : "white"
18264
+ backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white"
17930
18265
  },
17931
18266
  closeButton: {
17932
18267
  borderRadius: "50%",
@@ -17942,17 +18277,27 @@ var modalTheme = defineMultiStyleConfig({
17942
18277
  variant: "vechainKitBase"
17943
18278
  }
17944
18279
  });
17945
- var { definePartsStyle: definePartsStyle2, defineMultiStyleConfig: defineMultiStyleConfig2 } = react.createMultiStyleConfigHelpers(anatomy.modalAnatomy.keys);
18280
+ var { definePartsStyle: definePartsStyle2, defineMultiStyleConfig: defineMultiStyleConfig2 } = react.createMultiStyleConfigHelpers(anatomy.cardAnatomy.keys);
17946
18281
  var variants2 = {
17947
18282
  vechainKitBase: (props) => definePartsStyle2({
18283
+ container: {
18284
+ backgroundColor: props.colorMode === "dark" ? "#1c1c1b" : "#f5f5f5",
18285
+ borderRadius: "14px",
18286
+ width: "full",
18287
+ border: "none"
18288
+ },
17948
18289
  body: {
17949
- borderRadius: "12px",
17950
- backgroundColor: props.colorMode === "dark" ? "#1f1f1e" : "white",
17951
- border: props.colorMode === "dark" ? "1px solid #2d2d2d" : "1px solid #eaeaea",
17952
- p: 5
18290
+ p: 5,
18291
+ width: "full"
18292
+ },
18293
+ header: {
18294
+ p: 5,
18295
+ width: "full",
18296
+ borderRadius: "14px 14px 0 0"
17953
18297
  },
17954
18298
  footer: {
17955
- p: 5
18299
+ width: "full",
18300
+ borderRadius: "0 0 14px 14px"
17956
18301
  }
17957
18302
  }),
17958
18303
  featureAnnouncement: (props) => definePartsStyle2({
@@ -18068,28 +18413,22 @@ var variants3 = {
18068
18413
  },
18069
18414
  transition: "all 0.2s"
18070
18415
  })),
18071
- vechainKitSecondary: react.defineStyle(() => ({
18416
+ vechainKitSecondary: react.defineStyle(({ colorMode }) => ({
18072
18417
  fontSize: "md",
18073
18418
  px: 4,
18074
18419
  width: "full",
18075
18420
  height: "60px",
18076
18421
  borderRadius: "xl",
18077
- bg: "transparent",
18078
- border: "1px solid",
18079
- borderColor: "gray.200",
18080
- color: "gray.700",
18422
+ backgroundColor: colorMode === "dark" ? "#ffffff0a" : "blackAlpha.50",
18081
18423
  _hover: {
18082
- bg: "gray.50",
18083
- _disabled: {
18084
- bg: "transparent"
18085
- }
18424
+ backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18086
18425
  },
18426
+ border: "1px solid",
18427
+ borderColor: "gray.200",
18428
+ color: "blackAlpha.900",
18087
18429
  _dark: {
18088
18430
  borderColor: "whiteAlpha.200",
18089
- color: "whiteAlpha.900",
18090
- _hover: {
18091
- bg: "whiteAlpha.50"
18092
- }
18431
+ color: "whiteAlpha.900"
18093
18432
  },
18094
18433
  transition: "all 0.2s"
18095
18434
  })),
@@ -18102,6 +18441,17 @@ var variants3 = {
18102
18441
  _hover: {
18103
18442
  backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18104
18443
  }
18444
+ })),
18445
+ actionButton: react.defineStyle(({ colorMode }) => ({
18446
+ width: "full",
18447
+ minHeight: "70px",
18448
+ height: "fit-content",
18449
+ backgroundColor: colorMode === "dark" ? "#ffffff0a" : "blackAlpha.50",
18450
+ borderRadius: "xl",
18451
+ _hover: {
18452
+ backgroundColor: colorMode === "dark" ? "#ffffff12" : "blackAlpha.200"
18453
+ },
18454
+ transition: "all 0.2s"
18105
18455
  }))
18106
18456
  };
18107
18457
  var buttonTheme = react.defineStyleConfig({
@@ -18200,7 +18550,7 @@ var VechainKitThemeProvider = ({
18200
18550
 
18201
18551
  Object.defineProperty(exports, "getConfig", {
18202
18552
  enumerable: true,
18203
- get: function () { return chunkRUIC653T_cjs.getConfig; }
18553
+ get: function () { return chunk5YN7CZ5H_cjs.getConfig; }
18204
18554
  });
18205
18555
  Object.defineProperty(exports, "useMfaEnrollment", {
18206
18556
  enumerable: true,
@@ -18210,6 +18560,10 @@ Object.defineProperty(exports, "usePrivy", {
18210
18560
  enumerable: true,
18211
18561
  get: function () { return reactAuth.usePrivy; }
18212
18562
  });
18563
+ Object.defineProperty(exports, "useSetWalletRecovery", {
18564
+ enumerable: true,
18565
+ get: function () { return reactAuth.useSetWalletRecovery; }
18566
+ });
18213
18567
  Object.defineProperty(exports, "DAppKitWalletButton", {
18214
18568
  enumerable: true,
18215
18569
  get: function () { return dappKitReact.WalletButton; }
@@ -18253,6 +18607,7 @@ exports.ConnectModal = ConnectModal;
18253
18607
  exports.ConnectModalProvider = ConnectModalProvider;
18254
18608
  exports.ConnectPopover = ConnectPopover;
18255
18609
  exports.ConnectionButton = ConnectionButton;
18610
+ exports.CrossAppConnectionSecurityCard = CrossAppConnectionSecurityCard;
18256
18611
  exports.CustomizationContent = CustomizationContent;
18257
18612
  exports.CustomizationSummaryContent = CustomizationSummaryContent;
18258
18613
  exports.DappKitButton = DappKitButton;
@@ -18286,6 +18641,7 @@ exports.PrivyButton = PrivyButton;
18286
18641
  exports.PrivyWalletProvider = PrivyWalletProvider;
18287
18642
  exports.ProfileCard = ProfileCard;
18288
18643
  exports.ProfileContent = ProfileContent;
18644
+ exports.ProfileModalProvider = ProfileModalProvider;
18289
18645
  exports.QuickActionsSection = QuickActionsSection;
18290
18646
  exports.ReceiveModalProvider = ReceiveModalProvider;
18291
18647
  exports.ReceiveTokenContent = ReceiveTokenContent;
@@ -18352,6 +18708,7 @@ exports.getAppsEligibleInNextRound = getAppsEligibleInNextRound;
18352
18708
  exports.getAppsEligibleInNextRoundQueryKey = getAppsEligibleInNextRoundQueryKey;
18353
18709
  exports.getAppsShareClauses = getAppsShareClauses;
18354
18710
  exports.getAvatar = getAvatar;
18711
+ exports.getAvatarOfAddressQueryKey = getAvatarOfAddressQueryKey;
18355
18712
  exports.getAvatarQueryKey = getAvatarQueryKey;
18356
18713
  exports.getB3trBalance = getB3trBalance;
18357
18714
  exports.getB3trBalanceQueryKey = getB3trBalanceQueryKey;
@@ -18508,6 +18865,7 @@ exports.useGMbalance = useGMbalance;
18508
18865
  exports.useGetAccountAddress = useGetAccountAddress;
18509
18866
  exports.useGetAccountVersion = useGetAccountVersion;
18510
18867
  exports.useGetAvatar = useGetAvatar;
18868
+ exports.useGetAvatarOfAddress = useGetAvatarOfAddress;
18511
18869
  exports.useGetB3trBalance = useGetB3trBalance;
18512
18870
  exports.useGetChainId = useGetChainId;
18513
18871
  exports.useGetCumulativeScoreWithDecay = useGetCumulativeScoreWithDecay;
@@ -18573,6 +18931,7 @@ exports.useParticipatedInGovernance = useParticipatedInGovernance;
18573
18931
  exports.useParticipationScoreThreshold = useParticipationScoreThreshold;
18574
18932
  exports.usePassportChecks = usePassportChecks;
18575
18933
  exports.usePrivyWalletProvider = usePrivyWalletProvider;
18934
+ exports.useProfileModal = useProfileModal;
18576
18935
  exports.useReceiveModal = useReceiveModal;
18577
18936
  exports.useRefreshBalances = useRefreshBalances;
18578
18937
  exports.useRefreshMetadata = useRefreshMetadata;