@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/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 }));
|
|
@@ -1476,7 +1548,7 @@ function cssStringFromTheme(theme) {
|
|
|
1476
1548
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1477
1549
|
function WalletProvider({
|
|
1478
1550
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1479
|
-
|
|
1551
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1480
1552
|
storage = DEFAULT_STORAGE,
|
|
1481
1553
|
storageKey = DEFAULT_STORAGE_KEY,
|
|
1482
1554
|
enableUnsafeBurner = false,
|
|
@@ -1488,7 +1560,7 @@ function WalletProvider({
|
|
|
1488
1560
|
const storeRef = (0, import_react16.useRef)(
|
|
1489
1561
|
createWalletStore({
|
|
1490
1562
|
autoConnectEnabled: autoConnect,
|
|
1491
|
-
wallets: getRegisteredWallets(preferredWallets,
|
|
1563
|
+
wallets: getRegisteredWallets(preferredWallets, walletFilter),
|
|
1492
1564
|
storage: storage || createInMemoryStore(),
|
|
1493
1565
|
storageKey
|
|
1494
1566
|
})
|
|
@@ -1497,7 +1569,7 @@ function WalletProvider({
|
|
|
1497
1569
|
WalletConnectionManager,
|
|
1498
1570
|
{
|
|
1499
1571
|
preferredWallets,
|
|
1500
|
-
|
|
1572
|
+
walletFilter,
|
|
1501
1573
|
enableUnsafeBurner,
|
|
1502
1574
|
stashedWallet,
|
|
1503
1575
|
children: [
|
|
@@ -1509,12 +1581,12 @@ function WalletProvider({
|
|
|
1509
1581
|
}
|
|
1510
1582
|
function WalletConnectionManager({
|
|
1511
1583
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1512
|
-
|
|
1584
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1513
1585
|
enableUnsafeBurner = false,
|
|
1514
1586
|
stashedWallet,
|
|
1515
1587
|
children
|
|
1516
1588
|
}) {
|
|
1517
|
-
useWalletsChanged(preferredWallets,
|
|
1589
|
+
useWalletsChanged(preferredWallets, walletFilter);
|
|
1518
1590
|
useWalletPropertiesChanged();
|
|
1519
1591
|
useStashedWallet(stashedWallet);
|
|
1520
1592
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
@@ -1602,74 +1674,126 @@ function useSuiClientQueries({
|
|
|
1602
1674
|
});
|
|
1603
1675
|
}
|
|
1604
1676
|
|
|
1605
|
-
// 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");
|
|
1606
1684
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1607
|
-
function
|
|
1685
|
+
function useReportTransactionEffects({
|
|
1608
1686
|
mutationKey,
|
|
1609
|
-
executeFromWallet,
|
|
1610
1687
|
...mutationOptions
|
|
1611
1688
|
} = {}) {
|
|
1612
1689
|
const { currentWallet } = useCurrentWallet();
|
|
1613
1690
|
const currentAccount = useCurrentAccount();
|
|
1614
|
-
const client = useSuiClient();
|
|
1615
1691
|
return (0, import_react_query9.useMutation)({
|
|
1616
|
-
mutationKey: walletMutationKeys.
|
|
1617
|
-
mutationFn: async ({
|
|
1692
|
+
mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
|
|
1693
|
+
mutationFn: async ({ effects, chain = currentWallet?.chains[0], account = currentAccount }) => {
|
|
1618
1694
|
if (!currentWallet) {
|
|
1619
1695
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1620
1696
|
}
|
|
1621
|
-
|
|
1622
|
-
if (!signerAccount) {
|
|
1697
|
+
if (!account) {
|
|
1623
1698
|
throw new WalletNoAccountSelectedError(
|
|
1624
|
-
"No wallet account is selected to
|
|
1699
|
+
"No wallet account is selected to report transaction effects for"
|
|
1625
1700
|
);
|
|
1626
1701
|
}
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
}
|
|
1634
|
-
return walletFeature2.signAndExecuteTransactionBlock({
|
|
1635
|
-
...signTransactionBlockArgs,
|
|
1636
|
-
account: signerAccount,
|
|
1637
|
-
chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
|
|
1638
|
-
requestType,
|
|
1639
|
-
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]
|
|
1640
1708
|
});
|
|
1641
1709
|
}
|
|
1642
|
-
|
|
1643
|
-
|
|
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"]) {
|
|
1644
1755
|
throw new WalletFeatureNotSupportedError(
|
|
1645
|
-
"This wallet doesn't support the `
|
|
1756
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1646
1757
|
);
|
|
1647
1758
|
}
|
|
1648
|
-
const { signature,
|
|
1649
|
-
...
|
|
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
|
+
},
|
|
1650
1769
|
account: signerAccount,
|
|
1651
|
-
chain:
|
|
1652
|
-
});
|
|
1653
|
-
return client.executeTransactionBlock({
|
|
1654
|
-
transactionBlock: transactionBlockBytes,
|
|
1655
|
-
signature,
|
|
1656
|
-
requestType,
|
|
1657
|
-
options
|
|
1770
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1658
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;
|
|
1659
1783
|
},
|
|
1660
1784
|
...mutationOptions
|
|
1661
1785
|
});
|
|
1662
1786
|
}
|
|
1663
1787
|
|
|
1664
1788
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1665
|
-
var
|
|
1789
|
+
var import_react_query11 = require("@tanstack/react-query");
|
|
1666
1790
|
function useSignPersonalMessage({
|
|
1667
1791
|
mutationKey,
|
|
1668
1792
|
...mutationOptions
|
|
1669
1793
|
} = {}) {
|
|
1670
1794
|
const { currentWallet } = useCurrentWallet();
|
|
1671
1795
|
const currentAccount = useCurrentAccount();
|
|
1672
|
-
return (0,
|
|
1796
|
+
return (0, import_react_query11.useMutation)({
|
|
1673
1797
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1674
1798
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1675
1799
|
if (!currentWallet) {
|
|
@@ -1707,37 +1831,58 @@ function useSignPersonalMessage({
|
|
|
1707
1831
|
});
|
|
1708
1832
|
}
|
|
1709
1833
|
|
|
1710
|
-
// src/hooks/wallet/
|
|
1711
|
-
var
|
|
1712
|
-
|
|
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({
|
|
1713
1838
|
mutationKey,
|
|
1714
1839
|
...mutationOptions
|
|
1715
1840
|
} = {}) {
|
|
1716
1841
|
const { currentWallet } = useCurrentWallet();
|
|
1717
1842
|
const currentAccount = useCurrentAccount();
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
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 }) => {
|
|
1721
1848
|
if (!currentWallet) {
|
|
1722
1849
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1723
1850
|
}
|
|
1724
|
-
const signerAccount =
|
|
1851
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1725
1852
|
if (!signerAccount) {
|
|
1726
1853
|
throw new WalletNoAccountSelectedError(
|
|
1727
|
-
"No wallet account is selected to sign the transaction
|
|
1854
|
+
"No wallet account is selected to sign the transaction with."
|
|
1728
1855
|
);
|
|
1729
1856
|
}
|
|
1730
|
-
|
|
1731
|
-
if (!walletFeature) {
|
|
1857
|
+
if (!currentWallet.features["sui:signTransaction"] && !currentWallet.features["sui:signTransactionBlock"]) {
|
|
1732
1858
|
throw new WalletFeatureNotSupportedError(
|
|
1733
|
-
"This wallet doesn't support the `
|
|
1859
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1734
1860
|
);
|
|
1735
1861
|
}
|
|
1736
|
-
|
|
1737
|
-
...
|
|
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
|
+
},
|
|
1738
1872
|
account: signerAccount,
|
|
1739
|
-
chain:
|
|
1873
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1740
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
|
+
};
|
|
1741
1886
|
},
|
|
1742
1887
|
...mutationOptions
|
|
1743
1888
|
});
|