@vechain/vechain-kit 1.5.12 → 1.5.13
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/assets/index.cjs +23 -23
- package/dist/assets/index.js +1 -1
- package/dist/{chunk-3CI2FPCB.js → chunk-G7I2W6XJ.js} +3 -3
- package/dist/{chunk-3CI2FPCB.js.map → chunk-G7I2W6XJ.js.map} +1 -1
- package/dist/{chunk-DBQR2OKX.cjs → chunk-QRYVPUVY.cjs} +6 -6
- package/dist/{chunk-DBQR2OKX.cjs.map → chunk-QRYVPUVY.cjs.map} +1 -1
- package/dist/{chunk-A4NZ5AVL.cjs → chunk-TV24UEQU.cjs} +3 -3
- package/dist/{chunk-A4NZ5AVL.cjs.map → chunk-TV24UEQU.cjs.map} +1 -1
- package/dist/{chunk-RSEKQ6PP.js → chunk-YPHGCDGO.js} +3 -3
- package/dist/{chunk-RSEKQ6PP.js.map → chunk-YPHGCDGO.js.map} +1 -1
- package/dist/index.cjs +1100 -617
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +67 -10
- package/dist/index.d.ts +67 -10
- package/dist/index.js +904 -426
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/utils/index.cjs +32 -32
- package/dist/utils/index.js +2 -2
- package/package.json +1 -1
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
|
|
5
|
-
var
|
|
4
|
+
var chunkQRYVPUVY_cjs = require('./chunk-QRYVPUVY.cjs');
|
|
5
|
+
var chunkTV24UEQU_cjs = require('./chunk-TV24UEQU.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(
|
|
95
|
+
const res = await thor.account(chunkQRYVPUVY_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(
|
|
114
|
+
const res = await thor.account(chunkQRYVPUVY_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" :
|
|
118
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_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(
|
|
141
|
+
const res = await thor.account(chunkQRYVPUVY_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" :
|
|
145
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_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 =
|
|
171
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
187
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
218
|
+
const contractAddress = chunkQRYVPUVY_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:
|
|
240
|
-
name:
|
|
239
|
+
image: chunkQRYVPUVY_cjs.NodeStrengthLevelToImage[Number(firstNode.nodeLevel)],
|
|
240
|
+
name: chunkQRYVPUVY_cjs.allNodeStrengthLevelToName[Number(firstNode.nodeLevel)]
|
|
241
241
|
} : void 0;
|
|
242
242
|
const xNodeName = xNode?.name ?? t("Not available");
|
|
243
|
-
const xNodeImage = xNode?.image ??
|
|
243
|
+
const xNodeImage = xNode?.image ?? chunkQRYVPUVY_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 =
|
|
284
|
+
const contractAddress = chunkQRYVPUVY_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:
|
|
311
|
-
name:
|
|
310
|
+
image: chunkQRYVPUVY_cjs.NodeStrengthLevelToImage[Number(levels[index])],
|
|
311
|
+
name: chunkQRYVPUVY_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 =
|
|
338
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
354
|
+
const X2EARNAPPS_CONTRACT = chunkQRYVPUVY_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 =
|
|
382
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
392
|
+
const X2EARNAPPS_CONTRACT = chunkQRYVPUVY_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 =
|
|
413
|
+
const xAllocationVotingContract = chunkQRYVPUVY_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 ??
|
|
444
|
+
const nodeUrl = network.nodeUrl ?? chunkQRYVPUVY_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 =
|
|
572
|
+
const xAllocationVotingContract = chunkQRYVPUVY_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:
|
|
596
|
+
nodeUrl: chunkQRYVPUVY_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 =
|
|
667
|
+
const x2EarnAppsContract = chunkQRYVPUVY_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 =
|
|
750
|
+
const X2EARNAPPS_CONTRACT = chunkQRYVPUVY_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 =
|
|
778
|
+
const url = chunkQRYVPUVY_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 =
|
|
810
|
+
const ALLOCATION_VOTING_CONTRACT = chunkQRYVPUVY_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:
|
|
821
|
+
contractAddress: chunkQRYVPUVY_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 =
|
|
832
|
+
const ALLOCATION_VOTING_CONTRACT = chunkQRYVPUVY_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:
|
|
846
|
+
contractAddress: chunkQRYVPUVY_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 =
|
|
920
|
+
const allocationPoolContract = chunkQRYVPUVY_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 =
|
|
977
|
+
const galaxyMemberContract = chunkQRYVPUVY_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 =
|
|
1000
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1032
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1059
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1070
|
+
const newUri = chunkQRYVPUVY_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(
|
|
1094
|
+
const response = await fetch(chunkQRYVPUVY_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:
|
|
1126
|
+
mediaType: chunkQRYVPUVY_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 =
|
|
1282
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1299
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1315
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1330
|
+
const contractAddress = chunkQRYVPUVY_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 ||
|
|
1415
|
-
const nftName = nftMetadata?.name ||
|
|
1414
|
+
const gmImage = gmNftImage?.image || imageData?.image || chunkQRYVPUVY_cjs.gmNfts[Number(gmLevel) - 1]?.image || chunkQRYVPUVY_cjs.notFoundImage;
|
|
1415
|
+
const nftName = nftMetadata?.name || chunkQRYVPUVY_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 =
|
|
1443
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1458
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1490
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
1507
|
+
const contractAddress = chunkQRYVPUVY_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(
|
|
1539
|
+
const gmLevelMap = new Map(chunkQRYVPUVY_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(
|
|
1560
|
+
const res = await thor.account(chunkQRYVPUVY_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 =
|
|
1578
|
+
const emissionsContract = chunkQRYVPUVY_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 =
|
|
1616
|
+
const xAllocationVotingContract = chunkQRYVPUVY_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 =
|
|
1640
|
+
const xAllocationVotingContract = chunkQRYVPUVY_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 =
|
|
1661
|
+
const xAllocationVotingContract = chunkQRYVPUVY_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:
|
|
1676
|
+
nodeUrl: chunkQRYVPUVY_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 =
|
|
1746
|
+
const blockTime = chunkQRYVPUVY_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 =
|
|
1825
|
+
const xAllocationPoolContract = chunkQRYVPUVY_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 =
|
|
1873
|
+
const xAllocationPoolContract = chunkQRYVPUVY_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:
|
|
1909
|
+
to: chunkQRYVPUVY_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" :
|
|
1980
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_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 =
|
|
1996
|
+
const x2EarnRewardsPoolContract = chunkQRYVPUVY_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 =
|
|
2013
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2035
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2055
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2075
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2095
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2116
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
2160
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2180
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2217
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2239
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2266
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2283
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2305
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 (
|
|
2315
|
+
if (chunkQRYVPUVY_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 =
|
|
2330
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2352
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2374
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2401
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2424
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2448
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2501
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2537
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2559
|
+
const veBetterPassportContractAddress = chunkQRYVPUVY_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 =
|
|
2572
|
+
const contractAddress = chunkQRYVPUVY_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 =
|
|
2604
|
+
const contractAddress = chunkQRYVPUVY_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:
|
|
2659
|
+
to: chunkQRYVPUVY_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 =
|
|
2694
|
+
const contractAddress = chunkQRYVPUVY_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(
|
|
2708
|
+
const res = await thor.account(chunkQRYVPUVY_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" :
|
|
2712
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_cjs.humanNumber(scaled);
|
|
2713
2713
|
return {
|
|
2714
2714
|
original,
|
|
2715
2715
|
scaled,
|
|
@@ -2755,7 +2755,7 @@ var useFetchAppInfo = (appIds) => {
|
|
|
2755
2755
|
return Object.fromEntries(
|
|
2756
2756
|
results.map((result, index) => {
|
|
2757
2757
|
const id = normalizedIds[index];
|
|
2758
|
-
const defaultApp =
|
|
2758
|
+
const defaultApp = chunkQRYVPUVY_cjs.DEFAULT_PRIVY_ECOSYSTEM_APPS.find(
|
|
2759
2759
|
(app) => app.id === id
|
|
2760
2760
|
);
|
|
2761
2761
|
return [
|
|
@@ -2813,49 +2813,56 @@ var fetchVechainDomain = async (thor, networkType, addressOrDomain) => {
|
|
|
2813
2813
|
return {
|
|
2814
2814
|
address: void 0,
|
|
2815
2815
|
domain: void 0,
|
|
2816
|
-
isValidAddressOrDomain: false
|
|
2816
|
+
isValidAddressOrDomain: false,
|
|
2817
|
+
isPrimaryDomain: false
|
|
2817
2818
|
};
|
|
2818
2819
|
}
|
|
2819
|
-
|
|
2820
|
-
if (isValidAddress2) {
|
|
2820
|
+
if (ethers.isAddress(addressOrDomain)) {
|
|
2821
2821
|
try {
|
|
2822
|
-
const res = await thor.account(
|
|
2822
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).vnsResolverAddress).method(getNamesABI).call([addressOrDomain]);
|
|
2823
2823
|
const domainName = res.decoded.names?.[0];
|
|
2824
2824
|
return {
|
|
2825
2825
|
address: addressOrDomain,
|
|
2826
2826
|
domain: domainName || void 0,
|
|
2827
|
-
isValidAddressOrDomain: true
|
|
2827
|
+
isValidAddressOrDomain: true,
|
|
2828
|
+
isPrimaryDomain: true
|
|
2828
2829
|
};
|
|
2829
2830
|
} catch (err) {
|
|
2830
2831
|
console.error("Error getting domain: ", err);
|
|
2831
2832
|
return {
|
|
2832
2833
|
address: addressOrDomain,
|
|
2833
2834
|
domain: void 0,
|
|
2834
|
-
isValidAddressOrDomain: true
|
|
2835
|
+
isValidAddressOrDomain: true,
|
|
2836
|
+
isPrimaryDomain: false
|
|
2835
2837
|
};
|
|
2836
2838
|
}
|
|
2837
2839
|
}
|
|
2838
2840
|
try {
|
|
2839
|
-
const res = await thor.account(
|
|
2841
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).vnsResolverAddress).method(getAddressesABI).call([addressOrDomain]);
|
|
2840
2842
|
const domainAddress = res.decoded.addresses?.[0];
|
|
2841
2843
|
if (domainAddress === "0x0000000000000000000000000000000000000000") {
|
|
2842
2844
|
return {
|
|
2843
2845
|
address: void 0,
|
|
2844
2846
|
domain: void 0,
|
|
2845
|
-
isValidAddressOrDomain: false
|
|
2847
|
+
isValidAddressOrDomain: false,
|
|
2848
|
+
isPrimaryDomain: false
|
|
2846
2849
|
};
|
|
2847
2850
|
}
|
|
2851
|
+
const primaryDomainRes = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).vnsResolverAddress).method(getNamesABI).call([domainAddress]);
|
|
2852
|
+
const primaryDomain = primaryDomainRes.decoded.names?.[0];
|
|
2848
2853
|
return {
|
|
2849
2854
|
address: domainAddress,
|
|
2850
2855
|
domain: addressOrDomain,
|
|
2851
|
-
isValidAddressOrDomain: true
|
|
2856
|
+
isValidAddressOrDomain: true,
|
|
2857
|
+
isPrimaryDomain: primaryDomain === addressOrDomain
|
|
2852
2858
|
};
|
|
2853
2859
|
} catch (err) {
|
|
2854
2860
|
console.error("Error getting address: ", err);
|
|
2855
2861
|
return {
|
|
2856
2862
|
address: void 0,
|
|
2857
2863
|
domain: void 0,
|
|
2858
|
-
isValidAddressOrDomain: false
|
|
2864
|
+
isValidAddressOrDomain: false,
|
|
2865
|
+
isPrimaryDomain: false
|
|
2859
2866
|
};
|
|
2860
2867
|
}
|
|
2861
2868
|
};
|
|
@@ -2869,11 +2876,7 @@ var useVechainDomain = (addressOrDomain) => {
|
|
|
2869
2876
|
return reactQuery.useQuery({
|
|
2870
2877
|
queryKey: getVechainDomainQueryKey(addressOrDomain),
|
|
2871
2878
|
queryFn: () => fetchVechainDomain(thor, network.type, addressOrDomain),
|
|
2872
|
-
enabled: !!thor && !!addressOrDomain
|
|
2873
|
-
staleTime: 24 * 60 * 60 * 1e3,
|
|
2874
|
-
// 24 hours
|
|
2875
|
-
gcTime: 24 * 60 * 60 * 1e3
|
|
2876
|
-
// 24 hours
|
|
2879
|
+
enabled: !!thor && !!addressOrDomain
|
|
2877
2880
|
});
|
|
2878
2881
|
};
|
|
2879
2882
|
var MockENSInterface = chunk5GZ7N47F_cjs.MockENS__factory.createInterface();
|
|
@@ -2882,7 +2885,7 @@ var getEnsRecordExists = async (thor, network, name) => {
|
|
|
2882
2885
|
const labelHash = viem.keccak256(viem.toBytes(name));
|
|
2883
2886
|
const subnode = viem.keccak256(viem.concat([hashedNode, labelHash]));
|
|
2884
2887
|
const functionFragment2 = MockENSInterface.getFunction("recordExists").format("json");
|
|
2885
|
-
const res = await thor.account(
|
|
2888
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(network).vetDomainsContractAddress).method(JSON.parse(functionFragment2)).call(subnode);
|
|
2886
2889
|
if (res.reverted) throw new Error("Reverted");
|
|
2887
2890
|
return res.decoded[0];
|
|
2888
2891
|
};
|
|
@@ -2899,6 +2902,83 @@ var useEnsRecordExists = (name) => {
|
|
|
2899
2902
|
enabled: !!name
|
|
2900
2903
|
});
|
|
2901
2904
|
};
|
|
2905
|
+
var useRefreshMetadata = (domain, address) => {
|
|
2906
|
+
const queryClient = reactQuery.useQueryClient();
|
|
2907
|
+
const { network } = useVeChainKitConfig();
|
|
2908
|
+
const refresh = async () => {
|
|
2909
|
+
await queryClient.invalidateQueries({
|
|
2910
|
+
queryKey: getAvatarQueryKey(domain ?? "", network.type)
|
|
2911
|
+
});
|
|
2912
|
+
await queryClient.refetchQueries({
|
|
2913
|
+
queryKey: getAvatarQueryKey(domain ?? "", network.type)
|
|
2914
|
+
});
|
|
2915
|
+
await queryClient.invalidateQueries({
|
|
2916
|
+
queryKey: getTextRecordsQueryKey(domain, network.type)
|
|
2917
|
+
});
|
|
2918
|
+
await queryClient.refetchQueries({
|
|
2919
|
+
queryKey: getTextRecordsQueryKey(domain, network.type)
|
|
2920
|
+
});
|
|
2921
|
+
await queryClient.invalidateQueries({
|
|
2922
|
+
queryKey: getAvatarOfAddressQueryKey(address)
|
|
2923
|
+
});
|
|
2924
|
+
await queryClient.refetchQueries({
|
|
2925
|
+
queryKey: getAvatarOfAddressQueryKey(address)
|
|
2926
|
+
});
|
|
2927
|
+
};
|
|
2928
|
+
return { refresh };
|
|
2929
|
+
};
|
|
2930
|
+
|
|
2931
|
+
// src/hooks/api/vetDomains/utils/domainQueryUtils.ts
|
|
2932
|
+
var invalidateAndRefetchDomainQueries = async (queryClient, address, fullDomain, subdomain, domain, networkType) => {
|
|
2933
|
+
await Promise.all([
|
|
2934
|
+
queryClient.invalidateQueries({
|
|
2935
|
+
queryKey: getVechainDomainQueryKey(address)
|
|
2936
|
+
}),
|
|
2937
|
+
queryClient.invalidateQueries({
|
|
2938
|
+
queryKey: getVechainDomainQueryKey(fullDomain)
|
|
2939
|
+
}),
|
|
2940
|
+
queryClient.invalidateQueries({
|
|
2941
|
+
queryKey: getEnsRecordExistsQueryKey(subdomain)
|
|
2942
|
+
}),
|
|
2943
|
+
queryClient.invalidateQueries({
|
|
2944
|
+
queryKey: getDomainsOfAddressQueryKey(address, ".vet")
|
|
2945
|
+
}),
|
|
2946
|
+
queryClient.invalidateQueries({
|
|
2947
|
+
queryKey: getDomainsOfAddressQueryKey(address, ".veworld.vet")
|
|
2948
|
+
}),
|
|
2949
|
+
queryClient.invalidateQueries({
|
|
2950
|
+
queryKey: getTextRecordsQueryKey(fullDomain)
|
|
2951
|
+
})
|
|
2952
|
+
]);
|
|
2953
|
+
await Promise.all([
|
|
2954
|
+
queryClient.refetchQueries({
|
|
2955
|
+
queryKey: getVechainDomainQueryKey(address)
|
|
2956
|
+
}),
|
|
2957
|
+
queryClient.refetchQueries({
|
|
2958
|
+
queryKey: getVechainDomainQueryKey(fullDomain)
|
|
2959
|
+
}),
|
|
2960
|
+
queryClient.refetchQueries({
|
|
2961
|
+
queryKey: getDomainsOfAddressQueryKey(address, ".vet")
|
|
2962
|
+
}),
|
|
2963
|
+
queryClient.refetchQueries({
|
|
2964
|
+
queryKey: getDomainsOfAddressQueryKey(address, ".veworld.vet")
|
|
2965
|
+
}),
|
|
2966
|
+
queryClient.refetchQueries({
|
|
2967
|
+
queryKey: getAvatarQueryKey(subdomain + "." + domain, networkType)
|
|
2968
|
+
}),
|
|
2969
|
+
queryClient.refetchQueries({
|
|
2970
|
+
queryKey: getTextRecordsQueryKey(fullDomain)
|
|
2971
|
+
}),
|
|
2972
|
+
queryClient.refetchQueries({
|
|
2973
|
+
queryKey: getEnsRecordExistsQueryKey(subdomain)
|
|
2974
|
+
}),
|
|
2975
|
+
queryClient.refetchQueries({
|
|
2976
|
+
queryKey: getAvatarOfAddressQueryKey(address)
|
|
2977
|
+
})
|
|
2978
|
+
]);
|
|
2979
|
+
};
|
|
2980
|
+
|
|
2981
|
+
// src/hooks/api/vetDomains/useClaimVeWorldSubdomain.ts
|
|
2902
2982
|
var SubdomainClaimerInterface = chunk5GZ7N47F_cjs.SubdomainClaimer__factory.createInterface();
|
|
2903
2983
|
var ReverseRegistrarInterface = chunk5GZ7N47F_cjs.IReverseRegistrar__factory.createInterface();
|
|
2904
2984
|
var useClaimVeWorldSubdomain = ({
|
|
@@ -2911,102 +2991,209 @@ var useClaimVeWorldSubdomain = ({
|
|
|
2911
2991
|
const queryClient = reactQuery.useQueryClient();
|
|
2912
2992
|
const { account } = useWallet();
|
|
2913
2993
|
const { network } = useVeChainKitConfig();
|
|
2994
|
+
const { refresh: refreshMetadata } = useRefreshMetadata(
|
|
2995
|
+
subdomain + "." + domain,
|
|
2996
|
+
account?.address ?? ""
|
|
2997
|
+
);
|
|
2914
2998
|
const buildClauses = React10.useCallback(async () => {
|
|
2915
|
-
if (!subdomain) throw new Error("Invalid subdomain");
|
|
2916
2999
|
const clausesArray = [];
|
|
3000
|
+
if (!subdomain) throw new Error("Invalid subdomain");
|
|
3001
|
+
const fullDomain = `${subdomain}.${domain}`;
|
|
2917
3002
|
clausesArray.push({
|
|
2918
|
-
to:
|
|
3003
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
2919
3004
|
value: "0x0",
|
|
2920
3005
|
data: ReverseRegistrarInterface.encodeFunctionData("setName", [""]),
|
|
2921
|
-
comment: `Unsetting your current VeChain nickname of the account ${
|
|
3006
|
+
comment: `Unsetting your current VeChain nickname of the account ${chunkQRYVPUVY_cjs.humanAddress(
|
|
2922
3007
|
account?.address ?? "",
|
|
2923
3008
|
4,
|
|
2924
3009
|
4
|
|
2925
3010
|
)}`,
|
|
2926
3011
|
abi: ReverseRegistrarInterface.getFunction("setName")
|
|
2927
3012
|
});
|
|
2928
|
-
if (
|
|
3013
|
+
if (alreadyOwned) {
|
|
3014
|
+
clausesArray.push({
|
|
3015
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
3016
|
+
value: "0x0",
|
|
3017
|
+
data: ReverseRegistrarInterface.encodeFunctionData("setName", [
|
|
3018
|
+
fullDomain
|
|
3019
|
+
]),
|
|
3020
|
+
comment: `Setting your VeChain nickname to ${fullDomain}`,
|
|
3021
|
+
abi: ReverseRegistrarInterface.getFunction("setName")
|
|
3022
|
+
});
|
|
3023
|
+
const PublicResolverInterface = new ethers.ethers.Interface([
|
|
3024
|
+
"function setAddr(bytes32 node, address addr)"
|
|
3025
|
+
]);
|
|
3026
|
+
const domainNode = ethers.ethers.namehash(fullDomain);
|
|
2929
3027
|
clausesArray.push({
|
|
2930
|
-
to:
|
|
3028
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsPublicResolverAddress,
|
|
2931
3029
|
value: "0x0",
|
|
2932
|
-
data:
|
|
2933
|
-
|
|
2934
|
-
|
|
3030
|
+
data: PublicResolverInterface.encodeFunctionData("setAddr", [
|
|
3031
|
+
domainNode,
|
|
3032
|
+
account?.address || ""
|
|
2935
3033
|
]),
|
|
2936
|
-
comment: `
|
|
2937
|
-
|
|
3034
|
+
comment: `Setting the address for ${fullDomain} to ${chunkQRYVPUVY_cjs.humanAddress(
|
|
3035
|
+
account?.address ?? "",
|
|
3036
|
+
4,
|
|
3037
|
+
4
|
|
3038
|
+
)}`,
|
|
3039
|
+
abi: PublicResolverInterface.getFunction("setAddr")
|
|
2938
3040
|
});
|
|
3041
|
+
} else {
|
|
3042
|
+
if (isVeWorldDomain(domain)) {
|
|
3043
|
+
clausesArray.push({
|
|
3044
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).veWorldSubdomainClaimerContractAddress,
|
|
3045
|
+
value: "0x0",
|
|
3046
|
+
data: SubdomainClaimerInterface.encodeFunctionData(
|
|
3047
|
+
"claim",
|
|
3048
|
+
[
|
|
3049
|
+
subdomain,
|
|
3050
|
+
chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsPublicResolverAddress
|
|
3051
|
+
]
|
|
3052
|
+
),
|
|
3053
|
+
comment: `Claim VeChain subdomain: ${subdomain}.${domain}`,
|
|
3054
|
+
abi: SubdomainClaimerInterface.getFunction("claim")
|
|
3055
|
+
});
|
|
3056
|
+
clausesArray.push({
|
|
3057
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
3058
|
+
value: "0x0",
|
|
3059
|
+
data: ReverseRegistrarInterface.encodeFunctionData(
|
|
3060
|
+
"setName",
|
|
3061
|
+
[subdomain + "." + domain]
|
|
3062
|
+
),
|
|
3063
|
+
comment: `Set ${subdomain}.${domain} as the VeChain nickname of the account ${chunkQRYVPUVY_cjs.humanAddress(
|
|
3064
|
+
account?.address ?? "",
|
|
3065
|
+
4,
|
|
3066
|
+
4
|
|
3067
|
+
)}`,
|
|
3068
|
+
abi: ReverseRegistrarInterface.getFunction("setName")
|
|
3069
|
+
});
|
|
3070
|
+
} else {
|
|
3071
|
+
throw new Error(
|
|
3072
|
+
"This hook only supports .veworld.vet subdomains"
|
|
3073
|
+
);
|
|
3074
|
+
}
|
|
2939
3075
|
}
|
|
2940
|
-
clausesArray.push({
|
|
2941
|
-
to: chunkDBQR2OKX_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
2942
|
-
value: "0x0",
|
|
2943
|
-
data: ReverseRegistrarInterface.encodeFunctionData("setName", [
|
|
2944
|
-
subdomain + "." + domain
|
|
2945
|
-
]),
|
|
2946
|
-
comment: `Set ${subdomain}.${domain} as the VeChain nickname of the account ${chunkDBQR2OKX_cjs.humanAddress(
|
|
2947
|
-
account?.address ?? "",
|
|
2948
|
-
4,
|
|
2949
|
-
4
|
|
2950
|
-
)}`,
|
|
2951
|
-
abi: ReverseRegistrarInterface.getFunction("setName")
|
|
2952
|
-
});
|
|
2953
3076
|
return clausesArray;
|
|
2954
|
-
}, [subdomain, domain, account?.address,
|
|
3077
|
+
}, [subdomain, domain, alreadyOwned, account?.address, network.type]);
|
|
2955
3078
|
const handleOnSuccess = React10.useCallback(async () => {
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
3079
|
+
const fullDomain = `${subdomain}.${domain}`;
|
|
3080
|
+
const address = account?.address ?? "";
|
|
3081
|
+
await invalidateAndRefetchDomainQueries(
|
|
3082
|
+
queryClient,
|
|
3083
|
+
address,
|
|
3084
|
+
fullDomain,
|
|
3085
|
+
subdomain,
|
|
3086
|
+
domain,
|
|
3087
|
+
network.type
|
|
3088
|
+
);
|
|
3089
|
+
refreshMetadata();
|
|
3090
|
+
onSuccess?.();
|
|
3091
|
+
}, [
|
|
3092
|
+
onSuccess,
|
|
3093
|
+
subdomain,
|
|
3094
|
+
domain,
|
|
3095
|
+
queryClient,
|
|
3096
|
+
account,
|
|
3097
|
+
network.type,
|
|
3098
|
+
refreshMetadata
|
|
3099
|
+
]);
|
|
3100
|
+
const result = useSendTransaction({
|
|
3101
|
+
signerAccountAddress: account?.address ?? "",
|
|
3102
|
+
privyUIOptions: {
|
|
3103
|
+
title: "Sign to claim your VeChain nickname",
|
|
3104
|
+
description: `Claim ${subdomain}.${domain} as your VeChain nickname`,
|
|
3105
|
+
buttonText: "Sign to continue"
|
|
3106
|
+
},
|
|
3107
|
+
onTxConfirmed: handleOnSuccess,
|
|
3108
|
+
onTxFailedOrCancelled: onError
|
|
3109
|
+
});
|
|
3110
|
+
return {
|
|
3111
|
+
...result,
|
|
3112
|
+
sendTransaction: async () => {
|
|
3113
|
+
return result.sendTransaction(await buildClauses());
|
|
3114
|
+
}
|
|
3115
|
+
};
|
|
3116
|
+
};
|
|
3117
|
+
var isVeWorldDomain = (domain) => {
|
|
3118
|
+
return domain.endsWith("veworld.vet");
|
|
3119
|
+
};
|
|
3120
|
+
var ReverseRegistrarInterface2 = chunk5GZ7N47F_cjs.IReverseRegistrar__factory.createInterface();
|
|
3121
|
+
var useClaimVetDomain = ({
|
|
3122
|
+
domain,
|
|
3123
|
+
onSuccess,
|
|
3124
|
+
onError,
|
|
3125
|
+
alreadyOwned = false
|
|
3126
|
+
}) => {
|
|
3127
|
+
const queryClient = reactQuery.useQueryClient();
|
|
3128
|
+
const { account } = useWallet();
|
|
3129
|
+
const { network } = useVeChainKitConfig();
|
|
3130
|
+
const { refresh: refreshMetadata } = useRefreshMetadata(
|
|
3131
|
+
domain,
|
|
3132
|
+
account?.address ?? ""
|
|
3133
|
+
);
|
|
3134
|
+
const buildClauses = React10.useCallback(async () => {
|
|
3135
|
+
const clausesArray = [];
|
|
3136
|
+
if (!domain) throw new Error("Invalid domain");
|
|
3137
|
+
const fullDomain = `${domain}.vet`;
|
|
3138
|
+
if (alreadyOwned) {
|
|
3139
|
+
clausesArray.push({
|
|
3140
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
3141
|
+
value: "0x0",
|
|
3142
|
+
data: ReverseRegistrarInterface2.encodeFunctionData("setName", [
|
|
3143
|
+
fullDomain
|
|
3144
|
+
]),
|
|
3145
|
+
comment: `Setting your VeChain nickname to ${fullDomain}`,
|
|
3146
|
+
abi: ReverseRegistrarInterface2.getFunction("setName")
|
|
2995
3147
|
});
|
|
2996
|
-
|
|
2997
|
-
|
|
3148
|
+
const PublicResolverInterface = new ethers.ethers.Interface([
|
|
3149
|
+
"function setAddr(bytes32 node, address addr)"
|
|
3150
|
+
]);
|
|
3151
|
+
const domainNode = ethers.ethers.namehash(fullDomain);
|
|
3152
|
+
clausesArray.push({
|
|
3153
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsPublicResolverAddress,
|
|
3154
|
+
value: "0x0",
|
|
3155
|
+
data: PublicResolverInterface.encodeFunctionData("setAddr", [
|
|
3156
|
+
domainNode,
|
|
3157
|
+
account?.address || ""
|
|
3158
|
+
]),
|
|
3159
|
+
comment: `Setting the address for ${fullDomain} to ${chunkQRYVPUVY_cjs.humanAddress(
|
|
2998
3160
|
account?.address ?? "",
|
|
2999
|
-
|
|
3000
|
-
|
|
3161
|
+
4,
|
|
3162
|
+
4
|
|
3163
|
+
)}`,
|
|
3164
|
+
abi: PublicResolverInterface.getFunction("setAddr")
|
|
3001
3165
|
});
|
|
3002
|
-
}
|
|
3166
|
+
} else {
|
|
3167
|
+
throw new Error("Primary .vet domains are not supported yet");
|
|
3168
|
+
}
|
|
3169
|
+
return clausesArray;
|
|
3170
|
+
}, [domain, alreadyOwned, account?.address, network.type]);
|
|
3171
|
+
const handleOnSuccess = React10.useCallback(async () => {
|
|
3172
|
+
const address = account?.address ?? "";
|
|
3173
|
+
await invalidateAndRefetchDomainQueries(
|
|
3174
|
+
queryClient,
|
|
3175
|
+
address,
|
|
3176
|
+
domain,
|
|
3177
|
+
"",
|
|
3178
|
+
// No subdomain for primary domains
|
|
3179
|
+
domain.endsWith(".vet") ? domain : `${domain}.vet`,
|
|
3180
|
+
network.type
|
|
3181
|
+
);
|
|
3182
|
+
refreshMetadata();
|
|
3003
3183
|
onSuccess?.();
|
|
3004
|
-
}, [
|
|
3184
|
+
}, [
|
|
3185
|
+
onSuccess,
|
|
3186
|
+
domain,
|
|
3187
|
+
queryClient,
|
|
3188
|
+
account,
|
|
3189
|
+
network.type,
|
|
3190
|
+
refreshMetadata
|
|
3191
|
+
]);
|
|
3005
3192
|
const result = useSendTransaction({
|
|
3006
3193
|
signerAccountAddress: account?.address ?? "",
|
|
3007
3194
|
privyUIOptions: {
|
|
3008
3195
|
title: "Sign to claim your VeChain nickname",
|
|
3009
|
-
description: `Claim ${
|
|
3196
|
+
description: `Claim ${domain} as your VeChain nickname`,
|
|
3010
3197
|
buttonText: "Sign to continue"
|
|
3011
3198
|
},
|
|
3012
3199
|
onTxConfirmed: handleOnSuccess,
|
|
@@ -3026,7 +3213,7 @@ var method34 = "isDomainProtected";
|
|
|
3026
3213
|
var getIsDomainProtectedQueryKey = (domain) => getCallKey({ method: method34, keyArgs: [domain] });
|
|
3027
3214
|
var useIsDomainProtected = (domain, enabled = true) => {
|
|
3028
3215
|
const { network } = useVeChainKitConfig();
|
|
3029
|
-
const contractAddress =
|
|
3216
|
+
const contractAddress = chunkQRYVPUVY_cjs.getConfig(
|
|
3030
3217
|
network.type
|
|
3031
3218
|
).veWorldSubdomainClaimerContractAddress;
|
|
3032
3219
|
return useCall({
|
|
@@ -3046,7 +3233,7 @@ var DomainsResponseSchema = zod.z.object({
|
|
|
3046
3233
|
});
|
|
3047
3234
|
var getDomainsOfAddress = async (networkType, address, parentDomain = "vet") => {
|
|
3048
3235
|
if (!address) throw new Error("Address is required");
|
|
3049
|
-
const graphQlIndexerUrl =
|
|
3236
|
+
const graphQlIndexerUrl = chunkQRYVPUVY_cjs.getConfig(networkType).graphQlIndexerUrl;
|
|
3050
3237
|
const query = `query Registrations {
|
|
3051
3238
|
domains(
|
|
3052
3239
|
where: {owner: "${address.toLowerCase()}", parent_: {name: "${parentDomain}"}}
|
|
@@ -3081,173 +3268,48 @@ var useGetDomainsOfAddress = (address, parentDomain) => {
|
|
|
3081
3268
|
enabled: !!address && !!network.type
|
|
3082
3269
|
});
|
|
3083
3270
|
};
|
|
3084
|
-
var
|
|
3085
|
-
"function resolver(bytes32 node) returns (address resolverAddress)",
|
|
3086
|
-
"function text(bytes32 node, string key) returns (string avatar)"
|
|
3087
|
-
]);
|
|
3088
|
-
var erc721Interface = new ethers.Interface([
|
|
3089
|
-
"function tokenURI(uint256 tokenId) view returns (string)",
|
|
3090
|
-
"function uri(uint256 id) view returns (string)"
|
|
3091
|
-
]);
|
|
3092
|
-
var getAvatar = async (networkType, nodeUrl, name) => {
|
|
3271
|
+
var getAvatar = async (name, networkType) => {
|
|
3093
3272
|
if (!name) throw new Error("Name is required");
|
|
3094
|
-
const node = ethers.namehash(name);
|
|
3095
3273
|
try {
|
|
3096
|
-
const
|
|
3097
|
-
|
|
3098
|
-
headers: {
|
|
3099
|
-
"content-type": "application/json"
|
|
3100
|
-
},
|
|
3101
|
-
body: JSON.stringify({
|
|
3102
|
-
clauses: [
|
|
3103
|
-
{
|
|
3104
|
-
to: chunkDBQR2OKX_cjs.getConfig(networkType).vetDomainsContractAddress,
|
|
3105
|
-
data: nameInterface.encodeFunctionData("resolver", [
|
|
3106
|
-
node
|
|
3107
|
-
])
|
|
3108
|
-
}
|
|
3109
|
-
]
|
|
3110
|
-
})
|
|
3111
|
-
});
|
|
3112
|
-
const [{ data: resolverData, reverted: noResolver }] = await resolverResponse.json();
|
|
3113
|
-
if (noResolver) {
|
|
3114
|
-
return null;
|
|
3115
|
-
}
|
|
3116
|
-
const { resolverAddress } = nameInterface.decodeFunctionResult(
|
|
3117
|
-
"resolver",
|
|
3118
|
-
resolverData
|
|
3274
|
+
const response = await fetch(
|
|
3275
|
+
`${chunkQRYVPUVY_cjs.getConfig(networkType).vetDomainAvatarUrl}/${name}`
|
|
3119
3276
|
);
|
|
3120
|
-
|
|
3121
|
-
method: "POST",
|
|
3122
|
-
headers: {
|
|
3123
|
-
"content-type": "application/json"
|
|
3124
|
-
},
|
|
3125
|
-
body: JSON.stringify({
|
|
3126
|
-
clauses: [
|
|
3127
|
-
{
|
|
3128
|
-
to: resolverAddress,
|
|
3129
|
-
data: nameInterface.encodeFunctionData("text", [
|
|
3130
|
-
node,
|
|
3131
|
-
"avatar"
|
|
3132
|
-
])
|
|
3133
|
-
}
|
|
3134
|
-
]
|
|
3135
|
-
})
|
|
3136
|
-
});
|
|
3137
|
-
const [{ data: lookupData, reverted: noLookup }] = await avatarResponse.json();
|
|
3138
|
-
if (noLookup || lookupData === "0x") {
|
|
3139
|
-
return null;
|
|
3140
|
-
}
|
|
3141
|
-
try {
|
|
3142
|
-
const { avatar } = nameInterface.decodeFunctionResult(
|
|
3143
|
-
"text",
|
|
3144
|
-
lookupData
|
|
3145
|
-
);
|
|
3146
|
-
return avatar === "" ? null : avatar;
|
|
3147
|
-
} catch (decodeError) {
|
|
3148
|
-
console.error("Failed to decode avatar data:", decodeError);
|
|
3277
|
+
if (!response.ok) {
|
|
3149
3278
|
return null;
|
|
3150
3279
|
}
|
|
3280
|
+
const blob = await response.blob();
|
|
3281
|
+
return new Promise((resolve) => {
|
|
3282
|
+
const reader = new FileReader();
|
|
3283
|
+
reader.readAsDataURL(blob);
|
|
3284
|
+
reader.onloadend = () => {
|
|
3285
|
+
resolve(reader.result);
|
|
3286
|
+
};
|
|
3287
|
+
});
|
|
3151
3288
|
} catch (error) {
|
|
3152
3289
|
console.error("Error fetching avatar:", error);
|
|
3153
|
-
|
|
3290
|
+
return null;
|
|
3154
3291
|
}
|
|
3155
3292
|
};
|
|
3156
|
-
var getAvatarQueryKey = (name) => [
|
|
3293
|
+
var getAvatarQueryKey = (name, networkType) => [
|
|
3157
3294
|
"VECHAIN_KIT",
|
|
3158
3295
|
"VET_DOMAINS",
|
|
3159
3296
|
"AVATAR",
|
|
3160
|
-
name
|
|
3297
|
+
name,
|
|
3298
|
+
networkType
|
|
3161
3299
|
];
|
|
3162
|
-
async function parseAvatarRecord(record, networkType, nodeUrl) {
|
|
3163
|
-
try {
|
|
3164
|
-
if (record.startsWith("http") || record.startsWith("ipfs://") || record.startsWith("ar://")) {
|
|
3165
|
-
return chunkDBQR2OKX_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 = chunkDBQR2OKX_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 chunkDBQR2OKX_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
|
-
}
|
|
3232
3300
|
var useGetAvatar = (name) => {
|
|
3233
3301
|
const { network } = useVeChainKitConfig();
|
|
3234
|
-
const nodeUrl = network.nodeUrl ?? chunkDBQR2OKX_cjs.getConfig(network.type).nodeUrl;
|
|
3235
3302
|
const avatarQuery = reactQuery.useQuery({
|
|
3236
|
-
queryKey: getAvatarQueryKey(name ?? ""),
|
|
3303
|
+
queryKey: getAvatarQueryKey(name ?? "", network.type),
|
|
3237
3304
|
queryFn: async () => {
|
|
3238
3305
|
if (!name) return null;
|
|
3239
|
-
|
|
3240
|
-
if (!avatarRecord) return null;
|
|
3241
|
-
return parseAvatarRecord(avatarRecord, network.type, nodeUrl);
|
|
3306
|
+
return getAvatar(name, network.type);
|
|
3242
3307
|
},
|
|
3243
|
-
enabled: !!name && !!
|
|
3244
|
-
// Use the same caching strategy as the avatar query
|
|
3245
|
-
staleTime: 5 * 60 * 1e3
|
|
3246
|
-
// 5 minutes
|
|
3308
|
+
enabled: !!name && !!network.type
|
|
3247
3309
|
});
|
|
3248
3310
|
return avatarQuery;
|
|
3249
3311
|
};
|
|
3250
|
-
var
|
|
3312
|
+
var nameInterface = new ethers.Interface([
|
|
3251
3313
|
"function resolver(bytes32 node) returns (address resolverAddress)",
|
|
3252
3314
|
"function text(bytes32 node, string key) view returns (string)"
|
|
3253
3315
|
]);
|
|
@@ -3263,8 +3325,8 @@ var getTextRecords = async (nodeUrl, network, domain) => {
|
|
|
3263
3325
|
body: JSON.stringify({
|
|
3264
3326
|
clauses: [
|
|
3265
3327
|
{
|
|
3266
|
-
to:
|
|
3267
|
-
data:
|
|
3328
|
+
to: chunkQRYVPUVY_cjs.getConfig(network).vetDomainsContractAddress,
|
|
3329
|
+
data: nameInterface.encodeFunctionData("resolver", [
|
|
3268
3330
|
node
|
|
3269
3331
|
])
|
|
3270
3332
|
}
|
|
@@ -3275,7 +3337,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
|
|
|
3275
3337
|
if (noResolver) {
|
|
3276
3338
|
return {};
|
|
3277
3339
|
}
|
|
3278
|
-
const { resolverAddress } =
|
|
3340
|
+
const { resolverAddress } = nameInterface.decodeFunctionResult(
|
|
3279
3341
|
"resolver",
|
|
3280
3342
|
resolverData
|
|
3281
3343
|
);
|
|
@@ -3287,7 +3349,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
|
|
|
3287
3349
|
body: JSON.stringify({
|
|
3288
3350
|
clauses: ENS_TEXT_RECORDS.map((key) => ({
|
|
3289
3351
|
to: resolverAddress,
|
|
3290
|
-
data:
|
|
3352
|
+
data: nameInterface.encodeFunctionData("text", [node, key])
|
|
3291
3353
|
}))
|
|
3292
3354
|
})
|
|
3293
3355
|
});
|
|
@@ -3296,7 +3358,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
|
|
|
3296
3358
|
(acc, { data, reverted }, index) => {
|
|
3297
3359
|
if (!reverted && data && data !== "0x") {
|
|
3298
3360
|
try {
|
|
3299
|
-
const value =
|
|
3361
|
+
const value = nameInterface.decodeFunctionResult(
|
|
3300
3362
|
"text",
|
|
3301
3363
|
data
|
|
3302
3364
|
)[0];
|
|
@@ -3322,7 +3384,7 @@ var getTextRecords = async (nodeUrl, network, domain) => {
|
|
|
3322
3384
|
var getTextRecordsQueryKey = (domain, network) => ["VECHAIN_KIT_TEXT_RECORDS", domain, network];
|
|
3323
3385
|
var useGetTextRecords = (domain) => {
|
|
3324
3386
|
const { network } = useVeChainKitConfig();
|
|
3325
|
-
const nodeUrl = network.nodeUrl ??
|
|
3387
|
+
const nodeUrl = network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl;
|
|
3326
3388
|
return reactQuery.useQuery({
|
|
3327
3389
|
queryKey: getTextRecordsQueryKey(domain, network.type),
|
|
3328
3390
|
queryFn: () => getTextRecords(nodeUrl, network.type, domain),
|
|
@@ -3553,7 +3615,7 @@ var useSendTransaction = ({
|
|
|
3553
3615
|
};
|
|
3554
3616
|
|
|
3555
3617
|
// src/hooks/api/vetDomains/useUpdateTextRecord.ts
|
|
3556
|
-
var
|
|
3618
|
+
var nameInterface2 = new ethers.Interface([
|
|
3557
3619
|
"function resolver(bytes32 node) returns (address resolverAddress)",
|
|
3558
3620
|
"function setText(bytes32 node, string key, string value) external"
|
|
3559
3621
|
]);
|
|
@@ -3573,7 +3635,7 @@ var useUpdateTextRecord = ({
|
|
|
3573
3635
|
const node = ethers.namehash(domain);
|
|
3574
3636
|
clauses.push({
|
|
3575
3637
|
to: resolverAddress,
|
|
3576
|
-
data:
|
|
3638
|
+
data: nameInterface2.encodeFunctionData("setText", [
|
|
3577
3639
|
node,
|
|
3578
3640
|
key,
|
|
3579
3641
|
value
|
|
@@ -3582,98 +3644,308 @@ var useUpdateTextRecord = ({
|
|
|
3582
3644
|
comment: `Update ${key} record`
|
|
3583
3645
|
});
|
|
3584
3646
|
}
|
|
3585
|
-
return clauses;
|
|
3647
|
+
return clauses;
|
|
3648
|
+
},
|
|
3649
|
+
[resolverAddress]
|
|
3650
|
+
);
|
|
3651
|
+
const result = useSendTransaction({
|
|
3652
|
+
signerAccountAddress,
|
|
3653
|
+
onTxConfirmed: onSuccess,
|
|
3654
|
+
onTxFailedOrCancelled: async () => {
|
|
3655
|
+
onError?.();
|
|
3656
|
+
},
|
|
3657
|
+
privyUIOptions: {
|
|
3658
|
+
title: "Update Profile Information",
|
|
3659
|
+
description: "Update the profile information associated with your domain",
|
|
3660
|
+
buttonText: "Sign to continue"
|
|
3661
|
+
}
|
|
3662
|
+
});
|
|
3663
|
+
return {
|
|
3664
|
+
...result,
|
|
3665
|
+
sendTransaction: async (params) => {
|
|
3666
|
+
return result.sendTransaction(await buildClauses(params));
|
|
3667
|
+
}
|
|
3668
|
+
};
|
|
3669
|
+
};
|
|
3670
|
+
var nameInterface3 = new ethers.Interface([
|
|
3671
|
+
"function resolver(bytes32 node) returns (address resolverAddress)"
|
|
3672
|
+
]);
|
|
3673
|
+
var getResolverAddress = async (nodeUrl, network, domain) => {
|
|
3674
|
+
if (!domain) throw new Error("Domain is required");
|
|
3675
|
+
const node = ethers.namehash(domain);
|
|
3676
|
+
const resolverResponse = await fetch(`${nodeUrl}/accounts/*`, {
|
|
3677
|
+
method: "POST",
|
|
3678
|
+
headers: { "content-type": "application/json" },
|
|
3679
|
+
body: JSON.stringify({
|
|
3680
|
+
clauses: [
|
|
3681
|
+
{
|
|
3682
|
+
to: chunkQRYVPUVY_cjs.getConfig(network).vetDomainsContractAddress,
|
|
3683
|
+
data: nameInterface3.encodeFunctionData("resolver", [node])
|
|
3684
|
+
}
|
|
3685
|
+
]
|
|
3686
|
+
})
|
|
3687
|
+
});
|
|
3688
|
+
const [{ data: resolverData, reverted: noResolver }] = await resolverResponse.json();
|
|
3689
|
+
if (noResolver) throw new Error("Failed to get resolver address");
|
|
3690
|
+
const { resolverAddress } = nameInterface3.decodeFunctionResult(
|
|
3691
|
+
"resolver",
|
|
3692
|
+
resolverData
|
|
3693
|
+
);
|
|
3694
|
+
return resolverAddress;
|
|
3695
|
+
};
|
|
3696
|
+
var getResolverAddressQueryKey = (domain) => [
|
|
3697
|
+
"VECHAIN_KIT",
|
|
3698
|
+
"RESOLVER_ADDRESS",
|
|
3699
|
+
domain
|
|
3700
|
+
];
|
|
3701
|
+
var useGetResolverAddress = (domain) => {
|
|
3702
|
+
const { network } = useVeChainKitConfig();
|
|
3703
|
+
const nodeUrl = network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl;
|
|
3704
|
+
return reactQuery.useQuery({
|
|
3705
|
+
queryKey: getResolverAddressQueryKey(domain),
|
|
3706
|
+
queryFn: () => getResolverAddress(nodeUrl, network.type, domain),
|
|
3707
|
+
enabled: !!domain && !!nodeUrl && !!network.type
|
|
3708
|
+
});
|
|
3709
|
+
};
|
|
3710
|
+
var getAvatarOfAddressQueryKey = (address) => [
|
|
3711
|
+
"VECHAIN_KIT",
|
|
3712
|
+
"VET_DOMAINS",
|
|
3713
|
+
"AVATAR_OF_ADDRESS",
|
|
3714
|
+
address
|
|
3715
|
+
];
|
|
3716
|
+
var useGetAvatarOfAddress = (address) => {
|
|
3717
|
+
const domainsQuery = useVechainDomain(address);
|
|
3718
|
+
const primaryDomain = domainsQuery.data?.domain;
|
|
3719
|
+
const avatarQuery = useGetAvatar(primaryDomain ?? "");
|
|
3720
|
+
return reactQuery.useQuery({
|
|
3721
|
+
queryKey: getAvatarOfAddressQueryKey(address),
|
|
3722
|
+
queryFn: async () => {
|
|
3723
|
+
if (!address) return chunkQRYVPUVY_cjs.getPicassoImage(address ?? "");
|
|
3724
|
+
const domains = await domainsQuery.refetch();
|
|
3725
|
+
if (!domains.data?.domain) return chunkQRYVPUVY_cjs.getPicassoImage(address);
|
|
3726
|
+
if (domains.data.domain && avatarQuery.data)
|
|
3727
|
+
return avatarQuery.data;
|
|
3728
|
+
return chunkQRYVPUVY_cjs.getPicassoImage(address);
|
|
3729
|
+
},
|
|
3730
|
+
enabled: !!address && domainsQuery.isSuccess && (primaryDomain ? avatarQuery.isSuccess : true)
|
|
3731
|
+
});
|
|
3732
|
+
};
|
|
3733
|
+
var nameInterface4 = new ethers.Interface([
|
|
3734
|
+
"function resolver(bytes32 node) returns (address resolverAddress)",
|
|
3735
|
+
"function text(bytes32 node, string key) returns (string avatar)"
|
|
3736
|
+
]);
|
|
3737
|
+
var erc721Interface = new ethers.Interface([
|
|
3738
|
+
"function tokenURI(uint256 tokenId) view returns (string)",
|
|
3739
|
+
"function uri(uint256 id) view returns (string)"
|
|
3740
|
+
]);
|
|
3741
|
+
var getAvatarLegacy = async (networkType, nodeUrl, name) => {
|
|
3742
|
+
if (!name) throw new Error("Name is required");
|
|
3743
|
+
const node = ethers.namehash(name);
|
|
3744
|
+
try {
|
|
3745
|
+
const resolverResponse = await fetch(`${nodeUrl}/accounts/*`, {
|
|
3746
|
+
method: "POST",
|
|
3747
|
+
headers: {
|
|
3748
|
+
"content-type": "application/json"
|
|
3749
|
+
},
|
|
3750
|
+
body: JSON.stringify({
|
|
3751
|
+
clauses: [
|
|
3752
|
+
{
|
|
3753
|
+
to: chunkQRYVPUVY_cjs.getConfig(networkType).vetDomainsContractAddress,
|
|
3754
|
+
data: nameInterface4.encodeFunctionData("resolver", [
|
|
3755
|
+
node
|
|
3756
|
+
])
|
|
3757
|
+
}
|
|
3758
|
+
]
|
|
3759
|
+
})
|
|
3760
|
+
});
|
|
3761
|
+
const [{ data: resolverData, reverted: noResolver }] = await resolverResponse.json();
|
|
3762
|
+
if (noResolver) {
|
|
3763
|
+
return null;
|
|
3764
|
+
}
|
|
3765
|
+
const { resolverAddress } = nameInterface4.decodeFunctionResult(
|
|
3766
|
+
"resolver",
|
|
3767
|
+
resolverData
|
|
3768
|
+
);
|
|
3769
|
+
const avatarResponse = await fetch(`${nodeUrl}/accounts/*`, {
|
|
3770
|
+
method: "POST",
|
|
3771
|
+
headers: {
|
|
3772
|
+
"content-type": "application/json"
|
|
3773
|
+
},
|
|
3774
|
+
body: JSON.stringify({
|
|
3775
|
+
clauses: [
|
|
3776
|
+
{
|
|
3777
|
+
to: resolverAddress,
|
|
3778
|
+
data: nameInterface4.encodeFunctionData("text", [
|
|
3779
|
+
node,
|
|
3780
|
+
"avatar"
|
|
3781
|
+
])
|
|
3782
|
+
}
|
|
3783
|
+
]
|
|
3784
|
+
})
|
|
3785
|
+
});
|
|
3786
|
+
const [{ data: lookupData, reverted: noLookup }] = await avatarResponse.json();
|
|
3787
|
+
if (noLookup || lookupData === "0x") {
|
|
3788
|
+
return null;
|
|
3789
|
+
}
|
|
3790
|
+
try {
|
|
3791
|
+
const { avatar } = nameInterface4.decodeFunctionResult(
|
|
3792
|
+
"text",
|
|
3793
|
+
lookupData
|
|
3794
|
+
);
|
|
3795
|
+
const avatarRecord = avatar === "" ? null : avatar;
|
|
3796
|
+
if (!avatarRecord) return null;
|
|
3797
|
+
return parseAvatarRecord(avatarRecord, networkType, nodeUrl);
|
|
3798
|
+
} catch (decodeError) {
|
|
3799
|
+
console.error("Failed to decode avatar data:", decodeError);
|
|
3800
|
+
return null;
|
|
3801
|
+
}
|
|
3802
|
+
} catch (error) {
|
|
3803
|
+
console.error("Error fetching avatar:", error);
|
|
3804
|
+
throw error;
|
|
3805
|
+
}
|
|
3806
|
+
};
|
|
3807
|
+
var getAvatarLegacyQueryKey = (name, networkType) => ["VECHAIN_KIT", "VET_DOMAINS", "AVATAR", "LEGACY", name, networkType];
|
|
3808
|
+
async function parseAvatarRecord(record, networkType, nodeUrl) {
|
|
3809
|
+
try {
|
|
3810
|
+
if (record.startsWith("http") || record.startsWith("ipfs://") || record.startsWith("ar://")) {
|
|
3811
|
+
return chunkQRYVPUVY_cjs.convertUriToUrl(record, networkType) || null;
|
|
3812
|
+
}
|
|
3813
|
+
const match = record.match(
|
|
3814
|
+
/eip155:(\d+)\/(?:erc721|erc1155):([^/]+)\/(\d+)/
|
|
3815
|
+
);
|
|
3816
|
+
if (match) {
|
|
3817
|
+
const [, chainId, contractAddress, tokenId] = match;
|
|
3818
|
+
const isErc1155 = record.includes("erc1155");
|
|
3819
|
+
if (!chainId || !contractAddress || tokenId === void 0) {
|
|
3820
|
+
return null;
|
|
3821
|
+
}
|
|
3822
|
+
const clauses = [
|
|
3823
|
+
{
|
|
3824
|
+
to: contractAddress,
|
|
3825
|
+
data: erc721Interface.encodeFunctionData(
|
|
3826
|
+
isErc1155 ? "uri" : "tokenURI",
|
|
3827
|
+
[BigInt(tokenId)]
|
|
3828
|
+
)
|
|
3829
|
+
}
|
|
3830
|
+
];
|
|
3831
|
+
const [{ data, reverted }] = await fetch(`${nodeUrl}/accounts/*`, {
|
|
3832
|
+
method: "POST",
|
|
3833
|
+
headers: {
|
|
3834
|
+
"content-type": "application/json"
|
|
3835
|
+
},
|
|
3836
|
+
body: JSON.stringify({ clauses })
|
|
3837
|
+
}).then((res) => res.json());
|
|
3838
|
+
if (reverted) {
|
|
3839
|
+
console.error("Failed to fetch tokenURI");
|
|
3840
|
+
return null;
|
|
3841
|
+
}
|
|
3842
|
+
let tokenUri = "";
|
|
3843
|
+
try {
|
|
3844
|
+
tokenUri = erc721Interface.decodeFunctionResult(
|
|
3845
|
+
isErc1155 ? "uri" : "tokenURI",
|
|
3846
|
+
data
|
|
3847
|
+
)[0];
|
|
3848
|
+
} catch (e) {
|
|
3849
|
+
console.error("Failed to decode avatar data:", e);
|
|
3850
|
+
tokenUri = ethers.toUtf8String(data);
|
|
3851
|
+
}
|
|
3852
|
+
tokenUri = chunkQRYVPUVY_cjs.convertUriToUrl(tokenUri, networkType) || tokenUri;
|
|
3853
|
+
if (isErc1155) {
|
|
3854
|
+
tokenUri = tokenUri.replace(
|
|
3855
|
+
"{id}",
|
|
3856
|
+
ethers.zeroPadValue(ethers.toBeHex(BigInt(tokenId)), 32).slice(2)
|
|
3857
|
+
);
|
|
3858
|
+
}
|
|
3859
|
+
const metadataResponse = await fetch(tokenUri);
|
|
3860
|
+
if (!metadataResponse.ok) {
|
|
3861
|
+
console.error("Failed to fetch metadata");
|
|
3862
|
+
return null;
|
|
3863
|
+
}
|
|
3864
|
+
const metadata = await metadataResponse.json();
|
|
3865
|
+
const imageUrl = metadata.image || metadata.image_url || metadata.image_data;
|
|
3866
|
+
if (!imageUrl) {
|
|
3867
|
+
console.error("No image URL in metadata");
|
|
3868
|
+
return null;
|
|
3869
|
+
}
|
|
3870
|
+
return chunkQRYVPUVY_cjs.convertUriToUrl(imageUrl, networkType) || imageUrl;
|
|
3871
|
+
}
|
|
3872
|
+
return null;
|
|
3873
|
+
} catch (error) {
|
|
3874
|
+
console.error("Error parsing avatar record:", error);
|
|
3875
|
+
return null;
|
|
3876
|
+
}
|
|
3877
|
+
}
|
|
3878
|
+
var useGetAvatarLegacy = (name) => {
|
|
3879
|
+
const { network } = useVeChainKitConfig();
|
|
3880
|
+
const nodeUrl = network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl;
|
|
3881
|
+
const avatarQuery = reactQuery.useQuery({
|
|
3882
|
+
queryKey: getAvatarLegacyQueryKey(name ?? "", network.type),
|
|
3883
|
+
queryFn: async () => {
|
|
3884
|
+
if (!name) return null;
|
|
3885
|
+
return getAvatarLegacy(network.type, nodeUrl, name);
|
|
3586
3886
|
},
|
|
3587
|
-
|
|
3588
|
-
);
|
|
3887
|
+
enabled: !!name && !!nodeUrl && !!network.type
|
|
3888
|
+
});
|
|
3889
|
+
return avatarQuery;
|
|
3890
|
+
};
|
|
3891
|
+
var ReverseRegistrarInterface3 = chunk5GZ7N47F_cjs.IReverseRegistrar__factory.createInterface();
|
|
3892
|
+
var useUnsetDomain = ({
|
|
3893
|
+
onSuccess,
|
|
3894
|
+
onError
|
|
3895
|
+
}) => {
|
|
3896
|
+
const queryClient = reactQuery.useQueryClient();
|
|
3897
|
+
const { account } = useWallet();
|
|
3898
|
+
const { network } = useVeChainKitConfig();
|
|
3899
|
+
const buildClauses = React10.useCallback(async () => {
|
|
3900
|
+
const clausesArray = [];
|
|
3901
|
+
clausesArray.push({
|
|
3902
|
+
to: chunkQRYVPUVY_cjs.getConfig(network.type).vetDomainsReverseRegistrarAddress,
|
|
3903
|
+
value: "0x0",
|
|
3904
|
+
data: ReverseRegistrarInterface3.encodeFunctionData("setName", [""]),
|
|
3905
|
+
comment: `Unsetting your current VeChain nickname of the account ${chunkQRYVPUVY_cjs.humanAddress(
|
|
3906
|
+
account?.address ?? "",
|
|
3907
|
+
4,
|
|
3908
|
+
4
|
|
3909
|
+
)}`,
|
|
3910
|
+
abi: ReverseRegistrarInterface3.getFunction("setName")
|
|
3911
|
+
});
|
|
3912
|
+
return clausesArray;
|
|
3913
|
+
}, [account?.address, network.type]);
|
|
3914
|
+
const handleOnSuccess = React10.useCallback(async () => {
|
|
3915
|
+
const address = account?.address ?? "";
|
|
3916
|
+
await invalidateAndRefetchDomainQueries(
|
|
3917
|
+
queryClient,
|
|
3918
|
+
address,
|
|
3919
|
+
"",
|
|
3920
|
+
// No domain being set
|
|
3921
|
+
"",
|
|
3922
|
+
// No subdomain
|
|
3923
|
+
"",
|
|
3924
|
+
// No full domain
|
|
3925
|
+
network.type
|
|
3926
|
+
);
|
|
3927
|
+
onSuccess?.();
|
|
3928
|
+
}, [onSuccess, queryClient, account, network.type]);
|
|
3589
3929
|
const result = useSendTransaction({
|
|
3590
|
-
signerAccountAddress,
|
|
3591
|
-
onTxConfirmed: onSuccess,
|
|
3592
|
-
onTxFailedOrCancelled: async () => {
|
|
3593
|
-
onError?.();
|
|
3594
|
-
},
|
|
3930
|
+
signerAccountAddress: account?.address ?? "",
|
|
3595
3931
|
privyUIOptions: {
|
|
3596
|
-
title: "
|
|
3597
|
-
description: "
|
|
3932
|
+
title: "Sign to unset your VeChain nickname",
|
|
3933
|
+
description: "Unset your current VeChain nickname",
|
|
3598
3934
|
buttonText: "Sign to continue"
|
|
3599
|
-
}
|
|
3935
|
+
},
|
|
3936
|
+
onTxConfirmed: handleOnSuccess,
|
|
3937
|
+
onTxFailedOrCancelled: onError
|
|
3600
3938
|
});
|
|
3601
3939
|
return {
|
|
3602
3940
|
...result,
|
|
3603
|
-
sendTransaction: async (
|
|
3604
|
-
return result.sendTransaction(await buildClauses(
|
|
3941
|
+
sendTransaction: async () => {
|
|
3942
|
+
return result.sendTransaction(await buildClauses());
|
|
3605
3943
|
}
|
|
3606
3944
|
};
|
|
3607
3945
|
};
|
|
3608
|
-
var nameInterface4 = new ethers.Interface([
|
|
3609
|
-
"function resolver(bytes32 node) returns (address resolverAddress)"
|
|
3610
|
-
]);
|
|
3611
|
-
var getResolverAddress = async (nodeUrl, network, domain) => {
|
|
3612
|
-
if (!domain) throw new Error("Domain is required");
|
|
3613
|
-
const node = ethers.namehash(domain);
|
|
3614
|
-
const resolverResponse = await fetch(`${nodeUrl}/accounts/*`, {
|
|
3615
|
-
method: "POST",
|
|
3616
|
-
headers: { "content-type": "application/json" },
|
|
3617
|
-
body: JSON.stringify({
|
|
3618
|
-
clauses: [
|
|
3619
|
-
{
|
|
3620
|
-
to: chunkDBQR2OKX_cjs.getConfig(network).vetDomainsContractAddress,
|
|
3621
|
-
data: nameInterface4.encodeFunctionData("resolver", [node])
|
|
3622
|
-
}
|
|
3623
|
-
]
|
|
3624
|
-
})
|
|
3625
|
-
});
|
|
3626
|
-
const [{ data: resolverData, reverted: noResolver }] = await resolverResponse.json();
|
|
3627
|
-
if (noResolver) throw new Error("Failed to get resolver address");
|
|
3628
|
-
const { resolverAddress } = nameInterface4.decodeFunctionResult(
|
|
3629
|
-
"resolver",
|
|
3630
|
-
resolverData
|
|
3631
|
-
);
|
|
3632
|
-
return resolverAddress;
|
|
3633
|
-
};
|
|
3634
|
-
var getResolverAddressQueryKey = (domain) => [
|
|
3635
|
-
"VECHAIN_KIT",
|
|
3636
|
-
"RESOLVER_ADDRESS",
|
|
3637
|
-
domain
|
|
3638
|
-
];
|
|
3639
|
-
var useGetResolverAddress = (domain) => {
|
|
3640
|
-
const { network } = useVeChainKitConfig();
|
|
3641
|
-
const nodeUrl = network.nodeUrl ?? chunkDBQR2OKX_cjs.getConfig(network.type).nodeUrl;
|
|
3642
|
-
return reactQuery.useQuery({
|
|
3643
|
-
queryKey: getResolverAddressQueryKey(domain),
|
|
3644
|
-
queryFn: () => getResolverAddress(nodeUrl, network.type, domain),
|
|
3645
|
-
enabled: !!domain && !!nodeUrl && !!network.type
|
|
3646
|
-
});
|
|
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 chunkDBQR2OKX_cjs.getPicassoImage(address ?? "");
|
|
3662
|
-
const domains = await domainsQuery.refetch();
|
|
3663
|
-
if (!domains.data?.domain) return chunkDBQR2OKX_cjs.getPicassoImage(address);
|
|
3664
|
-
if (domains.data.domain && avatarQuery.data)
|
|
3665
|
-
return avatarQuery.data;
|
|
3666
|
-
return chunkDBQR2OKX_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
|
-
};
|
|
3674
3946
|
var useBalances = ({ address = "" }) => {
|
|
3675
3947
|
const { network } = useVeChainKitConfig();
|
|
3676
|
-
const config =
|
|
3948
|
+
const config = chunkQRYVPUVY_cjs.getConfig(network.type);
|
|
3677
3949
|
const { data: vetData, isLoading: vetLoading } = useAccountBalance(address);
|
|
3678
3950
|
const { data: vetUsdPrice, isLoading: vetUsdPriceLoading } = useGetTokenUsdPrice("VET");
|
|
3679
3951
|
const { data: vthoUsdPrice, isLoading: vthoUsdPriceLoading } = useGetTokenUsdPrice("VTHO");
|
|
@@ -3834,7 +4106,7 @@ var vechain = viem.defineChain({
|
|
|
3834
4106
|
});
|
|
3835
4107
|
var vechainConnector = () => {
|
|
3836
4108
|
return rainbowKit.toPrivyWalletConnector({
|
|
3837
|
-
id:
|
|
4109
|
+
id: chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID,
|
|
3838
4110
|
name: "VeChain",
|
|
3839
4111
|
iconUrl: "https://imagedelivery.net/oHBRUd2clqykxgDWmeAyLg/661dd77c-2f9d-40e7-baa1-f4e24fd7bf00/icon",
|
|
3840
4112
|
smartWalletMode: false
|
|
@@ -3889,7 +4161,7 @@ var usePrivyCrossAppSdk = () => {
|
|
|
3889
4161
|
setIsConnecting(true);
|
|
3890
4162
|
setConnectionError(null);
|
|
3891
4163
|
const connector = connectors.find(
|
|
3892
|
-
(c) => c.id === (appID ||
|
|
4164
|
+
(c) => c.id === (appID || chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID)
|
|
3893
4165
|
);
|
|
3894
4166
|
if (!connector) {
|
|
3895
4167
|
throw new Error("Connector not found");
|
|
@@ -3949,12 +4221,14 @@ var usePrivyCrossAppSdk = () => {
|
|
|
3949
4221
|
// src/hooks/api/wallet/useWalletMetadata.ts
|
|
3950
4222
|
var useWalletMetadata = (address, networkType) => {
|
|
3951
4223
|
const { data: domain, isLoading: isLoadingVechainDomain } = useVechainDomain(address ?? "");
|
|
3952
|
-
const { data: avatar, isLoading: isLoadingMetadata } =
|
|
4224
|
+
const { data: avatar, isLoading: isLoadingMetadata } = useGetAvatar(
|
|
4225
|
+
domain?.domain ?? ""
|
|
4226
|
+
);
|
|
3953
4227
|
const { data: textRecords, isLoading: isLoadingRecords } = useGetTextRecords(domain?.domain ?? "");
|
|
3954
|
-
const headerUrl = textRecords?.header ?
|
|
4228
|
+
const headerUrl = textRecords?.header ? chunkQRYVPUVY_cjs.convertUriToUrl(textRecords.header, networkType) : null;
|
|
3955
4229
|
return {
|
|
3956
4230
|
domain: domain?.domain,
|
|
3957
|
-
image: avatar,
|
|
4231
|
+
image: avatar ?? chunkQRYVPUVY_cjs.getPicassoImage(address ?? ""),
|
|
3958
4232
|
records: {
|
|
3959
4233
|
...textRecords,
|
|
3960
4234
|
header: headerUrl
|
|
@@ -3983,7 +4257,7 @@ var useWallet = () => {
|
|
|
3983
4257
|
const isConnectedWithDappKit = !!dappKitAccount;
|
|
3984
4258
|
const isConnectedWithSocialLogin = authenticated && !!user;
|
|
3985
4259
|
const isConnectedWithPrivy = isConnectedWithSocialLogin || isConnectedWithCrossApp;
|
|
3986
|
-
const isConnectedWithVeChain = isConnectedWithSocialLogin && privy?.appId ===
|
|
4260
|
+
const isConnectedWithVeChain = isConnectedWithSocialLogin && privy?.appId === chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID || isConnectedWithCrossApp && connectionCache?.ecosystemApp?.appId === chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID;
|
|
3987
4261
|
const isLoading = isConnectingWithCrossApp || isReconnectingWithCrossApp || isLoadingLoginOAuth || !ready;
|
|
3988
4262
|
const [isConnected, setIsConnected] = React10.useState(false);
|
|
3989
4263
|
const connectionSource = isConnectedWithCrossApp ? {
|
|
@@ -4019,10 +4293,9 @@ var useWallet = () => {
|
|
|
4019
4293
|
const connectedWalletAddress = isConnectedWithDappKit ? dappKitAccount : isConnectedWithCrossApp ? crossAppAddress : privyEmbeddedWalletAddress;
|
|
4020
4294
|
const { data: smartAccount } = useSmartAccount(connectedWalletAddress);
|
|
4021
4295
|
const activeAddress = isConnectedWithDappKit ? dappKitAccount : smartAccount?.address;
|
|
4022
|
-
const
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
activeAccountDomain?.data?.domain
|
|
4296
|
+
const activeAccountMetadata = useWalletMetadata(
|
|
4297
|
+
activeAddress ?? "",
|
|
4298
|
+
network.type
|
|
4026
4299
|
);
|
|
4027
4300
|
const connectedMetadata = useWalletMetadata(
|
|
4028
4301
|
connectedWalletAddress ?? "",
|
|
@@ -4034,10 +4307,10 @@ var useWallet = () => {
|
|
|
4034
4307
|
);
|
|
4035
4308
|
const account = activeAddress ? {
|
|
4036
4309
|
address: activeAddress,
|
|
4037
|
-
domain:
|
|
4038
|
-
image:
|
|
4039
|
-
isLoadingMetadata:
|
|
4040
|
-
metadata:
|
|
4310
|
+
domain: activeAccountMetadata.domain,
|
|
4311
|
+
image: activeAccountMetadata.image,
|
|
4312
|
+
isLoadingMetadata: activeAccountMetadata.isLoading,
|
|
4313
|
+
metadata: activeAccountMetadata.records
|
|
4041
4314
|
} : null;
|
|
4042
4315
|
const connectedWallet = connectedWalletAddress ? {
|
|
4043
4316
|
address: connectedWalletAddress,
|
|
@@ -4049,7 +4322,7 @@ var useWallet = () => {
|
|
|
4049
4322
|
const { data: smartAccountVersion } = useSmartAccountVersion(
|
|
4050
4323
|
smartAccount?.address ?? ""
|
|
4051
4324
|
);
|
|
4052
|
-
const hasActiveSmartAccount = !!smartAccount?.address && !!account?.address &&
|
|
4325
|
+
const hasActiveSmartAccount = !!smartAccount?.address && !!account?.address && chunkQRYVPUVY_cjs.compareAddresses(smartAccount?.address, account?.address);
|
|
4053
4326
|
const disconnect = React10.useCallback(async () => {
|
|
4054
4327
|
try {
|
|
4055
4328
|
setIsConnected(false);
|
|
@@ -4173,17 +4446,17 @@ var useCustomTokens = () => {
|
|
|
4173
4446
|
};
|
|
4174
4447
|
const isTokenIncluded = (address) => {
|
|
4175
4448
|
return customTokens.some(
|
|
4176
|
-
(t) =>
|
|
4449
|
+
(t) => chunkQRYVPUVY_cjs.compareAddresses(t.address, address)
|
|
4177
4450
|
);
|
|
4178
4451
|
};
|
|
4179
4452
|
const isDefaultToken = (address) => {
|
|
4180
4453
|
const contractAddresses = {
|
|
4181
4454
|
vet: "0x",
|
|
4182
4455
|
// VET has no contract address since it's the native token
|
|
4183
|
-
vtho:
|
|
4184
|
-
b3tr:
|
|
4185
|
-
vot3:
|
|
4186
|
-
veDelegate:
|
|
4456
|
+
vtho: chunkQRYVPUVY_cjs.getConfig(network.type).vthoContractAddress,
|
|
4457
|
+
b3tr: chunkQRYVPUVY_cjs.getConfig(network.type).b3trContractAddress,
|
|
4458
|
+
vot3: chunkQRYVPUVY_cjs.getConfig(network.type).vot3ContractAddress,
|
|
4459
|
+
veDelegate: chunkQRYVPUVY_cjs.getConfig(network.type).veDelegate
|
|
4187
4460
|
};
|
|
4188
4461
|
return Object.values(contractAddresses).includes(address);
|
|
4189
4462
|
};
|
|
@@ -4278,40 +4551,15 @@ var useAccountBalance = (address) => {
|
|
|
4278
4551
|
return reactQuery.useQuery({
|
|
4279
4552
|
queryKey: getAccountBalanceQueryKey(address),
|
|
4280
4553
|
queryFn: () => getAccountBalance(thor, address),
|
|
4281
|
-
enabled: !!address &&
|
|
4554
|
+
enabled: !!address && chunkQRYVPUVY_cjs.isValidAddress(address),
|
|
4282
4555
|
refetchInterval: 1e4
|
|
4283
4556
|
});
|
|
4284
4557
|
};
|
|
4285
|
-
var useRefreshMetadata = (domain, address) => {
|
|
4286
|
-
const queryClient = reactQuery.useQueryClient();
|
|
4287
|
-
const { network } = useVeChainKitConfig();
|
|
4288
|
-
const refresh = async () => {
|
|
4289
|
-
await queryClient.invalidateQueries({
|
|
4290
|
-
queryKey: getAvatarQueryKey(domain ?? "")
|
|
4291
|
-
});
|
|
4292
|
-
await queryClient.refetchQueries({
|
|
4293
|
-
queryKey: getAvatarQueryKey(domain ?? "")
|
|
4294
|
-
});
|
|
4295
|
-
await queryClient.invalidateQueries({
|
|
4296
|
-
queryKey: getTextRecordsQueryKey(domain, network.type)
|
|
4297
|
-
});
|
|
4298
|
-
await queryClient.refetchQueries({
|
|
4299
|
-
queryKey: getTextRecordsQueryKey(domain, network.type)
|
|
4300
|
-
});
|
|
4301
|
-
await queryClient.invalidateQueries({
|
|
4302
|
-
queryKey: getAvatarOfAddressQueryKey(address)
|
|
4303
|
-
});
|
|
4304
|
-
await queryClient.refetchQueries({
|
|
4305
|
-
queryKey: getAvatarOfAddressQueryKey(address)
|
|
4306
|
-
});
|
|
4307
|
-
};
|
|
4308
|
-
return { refresh };
|
|
4309
|
-
};
|
|
4310
4558
|
|
|
4311
4559
|
// src/hooks/api/utility/useGetNodeUrl.ts
|
|
4312
4560
|
var useGetNodeUrl = () => {
|
|
4313
4561
|
const { network } = useVeChainKitConfig();
|
|
4314
|
-
return network.nodeUrl ??
|
|
4562
|
+
return network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl;
|
|
4315
4563
|
};
|
|
4316
4564
|
|
|
4317
4565
|
// src/hooks/api/utility/useGetChainId.ts
|
|
@@ -4339,7 +4587,7 @@ var getCustomTokenBalance = async (thor, token, address) => {
|
|
|
4339
4587
|
if (res.reverted) throw new Error("Reverted");
|
|
4340
4588
|
const original = res.decoded[0];
|
|
4341
4589
|
const scaled = viem.formatEther(original);
|
|
4342
|
-
const formatted = scaled === "0" ? "0" :
|
|
4590
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_cjs.humanNumber(scaled);
|
|
4343
4591
|
return {
|
|
4344
4592
|
...token,
|
|
4345
4593
|
original,
|
|
@@ -4489,7 +4737,7 @@ var useDecodeFunctionSignature = (input) => {
|
|
|
4489
4737
|
};
|
|
4490
4738
|
var getNFTMetadataUri = async (networkType, thor, tokenID) => {
|
|
4491
4739
|
if (!tokenID) return Promise.reject(new Error("tokenID not provided"));
|
|
4492
|
-
const galaxyMemberContract =
|
|
4740
|
+
const galaxyMemberContract = chunkQRYVPUVY_cjs.getConfig(networkType).galaxyMemberContractAddress;
|
|
4493
4741
|
const functionFragment2 = chunk5GZ7N47F_cjs.GalaxyMember__factory.createInterface().getFunction("tokenURI").format("json");
|
|
4494
4742
|
const res = await thor.account(galaxyMemberContract).method(JSON.parse(functionFragment2)).call(tokenID);
|
|
4495
4743
|
if (res.vmError) return Promise.reject(new Error(res.vmError));
|
|
@@ -4553,7 +4801,7 @@ var getAccountAddress = async (thor, ownerAddress, networkType) => {
|
|
|
4553
4801
|
const functionFragment2 = SimpleAccountFactoryInterface.getFunction("getAccountAddress").format(
|
|
4554
4802
|
"json"
|
|
4555
4803
|
);
|
|
4556
|
-
const res = await thor.account(
|
|
4804
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
|
|
4557
4805
|
if (res.reverted) throw new Error("Reverted");
|
|
4558
4806
|
return res.decoded[0];
|
|
4559
4807
|
};
|
|
@@ -4579,7 +4827,7 @@ var getUpgradeRequiredForAccount = async (thor, contractAddress, targetVersion,
|
|
|
4579
4827
|
const functionFragment2 = SimpleAccountFactoryInterface2.getFunction(
|
|
4580
4828
|
"upgradeRequiredForAccount"
|
|
4581
4829
|
).format("json");
|
|
4582
|
-
const res = await thor.account(
|
|
4830
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(contractAddress, targetVersion);
|
|
4583
4831
|
if (res.reverted) throw new Error("Reverted");
|
|
4584
4832
|
return res.decoded[0];
|
|
4585
4833
|
};
|
|
@@ -4634,7 +4882,7 @@ var getAccountImplementationAddress = async (thor, version, networkType) => {
|
|
|
4634
4882
|
default:
|
|
4635
4883
|
throw new Error("Invalid version, must be between 1 and 3");
|
|
4636
4884
|
}
|
|
4637
|
-
const res = await thor.account(
|
|
4885
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
|
|
4638
4886
|
if (res.reverted) throw new Error("Reverted");
|
|
4639
4887
|
return res.decoded[0];
|
|
4640
4888
|
};
|
|
@@ -4665,7 +4913,7 @@ var getHasV1SmartAccount = async (thor, ownerAddress, networkType) => {
|
|
|
4665
4913
|
const functionFragment2 = SimpleAccountFactoryInterface4.getFunction("hasLegacyAccount").format(
|
|
4666
4914
|
"json"
|
|
4667
4915
|
);
|
|
4668
|
-
const res = await thor.account(
|
|
4916
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(ownerAddress);
|
|
4669
4917
|
if (res.reverted) throw new Error("Reverted");
|
|
4670
4918
|
return res.decoded[0];
|
|
4671
4919
|
};
|
|
@@ -4690,7 +4938,7 @@ var getUpgradeRequired = async (thor, accountAddress, ownerAddress, targetVersio
|
|
|
4690
4938
|
const functionFragment2 = SimpleAccountFactoryInterface5.getFunction("upgradeRequired").format(
|
|
4691
4939
|
"json"
|
|
4692
4940
|
);
|
|
4693
|
-
const res = await thor.account(
|
|
4941
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress, targetVersion);
|
|
4694
4942
|
if (res.reverted) throw new Error("Reverted");
|
|
4695
4943
|
return res.decoded[0];
|
|
4696
4944
|
};
|
|
@@ -4729,7 +4977,7 @@ var getAccountVersion = async (thor, accountAddress, ownerAddress, networkType)
|
|
|
4729
4977
|
const functionFragment2 = SimpleAccountFactoryInterface6.getFunction("getAccountVersion").format(
|
|
4730
4978
|
"json"
|
|
4731
4979
|
);
|
|
4732
|
-
const res = await thor.account(
|
|
4980
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call(accountAddress, ownerAddress);
|
|
4733
4981
|
if (res.reverted) throw new Error("Reverted");
|
|
4734
4982
|
return {
|
|
4735
4983
|
version: res.decoded[0],
|
|
@@ -4764,7 +5012,7 @@ var getCurrentAccountImplementationVersion = async (thor, networkType) => {
|
|
|
4764
5012
|
const functionFragment2 = SimpleAccountFactoryInterface7.getFunction(
|
|
4765
5013
|
"currentAccountImplementationVersion"
|
|
4766
5014
|
).format("json");
|
|
4767
|
-
const res = await thor.account(
|
|
5015
|
+
const res = await thor.account(chunkQRYVPUVY_cjs.getConfig(networkType).accountFactoryAddress).method(JSON.parse(functionFragment2)).call();
|
|
4768
5016
|
if (res.reverted) throw new Error("Reverted");
|
|
4769
5017
|
return parseInt(res.decoded[0]);
|
|
4770
5018
|
};
|
|
@@ -4789,8 +5037,8 @@ var getSmartAccount = async (thor, network, ownerAddress) => {
|
|
|
4789
5037
|
return { address: void 0 };
|
|
4790
5038
|
}
|
|
4791
5039
|
const account = await thor.contracts.executeCall(
|
|
4792
|
-
|
|
4793
|
-
sdkCore.ABIContract.ofAbi(
|
|
5040
|
+
chunkQRYVPUVY_cjs.getConfig(network).accountFactoryAddress,
|
|
5041
|
+
sdkCore.ABIContract.ofAbi(chunkTV24UEQU_cjs.SimpleAccountFactoryABI).getFunction(
|
|
4794
5042
|
"getAccountAddress"
|
|
4795
5043
|
),
|
|
4796
5044
|
[ownerAddress]
|
|
@@ -5007,7 +5255,7 @@ var useUpgradeSmartAccount = ({
|
|
|
5007
5255
|
const { refresh: refreshSmartAccountQueries } = useRefreshSmartAccountQueries();
|
|
5008
5256
|
const { data: newImplementationAddress } = useAccountImplementationAddress(targetVersion);
|
|
5009
5257
|
const buildClauses = React10.useCallback(async () => {
|
|
5010
|
-
if (!smartAccountAddress || !
|
|
5258
|
+
if (!smartAccountAddress || !chunkQRYVPUVY_cjs.isValidAddress(smartAccountAddress)) {
|
|
5011
5259
|
throw new Error("Invalid smart account address");
|
|
5012
5260
|
}
|
|
5013
5261
|
if (!newImplementationAddress) {
|
|
@@ -5038,7 +5286,7 @@ var useUpgradeSmartAccount = ({
|
|
|
5038
5286
|
const result = useSendTransaction({
|
|
5039
5287
|
privyUIOptions: {
|
|
5040
5288
|
title: "Upgrade Smart Account",
|
|
5041
|
-
description: `Upgrading your account at ${
|
|
5289
|
+
description: `Upgrading your account at ${chunkQRYVPUVY_cjs.humanAddress(
|
|
5042
5290
|
smartAccountAddress
|
|
5043
5291
|
)} to version ${targetVersion}`,
|
|
5044
5292
|
buttonText: "Sign to continue"
|
|
@@ -5064,7 +5312,7 @@ var getErc20Balance = async (thor, tokenAddress, address) => {
|
|
|
5064
5312
|
if (res.reverted) throw new Error("Reverted");
|
|
5065
5313
|
const original = res.decoded[0];
|
|
5066
5314
|
const scaled = ethers.formatEther(original);
|
|
5067
|
-
const formatted = scaled === "0" ? "0" :
|
|
5315
|
+
const formatted = scaled === "0" ? "0" : chunkQRYVPUVY_cjs.humanNumber(scaled);
|
|
5068
5316
|
return {
|
|
5069
5317
|
original,
|
|
5070
5318
|
scaled,
|
|
@@ -5205,7 +5453,7 @@ var AddressDisplay = ({
|
|
|
5205
5453
|
react.Input,
|
|
5206
5454
|
{
|
|
5207
5455
|
cursor: "pointer",
|
|
5208
|
-
value: showHumanAddress ?
|
|
5456
|
+
value: showHumanAddress ? chunkQRYVPUVY_cjs.humanAddress(
|
|
5209
5457
|
wallet.address ?? "",
|
|
5210
5458
|
8,
|
|
5211
5459
|
7
|
|
@@ -5238,7 +5486,7 @@ var AddressDisplay = ({
|
|
|
5238
5486
|
react.Input,
|
|
5239
5487
|
{
|
|
5240
5488
|
cursor: "pointer",
|
|
5241
|
-
value: showHumanAddress ?
|
|
5489
|
+
value: showHumanAddress ? chunkQRYVPUVY_cjs.humanAddress(wallet?.address ?? "", 6, 4) : wallet?.address,
|
|
5242
5490
|
readOnly: true,
|
|
5243
5491
|
fontSize: "sm",
|
|
5244
5492
|
fontWeight: "700",
|
|
@@ -5267,7 +5515,7 @@ var AddressDisplay = ({
|
|
|
5267
5515
|
// package.json
|
|
5268
5516
|
var package_default = {
|
|
5269
5517
|
name: "@vechain/vechain-kit",
|
|
5270
|
-
version: "1.5.
|
|
5518
|
+
version: "1.5.13",
|
|
5271
5519
|
private: false,
|
|
5272
5520
|
homepage: "https://github.com/vechain/vechain-kit",
|
|
5273
5521
|
repository: "github:vechain/vechain-kit",
|
|
@@ -5397,7 +5645,7 @@ var VersionFooter = ({ ...props }) => {
|
|
|
5397
5645
|
...props,
|
|
5398
5646
|
children: [
|
|
5399
5647
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5400
|
-
|
|
5648
|
+
chunkTV24UEQU_cjs.VechainLogo,
|
|
5401
5649
|
{
|
|
5402
5650
|
isDark,
|
|
5403
5651
|
w: "70px",
|
|
@@ -5574,13 +5822,13 @@ var AssetButton = ({
|
|
|
5574
5822
|
...buttonProps,
|
|
5575
5823
|
children: [
|
|
5576
5824
|
/* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { children: [
|
|
5577
|
-
|
|
5825
|
+
chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[symbol] ? React10__default.default.cloneElement(chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[symbol], {
|
|
5578
5826
|
boxSize: "24px",
|
|
5579
5827
|
borderRadius: "full"
|
|
5580
5828
|
}) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
5581
5829
|
react.Image,
|
|
5582
5830
|
{
|
|
5583
|
-
src:
|
|
5831
|
+
src: chunkQRYVPUVY_cjs.TOKEN_LOGOS[symbol],
|
|
5584
5832
|
alt: `${symbol} logo`,
|
|
5585
5833
|
boxSize: "24px",
|
|
5586
5834
|
borderRadius: "full",
|
|
@@ -5665,8 +5913,8 @@ var AddressDisplayCard = ({
|
|
|
5665
5913
|
),
|
|
5666
5914
|
/* @__PURE__ */ jsxRuntime.jsx(react.VStack, { align: "start", spacing: 0, children: domain ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5667
5915
|
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children: domain }),
|
|
5668
|
-
!hideAddress && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", opacity: 0.5, children:
|
|
5669
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children:
|
|
5916
|
+
!hideAddress && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", opacity: 0.5, children: chunkQRYVPUVY_cjs.humanAddress(address, 6, 4) })
|
|
5917
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", fontSize: "sm", children: chunkQRYVPUVY_cjs.humanAddress(address, 6, 4) }) })
|
|
5670
5918
|
] }),
|
|
5671
5919
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5672
5920
|
react.VStack,
|
|
@@ -5721,16 +5969,23 @@ var ScrollToTopWrapper = ({ children, ...props }) => {
|
|
|
5721
5969
|
return /* @__PURE__ */ jsxRuntime.jsx(react.VStack, { ...props, children });
|
|
5722
5970
|
};
|
|
5723
5971
|
var AccountAvatar = ({ wallet, props }) => {
|
|
5724
|
-
|
|
5972
|
+
const previousImageRef = React10.useRef(wallet?.image);
|
|
5973
|
+
React10.useEffect(() => {
|
|
5974
|
+
if (wallet?.image && !wallet.isLoadingMetadata) {
|
|
5975
|
+
previousImageRef.current = wallet.image;
|
|
5976
|
+
}
|
|
5977
|
+
}, [wallet?.image, wallet?.isLoadingMetadata]);
|
|
5978
|
+
if (wallet?.isLoadingMetadata && !previousImageRef.current) {
|
|
5725
5979
|
return /* @__PURE__ */ jsxRuntime.jsx(react.Spinner, { size: "sm" });
|
|
5726
5980
|
}
|
|
5727
5981
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5728
5982
|
react.Image,
|
|
5729
5983
|
{
|
|
5730
|
-
src: props?.src || wallet?.image,
|
|
5984
|
+
src: props?.src || wallet?.image || previousImageRef.current,
|
|
5731
5985
|
alt: props?.alt || wallet?.domain,
|
|
5732
5986
|
objectFit: "cover",
|
|
5733
5987
|
rounded: "full",
|
|
5988
|
+
fallbackSrc: chunkQRYVPUVY_cjs.getPicassoImage(wallet?.address ?? ""),
|
|
5734
5989
|
...props
|
|
5735
5990
|
}
|
|
5736
5991
|
);
|
|
@@ -5782,7 +6037,7 @@ var TransactionButtonAndStatus = ({
|
|
|
5782
6037
|
color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
|
|
5783
6038
|
textAlign: "center",
|
|
5784
6039
|
width: "full",
|
|
5785
|
-
href: `${
|
|
6040
|
+
href: `${chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
|
|
5786
6041
|
target: "_blank",
|
|
5787
6042
|
rel: "noopener noreferrer",
|
|
5788
6043
|
children: t("View transaction on the explorer")
|
|
@@ -6073,7 +6328,7 @@ var VeChainWithPrivyLoginButton = ({ isDark, gridColumn }) => {
|
|
|
6073
6328
|
{
|
|
6074
6329
|
isDark,
|
|
6075
6330
|
onClick: viewMoreLogin,
|
|
6076
|
-
icon: isDark ?
|
|
6331
|
+
icon: isDark ? chunkTV24UEQU_cjs.VechainLogoLight : chunkTV24UEQU_cjs.VechainLogoDark,
|
|
6077
6332
|
text: t("Use social login with VeChain"),
|
|
6078
6333
|
variant: "loginWithVechain",
|
|
6079
6334
|
rightIcon: /* @__PURE__ */ jsxRuntime.jsx(SocialIcons, {})
|
|
@@ -6104,7 +6359,7 @@ var VeChainLoginButton = ({ isDark, gridColumn }) => {
|
|
|
6104
6359
|
{
|
|
6105
6360
|
isDark,
|
|
6106
6361
|
onClick: handleLoginWithVeChain,
|
|
6107
|
-
icon: isDark ?
|
|
6362
|
+
icon: isDark ? chunkTV24UEQU_cjs.VechainLogoLight : chunkTV24UEQU_cjs.VechainLogoDark,
|
|
6108
6363
|
text: t("Use social login with VeChain"),
|
|
6109
6364
|
variant: "loginWithVechain",
|
|
6110
6365
|
rightIcon: /* @__PURE__ */ jsxRuntime.jsx(SocialIcons, {})
|
|
@@ -6499,7 +6754,7 @@ var AccountDetailsButton = ({
|
|
|
6499
6754
|
wordBreak: "break-word",
|
|
6500
6755
|
whiteSpace: "normal",
|
|
6501
6756
|
w: "full",
|
|
6502
|
-
children: wallet?.domain ?
|
|
6757
|
+
children: wallet?.domain ? chunkQRYVPUVY_cjs.humanDomain(wallet?.domain ?? "", 18, 0) : chunkQRYVPUVY_cjs.humanAddress(wallet?.address ?? "", 6, 4)
|
|
6503
6758
|
}
|
|
6504
6759
|
)
|
|
6505
6760
|
] }),
|
|
@@ -6625,7 +6880,7 @@ var AccountSelector = ({
|
|
|
6625
6880
|
props: { width: 7, height: 7 }
|
|
6626
6881
|
}
|
|
6627
6882
|
),
|
|
6628
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: size, fontWeight: "500", children:
|
|
6883
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: size, fontWeight: "500", children: chunkQRYVPUVY_cjs.humanDomain(wallet?.domain ?? "", 22, 0) || chunkQRYVPUVY_cjs.humanAddress(wallet?.address ?? "", 6, 4) })
|
|
6629
6884
|
] }),
|
|
6630
6885
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6631
6886
|
react.Icon,
|
|
@@ -6690,17 +6945,17 @@ var AssetIcons = ({
|
|
|
6690
6945
|
border: "2px solid #00000024",
|
|
6691
6946
|
alignItems: "center",
|
|
6692
6947
|
justifyContent: "center",
|
|
6693
|
-
children:
|
|
6694
|
-
|
|
6948
|
+
children: chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[token.symbol] ? React10__default.default.cloneElement(
|
|
6949
|
+
chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[token.symbol],
|
|
6695
6950
|
{
|
|
6696
6951
|
width: `${iconSize * 0.8}px`,
|
|
6697
6952
|
height: `${iconSize * 0.8}px`,
|
|
6698
6953
|
rounded: "full"
|
|
6699
6954
|
}
|
|
6700
|
-
) :
|
|
6955
|
+
) : chunkQRYVPUVY_cjs.TOKEN_LOGOS[token.symbol] ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6701
6956
|
react.Image,
|
|
6702
6957
|
{
|
|
6703
|
-
src:
|
|
6958
|
+
src: chunkQRYVPUVY_cjs.TOKEN_LOGOS[token.symbol],
|
|
6704
6959
|
alt: `${token.symbol} logo`,
|
|
6705
6960
|
width: `${iconSize * 0.8}px`,
|
|
6706
6961
|
height: `${iconSize * 0.8}px`,
|
|
@@ -7060,7 +7315,7 @@ var QuickActionsSection = ({ mt, setCurrentContent }) => {
|
|
|
7060
7315
|
const hasUnreadNotifications = notifications.some((n) => !n.isRead);
|
|
7061
7316
|
const showRedDot = connection.isConnectedWithPrivy && upgradeRequired || hasUnreadNotifications;
|
|
7062
7317
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", mt, spacing: 4, children: [
|
|
7063
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.Heading, { size: "xs", fontWeight: "500", w: "full", opacity: 0.5, children: t("
|
|
7318
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Heading, { size: "xs", fontWeight: "500", w: "full", opacity: 0.5, children: t("Tools") }),
|
|
7064
7319
|
/* @__PURE__ */ jsxRuntime.jsx(react.Grid, { templateColumns: "repeat(3, 1fr)", gap: 2, w: "full", children: QUICK_ACTIONS.map((action) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7065
7320
|
QuickActionButton,
|
|
7066
7321
|
{
|
|
@@ -7872,7 +8127,7 @@ var NetworkInfo = () => {
|
|
|
7872
8127
|
InfoRow,
|
|
7873
8128
|
{
|
|
7874
8129
|
label: t("Node URL"),
|
|
7875
|
-
value: network.nodeUrl ||
|
|
8130
|
+
value: network.nodeUrl || chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl
|
|
7876
8131
|
}
|
|
7877
8132
|
),
|
|
7878
8133
|
connection.isConnectedWithPrivy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -8073,10 +8328,10 @@ var WalletSecuredBy = () => {
|
|
|
8073
8328
|
children: [
|
|
8074
8329
|
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xs", fontWeight: "800", children: t("Wallet secured by") }),
|
|
8075
8330
|
/* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { justify: "center", children: [
|
|
8076
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8331
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTV24UEQU_cjs.PrivyLogo, { isDark, w: "50px" }),
|
|
8077
8332
|
/* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: pi.PiLineVertical, ml: 3 }),
|
|
8078
8333
|
connection.isConnectedWithVeChain ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8079
|
-
|
|
8334
|
+
chunkTV24UEQU_cjs.VechainLogo,
|
|
8080
8335
|
{
|
|
8081
8336
|
isDark,
|
|
8082
8337
|
w: "80px",
|
|
@@ -8109,7 +8364,7 @@ var WalletSecuredBy = () => {
|
|
|
8109
8364
|
var EmbeddedWalletContent = ({ setCurrentContent }) => {
|
|
8110
8365
|
const { t } = reactI18next.useTranslation();
|
|
8111
8366
|
const { connectedWallet, connection } = useWallet();
|
|
8112
|
-
const walletImage =
|
|
8367
|
+
const walletImage = chunkQRYVPUVY_cjs.getPicassoImage(connectedWallet?.address ?? "");
|
|
8113
8368
|
const { getConnectionCache } = useCrossAppConnectionCache();
|
|
8114
8369
|
const connectionCache = getConnectionCache();
|
|
8115
8370
|
const { darkMode: isDark } = useVeChainKitConfig();
|
|
@@ -8347,7 +8602,7 @@ var SendTokenContent = ({
|
|
|
8347
8602
|
mode: "onChange"
|
|
8348
8603
|
});
|
|
8349
8604
|
const { toAddressOrDomain } = watch();
|
|
8350
|
-
const {
|
|
8605
|
+
const { data: resolvedDomainData } = useVechainDomain(toAddressOrDomain);
|
|
8351
8606
|
const handleSetMaxAmount = () => {
|
|
8352
8607
|
if (selectedToken) {
|
|
8353
8608
|
setValue("amount", selectedToken.numericBalance);
|
|
@@ -8355,7 +8610,7 @@ var SendTokenContent = ({
|
|
|
8355
8610
|
};
|
|
8356
8611
|
const onSubmit = async (data) => {
|
|
8357
8612
|
if (!selectedToken) return;
|
|
8358
|
-
const isValidReceiver = !
|
|
8613
|
+
const isValidReceiver = resolvedDomainData?.isValidAddressOrDomain && (!resolvedDomainData?.domain || resolvedDomainData?.domain && resolvedDomainData?.isPrimaryDomain);
|
|
8359
8614
|
if (!isValidReceiver) {
|
|
8360
8615
|
setError("toAddressOrDomain", {
|
|
8361
8616
|
type: "manual",
|
|
@@ -8379,8 +8634,8 @@ var SendTokenContent = ({
|
|
|
8379
8634
|
type: "send-token-summary",
|
|
8380
8635
|
props: {
|
|
8381
8636
|
toAddressOrDomain: data.toAddressOrDomain,
|
|
8382
|
-
resolvedDomain,
|
|
8383
|
-
resolvedAddress,
|
|
8637
|
+
resolvedDomain: resolvedDomainData?.domain,
|
|
8638
|
+
resolvedAddress: resolvedDomainData?.address,
|
|
8384
8639
|
amount: data.amount,
|
|
8385
8640
|
selectedToken,
|
|
8386
8641
|
setCurrentContent
|
|
@@ -8468,8 +8723,8 @@ var SendTokenContent = ({
|
|
|
8468
8723
|
bg: isDark ? "whiteAlpha.300" : "blackAlpha.300"
|
|
8469
8724
|
},
|
|
8470
8725
|
onClick: () => setIsSelectingToken(true),
|
|
8471
|
-
leftIcon:
|
|
8472
|
-
|
|
8726
|
+
leftIcon: chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol] ? React10__default.default.cloneElement(
|
|
8727
|
+
chunkQRYVPUVY_cjs.TOKEN_LOGO_COMPONENTS[selectedToken.symbol],
|
|
8473
8728
|
{
|
|
8474
8729
|
boxSize: "20px",
|
|
8475
8730
|
borderRadius: "full"
|
|
@@ -8477,7 +8732,7 @@ var SendTokenContent = ({
|
|
|
8477
8732
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
8478
8733
|
react.Image,
|
|
8479
8734
|
{
|
|
8480
|
-
src:
|
|
8735
|
+
src: chunkQRYVPUVY_cjs.TOKEN_LOGOS[selectedToken.symbol],
|
|
8481
8736
|
alt: `${selectedToken.symbol} logo`,
|
|
8482
8737
|
boxSize: "20px",
|
|
8483
8738
|
borderRadius: "full",
|
|
@@ -8653,7 +8908,7 @@ var SendTokenSummaryContent = ({
|
|
|
8653
8908
|
}) => {
|
|
8654
8909
|
const { t } = reactI18next.useTranslation();
|
|
8655
8910
|
const { account, connection, connectedWallet } = useWallet();
|
|
8656
|
-
const { data: avatar } =
|
|
8911
|
+
const { data: avatar } = useGetAvatarOfAddress(resolvedAddress ?? "");
|
|
8657
8912
|
const { network } = useVeChainKitConfig();
|
|
8658
8913
|
const { data: upgradeRequired } = useUpgradeRequired(
|
|
8659
8914
|
account?.address ?? "",
|
|
@@ -8665,7 +8920,7 @@ var SendTokenSummaryContent = ({
|
|
|
8665
8920
|
if (avatar) {
|
|
8666
8921
|
return avatar;
|
|
8667
8922
|
}
|
|
8668
|
-
return
|
|
8923
|
+
return chunkQRYVPUVY_cjs.getPicassoImage(resolvedAddress || toAddressOrDomain);
|
|
8669
8924
|
}, [avatar, network.type, resolvedAddress, toAddressOrDomain]);
|
|
8670
8925
|
const {
|
|
8671
8926
|
sendTransaction: transferERC20,
|
|
@@ -9001,7 +9256,7 @@ var DomainListItem = ({
|
|
|
9001
9256
|
props: {
|
|
9002
9257
|
width: "40px",
|
|
9003
9258
|
height: "40px",
|
|
9004
|
-
src: metadata.image ??
|
|
9259
|
+
src: metadata.image ?? chunkQRYVPUVY_cjs.getPicassoImage(domain.name),
|
|
9005
9260
|
alt: domain.name
|
|
9006
9261
|
}
|
|
9007
9262
|
}
|
|
@@ -9042,9 +9297,76 @@ var DomainListItem = ({
|
|
|
9042
9297
|
domain.name
|
|
9043
9298
|
);
|
|
9044
9299
|
};
|
|
9300
|
+
var UnsetDomainListItem = ({ onUnset }) => {
|
|
9301
|
+
const { darkMode: isDark } = useVeChainKitConfig();
|
|
9302
|
+
const { t } = reactI18next.useTranslation();
|
|
9303
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9304
|
+
react.ListItem,
|
|
9305
|
+
{
|
|
9306
|
+
p: 4,
|
|
9307
|
+
bg: isDark ? "#1f1f1e" : "white",
|
|
9308
|
+
borderRadius: "xl",
|
|
9309
|
+
cursor: "pointer",
|
|
9310
|
+
opacity: 1,
|
|
9311
|
+
border: `1px solid ${isDark ? "#2d2d2d" : "#eaeaea"}`,
|
|
9312
|
+
_hover: {
|
|
9313
|
+
bg: isDark ? "#252525" : "gray.50",
|
|
9314
|
+
borderColor: isDark ? "#3d3d3d" : "#dedede",
|
|
9315
|
+
color: "red.400"
|
|
9316
|
+
},
|
|
9317
|
+
onClick: onUnset,
|
|
9318
|
+
transition: "all 0.2s",
|
|
9319
|
+
role: "button",
|
|
9320
|
+
"aria-label": t("Unset current domain"),
|
|
9321
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 3, align: "center", children: [
|
|
9322
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9323
|
+
react.Box,
|
|
9324
|
+
{
|
|
9325
|
+
width: "40px",
|
|
9326
|
+
height: "40px",
|
|
9327
|
+
borderRadius: "full",
|
|
9328
|
+
display: "flex",
|
|
9329
|
+
alignItems: "center",
|
|
9330
|
+
justifyContent: "center",
|
|
9331
|
+
bg: isDark ? "whiteAlpha.100" : "gray.100",
|
|
9332
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9333
|
+
react.Icon,
|
|
9334
|
+
{
|
|
9335
|
+
as: io5.IoTrashOutline,
|
|
9336
|
+
fontSize: "18px",
|
|
9337
|
+
color: isDark ? "red.300" : "red.500"
|
|
9338
|
+
}
|
|
9339
|
+
)
|
|
9340
|
+
}
|
|
9341
|
+
),
|
|
9342
|
+
/* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { align: "start", spacing: 0, flex: 1, children: [
|
|
9343
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9344
|
+
react.Text,
|
|
9345
|
+
{
|
|
9346
|
+
color: isDark ? "whiteAlpha.900" : "gray.700",
|
|
9347
|
+
fontSize: "md",
|
|
9348
|
+
fontWeight: "500",
|
|
9349
|
+
children: t("Unset current domain")
|
|
9350
|
+
}
|
|
9351
|
+
),
|
|
9352
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9353
|
+
react.Text,
|
|
9354
|
+
{
|
|
9355
|
+
fontSize: "sm",
|
|
9356
|
+
color: isDark ? "whiteAlpha.600" : "blackAlpha.600",
|
|
9357
|
+
children: t("Remove your current domain name")
|
|
9358
|
+
}
|
|
9359
|
+
)
|
|
9360
|
+
] })
|
|
9361
|
+
] })
|
|
9362
|
+
},
|
|
9363
|
+
"unset-domain-list-item"
|
|
9364
|
+
);
|
|
9365
|
+
};
|
|
9045
9366
|
var ExistingDomainsList = ({
|
|
9046
9367
|
domains,
|
|
9047
9368
|
onDomainSelect,
|
|
9369
|
+
onUnsetDomain,
|
|
9048
9370
|
isLoading
|
|
9049
9371
|
}) => {
|
|
9050
9372
|
const { t } = reactI18next.useTranslation();
|
|
@@ -9078,15 +9400,23 @@ var ExistingDomainsList = ({
|
|
|
9078
9400
|
]
|
|
9079
9401
|
}
|
|
9080
9402
|
),
|
|
9081
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsxRuntime.
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
|
|
9087
|
-
|
|
9088
|
-
|
|
9089
|
-
|
|
9403
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.AccordionPanel, { pb: 4, pt: 2, children: /* @__PURE__ */ jsxRuntime.jsxs(react.List, { spacing: 2, children: [
|
|
9404
|
+
domains.map((domain) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9405
|
+
DomainListItem,
|
|
9406
|
+
{
|
|
9407
|
+
domain,
|
|
9408
|
+
isCurrentDomain: domain.name === account?.domain,
|
|
9409
|
+
onSelect: onDomainSelect
|
|
9410
|
+
},
|
|
9411
|
+
domain.name
|
|
9412
|
+
)),
|
|
9413
|
+
account?.domain && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9414
|
+
UnsetDomainListItem,
|
|
9415
|
+
{
|
|
9416
|
+
onUnset: onUnsetDomain
|
|
9417
|
+
}
|
|
9418
|
+
)
|
|
9419
|
+
] }) })
|
|
9090
9420
|
] }) }) });
|
|
9091
9421
|
};
|
|
9092
9422
|
var ChooseNameSearchContent = ({
|
|
@@ -9168,17 +9498,33 @@ var ChooseNameSearchContent = ({
|
|
|
9168
9498
|
}
|
|
9169
9499
|
};
|
|
9170
9500
|
const handleDomainSelect = (selectedDomain) => {
|
|
9171
|
-
const
|
|
9501
|
+
const parts3 = selectedDomain.split(".");
|
|
9502
|
+
const baseName = parts3[0];
|
|
9503
|
+
const domainType = parts3.length > 2 ? `${parts3[1]}.${parts3[2]}` : "vet";
|
|
9172
9504
|
setCurrentContent({
|
|
9173
9505
|
type: "choose-name-summary",
|
|
9174
9506
|
props: {
|
|
9175
9507
|
name: baseName,
|
|
9508
|
+
domainType,
|
|
9176
9509
|
isOwnDomain: true,
|
|
9177
9510
|
setCurrentContent,
|
|
9178
9511
|
initialContentSource
|
|
9179
9512
|
}
|
|
9180
9513
|
});
|
|
9181
9514
|
};
|
|
9515
|
+
const handleUnsetDomain = () => {
|
|
9516
|
+
setCurrentContent({
|
|
9517
|
+
type: "choose-name-summary",
|
|
9518
|
+
props: {
|
|
9519
|
+
name: "",
|
|
9520
|
+
domainType: "",
|
|
9521
|
+
isOwnDomain: false,
|
|
9522
|
+
isUnsetting: true,
|
|
9523
|
+
setCurrentContent,
|
|
9524
|
+
initialContentSource
|
|
9525
|
+
}
|
|
9526
|
+
});
|
|
9527
|
+
};
|
|
9182
9528
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9183
9529
|
/* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
|
|
9184
9530
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Choose Name") }),
|
|
@@ -9196,6 +9542,7 @@ var ChooseNameSearchContent = ({
|
|
|
9196
9542
|
{
|
|
9197
9543
|
domains: allUserDomains,
|
|
9198
9544
|
onDomainSelect: handleDomainSelect,
|
|
9545
|
+
onUnsetDomain: handleUnsetDomain,
|
|
9199
9546
|
isLoading: isLoadingOwnedDomains
|
|
9200
9547
|
}
|
|
9201
9548
|
),
|
|
@@ -9267,7 +9614,9 @@ var ChooseNameSearchContent = ({
|
|
|
9267
9614
|
var ChooseNameSummaryContent = ({
|
|
9268
9615
|
setCurrentContent,
|
|
9269
9616
|
name,
|
|
9617
|
+
domainType = "veworld.vet",
|
|
9270
9618
|
isOwnDomain,
|
|
9619
|
+
isUnsetting = false,
|
|
9271
9620
|
initialContentSource = "settings"
|
|
9272
9621
|
}) => {
|
|
9273
9622
|
const { t } = reactI18next.useTranslation();
|
|
@@ -9278,34 +9627,45 @@ var ChooseNameSummaryContent = ({
|
|
|
9278
9627
|
3
|
|
9279
9628
|
);
|
|
9280
9629
|
const { open: openUpgradeSmartAccountModal } = useUpgradeSmartAccountModal();
|
|
9630
|
+
const unsetDomainHook = useUnsetDomain({
|
|
9631
|
+
onSuccess: () => handleSuccess()
|
|
9632
|
+
});
|
|
9633
|
+
const isVeWorldSubdomain = domainType.endsWith("veworld.vet");
|
|
9634
|
+
const veWorldSubdomainHook = useClaimVeWorldSubdomain({
|
|
9635
|
+
subdomain: name,
|
|
9636
|
+
domain: domainType,
|
|
9637
|
+
alreadyOwned: isOwnDomain,
|
|
9638
|
+
onSuccess: () => handleSuccess()
|
|
9639
|
+
});
|
|
9640
|
+
const vetDomainHook = useClaimVetDomain({
|
|
9641
|
+
domain: name,
|
|
9642
|
+
alreadyOwned: isOwnDomain,
|
|
9643
|
+
onSuccess: () => handleSuccess()
|
|
9644
|
+
});
|
|
9281
9645
|
const {
|
|
9282
9646
|
sendTransaction,
|
|
9283
9647
|
txReceipt,
|
|
9284
9648
|
error: txError,
|
|
9285
9649
|
isWaitingForWalletConfirmation,
|
|
9286
9650
|
isTransactionPending
|
|
9287
|
-
} =
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9294
|
-
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9298
|
-
|
|
9299
|
-
|
|
9300
|
-
|
|
9301
|
-
),
|
|
9302
|
-
onDone: () => {
|
|
9303
|
-
setCurrentContent(initialContentSource);
|
|
9304
|
-
}
|
|
9651
|
+
} = isUnsetting ? unsetDomainHook : isVeWorldSubdomain ? veWorldSubdomainHook : vetDomainHook;
|
|
9652
|
+
const handleSuccess = () => {
|
|
9653
|
+
setCurrentContent({
|
|
9654
|
+
type: "successful-operation",
|
|
9655
|
+
props: {
|
|
9656
|
+
setCurrentContent,
|
|
9657
|
+
txId: txReceipt?.meta.txID,
|
|
9658
|
+
title: isUnsetting ? t("Domain unset") : t("Domain set"),
|
|
9659
|
+
description: isUnsetting ? t("Your domain has been unset successfully.") : t(
|
|
9660
|
+
`Your address has been successfully set to {{name}}.{{domainType}}.`,
|
|
9661
|
+
{ name, domainType }
|
|
9662
|
+
),
|
|
9663
|
+
onDone: () => {
|
|
9664
|
+
setCurrentContent(initialContentSource);
|
|
9305
9665
|
}
|
|
9306
|
-
}
|
|
9307
|
-
}
|
|
9308
|
-
}
|
|
9666
|
+
}
|
|
9667
|
+
});
|
|
9668
|
+
};
|
|
9309
9669
|
const handleConfirm = async () => {
|
|
9310
9670
|
if (upgradeRequired) {
|
|
9311
9671
|
openUpgradeSmartAccountModal();
|
|
@@ -9319,7 +9679,7 @@ var ChooseNameSummaryContent = ({
|
|
|
9319
9679
|
};
|
|
9320
9680
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9321
9681
|
/* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
|
|
9322
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: t("Confirm Name") }),
|
|
9682
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: isUnsetting ? t("Confirm Unset Domain") : t("Confirm Name") }),
|
|
9323
9683
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9324
9684
|
ModalBackButton,
|
|
9325
9685
|
{
|
|
@@ -9337,8 +9697,12 @@ var ChooseNameSummaryContent = ({
|
|
|
9337
9697
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, { isDisabled: isTransactionPending })
|
|
9338
9698
|
] }),
|
|
9339
9699
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 4, w: "full", textAlign: "center", children: [
|
|
9340
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "lg", children: t(
|
|
9341
|
-
|
|
9700
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "lg", children: isUnsetting ? t(
|
|
9701
|
+
"Are you sure you want to unset your current domain?"
|
|
9702
|
+
) : t(
|
|
9703
|
+
"Are you sure you want to set your domain name to"
|
|
9704
|
+
) }),
|
|
9705
|
+
!isUnsetting && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xl", fontWeight: "bold", color: "blue.500", children: `${name}.${domainType}` })
|
|
9342
9706
|
] }) }),
|
|
9343
9707
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalFooter, { gap: 4, w: "full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9344
9708
|
TransactionButtonAndStatus,
|
|
@@ -9347,7 +9711,7 @@ var ChooseNameSummaryContent = ({
|
|
|
9347
9711
|
isSubmitting: isTransactionPending,
|
|
9348
9712
|
isTxWaitingConfirmation: isWaitingForWalletConfirmation,
|
|
9349
9713
|
onConfirm: handleConfirm,
|
|
9350
|
-
transactionPendingText: t("Claiming name..."),
|
|
9714
|
+
transactionPendingText: isUnsetting ? t("Unsetting current domain...") : t("Claiming name..."),
|
|
9351
9715
|
txReceipt,
|
|
9352
9716
|
buttonText: t("Confirm"),
|
|
9353
9717
|
isDisabled: isTransactionPending
|
|
@@ -9560,6 +9924,7 @@ var en_default = {
|
|
|
9560
9924
|
"Are you sure you want to disconnect your wallet?": "Are you sure you want to disconnect your wallet?",
|
|
9561
9925
|
"Are you sure you want to set your domain name to": "Are you sure you want to set your domain name to",
|
|
9562
9926
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?",
|
|
9927
|
+
"Are you sure you want to unset your current domain?": "Are you sure you want to unset your current domain?",
|
|
9563
9928
|
Assets: "Assets",
|
|
9564
9929
|
At: "At",
|
|
9565
9930
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.",
|
|
@@ -9599,6 +9964,7 @@ var en_default = {
|
|
|
9599
9964
|
Confirm: "Confirm",
|
|
9600
9965
|
"Confirm Changes": "Confirm Changes",
|
|
9601
9966
|
"Confirm Name": "Confirm Name",
|
|
9967
|
+
"Confirm Unset Domain": "Confirm Unset Domain",
|
|
9602
9968
|
"Confirm the transaction in your wallet to complete it.": "Confirm the transaction in your wallet to complete it.",
|
|
9603
9969
|
"Confirm transaction": "Confirm transaction",
|
|
9604
9970
|
"Connect Wallet": "Connect Wallet",
|
|
@@ -9652,6 +10018,8 @@ var en_default = {
|
|
|
9652
10018
|
Discord: "Discord",
|
|
9653
10019
|
"Display Name": "Display Name",
|
|
9654
10020
|
"Display name must be less than 25 characters": "Display name must be less than 25 characters",
|
|
10021
|
+
"Domain set": "Domain set",
|
|
10022
|
+
"Domain unset": "Domain unset",
|
|
9655
10023
|
Done: "Done",
|
|
9656
10024
|
Ecosystem: "Ecosystem",
|
|
9657
10025
|
"Ecosystem Login": "Ecosystem Login",
|
|
@@ -9809,6 +10177,7 @@ var en_default = {
|
|
|
9809
10177
|
Remove: "Remove",
|
|
9810
10178
|
"Remove Login Method": "Remove Login Method",
|
|
9811
10179
|
"Remove from shortcuts": "Remove from shortcuts",
|
|
10180
|
+
"Remove your current domain name": "Remove your current domain name",
|
|
9812
10181
|
"Resend code": "Resend code",
|
|
9813
10182
|
Retry: "Retry",
|
|
9814
10183
|
"Safari blocked the login window. Please try again, it should work now.": "Safari blocked the login window. Please try again, it should work now.",
|
|
@@ -9888,6 +10257,7 @@ var en_default = {
|
|
|
9888
10257
|
"Token Contract Address": "Token Contract Address",
|
|
9889
10258
|
"Token already added": "Token already added",
|
|
9890
10259
|
"Tokens transferred successfully.": "Tokens transferred successfully.",
|
|
10260
|
+
Tools: "Tools",
|
|
9891
10261
|
"Total balance": "Total balance",
|
|
9892
10262
|
"Transaction completed!": "Transaction completed!",
|
|
9893
10263
|
"Transaction failed": "Transaction failed",
|
|
@@ -9907,6 +10277,11 @@ var en_default = {
|
|
|
9907
10277
|
"Unknown error": "Unknown error",
|
|
9908
10278
|
"Unknown status": "Unknown status",
|
|
9909
10279
|
"Unlink Login Method": "Unlink Login Method",
|
|
10280
|
+
"Unset current domain": "Unset current domain",
|
|
10281
|
+
"Unsetting current domain": "Unsetting current domain",
|
|
10282
|
+
"Unsetting current domain...": "Unsetting current domain...",
|
|
10283
|
+
"Unsetting your current VeChain nickname": "Unsetting your current VeChain nickname",
|
|
10284
|
+
"Unsetting your current domain": "Unsetting your current domain",
|
|
9910
10285
|
"Update profile image": "Update profile image",
|
|
9911
10286
|
"Upgrade Now": "Upgrade Now",
|
|
9912
10287
|
"Upgrade Smart Account to V3": "Upgrade Smart Account to V3",
|
|
@@ -9974,8 +10349,10 @@ var en_default = {
|
|
|
9974
10349
|
"You own a Smart Account and it has priority over your wallet.": "You own a Smart Account and it has priority over your wallet.",
|
|
9975
10350
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.",
|
|
9976
10351
|
"Your accounts": "Your accounts",
|
|
10352
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "Your address has been successfully set to {{name}}.{{domainType}}.",
|
|
9977
10353
|
"Your changes have been saved successfully.": "Your changes have been saved successfully.",
|
|
9978
10354
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "Your customizations are linked to your .vet domain name, making them portable across different applications.",
|
|
10355
|
+
"Your domain has been unset successfully.": "Your domain has been unset successfully.",
|
|
9979
10356
|
"Your embedded wallet": "Your embedded wallet",
|
|
9980
10357
|
"Your existing domains": "Your existing domains",
|
|
9981
10358
|
"Your mobile browser blocked the login window.": "Your mobile browser blocked the login window.",
|
|
@@ -9992,6 +10369,7 @@ var en_default = {
|
|
|
9992
10369
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.",
|
|
9993
10370
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.",
|
|
9994
10371
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "Your {{name}}.veworld.vet name has been claimed successfully.",
|
|
10372
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "Your {{name}}.{{domainType}} name has been claimed successfully.",
|
|
9995
10373
|
here: "here",
|
|
9996
10374
|
of: "of",
|
|
9997
10375
|
on: "on",
|
|
@@ -10048,6 +10426,7 @@ var de_default = {
|
|
|
10048
10426
|
"Are you sure you want to disconnect your wallet?": "Sind Sie sicher, dass Sie Ihr Wallet trennen m\xF6chten?",
|
|
10049
10427
|
"Are you sure you want to set your domain name to": "Sind Sie sicher, dass Sie Ihren Domainnamen auf",
|
|
10050
10428
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "Sind Sie sicher, dass Sie {{accountType}} als Anmeldemethode, die mit {{accountDescription}} verkn\xFCpft ist, trennen m\xF6chten?",
|
|
10429
|
+
"Are you sure you want to unset your current domain?": "Sind Sie sicher, dass Sie Ihre aktuelle Domain aufheben m\xF6chten?",
|
|
10051
10430
|
Assets: "Verm\xF6genswerte",
|
|
10052
10431
|
At: "Am",
|
|
10053
10432
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR ist der Anreiz-Token von VeBetterDAO, aufgebaut auf der VechainThor-Blockchain. Es gibt eine Obergrenze von 1 Milliarde Tokens, die w\xF6chentlich \xFCber 12 Jahre hinweg ausgegeben werden. B3TR wird f\xFCr Belohnungen, Governance und die Unterst\xFCtzung von VOT3-Token im Verh\xE4ltnis 1:1 verwendet. Es unterst\xFCtzt Nachhaltigkeitsanwendungen und das Verwaltung der DAO-Kasse.",
|
|
@@ -10087,6 +10466,7 @@ var de_default = {
|
|
|
10087
10466
|
Confirm: "Best\xE4tigen",
|
|
10088
10467
|
"Confirm Changes": "\xC4nderungen best\xE4tigen",
|
|
10089
10468
|
"Confirm Name": "Name best\xE4tigen",
|
|
10469
|
+
"Confirm Unset Domain": "L\xF6schung der Domain best\xE4tigen",
|
|
10090
10470
|
"Confirm the transaction in your wallet to complete it.": "Best\xE4tigen Sie die Transaktion in Ihrer Wallet, um sie abzuschlie\xDFen.",
|
|
10091
10471
|
"Confirm transaction": "Transaktion best\xE4tigen",
|
|
10092
10472
|
"Connect Wallet": "Wallet verbinden",
|
|
@@ -10140,6 +10520,8 @@ var de_default = {
|
|
|
10140
10520
|
Discord: "Discord",
|
|
10141
10521
|
"Display Name": "Anzeigename",
|
|
10142
10522
|
"Display name must be less than 25 characters": "Der Anzeigename muss weniger als 25 Zeichen umfassen",
|
|
10523
|
+
"Domain set": "Domain eingerichtet",
|
|
10524
|
+
"Domain unset": "Domain aufgehoben",
|
|
10143
10525
|
Done: "Fertig",
|
|
10144
10526
|
Ecosystem: "\xD6kosystem",
|
|
10145
10527
|
"Ecosystem Login": "\xD6kosystem-Anmeldung",
|
|
@@ -10297,6 +10679,7 @@ var de_default = {
|
|
|
10297
10679
|
Remove: "Entfernen",
|
|
10298
10680
|
"Remove Login Method": "Anmeldemethode entfernen",
|
|
10299
10681
|
"Remove from shortcuts": "Aus den Verkn\xFCpfungen entfernen",
|
|
10682
|
+
"Remove your current domain name": "Entfernen Sie Ihren aktuellen Domainnamen",
|
|
10300
10683
|
"Resend code": "Code erneut senden",
|
|
10301
10684
|
Retry: "Erneut versuchen",
|
|
10302
10685
|
"Safari blocked the login window. Please try again, it should work now.": "Safari hat das Anmeldefenster blockiert. Bitte versuchen Sie es erneut, jetzt sollte es funktionieren.",
|
|
@@ -10376,6 +10759,7 @@ var de_default = {
|
|
|
10376
10759
|
"Token Contract Address": "Token-Vertragsadresse",
|
|
10377
10760
|
"Token already added": "Token bereits hinzugef\xFCgt",
|
|
10378
10761
|
"Tokens transferred successfully.": "Tokens erfolgreich \xFCbertragen.",
|
|
10762
|
+
Tools: "Werkzeuge",
|
|
10379
10763
|
"Total balance": "Gesamtguthaben",
|
|
10380
10764
|
"Transaction completed!": "Transaktion abgeschlossen!",
|
|
10381
10765
|
"Transaction failed": "Transaktion fehlgeschlagen",
|
|
@@ -10395,6 +10779,11 @@ var de_default = {
|
|
|
10395
10779
|
"Unknown error": "Unbekannter Fehler",
|
|
10396
10780
|
"Unknown status": "Unbekannter Status",
|
|
10397
10781
|
"Unlink Login Method": "Anmeldemethode entfernen",
|
|
10782
|
+
"Unset current domain": "Aktuelle Domain aufheben",
|
|
10783
|
+
"Unsetting current domain": "Aufheben der aktuellen Domain",
|
|
10784
|
+
"Unsetting current domain...": "Aktuelle Domain wird aufgehoben...",
|
|
10785
|
+
"Unsetting your current VeChain nickname": "Aufheben Ihres aktuellen VeChain-Spitznamens",
|
|
10786
|
+
"Unsetting your current domain": "Aufheben Ihrer aktuellen Domain",
|
|
10398
10787
|
"Update profile image": "Profilbild aktualisieren",
|
|
10399
10788
|
"Upgrade Now": "Jetzt upgraden",
|
|
10400
10789
|
"Upgrade Smart Account to V3": "Smart Account auf V3 upgraden",
|
|
@@ -10462,8 +10851,10 @@ var de_default = {
|
|
|
10462
10851
|
"You own a Smart Account and it has priority over your wallet.": "Sie besitzen einen Smart Account und dieser hat Vorrang vor Ihrer Wallet.",
|
|
10463
10852
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "Ihr Konto wurde erfolgreich auf die neueste Version aktualisiert. Sie k\xF6nnen nun eine bessere Benutzererfahrung, niedrigere Gaskosten und erh\xF6hte Sicherheit genie\xDFen.",
|
|
10464
10853
|
"Your accounts": "Ihre Konten",
|
|
10854
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "Ihre Adresse wurde erfolgreich auf {{name}}.{{domainType}} gesetzt.",
|
|
10465
10855
|
"Your changes have been saved successfully.": "Ihre \xC4nderungen wurden erfolgreich gespeichert.",
|
|
10466
10856
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "Ihre Anpassungen sind mit Ihrem .vet-Domainnamen verkn\xFCpft, wodurch sie in verschiedenen Anwendungen tragbar sind.",
|
|
10857
|
+
"Your domain has been unset successfully.": "Ihre Domain wurde erfolgreich aufgehoben.",
|
|
10467
10858
|
"Your embedded wallet": "Ihr eingebettetes Portemonnaie",
|
|
10468
10859
|
"Your existing domains": "Ihre vorhandenen Domains",
|
|
10469
10860
|
"Your mobile browser blocked the login window.": "Ihr mobiler Browser hat das Anmeldefenster blockiert.",
|
|
@@ -10480,6 +10871,7 @@ var de_default = {
|
|
|
10480
10871
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "Ihr Wallet ist durch einen privaten Schl\xFCssel gesichert. Der private Schl\xFCssel ist ein einzigartiger Code, der es Ihnen erm\xF6glicht, auf Ihr Wallet zuzugreifen. Er wird in Ihrem Browser gespeichert und wird verwendet, um Transaktionen zu signieren. Der private Schl\xFCssel wird niemals mit jemandem geteilt, einschlie\xDFlich der VeChain Foundation.",
|
|
10481
10872
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "Die Sicherheit Ihres Wallets h\xE4ngt davon ab, wie Sie darauf zugreifen. Mit Selbstverwaltungsoptionen wie der VeWorld-Erweiterung, der mobilen App oder einer Hardware-Wallet haben Sie die vollst\xE4ndige Kontrolle \xFCber Ihre privaten Schl\xFCssel. Diese Erweiterung selbst hat keinen Zugriff auf Ihre privaten Schl\xFCssel. Beim Einloggen mit sozialen Konten oder VeChain wird Ihr Wallet von Privy erstellt und gesichert und von VeChain verwaltet, was ein einfacheres Onboarding-Erlebnis bietet und gleichzeitig die Sicherheit gew\xE4hrleistet.",
|
|
10482
10873
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "Ihr {{name}}.veworld.vet-Name wurde erfolgreich beansprucht.",
|
|
10874
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "Ihr {{name}}.{{domainType}}-Name wurde erfolgreich beansprucht.",
|
|
10483
10875
|
here: "hier",
|
|
10484
10876
|
of: "von",
|
|
10485
10877
|
on: "am",
|
|
@@ -10536,6 +10928,7 @@ var it_default = {
|
|
|
10536
10928
|
"Are you sure you want to disconnect your wallet?": "Sei sicuro di voler disconnettere il tuo portafoglio?",
|
|
10537
10929
|
"Are you sure you want to set your domain name to": "Sei sicuro di voler impostare il tuo nome di dominio su",
|
|
10538
10930
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "Sei sicuro di voler scollegare {{accountType}} come metodo di accesso collegato a {{accountDescription}}?",
|
|
10931
|
+
"Are you sure you want to unset your current domain?": "Sei sicuro di voler rimuovere il tuo attuale dominio?",
|
|
10539
10932
|
Assets: "Risorse",
|
|
10540
10933
|
At: "Alle",
|
|
10541
10934
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR \xE8 il token incentivo di VeBetterDAO, creato sulla blockchain VechainThor. Ha una fornitura massima di 1 miliardo di token, emessi settimanalmente per 12 anni. B3TR viene utilizzato per ricompense, governance e supporto dei token VOT3 1:1. Supporta applicazioni di sostenibilit\xE0 e gestione del tesoro del DAO.",
|
|
@@ -10575,6 +10968,7 @@ var it_default = {
|
|
|
10575
10968
|
Confirm: "Conferma",
|
|
10576
10969
|
"Confirm Changes": "Conferma Modifiche",
|
|
10577
10970
|
"Confirm Name": "Conferma Nome",
|
|
10971
|
+
"Confirm Unset Domain": "Conferma Rimozione Dominio",
|
|
10578
10972
|
"Confirm the transaction in your wallet to complete it.": "Conferma la transazione nel tuo portafoglio per completarla.",
|
|
10579
10973
|
"Confirm transaction": "Conferma transazione",
|
|
10580
10974
|
"Connect Wallet": "Collega Portafoglio",
|
|
@@ -10628,6 +11022,8 @@ var it_default = {
|
|
|
10628
11022
|
Discord: "Discord",
|
|
10629
11023
|
"Display Name": "Nome da visualizzare",
|
|
10630
11024
|
"Display name must be less than 25 characters": "Il nome da visualizzare deve contenere meno di 25 caratteri",
|
|
11025
|
+
"Domain set": "Dominio impostato",
|
|
11026
|
+
"Domain unset": "Dominio rimosso",
|
|
10631
11027
|
Done: "Fatto",
|
|
10632
11028
|
Ecosystem: "Ecosistema",
|
|
10633
11029
|
"Ecosystem Login": "Accesso Ecosistema",
|
|
@@ -10785,6 +11181,7 @@ var it_default = {
|
|
|
10785
11181
|
Remove: "Rimuovi",
|
|
10786
11182
|
"Remove Login Method": "Rimuovi metodo di accesso",
|
|
10787
11183
|
"Remove from shortcuts": "Rimuovi dai collegamenti",
|
|
11184
|
+
"Remove your current domain name": "Rimuovi il tuo attuale nome di dominio",
|
|
10788
11185
|
"Resend code": "Reinvia codice",
|
|
10789
11186
|
Retry: "Riprova",
|
|
10790
11187
|
"Safari blocked the login window. Please try again, it should work now.": "Safari ha bloccato la finestra di accesso. Si prega di riprovare, dovrebbe funzionare ora.",
|
|
@@ -10864,6 +11261,7 @@ var it_default = {
|
|
|
10864
11261
|
"Token Contract Address": "Indirizzo del Contratto del Token",
|
|
10865
11262
|
"Token already added": "Token gi\xE0 aggiunto",
|
|
10866
11263
|
"Tokens transferred successfully.": "Token trasferiti con successo.",
|
|
11264
|
+
Tools: "Strumenti",
|
|
10867
11265
|
"Total balance": "Saldo totale",
|
|
10868
11266
|
"Transaction completed!": "Transazione completata!",
|
|
10869
11267
|
"Transaction failed": "Transazione fallita",
|
|
@@ -10883,6 +11281,11 @@ var it_default = {
|
|
|
10883
11281
|
"Unknown error": "Errore sconosciuto",
|
|
10884
11282
|
"Unknown status": "Stato sconosciuto",
|
|
10885
11283
|
"Unlink Login Method": "Scollega metodo di accesso",
|
|
11284
|
+
"Unset current domain": "Rimuovi dominio attuale",
|
|
11285
|
+
"Unsetting current domain": "Rimozione del dominio attuale",
|
|
11286
|
+
"Unsetting current domain...": "Rimozione del dominio attuale in corso...",
|
|
11287
|
+
"Unsetting your current VeChain nickname": "Rimozione del tuo attuale soprannome VeChain",
|
|
11288
|
+
"Unsetting your current domain": "Rimozione del tuo attuale dominio",
|
|
10886
11289
|
"Update profile image": "Aggiorna immagine del profilo",
|
|
10887
11290
|
"Upgrade Now": "Aggiorna Ora",
|
|
10888
11291
|
"Upgrade Smart Account to V3": "Aggiorna Conto Smart a V3",
|
|
@@ -10950,8 +11353,10 @@ var it_default = {
|
|
|
10950
11353
|
"You own a Smart Account and it has priority over your wallet.": "Possiedi un Account Smart e ha priorit\xE0 sul tuo portafoglio.",
|
|
10951
11354
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "Il tuo account \xE8 stato aggiornato con successo all'ultima versione. Ora puoi godere di un'esperienza utente migliorata, costi del gas ridotti e maggiore sicurezza.",
|
|
10952
11355
|
"Your accounts": "I tuoi account",
|
|
11356
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "Il tuo indirizzo \xE8 stato impostato correttamente su {{name}}.{{domainType}}.",
|
|
10953
11357
|
"Your changes have been saved successfully.": "Le tue modifiche sono state salvate con successo.",
|
|
10954
11358
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "Le tue personalizzazioni sono collegate al tuo nome di dominio .vet, rendendole portabili tra diverse applicazioni.",
|
|
11359
|
+
"Your domain has been unset successfully.": "Il tuo dominio \xE8 stato rimosso con successo.",
|
|
10955
11360
|
"Your embedded wallet": "Il tuo portafoglio integrato",
|
|
10956
11361
|
"Your existing domains": "I tuoi domini esistenti",
|
|
10957
11362
|
"Your mobile browser blocked the login window.": "Il tuo browser mobile ha bloccato la finestra di accesso.",
|
|
@@ -10968,6 +11373,7 @@ var it_default = {
|
|
|
10968
11373
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "Il tuo portafoglio \xE8 protetto da una chiave privata. La chiave privata \xE8 un codice unico che ti consente di accedere al tuo portafoglio. \xC8 memorizzata nel tuo browser e viene utilizzata per firmare le transazioni. La chiave privata non viene mai condivisa con nessuno, inclusa la Fondazione VeChain.",
|
|
10969
11374
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "La sicurezza del tuo portafoglio dipende da come vi accedi. Con opzioni di autocustodia come l'estensione VeWorld, l'app mobile o il portafoglio hardware, hai il controllo completo sulle tue chiavi private. Questa estensione stessa non ha accesso alle tue chiavi private. Quando accedi con i social account o VeChain, il tuo portafoglio viene creato e protetto da Privy e gestito da VeChain, offrendo un'esperienza di onboarding pi\xF9 semplice mantenendo la sicurezza.",
|
|
10970
11375
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "Il tuo nome {{name}}.veworld.vet \xE8 stato rivendicato con successo.",
|
|
11376
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "Il tuo nome {{name}}.{{domainType}} \xE8 stato rivendicato con successo.",
|
|
10971
11377
|
here: "qui",
|
|
10972
11378
|
of: "di",
|
|
10973
11379
|
on: "su",
|
|
@@ -11024,6 +11430,7 @@ var fr_default = {
|
|
|
11024
11430
|
"Are you sure you want to disconnect your wallet?": "\xCAtes-vous s\xFBr de vouloir d\xE9connecter votre portefeuille ?",
|
|
11025
11431
|
"Are you sure you want to set your domain name to": "\xCAtes-vous s\xFBr de vouloir d\xE9finir votre nom de domaine sur",
|
|
11026
11432
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "\xCAtes-vous s\xFBr de vouloir dissocier {{accountType}} en tant que m\xE9thode de connexion li\xE9e \xE0 {{accountDescription}} ?",
|
|
11433
|
+
"Are you sure you want to unset your current domain?": "\xCAtes-vous s\xFBr de vouloir d\xE9s\xE9lectionner votre domaine actuel ?",
|
|
11027
11434
|
Assets: "Actifs",
|
|
11028
11435
|
At: "\xC0",
|
|
11029
11436
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR est le token incitatif de VeBetterDAO, construit sur la blockchain VechainThor. Il a un approvisionnement limit\xE9 \xE0 1 milliard de tokens, \xE9mis de fa\xE7on hebdomadaire sur 12 ans. B3TR est utilis\xE9 pour les r\xE9compenses, la gouvernance et pour soutenir les tokens VOT3 \xE0 un taux de 1:1. Il soutient les applications de durabilit\xE9 et la gestion de la tr\xE9sorerie DAO.",
|
|
@@ -11063,6 +11470,7 @@ var fr_default = {
|
|
|
11063
11470
|
Confirm: "Confirmer",
|
|
11064
11471
|
"Confirm Changes": "Confirmer les modifications",
|
|
11065
11472
|
"Confirm Name": "Confirmer le nom",
|
|
11473
|
+
"Confirm Unset Domain": "Confirmer la d\xE9s\xE9lection du domaine",
|
|
11066
11474
|
"Confirm the transaction in your wallet to complete it.": "Confirmez la transaction dans votre portefeuille pour la terminer.",
|
|
11067
11475
|
"Confirm transaction": "Confirmer la transaction",
|
|
11068
11476
|
"Connect Wallet": "Connecter le portefeuille",
|
|
@@ -11116,6 +11524,8 @@ var fr_default = {
|
|
|
11116
11524
|
Discord: "Discord",
|
|
11117
11525
|
"Display Name": "Nom affich\xE9",
|
|
11118
11526
|
"Display name must be less than 25 characters": "Le nom affich\xE9 doit comporter moins de 25 caract\xE8res",
|
|
11527
|
+
"Domain set": "Domaine d\xE9fini",
|
|
11528
|
+
"Domain unset": "Domaine d\xE9s\xE9lectionn\xE9",
|
|
11119
11529
|
Done: "Fait",
|
|
11120
11530
|
Ecosystem: "\xC9cosyst\xE8me",
|
|
11121
11531
|
"Ecosystem Login": "Connexion \xE0 l'\xE9cosyst\xE8me",
|
|
@@ -11273,6 +11683,7 @@ var fr_default = {
|
|
|
11273
11683
|
Remove: "Supprimer",
|
|
11274
11684
|
"Remove Login Method": "Supprimer la m\xE9thode de connexion",
|
|
11275
11685
|
"Remove from shortcuts": "Retirer des raccourcis",
|
|
11686
|
+
"Remove your current domain name": "Supprimer votre nom de domaine actuel",
|
|
11276
11687
|
"Resend code": "Renvoyer le code",
|
|
11277
11688
|
Retry: "R\xE9essayer",
|
|
11278
11689
|
"Safari blocked the login window. Please try again, it should work now.": "Safari a bloqu\xE9 la fen\xEAtre de connexion. Veuillez r\xE9essayer, cela devrait fonctionner maintenant.",
|
|
@@ -11352,6 +11763,7 @@ var fr_default = {
|
|
|
11352
11763
|
"Token Contract Address": "Adresse du contrat du jeton",
|
|
11353
11764
|
"Token already added": "Jeton d\xE9j\xE0 ajout\xE9",
|
|
11354
11765
|
"Tokens transferred successfully.": "Jetons transf\xE9r\xE9s avec succ\xE8s.",
|
|
11766
|
+
Tools: "Outils",
|
|
11355
11767
|
"Total balance": "Solde total",
|
|
11356
11768
|
"Transaction completed!": "Transaction termin\xE9e !",
|
|
11357
11769
|
"Transaction failed": "La transaction a \xE9chou\xE9",
|
|
@@ -11371,6 +11783,11 @@ var fr_default = {
|
|
|
11371
11783
|
"Unknown error": "Erreur inconnue",
|
|
11372
11784
|
"Unknown status": "Statut inconnu",
|
|
11373
11785
|
"Unlink Login Method": "Dissocier la m\xE9thode de connexion",
|
|
11786
|
+
"Unset current domain": "D\xE9s\xE9lectionner le domaine actuel",
|
|
11787
|
+
"Unsetting current domain": "D\xE9s\xE9lection du domaine actuel",
|
|
11788
|
+
"Unsetting current domain...": "D\xE9s\xE9lection du domaine actuel...",
|
|
11789
|
+
"Unsetting your current VeChain nickname": "D\xE9s\xE9lection de votre surnom VeChain actuel",
|
|
11790
|
+
"Unsetting your current domain": "D\xE9s\xE9lection de votre domaine actuel",
|
|
11374
11791
|
"Update profile image": "Mettre \xE0 jour l'image de profil",
|
|
11375
11792
|
"Upgrade Now": "Mettre \xE0 niveau maintenant",
|
|
11376
11793
|
"Upgrade Smart Account to V3": "Mettre \xE0 niveau le compte intelligent vers V3",
|
|
@@ -11438,8 +11855,10 @@ var fr_default = {
|
|
|
11438
11855
|
"You own a Smart Account and it has priority over your wallet.": "Vous poss\xE9dez un Smart Account et il a la priorit\xE9 sur votre portefeuille.",
|
|
11439
11856
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "Votre compte a \xE9t\xE9 mis \xE0 niveau avec succ\xE8s vers la derni\xE8re version. Vous pouvez d\xE9sormais profiter d'une meilleure exp\xE9rience utilisateur, de co\xFBts de gaz r\xE9duits et d'une s\xE9curit\xE9 renforc\xE9e.",
|
|
11440
11857
|
"Your accounts": "Vos comptes",
|
|
11858
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "Votre adresse a \xE9t\xE9 d\xE9finie avec succ\xE8s sur {{name}}.{{domainType}}.",
|
|
11441
11859
|
"Your changes have been saved successfully.": "Vos modifications ont \xE9t\xE9 enregistr\xE9es avec succ\xE8s.",
|
|
11442
11860
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "Vos personnalisations sont li\xE9es \xE0 votre nom de domaine .vet, ce qui les rend portables \xE0 travers diff\xE9rentes applications.",
|
|
11861
|
+
"Your domain has been unset successfully.": "Votre domaine a \xE9t\xE9 d\xE9s\xE9lectionn\xE9 avec succ\xE8s.",
|
|
11443
11862
|
"Your embedded wallet": "Votre portefeuille int\xE9gr\xE9",
|
|
11444
11863
|
"Your existing domains": "Vos domaines existants",
|
|
11445
11864
|
"Your mobile browser blocked the login window.": "Votre navigateur mobile a bloqu\xE9 la fen\xEAtre de connexion.",
|
|
@@ -11456,6 +11875,7 @@ var fr_default = {
|
|
|
11456
11875
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "Votre portefeuille est s\xE9curis\xE9 par une cl\xE9 priv\xE9e. La cl\xE9 priv\xE9e est un code unique qui vous permet d'acc\xE9der \xE0 votre portefeuille. Elle est stock\xE9e dans votre navigateur et est utilis\xE9e pour signer des transactions. La cl\xE9 priv\xE9e n'est jamais partag\xE9e avec qui que ce soit, y compris la Fondation VeChain.",
|
|
11457
11876
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "La s\xE9curit\xE9 de votre portefeuille d\xE9pend de la fa\xE7on dont vous y acc\xE9dez. Avec des options d'auto-gardiennage comme l'extension VeWorld, l'application mobile ou le portefeuille mat\xE9riel, vous avez un contr\xF4le complet sur vos cl\xE9s priv\xE9es. Cette extension en elle-m\xEAme n'a pas acc\xE8s \xE0 vos cl\xE9s priv\xE9es. Lors de la connexion avec des comptes sociaux ou VeChain, votre portefeuille est cr\xE9\xE9 et s\xE9curis\xE9 par Privy et g\xE9r\xE9 par VeChain, offrant une exp\xE9rience d'int\xE9gration plus facile tout en maintenant la s\xE9curit\xE9.",
|
|
11458
11877
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "Votre nom {{name}}.veworld.vet a \xE9t\xE9 revendiqu\xE9 avec succ\xE8s.",
|
|
11878
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "Votre nom {{name}}.{{domainType}} a \xE9t\xE9 revendiqu\xE9 avec succ\xE8s.",
|
|
11459
11879
|
here: "ici",
|
|
11460
11880
|
of: "de",
|
|
11461
11881
|
on: "le",
|
|
@@ -11512,6 +11932,7 @@ var es_default = {
|
|
|
11512
11932
|
"Are you sure you want to disconnect your wallet?": "\xBFEst\xE1s seguro de que quieres desconectar tu billetera?",
|
|
11513
11933
|
"Are you sure you want to set your domain name to": "\xBFEst\xE1s seguro de que quieres establecer tu nombre de dominio en",
|
|
11514
11934
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "\xBFEst\xE1 seguro de que desea desvincular {{accountType}} como m\xE9todo de inicio de sesi\xF3n vinculado a {{accountDescription}}?",
|
|
11935
|
+
"Are you sure you want to unset your current domain?": "\xBFEst\xE1 seguro de que desea desactivar su dominio actual?",
|
|
11515
11936
|
Assets: "Activos",
|
|
11516
11937
|
At: "En",
|
|
11517
11938
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR es el token de incentivo de VeBetterDAO, construido sobre la blockchain VechainThor. Tiene un suministro limitado de 1 mil millones de tokens, emitidos semanalmente durante 12 a\xF1os. B3TR se utiliza para recompensas, gobernanza y respaldar tokens VOT3 en una proporci\xF3n de 1:1. Apoya aplicaciones sostenibles y la gesti\xF3n del tesoro del DAO.",
|
|
@@ -11551,6 +11972,7 @@ var es_default = {
|
|
|
11551
11972
|
Confirm: "Confirmar",
|
|
11552
11973
|
"Confirm Changes": "Confirmar cambios",
|
|
11553
11974
|
"Confirm Name": "Confirmar Nombre",
|
|
11975
|
+
"Confirm Unset Domain": "Confirmar desactivaci\xF3n de dominio",
|
|
11554
11976
|
"Confirm the transaction in your wallet to complete it.": "Confirme la transacci\xF3n en su monedero para completarla.",
|
|
11555
11977
|
"Confirm transaction": "Confirmar transacci\xF3n",
|
|
11556
11978
|
"Connect Wallet": "Conectar Monedero",
|
|
@@ -11604,6 +12026,8 @@ var es_default = {
|
|
|
11604
12026
|
Discord: "Discord",
|
|
11605
12027
|
"Display Name": "Nombre para mostrar",
|
|
11606
12028
|
"Display name must be less than 25 characters": "El nombre para mostrar debe tener menos de 25 caracteres",
|
|
12029
|
+
"Domain set": "Dominio configurado",
|
|
12030
|
+
"Domain unset": "Dominio desactivado",
|
|
11607
12031
|
Done: "Hecho",
|
|
11608
12032
|
Ecosystem: "Ecosistema",
|
|
11609
12033
|
"Ecosystem Login": "Inicio de sesi\xF3n en el ecosistema",
|
|
@@ -11761,6 +12185,7 @@ var es_default = {
|
|
|
11761
12185
|
Remove: "Eliminar",
|
|
11762
12186
|
"Remove Login Method": "Eliminar m\xE9todo de inicio de sesi\xF3n",
|
|
11763
12187
|
"Remove from shortcuts": "Eliminar de los accesos directos",
|
|
12188
|
+
"Remove your current domain name": "Eliminar su nombre de dominio actual",
|
|
11764
12189
|
"Resend code": "Reenviar c\xF3digo",
|
|
11765
12190
|
Retry: "Reintentar",
|
|
11766
12191
|
"Safari blocked the login window. Please try again, it should work now.": "Safari bloque\xF3 la ventana de inicio de sesi\xF3n. Por favor, int\xE9ntelo de nuevo, deber\xEDa funcionar ahora.",
|
|
@@ -11840,6 +12265,7 @@ var es_default = {
|
|
|
11840
12265
|
"Token Contract Address": "Direcci\xF3n del contrato del token",
|
|
11841
12266
|
"Token already added": "Token ya agregado",
|
|
11842
12267
|
"Tokens transferred successfully.": "Tokens transferidos exitosamente.",
|
|
12268
|
+
Tools: "Herramientas",
|
|
11843
12269
|
"Total balance": "Saldo total",
|
|
11844
12270
|
"Transaction completed!": "\xA1Transacci\xF3n completada!",
|
|
11845
12271
|
"Transaction failed": "Transacci\xF3n fallida",
|
|
@@ -11859,6 +12285,11 @@ var es_default = {
|
|
|
11859
12285
|
"Unknown error": "Error desconocido",
|
|
11860
12286
|
"Unknown status": "Estado desconocido",
|
|
11861
12287
|
"Unlink Login Method": "Desvincular m\xE9todo de inicio de sesi\xF3n",
|
|
12288
|
+
"Unset current domain": "Desactivar dominio actual",
|
|
12289
|
+
"Unsetting current domain": "Desactivando dominio actual",
|
|
12290
|
+
"Unsetting current domain...": "Desactivando dominio actual...",
|
|
12291
|
+
"Unsetting your current VeChain nickname": "Desactivando su apodo de VeChain actual",
|
|
12292
|
+
"Unsetting your current domain": "Desactivando su dominio actual",
|
|
11862
12293
|
"Update profile image": "Actualizar imagen de perfil",
|
|
11863
12294
|
"Upgrade Now": "Actualizar ahora",
|
|
11864
12295
|
"Upgrade Smart Account to V3": "Actualizar cuenta inteligente a V3",
|
|
@@ -11926,8 +12357,10 @@ var es_default = {
|
|
|
11926
12357
|
"You own a Smart Account and it has priority over your wallet.": "Posees una Smart Account y tiene prioridad sobre tu billetera.",
|
|
11927
12358
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "Su cuenta ha sido actualizada exitosamente a la \xFAltima versi\xF3n. Ahora puede disfrutar de una mejor experiencia de usuario, menores costos de gas y mayor seguridad.",
|
|
11928
12359
|
"Your accounts": "Tus cuentas",
|
|
12360
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "Su direcci\xF3n ha sido configurada exitosamente a {{name}}.{{domainType}}.",
|
|
11929
12361
|
"Your changes have been saved successfully.": "Tus cambios han sido guardados exitosamente.",
|
|
11930
12362
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "Tus personalizaciones est\xE1n vinculadas a tu nombre de dominio .vet, lo que las hace port\xE1tiles a trav\xE9s de diferentes aplicaciones.",
|
|
12363
|
+
"Your domain has been unset successfully.": "Su dominio ha sido desactivado exitosamente.",
|
|
11931
12364
|
"Your embedded wallet": "Su billetera integrada",
|
|
11932
12365
|
"Your existing domains": "Tus dominios existentes",
|
|
11933
12366
|
"Your mobile browser blocked the login window.": "Tu navegador m\xF3vil bloque\xF3 la ventana de inicio de sesi\xF3n.",
|
|
@@ -11944,6 +12377,7 @@ var es_default = {
|
|
|
11944
12377
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "Tu billetera est\xE1 protegida por una clave privada. La clave privada es un c\xF3digo \xFAnico que te permite acceder a tu billetera. Se almacena en tu navegador y se utiliza para firmar transacciones. La clave privada nunca se comparte con nadie, incluida la Fundaci\xF3n VeChain.",
|
|
11945
12378
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "La seguridad de tu billetera depende de c\xF3mo accedas a ella. Con opciones de autocustodia como la extensi\xF3n VeWorld, la aplicaci\xF3n m\xF3vil o la billetera de hardware, tienes control total sobre tus claves privadas. Esta extensi\xF3n no tiene acceso a tus claves privadas. Al iniciar sesi\xF3n con cuentas sociales o VeChain, tu billetera es creada y asegurada por Privy y gestionada por VeChain, ofreciendo una experiencia de integraci\xF3n m\xE1s sencilla mientras se mantiene la seguridad.",
|
|
11946
12379
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "Tu nombre {{name}}.veworld.vet ha sido reclamado exitosamente.",
|
|
12380
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "Su nombre {{name}}.{{domainType}} ha sido reclamado exitosamente.",
|
|
11947
12381
|
here: "aqu\xED",
|
|
11948
12382
|
of: "de",
|
|
11949
12383
|
on: "en",
|
|
@@ -12000,6 +12434,7 @@ var zh_default = {
|
|
|
12000
12434
|
"Are you sure you want to disconnect your wallet?": "\u60A8\u786E\u5B9A\u8981\u65AD\u5F00\u94B1\u5305\u8FDE\u63A5\u5417\uFF1F",
|
|
12001
12435
|
"Are you sure you want to set your domain name to": "\u60A8\u786E\u5B9A\u8981\u5C06\u60A8\u7684\u57DF\u540D\u8BBE\u7F6E\u4E3A",
|
|
12002
12436
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "\u60A8\u786E\u5B9A\u8981\u53D6\u6D88\u94FE\u63A5 {{accountDescription}} \u4E2D\u4F5C\u4E3A\u767B\u5F55\u65B9\u5F0F\u4E4B\u4E00\u7684 {{accountType}} \u5417\uFF1F",
|
|
12437
|
+
"Are you sure you want to unset your current domain?": "\u60A8\u786E\u5B9A\u8981\u53D6\u6D88\u8BBE\u7F6E\u5F53\u524D\u57DF\u540D\u5417\uFF1F",
|
|
12003
12438
|
Assets: "\u8D44\u4EA7",
|
|
12004
12439
|
At: "\u5728",
|
|
12005
12440
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR \u662F VeBetterDAO \u7684\u6FC0\u52B1\u6027\u4EE3\u5E01\uFF0C\u57FA\u4E8E VechainThor \u533A\u5757\u94FE\u6784\u5EFA\u3002\u5176\u4F9B\u5E94\u91CF\u4E0A\u9650\u4E3A 10 \u4EBF\u4E2A\u4EE3\u5E01\uFF0C\u5206 12 \u5E74\u6BCF\u5468\u53D1\u653E\u3002B3TR \u7528\u4E8E\u5956\u52B1\u3001\u6CBB\u7406\u4EE5\u53CA 1:1 \u652F\u6301 VOT3 \u4EE3\u5E01\u3002\u5B83\u652F\u6301\u53EF\u6301\u7EED\u6027\u5E94\u7528\u548C DAO \u8D22\u52A1\u7BA1\u7406\u3002",
|
|
@@ -12039,6 +12474,7 @@ var zh_default = {
|
|
|
12039
12474
|
Confirm: "\u786E\u8BA4",
|
|
12040
12475
|
"Confirm Changes": "\u786E\u8BA4\u66F4\u6539",
|
|
12041
12476
|
"Confirm Name": "\u786E\u8BA4\u59D3\u540D",
|
|
12477
|
+
"Confirm Unset Domain": "\u786E\u8BA4\u53D6\u6D88\u8BBE\u7F6E\u57DF\u540D",
|
|
12042
12478
|
"Confirm the transaction in your wallet to complete it.": "\u5728\u60A8\u7684\u94B1\u5305\u4E2D\u786E\u8BA4\u4EA4\u6613\u4EE5\u5B8C\u6210\u5B83\u3002",
|
|
12043
12479
|
"Confirm transaction": "\u786E\u8BA4\u4EA4\u6613",
|
|
12044
12480
|
"Connect Wallet": "\u8FDE\u63A5\u94B1\u5305",
|
|
@@ -12092,6 +12528,8 @@ var zh_default = {
|
|
|
12092
12528
|
Discord: "Discord",
|
|
12093
12529
|
"Display Name": "\u663E\u793A\u540D\u79F0",
|
|
12094
12530
|
"Display name must be less than 25 characters": "\u663E\u793A\u540D\u79F0\u5FC5\u987B\u5C11\u4E8E25\u4E2A\u5B57\u7B26",
|
|
12531
|
+
"Domain set": "\u57DF\u540D\u5DF2\u8BBE\u7F6E",
|
|
12532
|
+
"Domain unset": "\u57DF\u540D\u5DF2\u53D6\u6D88\u8BBE\u7F6E",
|
|
12095
12533
|
Done: "\u5B8C\u6210",
|
|
12096
12534
|
Ecosystem: "\u751F\u6001\u7CFB\u7EDF",
|
|
12097
12535
|
"Ecosystem Login": "\u751F\u6001\u7CFB\u7EDF\u767B\u5F55",
|
|
@@ -12249,6 +12687,7 @@ var zh_default = {
|
|
|
12249
12687
|
Remove: "\u79FB\u9664",
|
|
12250
12688
|
"Remove Login Method": "\u79FB\u9664\u767B\u5F55\u65B9\u5F0F",
|
|
12251
12689
|
"Remove from shortcuts": "\u4ECE\u5FEB\u6377\u65B9\u5F0F\u4E2D\u79FB\u9664",
|
|
12690
|
+
"Remove your current domain name": "\u79FB\u9664\u5F53\u524D\u57DF\u540D",
|
|
12252
12691
|
"Resend code": "\u91CD\u65B0\u53D1\u9001\u4EE3\u7801",
|
|
12253
12692
|
Retry: "\u91CD\u8BD5",
|
|
12254
12693
|
"Safari blocked the login window. Please try again, it should work now.": "Safari \u963B\u6B62\u4E86\u767B\u5F55\u7A97\u53E3\u3002\u8BF7\u518D\u6B21\u5C1D\u8BD5\uFF0C\u73B0\u5728\u5E94\u8BE5\u53EF\u4EE5\u6B63\u5E38\u5DE5\u4F5C\u3002",
|
|
@@ -12328,6 +12767,7 @@ var zh_default = {
|
|
|
12328
12767
|
"Token Contract Address": "\u4EE3\u5E01\u5408\u7EA6\u5730\u5740",
|
|
12329
12768
|
"Token already added": "\u4EE3\u5E01\u5DF2\u6DFB\u52A0",
|
|
12330
12769
|
"Tokens transferred successfully.": "\u4EE3\u5E01\u8F6C\u79FB\u6210\u529F\u3002",
|
|
12770
|
+
Tools: "\u5DE5\u5177",
|
|
12331
12771
|
"Total balance": "\u603B\u4F59\u989D",
|
|
12332
12772
|
"Transaction completed!": "\u4EA4\u6613\u5B8C\u6210\uFF01",
|
|
12333
12773
|
"Transaction failed": "\u4EA4\u6613\u5931\u8D25",
|
|
@@ -12347,6 +12787,11 @@ var zh_default = {
|
|
|
12347
12787
|
"Unknown error": "\u672A\u77E5\u9519\u8BEF",
|
|
12348
12788
|
"Unknown status": "\u672A\u77E5\u72B6\u6001",
|
|
12349
12789
|
"Unlink Login Method": "\u53D6\u6D88\u94FE\u63A5\u767B\u5F55\u65B9\u5F0F",
|
|
12790
|
+
"Unset current domain": "\u53D6\u6D88\u8BBE\u7F6E\u5F53\u524D\u57DF\u540D",
|
|
12791
|
+
"Unsetting current domain": "\u6B63\u5728\u53D6\u6D88\u8BBE\u7F6E\u5F53\u524D\u57DF\u540D",
|
|
12792
|
+
"Unsetting current domain...": "\u6B63\u5728\u53D6\u6D88\u8BBE\u7F6E\u5F53\u524D\u57DF\u540D...",
|
|
12793
|
+
"Unsetting your current VeChain nickname": "\u53D6\u6D88\u8BBE\u7F6E\u60A8\u5F53\u524D\u7684VeChain\u6635\u79F0",
|
|
12794
|
+
"Unsetting your current domain": "\u53D6\u6D88\u8BBE\u7F6E\u60A8\u5F53\u524D\u7684\u57DF\u540D",
|
|
12350
12795
|
"Update profile image": "\u66F4\u65B0\u8D44\u6599\u56FE\u7247",
|
|
12351
12796
|
"Upgrade Now": "\u7ACB\u5373\u5347\u7EA7",
|
|
12352
12797
|
"Upgrade Smart Account to V3": "\u5C06\u667A\u80FD\u8D26\u6237\u5347\u7EA7\u5230V3",
|
|
@@ -12414,8 +12859,10 @@ var zh_default = {
|
|
|
12414
12859
|
"You own a Smart Account and it has priority over your wallet.": "\u60A8\u62E5\u6709\u4E00\u4E2A\u667A\u80FD\u8D26\u6237\uFF0C\u5B83\u4F18\u5148\u4E8E\u60A8\u7684\u94B1\u5305\u3002",
|
|
12415
12860
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "\u60A8\u7684\u8D26\u6237\u5DF2\u6210\u529F\u5347\u7EA7\u5230\u6700\u65B0\u7248\u672C\u3002\u60A8\u73B0\u5728\u53EF\u4EE5\u4EAB\u53D7\u66F4\u597D\u7684\u7528\u6237\u4F53\u9A8C\u3001\u66F4\u4F4E\u7684\u71C3\u6C14\u8D39\u7528\u548C\u589E\u5F3A\u7684\u5B89\u5168\u6027\u3002",
|
|
12416
12861
|
"Your accounts": "\u60A8\u7684\u8D26\u6237",
|
|
12862
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "\u60A8\u7684\u5730\u5740\u5DF2\u6210\u529F\u8BBE\u7F6E\u4E3A{{name}}.{{domainType}}\u3002",
|
|
12417
12863
|
"Your changes have been saved successfully.": "\u60A8\u7684\u66F4\u6539\u5DF2\u6210\u529F\u4FDD\u5B58\u3002",
|
|
12418
12864
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "\u60A8\u7684\u81EA\u5B9A\u4E49\u8BBE\u7F6E\u4E0E\u60A8\u7684.vet\u57DF\u540D\u76F8\u5173\u8054\uFF0C\u4F7F\u5176\u80FD\u591F\u5728\u4E0D\u540C\u7684\u5E94\u7528\u7A0B\u5E8F\u4E2D\u6D41\u7545\u4F7F\u7528\u3002",
|
|
12865
|
+
"Your domain has been unset successfully.": "\u60A8\u7684\u57DF\u540D\u5DF2\u6210\u529F\u53D6\u6D88\u8BBE\u7F6E\u3002",
|
|
12419
12866
|
"Your embedded wallet": "\u60A8\u7684\u5D4C\u5165\u94B1\u5305",
|
|
12420
12867
|
"Your existing domains": "\u60A8\u73B0\u6709\u7684\u57DF\u540D",
|
|
12421
12868
|
"Your mobile browser blocked the login window.": "\u60A8\u7684\u79FB\u52A8\u6D4F\u89C8\u5668\u963B\u6B62\u4E86\u767B\u5F55\u7A97\u53E3\u3002",
|
|
@@ -12432,6 +12879,7 @@ var zh_default = {
|
|
|
12432
12879
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "\u60A8\u7684\u94B1\u5305\u7531\u79C1\u94A5\u4FDD\u62A4\u3002\u79C1\u94A5\u662F\u4E00\u4E2A\u72EC\u7279\u7684\u4EE3\u7801\uFF0C\u5141\u8BB8\u60A8\u8BBF\u95EE\u60A8\u7684\u94B1\u5305\u3002\u5B83\u5B58\u50A8\u5728\u60A8\u7684\u6D4F\u89C8\u5668\u4E2D\uFF0C\u7528\u4E8E\u7B7E\u7F72\u4EA4\u6613\u3002\u79C1\u94A5\u4E0D\u4F1A\u4E0E\u4EFB\u4F55\u4EBA\u5171\u4EAB\uFF0C\u5305\u62EC\u552F\u94FE\u57FA\u91D1\u4F1A\u3002",
|
|
12433
12880
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "\u60A8\u7684\u94B1\u5305\u5B89\u5168\u6027\u53D6\u51B3\u4E8E\u60A8\u5982\u4F55\u8BBF\u95EE\u5B83\u3002\u901A\u8FC7 VeWorld \u63D2\u4EF6\u3001\u79FB\u52A8\u5E94\u7528\u6216\u786C\u4EF6\u94B1\u5305\u7B49\u81EA\u6211\u6258\u7BA1\u9009\u9879\uFF0C\u60A8\u53EF\u4EE5\u5B8C\u5168\u63A7\u5236\u60A8\u7684\u79C1\u94A5\u3002\u6B64\u63D2\u4EF6\u672C\u8EAB\u65E0\u6CD5\u8BBF\u95EE\u60A8\u7684\u79C1\u94A5\u3002\u4F7F\u7528\u793E\u4EA4\u8D26\u6237\u6216\u552F\u94FE\u767B\u5F55\u65F6\uFF0C\u60A8\u7684\u94B1\u5305\u7531 Privy \u521B\u5EFA\u548C\u4FDD\u62A4\uFF0C\u5E76\u7531\u552F\u94FE\u7BA1\u7406\uFF0C\u63D0\u4F9B\u66F4\u7B80\u5355\u7684\u5165\u95E8\u4F53\u9A8C\uFF0C\u540C\u65F6\u4FDD\u6301\u5B89\u5168\u6027\u3002",
|
|
12434
12881
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "\u60A8\u7684 {{name}}.veworld.vet \u540D\u5B57\u5DF2\u6210\u529F\u6CE8\u518C\u3002",
|
|
12882
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "\u60A8\u7684{{name}}.{{domainType}}\u540D\u79F0\u5DF2\u6210\u529F\u7533\u8BF7\u3002",
|
|
12435
12883
|
here: "\u8FD9\u91CC",
|
|
12436
12884
|
of: "\u7684",
|
|
12437
12885
|
on: "\u5F00\u542F",
|
|
@@ -12488,6 +12936,7 @@ var ja_default = {
|
|
|
12488
12936
|
"Are you sure you want to disconnect your wallet?": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5207\u65AD\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",
|
|
12489
12937
|
"Are you sure you want to set your domain name to": "\u30C9\u30E1\u30A4\u30F3\u540D\u3092\u8A2D\u5B9A\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B",
|
|
12490
12938
|
"Are you sure you want to unlink {{accountType}} as a login method linked to {{accountDescription}}?": "{{accountDescription}}\u306B\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3068\u3057\u3066{{accountType}}\u306E\u30EA\u30F3\u30AF\u3092\u89E3\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",
|
|
12939
|
+
"Are you sure you want to unset your current domain?": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u89E3\u9664\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F",
|
|
12491
12940
|
Assets: "\u8CC7\u7523",
|
|
12492
12941
|
At: "\u3067",
|
|
12493
12942
|
"B3TR is the incentive token of VeBetterDAO, built on VechainThor blockchain. It has a capped supply of 1 billion tokens, emitted weekly over 12 years. B3TR is used for rewards, governance, and backing VOT3 tokens 1:1. It supports sustainability applications and DAO treasury management.": "B3TR\u306FVeBetterDAO\u306E\u30A4\u30F3\u30BB\u30F3\u30C6\u30A3\u30D6\u30C8\u30FC\u30AF\u30F3\u3067\u3042\u308A\u3001VechainThor\u30D6\u30ED\u30C3\u30AF\u30C1\u30A7\u30FC\u30F3\u4E0A\u306B\u69CB\u7BC9\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u7DCF\u4F9B\u7D66\u91CF\u306F10\u5104\u30C8\u30FC\u30AF\u30F3\u306B\u9650\u5B9A\u3055\u308C\u300112\u5E74\u9593\u306B\u308F\u305F\u3063\u3066\u6BCE\u9031\u767A\u884C\u3055\u308C\u307E\u3059\u3002B3TR\u306F\u5831\u916C\u3001\u30AC\u30D0\u30CA\u30F3\u30B9\u3001\u304A\u3088\u3073VOT3\u30C8\u30FC\u30AF\u30F3\u306E1:1\u306E\u4FDD\u8B77\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\u305D\u308C\u306F\u30B5\u30B9\u30C6\u30CA\u30D3\u30EA\u30C6\u30A3\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068DAO\u30C8\u30EC\u30B8\u30E3\u30EA\u7BA1\u7406\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002",
|
|
@@ -12527,6 +12976,7 @@ var ja_default = {
|
|
|
12527
12976
|
Confirm: "\u78BA\u8A8D",
|
|
12528
12977
|
"Confirm Changes": "\u5909\u66F4\u3092\u78BA\u8A8D",
|
|
12529
12978
|
"Confirm Name": "\u540D\u524D\u3092\u78BA\u8A8D",
|
|
12979
|
+
"Confirm Unset Domain": "\u30C9\u30E1\u30A4\u30F3\u89E3\u9664\u3092\u78BA\u8A8D",
|
|
12530
12980
|
"Confirm the transaction in your wallet to complete it.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u3057\u3066\u5B8C\u4E86\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
12531
12981
|
"Confirm transaction": "\u53D6\u5F15\u3092\u78BA\u8A8D",
|
|
12532
12982
|
"Connect Wallet": "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u63A5\u7D9A",
|
|
@@ -12580,6 +13030,8 @@ var ja_default = {
|
|
|
12580
13030
|
Discord: "\u30C7\u30A3\u30B9\u30B3\u30FC\u30C9",
|
|
12581
13031
|
"Display Name": "\u8868\u793A\u540D",
|
|
12582
13032
|
"Display name must be less than 25 characters": "\u8868\u793A\u540D\u306F25\u6587\u5B57\u672A\u6E80\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093",
|
|
13033
|
+
"Domain set": "\u30C9\u30E1\u30A4\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u307E\u3057\u305F",
|
|
13034
|
+
"Domain unset": "\u30C9\u30E1\u30A4\u30F3\u304C\u89E3\u9664\u3055\u308C\u307E\u3057\u305F",
|
|
12583
13035
|
Done: "\u5B8C\u4E86",
|
|
12584
13036
|
Ecosystem: "\u30A8\u30B3\u30B7\u30B9\u30C6\u30E0",
|
|
12585
13037
|
"Ecosystem Login": "\u30A8\u30B3\u30B7\u30B9\u30C6\u30E0\u306B\u30ED\u30B0\u30A4\u30F3",
|
|
@@ -12737,6 +13189,7 @@ var ja_default = {
|
|
|
12737
13189
|
Remove: "\u524A\u9664",
|
|
12738
13190
|
"Remove Login Method": "\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u306E\u524A\u9664",
|
|
12739
13191
|
"Remove from shortcuts": "\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u304B\u3089\u524A\u9664",
|
|
13192
|
+
"Remove your current domain name": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u540D\u3092\u524A\u9664\u3059\u308B",
|
|
12740
13193
|
"Resend code": "\u30B3\u30FC\u30C9\u3092\u518D\u9001\u4FE1",
|
|
12741
13194
|
Retry: "\u518D\u8A66\u884C",
|
|
12742
13195
|
"Safari blocked the login window. Please try again, it should work now.": "Safari\u304C\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30D6\u30ED\u30C3\u30AF\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002\u4ECA\u5EA6\u306F\u3046\u307E\u304F\u3044\u304F\u306F\u305A\u3067\u3059\u3002",
|
|
@@ -12816,6 +13269,7 @@ var ja_default = {
|
|
|
12816
13269
|
"Token Contract Address": "\u30C8\u30FC\u30AF\u30F3\u5951\u7D04\u30A2\u30C9\u30EC\u30B9",
|
|
12817
13270
|
"Token already added": "\u30C8\u30FC\u30AF\u30F3\u306F\u65E2\u306B\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
12818
13271
|
"Tokens transferred successfully.": "\u30C8\u30FC\u30AF\u30F3\u306E\u8EE2\u9001\u304C\u6210\u529F\u3057\u307E\u3057\u305F\u3002",
|
|
13272
|
+
Tools: "\u30C4\u30FC\u30EB",
|
|
12819
13273
|
"Total balance": "\u7DCF\u6B8B\u9AD8",
|
|
12820
13274
|
"Transaction completed!": "\u53D6\u5F15\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01",
|
|
12821
13275
|
"Transaction failed": "\u53D6\u5F15\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
@@ -12835,6 +13289,11 @@ var ja_default = {
|
|
|
12835
13289
|
"Unknown error": "\u4E0D\u660E\u306A\u30A8\u30E9\u30FC",
|
|
12836
13290
|
"Unknown status": "\u4E0D\u660E\u306A\u72B6\u614B",
|
|
12837
13291
|
"Unlink Login Method": "\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u306E\u30EA\u30F3\u30AF\u89E3\u9664",
|
|
13292
|
+
"Unset current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u89E3\u9664\u3059\u308B",
|
|
13293
|
+
"Unsetting current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u89E3\u9664\u4E2D",
|
|
13294
|
+
"Unsetting current domain...": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u89E3\u9664\u4E2D...",
|
|
13295
|
+
"Unsetting your current VeChain nickname": "\u73FE\u5728\u306EVeChain\u30CB\u30C3\u30AF\u30CD\u30FC\u30E0\u3092\u89E3\u9664\u4E2D",
|
|
13296
|
+
"Unsetting your current domain": "\u73FE\u5728\u306E\u30C9\u30E1\u30A4\u30F3\u3092\u89E3\u9664\u4E2D",
|
|
12838
13297
|
"Update profile image": "\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u753B\u50CF\u3092\u66F4\u65B0",
|
|
12839
13298
|
"Upgrade Now": "\u4ECA\u3059\u3050\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9",
|
|
12840
13299
|
"Upgrade Smart Account to V3": "\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u3092V3\u306B\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9",
|
|
@@ -12902,8 +13361,10 @@ var ja_default = {
|
|
|
12902
13361
|
"You own a Smart Account and it has priority over your wallet.": "\u3042\u306A\u305F\u306F\u30B9\u30DE\u30FC\u30C8\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u6240\u6709\u3057\u3066\u304A\u308A\u3001\u305D\u308C\u306F\u3042\u306A\u305F\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u3088\u308A\u512A\u5148\u3055\u308C\u307E\u3059\u3002",
|
|
12903
13362
|
"Your account has been successfully upgraded to the latest version. You can now enjoy a better user experience, lower gas costs, and enhanced security.": "\u3042\u306A\u305F\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306F\u6700\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u6B63\u5E38\u306B\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u3055\u308C\u307E\u3057\u305F\u3002\u3088\u308A\u826F\u3044\u30E6\u30FC\u30B6\u30FC\u4F53\u9A13\u3001\u4F4E\u3044\u30AC\u30B9\u30B3\u30B9\u30C8\u3001\u5F37\u5316\u3055\u308C\u305F\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u304A\u697D\u3057\u307F\u304F\u3060\u3055\u3044\u3002",
|
|
12904
13363
|
"Your accounts": "\u3042\u306A\u305F\u306E\u30A2\u30AB\u30A6\u30F3\u30C8",
|
|
13364
|
+
"Your address has been successfully set to {{name}}.{{domainType}}.": "\u3042\u306A\u305F\u306E\u30A2\u30C9\u30EC\u30B9\u306F{{name}}.{{domainType}}\u306B\u6B63\u5E38\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
12905
13365
|
"Your changes have been saved successfully.": "\u5909\u66F4\u306F\u6B63\u5E38\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
12906
13366
|
"Your customizations are linked to your .vet domain name, making them portable across different applications.": "\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u306F.vet\u30C9\u30E1\u30A4\u30F3\u540D\u306B\u30EA\u30F3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u7570\u306A\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u9593\u3067\u6301\u3061\u904B\u3079\u307E\u3059\u3002",
|
|
13367
|
+
"Your domain has been unset successfully.": "\u3042\u306A\u305F\u306E\u30C9\u30E1\u30A4\u30F3\u306F\u6B63\u5E38\u306B\u89E3\u9664\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
12907
13368
|
"Your embedded wallet": "\u3042\u306A\u305F\u306E\u57CB\u3081\u8FBC\u307F\u30A6\u30A9\u30EC\u30C3\u30C8",
|
|
12908
13369
|
"Your existing domains": "\u65E2\u5B58\u306E\u30C9\u30E1\u30A4\u30F3",
|
|
12909
13370
|
"Your mobile browser blocked the login window.": "\u30E2\u30D0\u30A4\u30EB\u30D6\u30E9\u30A6\u30B6\u304C\u30ED\u30B0\u30A4\u30F3\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30D6\u30ED\u30C3\u30AF\u3057\u307E\u3057\u305F\u3002",
|
|
@@ -12920,6 +13381,7 @@ var ja_default = {
|
|
|
12920
13381
|
"Your wallet is secured by a private key. The private key is a unique code that allows you to access your wallet. It is stored in your browser and is used to sign transactions. The private key is never shared with anyone, including the VeChain Foundation.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u79D8\u5BC6\u9375\u306B\u3088\u3063\u3066\u4FDD\u8B77\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u79D8\u5BC6\u9375\u306F\u30A6\u30A9\u30EC\u30C3\u30C8\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u53EF\u80FD\u306B\u3059\u308B\u4E00\u610F\u306E\u30B3\u30FC\u30C9\u3067\u3059\u3002\u3053\u308C\u306F\u30D6\u30E9\u30A6\u30B6\u306B\u4FDD\u5B58\u3055\u308C\u3001\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306E\u7F72\u540D\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\u79D8\u5BC6\u9375\u306F\u3001VeChain\u306E\u8CA1\u56E3\u3092\u542B\u3080\u8AB0\u3068\u3082\u5171\u6709\u3055\u308C\u307E\u305B\u3093\u3002",
|
|
12921
13382
|
"Your wallet security depends on how you access it. With self-custody options like the VeWorld extension, mobile app, or hardware wallet, you have complete control over your private keys. This extension itself has no access to your private keys. When logging in with social accounts or VeChain, your wallet is created and secured by Privy and managed by VeChain, providing an easier onboarding experience while maintaining security.": "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306F\u3001\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u306B\u4F9D\u5B58\u3057\u307E\u3059\u3002VeWorld\u62E1\u5F35\u6A5F\u80FD\u3084\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA\u3001\u30CF\u30FC\u30C9\u30A6\u30A7\u30A2\u30A6\u30A9\u30EC\u30C3\u30C8\u306A\u3069\u306E\u81EA\u5DF1\u7BA1\u7406\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3067\u3001\u79D8\u5BC6\u9375\u3092\u5B8C\u5168\u306B\u7BA1\u7406\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u62E1\u5F35\u6A5F\u80FD\u81EA\u4F53\u306F\u3042\u306A\u305F\u306E\u79D8\u5BC6\u9375\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30BD\u30FC\u30B7\u30E3\u30EB\u30A2\u30AB\u30A6\u30F3\u30C8\u3084VeChain\u3092\u4F7F\u7528\u3057\u3066\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u5834\u5408\u3001\u30A6\u30A9\u30EC\u30C3\u30C8\u306FPrivy\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u3001\u4FDD\u8B77\u3055\u308C\u3001VeChain\u306B\u3088\u3063\u3066\u7BA1\u7406\u3055\u308C\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u7DAD\u6301\u3057\u3064\u3064\u5BB9\u6613\u306A\u30AA\u30F3\u30DC\u30FC\u30C7\u30A3\u30F3\u30B0\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059\u3002",
|
|
12922
13383
|
"Your {{name}}.veworld.vet name has been claimed successfully.": "\u3042\u306A\u305F\u306E{{name}}.veworld.vet\u540D\u304C\u6B63\u5E38\u306B\u8ACB\u6C42\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
13384
|
+
"Your {{name}}.{{domainType}} name has been claimed successfully.": "\u3042\u306A\u305F\u306E{{name}}.{{domainType}}\u540D\u306F\u6B63\u5E38\u306B\u53D6\u5F97\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
12923
13385
|
here: "\u3053\u3061\u3089",
|
|
12924
13386
|
of: "\u306E",
|
|
12925
13387
|
on: "\u4E0A",
|
|
@@ -12998,7 +13460,7 @@ var FAQContent = ({ onGoBack }) => {
|
|
|
12998
13460
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 6, align: "stretch", children: [
|
|
12999
13461
|
/* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { children: [
|
|
13000
13462
|
/* @__PURE__ */ jsxRuntime.jsx(react.HStack, { justify: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13001
|
-
|
|
13463
|
+
chunkTV24UEQU_cjs.VechainLogo,
|
|
13002
13464
|
{
|
|
13003
13465
|
isDark,
|
|
13004
13466
|
w: "200px",
|
|
@@ -13134,7 +13596,7 @@ var CustomizationContent = ({
|
|
|
13134
13596
|
setPreviewImageUrl(newPreviewUrl);
|
|
13135
13597
|
const uploadedImage = await onUpload(file);
|
|
13136
13598
|
if (!uploadedImage) throw new Error("Failed to compress image");
|
|
13137
|
-
const ipfsHash = await
|
|
13599
|
+
const ipfsHash = await chunkQRYVPUVY_cjs.uploadBlobToIPFS(
|
|
13138
13600
|
uploadedImage.file,
|
|
13139
13601
|
file.name,
|
|
13140
13602
|
network.type
|
|
@@ -13204,7 +13666,7 @@ var CustomizationContent = ({
|
|
|
13204
13666
|
backgroundPosition: "center",
|
|
13205
13667
|
position: "relative",
|
|
13206
13668
|
h: "80px",
|
|
13207
|
-
background: `no-repeat url('${
|
|
13669
|
+
background: `no-repeat url('${chunkQRYVPUVY_cjs.getPicassoImage(
|
|
13208
13670
|
account?.address ?? ""
|
|
13209
13671
|
)}')`,
|
|
13210
13672
|
w: "100%",
|
|
@@ -14092,7 +14554,7 @@ var ManageCustomTokenContent = ({
|
|
|
14092
14554
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14093
14555
|
react.Image,
|
|
14094
14556
|
{
|
|
14095
|
-
src:
|
|
14557
|
+
src: chunkQRYVPUVY_cjs.TOKEN_LOGOS[token?.symbol],
|
|
14096
14558
|
alt: `${token.symbol} logo`,
|
|
14097
14559
|
boxSize: "20px",
|
|
14098
14560
|
borderRadius: "full",
|
|
@@ -14122,7 +14584,7 @@ var ManageCustomTokenContent = ({
|
|
|
14122
14584
|
),
|
|
14123
14585
|
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontWeight: "medium", children: token.symbol ?? "Unknown" })
|
|
14124
14586
|
] }),
|
|
14125
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { opacity: 0.7, children:
|
|
14587
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { opacity: 0.7, children: chunkQRYVPUVY_cjs.humanAddress(
|
|
14126
14588
|
token.address ?? "",
|
|
14127
14589
|
4,
|
|
14128
14590
|
4
|
|
@@ -14168,7 +14630,7 @@ var BridgeContent = ({ setCurrentContent }) => {
|
|
|
14168
14630
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalCloseButton, {})
|
|
14169
14631
|
] }),
|
|
14170
14632
|
/* @__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: [
|
|
14171
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14633
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTV24UEQU_cjs.VechainEnergy, { isDark, borderRadius: "xl" }),
|
|
14172
14634
|
/* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", textAlign: "center", children: t(
|
|
14173
14635
|
"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."
|
|
14174
14636
|
) })
|
|
@@ -14413,7 +14875,7 @@ var PrivyLinkedAccounts = ({ onBack }) => {
|
|
|
14413
14875
|
case "phone":
|
|
14414
14876
|
return account.number;
|
|
14415
14877
|
case "wallet":
|
|
14416
|
-
return `${
|
|
14878
|
+
return `${chunkQRYVPUVY_cjs.humanAddress(account.address)} - ${account.walletClientType}`;
|
|
14417
14879
|
default:
|
|
14418
14880
|
return "";
|
|
14419
14881
|
}
|
|
@@ -14928,7 +15390,7 @@ var SharedAppCard = ({
|
|
|
14928
15390
|
react.Image,
|
|
14929
15391
|
{
|
|
14930
15392
|
src: imageUrl,
|
|
14931
|
-
fallbackSrc:
|
|
15393
|
+
fallbackSrc: chunkQRYVPUVY_cjs.notFoundImage,
|
|
14932
15394
|
alt: name,
|
|
14933
15395
|
height: "90px",
|
|
14934
15396
|
objectFit: "contain",
|
|
@@ -15028,7 +15490,7 @@ var ShortcutsSection = ({}) => {
|
|
|
15028
15490
|
react.Image,
|
|
15029
15491
|
{
|
|
15030
15492
|
src: shortcut.image,
|
|
15031
|
-
fallbackSrc:
|
|
15493
|
+
fallbackSrc: chunkQRYVPUVY_cjs.notFoundImage,
|
|
15032
15494
|
alt: shortcut.name,
|
|
15033
15495
|
objectFit: "contain",
|
|
15034
15496
|
rounded: "full"
|
|
@@ -15415,7 +15877,7 @@ var TransactionModalContent = ({
|
|
|
15415
15877
|
}
|
|
15416
15878
|
};
|
|
15417
15879
|
const statusConfig = getStatusConfig();
|
|
15418
|
-
const socialDescription = `${
|
|
15880
|
+
const socialDescription = `${chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`;
|
|
15419
15881
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
|
|
15420
15882
|
/* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
|
|
15421
15883
|
/* @__PURE__ */ jsxRuntime.jsx(react.ModalHeader, { children: statusConfig.title }),
|
|
@@ -15493,7 +15955,7 @@ var TransactionModalContent = ({
|
|
|
15493
15955
|
uiConfig?.showExplorerButton && txReceipt?.meta.txID && /* @__PURE__ */ jsxRuntime.jsx(
|
|
15494
15956
|
react.Link,
|
|
15495
15957
|
{
|
|
15496
|
-
href: `${
|
|
15958
|
+
href: `${chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl}/${txReceipt?.meta.txID}`,
|
|
15497
15959
|
isExternal: true,
|
|
15498
15960
|
opacity: 0.5,
|
|
15499
15961
|
fontSize: "14px",
|
|
@@ -15556,7 +16018,7 @@ var SuccessfulOperationContent = ({
|
|
|
15556
16018
|
}) => {
|
|
15557
16019
|
const { t } = reactI18next.useTranslation();
|
|
15558
16020
|
const { network, darkMode } = useVeChainKitConfig();
|
|
15559
|
-
const explorerUrl =
|
|
16021
|
+
const explorerUrl = chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl;
|
|
15560
16022
|
const socialDescription = `${explorerUrl}/${txId}`;
|
|
15561
16023
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
|
|
15562
16024
|
/* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
|
|
@@ -15896,18 +16358,18 @@ var WalletDisplay = ({ variant }) => {
|
|
|
15896
16358
|
return null;
|
|
15897
16359
|
}
|
|
15898
16360
|
if (variant === "iconAndDomain") {
|
|
15899
|
-
return account.domain ? /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children:
|
|
16361
|
+
return account.domain ? /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: chunkQRYVPUVY_cjs.humanDomain(account?.domain ?? "", 16, 0) }) : /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", children: chunkQRYVPUVY_cjs.humanAddress(account.address ?? "", 6, 4) });
|
|
15900
16362
|
}
|
|
15901
16363
|
if (variant === "iconDomainAndAssets") {
|
|
15902
16364
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.HStack, { spacing: 4, children: [
|
|
15903
16365
|
/* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 0, alignItems: "flex-start", children: [
|
|
15904
|
-
account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children:
|
|
16366
|
+
account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: chunkQRYVPUVY_cjs.humanDomain(account?.domain ?? "", 16, 0) }),
|
|
15905
16367
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15906
16368
|
react.Text,
|
|
15907
16369
|
{
|
|
15908
16370
|
fontSize: account.domain ? "xs" : "sm",
|
|
15909
16371
|
opacity: account.domain ? 0.5 : 1,
|
|
15910
|
-
children:
|
|
16372
|
+
children: chunkQRYVPUVY_cjs.humanAddress(account.address ?? "", 4, 4)
|
|
15911
16373
|
}
|
|
15912
16374
|
)
|
|
15913
16375
|
] }),
|
|
@@ -15915,13 +16377,13 @@ var WalletDisplay = ({ variant }) => {
|
|
|
15915
16377
|
] });
|
|
15916
16378
|
}
|
|
15917
16379
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { spacing: 0, alignItems: "flex-start", children: [
|
|
15918
|
-
account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children:
|
|
16380
|
+
account.domain && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", fontWeight: "bold", children: chunkQRYVPUVY_cjs.humanDomain(account?.domain ?? "", 16, 0) }),
|
|
15919
16381
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
15920
16382
|
react.Text,
|
|
15921
16383
|
{
|
|
15922
16384
|
fontSize: account.domain ? "xs" : "sm",
|
|
15923
16385
|
opacity: account.domain ? 0.5 : 1,
|
|
15924
|
-
children:
|
|
16386
|
+
children: chunkQRYVPUVY_cjs.humanAddress(account.address ?? "", 4, 4)
|
|
15925
16387
|
}
|
|
15926
16388
|
)
|
|
15927
16389
|
] });
|
|
@@ -16095,7 +16557,7 @@ var TransactionToastContent = ({
|
|
|
16095
16557
|
}) => {
|
|
16096
16558
|
const { t } = reactI18next.useTranslation();
|
|
16097
16559
|
const { network } = useVeChainKitConfig();
|
|
16098
|
-
const explorerUrl =
|
|
16560
|
+
const explorerUrl = chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl;
|
|
16099
16561
|
const errorMessage = React10.useMemo(() => {
|
|
16100
16562
|
if (!txError) return null;
|
|
16101
16563
|
return txError.reason || t("Something went wrong. Please try again.");
|
|
@@ -16542,14 +17004,11 @@ var ProfileCard = ({
|
|
|
16542
17004
|
}) => {
|
|
16543
17005
|
const { t } = reactI18next.useTranslation();
|
|
16544
17006
|
const { account } = useWallet();
|
|
16545
|
-
const
|
|
16546
|
-
const
|
|
16547
|
-
const
|
|
16548
|
-
activeAccountDomain?.data?.domain
|
|
16549
|
-
);
|
|
16550
|
-
const headerImageSvg = chunkDBQR2OKX_cjs.getPicassoImage(address);
|
|
17007
|
+
const { network } = useVeChainKitConfig();
|
|
17008
|
+
const metadata = useWalletMetadata(address, network.type);
|
|
17009
|
+
const headerImageSvg = chunkQRYVPUVY_cjs.getPicassoImage(address);
|
|
16551
17010
|
const isConnectedAccount = address === account?.address;
|
|
16552
|
-
const hasLinks =
|
|
17011
|
+
const hasLinks = metadata?.records?.url || metadata?.records?.["com.x"] || metadata?.records?.email;
|
|
16553
17012
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { variant: "vechainKitBase", ...style?.card, children: [
|
|
16554
17013
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16555
17014
|
react.Box,
|
|
@@ -16576,14 +17035,14 @@ var ProfileCard = ({
|
|
|
16576
17035
|
{
|
|
16577
17036
|
wallet: {
|
|
16578
17037
|
address,
|
|
16579
|
-
domain:
|
|
16580
|
-
image:
|
|
16581
|
-
isLoadingMetadata:
|
|
16582
|
-
metadata:
|
|
17038
|
+
domain: metadata?.domain,
|
|
17039
|
+
image: metadata?.image,
|
|
17040
|
+
isLoadingMetadata: metadata?.isLoading,
|
|
17041
|
+
metadata: metadata?.records
|
|
16583
17042
|
},
|
|
16584
17043
|
props: {
|
|
16585
|
-
width: "
|
|
16586
|
-
height: "
|
|
17044
|
+
width: "120px",
|
|
17045
|
+
height: "120px"
|
|
16587
17046
|
// boxShadow: '0px 0px 3px 2px #00000024',
|
|
16588
17047
|
}
|
|
16589
17048
|
}
|
|
@@ -16593,12 +17052,12 @@ var ProfileCard = ({
|
|
|
16593
17052
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16594
17053
|
react.CardBody,
|
|
16595
17054
|
{
|
|
16596
|
-
mt:
|
|
17055
|
+
mt: "60px",
|
|
16597
17056
|
backgroundColor: "none",
|
|
16598
17057
|
border: "none",
|
|
16599
17058
|
...style?.body,
|
|
16600
17059
|
children: /* @__PURE__ */ jsxRuntime.jsxs(react.VStack, { w: "full", spacing: 2, children: [
|
|
16601
|
-
showDisplayName &&
|
|
17060
|
+
showDisplayName && metadata?.records?.display && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16602
17061
|
react.Text,
|
|
16603
17062
|
{
|
|
16604
17063
|
fontSize: "xl",
|
|
@@ -16606,10 +17065,19 @@ var ProfileCard = ({
|
|
|
16606
17065
|
w: "full",
|
|
16607
17066
|
textAlign: "center",
|
|
16608
17067
|
mt: 2,
|
|
16609
|
-
children:
|
|
17068
|
+
children: metadata?.records?.display
|
|
17069
|
+
}
|
|
17070
|
+
),
|
|
17071
|
+
showDescription && metadata?.records?.description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17072
|
+
react.Text,
|
|
17073
|
+
{
|
|
17074
|
+
fontSize: "sm",
|
|
17075
|
+
opacity: 0.7,
|
|
17076
|
+
w: "full",
|
|
17077
|
+
textAlign: "center",
|
|
17078
|
+
children: metadata?.records?.description
|
|
16610
17079
|
}
|
|
16611
17080
|
),
|
|
16612
|
-
showDescription && activeAccountTextRecords?.data?.description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", opacity: 0.7, children: activeAccountTextRecords?.data?.description }),
|
|
16613
17081
|
showLinks && hasLinks && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16614
17082
|
react.HStack,
|
|
16615
17083
|
{
|
|
@@ -16618,26 +17086,26 @@ var ProfileCard = ({
|
|
|
16618
17086
|
spacing: 5,
|
|
16619
17087
|
mt: 4,
|
|
16620
17088
|
children: [
|
|
16621
|
-
|
|
17089
|
+
metadata?.records?.email && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16622
17090
|
react.Link,
|
|
16623
17091
|
{
|
|
16624
|
-
href: `mailto:${
|
|
17092
|
+
href: `mailto:${metadata?.records?.email}`,
|
|
16625
17093
|
target: "_blank",
|
|
16626
17094
|
children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaEnvelope })
|
|
16627
17095
|
}
|
|
16628
17096
|
),
|
|
16629
|
-
|
|
17097
|
+
metadata?.records?.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16630
17098
|
react.Link,
|
|
16631
17099
|
{
|
|
16632
|
-
href:
|
|
17100
|
+
href: metadata?.records?.url,
|
|
16633
17101
|
target: "_blank",
|
|
16634
17102
|
children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa.FaGlobe })
|
|
16635
17103
|
}
|
|
16636
17104
|
),
|
|
16637
|
-
|
|
17105
|
+
metadata?.records?.["com.x"] && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16638
17106
|
react.Link,
|
|
16639
17107
|
{
|
|
16640
|
-
href: `https://x.com/${
|
|
17108
|
+
href: `https://x.com/${metadata?.records?.["com.x"]}`,
|
|
16641
17109
|
target: "_blank",
|
|
16642
17110
|
children: /* @__PURE__ */ jsxRuntime.jsx(react.Icon, { as: fa6.FaXTwitter })
|
|
16643
17111
|
}
|
|
@@ -16650,10 +17118,10 @@ var ProfileCard = ({
|
|
|
16650
17118
|
{
|
|
16651
17119
|
wallet: {
|
|
16652
17120
|
address,
|
|
16653
|
-
domain:
|
|
16654
|
-
image:
|
|
16655
|
-
isLoadingMetadata:
|
|
16656
|
-
metadata:
|
|
17121
|
+
domain: metadata?.domain,
|
|
17122
|
+
image: metadata?.image,
|
|
17123
|
+
isLoadingMetadata: metadata?.isLoading,
|
|
17124
|
+
metadata: metadata?.records
|
|
16657
17125
|
},
|
|
16658
17126
|
style: { mt: 4 }
|
|
16659
17127
|
}
|
|
@@ -16703,7 +17171,7 @@ var SuccessfulOperationContent2 = ({
|
|
|
16703
17171
|
}) => {
|
|
16704
17172
|
const { t } = reactI18next.useTranslation();
|
|
16705
17173
|
const { network, darkMode } = useVeChainKitConfig();
|
|
16706
|
-
const explorerUrl =
|
|
17174
|
+
const explorerUrl = chunkQRYVPUVY_cjs.getConfig(network.type).explorerUrl;
|
|
16707
17175
|
const socialDescription = `${explorerUrl}/${txId}`;
|
|
16708
17176
|
return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { children: [
|
|
16709
17177
|
/* @__PURE__ */ jsxRuntime.jsxs(StickyHeaderContainer, { children: [
|
|
@@ -17328,7 +17796,7 @@ var useReceiveModal = () => {
|
|
|
17328
17796
|
var ReceiveModalProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
17329
17797
|
var useLoginModalContent = () => {
|
|
17330
17798
|
const { privy, loginMethods } = useVeChainKitConfig();
|
|
17331
|
-
const isVeChainApp = privy?.appId ===
|
|
17799
|
+
const isVeChainApp = privy?.appId === chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID;
|
|
17332
17800
|
const isLoginMethodEnabled = (method35) => {
|
|
17333
17801
|
if (!loginMethods) return true;
|
|
17334
17802
|
if (Array.isArray(method35)) {
|
|
@@ -17434,7 +17902,7 @@ var useTransferERC20 = ({
|
|
|
17434
17902
|
const queryClient = reactQuery.useQueryClient();
|
|
17435
17903
|
const { refresh } = useRefreshBalances();
|
|
17436
17904
|
const buildClauses = React10.useCallback(async () => {
|
|
17437
|
-
if (!receiverAddress || !amount || !
|
|
17905
|
+
if (!receiverAddress || !amount || !chunkQRYVPUVY_cjs.isValidAddress(receiverAddress))
|
|
17438
17906
|
throw new Error("Invalid receiver address or amount");
|
|
17439
17907
|
const clausesArray = [];
|
|
17440
17908
|
clausesArray.push({
|
|
@@ -17457,7 +17925,7 @@ var useTransferERC20 = ({
|
|
|
17457
17925
|
signerAccountAddress: fromAddress,
|
|
17458
17926
|
privyUIOptions: {
|
|
17459
17927
|
title: "Confirm Transfer",
|
|
17460
|
-
description: `Transfer ${amount} ${tokenName} to ${
|
|
17928
|
+
description: `Transfer ${amount} ${tokenName} to ${chunkQRYVPUVY_cjs.humanAddress(
|
|
17461
17929
|
receiverAddress
|
|
17462
17930
|
)}`,
|
|
17463
17931
|
buttonText: "Sign to continue"
|
|
@@ -17483,7 +17951,7 @@ var useTransferVET = ({
|
|
|
17483
17951
|
}) => {
|
|
17484
17952
|
const { refresh } = useRefreshBalances();
|
|
17485
17953
|
const buildClauses = React10.useCallback(async () => {
|
|
17486
|
-
if (!receiverAddress || !amount || !
|
|
17954
|
+
if (!receiverAddress || !amount || !chunkQRYVPUVY_cjs.isValidAddress(receiverAddress))
|
|
17487
17955
|
throw new Error("Invalid receiver address or amount");
|
|
17488
17956
|
if (isNaN(Number(amount))) {
|
|
17489
17957
|
throw new Error("Invalid amount");
|
|
@@ -17507,7 +17975,7 @@ var useTransferVET = ({
|
|
|
17507
17975
|
signerAccountAddress: fromAddress,
|
|
17508
17976
|
privyUIOptions: {
|
|
17509
17977
|
title: "Confirm Transfer",
|
|
17510
|
-
description: `Transfer ${amount} VET to ${
|
|
17978
|
+
description: `Transfer ${amount} VET to ${chunkQRYVPUVY_cjs.humanAddress(
|
|
17511
17979
|
receiverAddress
|
|
17512
17980
|
)}`,
|
|
17513
17981
|
buttonText: "Sign to continue"
|
|
@@ -17585,7 +18053,7 @@ var useSignTypedData2 = () => {
|
|
|
17585
18053
|
const privyWalletProvider = usePrivyWalletProvider();
|
|
17586
18054
|
const { signTypedData: signTypedDataDappKit } = dappKitReact.useWallet();
|
|
17587
18055
|
const signTypedData = React10.useCallback(
|
|
17588
|
-
async (data) => {
|
|
18056
|
+
async (data, options) => {
|
|
17589
18057
|
setIsSigningPending(true);
|
|
17590
18058
|
setError(null);
|
|
17591
18059
|
setSignature(null);
|
|
@@ -17599,7 +18067,8 @@ var useSignTypedData2 = () => {
|
|
|
17599
18067
|
sig = await signTypedDataDappKit(
|
|
17600
18068
|
domain,
|
|
17601
18069
|
data.types,
|
|
17602
|
-
data.message
|
|
18070
|
+
data.message,
|
|
18071
|
+
options
|
|
17603
18072
|
);
|
|
17604
18073
|
} else {
|
|
17605
18074
|
sig = await privyWalletProvider.signTypedData(data);
|
|
@@ -17607,7 +18076,16 @@ var useSignTypedData2 = () => {
|
|
|
17607
18076
|
setSignature(sig);
|
|
17608
18077
|
return sig;
|
|
17609
18078
|
} catch (err) {
|
|
17610
|
-
|
|
18079
|
+
if (err && typeof err === "object" && "statusCode" in err && err.statusCode === 4001) {
|
|
18080
|
+
const userRejectionError = new Error(
|
|
18081
|
+
"User denied signature request"
|
|
18082
|
+
);
|
|
18083
|
+
setError(userRejectionError);
|
|
18084
|
+
throw userRejectionError;
|
|
18085
|
+
}
|
|
18086
|
+
const error2 = err instanceof Error ? err : new Error(
|
|
18087
|
+
typeof err === "object" ? JSON.stringify(err) : String(err)
|
|
18088
|
+
);
|
|
17611
18089
|
setError(error2);
|
|
17612
18090
|
throw error2;
|
|
17613
18091
|
} finally {
|
|
@@ -17684,14 +18162,14 @@ var useCrossAppConnectionCache = () => {
|
|
|
17684
18162
|
var useLoginWithVeChain = () => {
|
|
17685
18163
|
const { login: loginWithVeChain } = usePrivyCrossAppSdk();
|
|
17686
18164
|
const { setConnectionCache } = useCrossAppConnectionCache();
|
|
17687
|
-
const { data: appsInfo } = useFetchAppInfo([
|
|
18165
|
+
const { data: appsInfo } = useFetchAppInfo([chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID]);
|
|
17688
18166
|
const login = async () => {
|
|
17689
18167
|
try {
|
|
17690
|
-
await loginWithVeChain(
|
|
18168
|
+
await loginWithVeChain(chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID);
|
|
17691
18169
|
setConnectionCache({
|
|
17692
18170
|
name: "VeChain",
|
|
17693
|
-
logoUrl: appsInfo?.[
|
|
17694
|
-
appId:
|
|
18171
|
+
logoUrl: appsInfo?.[chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID]?.logo_url,
|
|
18172
|
+
appId: chunkQRYVPUVY_cjs.VECHAIN_PRIVY_APP_ID,
|
|
17695
18173
|
website: "https://governance.vebetterdao.org"
|
|
17696
18174
|
});
|
|
17697
18175
|
} catch (error) {
|
|
@@ -17955,9 +18433,9 @@ var PrivyWalletProvider = ({
|
|
|
17955
18433
|
clauses.push(
|
|
17956
18434
|
sdkCore.Clause.callFunction(
|
|
17957
18435
|
sdkCore.Address.of(
|
|
17958
|
-
|
|
18436
|
+
chunkQRYVPUVY_cjs.getConfig(network.type).accountFactoryAddress
|
|
17959
18437
|
),
|
|
17960
|
-
sdkCore.ABIContract.ofAbi(
|
|
18438
|
+
sdkCore.ABIContract.ofAbi(chunkTV24UEQU_cjs.SimpleAccountFactoryABI).getFunction(
|
|
17961
18439
|
"createAccount"
|
|
17962
18440
|
),
|
|
17963
18441
|
[connectedWallet.address ?? ""]
|
|
@@ -17967,7 +18445,7 @@ var PrivyWalletProvider = ({
|
|
|
17967
18445
|
clauses.push(
|
|
17968
18446
|
sdkCore.Clause.callFunction(
|
|
17969
18447
|
sdkCore.Address.of(smartAccount.address),
|
|
17970
|
-
sdkCore.ABIContract.ofAbi(
|
|
18448
|
+
sdkCore.ABIContract.ofAbi(chunkTV24UEQU_cjs.SimpleAccountABI).getFunction(
|
|
17971
18449
|
"executeBatchWithAuthorization"
|
|
17972
18450
|
),
|
|
17973
18451
|
[
|
|
@@ -18030,9 +18508,9 @@ var PrivyWalletProvider = ({
|
|
|
18030
18508
|
clauses.push(
|
|
18031
18509
|
sdkCore.Clause.callFunction(
|
|
18032
18510
|
sdkCore.Address.of(
|
|
18033
|
-
|
|
18511
|
+
chunkQRYVPUVY_cjs.getConfig(network.type).accountFactoryAddress
|
|
18034
18512
|
),
|
|
18035
|
-
sdkCore.ABIContract.ofAbi(
|
|
18513
|
+
sdkCore.ABIContract.ofAbi(chunkTV24UEQU_cjs.SimpleAccountFactoryABI).getFunction(
|
|
18036
18514
|
"createAccount"
|
|
18037
18515
|
),
|
|
18038
18516
|
[connectedWallet.address ?? ""]
|
|
@@ -18044,7 +18522,7 @@ var PrivyWalletProvider = ({
|
|
|
18044
18522
|
clauses.push(
|
|
18045
18523
|
sdkCore.Clause.callFunction(
|
|
18046
18524
|
sdkCore.Address.of(smartAccount.address ?? ""),
|
|
18047
|
-
sdkCore.ABIContract.ofAbi(
|
|
18525
|
+
sdkCore.ABIContract.ofAbi(chunkTV24UEQU_cjs.SimpleAccountABI).getFunction(
|
|
18048
18526
|
"executeWithAuthorization"
|
|
18049
18527
|
),
|
|
18050
18528
|
[
|
|
@@ -18079,10 +18557,10 @@ var PrivyWalletProvider = ({
|
|
|
18079
18557
|
[
|
|
18080
18558
|
{
|
|
18081
18559
|
privateKey: Buffer.from(
|
|
18082
|
-
|
|
18560
|
+
chunkQRYVPUVY_cjs.randomTransactionUser.privateKey.slice(2),
|
|
18083
18561
|
"hex"
|
|
18084
18562
|
),
|
|
18085
|
-
address:
|
|
18563
|
+
address: chunkQRYVPUVY_cjs.randomTransactionUser.address
|
|
18086
18564
|
}
|
|
18087
18565
|
],
|
|
18088
18566
|
{ delegator: { delegatorUrl } }
|
|
@@ -18093,11 +18571,11 @@ var PrivyWalletProvider = ({
|
|
|
18093
18571
|
true
|
|
18094
18572
|
);
|
|
18095
18573
|
const signer = await providerWithDelegationEnabled.getSigner(
|
|
18096
|
-
|
|
18574
|
+
chunkQRYVPUVY_cjs.randomTransactionUser.address
|
|
18097
18575
|
);
|
|
18098
18576
|
const txInput = sdkNetwork.signerUtils.transactionBodyToTransactionRequestInput(
|
|
18099
18577
|
txBody,
|
|
18100
|
-
|
|
18578
|
+
chunkQRYVPUVY_cjs.randomTransactionUser.address
|
|
18101
18579
|
);
|
|
18102
18580
|
const rawDelegateSigned = await signer.signTransaction(txInput);
|
|
18103
18581
|
const { id } = await fetch(`${nodeUrl}/transactions`, {
|
|
@@ -18136,7 +18614,7 @@ var PrivyWalletProvider = ({
|
|
|
18136
18614
|
PrivyWalletProviderContext.Provider,
|
|
18137
18615
|
{
|
|
18138
18616
|
value: {
|
|
18139
|
-
accountFactory:
|
|
18617
|
+
accountFactory: chunkQRYVPUVY_cjs.getConfig(network.type).accountFactoryAddress,
|
|
18140
18618
|
sendTransaction,
|
|
18141
18619
|
signMessage,
|
|
18142
18620
|
signTypedData,
|
|
@@ -18259,7 +18737,7 @@ var VeChainKitProvider = (props) => {
|
|
|
18259
18737
|
const userEcosystemMethods = validatedLoginMethods?.find(
|
|
18260
18738
|
(method35) => method35.method === "ecosystem"
|
|
18261
18739
|
);
|
|
18262
|
-
return userEcosystemMethods?.allowedApps ??
|
|
18740
|
+
return userEcosystemMethods?.allowedApps ?? chunkQRYVPUVY_cjs.DEFAULT_PRIVY_ECOSYSTEM_APPS.map((app) => app.id);
|
|
18263
18741
|
}, [validatedLoginMethods]);
|
|
18264
18742
|
let privyAppId, privyClientId;
|
|
18265
18743
|
if (!privy) {
|
|
@@ -18336,8 +18814,8 @@ var VeChainKitProvider = (props) => {
|
|
|
18336
18814
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18337
18815
|
dappKitReact.DAppKitProvider,
|
|
18338
18816
|
{
|
|
18339
|
-
nodeUrl: network.nodeUrl ??
|
|
18340
|
-
genesis:
|
|
18817
|
+
nodeUrl: network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl,
|
|
18818
|
+
genesis: chunkQRYVPUVY_cjs.getConfig(network.type).network.genesis,
|
|
18341
18819
|
i18n: i18nConfig,
|
|
18342
18820
|
language,
|
|
18343
18821
|
logLevel: dappKit.logLevel,
|
|
@@ -18372,7 +18850,7 @@ var VeChainKitProvider = (props) => {
|
|
|
18372
18850
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18373
18851
|
PrivyWalletProvider,
|
|
18374
18852
|
{
|
|
18375
|
-
nodeUrl: network.nodeUrl ??
|
|
18853
|
+
nodeUrl: network.nodeUrl ?? chunkQRYVPUVY_cjs.getConfig(network.type).nodeUrl,
|
|
18376
18854
|
delegatorUrl: feeDelegation?.delegatorUrl ?? "",
|
|
18377
18855
|
delegateAllTransactions: feeDelegation?.delegateAllTransactions ?? false,
|
|
18378
18856
|
children: /* @__PURE__ */ jsxRuntime.jsx(ModalProvider, { children })
|
|
@@ -18710,7 +19188,7 @@ var VechainKitThemeProvider = ({
|
|
|
18710
19188
|
|
|
18711
19189
|
Object.defineProperty(exports, "getConfig", {
|
|
18712
19190
|
enumerable: true,
|
|
18713
|
-
get: function () { return
|
|
19191
|
+
get: function () { return chunkQRYVPUVY_cjs.getConfig; }
|
|
18714
19192
|
});
|
|
18715
19193
|
Object.defineProperty(exports, "useMfaEnrollment", {
|
|
18716
19194
|
enumerable: true,
|
|
@@ -18869,6 +19347,8 @@ exports.getAppsEligibleInNextRound = getAppsEligibleInNextRound;
|
|
|
18869
19347
|
exports.getAppsEligibleInNextRoundQueryKey = getAppsEligibleInNextRoundQueryKey;
|
|
18870
19348
|
exports.getAppsShareClauses = getAppsShareClauses;
|
|
18871
19349
|
exports.getAvatar = getAvatar;
|
|
19350
|
+
exports.getAvatarLegacy = getAvatarLegacy;
|
|
19351
|
+
exports.getAvatarLegacyQueryKey = getAvatarLegacyQueryKey;
|
|
18872
19352
|
exports.getAvatarOfAddressQueryKey = getAvatarOfAddressQueryKey;
|
|
18873
19353
|
exports.getAvatarQueryKey = getAvatarQueryKey;
|
|
18874
19354
|
exports.getB3trBalance = getB3trBalance;
|
|
@@ -19010,6 +19490,7 @@ exports.useBalances = useBalances;
|
|
|
19010
19490
|
exports.useCall = useCall;
|
|
19011
19491
|
exports.useChooseNameModal = useChooseNameModal;
|
|
19012
19492
|
exports.useClaimVeWorldSubdomain = useClaimVeWorldSubdomain;
|
|
19493
|
+
exports.useClaimVetDomain = useClaimVetDomain;
|
|
19013
19494
|
exports.useConnectModal = useConnectModal;
|
|
19014
19495
|
exports.useCrossAppConnectionCache = useCrossAppConnectionCache;
|
|
19015
19496
|
exports.useCurrentAccountImplementationVersion = useCurrentAccountImplementationVersion;
|
|
@@ -19029,6 +19510,7 @@ exports.useGMbalance = useGMbalance;
|
|
|
19029
19510
|
exports.useGetAccountAddress = useGetAccountAddress;
|
|
19030
19511
|
exports.useGetAccountVersion = useGetAccountVersion;
|
|
19031
19512
|
exports.useGetAvatar = useGetAvatar;
|
|
19513
|
+
exports.useGetAvatarLegacy = useGetAvatarLegacy;
|
|
19032
19514
|
exports.useGetAvatarOfAddress = useGetAvatarOfAddress;
|
|
19033
19515
|
exports.useGetB3trBalance = useGetB3trBalance;
|
|
19034
19516
|
exports.useGetChainId = useGetChainId;
|
|
@@ -19121,6 +19603,7 @@ exports.useTransactionToast = useTransactionToast;
|
|
|
19121
19603
|
exports.useTransferERC20 = useTransferERC20;
|
|
19122
19604
|
exports.useTransferVET = useTransferVET;
|
|
19123
19605
|
exports.useTxReceipt = useTxReceipt;
|
|
19606
|
+
exports.useUnsetDomain = useUnsetDomain;
|
|
19124
19607
|
exports.useUpdateTextRecord = useUpdateTextRecord;
|
|
19125
19608
|
exports.useUpgradeRequired = useUpgradeRequired;
|
|
19126
19609
|
exports.useUpgradeRequiredForAccount = useUpgradeRequiredForAccount;
|