@reown/appkit-react-native 0.0.0-feat-multi-social-20250714211631 → 0.0.0-feat-coinbase-20250722173213

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 (186) hide show
  1. package/lib/commonjs/AppKit.js +45 -14
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/modal/w3m-account-button/index.js +4 -1
  4. package/lib/commonjs/modal/w3m-account-button/index.js.map +1 -1
  5. package/lib/commonjs/modal/w3m-button/index.js +1 -1
  6. package/lib/commonjs/modal/w3m-button/index.js.map +1 -1
  7. package/lib/commonjs/modal/w3m-modal/index.js +2 -1
  8. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  9. package/lib/commonjs/modal/w3m-network-button/index.js +11 -5
  10. package/lib/commonjs/modal/w3m-network-button/index.js.map +1 -1
  11. package/lib/commonjs/partials/w3m-account-activity/index.js +13 -4
  12. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  13. package/lib/commonjs/partials/w3m-account-tokens/index.js +4 -1
  14. package/lib/commonjs/partials/w3m-account-tokens/index.js.map +1 -1
  15. package/lib/commonjs/partials/w3m-account-wallet-features/index.js +4 -2
  16. package/lib/commonjs/partials/w3m-account-wallet-features/index.js.map +1 -1
  17. package/lib/commonjs/partials/w3m-header/index.js +3 -1
  18. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  19. package/lib/commonjs/partials/w3m-selector-modal/index.js +4 -1
  20. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  21. package/lib/commonjs/partials/w3m-send-input-token/index.js +10 -7
  22. package/lib/commonjs/partials/w3m-send-input-token/index.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-send-input-token/styles.js +3 -0
  24. package/lib/commonjs/partials/w3m-send-input-token/styles.js.map +1 -1
  25. package/lib/commonjs/utils/NetworkUtil.js +6 -8
  26. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  27. package/lib/commonjs/views/w3m-account-default-view/index.js +42 -15
  28. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  29. package/lib/commonjs/views/w3m-account-view/index.js +6 -2
  30. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  31. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +3 -1
  32. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +1 -1
  33. package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -3
  34. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  35. package/lib/commonjs/views/w3m-connecting-view/index.js +3 -1
  36. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  37. package/lib/commonjs/views/w3m-network-switch-view/index.js +5 -1
  38. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  39. package/lib/commonjs/views/w3m-networks-view/index.js +20 -12
  40. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  41. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +4 -1
  42. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  43. package/lib/commonjs/views/w3m-onramp-view/index.js +4 -1
  44. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  45. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js +4 -1
  46. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js.map +1 -1
  47. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +4 -1
  48. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  49. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +4 -1
  50. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  51. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +5 -2
  52. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  53. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-details.js +5 -12
  54. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-details.js.map +1 -1
  55. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +0 -2
  56. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  57. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +4 -5
  58. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  59. package/lib/commonjs/views/w3m-wallet-send-view/index.js +12 -21
  60. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  61. package/lib/module/AppKit.js +46 -15
  62. package/lib/module/AppKit.js.map +1 -1
  63. package/lib/module/modal/w3m-account-button/index.js +5 -2
  64. package/lib/module/modal/w3m-account-button/index.js.map +1 -1
  65. package/lib/module/modal/w3m-button/index.js +2 -2
  66. package/lib/module/modal/w3m-button/index.js.map +1 -1
  67. package/lib/module/modal/w3m-modal/index.js +2 -1
  68. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  69. package/lib/module/modal/w3m-network-button/index.js +12 -6
  70. package/lib/module/modal/w3m-network-button/index.js.map +1 -1
  71. package/lib/module/partials/w3m-account-activity/index.js +14 -5
  72. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  73. package/lib/module/partials/w3m-account-tokens/index.js +5 -2
  74. package/lib/module/partials/w3m-account-tokens/index.js.map +1 -1
  75. package/lib/module/partials/w3m-account-wallet-features/index.js +4 -2
  76. package/lib/module/partials/w3m-account-wallet-features/index.js.map +1 -1
  77. package/lib/module/partials/w3m-header/index.js +3 -1
  78. package/lib/module/partials/w3m-header/index.js.map +1 -1
  79. package/lib/module/partials/w3m-selector-modal/index.js +5 -2
  80. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  81. package/lib/module/partials/w3m-send-input-token/index.js +12 -9
  82. package/lib/module/partials/w3m-send-input-token/index.js.map +1 -1
  83. package/lib/module/partials/w3m-send-input-token/styles.js +3 -0
  84. package/lib/module/partials/w3m-send-input-token/styles.js.map +1 -1
  85. package/lib/module/utils/NetworkUtil.js +6 -8
  86. package/lib/module/utils/NetworkUtil.js.map +1 -1
  87. package/lib/module/views/w3m-account-default-view/index.js +42 -16
  88. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  89. package/lib/module/views/w3m-account-view/index.js +7 -3
  90. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  91. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +4 -2
  92. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +1 -1
  93. package/lib/module/views/w3m-connecting-external-view/index.js +4 -3
  94. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  95. package/lib/module/views/w3m-connecting-view/index.js +3 -1
  96. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  97. package/lib/module/views/w3m-network-switch-view/index.js +6 -2
  98. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  99. package/lib/module/views/w3m-networks-view/index.js +21 -13
  100. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  101. package/lib/module/views/w3m-onramp-checkout-view/index.js +5 -2
  102. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  103. package/lib/module/views/w3m-onramp-view/index.js +5 -2
  104. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  105. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js +5 -2
  106. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js.map +1 -1
  107. package/lib/module/views/w3m-unsupported-chain-view/index.js +5 -2
  108. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  109. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +5 -2
  110. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  111. package/lib/module/views/w3m-wallet-receive-view/index.js +6 -3
  112. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  113. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-details.js +6 -13
  114. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-details.js.map +1 -1
  115. package/lib/module/views/w3m-wallet-send-preview-view/index.js +0 -2
  116. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  117. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +5 -6
  118. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  119. package/lib/module/views/w3m-wallet-send-view/index.js +14 -23
  120. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  121. package/lib/typescript/AppKit.d.ts +3 -3
  122. package/lib/typescript/AppKit.d.ts.map +1 -1
  123. package/lib/typescript/AppKitContext.d.ts +1 -1
  124. package/lib/typescript/modal/w3m-account-button/index.d.ts.map +1 -1
  125. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  126. package/lib/typescript/modal/w3m-network-button/index.d.ts.map +1 -1
  127. package/lib/typescript/partials/w3m-account-activity/index.d.ts.map +1 -1
  128. package/lib/typescript/partials/w3m-account-tokens/index.d.ts.map +1 -1
  129. package/lib/typescript/partials/w3m-account-wallet-features/index.d.ts.map +1 -1
  130. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  131. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  132. package/lib/typescript/partials/w3m-send-input-token/index.d.ts +2 -2
  133. package/lib/typescript/partials/w3m-send-input-token/index.d.ts.map +1 -1
  134. package/lib/typescript/partials/w3m-send-input-token/styles.d.ts +3 -0
  135. package/lib/typescript/partials/w3m-send-input-token/styles.d.ts.map +1 -1
  136. package/lib/typescript/utils/NetworkUtil.d.ts +2 -1
  137. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  138. package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
  139. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  140. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +1 -1
  141. package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
  142. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  143. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  144. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  145. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  146. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  147. package/lib/typescript/views/w3m-swap-view/components/select-token-view/index.d.ts.map +1 -1
  148. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  149. package/lib/typescript/views/w3m-wallet-compatible-networks-view/index.d.ts.map +1 -1
  150. package/lib/typescript/views/w3m-wallet-receive-view/index.d.ts.map +1 -1
  151. package/lib/typescript/views/w3m-wallet-send-preview-view/components/preview-send-details.d.ts +1 -1
  152. package/lib/typescript/views/w3m-wallet-send-preview-view/components/preview-send-details.d.ts.map +1 -1
  153. package/lib/typescript/views/w3m-wallet-send-preview-view/index.d.ts.map +1 -1
  154. package/lib/typescript/views/w3m-wallet-send-select-token-view/index.d.ts.map +1 -1
  155. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  156. package/package.json +6 -6
  157. package/src/AppKit.ts +72 -24
  158. package/src/modal/w3m-account-button/index.tsx +4 -3
  159. package/src/modal/w3m-button/index.tsx +2 -2
  160. package/src/modal/w3m-modal/index.tsx +2 -0
  161. package/src/modal/w3m-network-button/index.tsx +10 -6
  162. package/src/partials/w3m-account-activity/index.tsx +16 -5
  163. package/src/partials/w3m-account-tokens/index.tsx +3 -2
  164. package/src/partials/w3m-account-wallet-features/index.tsx +15 -11
  165. package/src/partials/w3m-header/index.tsx +3 -1
  166. package/src/partials/w3m-selector-modal/index.tsx +3 -2
  167. package/src/partials/w3m-send-input-token/index.tsx +17 -19
  168. package/src/partials/w3m-send-input-token/styles.ts +3 -0
  169. package/src/utils/NetworkUtil.ts +13 -10
  170. package/src/views/w3m-account-default-view/index.tsx +44 -17
  171. package/src/views/w3m-account-view/index.tsx +5 -3
  172. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +5 -2
  173. package/src/views/w3m-connecting-external-view/index.tsx +4 -3
  174. package/src/views/w3m-connecting-view/index.tsx +3 -1
  175. package/src/views/w3m-network-switch-view/index.tsx +4 -2
  176. package/src/views/w3m-networks-view/index.tsx +23 -12
  177. package/src/views/w3m-onramp-checkout-view/index.tsx +3 -2
  178. package/src/views/w3m-onramp-view/index.tsx +4 -3
  179. package/src/views/w3m-swap-view/components/select-token-view/index.tsx +3 -2
  180. package/src/views/w3m-unsupported-chain-view/index.tsx +7 -2
  181. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +7 -2
  182. package/src/views/w3m-wallet-receive-view/index.tsx +4 -3
  183. package/src/views/w3m-wallet-send-preview-view/components/preview-send-details.tsx +4 -11
  184. package/src/views/w3m-wallet-send-preview-view/index.tsx +2 -9
  185. package/src/views/w3m-wallet-send-select-token-view/index.tsx +3 -4
  186. package/src/views/w3m-wallet-send-view/index.tsx +19 -22
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  AccountController,
14
14
  ApiController,
15
- AssetUtil,
15
+ AssetController,
16
16
  ConnectionsController,
17
17
  CoreHelperUtil,
18
18
  OptionsController,
@@ -23,11 +23,12 @@ import { useCustomDimensions } from '../../hooks/useCustomDimensions';
23
23
 
24
24
  export function WalletReceiveView() {
25
25
  const { profileName } = useSnapshot(AccountController.state);
26
+ const { networkImages } = useSnapshot(AssetController.state);
26
27
  const { activeNetwork, networks, activeAddress, accountType } = useSnapshot(
27
28
  ConnectionsController.state
28
29
  );
29
30
  const address = CoreHelperUtil.getPlainAddress(activeAddress);
30
- const networkImage = AssetUtil.getNetworkImage(activeNetwork?.id);
31
+ const networkImage = activeNetwork ? networkImages[activeNetwork.id] : undefined;
31
32
  const { padding } = useCustomDimensions();
32
33
  const canCopy = OptionsController.isClipboardAvailable();
33
34
  const isSmartAccount = accountType === 'smartAccount';
@@ -41,7 +42,7 @@ export function WalletReceiveView() {
41
42
  const imagesArray = approvedNetworks
42
43
  .filter(network => network?.id)
43
44
  .slice(0, 5)
44
- .map(network => AssetUtil.getNetworkImage(network?.id))
45
+ .map(network => AssetController.state.networkImages[network.id])
45
46
  .filter(Boolean) as string[];
46
47
 
47
48
  const label = UiUtil.getTruncateString({
@@ -1,4 +1,4 @@
1
- import { AssetUtil } from '@reown/appkit-core-react-native';
1
+ import { AssetController } from '@reown/appkit-core-react-native';
2
2
  import type { AppKitNetwork } from '@reown/appkit-common-react-native';
3
3
  import {
4
4
  BorderRadius,
@@ -10,6 +10,7 @@ import {
10
10
  useTheme
11
11
  } from '@reown/appkit-ui-react-native';
12
12
  import { StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
13
+ import { useSnapshot } from 'valtio';
13
14
 
14
15
  export interface PreviewSendDetailsProps {
15
16
  address?: string;
@@ -23,10 +24,10 @@ export function PreviewSendDetails({
23
24
  address,
24
25
  name,
25
26
  activeNetwork,
26
- networkFee,
27
27
  style
28
28
  }: PreviewSendDetailsProps) {
29
29
  const Theme = useTheme();
30
+ const { networkImages } = useSnapshot(AssetController.state);
30
31
 
31
32
  const formattedName = UiUtil.getTruncateString({
32
33
  string: name ?? '',
@@ -42,7 +43,7 @@ export function PreviewSendDetails({
42
43
  truncate: 'middle'
43
44
  });
44
45
 
45
- const networkImage = AssetUtil.getNetworkImage(activeNetwork?.id);
46
+ const networkImage = activeNetwork ? networkImages[activeNetwork.id] : undefined;
46
47
 
47
48
  return (
48
49
  <FlexView
@@ -52,14 +53,6 @@ export function PreviewSendDetails({
52
53
  <Text variant="small-400" color="fg-200" style={styles.title}>
53
54
  Details
54
55
  </Text>
55
- <FlexView style={[styles.item, { backgroundColor: Theme['gray-glass-002'] }]}>
56
- <Text variant="small-400" color="fg-150">
57
- Network cost
58
- </Text>
59
- <Text variant="small-400" color="fg-100">
60
- ${UiUtil.formatNumberToLocalString(networkFee, 2)}
61
- </Text>
62
- </FlexView>
63
56
  <FlexView style={[styles.item, { backgroundColor: Theme['gray-glass-002'] }]}>
64
57
  <Text variant="small-400" color="fg-150">
65
58
  {formattedName || 'Address'}
@@ -15,14 +15,8 @@ import { PreviewSendDetails } from './components/preview-send-details';
15
15
  export function WalletSendPreviewView() {
16
16
  const { padding } = useCustomDimensions();
17
17
  const { activeNetwork } = useSnapshot(ConnectionsController.state);
18
- const {
19
- token,
20
- receiverAddress,
21
- receiverProfileName,
22
- receiverProfileImageUrl,
23
- gasPriceInUSD,
24
- loading
25
- } = useSnapshot(SendController.state);
18
+ const { token, receiverAddress, receiverProfileName, receiverProfileImageUrl, loading } =
19
+ useSnapshot(SendController.state);
26
20
 
27
21
  const getSendValue = () => {
28
22
  if (SendController.state.token?.price && SendController.state.sendTokenAmount) {
@@ -109,7 +103,6 @@ export function WalletSendPreviewView() {
109
103
  </FlexView>
110
104
  <PreviewSendDetails
111
105
  style={styles.details}
112
- networkFee={gasPriceInUSD}
113
106
  address={receiverAddress}
114
107
  name={receiverProfileName}
115
108
  activeNetwork={activeNetwork}
@@ -3,7 +3,7 @@ import { useSnapshot } from 'valtio';
3
3
  import { ScrollView } from 'react-native';
4
4
  import { FlexView, InputText, ListToken, Text } from '@reown/appkit-ui-react-native';
5
5
  import {
6
- AssetUtil,
6
+ AssetController,
7
7
  ConnectionsController,
8
8
  RouterController,
9
9
  SendController
@@ -17,8 +17,8 @@ import styles from './styles';
17
17
  export function WalletSendSelectTokenView() {
18
18
  const { padding } = useCustomDimensions();
19
19
  const { activeNetwork, balances } = useSnapshot(ConnectionsController.state);
20
- const { token } = useSnapshot(SendController.state);
21
- const networkImage = AssetUtil.getNetworkImage(activeNetwork?.id);
20
+ const { networkImages } = useSnapshot(AssetController.state);
21
+ const networkImage = activeNetwork ? networkImages[activeNetwork.id] : undefined;
22
22
  const [tokenSearch, setTokenSearch] = useState<string>('');
23
23
  const [filteredTokens, setFilteredTokens] = useState(balances ?? []);
24
24
 
@@ -65,7 +65,6 @@ export function WalletSendSelectTokenView() {
65
65
  amount={_token.quantity?.numeric || '0'}
66
66
  currency={_token.symbol}
67
67
  onPress={() => onTokenPress(_token)}
68
- disabled={_token.address === token?.address}
69
68
  />
70
69
  ))
71
70
  ) : (
@@ -1,12 +1,11 @@
1
- import { useCallback, useEffect } from 'react';
1
+ import { useEffect, useState } from 'react';
2
2
  import { Platform, ScrollView } from 'react-native';
3
3
  import { useSnapshot } from 'valtio';
4
4
  import {
5
5
  ConnectionsController,
6
6
  CoreHelperUtil,
7
7
  RouterController,
8
- SendController,
9
- SwapController
8
+ SendController
10
9
  } from '@reown/appkit-core-react-native';
11
10
  import { Button, FlexView, IconBox, Spacing } from '@reown/appkit-ui-react-native';
12
11
  import { SendInputToken } from '../../partials/w3m-send-input-token';
@@ -18,24 +17,16 @@ import styles from './styles';
18
17
  export function WalletSendView() {
19
18
  const { padding } = useCustomDimensions();
20
19
  const { keyboardShown, keyboardHeight } = useKeyboard();
21
- const { token, sendTokenAmount, receiverAddress, receiverProfileName, loading, gasPrice } =
22
- useSnapshot(SendController.state);
23
- const { balances } = useSnapshot(ConnectionsController.state);
20
+ const [isBalanceLoading, setBalanceLoading] = useState(false);
21
+ const { token, sendTokenAmount, receiverAddress, receiverProfileName, loading } = useSnapshot(
22
+ SendController.state
23
+ );
24
24
 
25
25
  const paddingBottom = Platform.select({
26
26
  android: keyboardShown ? keyboardHeight + Spacing['2xl'] : Spacing['2xl'],
27
27
  default: Spacing['2xl']
28
28
  });
29
29
 
30
- const fetchNetworkPrice = useCallback(async () => {
31
- await SwapController.getNetworkTokenPrice();
32
- const gas = await SwapController.getInitialGasPrice();
33
- if (gas?.gasPrice && gas?.gasPriceInUSD) {
34
- SendController.setGasPrice(gas.gasPrice);
35
- SendController.setGasPriceInUsd(gas.gasPriceInUSD);
36
- }
37
- }, []);
38
-
39
30
  const onSendPress = () => {
40
31
  RouterController.push('WalletSendPreview');
41
32
  };
@@ -66,7 +57,10 @@ export function WalletSendView() {
66
57
 
67
58
  if (
68
59
  SendController.state.receiverAddress &&
69
- !CoreHelperUtil.isAddress(SendController.state.receiverAddress)
60
+ !CoreHelperUtil.isAddress(
61
+ SendController.state.receiverAddress,
62
+ ConnectionsController.state.activeNamespace
63
+ )
70
64
  ) {
71
65
  return 'Invalid address';
72
66
  }
@@ -79,11 +73,14 @@ export function WalletSendView() {
79
73
  };
80
74
 
81
75
  useEffect(() => {
82
- if (!token) {
83
- SendController.setToken(balances?.[0]);
76
+ async function fetchBalance() {
77
+ setBalanceLoading(true);
78
+ await ConnectionsController.fetchBalance();
79
+ setBalanceLoading(false);
84
80
  }
85
- fetchNetworkPrice();
86
- }, [token, balances, fetchNetworkPrice]);
81
+
82
+ fetchBalance();
83
+ }, []);
87
84
 
88
85
  const actionText = getActionText();
89
86
 
@@ -97,9 +94,9 @@ export function WalletSendView() {
97
94
  <SendInputToken
98
95
  token={token}
99
96
  sendTokenAmount={sendTokenAmount}
100
- gasPrice={Number(gasPrice)}
101
97
  style={styles.tokenInput}
102
98
  onTokenPress={() => RouterController.push('WalletSendSelectToken')}
99
+ loading={isBalanceLoading}
103
100
  />
104
101
  <FlexView alignItems="center" justifyContent="center" style={styles.addressContainer}>
105
102
  <SendInputAddress value={receiverProfileName || receiverAddress} />
@@ -119,7 +116,7 @@ export function WalletSendView() {
119
116
  style={styles.sendButton}
120
117
  onPress={onSendPress}
121
118
  disabled={!actionText.includes('Preview send')}
122
- loading={loading}
119
+ loading={loading || isBalanceLoading}
123
120
  >
124
121
  {actionText}
125
122
  </Button>