@mysten/dapp-kit 0.13.1 → 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 +24 -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 +106 -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/components/styling/InjectedThemeStyles.js +2 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.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 +233 -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 +106 -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/components/styling/InjectedThemeStyles.js +2 -0
- package/dist/esm/components/styling/InjectedThemeStyles.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 +233 -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/components/styling/InjectedThemeStyles.tsx +4 -0
- 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/cjs/index.js
CHANGED
|
@@ -76,10 +76,11 @@ __export(src_exports, {
|
|
|
76
76
|
useCurrentAccount: () => useCurrentAccount,
|
|
77
77
|
useCurrentWallet: () => useCurrentWallet,
|
|
78
78
|
useDisconnectWallet: () => useDisconnectWallet,
|
|
79
|
+
useReportTransactionEffects: () => useReportTransactionEffects,
|
|
79
80
|
useResolveSuiNSName: () => useResolveSuiNSName,
|
|
80
|
-
|
|
81
|
+
useSignAndExecuteTransaction: () => useSignAndExecuteTransaction,
|
|
81
82
|
useSignPersonalMessage: () => useSignPersonalMessage,
|
|
82
|
-
|
|
83
|
+
useSignTransaction: () => useSignTransaction,
|
|
83
84
|
useSuiClient: () => useSuiClient,
|
|
84
85
|
useSuiClientContext: () => useSuiClientContext,
|
|
85
86
|
useSuiClientInfiniteQuery: () => useSuiClientInfiniteQuery,
|
|
@@ -106,9 +107,10 @@ var walletMutationKeys = {
|
|
|
106
107
|
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
107
108
|
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
108
109
|
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
switchAccount: formMutationKeyFn("switch-account")
|
|
110
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
111
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
112
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
113
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
112
114
|
};
|
|
113
115
|
function formMutationKeyFn(baseEntity) {
|
|
114
116
|
return function mutationKeyFn(additionalKeys = []) {
|
|
@@ -152,7 +154,12 @@ function useConnectWallet({
|
|
|
152
154
|
(account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
|
|
153
155
|
);
|
|
154
156
|
const selectedAccount = getSelectedAccount(connectedSuiAccounts, accountAddress);
|
|
155
|
-
setWalletConnected(
|
|
157
|
+
setWalletConnected(
|
|
158
|
+
wallet,
|
|
159
|
+
connectedSuiAccounts,
|
|
160
|
+
selectedAccount,
|
|
161
|
+
connectResult.supportedIntents
|
|
162
|
+
);
|
|
156
163
|
return { accounts: connectedSuiAccounts };
|
|
157
164
|
} catch (error) {
|
|
158
165
|
setConnectionStatus("disconnected");
|
|
@@ -175,11 +182,11 @@ function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
|
175
182
|
|
|
176
183
|
// src/utils/walletUtils.ts
|
|
177
184
|
var import_wallet_standard = require("@mysten/wallet-standard");
|
|
178
|
-
function getRegisteredWallets(preferredWallets,
|
|
185
|
+
function getRegisteredWallets(preferredWallets, walletFilter) {
|
|
179
186
|
const walletsApi = (0, import_wallet_standard.getWallets)();
|
|
180
187
|
const wallets = walletsApi.get();
|
|
181
188
|
const suiWallets = wallets.filter(
|
|
182
|
-
(wallet) => (0, import_wallet_standard.isWalletWithRequiredFeatureSet)(wallet
|
|
189
|
+
(wallet) => (0, import_wallet_standard.isWalletWithRequiredFeatureSet)(wallet) && (!walletFilter || walletFilter(wallet))
|
|
183
190
|
);
|
|
184
191
|
return [
|
|
185
192
|
// Preferred wallets, in order:
|
|
@@ -630,7 +637,7 @@ function useCurrentAccount() {
|
|
|
630
637
|
}
|
|
631
638
|
|
|
632
639
|
// src/components/AccountDropdownMenu.tsx
|
|
633
|
-
var import_utils = require("@mysten/sui
|
|
640
|
+
var import_utils = require("@mysten/sui/utils");
|
|
634
641
|
var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
635
642
|
var import_clsx7 = __toESM(require("clsx"));
|
|
636
643
|
|
|
@@ -641,7 +648,7 @@ var import_react_query2 = require("@tanstack/react-query");
|
|
|
641
648
|
var import_react10 = require("react");
|
|
642
649
|
|
|
643
650
|
// src/components/SuiClientProvider.tsx
|
|
644
|
-
var import_client = require("@mysten/sui
|
|
651
|
+
var import_client = require("@mysten/sui/client");
|
|
645
652
|
var import_react9 = require("react");
|
|
646
653
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
647
654
|
var SuiClientContext = (0, import_react9.createContext)(null);
|
|
@@ -752,6 +759,7 @@ var WalletAccountNotFoundError = class extends Error {
|
|
|
752
759
|
function useCurrentWallet() {
|
|
753
760
|
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
754
761
|
const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
|
|
762
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
755
763
|
switch (connectionStatus2) {
|
|
756
764
|
case "connecting":
|
|
757
765
|
return {
|
|
@@ -759,7 +767,8 @@ function useCurrentWallet() {
|
|
|
759
767
|
currentWallet: null,
|
|
760
768
|
isDisconnected: false,
|
|
761
769
|
isConnecting: true,
|
|
762
|
-
isConnected: false
|
|
770
|
+
isConnected: false,
|
|
771
|
+
supportedIntents: []
|
|
763
772
|
};
|
|
764
773
|
case "disconnected":
|
|
765
774
|
return {
|
|
@@ -767,7 +776,8 @@ function useCurrentWallet() {
|
|
|
767
776
|
currentWallet: null,
|
|
768
777
|
isDisconnected: true,
|
|
769
778
|
isConnecting: false,
|
|
770
|
-
isConnected: false
|
|
779
|
+
isConnected: false,
|
|
780
|
+
supportedIntents: []
|
|
771
781
|
};
|
|
772
782
|
case "connected": {
|
|
773
783
|
return {
|
|
@@ -775,7 +785,8 @@ function useCurrentWallet() {
|
|
|
775
785
|
currentWallet,
|
|
776
786
|
isDisconnected: false,
|
|
777
787
|
isConnecting: false,
|
|
778
|
-
isConnected: true
|
|
788
|
+
isConnected: true,
|
|
789
|
+
supportedIntents
|
|
779
790
|
};
|
|
780
791
|
}
|
|
781
792
|
}
|
|
@@ -962,9 +973,11 @@ function createInMemoryStore() {
|
|
|
962
973
|
var SUI_WALLET_NAME = "Sui Wallet";
|
|
963
974
|
var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
|
|
964
975
|
var DEFAULT_STORAGE_KEY = "sui-dapp-kit:wallet-connection-info";
|
|
965
|
-
var
|
|
976
|
+
var SIGN_FEATURES = [
|
|
977
|
+
"sui:signTransaction",
|
|
966
978
|
"sui:signTransactionBlock"
|
|
967
979
|
];
|
|
980
|
+
var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
|
|
968
981
|
var DEFAULT_PREFERRED_WALLETS = [SUI_WALLET_NAME, import_zksend.STASHED_WALLET_NAME];
|
|
969
982
|
|
|
970
983
|
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
@@ -1070,7 +1083,9 @@ function useStashedWallet(config) {
|
|
|
1070
1083
|
}
|
|
1071
1084
|
|
|
1072
1085
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1073
|
-
var import_ed25519 = require("@mysten/sui
|
|
1086
|
+
var import_ed25519 = require("@mysten/sui/keypairs/ed25519");
|
|
1087
|
+
var import_transactions = require("@mysten/sui/transactions");
|
|
1088
|
+
var import_utils2 = require("@mysten/sui/utils");
|
|
1074
1089
|
var import_wallet_standard2 = require("@mysten/wallet-standard");
|
|
1075
1090
|
var import_react13 = require("react");
|
|
1076
1091
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
@@ -1085,7 +1100,7 @@ function useUnsafeBurnerWallet(enabled) {
|
|
|
1085
1100
|
}, [enabled, suiClient]);
|
|
1086
1101
|
}
|
|
1087
1102
|
function registerUnsafeBurnerWallet(suiClient) {
|
|
1088
|
-
var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
|
|
1103
|
+
var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signTransaction, _signAndExecuteTransactionBlock, _signAndExecuteTransaction;
|
|
1089
1104
|
const walletsApi = (0, import_wallet_standard2.getWallets)();
|
|
1090
1105
|
const registeredWallets = walletsApi.get();
|
|
1091
1106
|
if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
|
|
@@ -1102,7 +1117,12 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1102
1117
|
address: keypair.getPublicKey().toSuiAddress(),
|
|
1103
1118
|
publicKey: keypair.getPublicKey().toSuiBytes(),
|
|
1104
1119
|
chains: ["sui:unknown"],
|
|
1105
|
-
features: [
|
|
1120
|
+
features: [
|
|
1121
|
+
"sui:signAndExecuteTransactionBlock",
|
|
1122
|
+
"sui:signTransactionBlock",
|
|
1123
|
+
"sui:signTransaction",
|
|
1124
|
+
"sui:signAndExecuteTransaction"
|
|
1125
|
+
]
|
|
1106
1126
|
});
|
|
1107
1127
|
class UnsafeBurnerWallet {
|
|
1108
1128
|
constructor() {
|
|
@@ -1127,14 +1147,52 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1127
1147
|
signature
|
|
1128
1148
|
};
|
|
1129
1149
|
});
|
|
1150
|
+
__privateAdd(this, _signTransaction, async (transactionInput) => {
|
|
1151
|
+
const { bytes, signature } = await import_transactions.Transaction.from(
|
|
1152
|
+
await transactionInput.transaction.toJSON()
|
|
1153
|
+
).sign({
|
|
1154
|
+
client: suiClient,
|
|
1155
|
+
signer: keypair
|
|
1156
|
+
});
|
|
1157
|
+
transactionInput.signal?.throwIfAborted();
|
|
1158
|
+
return {
|
|
1159
|
+
bytes,
|
|
1160
|
+
signature
|
|
1161
|
+
};
|
|
1162
|
+
});
|
|
1130
1163
|
__privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1164
|
+
const { bytes, signature } = await transactionInput.transactionBlock.sign({
|
|
1165
|
+
client: suiClient,
|
|
1166
|
+
signer: keypair
|
|
1167
|
+
});
|
|
1168
|
+
return suiClient.executeTransactionBlock({
|
|
1169
|
+
signature,
|
|
1170
|
+
transactionBlock: bytes,
|
|
1171
|
+
options: transactionInput.options
|
|
1136
1172
|
});
|
|
1137
1173
|
});
|
|
1174
|
+
__privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
|
|
1175
|
+
const { bytes, signature } = await import_transactions.Transaction.from(
|
|
1176
|
+
await transactionInput.transaction.toJSON()
|
|
1177
|
+
).sign({
|
|
1178
|
+
client: suiClient,
|
|
1179
|
+
signer: keypair
|
|
1180
|
+
});
|
|
1181
|
+
transactionInput.signal?.throwIfAborted();
|
|
1182
|
+
const { rawEffects, digest } = await suiClient.executeTransactionBlock({
|
|
1183
|
+
signature,
|
|
1184
|
+
transactionBlock: bytes,
|
|
1185
|
+
options: {
|
|
1186
|
+
showRawEffects: true
|
|
1187
|
+
}
|
|
1188
|
+
});
|
|
1189
|
+
return {
|
|
1190
|
+
bytes,
|
|
1191
|
+
signature,
|
|
1192
|
+
digest,
|
|
1193
|
+
effects: (0, import_utils2.toB64)(new Uint8Array(rawEffects))
|
|
1194
|
+
};
|
|
1195
|
+
});
|
|
1138
1196
|
}
|
|
1139
1197
|
get version() {
|
|
1140
1198
|
return "1.0.0";
|
|
@@ -1173,6 +1231,14 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1173
1231
|
"sui:signAndExecuteTransactionBlock": {
|
|
1174
1232
|
version: "1.0.0",
|
|
1175
1233
|
signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
|
|
1234
|
+
},
|
|
1235
|
+
"sui:signTransaction": {
|
|
1236
|
+
version: "2.0.0",
|
|
1237
|
+
signTransaction: __privateGet(this, _signTransaction)
|
|
1238
|
+
},
|
|
1239
|
+
"sui:signAndExecuteTransaction": {
|
|
1240
|
+
version: "2.0.0",
|
|
1241
|
+
signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
|
|
1176
1242
|
}
|
|
1177
1243
|
};
|
|
1178
1244
|
}
|
|
@@ -1181,7 +1247,9 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1181
1247
|
_connect = new WeakMap();
|
|
1182
1248
|
_signPersonalMessage = new WeakMap();
|
|
1183
1249
|
_signTransactionBlock = new WeakMap();
|
|
1250
|
+
_signTransaction = new WeakMap();
|
|
1184
1251
|
_signAndExecuteTransactionBlock = new WeakMap();
|
|
1252
|
+
_signAndExecuteTransaction = new WeakMap();
|
|
1185
1253
|
return walletsApi.register(new UnsafeBurnerWallet());
|
|
1186
1254
|
}
|
|
1187
1255
|
|
|
@@ -1206,18 +1274,18 @@ function useWalletPropertiesChanged() {
|
|
|
1206
1274
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1207
1275
|
var import_wallet_standard3 = require("@mysten/wallet-standard");
|
|
1208
1276
|
var import_react15 = require("react");
|
|
1209
|
-
function useWalletsChanged(preferredWallets,
|
|
1277
|
+
function useWalletsChanged(preferredWallets, walletFilter) {
|
|
1210
1278
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1211
1279
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
1212
1280
|
(0, import_react15.useEffect)(() => {
|
|
1213
1281
|
const walletsApi = (0, import_wallet_standard3.getWallets)();
|
|
1214
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1282
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1215
1283
|
const unsubscribeFromRegister = walletsApi.on("register", () => {
|
|
1216
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1284
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1217
1285
|
});
|
|
1218
1286
|
const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
|
|
1219
1287
|
setWalletUnregistered(
|
|
1220
|
-
getRegisteredWallets(preferredWallets,
|
|
1288
|
+
getRegisteredWallets(preferredWallets, walletFilter),
|
|
1221
1289
|
unregisteredWallet
|
|
1222
1290
|
);
|
|
1223
1291
|
});
|
|
@@ -1225,7 +1293,7 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
|
1225
1293
|
unsubscribeFromRegister();
|
|
1226
1294
|
unsubscribeFromUnregister();
|
|
1227
1295
|
};
|
|
1228
|
-
}, [preferredWallets,
|
|
1296
|
+
}, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
|
|
1229
1297
|
}
|
|
1230
1298
|
|
|
1231
1299
|
// src/themes/lightTheme.ts
|
|
@@ -1307,19 +1375,21 @@ function createWalletStore({
|
|
|
1307
1375
|
lastConnectedAccountAddress: null,
|
|
1308
1376
|
lastConnectedWalletName: null,
|
|
1309
1377
|
connectionStatus: "disconnected",
|
|
1378
|
+
supportedIntents: [],
|
|
1310
1379
|
setConnectionStatus(connectionStatus2) {
|
|
1311
1380
|
set(() => ({
|
|
1312
1381
|
connectionStatus: connectionStatus2
|
|
1313
1382
|
}));
|
|
1314
1383
|
},
|
|
1315
|
-
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
1384
|
+
setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
|
|
1316
1385
|
set(() => ({
|
|
1317
1386
|
accounts: connectedAccounts,
|
|
1318
1387
|
currentWallet: wallet,
|
|
1319
1388
|
currentAccount: selectedAccount,
|
|
1320
1389
|
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
1321
1390
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
1322
|
-
connectionStatus: "connected"
|
|
1391
|
+
connectionStatus: "connected",
|
|
1392
|
+
supportedIntents
|
|
1323
1393
|
}));
|
|
1324
1394
|
},
|
|
1325
1395
|
setWalletDisconnected() {
|
|
@@ -1329,7 +1399,8 @@ function createWalletStore({
|
|
|
1329
1399
|
currentAccount: null,
|
|
1330
1400
|
lastConnectedWalletName: null,
|
|
1331
1401
|
lastConnectedAccountAddress: null,
|
|
1332
|
-
connectionStatus: "disconnected"
|
|
1402
|
+
connectionStatus: "disconnected",
|
|
1403
|
+
supportedIntents: []
|
|
1333
1404
|
}));
|
|
1334
1405
|
},
|
|
1335
1406
|
setAccountSwitched(selectedAccount) {
|
|
@@ -1350,7 +1421,8 @@ function createWalletStore({
|
|
|
1350
1421
|
currentAccount: null,
|
|
1351
1422
|
lastConnectedWalletName: null,
|
|
1352
1423
|
lastConnectedAccountAddress: null,
|
|
1353
|
-
connectionStatus: "disconnected"
|
|
1424
|
+
connectionStatus: "disconnected",
|
|
1425
|
+
supportedIntents: []
|
|
1354
1426
|
}));
|
|
1355
1427
|
} else {
|
|
1356
1428
|
set(() => ({ wallets: updatedWallets }));
|
|
@@ -1450,6 +1522,8 @@ function InjectedThemeStyles({ theme }) {
|
|
|
1450
1522
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1451
1523
|
"style",
|
|
1452
1524
|
{
|
|
1525
|
+
precedence: "default",
|
|
1526
|
+
href: "mysten-dapp-kit-theme",
|
|
1453
1527
|
dangerouslySetInnerHTML: {
|
|
1454
1528
|
__html: themeStyles
|
|
1455
1529
|
}
|
|
@@ -1474,7 +1548,7 @@ function cssStringFromTheme(theme) {
|
|
|
1474
1548
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1475
1549
|
function WalletProvider({
|
|
1476
1550
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1477
|
-
|
|
1551
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1478
1552
|
storage = DEFAULT_STORAGE,
|
|
1479
1553
|
storageKey = DEFAULT_STORAGE_KEY,
|
|
1480
1554
|
enableUnsafeBurner = false,
|
|
@@ -1486,7 +1560,7 @@ function WalletProvider({
|
|
|
1486
1560
|
const storeRef = (0, import_react16.useRef)(
|
|
1487
1561
|
createWalletStore({
|
|
1488
1562
|
autoConnectEnabled: autoConnect,
|
|
1489
|
-
wallets: getRegisteredWallets(preferredWallets,
|
|
1563
|
+
wallets: getRegisteredWallets(preferredWallets, walletFilter),
|
|
1490
1564
|
storage: storage || createInMemoryStore(),
|
|
1491
1565
|
storageKey
|
|
1492
1566
|
})
|
|
@@ -1495,7 +1569,7 @@ function WalletProvider({
|
|
|
1495
1569
|
WalletConnectionManager,
|
|
1496
1570
|
{
|
|
1497
1571
|
preferredWallets,
|
|
1498
|
-
|
|
1572
|
+
walletFilter,
|
|
1499
1573
|
enableUnsafeBurner,
|
|
1500
1574
|
stashedWallet,
|
|
1501
1575
|
children: [
|
|
@@ -1507,12 +1581,12 @@ function WalletProvider({
|
|
|
1507
1581
|
}
|
|
1508
1582
|
function WalletConnectionManager({
|
|
1509
1583
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1510
|
-
|
|
1584
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1511
1585
|
enableUnsafeBurner = false,
|
|
1512
1586
|
stashedWallet,
|
|
1513
1587
|
children
|
|
1514
1588
|
}) {
|
|
1515
|
-
useWalletsChanged(preferredWallets,
|
|
1589
|
+
useWalletsChanged(preferredWallets, walletFilter);
|
|
1516
1590
|
useWalletPropertiesChanged();
|
|
1517
1591
|
useStashedWallet(stashedWallet);
|
|
1518
1592
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
@@ -1600,74 +1674,126 @@ function useSuiClientQueries({
|
|
|
1600
1674
|
});
|
|
1601
1675
|
}
|
|
1602
1676
|
|
|
1603
|
-
// src/hooks/wallet/
|
|
1677
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1678
|
+
var import_utils4 = require("@mysten/sui/utils");
|
|
1679
|
+
var import_wallet_standard4 = require("@mysten/wallet-standard");
|
|
1680
|
+
var import_react_query10 = require("@tanstack/react-query");
|
|
1681
|
+
|
|
1682
|
+
// src/hooks/wallet/useReportTransactionEffects.ts
|
|
1683
|
+
var import_utils3 = require("@mysten/sui/utils");
|
|
1604
1684
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1605
|
-
function
|
|
1685
|
+
function useReportTransactionEffects({
|
|
1606
1686
|
mutationKey,
|
|
1607
|
-
executeFromWallet,
|
|
1608
1687
|
...mutationOptions
|
|
1609
1688
|
} = {}) {
|
|
1610
1689
|
const { currentWallet } = useCurrentWallet();
|
|
1611
1690
|
const currentAccount = useCurrentAccount();
|
|
1612
|
-
const client = useSuiClient();
|
|
1613
1691
|
return (0, import_react_query9.useMutation)({
|
|
1614
|
-
mutationKey: walletMutationKeys.
|
|
1615
|
-
mutationFn: async ({
|
|
1692
|
+
mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
|
|
1693
|
+
mutationFn: async ({ effects, chain = currentWallet?.chains[0], account = currentAccount }) => {
|
|
1616
1694
|
if (!currentWallet) {
|
|
1617
1695
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1618
1696
|
}
|
|
1619
|
-
|
|
1620
|
-
if (!signerAccount) {
|
|
1697
|
+
if (!account) {
|
|
1621
1698
|
throw new WalletNoAccountSelectedError(
|
|
1622
|
-
"No wallet account is selected to
|
|
1699
|
+
"No wallet account is selected to report transaction effects for"
|
|
1623
1700
|
);
|
|
1624
1701
|
}
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
}
|
|
1632
|
-
return walletFeature2.signAndExecuteTransactionBlock({
|
|
1633
|
-
...signTransactionBlockArgs,
|
|
1634
|
-
account: signerAccount,
|
|
1635
|
-
chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
|
|
1636
|
-
requestType,
|
|
1637
|
-
options
|
|
1702
|
+
const reportTransactionEffectsFeature = currentWallet.features["sui:reportTransactionEffects"];
|
|
1703
|
+
if (reportTransactionEffectsFeature) {
|
|
1704
|
+
return await reportTransactionEffectsFeature.reportTransactionEffects({
|
|
1705
|
+
effects: Array.isArray(effects) ? (0, import_utils3.toB64)(new Uint8Array(effects)) : effects,
|
|
1706
|
+
account,
|
|
1707
|
+
chain: chain ?? currentWallet?.chains[0]
|
|
1638
1708
|
});
|
|
1639
1709
|
}
|
|
1640
|
-
|
|
1641
|
-
|
|
1710
|
+
},
|
|
1711
|
+
...mutationOptions
|
|
1712
|
+
});
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1716
|
+
function useSignAndExecuteTransaction({
|
|
1717
|
+
mutationKey,
|
|
1718
|
+
execute,
|
|
1719
|
+
...mutationOptions
|
|
1720
|
+
} = {}) {
|
|
1721
|
+
const { currentWallet, supportedIntents } = useCurrentWallet();
|
|
1722
|
+
const currentAccount = useCurrentAccount();
|
|
1723
|
+
const client = useSuiClient();
|
|
1724
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1725
|
+
const executeTransaction = execute ?? (async ({ bytes, signature }) => {
|
|
1726
|
+
const { digest, rawEffects } = await client.executeTransactionBlock({
|
|
1727
|
+
transactionBlock: bytes,
|
|
1728
|
+
signature,
|
|
1729
|
+
options: {
|
|
1730
|
+
showRawEffects: true
|
|
1731
|
+
}
|
|
1732
|
+
});
|
|
1733
|
+
return {
|
|
1734
|
+
digest,
|
|
1735
|
+
rawEffects,
|
|
1736
|
+
effects: (0, import_utils4.toB64)(new Uint8Array(rawEffects)),
|
|
1737
|
+
bytes,
|
|
1738
|
+
signature
|
|
1739
|
+
};
|
|
1740
|
+
});
|
|
1741
|
+
return (0, import_react_query10.useMutation)({
|
|
1742
|
+
mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
|
|
1743
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1744
|
+
if (!currentWallet) {
|
|
1745
|
+
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1746
|
+
}
|
|
1747
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1748
|
+
if (!signerAccount) {
|
|
1749
|
+
throw new WalletNoAccountSelectedError(
|
|
1750
|
+
"No wallet account is selected to sign the transaction with."
|
|
1751
|
+
);
|
|
1752
|
+
}
|
|
1753
|
+
const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
|
|
1754
|
+
if (!currentWallet.features["sui:signTransaction"] && !currentWallet.features["sui:signTransactionBlock"]) {
|
|
1642
1755
|
throw new WalletFeatureNotSupportedError(
|
|
1643
|
-
"This wallet doesn't support the `
|
|
1756
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1644
1757
|
);
|
|
1645
1758
|
}
|
|
1646
|
-
const { signature,
|
|
1647
|
-
...
|
|
1759
|
+
const { signature, bytes } = await (0, import_wallet_standard4.signTransaction)(currentWallet, {
|
|
1760
|
+
...signTransactionArgs,
|
|
1761
|
+
transaction: {
|
|
1762
|
+
async toJSON() {
|
|
1763
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1764
|
+
supportedIntents,
|
|
1765
|
+
client
|
|
1766
|
+
});
|
|
1767
|
+
}
|
|
1768
|
+
},
|
|
1648
1769
|
account: signerAccount,
|
|
1649
|
-
chain:
|
|
1650
|
-
});
|
|
1651
|
-
return client.executeTransactionBlock({
|
|
1652
|
-
transactionBlock: transactionBlockBytes,
|
|
1653
|
-
signature,
|
|
1654
|
-
requestType,
|
|
1655
|
-
options
|
|
1770
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1656
1771
|
});
|
|
1772
|
+
const result = await executeTransaction({ bytes, signature });
|
|
1773
|
+
let effects;
|
|
1774
|
+
if ("effects" in result && result.effects?.bcs) {
|
|
1775
|
+
effects = result.effects.bcs;
|
|
1776
|
+
} else if ("rawEffects" in result) {
|
|
1777
|
+
effects = (0, import_utils4.toB64)(new Uint8Array(result.rawEffects));
|
|
1778
|
+
} else {
|
|
1779
|
+
throw new Error("Could not parse effects from transaction result.");
|
|
1780
|
+
}
|
|
1781
|
+
reportTransactionEffects({ effects, account: signerAccount, chain });
|
|
1782
|
+
return result;
|
|
1657
1783
|
},
|
|
1658
1784
|
...mutationOptions
|
|
1659
1785
|
});
|
|
1660
1786
|
}
|
|
1661
1787
|
|
|
1662
1788
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1663
|
-
var
|
|
1789
|
+
var import_react_query11 = require("@tanstack/react-query");
|
|
1664
1790
|
function useSignPersonalMessage({
|
|
1665
1791
|
mutationKey,
|
|
1666
1792
|
...mutationOptions
|
|
1667
1793
|
} = {}) {
|
|
1668
1794
|
const { currentWallet } = useCurrentWallet();
|
|
1669
1795
|
const currentAccount = useCurrentAccount();
|
|
1670
|
-
return (0,
|
|
1796
|
+
return (0, import_react_query11.useMutation)({
|
|
1671
1797
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1672
1798
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1673
1799
|
if (!currentWallet) {
|
|
@@ -1705,37 +1831,58 @@ function useSignPersonalMessage({
|
|
|
1705
1831
|
});
|
|
1706
1832
|
}
|
|
1707
1833
|
|
|
1708
|
-
// src/hooks/wallet/
|
|
1709
|
-
var
|
|
1710
|
-
|
|
1834
|
+
// src/hooks/wallet/useSignTransaction.ts
|
|
1835
|
+
var import_wallet_standard5 = require("@mysten/wallet-standard");
|
|
1836
|
+
var import_react_query12 = require("@tanstack/react-query");
|
|
1837
|
+
function useSignTransaction({
|
|
1711
1838
|
mutationKey,
|
|
1712
1839
|
...mutationOptions
|
|
1713
1840
|
} = {}) {
|
|
1714
1841
|
const { currentWallet } = useCurrentWallet();
|
|
1715
1842
|
const currentAccount = useCurrentAccount();
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1843
|
+
const client = useSuiClient();
|
|
1844
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1845
|
+
return (0, import_react_query12.useMutation)({
|
|
1846
|
+
mutationKey: walletMutationKeys.signTransaction(mutationKey),
|
|
1847
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1719
1848
|
if (!currentWallet) {
|
|
1720
1849
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1721
1850
|
}
|
|
1722
|
-
const signerAccount =
|
|
1851
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1723
1852
|
if (!signerAccount) {
|
|
1724
1853
|
throw new WalletNoAccountSelectedError(
|
|
1725
|
-
"No wallet account is selected to sign the transaction
|
|
1854
|
+
"No wallet account is selected to sign the transaction with."
|
|
1726
1855
|
);
|
|
1727
1856
|
}
|
|
1728
|
-
|
|
1729
|
-
if (!walletFeature) {
|
|
1857
|
+
if (!currentWallet.features["sui:signTransaction"] && !currentWallet.features["sui:signTransactionBlock"]) {
|
|
1730
1858
|
throw new WalletFeatureNotSupportedError(
|
|
1731
|
-
"This wallet doesn't support the `
|
|
1859
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1732
1860
|
);
|
|
1733
1861
|
}
|
|
1734
|
-
|
|
1735
|
-
...
|
|
1862
|
+
const { bytes, signature } = await (0, import_wallet_standard5.signTransaction)(currentWallet, {
|
|
1863
|
+
...signTransactionArgs,
|
|
1864
|
+
transaction: {
|
|
1865
|
+
toJSON: async () => {
|
|
1866
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1867
|
+
supportedIntents: [],
|
|
1868
|
+
client
|
|
1869
|
+
});
|
|
1870
|
+
}
|
|
1871
|
+
},
|
|
1736
1872
|
account: signerAccount,
|
|
1737
|
-
chain:
|
|
1873
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1738
1874
|
});
|
|
1875
|
+
return {
|
|
1876
|
+
bytes,
|
|
1877
|
+
signature,
|
|
1878
|
+
reportTransactionEffects: (effects) => {
|
|
1879
|
+
reportTransactionEffects({
|
|
1880
|
+
effects,
|
|
1881
|
+
account: signerAccount,
|
|
1882
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1883
|
+
});
|
|
1884
|
+
}
|
|
1885
|
+
};
|
|
1739
1886
|
},
|
|
1740
1887
|
...mutationOptions
|
|
1741
1888
|
});
|