From 3dd9c6cbdd661390e9f11d8631b6ee63bfc90dd5 Mon Sep 17 00:00:00 2001 From: Tomas Tilnak Date: Wed, 19 Nov 2025 13:37:30 +0100 Subject: [PATCH 1/2] ERC20 bridge maintenance mode --- .../ReceiveFlow/components/AmountScreen.tsx | 12 ++++- .../ReceiveFlow/components/InitialScreen.tsx | 5 +- .../ReceiveFlow/components/MainScreen.tsx | 17 +++++-- .../ReceiveFlow/components/ReviewScreen.tsx | 42 ++++++++++------ .../SendFlow/components/AmountScreen.tsx | 25 +++++++--- .../SendFlow/components/InitialScreen.tsx | 5 +- .../SendFlow/components/MainScreen.tsx | 12 ++++- .../SendFlow/components/ReviewScreen.tsx | 50 +++++++++++-------- .../hooks/useERC20BridgeLocked.ts | 7 +++ 9 files changed, 121 insertions(+), 54 deletions(-) create mode 100644 apps/frontend/src/app/3_organisms/ERC20BridgeDialog/hooks/useERC20BridgeLocked.ts diff --git a/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/AmountScreen.tsx b/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/AmountScreen.tsx index 3501c81d8..91a7d8c2f 100644 --- a/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/AmountScreen.tsx +++ b/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/AmountScreen.tsx @@ -30,6 +30,7 @@ import { } from '../../../contexts/receiveflow'; import { useBridgeService } from '../../../hooks/useBridgeService'; import { useBridgeValidation } from '../../../hooks/useBridgeValidation'; +import { useERC20BridgeLocked } from '../../../hooks/useERC20BridgeLocked'; import { useTokenBalance } from '../../../hooks/useTokenBalance'; export const AmountScreen: React.FC = () => { @@ -79,6 +80,8 @@ export const AmountScreen: React.FC = () => { receiver, }); + const isBridgeLocked = useERC20BridgeLocked(); + return (
{chainId && ( @@ -141,7 +144,12 @@ export const AmountScreen: React.FC = () => { }))} /> - {isWrongChain ? ( + {isBridgeLocked ? ( + + ) : isWrongChain ? (
diff --git a/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/InitialScreen.tsx b/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/InitialScreen.tsx index 3dfa112aa..02999b110 100644 --- a/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/InitialScreen.tsx +++ b/apps/frontend/src/app/3_organisms/ERC20BridgeDialog/components/ReceiveFlow/components/InitialScreen.tsx @@ -10,12 +10,13 @@ import { ReceiveFlowContext, ReceiveFlowStep, } from '../../../contexts/receiveflow'; +import { useERC20BridgeLocked } from '../../../hooks/useERC20BridgeLocked'; import { Instructions } from '../../Instructions'; export const InitialScreen: React.FC = () => { const { account } = useAccount(); const { set } = useContext(ReceiveFlowContext); - const erc20BridgeLocked = false; + const isBridgeLocked = useERC20BridgeLocked(); const onContinueClick = useCallback(() => { set(prevState => ({ ...prevState, step: ReceiveFlowStep.MAIN })); }, [set]); @@ -24,7 +25,7 @@ export const InitialScreen: React.FC = () => {
- {erc20BridgeLocked ? ( + {isBridgeLocked ? ( { const isWrongChain = currentChainId !== chainId; const { data: tokenBalance } = useTokenBalance(token, chainId); const assetDetails = useTokenDetailsByAsset(token, chainId); + const isBridgeLocked = useERC20BridgeLocked(); const balance = formatUnits(tokenBalance || '0', assetDetails?.decimals); @@ -119,7 +123,12 @@ export const MainScreen: React.FC = () => { />
- {isWrongChain ? ( + {isBridgeLocked ? ( + + ) : isWrongChain ? (