@reown/appkit-react-native 0.0.0-develop-20251008155354 → 0.0.0-develop-20251114152149
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.
- package/lib/commonjs/AppKit.js +20 -6
- package/lib/commonjs/AppKit.js.map +1 -1
- package/lib/commonjs/hooks/useAccount.js +68 -5
- package/lib/commonjs/hooks/useAccount.js.map +1 -1
- package/lib/commonjs/hooks/useAppKit.js +41 -9
- package/lib/commonjs/hooks/useAppKit.js.map +1 -1
- package/lib/commonjs/hooks/useAppKitContext.js +46 -0
- package/lib/commonjs/hooks/useAppKitContext.js.map +1 -0
- package/lib/commonjs/hooks/useAppKitEvents.js +64 -4
- package/lib/commonjs/hooks/useAppKitEvents.js.map +1 -1
- package/lib/commonjs/hooks/useAppKitLogs.js +2 -8
- package/lib/commonjs/hooks/useAppKitLogs.js.map +1 -1
- package/lib/commonjs/hooks/useAppKitState.js +35 -2
- package/lib/commonjs/hooks/useAppKitState.js.map +1 -1
- package/lib/commonjs/hooks/useAppKitTheme.js +74 -0
- package/lib/commonjs/hooks/useAppKitTheme.js.map +1 -0
- package/lib/commonjs/hooks/useProvider.js +3 -4
- package/lib/commonjs/hooks/useProvider.js.map +1 -1
- package/lib/commonjs/hooks/useWalletInfo.js +33 -2
- package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modal/w3m-modal/styles.js +2 -1
- package/lib/commonjs/modal/w3m-modal/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-body/index.js +2 -0
- package/lib/commonjs/partials/w3m-connecting-body/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-mobile/components/StoreLink.js +4 -0
- package/lib/commonjs/partials/w3m-connecting-mobile/components/StoreLink.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +5 -1
- package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-header/index.js +1 -0
- package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-header/styles.js +3 -0
- package/lib/commonjs/partials/w3m-header/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-send-input-token/index.js +6 -3
- package/lib/commonjs/partials/w3m-send-input-token/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-swap-input/index.js +6 -3
- package/lib/commonjs/partials/w3m-swap-input/index.js.map +1 -1
- package/lib/commonjs/views/w3m-account-default-view/index.js +2 -1
- package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -8
- package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-view/index.js +17 -7
- package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/index.js +2 -0
- package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-view/index.js +3 -2
- package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +2 -1
- package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
- package/lib/commonjs/views/w3m-swap-view/index.js +4 -2
- package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-wallet-send-view/index.js +2 -1
- package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
- package/lib/module/AppKit.js +20 -6
- package/lib/module/AppKit.js.map +1 -1
- package/lib/module/hooks/useAccount.js +69 -5
- package/lib/module/hooks/useAccount.js.map +1 -1
- package/lib/module/hooks/useAppKit.js +43 -10
- package/lib/module/hooks/useAppKit.js.map +1 -1
- package/lib/module/hooks/useAppKitContext.js +42 -0
- package/lib/module/hooks/useAppKitContext.js.map +1 -0
- package/lib/module/hooks/useAppKitEvents.js +65 -4
- package/lib/module/hooks/useAppKitEvents.js.map +1 -1
- package/lib/module/hooks/useAppKitLogs.js +3 -9
- package/lib/module/hooks/useAppKitLogs.js.map +1 -1
- package/lib/module/hooks/useAppKitState.js +36 -2
- package/lib/module/hooks/useAppKitState.js.map +1 -1
- package/lib/module/hooks/useAppKitTheme.js +71 -0
- package/lib/module/hooks/useAppKitTheme.js.map +1 -0
- package/lib/module/hooks/useProvider.js +3 -4
- package/lib/module/hooks/useProvider.js.map +1 -1
- package/lib/module/hooks/useWalletInfo.js +34 -2
- package/lib/module/hooks/useWalletInfo.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modal/w3m-modal/styles.js +2 -1
- package/lib/module/modal/w3m-modal/styles.js.map +1 -1
- package/lib/module/partials/w3m-connecting-body/index.js +2 -0
- package/lib/module/partials/w3m-connecting-body/index.js.map +1 -1
- package/lib/module/partials/w3m-connecting-mobile/components/StoreLink.js +4 -0
- package/lib/module/partials/w3m-connecting-mobile/components/StoreLink.js.map +1 -1
- package/lib/module/partials/w3m-connecting-qrcode/index.js +5 -1
- package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
- package/lib/module/partials/w3m-header/index.js +1 -0
- package/lib/module/partials/w3m-header/index.js.map +1 -1
- package/lib/module/partials/w3m-header/styles.js +3 -0
- package/lib/module/partials/w3m-header/styles.js.map +1 -1
- package/lib/module/partials/w3m-send-input-token/index.js +6 -3
- package/lib/module/partials/w3m-send-input-token/index.js.map +1 -1
- package/lib/module/partials/w3m-swap-input/index.js +6 -3
- package/lib/module/partials/w3m-swap-input/index.js.map +1 -1
- package/lib/module/views/w3m-account-default-view/index.js +2 -1
- package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
- package/lib/module/views/w3m-connecting-external-view/index.js +4 -8
- package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
- package/lib/module/views/w3m-connecting-view/index.js +17 -7
- package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-settings-view/index.js +2 -0
- package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-view/index.js +3 -2
- package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
- package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +2 -1
- package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
- package/lib/module/views/w3m-swap-view/index.js +4 -2
- package/lib/module/views/w3m-swap-view/index.js.map +1 -1
- package/lib/module/views/w3m-wallet-send-view/index.js +2 -1
- package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
- package/lib/typescript/AppKit.d.ts +9 -2
- package/lib/typescript/AppKit.d.ts.map +1 -1
- package/lib/typescript/AppKitContext.d.ts +2 -2
- package/lib/typescript/AppKitContext.d.ts.map +1 -1
- package/lib/typescript/hooks/useAccount.d.ts +57 -33
- package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKit.d.ts +42 -0
- package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitContext.d.ts +27 -0
- package/lib/typescript/hooks/useAppKitContext.d.ts.map +1 -0
- package/lib/typescript/hooks/useAppKitEvents.d.ts +66 -0
- package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitLogs.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitState.d.ts +32 -0
- package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitTheme.d.ts +59 -0
- package/lib/typescript/hooks/useAppKitTheme.d.ts.map +1 -0
- package/lib/typescript/hooks/useProvider.d.ts +1 -4
- package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
- package/lib/typescript/hooks/useWalletInfo.d.ts +31 -0
- package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/modal/w3m-modal/styles.d.ts +1 -0
- package/lib/typescript/modal/w3m-modal/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-body/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-header/styles.d.ts +3 -0
- package/lib/typescript/partials/w3m-header/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-send-input-token/index.d.ts +2 -1
- package/lib/typescript/partials/w3m-send-input-token/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-swap-input/index.d.ts +2 -1
- package/lib/typescript/partials/w3m-swap-input/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/AppKit.ts +27 -7
- package/src/AppKitContext.tsx +1 -1
- package/src/hooks/useAccount.ts +93 -5
- package/src/hooks/useAppKit.ts +45 -12
- package/src/hooks/useAppKitContext.ts +43 -0
- package/src/hooks/useAppKitEvents.ts +63 -3
- package/src/hooks/useAppKitLogs.ts +3 -11
- package/src/hooks/useAppKitState.ts +35 -2
- package/src/hooks/useAppKitTheme.ts +81 -0
- package/src/hooks/useProvider.ts +3 -4
- package/src/hooks/useWalletInfo.ts +33 -2
- package/src/index.ts +2 -1
- package/src/modal/w3m-modal/styles.ts +2 -1
- package/src/partials/w3m-connecting-body/index.tsx +3 -1
- package/src/partials/w3m-connecting-mobile/components/StoreLink.tsx +4 -1
- package/src/partials/w3m-connecting-qrcode/index.tsx +10 -1
- package/src/partials/w3m-header/index.tsx +6 -1
- package/src/partials/w3m-header/styles.ts +3 -0
- package/src/partials/w3m-send-input-token/index.tsx +5 -1
- package/src/partials/w3m-swap-input/index.tsx +5 -1
- package/src/views/w3m-account-default-view/index.tsx +6 -1
- package/src/views/w3m-connecting-external-view/index.tsx +4 -8
- package/src/views/w3m-connecting-view/index.tsx +24 -8
- package/src/views/w3m-onramp-settings-view/index.tsx +7 -1
- package/src/views/w3m-onramp-view/index.tsx +3 -2
- package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +1 -1
- package/src/views/w3m-swap-view/index.tsx +2 -0
- package/src/views/w3m-wallet-send-view/index.tsx +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useSnapshot } from 'valtio';
|
|
2
2
|
import { useEffect, useLayoutEffect, useState } from 'react';
|
|
3
|
-
import { type Platform } from '@reown/appkit-common-react-native';
|
|
3
|
+
import { ErrorUtil, type Platform } from '@reown/appkit-common-react-native';
|
|
4
4
|
import {
|
|
5
5
|
WcController,
|
|
6
6
|
ConstantsUtil,
|
|
@@ -39,30 +39,46 @@ export function ConnectingView() {
|
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
const initializeConnection = async (retry = false) => {
|
|
42
|
+
const initializeConnection = async (retry = false, retryTimestamp?: number) => {
|
|
43
43
|
try {
|
|
44
44
|
const { wcPairingExpiry } = WcController.state;
|
|
45
45
|
const { data: routeData } = RouterController.state;
|
|
46
|
-
|
|
46
|
+
const isPairingExpired = CoreHelperUtil.isPairingExpired(wcPairingExpiry);
|
|
47
|
+
if (retry || isPairingExpired) {
|
|
47
48
|
WcController.setWcError(false);
|
|
48
49
|
|
|
49
50
|
const connectPromise = connect({
|
|
50
51
|
wallet: routeData?.wallet
|
|
51
52
|
});
|
|
52
53
|
WcController.setWcPromise(connectPromise);
|
|
54
|
+
await connectPromise;
|
|
53
55
|
}
|
|
54
56
|
} catch (error) {
|
|
55
57
|
LogController.sendError(error, 'ConnectingView.tsx', 'initializeConnection');
|
|
56
58
|
WcController.setWcError(true);
|
|
57
59
|
WcController.clearUri();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
|
|
61
|
+
const currentRetryTime = retryTimestamp ?? lastRetry;
|
|
62
|
+
|
|
63
|
+
if (isQr && CoreHelperUtil.isAllowedRetry(currentRetryTime)) {
|
|
64
|
+
const newRetryTime = Date.now();
|
|
65
|
+
setLastRetry(newRetryTime);
|
|
66
|
+
initializeConnection(true, newRetryTime);
|
|
67
|
+
|
|
68
|
+
return;
|
|
62
69
|
}
|
|
70
|
+
|
|
71
|
+
const isUserRejected = ErrorUtil.isUserRejectedRequestError(error);
|
|
72
|
+
const isProposalExpired = ErrorUtil.isProposalExpiredError(error);
|
|
73
|
+
if (!isProposalExpired) {
|
|
74
|
+
SnackController.showError(
|
|
75
|
+
isUserRejected ? 'User rejected the request' : 'Something went wrong'
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
EventsController.sendEvent({
|
|
64
80
|
type: 'track',
|
|
65
|
-
event: 'CONNECT_ERROR',
|
|
81
|
+
event: isUserRejected ? 'USER_REJECTED' : 'CONNECT_ERROR',
|
|
66
82
|
properties: {
|
|
67
83
|
message: (error as Error)?.message ?? 'Unknown'
|
|
68
84
|
}
|
|
@@ -90,6 +90,7 @@ export function OnRampSettingsView() {
|
|
|
90
90
|
chevron
|
|
91
91
|
style={styles.firstItem}
|
|
92
92
|
contentStyle={styles.listItem}
|
|
93
|
+
testID="button-select-country"
|
|
93
94
|
>
|
|
94
95
|
<FlexView
|
|
95
96
|
alignItems="center"
|
|
@@ -111,7 +112,12 @@ export function OnRampSettingsView() {
|
|
|
111
112
|
) : null}
|
|
112
113
|
</FlexView>
|
|
113
114
|
</ListItem>
|
|
114
|
-
<ListItem
|
|
115
|
+
<ListItem
|
|
116
|
+
onPress={onPaymentCurrencyPress}
|
|
117
|
+
chevron
|
|
118
|
+
contentStyle={styles.listItem}
|
|
119
|
+
testID="button-select-currency"
|
|
120
|
+
>
|
|
115
121
|
<FlexView
|
|
116
122
|
alignItems="center"
|
|
117
123
|
justifyContent="center"
|
|
@@ -61,6 +61,7 @@ export function OnRampView() {
|
|
|
61
61
|
const purchaseCurrencyCode =
|
|
62
62
|
purchaseCurrency?.currencyCode?.split('_')[0] ?? purchaseCurrency?.currencyCode;
|
|
63
63
|
const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages);
|
|
64
|
+
const isContinueDisabled = quotesLoading || loading || !selectedQuote;
|
|
64
65
|
|
|
65
66
|
const getQuotes = useCallback(() => {
|
|
66
67
|
if (OnRampController.canGenerateQuote()) {
|
|
@@ -240,8 +241,8 @@ export function OnRampView() {
|
|
|
240
241
|
<Button
|
|
241
242
|
style={styles.continueButton}
|
|
242
243
|
onPress={handleContinue}
|
|
243
|
-
disabled={
|
|
244
|
-
testID=
|
|
244
|
+
disabled={isContinueDisabled}
|
|
245
|
+
testID={`button-continue${isContinueDisabled ? '-disabled' : '-enabled'}`}
|
|
245
246
|
>
|
|
246
247
|
Continue
|
|
247
248
|
</Button>
|
|
@@ -98,7 +98,7 @@ export function SwapSelectTokenModal({ onClose, type, style, visible }: Props) {
|
|
|
98
98
|
alignItems="center"
|
|
99
99
|
padding={['0', 'm', 'm', 'm']}
|
|
100
100
|
>
|
|
101
|
-
<IconLink icon="chevronLeft" size="md" onPress={onClose} />
|
|
101
|
+
<IconLink icon="chevronLeft" size="md" onPress={onClose} testID="button-back" />
|
|
102
102
|
<Text variant="paragraph-600">Select token</Text>
|
|
103
103
|
<View style={styles.iconPlaceholder} />
|
|
104
104
|
</FlexView>
|
|
@@ -174,6 +174,7 @@ export function SwapView() {
|
|
|
174
174
|
onChange={onSourceTokenChange}
|
|
175
175
|
onTokenPress={() => setShowModal('sourceToken')}
|
|
176
176
|
onMaxPress={onSourceMaxPress}
|
|
177
|
+
testID="swap-input-source"
|
|
177
178
|
/>
|
|
178
179
|
<FlexView alignItems="center" justifyContent="center" style={styles.bottomInputContainer}>
|
|
179
180
|
<SwapInput
|
|
@@ -186,6 +187,7 @@ export function SwapView() {
|
|
|
186
187
|
onChange={onToTokenChange}
|
|
187
188
|
onTokenPress={() => setShowModal('toToken')}
|
|
188
189
|
editable={false}
|
|
190
|
+
testID="swap-input-to"
|
|
189
191
|
/>
|
|
190
192
|
{showSwitch ? (
|
|
191
193
|
<IconLink
|
|
@@ -92,6 +92,7 @@ export function WalletSendView() {
|
|
|
92
92
|
style={styles.tokenInput}
|
|
93
93
|
onTokenPress={() => RouterController.push('WalletSendSelectToken')}
|
|
94
94
|
loading={isBalanceLoading}
|
|
95
|
+
testID="send-input-token"
|
|
95
96
|
/>
|
|
96
97
|
<FlexView alignItems="center" justifyContent="center" style={styles.addressContainer}>
|
|
97
98
|
<SendInputAddress value={receiverProfileName || receiverAddress} />
|