Bug
web/components/CrossChainPoolMirror.tsx has empty try blocks in both handleCreateMirror (lines 46-65) and handleCancelMirror (lines 67-82):
const handleCreateMirror = async (targetChain: string) => {
setLoading(true);
setError(null);
try {
// TODO: Implement cross-chain pool mirror creation
} catch (err) {
setError(err instanceof Error ? err.message : 'Failed to create mirror');
} finally {
setLoading(false);
}
};
The try blocks contain no contract calls — just TODO comments. After execution, the form closes and shows no error, making the user believe a mirror was successfully created on the target chain. No on-chain operation was performed.
Impact
- Users believe cross-chain mirrors are being created when they are not
- The feature appears functional but does nothing
- Trust erosion when users discover mirrors never actually exist on the target chain
Fix
Implement the cross-chain mirror creation logic using the bridge contracts (contracts/bridges/GenericBridge.sol or LayerZeroBridge.sol) to actually deploy/register pool mirror instances on the target chain.
Bug
web/components/CrossChainPoolMirror.tsxhas emptytryblocks in bothhandleCreateMirror(lines 46-65) andhandleCancelMirror(lines 67-82):The
tryblocks contain no contract calls — just TODO comments. After execution, the form closes and shows no error, making the user believe a mirror was successfully created on the target chain. No on-chain operation was performed.Impact
Fix
Implement the cross-chain mirror creation logic using the bridge contracts (
contracts/bridges/GenericBridge.solorLayerZeroBridge.sol) to actually deploy/register pool mirror instances on the target chain.