@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/esm/index.js
CHANGED
|
@@ -69,9 +69,10 @@ var walletMutationKeys = {
|
|
|
69
69
|
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
70
70
|
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
71
71
|
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
switchAccount: formMutationKeyFn("switch-account")
|
|
72
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
73
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
74
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
75
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
75
76
|
};
|
|
76
77
|
function formMutationKeyFn(baseEntity) {
|
|
77
78
|
return function mutationKeyFn(additionalKeys = []) {
|
|
@@ -115,7 +116,12 @@ function useConnectWallet({
|
|
|
115
116
|
(account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
|
|
116
117
|
);
|
|
117
118
|
const selectedAccount = getSelectedAccount(connectedSuiAccounts, accountAddress);
|
|
118
|
-
setWalletConnected(
|
|
119
|
+
setWalletConnected(
|
|
120
|
+
wallet,
|
|
121
|
+
connectedSuiAccounts,
|
|
122
|
+
selectedAccount,
|
|
123
|
+
connectResult.supportedIntents
|
|
124
|
+
);
|
|
119
125
|
return { accounts: connectedSuiAccounts };
|
|
120
126
|
} catch (error) {
|
|
121
127
|
setConnectionStatus("disconnected");
|
|
@@ -138,11 +144,11 @@ function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
|
138
144
|
|
|
139
145
|
// src/utils/walletUtils.ts
|
|
140
146
|
import { getWallets, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
141
|
-
function getRegisteredWallets(preferredWallets,
|
|
147
|
+
function getRegisteredWallets(preferredWallets, walletFilter) {
|
|
142
148
|
const walletsApi = getWallets();
|
|
143
149
|
const wallets = walletsApi.get();
|
|
144
150
|
const suiWallets = wallets.filter(
|
|
145
|
-
(wallet) => isWalletWithRequiredFeatureSet(wallet
|
|
151
|
+
(wallet) => isWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet))
|
|
146
152
|
);
|
|
147
153
|
return [
|
|
148
154
|
// Preferred wallets, in order:
|
|
@@ -593,7 +599,7 @@ function useCurrentAccount() {
|
|
|
593
599
|
}
|
|
594
600
|
|
|
595
601
|
// src/components/AccountDropdownMenu.tsx
|
|
596
|
-
import { formatAddress } from "@mysten/sui
|
|
602
|
+
import { formatAddress } from "@mysten/sui/utils";
|
|
597
603
|
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
|
|
598
604
|
import clsx7 from "clsx";
|
|
599
605
|
|
|
@@ -604,7 +610,7 @@ import { useQuery } from "@tanstack/react-query";
|
|
|
604
610
|
import { useContext as useContext2 } from "react";
|
|
605
611
|
|
|
606
612
|
// src/components/SuiClientProvider.tsx
|
|
607
|
-
import { getFullnodeUrl, isSuiClient, SuiClient } from "@mysten/sui
|
|
613
|
+
import { getFullnodeUrl, isSuiClient, SuiClient } from "@mysten/sui/client";
|
|
608
614
|
import { createContext as createContext2, useMemo, useState as useState2 } from "react";
|
|
609
615
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
610
616
|
var SuiClientContext = createContext2(null);
|
|
@@ -715,6 +721,7 @@ var WalletAccountNotFoundError = class extends Error {
|
|
|
715
721
|
function useCurrentWallet() {
|
|
716
722
|
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
717
723
|
const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
|
|
724
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
718
725
|
switch (connectionStatus2) {
|
|
719
726
|
case "connecting":
|
|
720
727
|
return {
|
|
@@ -722,7 +729,8 @@ function useCurrentWallet() {
|
|
|
722
729
|
currentWallet: null,
|
|
723
730
|
isDisconnected: false,
|
|
724
731
|
isConnecting: true,
|
|
725
|
-
isConnected: false
|
|
732
|
+
isConnected: false,
|
|
733
|
+
supportedIntents: []
|
|
726
734
|
};
|
|
727
735
|
case "disconnected":
|
|
728
736
|
return {
|
|
@@ -730,7 +738,8 @@ function useCurrentWallet() {
|
|
|
730
738
|
currentWallet: null,
|
|
731
739
|
isDisconnected: true,
|
|
732
740
|
isConnecting: false,
|
|
733
|
-
isConnected: false
|
|
741
|
+
isConnected: false,
|
|
742
|
+
supportedIntents: []
|
|
734
743
|
};
|
|
735
744
|
case "connected": {
|
|
736
745
|
return {
|
|
@@ -738,7 +747,8 @@ function useCurrentWallet() {
|
|
|
738
747
|
currentWallet,
|
|
739
748
|
isDisconnected: false,
|
|
740
749
|
isConnecting: false,
|
|
741
|
-
isConnected: true
|
|
750
|
+
isConnected: true,
|
|
751
|
+
supportedIntents
|
|
742
752
|
};
|
|
743
753
|
}
|
|
744
754
|
}
|
|
@@ -925,9 +935,11 @@ function createInMemoryStore() {
|
|
|
925
935
|
var SUI_WALLET_NAME = "Sui Wallet";
|
|
926
936
|
var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
|
|
927
937
|
var DEFAULT_STORAGE_KEY = "sui-dapp-kit:wallet-connection-info";
|
|
928
|
-
var
|
|
938
|
+
var SIGN_FEATURES = [
|
|
939
|
+
"sui:signTransaction",
|
|
929
940
|
"sui:signTransactionBlock"
|
|
930
941
|
];
|
|
942
|
+
var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
|
|
931
943
|
var DEFAULT_PREFERRED_WALLETS = [SUI_WALLET_NAME, STASHED_WALLET_NAME];
|
|
932
944
|
|
|
933
945
|
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
@@ -1033,7 +1045,9 @@ function useStashedWallet(config) {
|
|
|
1033
1045
|
}
|
|
1034
1046
|
|
|
1035
1047
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1036
|
-
import { Ed25519Keypair } from "@mysten/sui
|
|
1048
|
+
import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
|
|
1049
|
+
import { Transaction } from "@mysten/sui/transactions";
|
|
1050
|
+
import { toB64 } from "@mysten/sui/utils";
|
|
1037
1051
|
import { getWallets as getWallets2, ReadonlyWalletAccount, SUI_CHAINS } from "@mysten/wallet-standard";
|
|
1038
1052
|
import { useEffect as useEffect2 } from "react";
|
|
1039
1053
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
@@ -1048,7 +1062,7 @@ function useUnsafeBurnerWallet(enabled) {
|
|
|
1048
1062
|
}, [enabled, suiClient]);
|
|
1049
1063
|
}
|
|
1050
1064
|
function registerUnsafeBurnerWallet(suiClient) {
|
|
1051
|
-
var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
|
|
1065
|
+
var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signTransaction, _signAndExecuteTransactionBlock, _signAndExecuteTransaction;
|
|
1052
1066
|
const walletsApi = getWallets2();
|
|
1053
1067
|
const registeredWallets = walletsApi.get();
|
|
1054
1068
|
if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
|
|
@@ -1065,7 +1079,12 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1065
1079
|
address: keypair.getPublicKey().toSuiAddress(),
|
|
1066
1080
|
publicKey: keypair.getPublicKey().toSuiBytes(),
|
|
1067
1081
|
chains: ["sui:unknown"],
|
|
1068
|
-
features: [
|
|
1082
|
+
features: [
|
|
1083
|
+
"sui:signAndExecuteTransactionBlock",
|
|
1084
|
+
"sui:signTransactionBlock",
|
|
1085
|
+
"sui:signTransaction",
|
|
1086
|
+
"sui:signAndExecuteTransaction"
|
|
1087
|
+
]
|
|
1069
1088
|
});
|
|
1070
1089
|
class UnsafeBurnerWallet {
|
|
1071
1090
|
constructor() {
|
|
@@ -1090,14 +1109,52 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1090
1109
|
signature
|
|
1091
1110
|
};
|
|
1092
1111
|
});
|
|
1112
|
+
__privateAdd(this, _signTransaction, async (transactionInput) => {
|
|
1113
|
+
const { bytes, signature } = await Transaction.from(
|
|
1114
|
+
await transactionInput.transaction.toJSON()
|
|
1115
|
+
).sign({
|
|
1116
|
+
client: suiClient,
|
|
1117
|
+
signer: keypair
|
|
1118
|
+
});
|
|
1119
|
+
transactionInput.signal?.throwIfAborted();
|
|
1120
|
+
return {
|
|
1121
|
+
bytes,
|
|
1122
|
+
signature
|
|
1123
|
+
};
|
|
1124
|
+
});
|
|
1093
1125
|
__privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1126
|
+
const { bytes, signature } = await transactionInput.transactionBlock.sign({
|
|
1127
|
+
client: suiClient,
|
|
1128
|
+
signer: keypair
|
|
1129
|
+
});
|
|
1130
|
+
return suiClient.executeTransactionBlock({
|
|
1131
|
+
signature,
|
|
1132
|
+
transactionBlock: bytes,
|
|
1133
|
+
options: transactionInput.options
|
|
1099
1134
|
});
|
|
1100
1135
|
});
|
|
1136
|
+
__privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
|
|
1137
|
+
const { bytes, signature } = await Transaction.from(
|
|
1138
|
+
await transactionInput.transaction.toJSON()
|
|
1139
|
+
).sign({
|
|
1140
|
+
client: suiClient,
|
|
1141
|
+
signer: keypair
|
|
1142
|
+
});
|
|
1143
|
+
transactionInput.signal?.throwIfAborted();
|
|
1144
|
+
const { rawEffects, digest } = await suiClient.executeTransactionBlock({
|
|
1145
|
+
signature,
|
|
1146
|
+
transactionBlock: bytes,
|
|
1147
|
+
options: {
|
|
1148
|
+
showRawEffects: true
|
|
1149
|
+
}
|
|
1150
|
+
});
|
|
1151
|
+
return {
|
|
1152
|
+
bytes,
|
|
1153
|
+
signature,
|
|
1154
|
+
digest,
|
|
1155
|
+
effects: toB64(new Uint8Array(rawEffects))
|
|
1156
|
+
};
|
|
1157
|
+
});
|
|
1101
1158
|
}
|
|
1102
1159
|
get version() {
|
|
1103
1160
|
return "1.0.0";
|
|
@@ -1136,6 +1193,14 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1136
1193
|
"sui:signAndExecuteTransactionBlock": {
|
|
1137
1194
|
version: "1.0.0",
|
|
1138
1195
|
signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
|
|
1196
|
+
},
|
|
1197
|
+
"sui:signTransaction": {
|
|
1198
|
+
version: "2.0.0",
|
|
1199
|
+
signTransaction: __privateGet(this, _signTransaction)
|
|
1200
|
+
},
|
|
1201
|
+
"sui:signAndExecuteTransaction": {
|
|
1202
|
+
version: "2.0.0",
|
|
1203
|
+
signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
|
|
1139
1204
|
}
|
|
1140
1205
|
};
|
|
1141
1206
|
}
|
|
@@ -1144,7 +1209,9 @@ function registerUnsafeBurnerWallet(suiClient) {
|
|
|
1144
1209
|
_connect = new WeakMap();
|
|
1145
1210
|
_signPersonalMessage = new WeakMap();
|
|
1146
1211
|
_signTransactionBlock = new WeakMap();
|
|
1212
|
+
_signTransaction = new WeakMap();
|
|
1147
1213
|
_signAndExecuteTransactionBlock = new WeakMap();
|
|
1214
|
+
_signAndExecuteTransaction = new WeakMap();
|
|
1148
1215
|
return walletsApi.register(new UnsafeBurnerWallet());
|
|
1149
1216
|
}
|
|
1150
1217
|
|
|
@@ -1169,18 +1236,18 @@ function useWalletPropertiesChanged() {
|
|
|
1169
1236
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1170
1237
|
import { getWallets as getWallets3 } from "@mysten/wallet-standard";
|
|
1171
1238
|
import { useEffect as useEffect4 } from "react";
|
|
1172
|
-
function useWalletsChanged(preferredWallets,
|
|
1239
|
+
function useWalletsChanged(preferredWallets, walletFilter) {
|
|
1173
1240
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1174
1241
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
1175
1242
|
useEffect4(() => {
|
|
1176
1243
|
const walletsApi = getWallets3();
|
|
1177
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1244
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1178
1245
|
const unsubscribeFromRegister = walletsApi.on("register", () => {
|
|
1179
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1246
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1180
1247
|
});
|
|
1181
1248
|
const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
|
|
1182
1249
|
setWalletUnregistered(
|
|
1183
|
-
getRegisteredWallets(preferredWallets,
|
|
1250
|
+
getRegisteredWallets(preferredWallets, walletFilter),
|
|
1184
1251
|
unregisteredWallet
|
|
1185
1252
|
);
|
|
1186
1253
|
});
|
|
@@ -1188,7 +1255,7 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
|
1188
1255
|
unsubscribeFromRegister();
|
|
1189
1256
|
unsubscribeFromUnregister();
|
|
1190
1257
|
};
|
|
1191
|
-
}, [preferredWallets,
|
|
1258
|
+
}, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
|
|
1192
1259
|
}
|
|
1193
1260
|
|
|
1194
1261
|
// src/themes/lightTheme.ts
|
|
@@ -1270,19 +1337,21 @@ function createWalletStore({
|
|
|
1270
1337
|
lastConnectedAccountAddress: null,
|
|
1271
1338
|
lastConnectedWalletName: null,
|
|
1272
1339
|
connectionStatus: "disconnected",
|
|
1340
|
+
supportedIntents: [],
|
|
1273
1341
|
setConnectionStatus(connectionStatus2) {
|
|
1274
1342
|
set(() => ({
|
|
1275
1343
|
connectionStatus: connectionStatus2
|
|
1276
1344
|
}));
|
|
1277
1345
|
},
|
|
1278
|
-
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
1346
|
+
setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
|
|
1279
1347
|
set(() => ({
|
|
1280
1348
|
accounts: connectedAccounts,
|
|
1281
1349
|
currentWallet: wallet,
|
|
1282
1350
|
currentAccount: selectedAccount,
|
|
1283
1351
|
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
1284
1352
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
1285
|
-
connectionStatus: "connected"
|
|
1353
|
+
connectionStatus: "connected",
|
|
1354
|
+
supportedIntents
|
|
1286
1355
|
}));
|
|
1287
1356
|
},
|
|
1288
1357
|
setWalletDisconnected() {
|
|
@@ -1292,7 +1361,8 @@ function createWalletStore({
|
|
|
1292
1361
|
currentAccount: null,
|
|
1293
1362
|
lastConnectedWalletName: null,
|
|
1294
1363
|
lastConnectedAccountAddress: null,
|
|
1295
|
-
connectionStatus: "disconnected"
|
|
1364
|
+
connectionStatus: "disconnected",
|
|
1365
|
+
supportedIntents: []
|
|
1296
1366
|
}));
|
|
1297
1367
|
},
|
|
1298
1368
|
setAccountSwitched(selectedAccount) {
|
|
@@ -1313,7 +1383,8 @@ function createWalletStore({
|
|
|
1313
1383
|
currentAccount: null,
|
|
1314
1384
|
lastConnectedWalletName: null,
|
|
1315
1385
|
lastConnectedAccountAddress: null,
|
|
1316
|
-
connectionStatus: "disconnected"
|
|
1386
|
+
connectionStatus: "disconnected",
|
|
1387
|
+
supportedIntents: []
|
|
1317
1388
|
}));
|
|
1318
1389
|
} else {
|
|
1319
1390
|
set(() => ({ wallets: updatedWallets }));
|
|
@@ -1413,6 +1484,8 @@ function InjectedThemeStyles({ theme }) {
|
|
|
1413
1484
|
return /* @__PURE__ */ jsx21(
|
|
1414
1485
|
"style",
|
|
1415
1486
|
{
|
|
1487
|
+
precedence: "default",
|
|
1488
|
+
href: "mysten-dapp-kit-theme",
|
|
1416
1489
|
dangerouslySetInnerHTML: {
|
|
1417
1490
|
__html: themeStyles
|
|
1418
1491
|
}
|
|
@@ -1437,7 +1510,7 @@ function cssStringFromTheme(theme) {
|
|
|
1437
1510
|
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1438
1511
|
function WalletProvider({
|
|
1439
1512
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1440
|
-
|
|
1513
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1441
1514
|
storage = DEFAULT_STORAGE,
|
|
1442
1515
|
storageKey = DEFAULT_STORAGE_KEY,
|
|
1443
1516
|
enableUnsafeBurner = false,
|
|
@@ -1449,7 +1522,7 @@ function WalletProvider({
|
|
|
1449
1522
|
const storeRef = useRef(
|
|
1450
1523
|
createWalletStore({
|
|
1451
1524
|
autoConnectEnabled: autoConnect,
|
|
1452
|
-
wallets: getRegisteredWallets(preferredWallets,
|
|
1525
|
+
wallets: getRegisteredWallets(preferredWallets, walletFilter),
|
|
1453
1526
|
storage: storage || createInMemoryStore(),
|
|
1454
1527
|
storageKey
|
|
1455
1528
|
})
|
|
@@ -1458,7 +1531,7 @@ function WalletProvider({
|
|
|
1458
1531
|
WalletConnectionManager,
|
|
1459
1532
|
{
|
|
1460
1533
|
preferredWallets,
|
|
1461
|
-
|
|
1534
|
+
walletFilter,
|
|
1462
1535
|
enableUnsafeBurner,
|
|
1463
1536
|
stashedWallet,
|
|
1464
1537
|
children: [
|
|
@@ -1470,12 +1543,12 @@ function WalletProvider({
|
|
|
1470
1543
|
}
|
|
1471
1544
|
function WalletConnectionManager({
|
|
1472
1545
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1473
|
-
|
|
1546
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1474
1547
|
enableUnsafeBurner = false,
|
|
1475
1548
|
stashedWallet,
|
|
1476
1549
|
children
|
|
1477
1550
|
}) {
|
|
1478
|
-
useWalletsChanged(preferredWallets,
|
|
1551
|
+
useWalletsChanged(preferredWallets, walletFilter);
|
|
1479
1552
|
useWalletPropertiesChanged();
|
|
1480
1553
|
useStashedWallet(stashedWallet);
|
|
1481
1554
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
@@ -1563,74 +1636,126 @@ function useSuiClientQueries({
|
|
|
1563
1636
|
});
|
|
1564
1637
|
}
|
|
1565
1638
|
|
|
1566
|
-
// src/hooks/wallet/
|
|
1639
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1640
|
+
import { toB64 as toB643 } from "@mysten/sui/utils";
|
|
1641
|
+
import { signTransaction } from "@mysten/wallet-standard";
|
|
1642
|
+
import { useMutation as useMutation6 } from "@tanstack/react-query";
|
|
1643
|
+
|
|
1644
|
+
// src/hooks/wallet/useReportTransactionEffects.ts
|
|
1645
|
+
import { toB64 as toB642 } from "@mysten/sui/utils";
|
|
1567
1646
|
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
1568
|
-
function
|
|
1647
|
+
function useReportTransactionEffects({
|
|
1569
1648
|
mutationKey,
|
|
1570
|
-
executeFromWallet,
|
|
1571
1649
|
...mutationOptions
|
|
1572
1650
|
} = {}) {
|
|
1573
1651
|
const { currentWallet } = useCurrentWallet();
|
|
1574
1652
|
const currentAccount = useCurrentAccount();
|
|
1575
|
-
const client = useSuiClient();
|
|
1576
1653
|
return useMutation5({
|
|
1577
|
-
mutationKey: walletMutationKeys.
|
|
1578
|
-
mutationFn: async ({
|
|
1654
|
+
mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
|
|
1655
|
+
mutationFn: async ({ effects, chain = currentWallet?.chains[0], account = currentAccount }) => {
|
|
1579
1656
|
if (!currentWallet) {
|
|
1580
1657
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1581
1658
|
}
|
|
1582
|
-
|
|
1583
|
-
if (!signerAccount) {
|
|
1659
|
+
if (!account) {
|
|
1584
1660
|
throw new WalletNoAccountSelectedError(
|
|
1585
|
-
"No wallet account is selected to
|
|
1661
|
+
"No wallet account is selected to report transaction effects for"
|
|
1586
1662
|
);
|
|
1587
1663
|
}
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
}
|
|
1595
|
-
return walletFeature2.signAndExecuteTransactionBlock({
|
|
1596
|
-
...signTransactionBlockArgs,
|
|
1597
|
-
account: signerAccount,
|
|
1598
|
-
chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
|
|
1599
|
-
requestType,
|
|
1600
|
-
options
|
|
1664
|
+
const reportTransactionEffectsFeature = currentWallet.features["sui:reportTransactionEffects"];
|
|
1665
|
+
if (reportTransactionEffectsFeature) {
|
|
1666
|
+
return await reportTransactionEffectsFeature.reportTransactionEffects({
|
|
1667
|
+
effects: Array.isArray(effects) ? toB642(new Uint8Array(effects)) : effects,
|
|
1668
|
+
account,
|
|
1669
|
+
chain: chain ?? currentWallet?.chains[0]
|
|
1601
1670
|
});
|
|
1602
1671
|
}
|
|
1603
|
-
|
|
1604
|
-
|
|
1672
|
+
},
|
|
1673
|
+
...mutationOptions
|
|
1674
|
+
});
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1677
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1678
|
+
function useSignAndExecuteTransaction({
|
|
1679
|
+
mutationKey,
|
|
1680
|
+
execute,
|
|
1681
|
+
...mutationOptions
|
|
1682
|
+
} = {}) {
|
|
1683
|
+
const { currentWallet, supportedIntents } = useCurrentWallet();
|
|
1684
|
+
const currentAccount = useCurrentAccount();
|
|
1685
|
+
const client = useSuiClient();
|
|
1686
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1687
|
+
const executeTransaction = execute ?? (async ({ bytes, signature }) => {
|
|
1688
|
+
const { digest, rawEffects } = await client.executeTransactionBlock({
|
|
1689
|
+
transactionBlock: bytes,
|
|
1690
|
+
signature,
|
|
1691
|
+
options: {
|
|
1692
|
+
showRawEffects: true
|
|
1693
|
+
}
|
|
1694
|
+
});
|
|
1695
|
+
return {
|
|
1696
|
+
digest,
|
|
1697
|
+
rawEffects,
|
|
1698
|
+
effects: toB643(new Uint8Array(rawEffects)),
|
|
1699
|
+
bytes,
|
|
1700
|
+
signature
|
|
1701
|
+
};
|
|
1702
|
+
});
|
|
1703
|
+
return useMutation6({
|
|
1704
|
+
mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
|
|
1705
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1706
|
+
if (!currentWallet) {
|
|
1707
|
+
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1708
|
+
}
|
|
1709
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1710
|
+
if (!signerAccount) {
|
|
1711
|
+
throw new WalletNoAccountSelectedError(
|
|
1712
|
+
"No wallet account is selected to sign the transaction with."
|
|
1713
|
+
);
|
|
1714
|
+
}
|
|
1715
|
+
const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
|
|
1716
|
+
if (!currentWallet.features["sui:signTransaction"] && !currentWallet.features["sui:signTransactionBlock"]) {
|
|
1605
1717
|
throw new WalletFeatureNotSupportedError(
|
|
1606
|
-
"This wallet doesn't support the `
|
|
1718
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1607
1719
|
);
|
|
1608
1720
|
}
|
|
1609
|
-
const { signature,
|
|
1610
|
-
...
|
|
1721
|
+
const { signature, bytes } = await signTransaction(currentWallet, {
|
|
1722
|
+
...signTransactionArgs,
|
|
1723
|
+
transaction: {
|
|
1724
|
+
async toJSON() {
|
|
1725
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1726
|
+
supportedIntents,
|
|
1727
|
+
client
|
|
1728
|
+
});
|
|
1729
|
+
}
|
|
1730
|
+
},
|
|
1611
1731
|
account: signerAccount,
|
|
1612
|
-
chain:
|
|
1613
|
-
});
|
|
1614
|
-
return client.executeTransactionBlock({
|
|
1615
|
-
transactionBlock: transactionBlockBytes,
|
|
1616
|
-
signature,
|
|
1617
|
-
requestType,
|
|
1618
|
-
options
|
|
1732
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1619
1733
|
});
|
|
1734
|
+
const result = await executeTransaction({ bytes, signature });
|
|
1735
|
+
let effects;
|
|
1736
|
+
if ("effects" in result && result.effects?.bcs) {
|
|
1737
|
+
effects = result.effects.bcs;
|
|
1738
|
+
} else if ("rawEffects" in result) {
|
|
1739
|
+
effects = toB643(new Uint8Array(result.rawEffects));
|
|
1740
|
+
} else {
|
|
1741
|
+
throw new Error("Could not parse effects from transaction result.");
|
|
1742
|
+
}
|
|
1743
|
+
reportTransactionEffects({ effects, account: signerAccount, chain });
|
|
1744
|
+
return result;
|
|
1620
1745
|
},
|
|
1621
1746
|
...mutationOptions
|
|
1622
1747
|
});
|
|
1623
1748
|
}
|
|
1624
1749
|
|
|
1625
1750
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1626
|
-
import { useMutation as
|
|
1751
|
+
import { useMutation as useMutation7 } from "@tanstack/react-query";
|
|
1627
1752
|
function useSignPersonalMessage({
|
|
1628
1753
|
mutationKey,
|
|
1629
1754
|
...mutationOptions
|
|
1630
1755
|
} = {}) {
|
|
1631
1756
|
const { currentWallet } = useCurrentWallet();
|
|
1632
1757
|
const currentAccount = useCurrentAccount();
|
|
1633
|
-
return
|
|
1758
|
+
return useMutation7({
|
|
1634
1759
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1635
1760
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1636
1761
|
if (!currentWallet) {
|
|
@@ -1668,37 +1793,58 @@ function useSignPersonalMessage({
|
|
|
1668
1793
|
});
|
|
1669
1794
|
}
|
|
1670
1795
|
|
|
1671
|
-
// src/hooks/wallet/
|
|
1672
|
-
import {
|
|
1673
|
-
|
|
1796
|
+
// src/hooks/wallet/useSignTransaction.ts
|
|
1797
|
+
import { signTransaction as signTransaction2 } from "@mysten/wallet-standard";
|
|
1798
|
+
import { useMutation as useMutation8 } from "@tanstack/react-query";
|
|
1799
|
+
function useSignTransaction({
|
|
1674
1800
|
mutationKey,
|
|
1675
1801
|
...mutationOptions
|
|
1676
1802
|
} = {}) {
|
|
1677
1803
|
const { currentWallet } = useCurrentWallet();
|
|
1678
1804
|
const currentAccount = useCurrentAccount();
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1805
|
+
const client = useSuiClient();
|
|
1806
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1807
|
+
return useMutation8({
|
|
1808
|
+
mutationKey: walletMutationKeys.signTransaction(mutationKey),
|
|
1809
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1682
1810
|
if (!currentWallet) {
|
|
1683
1811
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1684
1812
|
}
|
|
1685
|
-
const signerAccount =
|
|
1813
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1686
1814
|
if (!signerAccount) {
|
|
1687
1815
|
throw new WalletNoAccountSelectedError(
|
|
1688
|
-
"No wallet account is selected to sign the transaction
|
|
1816
|
+
"No wallet account is selected to sign the transaction with."
|
|
1689
1817
|
);
|
|
1690
1818
|
}
|
|
1691
|
-
|
|
1692
|
-
if (!walletFeature) {
|
|
1819
|
+
if (!currentWallet.features["sui:signTransaction"] && !currentWallet.features["sui:signTransactionBlock"]) {
|
|
1693
1820
|
throw new WalletFeatureNotSupportedError(
|
|
1694
|
-
"This wallet doesn't support the `
|
|
1821
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1695
1822
|
);
|
|
1696
1823
|
}
|
|
1697
|
-
|
|
1698
|
-
...
|
|
1824
|
+
const { bytes, signature } = await signTransaction2(currentWallet, {
|
|
1825
|
+
...signTransactionArgs,
|
|
1826
|
+
transaction: {
|
|
1827
|
+
toJSON: async () => {
|
|
1828
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1829
|
+
supportedIntents: [],
|
|
1830
|
+
client
|
|
1831
|
+
});
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1699
1834
|
account: signerAccount,
|
|
1700
|
-
chain:
|
|
1835
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1701
1836
|
});
|
|
1837
|
+
return {
|
|
1838
|
+
bytes,
|
|
1839
|
+
signature,
|
|
1840
|
+
reportTransactionEffects: (effects) => {
|
|
1841
|
+
reportTransactionEffects({
|
|
1842
|
+
effects,
|
|
1843
|
+
account: signerAccount,
|
|
1844
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1845
|
+
});
|
|
1846
|
+
}
|
|
1847
|
+
};
|
|
1702
1848
|
},
|
|
1703
1849
|
...mutationOptions
|
|
1704
1850
|
});
|
|
@@ -1717,10 +1863,11 @@ export {
|
|
|
1717
1863
|
useCurrentAccount,
|
|
1718
1864
|
useCurrentWallet,
|
|
1719
1865
|
useDisconnectWallet,
|
|
1866
|
+
useReportTransactionEffects,
|
|
1720
1867
|
useResolveSuiNSName,
|
|
1721
|
-
|
|
1868
|
+
useSignAndExecuteTransaction,
|
|
1722
1869
|
useSignPersonalMessage,
|
|
1723
|
-
|
|
1870
|
+
useSignTransaction,
|
|
1724
1871
|
useSuiClient,
|
|
1725
1872
|
useSuiClientContext,
|
|
1726
1873
|
useSuiClientInfiniteQuery,
|