Skip to content

Commit 5f55e8e

Browse files
chore: use transportType to detect link mode requests
1 parent bc3346d commit 5f55e8e

File tree

11 files changed

+23
-28
lines changed

11 files changed

+23
-28
lines changed

wallets/rn_cli_wallet/src/components/Modal.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@ import SessionSendTransactionModal from '@/modals/SessionSendTransactionModal';
1010
import SessionSignTypedDataModal from '@/modals/SessionSignTypedDataModal';
1111
import {LoadingModal} from '@/modals/LoadingModal';
1212
import SessionAuthenticateModal from '@/modals/SessionAuthenticateModal';
13-
import SettingsStore from '@/store/SettingsStore';
1413

1514
export default function Modal() {
1615
const {open, view} = useSnapshot(ModalStore.state);
1716
// handle the modal being closed by click outside
1817
const onClose = useCallback(() => {
1918
if (open) {
2019
ModalStore.close();
21-
SettingsStore.setCurrentRequestLinkMode(false);
2220
}
2321
}, [open]);
2422

wallets/rn_cli_wallet/src/modals/RequestModal.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface RequestModalProps {
1616
approveLoader?: boolean;
1717
rejectLoader?: boolean;
1818
intention?: string;
19+
isLinkMode?: boolean;
1920
}
2021

2122
export function RequestModal({
@@ -26,19 +27,18 @@ export function RequestModal({
2627
approveLoader,
2728
rejectLoader,
2829
intention,
30+
isLinkMode,
2931
}: RequestModalProps) {
3032
const Theme = useTheme();
31-
const {currentRequestVerifyContext, isCurrentRequestLinkMode} = useSnapshot(
32-
SettingsStore.state,
33-
);
33+
const {currentRequestVerifyContext} = useSnapshot(SettingsStore.state);
3434

3535
return (
3636
<View style={[styles.container, {backgroundColor: Theme['bg-125']}]}>
3737
<ModalHeader
3838
metadata={metadata}
3939
intention={intention}
4040
verifyContext={currentRequestVerifyContext}
41-
isLinkMode={isCurrentRequestLinkMode}
41+
isLinkMode={isLinkMode}
4242
/>
4343
{children}
4444
<ModalFooter

wallets/rn_cli_wallet/src/modals/SessionAuthenticateModal.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ export default function SessionAuthenticateModal() {
2626
const authRequest =
2727
data?.authRequest as SignClientTypes.EventArguments['session_authenticate'];
2828

29+
const isLinkMode = authRequest?.params?.transportType === 'link-mode';
30+
2931
const {account} = useSnapshot(SettingsStore.state);
3032
const [messages, setMessages] = useState<
3133
{authPayload: any; message: string; id: number; iss: string}[]
@@ -83,7 +85,7 @@ export default function SessionAuthenticateModal() {
8385

8486
handleRedirect({
8587
peerRedirect: authRequest.params.requester?.metadata?.redirect,
86-
isLinkMode: SettingsStore.state.isCurrentRequestLinkMode,
88+
isLinkMode: isLinkMode,
8789
});
8890
} catch (e) {
8991
console.log((e as Error).message, 'error');
@@ -92,7 +94,7 @@ export default function SessionAuthenticateModal() {
9294
}
9395
setIsLoadingApprove(false);
9496
ModalStore.close();
95-
}, [address, messages, authRequest]);
97+
}, [address, messages, authRequest, isLinkMode]);
9698

9799
// Handle reject action
98100
const onReject = useCallback(async () => {
@@ -147,6 +149,7 @@ export default function SessionAuthenticateModal() {
147149
metadata={authRequest.params.requester.metadata}
148150
onApprove={onApprove}
149151
onReject={onReject}
152+
isLinkMode={isLinkMode}
150153
approveLoader={isLoadingApprove}
151154
rejectLoader={isLoadingReject}>
152155
<View style={[styles.divider, {backgroundColor: Theme['bg-300']}]} />

wallets/rn_cli_wallet/src/modals/SessionProposalModal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export default function SessionProposalModal() {
8484

8585
handleRedirect({
8686
peerRedirect: session.peer.metadata.redirect,
87+
isLinkMode: session.transportType === 'link-mode',
8788
});
8889
} catch (e) {
8990
console.log((e as Error).message, 'error');

wallets/rn_cli_wallet/src/modals/SessionSendTransactionModal.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import ModalStore from '@/store/ModalStore';
1515
import {RequestModal} from '@/modals/RequestModal';
1616
import {Chains} from '@/components/Modal/Chains';
1717
import {PresetsUtil} from '@/utils/PresetsUtil';
18-
import SettingsStore from '@/store/SettingsStore';
1918

2019
export default function SessionSendTransactionModal() {
2120
const {data} = useSnapshot(ModalStore.state);
@@ -33,6 +32,7 @@ export default function SessionSendTransactionModal() {
3332
const request = params?.request;
3433
const transaction = request?.params[0];
3534
const method = requestEvent?.params?.request?.method!;
35+
const isLinkMode = session?.transportType === 'link-mode';
3636

3737
const peerMetadata = session?.peer?.metadata as SignClientTypes.Metadata;
3838

@@ -48,7 +48,7 @@ export default function SessionSendTransactionModal() {
4848
});
4949
handleRedirect({
5050
peerRedirect: peerMetadata?.redirect,
51-
isLinkMode: SettingsStore.state.isCurrentRequestLinkMode,
51+
isLinkMode: isLinkMode,
5252
});
5353
} catch (e) {
5454
console.log((e as Error).message, 'error');
@@ -57,7 +57,7 @@ export default function SessionSendTransactionModal() {
5757
setIsLoadingApprove(false);
5858
ModalStore.close();
5959
}
60-
}, [requestEvent, peerMetadata, topic]);
60+
}, [requestEvent, peerMetadata, topic, isLinkMode]);
6161

6262
// Handle reject action
6363
const onReject = useCallback(async () => {
@@ -84,6 +84,7 @@ export default function SessionSendTransactionModal() {
8484
metadata={peerMetadata}
8585
onApprove={onApprove}
8686
onReject={onReject}
87+
isLinkMode={isLinkMode}
8788
approveLoader={isLoadingApprove}
8889
rejectLoader={isLoadingReject}>
8990
<View style={styles.container}>

wallets/rn_cli_wallet/src/modals/SessionSignModal.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ import ModalStore from '@/store/ModalStore';
1616
import {RequestModal} from './RequestModal';
1717
import {Chains} from '@/components/Modal/Chains';
1818
import {PresetsUtil} from '@/utils/PresetsUtil';
19-
import SettingsStore from '@/store/SettingsStore';
2019

2120
export default function SessionSignModal() {
2221
// Get request and wallet data from store
2322
const {data} = useSnapshot(ModalStore.state);
2423
const requestEvent = data?.requestEvent;
2524
const session = data?.requestSession;
25+
const isLinkMode = session?.transportType === 'link-mode';
2626

2727
const [isLoadingApprove, setIsLoadingApprove] = useState(false);
2828
const [isLoadingReject, setIsLoadingReject] = useState(false);
@@ -49,7 +49,7 @@ export default function SessionSignModal() {
4949

5050
handleRedirect({
5151
peerRedirect: peerMetadata?.redirect,
52-
isLinkMode: SettingsStore.state.isCurrentRequestLinkMode,
52+
isLinkMode: isLinkMode,
5353
});
5454
} catch (e) {
5555
console.log((e as Error).message, 'error');
@@ -58,7 +58,7 @@ export default function SessionSignModal() {
5858
setIsLoadingApprove(false);
5959
ModalStore.close();
6060
}
61-
}, [requestEvent, peerMetadata, topic]);
61+
}, [requestEvent, peerMetadata, topic, isLinkMode]);
6262

6363
// Handle reject action
6464
const onReject = useCallback(async () => {
@@ -93,6 +93,7 @@ export default function SessionSignModal() {
9393
metadata={peerMetadata}
9494
onApprove={onApprove}
9595
onReject={onReject}
96+
isLinkMode={isLinkMode}
9697
approveLoader={isLoadingApprove}
9798
rejectLoader={isLoadingReject}>
9899
<View style={styles.container}>

wallets/rn_cli_wallet/src/modals/SessionSignTypedDataModal.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ import ModalStore from '@/store/ModalStore';
1616
import {RequestModal} from './RequestModal';
1717
import {Chains} from '@/components/Modal/Chains';
1818
import {PresetsUtil} from '@/utils/PresetsUtil';
19-
import SettingsStore from '@/store/SettingsStore';
2019

2120
export default function SessionSignTypedDataModal() {
2221
// Get request and wallet data from store
2322
const {data} = useSnapshot(ModalStore.state);
2423
const requestEvent = data?.requestEvent;
2524
const session = data?.requestSession;
25+
const isLinkMode = session?.transportType === 'link-mode';
2626
const [isLoadingApprove, setIsLoadingApprove] = useState(false);
2727
const [isLoadingReject, setIsLoadingReject] = useState(false);
2828

@@ -48,7 +48,7 @@ export default function SessionSignTypedDataModal() {
4848
});
4949
handleRedirect({
5050
peerRedirect: peerMetadata?.redirect,
51-
isLinkMode: SettingsStore.state.isCurrentRequestLinkMode,
51+
isLinkMode: isLinkMode,
5252
});
5353
} catch (e) {
5454
console.log((e as Error).message, 'error');
@@ -57,7 +57,7 @@ export default function SessionSignTypedDataModal() {
5757
setIsLoadingApprove(false);
5858
ModalStore.close();
5959
}
60-
}, [requestEvent, peerMetadata, topic]);
60+
}, [requestEvent, peerMetadata, topic, isLinkMode]);
6161

6262
// Handle reject action
6363
const onReject = useCallback(async () => {
@@ -89,6 +89,7 @@ export default function SessionSignTypedDataModal() {
8989
metadata={peerMetadata}
9090
onApprove={onApprove}
9191
onReject={onReject}
92+
isLinkMode={isLinkMode}
9293
approveLoader={isLoadingApprove}
9394
rejectLoader={isLoadingReject}>
9495
<View style={styles.container}>

wallets/rn_cli_wallet/src/screens/App.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ const App = () => {
7474
const deeplinkHandler = useCallback(
7575
({url}: {url: string}) => {
7676
const isLinkMode = url.includes('wc_ev');
77-
SettingsStore.setCurrentRequestLinkMode(isLinkMode);
7877

7978
if (isLinkMode) {
8079
console.log('Link mode request received');

wallets/rn_cli_wallet/src/screens/Connections/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ export default function Connections({route}: Props) {
3434

3535
try {
3636
setCopyDialogVisible(false);
37-
SettingsStore.setCurrentRequestLinkMode(false);
3837
await web3wallet.pair({uri});
3938
} catch (error: any) {
4039
ModalStore.open('LoadingModal', {

wallets/rn_cli_wallet/src/screens/SessionDetail/index.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ export default function SessionDetail({route}: Props) {
3131
[topic],
3232
);
3333
const namespaces = useMemo(() => session?.namespaces, [session]);
34-
const isLinkMode =
35-
session?.peer.metadata.redirect?.linkMode &&
36-
session.self.metadata.redirect?.linkMode;
34+
const isLinkMode = session?.transportType === 'link-mode';
3735

3836
// Get necessary data from session
3937
const expiryDate = useMemo(

0 commit comments

Comments
 (0)