mobilewalletprotocol / wallet-mobile-sdk Goto Github PK
View Code? Open in Web Editor NEWAn open protocol for mobile web3 apps to interact with wallets
Home Page: https://mobilewalletprotocol.github.io/wallet-mobile-sdk/
License: Other
An open protocol for mobile web3 apps to interact with wallets
Home Page: https://mobilewalletprotocol.github.io/wallet-mobile-sdk/
License: Other
[!] The platform of the target Wallet macOS
(macOS 12.0) is not compatible with CoinbaseWalletSDK (1.0.3)
, which does not support macOS
.
support macos via cocoapods
No response
No response
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
No response
submitting a new issue files a jira automatically π
No response
No response
I found a lot of "wsegue" in the sdk, including the hostURL and the mandatory suffix "callbackURL" in the source code, what is this for? Because this character will be displayed in the coinbase wallet connection screen.
Take the RN project as an example, use "eth_requestAccounts" to start the connection
The coinbase app will pop up the connection screen, and the dapp package name will be followed by "wsegue"
nothing
No response
No response
No response
No response
The SDK is asking me to use minSdkVersion = 23 even though it has 21 defined in its gradle file
@coinbase/wallet-mobile-sdk@^1.0.5
yarn android
The app should work with minSdkVersion = 21 after this change if I'm not mistaken:
Instead I get this error:
android/app/src/debug/AndroidManifest.xml Error:
uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [com.coinbase:coinbase-wallet-sdk:1.0.4] transformed/jetified-coinbase-wallet-sdk-1.0.4/AndroidManifest.xml as the library might be using APIs not available in 21
Suggestion: use a compatible library with a minSdk of at most 21,
or increase this project's minSdk version to at least 23,
1.0.5
No response
No response
When I try to do send transaction by changing the chain to 80001 (Polygon Mumbai), the wallet shows the error as "Something went wrong". I tried it with SwitchChain also.
The expected behavior is that it shows the prompt to show send a transaction as it does with the Ethereum chain but it does not
No response
No response
No response
No response
I have a project using spring boot 3 and java 17, I'm trying to download the last version of coinbase wallet sdk:
implementation "com.coinbase:coinbase-wallet-sdk:1.0.4"
I always receive the error
app:test: Could not resolve com.coinbase:coinbase-wallet-sdk:1.0.4.
Required by:
project :
Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
After various reimports sometime the error does not show up, but if I run gradlew dependencies
I see the following output
com.coinbase:coinbase-wallet-sdk:1.0.4 FAILED
I guess is for the java version
java.lang.RuntimeException
Not Exception
1.0.6
No response
No response
No response
Do you have any plans of adding support for connecting with the Coinbase App?
We have a website where, when used on mobile, the user is redirected to https://www.coinbase.com/connect-dapp and can choose how to connect. To keep it 1:1 it would be nice to have this feature on the React Native App as well.
No response
No response
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
On some devices launching the intent (dat=cbwallet://wsegue/... pkg=org.toshi cmp=org.toshi/.MainActivity) obtained from CoinbaseWalletSDK.openIntent causes ActivityNotFoundException
Since we are following CoinbaseWalletSDK setup https://github.com/coinbase/wallet-mobile-sdk/tree/master/android#setup there has to be 100% of devices starting the coinbase wallet app. But now for some reason some devices are failing to call it.
Failing devices:
Devices without any issue:*
Google Pixel 6 - Android 13 - Coinbase 28.60.0
Google Pixel 3 - Android 12 - Coinbase 28.59.0 (28.60.0)
Samsung A3 - Android 8 - Coinbase 28.60.0
com.coinbase:coinbase-wallet-sdk:1.0.4
android.content.ActivityNotFoundException: Unable to find explicit activity class {org.toshi/org.toshi.MainActivity}; have you declared this activity in your AndroidManifest.xml, or does your intent not match its declared <intent-filter>? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2171) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1805) at android.app.Activity.startActivityForResult(Activity.java:5596) at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:753) at androidx.core.app.ActivityCompat$Api16Impl.startActivityForResult(ActivityCompat.java:809) at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:246) at androidx.activity.ComponentActivity$2.onLaunch(ComponentActivity.java:258) at androidx.activity.result.ActivityResultRegistry$3.launch(ActivityResultRegistry.java:246) at androidx.activity.compose.ActivityResultLauncherHolder.launch(ActivityResultRegistry.kt:154) at androidx.activity.compose.ManagedActivityResultLauncher.launch(ActivityResultRegistry.kt:143) at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
No response
Failing devices:
Devices without any issue:*
Google Pixel 6 - Android 13 - Coinbase 28.60.0
Google Pixel 3 - Android 12 - Coinbase 28.59.0 (28.60.0)
Samsung A3 - Android 8 - Coinbase 28.60.0
The react-native-mmkv native module is not being installed with auto-linking on Bare RN Project
const cbProvider = new WalletMobileSDKEVMProvider();
I'm running on RN 0.71.3. And I do not use MMKV on my project.
Two side notes.
WalletMobileSDKEVMProvider
is not exported on @coinbase/wallet-mobile-sdk
(need to import it from its file.ext.getKotlinVersion = {
if (ext.has("kotlinVersion")) {
ext.kotlinVersion()
} else {
ext.safeExtGet("kotlinVersion", "1.6.10")
}
}
Thanks!
The project should run as per docs
1.0.4
No response
No response
No response
The code looks great! Are you sure you've never written dart/flutter?
Originally posted by @hishboy in #146 (review)
> I have a project using spring boot 3 and java 17, I'm trying to download the last version of coinbase wallet sdk:
implementation "com.coinbase:coinbase-wallet-sdk:1.0.4"
I always receive the error
app:test: Could not resolve co
m.coinbase:coinbase-wallet-sdk:1.0.4.
Required by:
project :Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
After various reimports sometime the error does not show up, but if I run `gradlew dependencies` I see the following output `com.coinbase:coinbase-wallet-sdk:1.0.4 FAILED` I guess is for the java version
Originally posted by @Khorshidgardan in #216 (comment)
Using expo-modules breaks Expo Go support
Error:
Uncaught Error [Error: ENOENT: no such file or directory, open '/AwesomeProject/android/build.gradle'] {
I'd like for this new package to work with Expo Go or at least to have a guide on how to make it work with expo prebuild
.
1.0.4
No response
No response
No response
any plan for a exposing a method for custom request?
by passing method name exist or custom
custom prams
is theres a way to interact with published smart contracts / diff assets other than the main currency of the network?
developing a smart contract can result of having a custom functions that need to be invoked ,
or dealing with an existing smart contract e.g DAI on ethereum network
if that's something we currently can do , is there's a write up i can take a look at?
No response
No response
"message" must be a nonempty string
1.build android apk
2.run apk on my phone
3.click button and request "eth_requestAccounts"
4.The coinbase wallet app is opened and a connection message pops up, click connect.
5.Back to my app, catch the error '"message" must be a nonempty string'
wallet should return address
^1.0.4
Strangely enough, I was able to connect the real machine in the android development environment and it worked fine, only to find the error after packaging. So it was very difficult to debug.
The only special thing is that I replaced the mmkv used by the "WalletMobileSDKEVMProvider" with my own implementation of storage, as this dependency was not working properly due to various error reports and version inconsistencies.
No response
No response
No message signing request is displayed in Coinbase Wallet
Show a message signing request to proceed with the handshake
1.0.4 / commit #159
The same flow on the example app was working for me before the holidays. Seems like the last update on Coinbase Wallet app was on Dec 25.
I have already tried reinstalling Coinbase Wallet, restarting Pixel, restarting Android Studio.
No response
Device: Pixel 6 Pro
OS: Android 13
Coinbase iOS app is installed, but Wallet.coinbaseRetail.isInstalled still returns false
<string>coinbase+mwp</string>
to <key>LSApplicationQueriesSchemes</key>
Wallet.coinbaseRetail.isInstalled
valueWallet.coinbaseRetail returns true
1.0.4
No response
No response
app crashes on second attempt to run configuration
1.0.4
flutter: <asynchronous suspension>
2
CoinbaseWalletSDK/CoinbaseWalletSDK.swift:32: Fatal error: `CoinbaseWalletSDK.configure` should be called only once.
* thread #1, queue = 'com.apple.main-thread', stop reason = Fatal error: `CoinbaseWalletSDK.configure` should be called only once.
frame #0: 0x00000001875e00f8 libswiftCore.dylib`_swift_runtime_on_report
libswiftCore.dylib`:
-> 0x1875e00f8 <+0>: ret
libswiftCore.dylib`:
0x1875e00fc <+0>: b 0x1875e00f8 ; _swift_runtime_on_report
libswiftCore.dylib`:
0x1875e0100 <+0>: adrp x8, 366305
0x1875e0104 <+4>: ldrb w0, [x8, #0xabc]
Target 0: (Runner) stopped.
Lost connection to device.
I'm trying to make eth_watchAsset method and unfortunately always get an error inside Coinbase Wallet iOS App
MWPClient
MWPClient
calling MWPClient.getInstance(to: Wallet.coinbaseWallet)
mwpClient.initiateHandshake(
initialActions: [
Action(jsonRpc: .eth_requestAccounts)
]
) { [weak owner] result, account in
switch result {
case .success(let response):
debugPrint(response.content)
guard let account else { return }
debugPrint(account)
case .failure(let error):
debugPrint(error.localizedDescription)
}
}
mwpClient.makeRequest(
Request(actions: [
Action(
jsonRpc: .wallet_watchAsset(
type: "ERC20",
options: WatchAssetOptions(
address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
symbol: "USDT",
decimals: 6,
image: "https://etherscan.io/token/images/tethernew_32.png"
)
)
)
])
) { result in
debugPrint(result)
// ...
}
Coinbase Wallet doesn't throw an error and I can watch any asset
1.0.4
Coinbase Wallet "Something went wrong error"
Also I pressed "Try again" button and nothing happens. When I return to dapp nothing happens in makeRequest
completion block, it just doesn't execute.
I've tried with different tokens (top 10 tokens from etherscan.io) and I've tried to send a batch request with a couple of eth_watchAsset actions and it still doesn't work.
And also I've a question: why SDK redirects me to the Coinbase Wallet if I just want to track asset? How can I get a list of assets by my wallet's address?
No response
oinbaseWalletSDK.configure` should be called only once., null, null)
Describe the bug
After reloading the app using the Hot Restart button.
Steps
Run the app once on iOS
Use the Hot Restart button
The SDK should handle this problem, or expose a variable for us to check if the SDK is already configured.
1.0.6 on flutter
Problem is same as this one
No response
IOS Iphone 14
We get the error when using the request function
Using the latest version of the React Native SDK.
Unfortunately, we are seeing this on some production iOS devices, but we were unable to reproduce it. The end user tries to connect to the Coinbase Wallet and immediately gets the error. Two users are from Italy, so I'm not sure if this has something to do with it.
Thanks.
The Coinbase Wallet opens and offers to connect with the app.
1.0.13
No response
optional parameters are required
most of the exposed function have option and required prams but the optional prams still to be required, which defeats the purpose of having the optionality.
e.g
SendTransaction SendTransaction({
required String fromAddress,
required String? toAddress,
required BigInt weiValue,
required String data,
required int? nonce,
required BigInt? gasPriceInWei,
required BigInt? maxFeePerGas,
required BigInt? maxPriorityFeePerGas,
required BigInt? gasLimit,
required String chainId,
})
optional parameters need to be optional.
SendTransaction SendTransaction({
required String fromAddress,
String? toAddress,
required BigInt weiValue,
required String data,
int? nonce,
BigInt? gasPriceInWei,
BigInt? maxFeePerGas,
BigInt? maxPriorityFeePerGas,
BigInt? gasLimit,
required String chainId,
})
1.0.5
No response
No response
No response
Added Package to project and received a build error for file ExampleTest.swift
SOLUTION is to add:
@available(iOS 13.0, *)
to ExampleTest.swift file
Buildable
recent
No response
No response
No response
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
Android Dapp can not be authenticated
1: add app link in flutter Android
2: try to connect to Coinbase Wallet
there shouldn't be Warning text
1.0.6 on flutter
code for configuration
await CoinbaseWalletSDK.shared.configure(
Configuration(
ios: IOSConfiguration(
host: Uri.parse('cbwallet://wsegue'),
callback: Uri.parse(Constants.dynamicLink),
),
android: AndroidConfiguration(
domain: Uri.parse('https://sendcrypto.com'),
),
),
);
I has this warning text and I did research I found I have to add app link in my android app and I did it
I have hosted file on domain.com/.well-known/.....json too
I still have this issue after adding app link in my app
I have tested in Release APK and debug both doesn't work, in hosted file I have provided release Sha256
someone has same issue and the issue was solved after hosting file for ios but in my case I am not seeing warning on IOS it's happening only on Android
https://forums.coinbasecloud.dev/t/this-mobile-dapp-can-not-be-authenticated/1762
Android
Xiaomi 13 Lite
I am trying to open my Coinbase wallet. I follow offical documentation of coinbase. First create an object for CoinBaseSDK and Passed requirement parameters but i still faced same issue is that " could not open wallet". Here is my Code. Please solve my issue
Dependency i used in gradle:
implementation "com.coinbase:coinbase-wallet-sdk:1.0.3"
also add a query parameter according to documentation
I passed required parameters including my Applink as a Uri:
lateinit var client : CoinbaseWalletSDK
client = CoinbaseWalletSDK(
appContext = requireContext(),
domain = Uri.parse("https://elmonx.page.link"),
openIntent = { intent -> launcher.launch(intent) }
)
Initiate the SDK using initiateHandShake of CoinBaseSDK:
val requestAccount = Web3JsonRPC.RequestAccounts().action()
val handShakeActions = listOf(requestAccount)
client.initiateHandshake(
initialActions = handShakeActions
) { result: Result<List<ActionResult>>, account: Account? ->
result.onSuccess { actionResults: List<ActionResult> ->
Log.d("CheckResult", "onViewCreated: ")
}
result.onFailure { err ->
Log.d("CheckResult", "onViewCreated: Fail")
}
}
Please any one have knowledge about that kindly share your answer
1.0.3
No response
Android OS
All Android Devices
After updating Coinbase wallet on IOS to latest version it's not showing connect popup
should show connect screen
1.0.6 on Flutter
No response
IOS
IOS
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
dapp crash when back from coinbase wallet app
do not crash, like demo
flutter coinbase wallet 1.0.6, android 1.0.4
[ ] E/AndroidRuntime( 9952): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, javax.crypto.AEADBadTagException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
[ ] E/AndroidRuntime( 9952): at android.app.ActivityThread.deliverResults(ActivityThread.java:5677)
[ ] E/AndroidRuntime( 9952): at android.app.ActivityThread.handleSendResult(ActivityThread.java:5716)
[ ] E/AndroidRuntime( 9952): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
[ ] E/AndroidRuntime( 9952): at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
[ ] E/AndroidRuntime( 9952): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
[ ] E/AndroidRuntime( 9952): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
[ ] E/AndroidRuntime( 9952): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2474)
[ ] E/AndroidRuntime( 9952): at android.os.Handler.dispatchMessage(Handler.java:106)
[ ] E/AndroidRuntime( 9952): at android.os.Looper.loopOnce(Looper.java:240)
[ ] E/AndroidRuntime( 9952): at android.os.Looper.loop(Looper.java:351)
[ ] E/AndroidRuntime( 9952): at android.app.ActivityThread.main(ActivityThread.java:8416)
[ ] E/AndroidRuntime( 9952): at java.lang.reflect.Method.invoke(Native Method)
[ ] E/AndroidRuntime( 9952): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
[ ] E/AndroidRuntime( 9952): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
[ ] E/AndroidRuntime( 9952): Caused by: javax.crypto.AEADBadTagException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
[ ] E/AndroidRuntime( 9952): at java.lang.reflect.Constructor.newInstance0(Native Method)
[ ] E/AndroidRuntime( 9952): at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
[ ] E/AndroidRuntime( 9952): at com.android.org.conscrypt.OpenSSLAeadCipher.throwAEADBadTagExceptionIfAvailable(OpenSSLAeadCipher.java:320)
[ ] E/AndroidRuntime( 9952): at com.android.org.conscrypt.OpenSSLAeadCipher.doFinalInternal(OpenSSLAeadCipher.java:371)
[ ] E/AndroidRuntime( 9952): at com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:374)
[ ] E/AndroidRuntime( 9952): at javax.crypto.Cipher.doFinal(Cipher.java:2114)
[ ] E/AndroidRuntime( 9952): at com.google.crypto.tink.aead.internal.InsecureNonceAesGcmJce.decrypt(InsecureNonceAesGcmJce.java:142)
[ ] E/AndroidRuntime( 9952): at com.google.crypto.tink.subtle.AesGcmJce.decrypt(AesGcmJce.java:63)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.Cipher.decrypt(Cipher.kt:16)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.response.ResponseSerializer.deserialize(ResponseSerializer.kt:65)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.response.ResponseSerializer.deserialize(ResponseSerializer.kt:19)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.decodeSerializableValue(TreeJsonDecoder.kt:51)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.TreeJsonDecoderKt.readJson(TreeJsonDecoder.kt:24)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.Json.decodeFromJsonElement(Json.kt:119)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.MessageSerializer.deserialize(Message.kt:60)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.MessageSerializer.deserialize(Message.kt:32)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.decodeSerializableValue(TreeJsonDecoder.kt:51)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.internal.TreeJsonDecoderKt.readJson(TreeJsonDecoder.kt:24)
[ ] E/AndroidRuntime( 9952): at kotlinx.serialization.json.Json.decodeFromJsonElement(Json.kt:119)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.message.MessageConverter.decodeResponse(MessageConverter.kt:78)
[ ] E/AndroidRuntime( 9952): at com.coinbase.android.nativesdk.CoinbaseWalletSDK.handleResponse(CoinbaseWalletSDK.kt:184)
[ ] E/AndroidRuntime( 9952): at com.coinbase.flutter.wallet_sdk.CoinbaseWalletSdkFlutterPlugin.onActivityResult(CoinbaseWalletSdkFlutterPlugin.kt:193)
[ ] E/AndroidRuntime( 9952): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:809)
[ ] E/AndroidRuntime( 9952): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:432)
[ ] E/AndroidRuntime( 9952): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:872)
[ ] E/AndroidRuntime( 9952): at io.flutter.embedding.android.FlutterFragment.onActivityResult(FlutterFragment.java:1221)
[ ] E/AndroidRuntime( 9952): at io.flutter.embedding.android.FlutterFragmentActivity.onActivityResult(FlutterFragmentActivity.java:691)
[ ] E/AndroidRuntime( 9952): at android.app.Activity.dispatchActivityResult(Activity.java:8756)
[ ] E/AndroidRuntime( 9952): at android.app.ActivityThread.deliverResults(ActivityThread.java:5670)
No response
Unreviewed commit(s) COMPARE was merged to master by bangtoven.
Comment with appropriate number of π to approve.
Reviewed requirements satisfied? No
Ancestors reviewed? Yes
Other wallets (e.g MetaMask, Rainbow) just redirect back to the app that opened the wallet without requiring to set up UniversalLinks. Setting up UniversalLinks is yet another friction point for developers who want to build mobile apps
I'd like for the wallet to redirect back to the app that triggered it without setting up Universal Links
No response
No response
The build phase fails with error The Android extensions ('kotlin-android-extensions') compiler plugin is no longer supported
kotlinVersion = "1.8.0"
in build.gradle)[RUN_GRADLEW] > Task :coinbase-wallet-mobile-sdk:compileDebugKotlin FAILED
[RUN_GRADLEW] e: The Android extensions ('kotlin-android-extensions') compiler plugin is no longer supported. Please use kotlin parcelize and view binding. More information: https://goo.gle/kotlin-android-extensions-deprecation
It should work also with Kotlin 1.8.0. From the error it seems that Coinbase should move away from kotlin-android-extensions
?
1.0.4
No response
No response
No response
After accepting connection in the wallet the call to provider.request
doesn't resolve
Linking.addEventListener
work :( )await provider.request({
method: "eth_requestAccounts",
params: [],
})
Allow
handleResponse(new URL(url));
is called but the call await provider.request
is not resolvedThe app re-opens after pressing on Allow
and the call to await provider.request
resolves with the connected account
1.0.5
No response
No response
No response
Wallet freeze when setting the hostURL in iOS
hostURL: new URL("https://wallet.coinbase.com/wsegue"),
as defined here: https://coinbase.github.io/wallet-mobile-sdk/docs/client-sdk/rn-setup#configurationMore than this bug is the question: if the hostURL is "The Universal Link used by the Mobile SDK to open the wallet application.", why can devs change it if it will break the integration with the wallet? Should it be hidden from devs?
The wallet should work with the value specified in the documentation
1.0.5
No response
No response
No response
When I try to do send transaction by changing the chain to 80001 (Polygon Mumbai), the wallet shows the error as "Something went wrong". I tried it with SwitchChain also. I raised this issue earlier but it was closed saying I need to use SwitchChain action first. I have tried that and it'smention in the description. It doesn't work with that as well.
The expected behavior is that it shows the prompt to show send a transaction as it does with the Ethereum chain but it does not
No response
No response
No response
No response
When using the handleResponse
function from @coinbase/wallet-mobile-sdk
inside a React Native component with a Linking
url
listener in a useEffect
hook, the app crashes upon opening a deeplink (e.g., app://email?domain=domain&token=very-long-token
).
Linking
url
listener in a useEffect
hook.@coinbase/wallet-mobile-sdk
as the listener.app://email?domain=domain&token=very-long-token
).The app should not crash when handling the deeplink with the handleResponse
function.
1.0.6
import { Linking } from 'react-native'
import { handleResponse } from '@coinbase/wallet-mobile-sdk'
import { useEffect } from 'react'
function App() {
useEffect(() => {
const sub = Linking.addEventListener('url', ({ url }) => {
handleResponse(url)
})
return () => sub?.remove()
}, [])
return <></>
}
const WrapperApp = App
export default WrapperApp
No response
No response
Calling eth_requestAccounts
returns an automatic User rejected the request
Automatically returns User rejected the request
error.
I also tested the react-native/client/example
in your repo.
The coinbase wallet app opens and shows the connection dialog
"@coinbase/wallet-mobile-sdk": "^1.0.7",
"expo": "^48.0.0",
"react": "18.2.0",
"react-native": "0.71.8",
Everything works as expected on iOS which is using an older version 28.57.10
Right now to get the account for first time, we need to navigate to app. Is there any way to get that account next time without having to navigate to the Coinbase wallet ?
.
No response
No response
android apk size too big
1.react native app using coinbase expo library likeοΌ
https://coinbase.github.io/wallet-mobile-sdk/docs/client-sdk/rn-install
2.build android apk
The size of the apk has increased by at least 80m compared to the previous one
The react native component of coinbase seems to use the expo packaging method, is there some way to reduce the packaging size?
No response
No response
No response
No response
I'm getting 'CoinbaseWalletSDK' is only available in iOS 13.0 or newer error in ExampleTest
I just added the swift package to Test App with the target set to 15.5. and I'm getting that error in ExampleTest file. Maybe it is related to the package setting where I can see platforms: [.iOS(.v12)]
I'm expecting just build the app with the library.
1.0.3
No response
No response
No response
Trying to build the iOS example app in react-native failes
yarn install
cd ./react-native
yarn install
cd ./example
yarn install
cd ./ios
pod install
cd ..
yarn ios
Build fails with:
Node found at: /Users/farukparhat/.nvm/versions/node/v16.13.2/bin/node
2022-09-11 23:34:25.725 xcodebuild[28404:427100] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-09-11 23:34:25.725 xcodebuild[28404:427100] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
** BUILD FAILED **
The following build commands failed:
CompileSwift normal arm64 /Users/farukparhat/Workspace/dynamic/sandbox/wallet-mobile-sdk/react-native/example/node_modules/@coinbase/wallet-mobile-sdk/ios/CoinbaseWalletSDKModule.swift (in target 'CoinbaseWalletSDKExpo' from project 'Pods')
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'CoinbaseWalletSDKExpo' from project 'Pods')
(2 failures)
Using node16
No response
No response
No response
No response
Crash when cancelling the connection
It seems the sdk is trying to look for the app in the Google Play Store?
SemWifiTransportLayerUtils: getApplicationCategory - IOException com.test15
03-28 23:16:13.891 1441 3294 W System.err: java.io.FileNotFoundException: https://play.google.com/store/apps/details?id=com.test15&hl=en
03-28 23:16:14.003 22497 22497 F DEBUG : Cmdline: com.test15
03-28 23:16:14.003 22497 22497 F DEBUG : pid: 22037, tid: 22120, name: mqt_js >>> com.test15 <<<
I should be able to cancel the connection without having to publish my app to the app store first
1.0.5
No response
No response
No response
I'm using SampleClient to initiate a transaction. After confirming the request in the Coinbase Wallet app and redirecting back to SampleClient, the log shows that the action has failed with error 4200: Unable to complete action
.
Coinbase Wallet
in the SampleClient app.Initiate handshake
and confirm in Coinbase Wallet.Make request
and confirm in Coinbase Wallet.I've made the following changes to makeRequest
to send an eth_sendTransaction
request:
mwpClient.makeRequest(
- Request(actions: [
- Action(jsonRpc: .personal_sign(address: address, message: "message")),
- Action(jsonRpc: .eth_signTypedData_v3(
- address: address,
- typedDataJson: JSONString(encode: typedData)!
- ))
- ])
+ Request(actions: [
+ Action(jsonRpc: .eth_sendTransaction(
+ fromAddress: address,
+ toAddress: "0x000000000000000000000000000000000000dEaD",
+ weiValue: "10000000000000",
+ data: "0x",
+ nonce: 1,
+ gasPriceInWei: "30000000000",
+ maxFeePerGas: "60000000000",
+ maxPriorityFeePerGas: "2500000000",
+ gasLimit: "1000",
+ chainId: "1"
+ ))
+ ])
) { result in
Successfully sent transaction
1.0.4
No response
No response
After reloading the app using the React Native Developer Menu, the app freezes or crashes with the mentioned error.
Here's a repo, if you need, but just the basic usage should cause this.
https://github.com/felipecamposfabel/coinbase
The SDK should handle this problem, or expose a variable for us to check if the SDK is already configured.
No response
No response
No response
No response
We can't access MWPError as it's not public
Using the following code it's impossible to parse over the different type of MWPErrors to show different error messages to the user.
MWPClient.getInstance(to: .coinbaseWallet)?.initiateHandshake(initialActions: [
Action(jsonRpc: .personal_sign(address: "", message: "Please sign this message to verify your wallet"))
], onResponse: { [weak self] result, account in
switch result {
case .success(let response):
// success
case .failure(let error):
switch error {
case CoinbaseWalletSDK.MWPError.walletReturnedError(let returnedError):
switch returnedError {
case "User denied request":
// show specific error message to user
default:
// handle failure
}
default:
// handle failure
}
}
})
Ideally we have public access to MWPError so that we can smartly parse the errors and show specific error messages depending on the specific issue.
1.0.3
No response
No response
When using sendTransaction for networks such as Polygon Mumbai, something went wrong error occurs
Use new react native project.
Follow the guide.
Everything works as expected such as request accounts, switch chains.
Proceed to use sendTransaction / signTransaction on Polygon Mumbai / Polygon network.
Get message in Coinbase Wallet app -> something went wrong... sign out etc.
Below is how the request is being made for eth_sendTransaction
const result = await provider.request({ method: 'eth_sendTransaction', params: [{ from: 'my polygon address', to: 'my polygon address', value: '50000', }], });
For value I have used hex value and integer as well with no changes.
What I do before running this request is successfully switch the polygon network on the app via request. I then proceed to do the above request.
A message should appear to sign or send Transaction in the Coinbase app.
1.0.7
No response
No response
Testing on physical device iPhone 16.5.1c.
'SymmetricKey' is only available in iOS 13.0 or newer
Just buid the porject depended on swift-web3model
.
Build success
1.1.0
Please update the Package.switf
and modify the row describing platform.
platforms: [.iOS(.v12)],
-> platforms: [.iOS(.v13)],
iOS
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.