@mysten/dapp-kit 0.9.0 → 0.9.1
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 +11 -0
- package/README.md +19 -4
- package/dist/cjs/components/AccountDropdownMenu.js +1 -0
- package/dist/cjs/components/AccountDropdownMenu.js.map +2 -2
- package/dist/cjs/components/ConnectButton.js +1 -0
- package/dist/cjs/components/ConnectButton.js.map +2 -2
- package/dist/cjs/components/WalletProvider.js +67 -51
- package/dist/cjs/components/WalletProvider.js.map +3 -3
- package/dist/cjs/components/connect-modal/ConnectModal.js +1 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +2 -2
- package/dist/cjs/constants/walletMutationKeys.d.ts +1 -0
- package/dist/cjs/constants/walletMutationKeys.js +1 -0
- package/dist/cjs/constants/walletMutationKeys.js.map +2 -2
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -1
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +50 -27
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +3 -3
- package/dist/cjs/hooks/wallet/useConnectWallet.js +1 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +1 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +1 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +1 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +1 -0
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +1 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -2
- package/dist/cjs/index.js +74 -63
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/walletStore.d.ts +3 -5
- package/dist/cjs/walletStore.js +2 -7
- package/dist/cjs/walletStore.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.js +1 -0
- package/dist/esm/components/AccountDropdownMenu.js.map +2 -2
- package/dist/esm/components/ConnectButton.js +1 -0
- package/dist/esm/components/ConnectButton.js.map +2 -2
- package/dist/esm/components/WalletProvider.js +61 -45
- package/dist/esm/components/WalletProvider.js.map +3 -3
- package/dist/esm/components/connect-modal/ConnectModal.js +1 -0
- package/dist/esm/components/connect-modal/ConnectModal.js.map +2 -2
- package/dist/esm/constants/walletMutationKeys.d.ts +1 -0
- package/dist/esm/constants/walletMutationKeys.js +1 -0
- package/dist/esm/constants/walletMutationKeys.js.map +2 -2
- package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -1
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +50 -27
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useConnectWallet.js +1 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +1 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +1 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +2 -2
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +1 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js +1 -0
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +2 -2
- package/dist/esm/hooks/wallet/useSwitchAccount.js +1 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +62 -51
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/walletStore.d.ts +3 -5
- package/dist/esm/walletStore.js +2 -7
- package/dist/esm/walletStore.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -6
- package/src/components/WalletProvider.tsx +3 -5
- package/src/constants/walletMutationKeys.ts +1 -0
- package/src/hooks/wallet/useAutoConnectWallet.ts +55 -33
- package/src/index.ts +1 -2
- package/src/walletStore.ts +4 -12
- package/dist/cjs/hooks/wallet/useAutoConnectionStatus.d.ts +0 -4
- package/dist/cjs/hooks/wallet/useAutoConnectionStatus.js +0 -50
- package/dist/cjs/hooks/wallet/useAutoConnectionStatus.js.map +0 -7
- package/dist/esm/hooks/wallet/useAutoConnectionStatus.d.ts +0 -4
- package/dist/esm/hooks/wallet/useAutoConnectionStatus.js +0 -27
- package/dist/esm/hooks/wallet/useAutoConnectionStatus.js.map +0 -7
- package/src/hooks/wallet/useAutoConnectionStatus.ts +0 -12
package/dist/esm/index.js
CHANGED
|
@@ -66,6 +66,7 @@ import { useMutation } from "@tanstack/react-query";
|
|
|
66
66
|
var walletMutationKeys = {
|
|
67
67
|
all: { baseScope: "wallet" },
|
|
68
68
|
connectWallet: formMutationKeyFn("connect-wallet"),
|
|
69
|
+
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
69
70
|
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
70
71
|
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
71
72
|
signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
|
|
@@ -882,50 +883,72 @@ function ConnectButton({
|
|
|
882
883
|
import { useRef } from "react";
|
|
883
884
|
|
|
884
885
|
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
885
|
-
import {
|
|
886
|
-
function useAutoConnectWallet(
|
|
887
|
-
const {
|
|
888
|
-
const
|
|
886
|
+
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
887
|
+
function useAutoConnectWallet() {
|
|
888
|
+
const { mutateAsync: connectWallet } = useConnectWallet();
|
|
889
|
+
const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
|
|
889
890
|
const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
|
|
890
891
|
const lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);
|
|
891
892
|
const wallets = useWallets();
|
|
892
893
|
const { isDisconnected } = useCurrentWallet();
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
894
|
+
const { data, isError } = useQuery2({
|
|
895
|
+
queryKey: [
|
|
896
|
+
"@mysten/dapp-kit",
|
|
897
|
+
"autoconnect",
|
|
898
|
+
{
|
|
899
|
+
isDisconnected,
|
|
900
|
+
autoConnectEnabled,
|
|
901
|
+
lastConnectedWalletName,
|
|
902
|
+
lastConnectedAccountAddress,
|
|
903
|
+
walletCount: wallets.length
|
|
904
|
+
}
|
|
905
|
+
],
|
|
906
|
+
queryFn: async () => {
|
|
907
|
+
if (!autoConnectEnabled) {
|
|
908
|
+
return "disabled";
|
|
909
|
+
}
|
|
910
|
+
if (!lastConnectedWalletName || !lastConnectedAccountAddress || !isDisconnected) {
|
|
911
|
+
return "attempted";
|
|
912
|
+
}
|
|
913
|
+
const wallet = wallets.find((wallet2) => wallet2.name === lastConnectedWalletName);
|
|
914
|
+
if (wallet) {
|
|
915
|
+
await connectWallet({
|
|
901
916
|
wallet,
|
|
902
917
|
accountAddress: lastConnectedAccountAddress,
|
|
903
918
|
silent: true
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
return "attempted";
|
|
922
|
+
},
|
|
923
|
+
enabled: autoConnectEnabled,
|
|
924
|
+
persister: void 0,
|
|
925
|
+
gcTime: 0,
|
|
926
|
+
staleTime: 0,
|
|
927
|
+
retry: false,
|
|
928
|
+
retryOnMount: false,
|
|
929
|
+
refetchInterval: false,
|
|
930
|
+
refetchIntervalInBackground: false,
|
|
931
|
+
refetchOnMount: false,
|
|
932
|
+
refetchOnReconnect: false,
|
|
933
|
+
refetchOnWindowFocus: false
|
|
934
|
+
});
|
|
935
|
+
if (!autoConnectEnabled) {
|
|
936
|
+
return "disabled";
|
|
937
|
+
}
|
|
938
|
+
if (!lastConnectedWalletName) {
|
|
939
|
+
return "attempted";
|
|
940
|
+
}
|
|
941
|
+
return isError ? "attempted" : data ?? "idle";
|
|
919
942
|
}
|
|
920
943
|
|
|
921
944
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
922
945
|
import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
|
|
923
946
|
import { getWallets, ReadonlyWalletAccount, SUI_CHAINS } from "@mysten/wallet-standard";
|
|
924
|
-
import { useEffect
|
|
947
|
+
import { useEffect } from "react";
|
|
925
948
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
926
949
|
function useUnsafeBurnerWallet(enabled) {
|
|
927
950
|
const suiClient = useSuiClient();
|
|
928
|
-
|
|
951
|
+
useEffect(() => {
|
|
929
952
|
if (!enabled) {
|
|
930
953
|
return;
|
|
931
954
|
}
|
|
@@ -1035,11 +1058,11 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1035
1058
|
}
|
|
1036
1059
|
|
|
1037
1060
|
// src/hooks/wallet/useWalletPropertiesChanged.ts
|
|
1038
|
-
import { useEffect as
|
|
1061
|
+
import { useEffect as useEffect2 } from "react";
|
|
1039
1062
|
function useWalletPropertiesChanged() {
|
|
1040
1063
|
const { currentWallet } = useCurrentWallet();
|
|
1041
1064
|
const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);
|
|
1042
|
-
|
|
1065
|
+
useEffect2(() => {
|
|
1043
1066
|
const unsubscribeFromEvents = currentWallet?.features["standard:events"].on(
|
|
1044
1067
|
"change",
|
|
1045
1068
|
({ accounts }) => {
|
|
@@ -1054,7 +1077,7 @@ function useWalletPropertiesChanged() {
|
|
|
1054
1077
|
|
|
1055
1078
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1056
1079
|
import { getWallets as getWallets3 } from "@mysten/wallet-standard";
|
|
1057
|
-
import { useEffect as
|
|
1080
|
+
import { useEffect as useEffect3 } from "react";
|
|
1058
1081
|
|
|
1059
1082
|
// src/utils/walletUtils.ts
|
|
1060
1083
|
import { getWallets as getWallets2, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
@@ -1076,7 +1099,7 @@ function getRegisteredWallets(preferredWallets, requiredFeatures) {
|
|
|
1076
1099
|
function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
1077
1100
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1078
1101
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
1079
|
-
|
|
1102
|
+
useEffect3(() => {
|
|
1080
1103
|
const walletsApi = getWallets3();
|
|
1081
1104
|
const unsubscribeFromRegister = walletsApi.on("register", () => {
|
|
1082
1105
|
setWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));
|
|
@@ -1160,11 +1183,12 @@ function createWalletStore({
|
|
|
1160
1183
|
wallets,
|
|
1161
1184
|
storage,
|
|
1162
1185
|
storageKey,
|
|
1163
|
-
|
|
1186
|
+
autoConnectEnabled
|
|
1164
1187
|
}) {
|
|
1165
1188
|
return createStore()(
|
|
1166
1189
|
persist(
|
|
1167
1190
|
(set, get) => ({
|
|
1191
|
+
autoConnectEnabled,
|
|
1168
1192
|
wallets,
|
|
1169
1193
|
accounts: [],
|
|
1170
1194
|
currentWallet: null,
|
|
@@ -1172,17 +1196,11 @@ function createWalletStore({
|
|
|
1172
1196
|
lastConnectedAccountAddress: null,
|
|
1173
1197
|
lastConnectedWalletName: null,
|
|
1174
1198
|
connectionStatus: "disconnected",
|
|
1175
|
-
autoConnectionStatus: autoConnect ? "idle" : "disabled",
|
|
1176
1199
|
setConnectionStatus(connectionStatus2) {
|
|
1177
1200
|
set(() => ({
|
|
1178
1201
|
connectionStatus: connectionStatus2
|
|
1179
1202
|
}));
|
|
1180
1203
|
},
|
|
1181
|
-
setAutoConnectionStatus(autoConnectionStatus) {
|
|
1182
|
-
set(() => ({
|
|
1183
|
-
autoConnectionStatus
|
|
1184
|
-
}));
|
|
1185
|
-
},
|
|
1186
1204
|
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
1187
1205
|
set(() => ({
|
|
1188
1206
|
accounts: connectedAccounts,
|
|
@@ -1360,10 +1378,10 @@ function WalletProvider({
|
|
|
1360
1378
|
}) {
|
|
1361
1379
|
const storeRef = useRef(
|
|
1362
1380
|
createWalletStore({
|
|
1381
|
+
autoConnectEnabled: autoConnect,
|
|
1363
1382
|
wallets: getRegisteredWallets(preferredWallets, requiredFeatures),
|
|
1364
1383
|
storageKey,
|
|
1365
|
-
storage
|
|
1366
|
-
autoConnect
|
|
1384
|
+
storage
|
|
1367
1385
|
})
|
|
1368
1386
|
);
|
|
1369
1387
|
return /* @__PURE__ */ jsx22(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ jsxs9(
|
|
@@ -1372,7 +1390,6 @@ function WalletProvider({
|
|
|
1372
1390
|
preferredWallets,
|
|
1373
1391
|
requiredFeatures,
|
|
1374
1392
|
enableUnsafeBurner,
|
|
1375
|
-
autoConnect,
|
|
1376
1393
|
children: [
|
|
1377
1394
|
theme ? /* @__PURE__ */ jsx22(InjectedThemeStyles, { theme }) : null,
|
|
1378
1395
|
children
|
|
@@ -1384,13 +1401,12 @@ function WalletConnectionManager({
|
|
|
1384
1401
|
preferredWallets,
|
|
1385
1402
|
requiredFeatures,
|
|
1386
1403
|
enableUnsafeBurner,
|
|
1387
|
-
autoConnect,
|
|
1388
1404
|
children
|
|
1389
1405
|
}) {
|
|
1390
1406
|
useWalletsChanged(preferredWallets, requiredFeatures);
|
|
1391
1407
|
useWalletPropertiesChanged();
|
|
1392
1408
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
1393
|
-
useAutoConnectWallet(
|
|
1409
|
+
useAutoConnectWallet();
|
|
1394
1410
|
return children;
|
|
1395
1411
|
}
|
|
1396
1412
|
|
|
@@ -1452,11 +1468,6 @@ function useSuiClientMutation(method, options = {}) {
|
|
|
1452
1468
|
});
|
|
1453
1469
|
}
|
|
1454
1470
|
|
|
1455
|
-
// src/hooks/wallet/useAutoConnectionStatus.ts
|
|
1456
|
-
function useAutoConnectionStatus() {
|
|
1457
|
-
return useWalletStore((state) => state.autoConnectionStatus);
|
|
1458
|
-
}
|
|
1459
|
-
|
|
1460
1471
|
// src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
|
|
1461
1472
|
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
1462
1473
|
function useSignAndExecuteTransactionBlock({
|
|
@@ -1606,7 +1617,7 @@ export {
|
|
|
1606
1617
|
createNetworkConfig,
|
|
1607
1618
|
lightTheme,
|
|
1608
1619
|
useAccounts,
|
|
1609
|
-
|
|
1620
|
+
useAutoConnectWallet,
|
|
1610
1621
|
useConnectWallet,
|
|
1611
1622
|
useCurrentAccount,
|
|
1612
1623
|
useCurrentWallet,
|