coinbase / coinbase/wallet-mobile-sdk
Bug: Cannot sign anything in Android/react-native
- Dominant language
- Kotlin
- Stars
- 20
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the bug
Try personal_sign or sign typed data or sign transaction
### Steps
1. create new CoinbaseProvider and initialize as per documentation (https://mobilewalletprotocol.github.io/wallet-mobile-sdk/docs/client-sdk/rn-install)
2. Shows Base Wallet and I can press Allow (wallet UI appears embedded _within_ my app, not separate app)
3. My app shows wallet as connected
4. run request provider.request({ method: 'personal_sign', params: [message, address] })
5. Shows Base Wallet as Activity (wallet UI appears embedded _within_ my app, not separate app)
6. Press **Sign**
7. 4001 "User rejected the request'" received in my app
### Expected behavior
Should return to my app with a proper signature.
### Version
@coinbase/wallet-mobile-sdk version 1.1.2
### Additional info
Same thing happens with sign typed data. And 4200 "Unable to complete action" happens when signing transactions.
The integration seems totally broken.
Also, to repeat, docs mention to use Linking.addEventListener("url", ({ url }) => {}) to receive information from the wallet through deep linking. But this handler or any other handler **is never run**. Probably because it seems to use android Activities instead of deep linking - or perhaps something fails in Base Wallet before it sends back the deep link? The Base Wallet appears _embedded within my app_, not as separate app in task manager. Is this some change in Coinbase Wallet (Base Wallet) configuration??
### Desktop
-
### Smartphone
- Android emulator
- Expo (not Expo Go)
- Metro
- Latest @coinbase/wallet-mobile-sdk version 1.1.2 and react native 0.79.5
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Android flow from the React Native installation documentation, using provider.request for personal_sign, typed data, and transactions. Check the Linking.addEventListener("url") entry point and compare the observed Activity and callback behavior with the expected return to the app and signature result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- blockchain, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100