Increase fairness for xExchange usage across different shards
Eventhough the core team is radically improving cross shard finality in the upcoming upgrades and great movement forward is coming, still execution time for xExchange transactions might vary from sub-second or near immediate transactions for wallets residing in the same shard as the xExchange smart contracts to over 15 seconds per transaction for wallets residing on different shards.
In certain moments a very unfair situation might happen just because your wallet doesn’t reside in the optimal shard and one might experience delays when transacting with the exchange related to other users that reside in shards with optimal execution times.
For manually created wallets in the wallet [at] multiversx.com one can create several wallets until one resides in the optimal shard. For xPortal users however the wallet is created and linked to the phone number and depending on how lucky you are you will end up in one or another shard, forever.
A short time workaround would be to allow to users that already have a registered wallet to link it to the xportal superapp at registration time or, in the case of users that are already registered in the xportal superapp, to allow users to unlink the xportal app to one wallet and link to a new one. Other motivations in addition to execution time would probably apply.
I am not a technical developer so please feel free to correct me if I’m totally wrong for the second part of the proposal, the long term proposal: To have multishard deployed apps that reside simultaneously in different shards so a user residing in one specific shard would execute the sc in the local shard. I don’t know if this is technically feasible today or would be technically implementable in the future as I’m not an expert blockchain dev. If possible, this would offer equal opportunities and more fairness for DEFI apps where sometimes time means money.