@mysten/dapp-kit 0.13.2 → 0.14.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 +16 -0
- package/README.md +5 -4
- package/dist/cjs/components/AccountDropdownMenu.js +13 -8
- package/dist/cjs/components/AccountDropdownMenu.js.map +2 -2
- package/dist/cjs/components/ConnectButton.js +19 -9
- package/dist/cjs/components/ConnectButton.js.map +2 -2
- package/dist/cjs/components/SuiClientProvider.d.ts +1 -1
- package/dist/cjs/components/SuiClientProvider.js +1 -1
- package/dist/cjs/components/SuiClientProvider.js.map +1 -1
- package/dist/cjs/components/WalletProvider.d.ts +3 -3
- package/dist/cjs/components/WalletProvider.js +104 -33
- package/dist/cjs/components/WalletProvider.js.map +2 -2
- package/dist/cjs/components/connect-modal/ConnectModal.js +10 -4
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +2 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +2 -2
- package/dist/cjs/constants/walletDefaults.d.ts +1 -1
- package/dist/cjs/constants/walletDefaults.js +4 -2
- package/dist/cjs/constants/walletDefaults.js.map +2 -2
- package/dist/cjs/constants/walletMutationKeys.d.ts +3 -2
- package/dist/cjs/constants/walletMutationKeys.js +4 -3
- package/dist/cjs/constants/walletMutationKeys.js.map +2 -2
- package/dist/cjs/hooks/networkConfig.d.ts +1 -1
- package/dist/cjs/hooks/networkConfig.js +1 -1
- package/dist/cjs/hooks/networkConfig.js.map +1 -1
- package/dist/cjs/hooks/useResolveSuiNSNames.d.ts +1 -1
- package/dist/cjs/hooks/useResolveSuiNSNames.js +1 -1
- package/dist/cjs/hooks/useResolveSuiNSNames.js.map +1 -1
- package/dist/cjs/hooks/useSuiClient.d.ts +1 -1
- package/dist/cjs/hooks/useSuiClient.js +1 -1
- package/dist/cjs/hooks/useSuiClient.js.map +1 -1
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.d.ts +1 -1
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.js +1 -1
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +1 -1
- package/dist/cjs/hooks/useSuiClientMutation.js +1 -1
- package/dist/cjs/hooks/useSuiClientMutation.js.map +1 -1
- package/dist/cjs/hooks/useSuiClientQueries.js +1 -1
- package/dist/cjs/hooks/useSuiClientQueries.js.map +1 -1
- package/dist/cjs/hooks/useSuiClientQuery.d.ts +1 -1
- package/dist/cjs/hooks/useSuiClientQuery.js +1 -1
- package/dist/cjs/hooks/useSuiClientQuery.js.map +1 -1
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +17 -7
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useConnectWallet.js +10 -4
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +3 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js +7 -3
- package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +11 -6
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/cjs/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +37 -37
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +248 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +11 -6
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/cjs/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +83 -47
- package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useStashedWallet.js +17 -7
- package/dist/cjs/hooks/wallet/useStashedWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +11 -6
- package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +64 -9
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +7 -3
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
- package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +1 -1
- package/dist/cjs/hooks/wallet/useWalletsChanged.js +7 -7
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +2 -2
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +231 -86
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/walletUtils.d.ts +2 -2
- package/dist/cjs/utils/walletUtils.js +2 -2
- package/dist/cjs/utils/walletUtils.js.map +2 -2
- package/dist/cjs/walletStore.d.ts +2 -1
- package/dist/cjs/walletStore.js +8 -4
- package/dist/cjs/walletStore.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.js +13 -8
- package/dist/esm/components/AccountDropdownMenu.js.map +2 -2
- package/dist/esm/components/ConnectButton.js +19 -9
- package/dist/esm/components/ConnectButton.js.map +2 -2
- package/dist/esm/components/SuiClientProvider.d.ts +1 -1
- package/dist/esm/components/SuiClientProvider.js +1 -1
- package/dist/esm/components/SuiClientProvider.js.map +1 -1
- package/dist/esm/components/WalletProvider.d.ts +3 -3
- package/dist/esm/components/WalletProvider.js +104 -33
- package/dist/esm/components/WalletProvider.js.map +2 -2
- package/dist/esm/components/connect-modal/ConnectModal.js +10 -4
- package/dist/esm/components/connect-modal/ConnectModal.js.map +2 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +2 -2
- package/dist/esm/constants/walletDefaults.d.ts +1 -1
- package/dist/esm/constants/walletDefaults.js +4 -2
- package/dist/esm/constants/walletDefaults.js.map +2 -2
- package/dist/esm/constants/walletMutationKeys.d.ts +3 -2
- package/dist/esm/constants/walletMutationKeys.js +4 -3
- package/dist/esm/constants/walletMutationKeys.js.map +2 -2
- package/dist/esm/hooks/networkConfig.d.ts +1 -1
- package/dist/esm/hooks/networkConfig.js +1 -1
- package/dist/esm/hooks/networkConfig.js.map +1 -1
- package/dist/esm/hooks/useResolveSuiNSNames.d.ts +1 -1
- package/dist/esm/hooks/useResolveSuiNSNames.js +1 -1
- package/dist/esm/hooks/useResolveSuiNSNames.js.map +1 -1
- package/dist/esm/hooks/useSuiClient.d.ts +1 -1
- package/dist/esm/hooks/useSuiClient.js +1 -1
- package/dist/esm/hooks/useSuiClient.js.map +1 -1
- package/dist/esm/hooks/useSuiClientInfiniteQuery.d.ts +1 -1
- package/dist/esm/hooks/useSuiClientInfiniteQuery.js +1 -1
- package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +1 -1
- package/dist/esm/hooks/useSuiClientMutation.js +1 -1
- package/dist/esm/hooks/useSuiClientMutation.js.map +1 -1
- package/dist/esm/hooks/useSuiClientQueries.js +1 -1
- package/dist/esm/hooks/useSuiClientQueries.js.map +1 -1
- package/dist/esm/hooks/useSuiClientQuery.d.ts +1 -1
- package/dist/esm/hooks/useSuiClientQuery.js +1 -1
- package/dist/esm/hooks/useSuiClientQuery.js.map +1 -1
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +17 -7
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useConnectWallet.js +10 -4
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +3 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js +7 -3
- package/dist/esm/hooks/wallet/useCurrentWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +11 -6
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/esm/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +34 -34
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +227 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +11 -6
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/esm/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +80 -44
- package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useStashedWallet.js +17 -7
- package/dist/esm/hooks/wallet/useStashedWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useSwitchAccount.js +11 -6
- package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +64 -9
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +7 -3
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
- package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +1 -1
- package/dist/esm/hooks/wallet/useWalletsChanged.js +7 -7
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +2 -2
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +231 -86
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/utils/walletUtils.d.ts +2 -2
- package/dist/esm/utils/walletUtils.js +2 -2
- package/dist/esm/utils/walletUtils.js.map +2 -2
- package/dist/esm/walletStore.d.ts +2 -1
- package/dist/esm/walletStore.js +8 -4
- package/dist/esm/walletStore.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/components/AccountDropdownMenu.tsx +1 -1
- package/src/components/SuiClientProvider.tsx +2 -2
- package/src/components/WalletProvider.tsx +9 -9
- package/src/constants/walletDefaults.ts +7 -3
- package/src/constants/walletMutationKeys.ts +3 -2
- package/src/hooks/networkConfig.ts +1 -1
- package/src/hooks/useResolveSuiNSNames.ts +1 -1
- package/src/hooks/useSuiClient.ts +1 -1
- package/src/hooks/useSuiClientInfiniteQuery.ts +1 -1
- package/src/hooks/useSuiClientQuery.ts +1 -1
- package/src/hooks/wallet/useConnectWallet.ts +6 -1
- package/src/hooks/wallet/useCurrentWallet.ts +4 -0
- package/src/hooks/wallet/useReportTransactionEffects.ts +82 -0
- package/src/hooks/wallet/useSignAndExecuteTransaction.ts +167 -0
- package/src/hooks/wallet/useSignTransaction.ts +119 -0
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +69 -6
- package/src/hooks/wallet/useWalletsChanged.ts +5 -5
- package/src/index.ts +3 -2
- package/src/types.ts +1 -1
- package/src/utils/walletUtils.ts +3 -2
- package/src/walletStore.ts +7 -1
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +0 -7
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
- package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +0 -7
- package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +0 -116
- package/src/hooks/wallet/useSignTransactionBlock.ts +0 -84
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { SignedPersonalMessage,
|
|
1
|
+
export type { SignedPersonalMessage, SignedTransaction } from '@mysten/wallet-standard';
|
|
2
2
|
export type { ThemeVars } from './themes/themeContract.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Wallet, WalletWithFeatures } from '@mysten/wallet-standard';
|
|
2
|
-
export declare function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(preferredWallets: string[],
|
|
1
|
+
import type { Wallet, WalletWithFeatures, WalletWithRequiredFeatures } from '@mysten/wallet-standard';
|
|
2
|
+
export declare function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(preferredWallets: string[], walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean): WalletWithFeatures<import("@mysten/wallet-standard").StandardConnectFeature & import("@mysten/wallet-standard").StandardEventsFeature & AdditionalFeatures>[];
|
|
3
3
|
export declare function getWalletUniqueIdentifier(wallet?: Wallet): string | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// src/utils/walletUtils.ts
|
|
2
2
|
import { getWallets, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
3
|
-
function getRegisteredWallets(preferredWallets,
|
|
3
|
+
function getRegisteredWallets(preferredWallets, walletFilter) {
|
|
4
4
|
const walletsApi = getWallets();
|
|
5
5
|
const wallets = walletsApi.get();
|
|
6
6
|
const suiWallets = wallets.filter(
|
|
7
|
-
(wallet) => isWalletWithRequiredFeatureSet(wallet
|
|
7
|
+
(wallet) => isWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet))
|
|
8
8
|
);
|
|
9
9
|
return [
|
|
10
10
|
// Preferred wallets, in order:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/walletUtils.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n\tWalletWithRequiredFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n\tconst walletsApi = getWallets();\n\tconst wallets = walletsApi.get();\n\n\tconst suiWallets = wallets.filter(\n\t\t(wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n\t\t\tisWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n\t);\n\n\treturn [\n\t\t// Preferred wallets, in order:\n\t\t...(preferredWallets\n\t\t\t.map((name) => suiWallets.find((wallet) => wallet.name === name))\n\t\t\t.filter(Boolean) as WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures>[]),\n\n\t\t// Wallets in default order:\n\t\t...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n\t];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n\treturn wallet?.id ?? wallet?.name;\n}\n"],
|
|
5
|
+
"mappings": ";AASA,SAAS,YAAY,sCAAsC;AAEpD,SAAS,qBACf,kBACA,cACC;AACD,QAAM,aAAa,WAAW;AAC9B,QAAM,UAAU,WAAW,IAAI;AAE/B,QAAM,aAAa,QAAQ;AAAA,IAC1B,CAAC,WACA,+BAA+B,MAAM,MAAM,CAAC,gBAAgB,aAAa,MAAM;AAAA,EACjF;AAEA,SAAO;AAAA;AAAA,IAEN,GAAI,iBACF,IAAI,CAAC,SAAS,WAAW,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI,CAAC,EAC/D,OAAO,OAAO;AAAA;AAAA,IAGhB,GAAG,WAAW,OAAO,CAAC,WAAW,CAAC,iBAAiB,SAAS,OAAO,IAAI,CAAC;AAAA,EACzE;AACD;AAEO,SAAS,0BAA0B,QAAiB;AAC1D,SAAO,QAAQ,MAAM,QAAQ;AAC9B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ type WalletConnectionStatus = 'disconnected' | 'connecting' | 'connected';
|
|
|
4
4
|
export type WalletActions = {
|
|
5
5
|
setAccountSwitched: (selectedAccount: WalletAccount) => void;
|
|
6
6
|
setConnectionStatus: (connectionStatus: WalletConnectionStatus) => void;
|
|
7
|
-
setWalletConnected: (wallet: WalletWithRequiredFeatures, connectedAccounts: readonly WalletAccount[], selectedAccount: WalletAccount | null) => void;
|
|
7
|
+
setWalletConnected: (wallet: WalletWithRequiredFeatures, connectedAccounts: readonly WalletAccount[], selectedAccount: WalletAccount | null, supportedIntents?: string[]) => void;
|
|
8
8
|
updateWalletAccounts: (accounts: readonly WalletAccount[]) => void;
|
|
9
9
|
setWalletDisconnected: () => void;
|
|
10
10
|
setWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;
|
|
@@ -20,6 +20,7 @@ export type StoreState = {
|
|
|
20
20
|
lastConnectedAccountAddress: string | null;
|
|
21
21
|
lastConnectedWalletName: string | null;
|
|
22
22
|
connectionStatus: WalletConnectionStatus;
|
|
23
|
+
supportedIntents: string[];
|
|
23
24
|
} & WalletActions;
|
|
24
25
|
type WalletConfiguration = {
|
|
25
26
|
autoConnectEnabled: boolean;
|
package/dist/esm/walletStore.js
CHANGED
|
@@ -26,19 +26,21 @@ function createWalletStore({
|
|
|
26
26
|
lastConnectedAccountAddress: null,
|
|
27
27
|
lastConnectedWalletName: null,
|
|
28
28
|
connectionStatus: "disconnected",
|
|
29
|
+
supportedIntents: [],
|
|
29
30
|
setConnectionStatus(connectionStatus) {
|
|
30
31
|
set(() => ({
|
|
31
32
|
connectionStatus
|
|
32
33
|
}));
|
|
33
34
|
},
|
|
34
|
-
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
35
|
+
setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
|
|
35
36
|
set(() => ({
|
|
36
37
|
accounts: connectedAccounts,
|
|
37
38
|
currentWallet: wallet,
|
|
38
39
|
currentAccount: selectedAccount,
|
|
39
40
|
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
40
41
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
41
|
-
connectionStatus: "connected"
|
|
42
|
+
connectionStatus: "connected",
|
|
43
|
+
supportedIntents
|
|
42
44
|
}));
|
|
43
45
|
},
|
|
44
46
|
setWalletDisconnected() {
|
|
@@ -48,7 +50,8 @@ function createWalletStore({
|
|
|
48
50
|
currentAccount: null,
|
|
49
51
|
lastConnectedWalletName: null,
|
|
50
52
|
lastConnectedAccountAddress: null,
|
|
51
|
-
connectionStatus: "disconnected"
|
|
53
|
+
connectionStatus: "disconnected",
|
|
54
|
+
supportedIntents: []
|
|
52
55
|
}));
|
|
53
56
|
},
|
|
54
57
|
setAccountSwitched(selectedAccount) {
|
|
@@ -69,7 +72,8 @@ function createWalletStore({
|
|
|
69
72
|
currentAccount: null,
|
|
70
73
|
lastConnectedWalletName: null,
|
|
71
74
|
lastConnectedAccountAddress: null,
|
|
72
|
-
connectionStatus: "disconnected"
|
|
75
|
+
connectionStatus: "disconnected",
|
|
76
|
+
supportedIntents: []
|
|
73
77
|
}));
|
|
74
78
|
} else {
|
|
75
79
|
set(() => ({ wallets: updatedWallets }));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/walletStore.ts", "../../src/utils/walletUtils.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Wallet, WalletAccount, WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport { createStore } from 'zustand';\nimport type { StateStorage } from 'zustand/middleware';\nimport { createJSONStorage, persist } from 'zustand/middleware';\n\nimport { getWalletUniqueIdentifier } from './utils/walletUtils.js';\n\ntype WalletConnectionStatus = 'disconnected' | 'connecting' | 'connected';\n\nexport type WalletActions = {\n\tsetAccountSwitched: (selectedAccount: WalletAccount) => void;\n\tsetConnectionStatus: (connectionStatus: WalletConnectionStatus) => void;\n\tsetWalletConnected: (\n\t\twallet: WalletWithRequiredFeatures,\n\t\tconnectedAccounts: readonly WalletAccount[],\n\t\tselectedAccount: WalletAccount | null,\n\t) => void;\n\tupdateWalletAccounts: (accounts: readonly WalletAccount[]) => void;\n\tsetWalletDisconnected: () => void;\n\tsetWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;\n\tsetWalletUnregistered: (\n\t\tupdatedWallets: WalletWithRequiredFeatures[],\n\t\tunregisteredWallet: Wallet,\n\t) => void;\n};\n\nexport type WalletStore = ReturnType<typeof createWalletStore>;\n\nexport type StoreState = {\n\tautoConnectEnabled: boolean;\n\twallets: WalletWithRequiredFeatures[];\n\taccounts: readonly WalletAccount[];\n\tcurrentWallet: WalletWithRequiredFeatures | null;\n\tcurrentAccount: WalletAccount | null;\n\tlastConnectedAccountAddress: string | null;\n\tlastConnectedWalletName: string | null;\n\tconnectionStatus: WalletConnectionStatus;\n} & WalletActions;\n\ntype WalletConfiguration = {\n\tautoConnectEnabled: boolean;\n\twallets: WalletWithRequiredFeatures[];\n\tstorage: StateStorage;\n\tstorageKey: string;\n};\n\nexport function createWalletStore({\n\twallets,\n\tstorage,\n\tstorageKey,\n\tautoConnectEnabled,\n}: WalletConfiguration) {\n\treturn createStore<StoreState>()(\n\t\tpersist(\n\t\t\t(set, get) => ({\n\t\t\t\tautoConnectEnabled,\n\t\t\t\twallets,\n\t\t\t\taccounts: [] as WalletAccount[],\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tcurrentAccount: null,\n\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\tsetConnectionStatus(connectionStatus) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tconnectionStatus,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletConnected(wallet, connectedAccounts, selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: connectedAccounts,\n\t\t\t\t\t\tcurrentWallet: wallet,\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedWalletName: getWalletUniqueIdentifier(wallet),\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount?.address,\n\t\t\t\t\t\tconnectionStatus: 'connected',\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletDisconnected() {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetAccountSwitched(selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletRegistered(updatedWallets) {\n\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t},\n\t\t\t\tsetWalletUnregistered(updatedWallets, unregisteredWallet) {\n\t\t\t\t\tif (unregisteredWallet === get().currentWallet) {\n\t\t\t\t\t\tset(() => ({\n\t\t\t\t\t\t\twallets: updatedWallets,\n\t\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateWalletAccounts(accounts) {\n\t\t\t\t\tconst currentAccount = get().currentAccount;\n\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts,\n\t\t\t\t\t\tcurrentAccount:\n\t\t\t\t\t\t\t(currentAccount &&\n\t\t\t\t\t\t\t\taccounts.find(({ address }) => address === currentAccount.address)) ||\n\t\t\t\t\t\t\taccounts[0],\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{\n\t\t\t\tname: storageKey,\n\t\t\t\tstorage: createJSONStorage(() => storage),\n\t\t\t\tpartialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({\n\t\t\t\t\tlastConnectedWalletName,\n\t\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\t}),\n\t\t\t},\n\t\t),\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\
|
|
5
|
-
"mappings": ";AAIA,SAAS,mBAAmB;AAE5B,SAAS,mBAAmB,eAAe;;;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Wallet, WalletAccount, WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport { createStore } from 'zustand';\nimport type { StateStorage } from 'zustand/middleware';\nimport { createJSONStorage, persist } from 'zustand/middleware';\n\nimport { getWalletUniqueIdentifier } from './utils/walletUtils.js';\n\ntype WalletConnectionStatus = 'disconnected' | 'connecting' | 'connected';\n\nexport type WalletActions = {\n\tsetAccountSwitched: (selectedAccount: WalletAccount) => void;\n\tsetConnectionStatus: (connectionStatus: WalletConnectionStatus) => void;\n\tsetWalletConnected: (\n\t\twallet: WalletWithRequiredFeatures,\n\t\tconnectedAccounts: readonly WalletAccount[],\n\t\tselectedAccount: WalletAccount | null,\n\t\tsupportedIntents?: string[],\n\t) => void;\n\tupdateWalletAccounts: (accounts: readonly WalletAccount[]) => void;\n\tsetWalletDisconnected: () => void;\n\tsetWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;\n\tsetWalletUnregistered: (\n\t\tupdatedWallets: WalletWithRequiredFeatures[],\n\t\tunregisteredWallet: Wallet,\n\t) => void;\n};\n\nexport type WalletStore = ReturnType<typeof createWalletStore>;\n\nexport type StoreState = {\n\tautoConnectEnabled: boolean;\n\twallets: WalletWithRequiredFeatures[];\n\taccounts: readonly WalletAccount[];\n\tcurrentWallet: WalletWithRequiredFeatures | null;\n\tcurrentAccount: WalletAccount | null;\n\tlastConnectedAccountAddress: string | null;\n\tlastConnectedWalletName: string | null;\n\tconnectionStatus: WalletConnectionStatus;\n\tsupportedIntents: string[];\n} & WalletActions;\n\ntype WalletConfiguration = {\n\tautoConnectEnabled: boolean;\n\twallets: WalletWithRequiredFeatures[];\n\tstorage: StateStorage;\n\tstorageKey: string;\n};\n\nexport function createWalletStore({\n\twallets,\n\tstorage,\n\tstorageKey,\n\tautoConnectEnabled,\n}: WalletConfiguration) {\n\treturn createStore<StoreState>()(\n\t\tpersist(\n\t\t\t(set, get) => ({\n\t\t\t\tautoConnectEnabled,\n\t\t\t\twallets,\n\t\t\t\taccounts: [] as WalletAccount[],\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tcurrentAccount: null,\n\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\tsupportedIntents: [],\n\t\t\t\tsetConnectionStatus(connectionStatus) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tconnectionStatus,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: connectedAccounts,\n\t\t\t\t\t\tcurrentWallet: wallet,\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedWalletName: getWalletUniqueIdentifier(wallet),\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount?.address,\n\t\t\t\t\t\tconnectionStatus: 'connected',\n\t\t\t\t\t\tsupportedIntents,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletDisconnected() {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\t\t\tsupportedIntents: [],\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetAccountSwitched(selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletRegistered(updatedWallets) {\n\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t},\n\t\t\t\tsetWalletUnregistered(updatedWallets, unregisteredWallet) {\n\t\t\t\t\tif (unregisteredWallet === get().currentWallet) {\n\t\t\t\t\t\tset(() => ({\n\t\t\t\t\t\t\twallets: updatedWallets,\n\t\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\t\t\t\tsupportedIntents: [],\n\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateWalletAccounts(accounts) {\n\t\t\t\t\tconst currentAccount = get().currentAccount;\n\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts,\n\t\t\t\t\t\tcurrentAccount:\n\t\t\t\t\t\t\t(currentAccount &&\n\t\t\t\t\t\t\t\taccounts.find(({ address }) => address === currentAccount.address)) ||\n\t\t\t\t\t\t\taccounts[0],\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{\n\t\t\t\tname: storageKey,\n\t\t\t\tstorage: createJSONStorage(() => storage),\n\t\t\t\tpartialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({\n\t\t\t\t\tlastConnectedWalletName,\n\t\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\t}),\n\t\t\t},\n\t\t),\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n\tWalletWithRequiredFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n\tconst walletsApi = getWallets();\n\tconst wallets = walletsApi.get();\n\n\tconst suiWallets = wallets.filter(\n\t\t(wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n\t\t\tisWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n\t);\n\n\treturn [\n\t\t// Preferred wallets, in order:\n\t\t...(preferredWallets\n\t\t\t.map((name) => suiWallets.find((wallet) => wallet.name === name))\n\t\t\t.filter(Boolean) as WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures>[]),\n\n\t\t// Wallets in default order:\n\t\t...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n\t];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n\treturn wallet?.id ?? wallet?.name;\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,mBAAmB;AAE5B,SAAS,mBAAmB,eAAe;;;ACG3C,SAAS,YAAY,sCAAsC;AAyBpD,SAAS,0BAA0B,QAAiB;AAC1D,SAAO,QAAQ,MAAM,QAAQ;AAC9B;;;ADeO,SAAS,kBAAkB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,SAAO,YAAwB;AAAA,IAC9B;AAAA,MACC,CAAC,KAAK,SAAS;AAAA,QACd;AAAA,QACA;AAAA,QACA,UAAU,CAAC;AAAA,QACX,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,6BAA6B;AAAA,QAC7B,yBAAyB;AAAA,QACzB,kBAAkB;AAAA,QAClB,kBAAkB,CAAC;AAAA,QACnB,oBAAoB,kBAAkB;AACrC,cAAI,OAAO;AAAA,YACV;AAAA,UACD,EAAE;AAAA,QACH;AAAA,QACA,mBAAmB,QAAQ,mBAAmB,iBAAiB,mBAAmB,CAAC,GAAG;AACrF,cAAI,OAAO;AAAA,YACV,UAAU;AAAA,YACV,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,yBAAyB,0BAA0B,MAAM;AAAA,YACzD,6BAA6B,iBAAiB;AAAA,YAC9C,kBAAkB;AAAA,YAClB;AAAA,UACD,EAAE;AAAA,QACH;AAAA,QACA,wBAAwB;AACvB,cAAI,OAAO;AAAA,YACV,UAAU,CAAC;AAAA,YACX,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,yBAAyB;AAAA,YACzB,6BAA6B;AAAA,YAC7B,kBAAkB;AAAA,YAClB,kBAAkB,CAAC;AAAA,UACpB,EAAE;AAAA,QACH;AAAA,QACA,mBAAmB,iBAAiB;AACnC,cAAI,OAAO;AAAA,YACV,gBAAgB;AAAA,YAChB,6BAA6B,gBAAgB;AAAA,UAC9C,EAAE;AAAA,QACH;AAAA,QACA,oBAAoB,gBAAgB;AACnC,cAAI,OAAO,EAAE,SAAS,eAAe,EAAE;AAAA,QACxC;AAAA,QACA,sBAAsB,gBAAgB,oBAAoB;AACzD,cAAI,uBAAuB,IAAI,EAAE,eAAe;AAC/C,gBAAI,OAAO;AAAA,cACV,SAAS;AAAA,cACT,UAAU,CAAC;AAAA,cACX,eAAe;AAAA,cACf,gBAAgB;AAAA,cAChB,yBAAyB;AAAA,cACzB,6BAA6B;AAAA,cAC7B,kBAAkB;AAAA,cAClB,kBAAkB,CAAC;AAAA,YACpB,EAAE;AAAA,UACH,OAAO;AACN,gBAAI,OAAO,EAAE,SAAS,eAAe,EAAE;AAAA,UACxC;AAAA,QACD;AAAA,QACA,qBAAqB,UAAU;AAC9B,gBAAM,iBAAiB,IAAI,EAAE;AAE7B,cAAI,OAAO;AAAA,YACV;AAAA,YACA,gBACE,kBACA,SAAS,KAAK,CAAC,EAAE,QAAQ,MAAM,YAAY,eAAe,OAAO,KAClE,SAAS,CAAC;AAAA,UACZ,EAAE;AAAA,QACH;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,SAAS,kBAAkB,MAAM,OAAO;AAAA,QACxC,YAAY,CAAC,EAAE,yBAAyB,4BAA4B,OAAO;AAAA,UAC1E;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|