Giter Site home page Giter Site logo

blockchain / my-wallet-v3-android Goto Github PK

View Code? Open in Web Editor NEW
578.0 67.0 289.0 174.12 MB

Blockchain Android Wallet

Home Page: https://play.google.com/store/apps/details?id=piuk.blockchain.android

Java 2.80% Kotlin 97.03% Shell 0.09% Ruby 0.08%
android bitcoin wallet java rxjava2 dagger2 unit-tested kotlin ethereum

my-wallet-v3-android's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

my-wallet-v3-android's Issues

Code for latest 3 versions is missing (8.1.2 - 8.3.1)

In play store the version of the app is: 8.3.1 released on 9 December 2020, while the code in this repo is only for Version 8.1.1 released on Nov 26, 2020.

Please improve your release process to always share the source-code before the app is available in google-play, thus allowing verification via reproducible-builds and usage for people who compile from source, and also will make people calling the app open-source a valid statement.

it looks like this problem occurred in the past as well, here user reported on 19 December 2019, that code for version 6.30.0 is missing while this version was already available from play-store in 10 December 2019.
#1255

Deposit cash error "We were unable to load our bank deposit details"

I'm trying to use the Deposit Cash feature. I signed up with my info and scanned in my DL. Everything went through successfully. When I try to go back to I get an error message "We were unable to load our bank deposit details". Is this because I have to wait until I'm verified?

Why do the XMLs for translations exist in two places?

Hello, there,

I am currently wondering why there are two different places for the translations?

  • /app/src/main/res/values-<LANG>/strings.xml
  • /values-<LANG>/strings.xml

Should these translations not be unified?

Btw: I would like to assist fixing some translation problems with the german language but I don't know where since both xml files seem to have almost, but not entirely the same content.

ETH Support

Please add ETH support on mobile version.

Can't login to app

After scaning the QR Code from website on PC I getting the popup window with this text:

Мы требуем ввода второго пароля, чтобы пользоваться этой услугой. Чтобы настроить свой Ether кошелек, вам нужно будет ввести это только один раз

What the second password? I tryed.. This popup don't passing me..

A random crash occured

MonetaryUtil takes null context and crashes immediately. The case happens when a fragment is detached and getActivity() returns null.

Call stack:
05-11 14:30:32.596 17615-20595/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: piuk.blockchain.android, PID: 17615
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:374)
at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:369)
at info.blockchain.wallet.util.PrefsUtil.getValue(PrefsUtil.java:40)
at info.blockchain.wallet.util.MonetaryUtil.getUndenominatedAmount(MonetaryUtil.java:123)
at info.blockchain.wallet.SendFragment.getLongValue(SendFragment.java:2028)
at info.blockchain.wallet.SendFragment.getSpendAmount(SendFragment.java:1073)
at info.blockchain.wallet.SendFragment.getCoins(SendFragment.java:1089)
at info.blockchain.wallet.SendFragment.access$300(SendFragment.java:98)
at info.blockchain.wallet.SendFragment$7.doInBackground(SendFragment.java:423)
at info.blockchain.wallet.SendFragment$7.doInBackground(SendFragment.java:413)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
at java.lang.Thread.run(Thread.java:818) 

Fix:
0001-Fixed-a-crash-when-MonetaryUtil-is-used-when-in-deta.patch.zip

How to fix "checking API Key error" duing building?

From issue ticket info before, I saw below comments, "you'll need to add a valid google-services.json file in the app root. You'll also need to comment out/remove the afterEvaluate block in build.gradle, which checks for the hash of our specific google-services.json configuration." But I could not find such info anymore.

I acquire google-services.json file from Google website and put the right api key info from this json file to my own security.properties.

Please check below captured build log , is it same cause? Thanks.

Task :app:processEnvDevMinApi16DebugGoogleServices
Parsing json file: /home/meng/source/My-Wallet-V3-Android/app/google-services.json

Task :app:fabricGenerateResourcesEnvDevMinApi16Debug FAILED
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: AIzaSyAHKn5ea_kv4-WCNgvbr26CF2BNvjirQqs.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact [email protected] for assistance.
at com.crashlytics.tools.android.DeveloperTools.processApiKey(DeveloperTools.java:375)
at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:516)
at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
at com.crashlytics.tools.android.DeveloperTools.gradleMain(DeveloperTools.java:292)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Best regards,
-Meng

Mobile only

Have you considered adding an option to make a mobile wallet only?

I mean, when you install the app for the first time, instead of asking the user to register using an e-mail and password, why don't you add an option where the user can just skip the registration and make it so that the wallet is only stored locally in the mobile device.

Users who choose this option would have to save their recovery seed in a safe place to be able to recover their wallets in the future. In my opinion this would be more safe because an online wallet can be hacked easily if the password is weak but to hijack a mobile wallet you would need physical access to the mobile device + the owners pin or fingerprint.

App does not close and return transaction hash to the initial bip21 intent.

After sending a bip21 bitcoin URI to the blockchain app for payment, the app does not return transaction hash in the response back to the first app that sends the intent.
It would be great to follow what Mycelium and Bitcoin android app does as follows:
// Include the transaction hash in the response Intent result = new Intent(); result.putExtra(Constants.TRANSACTION_HASH_INTENT_KEY, _transaction.getHash().toString()); setResult(RESULT_OK, result);

Mocking framework

Hi,

hope find you well with this cold call.

I am an author of mocking framework for Kotlin

I see you are using mockito-kotlin.

I just want you to be aware that there is solution that fully supports Kotlin and ask to try it in your new/current projects.

I can help you if you answer to this issue.

Thanks and please star it

LauncherActivity crash - No definition found for FirebaseInstanceId

Expect

Run the Blockchain Android app from the master branch.

Observe

The app is unable to build.

8/4/20 Pull Request Build Error

No matching client found for package name 'piuk.blockchain.android.dev'

Resolved by refactoring the google-services.json file package_name from "piuk.blockchain.android" to the current build variant's package name piuk.blockchain.android.dev. The 8/3/20 error still persists.

8/3/20 Runtime Error
The app opens the LauncherActivity and immediately crashes.

Caused by: org.koin.core.error.NoBeanDefFoundException: No definition found for class:'com.google.firebase.iid.FirebaseInstanceId'. Check your definitions!

Potentially this is due to an issue with the mock google-services.json, generated from the quickstart script. It seems to be missing the api_key current_key value which could explain the FirebaseId issue. There is also a build error reported with the current merge as well which could be related.

Blockchain > app > src > env > google-services.json

{
  "project_info": {
    "project_number": "623252783566",
    "firebase_url": "https://blockchaintest-ecd1c.firebaseio.com",
    "project_id": "blockchaintest-ecd1c",
    "storage_bucket": "blockchaintest-ecd1c.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:623252783566:android:02baff6e6c46ed96232b9f",
        "android_client_info": {
          "package_name": "piuk.blockchain.android"
        }
      },
      "oauth_client": [
        {
          "client_id": "623252783566-o6j47jlpan97fnibnr0vosvc4lh71sm1.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "INSERT KEY HERE"
        }
      ],
      "services": {
        "appinvite_service": {
          "other_platform_oauth_client": [
            {
              "client_id": "623252783566-o6j47jlpan97fnibnr0vosvc4lh71sm1.apps.googleusercontent.com",
              "client_type": 3
            }
          ]
        }
      }
    }
  ],
  "configuration_version": "1"
}
{
  "project_info": {
    "project_number": "623252783566",
    "firebase_url": "https://blockchaintest-ecd1c.firebaseio.com",
    "project_id": "blockchaintest-ecd1c",
    "storage_bucket": "blockchaintest-ecd1c.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:623252783566:android:02baff6e6c46ed96232b9f",
        "android_client_info": {
          "package_name": "piuk.blockchain.android"
        }
      },
      "oauth_client": [
        {
          "client_id": "623252783566-o6j47jlpan97fnibnr0vosvc4lh71sm1.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "INSERT KEY HERE"
        }
      ],
      "services": {
        "appinvite_service": {
          "other_platform_oauth_client": [
            {
              "client_id": "623252783566-o6j47jlpan97fnibnr0vosvc4lh71sm1.apps.googleusercontent.com",
              "client_type": 3
            }
          ]
        }
      }
    }
  ],
  "configuration_version": "1"
}

Setup

  1. Import from the GitHub repository.
  2. Run the quickstart script from the Android Studio terminal: ./scripts/quick_start.sh
  3. Build > Make Project
  4. Module Build Variants
  • app: envDevDebug
  • Everything else: debug
  1. Branch: origin/master
  2. Devices
  • Google Pixel 1: Android version 10
  • Google Pixel 3a emulator: Android version 10, API 29

Attempt Solutions

  1. Try build variants for app module
    a. envProdDebug - The app runs and crashes immediately throwing the runtime error described above.
    b. envStagingDebug - After adjusting the google-services.json package_name to append .staging, the app runs and crashes immediately throwing the runtime error described above.
    c. envTestnetDebug - Error: "e: /Users/adamhurwitz/Code/Android/Blockchain/app/src/main/java/com/blockchain/koin/modules/apiInterceptorsModule.kt: (17, 77): Unresolved reference: VERSION_NAME_SUFFIX"
    d. envDevRelease
  2. File > Invalidate Caches / Restart ...
  3. Check for Android Studio updates: Android Studio > Check for updates

Android Studio 4.0.1
Build #AI-193.6911.18.40.6626763, built on June 24, 2020
Runtime version: 1.8.0_242-release-1644-b3-6222593 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.6
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 16
Registry: ide.new.welcome.screen.force=true
Non-Bundled Plugins: org.jetbrains.kotlin, cn.wjdghd.unique.plugin.id, com.android.tool.sizereduction.plugin, com.developerphil.adbidea, com.google.services.firebase, com.thoughtworks.gauge, mobi.hsz.idea.gitignore

Full 8/3/20 Runtime Error Log

2020-08-03 22:55:47.754 15660-15660/? E/ckchain.androi: Unknown bits set in runtime_flags: 0x8000
2020-08-03 22:55:49.852 15660-15660/piuk.blockchain.android E/AndroidRuntime: FATAL EXCEPTION: main
Process: piuk.blockchain.android, PID: 15660
java.lang.RuntimeException: Unable to start activity ComponentInfo{piuk.blockchain.android/piuk.blockchain.android.ui.launcher.LauncherActivity}: org.koin.core.error.InstanceCreationException: Could not create instance for [Factory:'piuk.blockchain.android.ui.launcher.LauncherPresenter',scope:Payload]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for [Factory:'piuk.blockchain.android.ui.launcher.LauncherPresenter',scope:Payload]
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:59)
at org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:36)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:87)
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:214)
at org.koin.core.scope.Scope.get(Scope.kt:181)
at piuk.blockchain.android.ui.launcher.LauncherActivity$$special$$inlined$scopedInject$1.invoke(Scope.kt:397)
at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81)
at piuk.blockchain.android.ui.launcher.LauncherActivity.getLauncherPresenter(Unknown Source:7)
at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:49)
at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:29)
at piuk.blockchain.androidcoreui.ui.base.BaseMvpActivity.onCreate(BaseMvpActivity.java:22)
at piuk.blockchain.android.ui.launcher.LauncherActivity.onCreate(LauncherActivity.kt:35)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7356) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for [Single:'com.blockchain.notifications.NotificationTokenManager',scope:Payload]
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:59)
at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:40)
at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:48)
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:87)
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:214)
at org.koin.core.scope.Scope.get(Scope.kt:181)
at com.blockchain.koin.modules.ApplicationModuleKt$applicationModule$1$8$71.invoke(applicationModule.kt:1013)
at com.blockchain.koin.modules.ApplicationModuleKt$applicationModule$1$8$71.invoke(Unknown Source:4)
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
at org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:36) 
at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:87) 
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:214) 
at org.koin.core.scope.Scope.get(Scope.kt:181) 
at piuk.blockchain.android.ui.launcher.LauncherActivity$$special$$inlined$scopedInject$1.invoke(Scope.kt:397) 
at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81) 
at piuk.blockchain.android.ui.launcher.LauncherActivity.getLauncherPresenter(Unknown Source:7) 
at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:49) 
at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:29) 
at piuk.blockchain.androidcoreui.ui.base.BaseMvpActivity.onCreate(BaseMvpActivity.java:22) 
at piuk.blockchain.android.ui.launcher.LauncherActivity.onCreate(LauncherActivity.kt:35) 
at android.app.Activity.performCreate(Activity.java:7802) 
at android.app.Activity.performCreate(Activity.java:7791) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7356) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
Caused by: org.koin.core.error.NoBeanDefFoundException: No definition found for class:'com.google.firebase.iid.FirebaseInstanceId'. Check your definitions!
at org.koin.core.scope.Scope.throwDefinitionNotFound(Scope.kt:247)
at org.koin.core.scope.Scope.resolveInstance(Scope.kt:216)
at org.koin.core.scope.Scope.get(Scope.kt:181)
2020-08-03 22:55:49.852 15660-15660/piuk.blockchain.android E/AndroidRuntime: at com.blockchain.notifications.koin.NotificationModuleKt$notificationModule$1$1$1.invoke(notificationModule.kt:62)
at com.blockchain.notifications.koin.NotificationModuleKt$notificationModule$1$1$1.invoke(Unknown Source:4)
at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
... 34 more
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: java.lang.RuntimeException: Unable to start activity ComponentInfo{piuk.blockchain.android/piuk.blockchain.android.ui.launcher.LauncherActivity}: org.koin.core.error.InstanceCreationException: Could not create instance for [Factory:'piuk.blockchain.android.ui.launcher.LauncherPresenter',scope:Payload]
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.os.Handler.dispatchMessage(Handler.java:107)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.os.Looper.loop(Looper.java:214)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.ActivityThread.main(ActivityThread.java:7356)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at java.lang.reflect.Method.invoke(Native Method)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for [Factory:'piuk.blockchain.android.ui.launcher.LauncherPresenter',scope:Payload]
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:59)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:36)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:87)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.resolveInstance(Scope.kt:214)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.get(Scope.kt:181)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.android.ui.launcher.LauncherActivity$$special$$inlined$scopedInject$1.invoke(Scope.kt:397)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.android.ui.launcher.LauncherActivity.getLauncherPresenter(Unknown Source:7)
2020-08-03 22:55:49.854 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:49)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.android.ui.launcher.LauncherActivity.createPresenter(LauncherActivity.kt:29)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.androidcoreui.ui.base.BaseMvpActivity.onCreate(BaseMvpActivity.java:22)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at piuk.blockchain.android.ui.launcher.LauncherActivity.onCreate(LauncherActivity.kt:35)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.Activity.performCreate(Activity.java:7802)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.Activity.performCreate(Activity.java:7791)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: ... 11 more
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for [Single:'com.blockchain.notifications.NotificationTokenManager',scope:Payload]
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:59)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:40)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:48)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:87)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.resolveInstance(Scope.kt:214)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.get(Scope.kt:181)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.blockchain.koin.modules.ApplicationModuleKt$applicationModule$1$8$71.invoke(applicationModule.kt:1013)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.blockchain.koin.modules.ApplicationModuleKt$applicationModule$1$8$71.invoke(Unknown Source:4)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: ... 26 more
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: Caused by: org.koin.core.error.NoBeanDefFoundException: No definition found for class:'com.google.firebase.iid.FirebaseInstanceId'. Check your definitions!
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.throwDefinitionNotFound(Scope.kt:247)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.resolveInstance(Scope.kt:216)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.scope.Scope.get(Scope.kt:181)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.blockchain.notifications.koin.NotificationModuleKt$notificationModule$1$1$1.invoke(notificationModule.kt:62)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at com.blockchain.notifications.koin.NotificationModuleKt$notificationModule$1$1$1.invoke(Unknown Source:4)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
2020-08-03 22:55:49.855 15660-15660/piuk.blockchain.android E/UncaughtExceptionHandler: ... 34 more
2020-08-03 22:55:49.858 15660-15712/piuk.blockchain.android E/FirebaseCrashlytics: Tried to write a fatal exception while no session was open.
2020-08-03 22:55:49.884 688-688/? E/lowmemorykiller: Error writing /proc/15660/oom_score_adj; errno=22

google-services.json is missing

Error:Execution failed for task ':app:processDevDebugGoogleServices'.

File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:
C:\Users\Thapelo\Documents\My-Wallet-V3-Android-master\app\src\dev\debug\google-services.json
C:\Users\Thapelo\Documents\My-Wallet-V3-Android-master\app\src\debug\dev\google-services.json
C:\Users\Thapelo\Documents\My-Wallet-V3-Android-master\app\src\dev\google-services.json
C:\Users\Thapelo\Documents\My-Wallet-V3-Android-master\app\src\debug\google-services.json
C:\Users\Thapelo\Documents\My-Wallet-V3-Android-master\app\google-services.json

Mid 2015 blockchain app

Very sorry for posting here. I am getting nowhere fast with support. And I'm desperate.

I lost all my coin when blockchain updated to v4.0 late 2015

I have been doing a lot of research.

Can anyone make available to me Version 3 or 3.5 - anything before November\December 2015 [v4] update that required pairing to the website. I want the old blockchain app that set up an account based on telephone and pin. I previously never had to sign up to the website to use the app. This is what has caused me the issue. My old phone still has the sim card and hasn't been reset. I want to try and see if it work if I install the old app on my phone.

I have managed to find the 4.1/4.01 Blockchain app from December 2015 (from an old repository), this required me pairing my phone to my web account, this is the fundamentally different to how I used blockchain.

Really looking for help. I'll pay some btc if it works out.

Regards
Kepners

Can't run project ?

Hello you guys,
I think the problem is due to no app / secrets.properties file, so
Where should I find the app / secrets.properties file?
TKs.

Error:Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/hungdct/Downloads/My-Wallet-V3-Android-master/app/build.gradle' line: 32

* What went wrong:
A problem occurred evaluating project ':app'.
> File secrets.properties does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

Wallet missing

Help? Yesterday on my android my coins were stuck in my locked wallet all day. Then I somehow had to recover my wallet because when i opened the app instead of code unlock it had recover wallet... i used my passphrase on my laptop i recovered a wallet. Empty no history like a brand new wallet...i can't seem to get any response from block chain email... anyone help me?? Ty

ERC20 Token

Please add ERC20 Token support on mobile version.
or can add custom ERC20 Token.

Make the build verifiable

A wallet application is something very sensitive. A careless maintainer catching a backdoor might be enough to have an APK infected if internally build verification is not routinely exercised. Of course the public scrutiny is the other reason you want your app to be verifiable.

I tried to reproduce the current build but failed. My findings are in this review.

Fixing #1250 would probably help a lot.

With 5 million users I hope you see the urgency in making the app verifiable.

Internet explorer

when using a browser the apps asks for internet explorer on android ^^ !!! Can that be switched to chrome by default. I mean internent explorer does not even exist on goog play ... also the page redirects to a weird link that proposes other links to browsers...

google-services.json is missing

Execution failed for task ':app:processEnvDevDebugGoogleServices'.

File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:
E:\workspace\My-Wallet-V3-Android\app\src\env\dev\debug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\envDev\debug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\debug\envDev\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\env\debug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\env\dev\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\env\devDebug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\envDev\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\debug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\envDevDebug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\env\google-services.json
E:\workspace\My-Wallet-V3-Android\app\src\envDebug\google-services.json
E:\workspace\My-Wallet-V3-Android\app\google-services.json

android intent to get new receive address

hi, guys am looking if its possible to through an android intent get a new receiving address. The idea is from our app to call a "fetch new address" and return this to our app. we can then deposit btc to that address such that we can give users bitcoins as a reward. Please can you help

thanks

Request an apikey

Hi team
I entered full information to register. But I get an error: "Error Invalid string."
Please support me. Thanks

(BUG)The app gets crashes when I use the login option and click the scan pairing code

Project Information

Expected behavior

When I use the log in option, my account should open in the application and when I click the scan pairing code, the application should not crash.

Actual behavior

The app gets crashes when I use the login option and click the scan pairing code

How to reproduce

  • open the application

  • open the LOG IN option

  • click on the scan pairing code

  • Note the Error

  • Browser/App version: 6.25.3

  • Operating system: 6.0

Recording Of The Bug

20190608_165306

Logcat

E/AndroidRuntime( 2258): FATAL EXCEPTION: main

E/AndroidRuntime( 2258): Process: piuk.blockchain.android, PID: 2258

E/AndroidRuntime( 2258): android.content.res.Resources$NotFoundException: Resource ID #0x7f080195

E/AndroidRuntime( 2258): 	at android.content.res.Resources.getValue(Resources.java:1542)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)

E/AndroidRuntime( 2258): 	at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:125)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:210)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:187)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:196)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:476)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1164)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:95)

E/AndroidRuntime( 2258): 	at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:291)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1051)

E/AndroidRuntime( 2258): 	at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1078)

E/AndroidRuntime( 2258): 	at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:460)

E/AndroidRuntime( 2258): 	at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:55)

E/AndroidRuntime( 2258): 	at android.os.Handler.handleCallback(Handler.java:739)

E/AndroidRuntime( 2258): 	at android.os.Handler.dispatchMessage(Handler.java:95)

E/AndroidRuntime( 2258): 	at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime( 2258): 	at android.app.ActivityThread.main(ActivityThread.java:5910)

E/AndroidRuntime( 2258): 	at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime( 2258): 	at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime( 2258): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)

E/AndroidRuntime( 2258): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

Blockchain Wallet is overly strict when scanning a QR code to send Bitcoins

I have found a weird behavior that appears to be a bug in the last version of Blockchain Wallet that can be downloaded on Google Play. I have not tried to download the latest version of the software via GitHub as I'm not proficient enough to compile the source code by myself.

What happens is that Blockchain Wallet has become much stricter when it comes to scanning a QR code in order to send Bitcoins. Before, it would accept inputs like "bitcoin:34uLTSfyqNh41oTZMaYas6DY1nBNRbu5ZZ" or "bitcoin:34uLTSfyqNh41oTZMaYas6DY1nBNRbu5ZZ?amount=0.064950". However, the newest version of Blockchain Wallet do not accept those inputs anymore. The only way I can get the address to be accepted is if it's entered without any prefix or suffix ("34uLTSfyqNh41oTZMaYas6DY1nBNRbu5ZZ").

The reason I think it's a bug is the following:

  1. When it comes to sending Bitcoins, the latest iOS application on Apple Store accepts inputs like "bitcoin:34uLTSfyqNh41oTZMaYas6DY1nBNRbu5ZZ" or "bitcoin:34uLTSfyqNh41oTZMaYas6DY1nBNRbu5ZZ?amount=0.064950".
  2. When it comes to receiving Bitcoins, the latest Android application generates a QR code that contains the "bitcoin:" prefix. In other words, the QR code Blockchain Wallet generates to receive Bitcoins is not even accepted as an input to send Bitcoins.

Can someone confirm if this new behavior is wanted or not?

Is it possible to create a new account without a password?

My name is Chris, and I run a service to help folks that hold cryptoassets recover lost passwords.

I have a client whose Andriod phone was stolen, and who doesn't have the 12 word recovery key.

She still controls the email address associated with the wallet and was able to retrieve her Wallet ID. Through her Wallet ID I was able to download a backup of her wallet (the wallet.aes.json file). In general, if the account holder has a good idea of their password that's enough information to brute force recover the password.

However, my client is adamant that she never created a password when she created the Blockchain.info account on her phone. She claims to have only created a 4-character pin or used her thumbprint to access the account.

(In my testing I always have to create a 9-character+ password).

Is it possible that my client is right? Is it possible to create a Blockchain.info account on an Android phone without a password? If so, do you create a default password (perhaps based on the pin?) for those accounts.

Thank you -- I really appreciate your help.

Opening the wallet from recent apps does not require PIN

I don't know if this is intended behavior or a bug but when opening the Blockchain.info Wallet (v 6.1.26) from the recent apps menu the pin code is not required.
When first opening the app the pin is still asked for.

I made a video documenting the bug: https://youtu.be/w0Nca2lsuPw

I am using the Nextbit Robin with its stock ROM (Android 6.0.1)

I will be happy to provide more info on request.

File secrets.properties does not exist

The application does not compile due to the following error:

* Where:
Build file '/My-Wallet-V3-Android/app/build.gradle' line: 29

* What went wrong:
A problem occurred evaluating project ':app'.
> File secrets.properties does not exist.

Root warning disable

Hi,

It is a bit annoying every time I open the Blockchain app I get a warning about my device being rooted and the security implications, I understand it can make your device a lot more vulnerable and I am ok with that due to all the apps which have root access on my handset have been code audited.

Is there any way to have a "don't show again" option in preference? It's small I know but a bit of a pain none the less.

Thank you for such an amazing app

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.