@mysten/dapp-kit 0.2.4 → 0.4.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 (202) hide show
  1. package/CHANGELOG.md +22 -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 +96 -37
  8. package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
  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 +165 -106
  12. package/dist/cjs/components/ConnectButton.js.map +4 -4
  13. package/dist/cjs/components/WalletProvider.js +3 -4
  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/useResolveSuiNSNames.d.ts +105 -0
  68. package/dist/cjs/hooks/useResolveSuiNSNames.js +82 -0
  69. package/dist/cjs/hooks/useResolveSuiNSNames.js.map +7 -0
  70. package/dist/cjs/hooks/useSuiClient.d.ts +2 -1
  71. package/dist/cjs/hooks/useSuiClient.js.map +2 -2
  72. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +2 -2
  73. package/dist/cjs/hooks/useSuiClientMutation.js.map +2 -2
  74. package/dist/cjs/hooks/useSuiClientQuery.js.map +2 -2
  75. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +4 -2
  76. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
  77. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +5 -3
  78. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +62 -12
  79. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +4 -4
  80. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +1 -1
  81. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +3 -2
  82. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +2 -2
  83. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +2 -1
  84. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
  85. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  86. package/dist/cjs/index.css +131 -66
  87. package/dist/cjs/index.css.map +3 -3
  88. package/dist/cjs/index.d.ts +1 -0
  89. package/dist/cjs/index.js +90 -46
  90. package/dist/cjs/index.js.map +4 -4
  91. package/dist/cjs/types.d.ts +1 -0
  92. package/dist/cjs/types.js.map +1 -1
  93. package/dist/cjs/walletStore.js +1 -2
  94. package/dist/cjs/walletStore.js.map +2 -2
  95. package/dist/esm/components/AccountDropdownMenu.css +43 -22
  96. package/dist/esm/components/AccountDropdownMenu.css.css +12 -6
  97. package/dist/esm/components/AccountDropdownMenu.css.css.map +2 -2
  98. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  99. package/dist/esm/components/AccountDropdownMenu.js +85 -26
  100. package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
  101. package/dist/esm/components/ConnectButton.css +131 -66
  102. package/dist/esm/components/ConnectButton.css.map +3 -3
  103. package/dist/esm/components/ConnectButton.js +137 -78
  104. package/dist/esm/components/ConnectButton.js.map +4 -4
  105. package/dist/esm/components/WalletProvider.js +3 -4
  106. package/dist/esm/components/WalletProvider.js.map +2 -2
  107. package/dist/esm/components/connect-modal/ConnectModal.css +119 -60
  108. package/dist/esm/components/connect-modal/ConnectModal.css.css +36 -18
  109. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +2 -2
  110. package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
  111. package/dist/esm/components/connect-modal/ConnectModal.js +2 -2
  112. package/dist/esm/components/connect-modal/ConnectModal.js.map +1 -1
  113. package/dist/esm/components/connect-modal/InfoSection.css +30 -15
  114. package/dist/esm/components/connect-modal/InfoSection.css.css +2 -1
  115. package/dist/esm/components/connect-modal/InfoSection.css.css.map +2 -2
  116. package/dist/esm/components/connect-modal/InfoSection.css.map +2 -2
  117. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +54 -27
  118. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +10 -5
  119. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +2 -2
  120. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +2 -2
  121. package/dist/esm/components/connect-modal/views/GettingStarted.css +52 -26
  122. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +6 -3
  123. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +2 -2
  124. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +2 -2
  125. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +34 -17
  126. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +4 -2
  127. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +2 -2
  128. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +2 -2
  129. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +26 -13
  130. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +2 -1
  131. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +2 -2
  132. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +2 -2
  133. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +24 -12
  134. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +10 -5
  135. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +2 -2
  136. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +2 -2
  137. package/dist/esm/components/styling/StyleMarker.css +1 -1
  138. package/dist/esm/components/styling/StyleMarker.css.css +1 -1
  139. package/dist/esm/components/styling/StyleMarker.css.css.map +1 -1
  140. package/dist/esm/components/styling/StyleMarker.css.js +2 -2
  141. package/dist/esm/components/styling/StyleMarker.css.js.map +1 -1
  142. package/dist/esm/components/styling/StyleMarker.css.map +1 -1
  143. package/dist/esm/components/styling/StyleMarker.js +2 -2
  144. package/dist/esm/components/styling/StyleMarker.js.map +1 -1
  145. package/dist/esm/components/ui/Button.css +16 -8
  146. package/dist/esm/components/ui/Button.css.css +16 -8
  147. package/dist/esm/components/ui/Button.css.css.map +2 -2
  148. package/dist/esm/components/ui/Button.css.map +2 -2
  149. package/dist/esm/components/ui/Heading.css +14 -7
  150. package/dist/esm/components/ui/Heading.css.css +14 -7
  151. package/dist/esm/components/ui/Heading.css.css.map +2 -2
  152. package/dist/esm/components/ui/Heading.css.map +2 -2
  153. package/dist/esm/components/ui/IconButton.css +4 -2
  154. package/dist/esm/components/ui/IconButton.css.css +4 -2
  155. package/dist/esm/components/ui/IconButton.css.css.map +2 -2
  156. package/dist/esm/components/ui/IconButton.css.map +2 -2
  157. package/dist/esm/components/ui/Text.css +14 -7
  158. package/dist/esm/components/ui/Text.css.css +14 -7
  159. package/dist/esm/components/ui/Text.css.css.map +2 -2
  160. package/dist/esm/components/ui/Text.css.map +2 -2
  161. package/dist/esm/hooks/useResolveSuiNSNames.d.ts +105 -0
  162. package/dist/esm/hooks/useResolveSuiNSNames.js +59 -0
  163. package/dist/esm/hooks/useResolveSuiNSNames.js.map +7 -0
  164. package/dist/esm/hooks/useSuiClient.d.ts +2 -1
  165. package/dist/esm/hooks/useSuiClient.js.map +2 -2
  166. package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +2 -2
  167. package/dist/esm/hooks/useSuiClientMutation.js.map +2 -2
  168. package/dist/esm/hooks/useSuiClientQuery.js.map +2 -2
  169. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +4 -2
  170. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
  171. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +5 -3
  172. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +62 -12
  173. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +4 -4
  174. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +1 -1
  175. package/dist/esm/hooks/wallet/useSignTransactionBlock.js +3 -2
  176. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +2 -2
  177. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +2 -1
  178. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
  179. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  180. package/dist/esm/index.css +131 -66
  181. package/dist/esm/index.css.map +3 -3
  182. package/dist/esm/index.d.ts +1 -0
  183. package/dist/esm/index.js +76 -32
  184. package/dist/esm/index.js.map +4 -4
  185. package/dist/esm/types.d.ts +1 -0
  186. package/dist/esm/walletStore.js +1 -2
  187. package/dist/esm/walletStore.js.map +2 -2
  188. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  189. package/dist/tsconfig.tsbuildinfo +1 -1
  190. package/package.json +5 -5
  191. package/src/components/AccountDropdownMenu.tsx +6 -2
  192. package/src/components/WalletProvider.tsx +2 -2
  193. package/src/components/styling/StyleMarker.css.ts +5 -10
  194. package/src/hooks/useResolveSuiNSNames.ts +21 -0
  195. package/src/hooks/useSuiClient.ts +2 -1
  196. package/src/hooks/wallet/useDisconnectWallet.ts +3 -1
  197. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +39 -9
  198. package/src/hooks/wallet/useSignTransactionBlock.ts +3 -2
  199. package/src/hooks/wallet/useSwitchAccount.ts +3 -6
  200. package/src/index.ts +2 -0
  201. package/src/types.ts +1 -0
  202. package/src/walletStore.ts +3 -4
@@ -9,8 +9,10 @@ import { WalletNotConnectedError } from '../../errors/walletErrors.js';
9
9
  import { useCurrentWallet } from './useCurrentWallet.js';
10
10
  import { useWalletStore } from './useWalletStore.js';
11
11
 
12
+ type UseDisconnectWalletError = WalletNotConnectedError | Error;
13
+
12
14
  type UseDisconnectWalletMutationOptions = Omit<
13
- UseMutationOptions<void, Error, void, unknown>,
15
+ UseMutationOptions<void, UseDisconnectWalletError, void, unknown>,
14
16
  'mutationFn'
15
17
  >;
16
18
 
@@ -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';
@@ -93,13 +93,12 @@ export function createWalletStore({ wallets, storage, storageKey }: WalletConfig
93
93
  },
94
94
  updateWalletAccounts(accounts) {
95
95
  const currentAccount = get().currentAccount;
96
- const isCurrentAccountStillAuthorized = currentAccount
97
- ? accounts.some(({ address }) => address === currentAccount.address)
98
- : false;
99
96
 
100
97
  set(() => ({
101
98
  accounts,
102
- currentAccount: isCurrentAccountStillAuthorized ? currentAccount : accounts[0],
99
+ currentAccount: currentAccount
100
+ ? accounts.find(({ address }) => address === currentAccount.address)
101
+ : accounts[0],
103
102
  }));
104
103
  },
105
104
  }),