Just had a great discussion with Yu Pan from Origin Protocol and we talked through their own implementation for mobile-to-desktop communication between their Dapp and Mobile Wallet.
Both WalletConnect and Origin Bridges are way similar than we originally thought as there was a misunderstanding of the use of OrbitDB being part of their remote communication.
Origin uses OrbitDB as mean of communication for direct messaging within their marketplace platform. Their Bridge Server implementation works similarly to WalletConnect using a centralized database to relay messages between the Dapp and the Wallet.
What we ended up discussing further was that Origin’s Bridge Server actually has an extra layer of transaction verification which verifies the transaction requests using their smart contract ABI which also allow them to push more customizable push notifications.
This of course is a significant difference to WalletConnect’s implementation where we only relay encrypted payloads through the Bridge therefore only allowing us to push generic notifications on mobile.
Origin’s wallet also verifies the transactions as well but their user-friendly approach with a more trusted Bridge setup provides more user-friendly and contextual push notifications.
Which brings us to the Bridge Plugins proposal. Is there room to allow WalletConnect Bridges to be expandable through plugins that would allow an implementation similar to Origin Protocol where you could verify transaction requests and customize push notifications.
My proposal is that we would provide the flexibility for Dapps to run their own trusted Bridges with extra functionality that would allow them to provide more customizable user experiences.
This would be an opt-in system that wouldn’t require other Bridges to implement. The first request to the Bridge when requesting a new sessionId could provides a set of plugins that could be used on top of the WalletConnect connection.
This could be an array of endpoints with a provided schema to trigger extra features that the trusted Bridge would provide, as for example Customizable Push Notification could receive transaction data to be parsed and verified against the Dapp’s smart contract ABI to push more specific push notifications.
Let me know what you guys think of this proposal. All feedback is welcome!