Skip to content

Commit a2a8e6b

Browse files
chore: added swap to eoa account view
1 parent 26a6d24 commit a2a8e6b

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

packages/core/src/controllers/SwapController.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -777,12 +777,17 @@ export const SwapController = {
777777
}
778778
});
779779
SwapController.resetState();
780+
780781
if (!isAuthConnector) {
781-
RouterController.replace('Account');
782+
RouterController.replace('AccountDefault');
782783
}
784+
783785
SwapController.getMyTokensWithBalance(forceUpdateAddresses);
784786
AccountController.fetchTokenBalance();
785-
TransactionsController.fetchTransactions(AccountController.state.address, true);
787+
788+
setTimeout(() => {
789+
TransactionsController.fetchTransactions(AccountController.state.address, true);
790+
}, 3000);
786791

787792
return transactionHash;
788793
} catch (err) {

packages/scaffold/src/views/w3m-account-default-view/index.tsx

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import {
1515
OptionsController,
1616
RouterController,
1717
SnackController,
18-
type AppKitFrameProvider
18+
type AppKitFrameProvider,
19+
ConstantsUtil,
20+
SwapController
1921
} from '@reown/appkit-core-react-native';
2022
import {
2123
Avatar,
@@ -47,6 +49,7 @@ export function AccountDefaultView() {
4749
const { caipNetwork } = useSnapshot(NetworkController.state);
4850
const { connectedConnector } = useSnapshot(ConnectorController.state);
4951
const { connectedSocialProvider } = useSnapshot(ConnectionController.state);
52+
const { features } = useSnapshot(OptionsController.state);
5053
const { history } = useSnapshot(RouterController.state);
5154
const networkImage = AssetUtil.getNetworkImage(caipNetwork);
5255
const showCopy = OptionsController.isClipboardAvailable();
@@ -118,6 +121,26 @@ export function AccountDefaultView() {
118121
}
119122
};
120123

124+
const onSwapPress = () => {
125+
if (
126+
NetworkController.state.caipNetwork?.id &&
127+
!ConstantsUtil.SWAP_SUPPORTED_NETWORKS.includes(`${NetworkController.state.caipNetwork.id}`)
128+
) {
129+
RouterController.push('UnsupportedChain');
130+
} else {
131+
SwapController.resetState();
132+
EventsController.sendEvent({
133+
type: 'track',
134+
event: 'OPEN_SWAP',
135+
properties: {
136+
network: NetworkController.state.caipNetwork?.id || '',
137+
isSmartAccount: false
138+
}
139+
});
140+
RouterController.push('Swap');
141+
}
142+
};
143+
121144
const onActivityPress = () => {
122145
RouterController.push('Transactions');
123146
};
@@ -227,10 +250,24 @@ export function AccountDefaultView() {
227250
{caipNetwork?.name}
228251
</Text>
229252
</ListItem>
253+
254+
{!isAuth && features?.swaps && (
255+
<ListItem
256+
chevron
257+
icon="recycleHorizontal"
258+
iconColor="accent-100"
259+
iconBackgroundColor="accent-glass-015"
260+
onPress={onSwapPress}
261+
testID="button-activity"
262+
style={styles.actionButton}
263+
>
264+
<Text color="fg-100">Swap</Text>
265+
</ListItem>
266+
)}
230267
{!isAuth && (
231268
<ListItem
232269
chevron
233-
icon="swapHorizontal"
270+
icon="clock"
234271
iconColor="accent-100"
235272
iconBackgroundColor="accent-glass-015"
236273
onPress={onActivityPress}

0 commit comments

Comments
 (0)