diff --git a/src/views/dialogs/OnboardingDialog/GenerateKeys.tsx b/src/views/dialogs/OnboardingDialog/GenerateKeys.tsx
index 092e253..c65186b 100644
--- a/src/views/dialogs/OnboardingDialog/GenerateKeys.tsx
+++ b/src/views/dialogs/OnboardingDialog/GenerateKeys.tsx
@@ -72,6 +72,7 @@ export const GenerateKeys = ({
if (message) {
log('GenerateKeys/switchNetwork', error, { walletErrorType });
setError(message);
+ throw error;
}
}
};
diff --git a/src/views/forms/AccountManagementForms/DepositForm.tsx b/src/views/forms/AccountManagementForms/DepositForm.tsx
index a0235e1..e2d1b68 100644
--- a/src/views/forms/AccountManagementForms/DepositForm.tsx
+++ b/src/views/forms/AccountManagementForms/DepositForm.tsx
@@ -17,6 +17,7 @@ import type { EvmAddress } from '@/constants/wallets';
import { useAccounts, useDebounce, useStringGetter, useSelectedNetwork } from '@/hooks';
import { useAccountBalance, CHAIN_DEFAULT_TOKEN_ADDRESS } from '@/hooks/useAccountBalance';
import { useLocalNotifications } from '@/hooks/useLocalNotifications';
+import { useWalletConnection } from '@/hooks/useWalletConnection';
import { layoutMixins } from '@/styles/layoutMixins';
import { formMixins } from '@/styles/formMixins';
@@ -364,6 +365,8 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => {
return ;
}
+ const [requireUserActionInWallet, setRequireUserActionInWallet] = useState(false);
+
return (
@@ -382,7 +385,11 @@ export const DepositForm = ({ onDeposit, onError }: DepositFormProps) => {
/>
{errorMessage && {errorMessage}}
-
+ {requireUserActionInWallet && (
+
+ {stringGetter({ key: STRING_KEYS.CHECK_WALLET_FOR_REQUEST })}
+
+ )}
{
setSlippage={onSetSlippage}
slippage={slippage}
sourceToken={sourceToken || undefined}
+ setRequireUserActionInWallet={setRequireUserActionInWallet}
+ setError={setError}
/>
diff --git a/src/views/forms/AccountManagementForms/DepositForm/DepositButtonAndReceipt.tsx b/src/views/forms/AccountManagementForms/DepositForm/DepositButtonAndReceipt.tsx
index dce38fb..c928a3a 100644
--- a/src/views/forms/AccountManagementForms/DepositForm/DepositButtonAndReceipt.tsx
+++ b/src/views/forms/AccountManagementForms/DepositForm/DepositButtonAndReceipt.tsx
@@ -2,7 +2,6 @@ import { type Dispatch, type SetStateAction, useState, type ReactNode, useEffect
import styled, { type AnyStyledComponent } from 'styled-components';
import { shallowEqual, useSelector } from 'react-redux';
import type { RouteData } from '@0xsquid/sdk';
-import { formatUnits } from 'viem';
import { ButtonAction, ButtonShape, ButtonSize, ButtonType } from '@/constants/buttons';
@@ -40,7 +39,8 @@ type ElementProps = {
isLoading?: boolean;
chainId?: string | number;
- setError?: Dispatch>;
+ setError?: Dispatch>;
+ setRequireUserActionInWallet: (val: boolean) => void;
slippage: number;
slotError?: ReactNode;
setSlippage: (slippage: number) => void;
@@ -58,6 +58,7 @@ export const DepositButtonAndReceipt = ({
isDisabled,
isLoading,
slotError,
+ setRequireUserActionInWallet,
}: ElementProps) => {
const [showFeeBreakdown, setShowFeeBreakdown] = useState(false);
const [isEditingSlippage, setIsEditingSlipapge] = useState(false);
@@ -66,19 +67,20 @@ export const DepositButtonAndReceipt = ({
const canAccountTrade = useSelector(calculateCanAccountTrade, shallowEqual);
const { connectWallet, isConnectedWagmi } = useWalletConnection();
- const [hasConnectWalletError, setHasConnectWalletError] = useState(false);
- const attemptWalletConnect = async () => {
+ const connectWagmi = async () => {
try {
+ setRequireUserActionInWallet(false);
await connectWallet();
+ setRequireUserActionInWallet(false);
} catch (e) {
- setHasConnectWalletError(true);
+ setRequireUserActionInWallet(true);
}
};
useEffect(() => {
if (!isConnectedWagmi && canAccountTrade) {
- attemptWalletConnect();
+ connectWagmi();
}
}, [isConnectedWagmi, canAccountTrade]);
@@ -98,7 +100,7 @@ export const DepositButtonAndReceipt = ({
useSelector(getSubaccountBuyingPower, shallowEqual) || {};
const { isCctp, summary, requestPayload } = useSelector(getTransferInputs, shallowEqual) || {};
- const { usdcDecimals, usdcLabel } = useTokenConfigs();
+ const { usdcLabel } = useTokenConfigs();
const feeSubitems: DetailsItem[] = [];
@@ -134,7 +136,9 @@ export const DepositButtonAndReceipt = ({
{stringGetter({ key: STRING_KEYS.EXPECTED_DEPOSIT_AMOUNT })} {usdcLabel}
),
- value: ,
+ value: (
+
+ ),
subitems: [
{
key: 'minimum-deposit-amount',
@@ -144,7 +148,11 @@ export const DepositButtonAndReceipt = ({
),
value: (
-
+
),
tooltip: 'minimum-deposit-amount',
},
@@ -272,13 +280,7 @@ export const DepositButtonAndReceipt = ({
{!canAccountTrade ? (
) : !isConnectedWagmi ? (
-
+
) : !isMatchingNetwork ? (