@mysten/dapp-kit 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/components/AccountDropdownMenu.js +94 -35
- package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
- package/dist/cjs/components/ConnectButton.js +163 -104
- package/dist/cjs/components/ConnectButton.js.map +4 -4
- package/dist/cjs/components/WalletProvider.js +1 -2
- package/dist/cjs/components/WalletProvider.js.map +2 -2
- package/dist/cjs/hooks/useResolveSuiNSNames.d.ts +105 -0
- package/dist/cjs/hooks/useResolveSuiNSNames.js +82 -0
- package/dist/cjs/hooks/useResolveSuiNSNames.js.map +7 -0
- package/dist/cjs/index.js +51 -32
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/walletStore.js +1 -2
- package/dist/cjs/walletStore.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.js +83 -24
- package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
- package/dist/esm/components/ConnectButton.js +135 -76
- package/dist/esm/components/ConnectButton.js.map +4 -4
- package/dist/esm/components/WalletProvider.js +1 -2
- package/dist/esm/components/WalletProvider.js.map +2 -2
- package/dist/esm/hooks/useResolveSuiNSNames.d.ts +105 -0
- package/dist/esm/hooks/useResolveSuiNSNames.js +59 -0
- package/dist/esm/hooks/useResolveSuiNSNames.js.map +7 -0
- package/dist/esm/index.js +37 -18
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/walletStore.js +1 -2
- package/dist/esm/walletStore.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/AccountDropdownMenu.tsx +6 -2
- package/src/hooks/useResolveSuiNSNames.ts +21 -0
- package/src/walletStore.ts +3 -4
package/dist/cjs/index.js
CHANGED
|
@@ -177,13 +177,44 @@ var import_utils = require("@mysten/sui.js/utils");
|
|
|
177
177
|
var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
178
178
|
var import_clsx3 = __toESM(require("clsx"));
|
|
179
179
|
|
|
180
|
+
// src/hooks/useSuiClientQuery.ts
|
|
181
|
+
var import_react_query = require("@tanstack/react-query");
|
|
182
|
+
function useSuiClientQuery(...args) {
|
|
183
|
+
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
184
|
+
const suiContext = useSuiClientContext();
|
|
185
|
+
return (0, import_react_query.useQuery)({
|
|
186
|
+
...options,
|
|
187
|
+
queryKey: [suiContext.network, method, params, ...queryKey],
|
|
188
|
+
queryFn: async () => {
|
|
189
|
+
return await suiContext.client[method](params);
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// src/hooks/useResolveSuiNSNames.ts
|
|
195
|
+
function useResolveSuiNSName(address) {
|
|
196
|
+
const { data, ...rest } = useSuiClientQuery(
|
|
197
|
+
"resolveNameServiceNames",
|
|
198
|
+
{
|
|
199
|
+
address,
|
|
200
|
+
limit: 1
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
enabled: !!address,
|
|
204
|
+
refetchOnWindowFocus: false,
|
|
205
|
+
retry: false
|
|
206
|
+
}
|
|
207
|
+
);
|
|
208
|
+
return { data: data?.data?.[0] ?? null, ...rest };
|
|
209
|
+
}
|
|
210
|
+
|
|
180
211
|
// src/hooks/wallet/useAccounts.ts
|
|
181
212
|
function useAccounts() {
|
|
182
213
|
return useWalletStore((state) => state.accounts);
|
|
183
214
|
}
|
|
184
215
|
|
|
185
216
|
// src/hooks/wallet/useDisconnectWallet.ts
|
|
186
|
-
var
|
|
217
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
187
218
|
|
|
188
219
|
// src/constants/walletMutationKeys.ts
|
|
189
220
|
var walletMutationKeys = {
|
|
@@ -223,7 +254,7 @@ function useDisconnectWallet({
|
|
|
223
254
|
} = {}) {
|
|
224
255
|
const currentWallet = useCurrentWallet();
|
|
225
256
|
const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);
|
|
226
|
-
return (0,
|
|
257
|
+
return (0, import_react_query2.useMutation)({
|
|
227
258
|
mutationKey: walletMutationKeys.disconnectWallet(mutationKey),
|
|
228
259
|
mutationFn: async () => {
|
|
229
260
|
if (!currentWallet) {
|
|
@@ -241,14 +272,14 @@ function useDisconnectWallet({
|
|
|
241
272
|
}
|
|
242
273
|
|
|
243
274
|
// src/hooks/wallet/useSwitchAccount.ts
|
|
244
|
-
var
|
|
275
|
+
var import_react_query3 = require("@tanstack/react-query");
|
|
245
276
|
function useSwitchAccount({
|
|
246
277
|
mutationKey,
|
|
247
278
|
...mutationOptions
|
|
248
279
|
} = {}) {
|
|
249
280
|
const currentWallet = useCurrentWallet();
|
|
250
281
|
const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);
|
|
251
|
-
return (0,
|
|
282
|
+
return (0, import_react_query3.useMutation)({
|
|
252
283
|
mutationKey: walletMutationKeys.switchAccount(mutationKey),
|
|
253
284
|
mutationFn: async ({ account }) => {
|
|
254
285
|
if (!currentWallet) {
|
|
@@ -384,10 +415,13 @@ var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
|
384
415
|
function AccountDropdownMenu({ currentAccount }) {
|
|
385
416
|
const { mutate: disconnectWallet } = useDisconnectWallet();
|
|
386
417
|
const { mutate: switchAccount } = useSwitchAccount();
|
|
418
|
+
const { data: domain } = useResolveSuiNSName(
|
|
419
|
+
currentAccount.label ? null : currentAccount.address
|
|
420
|
+
);
|
|
387
421
|
const accounts = useAccounts();
|
|
388
422
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DropdownMenu.Root, { modal: false, children: [
|
|
389
423
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Button, { size: "lg", className: connectedAccount, children: [
|
|
390
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, weight: "bold", children: (0, import_utils.formatAddress)(currentAccount.address) }),
|
|
424
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, weight: "bold", children: currentAccount.label ?? domain ?? (0, import_utils.formatAddress)(currentAccount.address) }),
|
|
391
425
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ChevronIcon, {})
|
|
392
426
|
] }) }) }),
|
|
393
427
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
|
|
@@ -397,7 +431,7 @@ function AccountDropdownMenu({ currentAccount }) {
|
|
|
397
431
|
className: (0, import_clsx3.default)(menuItem, switchAccountMenuItem),
|
|
398
432
|
onSelect: () => switchAccount({ account }),
|
|
399
433
|
children: [
|
|
400
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, children: (0, import_utils.formatAddress)(account.address) }),
|
|
434
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, children: account.label ?? (0, import_utils.formatAddress)(account.address) }),
|
|
401
435
|
currentAccount.address === account.address ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CheckIcon, {}) : null
|
|
402
436
|
]
|
|
403
437
|
},
|
|
@@ -422,13 +456,13 @@ var import_clsx7 = __toESM(require("clsx"));
|
|
|
422
456
|
var import_react10 = require("react");
|
|
423
457
|
|
|
424
458
|
// src/hooks/wallet/useConnectWallet.ts
|
|
425
|
-
var
|
|
459
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
426
460
|
function useConnectWallet({
|
|
427
461
|
mutationKey,
|
|
428
462
|
...mutationOptions
|
|
429
463
|
} = {}) {
|
|
430
464
|
const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
|
|
431
|
-
return (0,
|
|
465
|
+
return (0, import_react_query4.useMutation)({
|
|
432
466
|
mutationKey: walletMutationKeys.connectWallet(mutationKey),
|
|
433
467
|
mutationFn: async ({ wallet, accountAddress, ...standardConnectInput }) => {
|
|
434
468
|
const connectResult = await wallet.features["standard:connect"].connect(standardConnectInput);
|
|
@@ -1140,10 +1174,9 @@ function createWalletStore({ wallets, storage, storageKey }) {
|
|
|
1140
1174
|
},
|
|
1141
1175
|
updateWalletAccounts(accounts) {
|
|
1142
1176
|
const currentAccount = get().currentAccount;
|
|
1143
|
-
const isCurrentAccountStillAuthorized = currentAccount ? accounts.some(({ address }) => address === currentAccount.address) : false;
|
|
1144
1177
|
set(() => ({
|
|
1145
1178
|
accounts,
|
|
1146
|
-
currentAccount:
|
|
1179
|
+
currentAccount: currentAccount ? accounts.find(({ address }) => address === currentAccount.address) : accounts[0]
|
|
1147
1180
|
}));
|
|
1148
1181
|
}
|
|
1149
1182
|
}),
|
|
@@ -1306,14 +1339,14 @@ function WalletConnectionManager({
|
|
|
1306
1339
|
}
|
|
1307
1340
|
|
|
1308
1341
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1309
|
-
var
|
|
1342
|
+
var import_react_query5 = require("@tanstack/react-query");
|
|
1310
1343
|
function useSignPersonalMessage({
|
|
1311
1344
|
mutationKey,
|
|
1312
1345
|
...mutationOptions
|
|
1313
1346
|
} = {}) {
|
|
1314
1347
|
const currentWallet = useCurrentWallet();
|
|
1315
1348
|
const currentAccount = useCurrentAccount();
|
|
1316
|
-
return (0,
|
|
1349
|
+
return (0, import_react_query5.useMutation)({
|
|
1317
1350
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1318
1351
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1319
1352
|
if (!currentWallet) {
|
|
@@ -1341,14 +1374,14 @@ function useSignPersonalMessage({
|
|
|
1341
1374
|
}
|
|
1342
1375
|
|
|
1343
1376
|
// src/hooks/wallet/useSignTransactionBlock.ts
|
|
1344
|
-
var
|
|
1377
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
1345
1378
|
function useSignTransactionBlock({
|
|
1346
1379
|
mutationKey,
|
|
1347
1380
|
...mutationOptions
|
|
1348
1381
|
} = {}) {
|
|
1349
1382
|
const currentWallet = useCurrentWallet();
|
|
1350
1383
|
const currentAccount = useCurrentAccount();
|
|
1351
|
-
return (0,
|
|
1384
|
+
return (0, import_react_query6.useMutation)({
|
|
1352
1385
|
mutationKey: walletMutationKeys.signTransactionBlock(mutationKey),
|
|
1353
1386
|
mutationFn: async (signTransactionBlockArgs) => {
|
|
1354
1387
|
if (!currentWallet) {
|
|
@@ -1377,7 +1410,7 @@ function useSignTransactionBlock({
|
|
|
1377
1410
|
}
|
|
1378
1411
|
|
|
1379
1412
|
// src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
|
|
1380
|
-
var
|
|
1413
|
+
var import_react_query7 = require("@tanstack/react-query");
|
|
1381
1414
|
function useSignAndExecuteTransactionBlock({
|
|
1382
1415
|
mutationKey,
|
|
1383
1416
|
executeFromWallet,
|
|
@@ -1386,7 +1419,7 @@ function useSignAndExecuteTransactionBlock({
|
|
|
1386
1419
|
const currentWallet = useCurrentWallet();
|
|
1387
1420
|
const currentAccount = useCurrentAccount();
|
|
1388
1421
|
const client = useSuiClient();
|
|
1389
|
-
return (0,
|
|
1422
|
+
return (0, import_react_query7.useMutation)({
|
|
1390
1423
|
mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
|
|
1391
1424
|
mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {
|
|
1392
1425
|
if (!currentWallet) {
|
|
@@ -1436,10 +1469,10 @@ function useSignAndExecuteTransactionBlock({
|
|
|
1436
1469
|
}
|
|
1437
1470
|
|
|
1438
1471
|
// src/hooks/useSuiClientMutation.ts
|
|
1439
|
-
var
|
|
1472
|
+
var import_react_query8 = require("@tanstack/react-query");
|
|
1440
1473
|
function useSuiClientMutation(method, options = {}) {
|
|
1441
1474
|
const suiContext = useSuiClientContext();
|
|
1442
|
-
return (0,
|
|
1475
|
+
return (0, import_react_query8.useMutation)({
|
|
1443
1476
|
...options,
|
|
1444
1477
|
mutationFn: async (params) => {
|
|
1445
1478
|
return await suiContext.client[method](params);
|
|
@@ -1447,20 +1480,6 @@ function useSuiClientMutation(method, options = {}) {
|
|
|
1447
1480
|
});
|
|
1448
1481
|
}
|
|
1449
1482
|
|
|
1450
|
-
// src/hooks/useSuiClientQuery.ts
|
|
1451
|
-
var import_react_query8 = require("@tanstack/react-query");
|
|
1452
|
-
function useSuiClientQuery(...args) {
|
|
1453
|
-
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
1454
|
-
const suiContext = useSuiClientContext();
|
|
1455
|
-
return (0, import_react_query8.useQuery)({
|
|
1456
|
-
...options,
|
|
1457
|
-
queryKey: [suiContext.network, method, params, ...queryKey],
|
|
1458
|
-
queryFn: async () => {
|
|
1459
|
-
return await suiContext.client[method](params);
|
|
1460
|
-
}
|
|
1461
|
-
});
|
|
1462
|
-
}
|
|
1463
|
-
|
|
1464
1483
|
// src/hooks/useSuiClientInfiniteQuery.ts
|
|
1465
1484
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1466
1485
|
function useSuiClientInfiniteQuery(method, params, { queryKey = [], enabled = !!params, ...options } = {}) {
|