feat(wallets): add WalletConnect v1 session management #275
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes the WalletConnect session management for Defly and Pera wallets, addressing the issues with session persistence and wallet switching described in issue #274. It implements a more robust approach to backing up and restoring WalletConnect sessions, resolving the problems with lost connections and improving overall wallet management reliability.
Details
manageWalletConnectSession
method toBaseWallet
class for centralized session managementconnect
,disconnect
, andsetActive
methods in Defly and Pera (v1) wallet classes to use the new session management approachclient.disconnect()
to prevent race conditionsThese changes ensure that WalletConnect sessions are properly maintained when connecting multiple wallets, preventing local storage key collisions and fixing issues caused by lost session data.
Closes #274