Common Abstraction for different Wallet Connection Providers
Summary We have multiple wallet connection providers such as Wallet Connect, Metamask and Web3Auth, I believe these could have a single point of abstraction.
Suggested features or ways to address the summary
All of our wallet connection providers have common functions such as Connect, Disconnect and in most cases make a Request, we can have an abstraction layer IWalletConnectionProvider with Connect and Disconnect methods and IRpcWalletConnectionProvider : IWalletConnectionProvider with an extra Request method. IJsonRpcProvider IWalletConnectCustomProvider and IMetamaskProvdier can all be moved under this abstraction.
Motivation This would make for a cleaner and simpler code base.
Acceptance Criteria
- Wallet connection providers must be abstracted under a common interface.
Blockers (OPTIONAL) [Do you see any blocker that needs to be done before implementing this feature?]
Dependencies (OPTIONAL) [Do you know about dependencies that directly affect this issue?]
Additional Context (OPTIONAL) [Add any other context, files, images (screenshots/videos), diagrams, or documents about the feature request here.]
Final Steps
- Give it one of these labels
Type: FeatureType: Enhancement - Add your estimation
Estimations
| Story Point | Amount of effort | Amount of time | Task Complexity | Task Risk or Uncerntainty |
|---|---|---|---|---|
| 5 | Moderate efort | A few days | Mediium complexity | Moderate |