@mysten/dapp-kit 0.10.1 → 0.10.3
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 +22 -0
- package/README.md +2 -3
- package/dist/cjs/components/AccountDropdownMenu.css +15 -11
- package/dist/cjs/components/AccountDropdownMenu.css.css +15 -11
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +3 -3
- package/dist/cjs/components/AccountDropdownMenu.css.d.ts +1 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js +6 -4
- package/dist/cjs/components/AccountDropdownMenu.css.js.map +2 -2
- package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
- package/dist/cjs/components/AccountDropdownMenu.js +6 -5
- package/dist/cjs/components/AccountDropdownMenu.js.map +2 -2
- package/dist/cjs/components/ConnectButton.css +15 -11
- package/dist/cjs/components/ConnectButton.css.map +3 -3
- package/dist/cjs/components/ConnectButton.js +16 -9
- package/dist/cjs/components/ConnectButton.js.map +3 -3
- package/dist/cjs/components/WalletProvider.d.ts +2 -2
- package/dist/cjs/components/WalletProvider.js +30 -24
- package/dist/cjs/components/WalletProvider.js.map +4 -4
- package/dist/cjs/components/connect-modal/ConnectModal.js +10 -4
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +3 -3
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +8 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +3 -3
- package/dist/cjs/hooks/useSuiClientQueries.d.ts +1 -1
- package/dist/cjs/hooks/useSuiClientQueries.js.map +1 -1
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +12 -1
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +3 -3
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +1 -1
- package/dist/cjs/index.css +15 -11
- package/dist/cjs/index.css.map +3 -3
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +69 -39
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/utils/walletUtils.d.ts +1 -0
- package/dist/cjs/utils/walletUtils.js +5 -1
- package/dist/cjs/utils/walletUtils.js.map +2 -2
- package/dist/cjs/walletStore.d.ts +2 -2
- package/dist/cjs/walletStore.js +9 -1
- package/dist/cjs/walletStore.js.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.css +15 -11
- package/dist/esm/components/AccountDropdownMenu.css.css +15 -11
- package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.css.d.ts +1 -0
- package/dist/esm/components/AccountDropdownMenu.css.js +6 -4
- package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.js +6 -5
- package/dist/esm/components/AccountDropdownMenu.js.map +2 -2
- package/dist/esm/components/ConnectButton.css +15 -11
- package/dist/esm/components/ConnectButton.css.map +3 -3
- package/dist/esm/components/ConnectButton.js +16 -9
- package/dist/esm/components/ConnectButton.js.map +3 -3
- package/dist/esm/components/WalletProvider.d.ts +2 -2
- package/dist/esm/components/WalletProvider.js +28 -22
- package/dist/esm/components/WalletProvider.js.map +4 -4
- package/dist/esm/components/connect-modal/ConnectModal.js +10 -4
- package/dist/esm/components/connect-modal/ConnectModal.js.map +3 -3
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +8 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +3 -3
- package/dist/esm/hooks/useSuiClientQueries.d.ts +1 -1
- package/dist/esm/hooks/useSuiClientQueries.js.map +1 -1
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +12 -1
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +3 -3
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +1 -1
- package/dist/esm/index.css +15 -11
- package/dist/esm/index.css.map +3 -3
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +61 -31
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/utils/walletUtils.d.ts +1 -0
- package/dist/esm/utils/walletUtils.js +5 -1
- package/dist/esm/utils/walletUtils.js.map +2 -2
- package/dist/esm/walletStore.js +9 -1
- package/dist/esm/walletStore.js.map +3 -3
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/components/AccountDropdownMenu.css.ts +4 -0
- package/src/components/AccountDropdownMenu.tsx +1 -1
- package/src/components/WalletProvider.tsx +3 -1
- package/src/components/connect-modal/ConnectModal.tsx +6 -2
- package/src/components/connect-modal/wallet-list/WalletList.tsx +3 -2
- package/src/hooks/useSuiClientQueries.ts +1 -1
- package/src/hooks/wallet/useAutoConnectWallet.ts +8 -1
- package/src/index.ts +1 -0
- package/src/utils/walletUtils.ts +4 -0
- package/src/walletStore.ts +4 -2
package/dist/esm/index.js
CHANGED
|
@@ -136,6 +136,25 @@ function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
|
136
136
|
return connectedAccounts[0];
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
// src/utils/walletUtils.ts
|
|
140
|
+
import { getWallets, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
141
|
+
function getRegisteredWallets(preferredWallets, requiredFeatures) {
|
|
142
|
+
const walletsApi = getWallets();
|
|
143
|
+
const wallets = walletsApi.get();
|
|
144
|
+
const suiWallets = wallets.filter(
|
|
145
|
+
(wallet) => isWalletWithRequiredFeatureSet(wallet, requiredFeatures)
|
|
146
|
+
);
|
|
147
|
+
return [
|
|
148
|
+
// Preferred wallets, in order:
|
|
149
|
+
...preferredWallets.map((name) => suiWallets.find((wallet) => wallet.name === name)).filter(Boolean),
|
|
150
|
+
// Wallets in default order:
|
|
151
|
+
...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
|
|
152
|
+
];
|
|
153
|
+
}
|
|
154
|
+
function getWalletUniqueIdentifier(wallet) {
|
|
155
|
+
return wallet?.id ?? wallet?.name;
|
|
156
|
+
}
|
|
157
|
+
|
|
139
158
|
// src/components/icons/BackIcon.tsx
|
|
140
159
|
import { jsx } from "react/jsx-runtime";
|
|
141
160
|
function BackIcon(props) {
|
|
@@ -450,10 +469,10 @@ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
|
|
|
450
469
|
{
|
|
451
470
|
name: wallet.name,
|
|
452
471
|
icon: wallet.icon,
|
|
453
|
-
isSelected: wallet
|
|
472
|
+
isSelected: getWalletUniqueIdentifier(wallet) === selectedWalletName,
|
|
454
473
|
onClick: () => onSelect(wallet)
|
|
455
474
|
},
|
|
456
|
-
wallet
|
|
475
|
+
getWalletUniqueIdentifier(wallet)
|
|
457
476
|
)) : /* @__PURE__ */ jsx14(
|
|
458
477
|
WalletListItem,
|
|
459
478
|
{
|
|
@@ -528,10 +547,10 @@ function ConnectModal({ trigger, open, defaultOpen, onOpenChange }) {
|
|
|
528
547
|
/* @__PURE__ */ jsx15(
|
|
529
548
|
WalletList,
|
|
530
549
|
{
|
|
531
|
-
selectedWalletName: selectedWallet
|
|
550
|
+
selectedWalletName: getWalletUniqueIdentifier(selectedWallet),
|
|
532
551
|
onPlaceholderClick: () => setCurrentView("getting-started"),
|
|
533
552
|
onSelect: (wallet) => {
|
|
534
|
-
if (selectedWallet
|
|
553
|
+
if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
|
|
535
554
|
setSelectedWallet(wallet);
|
|
536
555
|
connectWallet(wallet);
|
|
537
556
|
}
|
|
@@ -779,10 +798,11 @@ function useSwitchAccount({
|
|
|
779
798
|
|
|
780
799
|
// src/components/AccountDropdownMenu.css.ts
|
|
781
800
|
var connectedAccount = "AccountDropdownMenu_connectedAccount__div2ql0";
|
|
782
|
-
var
|
|
783
|
-
var
|
|
784
|
-
var
|
|
785
|
-
var
|
|
801
|
+
var menuContainer = "AccountDropdownMenu_menuContainer__div2ql1";
|
|
802
|
+
var menuContent = "AccountDropdownMenu_menuContent__div2ql2";
|
|
803
|
+
var menuItem = "AccountDropdownMenu_menuItem__div2ql3";
|
|
804
|
+
var separator = "AccountDropdownMenu_separator__div2ql5";
|
|
805
|
+
var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__div2ql4";
|
|
786
806
|
|
|
787
807
|
// src/components/icons/CheckIcon.tsx
|
|
788
808
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
@@ -824,7 +844,7 @@ function AccountDropdownMenu({ currentAccount }) {
|
|
|
824
844
|
/* @__PURE__ */ jsx19(Text, { mono: true, weight: "bold", children: currentAccount.label ?? domain ?? formatAddress(currentAccount.address) }),
|
|
825
845
|
/* @__PURE__ */ jsx19(ChevronIcon, {})
|
|
826
846
|
] }) }) }),
|
|
827
|
-
/* @__PURE__ */ jsx19(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx19(StyleMarker, { children: /* @__PURE__ */ jsxs8(DropdownMenu.Content, { className: menuContent, children: [
|
|
847
|
+
/* @__PURE__ */ jsx19(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx19(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ jsxs8(DropdownMenu.Content, { className: menuContent, children: [
|
|
828
848
|
accounts.map((account) => /* @__PURE__ */ jsx19(
|
|
829
849
|
AccountDropdownMenuItem,
|
|
830
850
|
{
|
|
@@ -915,7 +935,9 @@ function useAutoConnectWallet() {
|
|
|
915
935
|
if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {
|
|
916
936
|
return "attempted";
|
|
917
937
|
}
|
|
918
|
-
const wallet = wallets.find(
|
|
938
|
+
const wallet = wallets.find(
|
|
939
|
+
(wallet2) => getWalletUniqueIdentifier(wallet2) === lastConnectedWalletName
|
|
940
|
+
);
|
|
919
941
|
if (wallet) {
|
|
920
942
|
await connectWallet({
|
|
921
943
|
wallet,
|
|
@@ -944,6 +966,9 @@ function useAutoConnectWallet() {
|
|
|
944
966
|
if (!clientOnly) {
|
|
945
967
|
return "idle";
|
|
946
968
|
}
|
|
969
|
+
if (isConnected) {
|
|
970
|
+
return "attempted";
|
|
971
|
+
}
|
|
947
972
|
if (!lastConnectedWalletName) {
|
|
948
973
|
return "attempted";
|
|
949
974
|
}
|
|
@@ -952,7 +977,7 @@ function useAutoConnectWallet() {
|
|
|
952
977
|
|
|
953
978
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
954
979
|
import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
|
|
955
|
-
import { getWallets, ReadonlyWalletAccount, SUI_CHAINS } from "@mysten/wallet-standard";
|
|
980
|
+
import { getWallets as getWallets2, ReadonlyWalletAccount, SUI_CHAINS } from "@mysten/wallet-standard";
|
|
956
981
|
import { useEffect } from "react";
|
|
957
982
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
958
983
|
function useUnsafeBurnerWallet(enabled) {
|
|
@@ -967,7 +992,7 @@ function useUnsafeBurnerWallet(enabled) {
|
|
|
967
992
|
}
|
|
968
993
|
function registerUnsafeBurnerWallet(suiClient) {
|
|
969
994
|
var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
|
|
970
|
-
const walletsApi =
|
|
995
|
+
const walletsApi = getWallets2();
|
|
971
996
|
const registeredWallets = walletsApi.get();
|
|
972
997
|
if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
|
|
973
998
|
console.warn(
|
|
@@ -1087,24 +1112,6 @@ function useWalletPropertiesChanged() {
|
|
|
1087
1112
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1088
1113
|
import { getWallets as getWallets3 } from "@mysten/wallet-standard";
|
|
1089
1114
|
import { useEffect as useEffect3 } from "react";
|
|
1090
|
-
|
|
1091
|
-
// src/utils/walletUtils.ts
|
|
1092
|
-
import { getWallets as getWallets2, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
1093
|
-
function getRegisteredWallets(preferredWallets, requiredFeatures) {
|
|
1094
|
-
const walletsApi = getWallets2();
|
|
1095
|
-
const wallets = walletsApi.get();
|
|
1096
|
-
const suiWallets = wallets.filter(
|
|
1097
|
-
(wallet) => isWalletWithRequiredFeatureSet(wallet, requiredFeatures)
|
|
1098
|
-
);
|
|
1099
|
-
return [
|
|
1100
|
-
// Preferred wallets, in order:
|
|
1101
|
-
...preferredWallets.map((name) => suiWallets.find((wallet) => wallet.name === name)).filter(Boolean),
|
|
1102
|
-
// Wallets in default order:
|
|
1103
|
-
...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
|
|
1104
|
-
];
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
// src/hooks/wallet/useWalletsChanged.ts
|
|
1108
1115
|
function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
1109
1116
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1110
1117
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
@@ -1215,7 +1222,7 @@ function createWalletStore({
|
|
|
1215
1222
|
accounts: connectedAccounts,
|
|
1216
1223
|
currentWallet: wallet,
|
|
1217
1224
|
currentAccount: selectedAccount,
|
|
1218
|
-
lastConnectedWalletName: wallet
|
|
1225
|
+
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
1219
1226
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
1220
1227
|
connectionStatus: "connected"
|
|
1221
1228
|
}));
|
|
@@ -1477,6 +1484,28 @@ function useSuiClientMutation(method, options = {}) {
|
|
|
1477
1484
|
});
|
|
1478
1485
|
}
|
|
1479
1486
|
|
|
1487
|
+
// src/hooks/useSuiClientQueries.ts
|
|
1488
|
+
import { useQueries } from "@tanstack/react-query";
|
|
1489
|
+
function useSuiClientQueries({
|
|
1490
|
+
queries,
|
|
1491
|
+
combine
|
|
1492
|
+
}) {
|
|
1493
|
+
const suiContext = useSuiClientContext();
|
|
1494
|
+
return useQueries({
|
|
1495
|
+
combine,
|
|
1496
|
+
queries: queries.map((query) => {
|
|
1497
|
+
const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
|
|
1498
|
+
return {
|
|
1499
|
+
...restOptions,
|
|
1500
|
+
queryKey: [suiContext.network, method, params, ...queryKey],
|
|
1501
|
+
queryFn: async () => {
|
|
1502
|
+
return await suiContext.client[method](params);
|
|
1503
|
+
}
|
|
1504
|
+
};
|
|
1505
|
+
})
|
|
1506
|
+
});
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1480
1509
|
// src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
|
|
1481
1510
|
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
1482
1511
|
function useSignAndExecuteTransactionBlock({
|
|
@@ -1639,6 +1668,7 @@ export {
|
|
|
1639
1668
|
useSuiClientContext,
|
|
1640
1669
|
useSuiClientInfiniteQuery,
|
|
1641
1670
|
useSuiClientMutation,
|
|
1671
|
+
useSuiClientQueries,
|
|
1642
1672
|
useSuiClientQuery,
|
|
1643
1673
|
useSwitchAccount,
|
|
1644
1674
|
useWallets
|