Skip to content

web: CrossChainPoolMirror create/cancel handlers are empty stubs — users believe mirrors are created when they are not #1097

Description

@dimka90

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programarea: webbugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions