Repository: dusk-network/rusk (language: rust)

Issue:
web-wallet: Broken Flow When Switching Between ERC-20 and BEP-20 in the Migrate Flow
### Description
In the Migrate flow, after a migration has been initialized, switching between ERC-20 and BEP-20 leads to a broken flow. This issue affects the usability and continuity of the migration process.

### Steps to Reproduce
1. Start the migration flow and initialize the migration.
2. Attempt to switch between ERC-20 and BEP-20 options.
3. Observe the resulting broken flow.

https://github.com/user-attachments/assets/f513c69e-6071-485e-bed8-9d585c2b6857

### Expected Behavior
The exclusive choice component (ERC-20 and BEP-20 selection) should remain disabled once the migration has been initialized, similar to how the amount field is disabled. If a user wishes to connect to a different wallet, they can utilize the "Disconnect Wallet" button to restart the process.

### Suggested Solution
Disable the exclusive choice component (ERC-20 and BEP-20 selection) once the migration has been initialized. Ensure users have the option to restart by using the "Disconnect Wallet" button.


Discussion / hints:

Fix patch:
diff --git a/web-wallet/CHANGELOG.md b/web-wallet/CHANGELOG.md
index 65ee2c3eb7..9e83e3fb71 100644
--- a/web-wallet/CHANGELOG.md
+++ b/web-wallet/CHANGELOG.md
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 - Update Transactions list design [#1922]
 - Prioritize Public Account in the interface and transaction flows [#3259]
+- Disable source wallet option on migration initialization (Migrate flow) [#3270]
 
 ### Removed
 
@@ -480,6 +481,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 [#3245]: https://github.com/dusk-network/rusk/issues/3245
 [#3259]: https://github.com/dusk-network/rusk/issues/3259
 [#3265]: https://github.com/dusk-network/rusk/issues/3265
+[#3270]: https://github.com/dusk-network/rusk/issues/3270
 
 <!-- VERSIONS -->
 
diff --git a/web-wallet/src/lib/containers/MigrateContract/MigrateContract.svelte b/web-wallet/src/lib/containers/MigrateContract/MigrateContract.svelte
index ae969c3f09..e6fadacf2d 100644
--- a/web-wallet/src/lib/containers/MigrateContract/MigrateContract.svelte
+++ b/web-wallet/src/lib/containers/MigrateContract/MigrateContract.svelte
@@ -59,7 +59,10 @@
 
   const { ["ERC-20"]: erc20, ["BEP-20"]: bep20 } = tokens[network];
 
-  const options = ["ERC-20", "BEP-20"];
+  $: options = [
+    { disabled: isInputDisabled, label: "ERC-20", value: "ERC-20" },
+    { disabled: isInputDisabled, label: "BEP-20", value: "BEP-20" },
+  ];
 
   // The minimum allowed amount to be migrated expressed as a string
   const minAmount = "0.000000001";


Test patch: