@mysten/dapp-kit 0.2.4 → 0.3.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.
Files changed (189) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +82 -0
  3. package/dist/cjs/components/AccountDropdownMenu.css +43 -22
  4. package/dist/cjs/components/AccountDropdownMenu.css.css +12 -6
  5. package/dist/cjs/components/AccountDropdownMenu.css.css.map +2 -2
  6. package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
  7. package/dist/cjs/components/AccountDropdownMenu.js +2 -2
  8. package/dist/cjs/components/AccountDropdownMenu.js.map +2 -2
  9. package/dist/cjs/components/ConnectButton.css +131 -66
  10. package/dist/cjs/components/ConnectButton.css.map +3 -3
  11. package/dist/cjs/components/ConnectButton.js +2 -2
  12. package/dist/cjs/components/ConnectButton.js.map +2 -2
  13. package/dist/cjs/components/WalletProvider.js +2 -2
  14. package/dist/cjs/components/WalletProvider.js.map +2 -2
  15. package/dist/cjs/components/connect-modal/ConnectModal.css +119 -60
  16. package/dist/cjs/components/connect-modal/ConnectModal.css.css +36 -18
  17. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +2 -2
  18. package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
  19. package/dist/cjs/components/connect-modal/ConnectModal.js +2 -2
  20. package/dist/cjs/components/connect-modal/ConnectModal.js.map +1 -1
  21. package/dist/cjs/components/connect-modal/InfoSection.css +30 -15
  22. package/dist/cjs/components/connect-modal/InfoSection.css.css +2 -1
  23. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +2 -2
  24. package/dist/cjs/components/connect-modal/InfoSection.css.map +2 -2
  25. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +54 -27
  26. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +10 -5
  27. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +2 -2
  28. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +2 -2
  29. package/dist/cjs/components/connect-modal/views/GettingStarted.css +52 -26
  30. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +6 -3
  31. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +2 -2
  32. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +2 -2
  33. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +34 -17
  34. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +4 -2
  35. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +2 -2
  36. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +2 -2
  37. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +26 -13
  38. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +2 -1
  39. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +2 -2
  40. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +2 -2
  41. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +24 -12
  42. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +10 -5
  43. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +2 -2
  44. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +2 -2
  45. package/dist/cjs/components/styling/StyleMarker.css +1 -1
  46. package/dist/cjs/components/styling/StyleMarker.css.css +1 -1
  47. package/dist/cjs/components/styling/StyleMarker.css.css.map +1 -1
  48. package/dist/cjs/components/styling/StyleMarker.css.map +1 -1
  49. package/dist/cjs/components/styling/StyleMarker.js +2 -2
  50. package/dist/cjs/components/styling/StyleMarker.js.map +1 -1
  51. package/dist/cjs/components/ui/Button.css +16 -8
  52. package/dist/cjs/components/ui/Button.css.css +16 -8
  53. package/dist/cjs/components/ui/Button.css.css.map +2 -2
  54. package/dist/cjs/components/ui/Button.css.map +2 -2
  55. package/dist/cjs/components/ui/Heading.css +14 -7
  56. package/dist/cjs/components/ui/Heading.css.css +14 -7
  57. package/dist/cjs/components/ui/Heading.css.css.map +2 -2
  58. package/dist/cjs/components/ui/Heading.css.map +2 -2
  59. package/dist/cjs/components/ui/IconButton.css +4 -2
  60. package/dist/cjs/components/ui/IconButton.css.css +4 -2
  61. package/dist/cjs/components/ui/IconButton.css.css.map +2 -2
  62. package/dist/cjs/components/ui/IconButton.css.map +2 -2
  63. package/dist/cjs/components/ui/Text.css +14 -7
  64. package/dist/cjs/components/ui/Text.css.css +14 -7
  65. package/dist/cjs/components/ui/Text.css.css.map +2 -2
  66. package/dist/cjs/components/ui/Text.css.map +2 -2
  67. package/dist/cjs/hooks/useSuiClient.d.ts +2 -1
  68. package/dist/cjs/hooks/useSuiClient.js.map +2 -2
  69. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +2 -2
  70. package/dist/cjs/hooks/useSuiClientMutation.js.map +2 -2
  71. package/dist/cjs/hooks/useSuiClientQuery.js.map +2 -2
  72. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +4 -2
  73. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
  74. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +5 -3
  75. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +62 -12
  76. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +4 -4
  77. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +1 -1
  78. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +3 -2
  79. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +2 -2
  80. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +2 -1
  81. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
  82. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  83. package/dist/cjs/index.css +131 -66
  84. package/dist/cjs/index.css.map +3 -3
  85. package/dist/cjs/index.d.ts +1 -0
  86. package/dist/cjs/index.js +39 -14
  87. package/dist/cjs/index.js.map +3 -3
  88. package/dist/cjs/types.d.ts +1 -0
  89. package/dist/cjs/types.js.map +1 -1
  90. package/dist/esm/components/AccountDropdownMenu.css +43 -22
  91. package/dist/esm/components/AccountDropdownMenu.css.css +12 -6
  92. package/dist/esm/components/AccountDropdownMenu.css.css.map +2 -2
  93. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  94. package/dist/esm/components/AccountDropdownMenu.js +2 -2
  95. package/dist/esm/components/AccountDropdownMenu.js.map +2 -2
  96. package/dist/esm/components/ConnectButton.css +131 -66
  97. package/dist/esm/components/ConnectButton.css.map +3 -3
  98. package/dist/esm/components/ConnectButton.js +2 -2
  99. package/dist/esm/components/ConnectButton.js.map +2 -2
  100. package/dist/esm/components/WalletProvider.js +2 -2
  101. package/dist/esm/components/WalletProvider.js.map +2 -2
  102. package/dist/esm/components/connect-modal/ConnectModal.css +119 -60
  103. package/dist/esm/components/connect-modal/ConnectModal.css.css +36 -18
  104. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +2 -2
  105. package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
  106. package/dist/esm/components/connect-modal/ConnectModal.js +2 -2
  107. package/dist/esm/components/connect-modal/ConnectModal.js.map +1 -1
  108. package/dist/esm/components/connect-modal/InfoSection.css +30 -15
  109. package/dist/esm/components/connect-modal/InfoSection.css.css +2 -1
  110. package/dist/esm/components/connect-modal/InfoSection.css.css.map +2 -2
  111. package/dist/esm/components/connect-modal/InfoSection.css.map +2 -2
  112. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +54 -27
  113. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +10 -5
  114. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +2 -2
  115. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +2 -2
  116. package/dist/esm/components/connect-modal/views/GettingStarted.css +52 -26
  117. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +6 -3
  118. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +2 -2
  119. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +2 -2
  120. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +34 -17
  121. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +4 -2
  122. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +2 -2
  123. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +2 -2
  124. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +26 -13
  125. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +2 -1
  126. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +2 -2
  127. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +2 -2
  128. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +24 -12
  129. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +10 -5
  130. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +2 -2
  131. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +2 -2
  132. package/dist/esm/components/styling/StyleMarker.css +1 -1
  133. package/dist/esm/components/styling/StyleMarker.css.css +1 -1
  134. package/dist/esm/components/styling/StyleMarker.css.css.map +1 -1
  135. package/dist/esm/components/styling/StyleMarker.css.js +2 -2
  136. package/dist/esm/components/styling/StyleMarker.css.js.map +1 -1
  137. package/dist/esm/components/styling/StyleMarker.css.map +1 -1
  138. package/dist/esm/components/styling/StyleMarker.js +2 -2
  139. package/dist/esm/components/styling/StyleMarker.js.map +1 -1
  140. package/dist/esm/components/ui/Button.css +16 -8
  141. package/dist/esm/components/ui/Button.css.css +16 -8
  142. package/dist/esm/components/ui/Button.css.css.map +2 -2
  143. package/dist/esm/components/ui/Button.css.map +2 -2
  144. package/dist/esm/components/ui/Heading.css +14 -7
  145. package/dist/esm/components/ui/Heading.css.css +14 -7
  146. package/dist/esm/components/ui/Heading.css.css.map +2 -2
  147. package/dist/esm/components/ui/Heading.css.map +2 -2
  148. package/dist/esm/components/ui/IconButton.css +4 -2
  149. package/dist/esm/components/ui/IconButton.css.css +4 -2
  150. package/dist/esm/components/ui/IconButton.css.css.map +2 -2
  151. package/dist/esm/components/ui/IconButton.css.map +2 -2
  152. package/dist/esm/components/ui/Text.css +14 -7
  153. package/dist/esm/components/ui/Text.css.css +14 -7
  154. package/dist/esm/components/ui/Text.css.css.map +2 -2
  155. package/dist/esm/components/ui/Text.css.map +2 -2
  156. package/dist/esm/hooks/useSuiClient.d.ts +2 -1
  157. package/dist/esm/hooks/useSuiClient.js.map +2 -2
  158. package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +2 -2
  159. package/dist/esm/hooks/useSuiClientMutation.js.map +2 -2
  160. package/dist/esm/hooks/useSuiClientQuery.js.map +2 -2
  161. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +4 -2
  162. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
  163. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +5 -3
  164. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +62 -12
  165. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +4 -4
  166. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +1 -1
  167. package/dist/esm/hooks/wallet/useSignTransactionBlock.js +3 -2
  168. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +2 -2
  169. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +2 -1
  170. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
  171. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  172. package/dist/esm/index.css +131 -66
  173. package/dist/esm/index.css.map +3 -3
  174. package/dist/esm/index.d.ts +1 -0
  175. package/dist/esm/index.js +39 -14
  176. package/dist/esm/index.js.map +3 -3
  177. package/dist/esm/types.d.ts +1 -0
  178. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  179. package/dist/tsconfig.tsbuildinfo +1 -1
  180. package/package.json +5 -5
  181. package/src/components/WalletProvider.tsx +2 -2
  182. package/src/components/styling/StyleMarker.css.ts +5 -10
  183. package/src/hooks/useSuiClient.ts +2 -1
  184. package/src/hooks/wallet/useDisconnectWallet.ts +3 -1
  185. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +39 -9
  186. package/src/hooks/wallet/useSignTransactionBlock.ts +3 -2
  187. package/src/hooks/wallet/useSwitchAccount.ts +3 -6
  188. package/src/index.ts +2 -0
  189. package/src/types.ts +1 -0
@@ -15,12 +15,13 @@ import {
15
15
  WalletNotConnectedError,
16
16
  } from '../../errors/walletErrors.js';
17
17
  import type { PartialBy } from '../../types/utilityTypes.js';
18
+ import { useSuiClient } from '../useSuiClient.js';
18
19
  import { useCurrentAccount } from './useCurrentAccount.js';
19
20
  import { useCurrentWallet } from './useCurrentWallet.js';
20
21
 
21
22
  type UseSignAndExecuteTransactionBlockArgs = PartialBy<
22
23
  SuiSignAndExecuteTransactionBlockInput,
23
- 'account'
24
+ 'account' | 'chain'
24
25
  >;
25
26
 
26
27
  type UseSignAndExecuteTransactionBlockResult = SuiSignAndExecuteTransactionBlockOutput;
@@ -39,42 +40,71 @@ type UseSignAndExecuteTransactionBlockMutationOptions = Omit<
39
40
  unknown
40
41
  >,
41
42
  'mutationFn'
42
- >;
43
+ > & {
44
+ executeFromWallet?: boolean;
45
+ };
43
46
 
44
47
  /**
45
48
  * Mutation hook for prompting the user to sign and execute a transaction block.
46
49
  */
47
50
  export function useSignAndExecuteTransactionBlock({
48
51
  mutationKey,
52
+ executeFromWallet,
49
53
  ...mutationOptions
50
54
  }: UseSignAndExecuteTransactionBlockMutationOptions = {}) {
51
55
  const currentWallet = useCurrentWallet();
52
56
  const currentAccount = useCurrentAccount();
57
+ const client = useSuiClient();
53
58
 
54
59
  return useMutation({
55
60
  mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
56
- mutationFn: async (signAndExecuteTransactionBlockArgs) => {
61
+ mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {
57
62
  if (!currentWallet) {
58
63
  throw new WalletNotConnectedError('No wallet is connected.');
59
64
  }
60
65
 
61
- const signerAccount = signAndExecuteTransactionBlockArgs.account ?? currentAccount;
66
+ const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
62
67
  if (!signerAccount) {
63
68
  throw new WalletNoAccountSelectedError(
64
- 'No wallet account is selected to sign the personal message with.',
69
+ 'No wallet account is selected to sign and execute the transaction block with.',
65
70
  );
66
71
  }
67
72
 
68
- const walletFeature = currentWallet.features['sui:signAndExecuteTransactionBlock'];
73
+ if (executeFromWallet) {
74
+ const walletFeature = currentWallet.features['sui:signAndExecuteTransactionBlock'];
75
+ if (!walletFeature) {
76
+ throw new WalletFeatureNotSupportedError(
77
+ "This wallet doesn't support the `signAndExecuteTransactionBlock` feature.",
78
+ );
79
+ }
80
+
81
+ return walletFeature.signAndExecuteTransactionBlock({
82
+ ...signTransactionBlockArgs,
83
+ account: signerAccount,
84
+ chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
85
+ requestType,
86
+ options,
87
+ });
88
+ }
89
+
90
+ const walletFeature = currentWallet.features['sui:signTransactionBlock'];
69
91
  if (!walletFeature) {
70
92
  throw new WalletFeatureNotSupportedError(
71
- "This wallet doesn't support the `signAndExecuteTransactionBlock` feature.",
93
+ "This wallet doesn't support the `signTransactionBlock` feature.",
72
94
  );
73
95
  }
74
96
 
75
- return await walletFeature.signAndExecuteTransactionBlock({
76
- ...signAndExecuteTransactionBlockArgs,
97
+ const { signature, transactionBlockBytes } = await walletFeature.signTransactionBlock({
98
+ ...signTransactionBlockArgs,
77
99
  account: signerAccount,
100
+ chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
101
+ });
102
+
103
+ return client.executeTransactionBlock({
104
+ transactionBlock: transactionBlockBytes,
105
+ signature,
106
+ requestType,
107
+ options,
78
108
  });
79
109
  },
80
110
  ...mutationOptions,
@@ -18,7 +18,7 @@ import type { PartialBy } from '../../types/utilityTypes.js';
18
18
  import { useCurrentAccount } from './useCurrentAccount.js';
19
19
  import { useCurrentWallet } from './useCurrentWallet.js';
20
20
 
21
- type UseSignTransactionBlockArgs = PartialBy<SuiSignTransactionBlockInput, 'account'>;
21
+ type UseSignTransactionBlockArgs = PartialBy<SuiSignTransactionBlockInput, 'account' | 'chain'>;
22
22
 
23
23
  type UseSignTransactionBlockResult = SuiSignTransactionBlockOutput;
24
24
 
@@ -58,7 +58,7 @@ export function useSignTransactionBlock({
58
58
  const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
59
59
  if (!signerAccount) {
60
60
  throw new WalletNoAccountSelectedError(
61
- 'No wallet account is selected to sign the personal message with.',
61
+ 'No wallet account is selected to sign the transaction block with.',
62
62
  );
63
63
  }
64
64
 
@@ -72,6 +72,7 @@ export function useSignTransactionBlock({
72
72
  return await walletFeature.signTransactionBlock({
73
73
  ...signTransactionBlockArgs,
74
74
  account: signerAccount,
75
+ chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
75
76
  });
76
77
  },
77
78
  ...mutationOptions,
@@ -16,13 +16,10 @@ type SwitchAccountArgs = {
16
16
 
17
17
  type SwitchAccountResult = void;
18
18
 
19
+ type UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;
20
+
19
21
  type UseSwitchAccountMutationOptions = Omit<
20
- UseMutationOptions<
21
- SwitchAccountResult,
22
- WalletNotConnectedError | WalletAccountNotFoundError | Error,
23
- SwitchAccountArgs,
24
- unknown
25
- >,
22
+ UseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,
26
23
  'mutationFn'
27
24
  >;
28
25
 
package/src/index.ts CHANGED
@@ -21,3 +21,5 @@ export * from './hooks/useSuiClientQuery.js';
21
21
  export * from './hooks/useSuiClientInfiniteQuery.js';
22
22
  export * from './themes/lightTheme.js';
23
23
  export * from './types.js';
24
+
25
+ export type { Theme, ThemeVars, DynamicTheme } from './themes/themeContract.js';
package/src/types.ts CHANGED
@@ -2,3 +2,4 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export type { SignedPersonalMessage, SignedTransactionBlock } from '@mysten/wallet-standard';
5
+ export type { ThemeVars } from './themes/themeContract.js';