Giter Club home page Giter Club logo

breadwallet-android's Introduction

This repository is unmaintained, BRD Android has moved to https://github.com/breadwallet/brd-mobile

Bread

BRD is the best way to get started with bitcoin. Our simple, streamlined design is easy for beginners, yet powerful enough for experienced users.

Fastsync

Fastsync is a new feature in the BRD app that makes Bitcoin wallets sync in seconds, while also keeping BRD technology ahead of the curve as SPV slowly phases out. When Fastsync is enabled the BRD wallet uses our server technology, Blockset to sync, send and receive instantly!

Your Decentralized Bitcoin Wallet

Unlike other Android bitcoin wallets, BRD users have the option to disable Fastsync converting the wallet into a standalone bitcoin client. It connects directly to the bitcoin network using SPV mode, and doesn't rely on servers that can be hacked or disabled. If BRD the company disappears, your private key can still be derived from the recovery phrase to recover your funds since your funds exist on the blockchain.

Cutting-edge security

BRD utilizes the latest Android security features to protect users from malware, browser security holes, and even physical theft. The user’s private key is encrypted using the Android Keystore, inaccessible to anyone other than the user.

Designed with New Users in Mind

Simplicity and ease-of-use is BRD's core design principle. A simple recovery phrase (which we call a recovery key) is all that is needed to restore the user's wallet if they ever lose or replace their device. BRD is deterministic, which means the user's balance and transaction history can be recovered just from the recovery key.

Features

  • Supports wallets for Bitcoin, Bitcoin Cash, Ethereum and ERC-20 tokens, Ripple, Hedera, Tezos
  • Single recovery key is all that's needed to backup your wallet
  • Private keys never leave your device and are end-to-end encrypted when using iCloud backup
  • Save a memo for each transaction (off-chain)

Bitcoin Specific Features

Localization

BRD is available in the following languages:

  • Chinese (Simplified and traditional)
  • Danish
  • Dutch
  • English
  • French
  • German
  • Italian
  • Japanese
  • Korean
  • Portuguese
  • Russian
  • Spanish
  • Swedish

Development Setup

  1. Clone the repo: git clone [email protected]:breadwallet/breadwallet-android.git
  2. Open breadwallet-android in IntelliJ IDEA or Android Studio
  3. Click Build > Build Project

Advanced Setup

Blockset Client Token

The Blockset client token can be set in gradle.properties or by using -PBDB_CLIENT_TOKEN="<client token>". A default token is available for testing.

Firebase

To enable Firebase services like Crashlytics, add the google-services.json file into the app directory. Without this file, runtime Firebase dependencies are still used but do not start and the Google Services gradle plugin is disabled so builds will succeed.


BRD is open source and available under the terms of the MIT license.

Source code is available at https://github.com/breadwallet

breadwallet-android's People

Contributors

ahsanb786 avatar dabitdev avatar drewcarlson avatar dts avatar gutyn avatar harlantwood avatar jadebyfield89 avatar jmacwhyte avatar pbudelli avatar samuraisam avatar shivangigandhi avatar tyzbit avatar voisine avatar

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

breadwallet-android's Issues

BCH Fee Estimation

Right now fees are WAY too high for BCH. The network allows for fees of < 1 cent, yet Bread is charging 7 cents. Over 700% too high!

Please fix this, this is a major blocker for users of your wallet.

CreateProcess error=2

Hello, I am trying to run the breadwallet-android project in Android Studio. However, I keep coming across the same error despite multiple google searches on how to resolve it. The error is:

Gradle 'breadwallet-android' project refresh failed
Error: CreateProcess error=2, The system cannot find the file specified

I went through the setup tutorial listed here: https://github.com/breadwallet/breadwallet-android
I am also not sure if there is a log that shows a more detailed explanation of what the error is.

Jomnes

Multiple build operations failed while compiling/build

Hi,

I'm trying to compile android wallet. I have installed and setup Android Studio, SDK, NDK, submodules git pull and git checkout master after updating.

When I try to compile either via Android Studio or command line I get the following errors:

:breadwallet-android satinder$ ./gradlew build
please apply google-services plugin at the bottom of the build file.
Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2531Library
:app:prepareComAndroidSupportAppcompatV72531Library
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportCompat2531Library
:app:prepareComAndroidSupportSupportCoreUi2531Library
:app:prepareComAndroidSupportSupportCoreUtils2531Library
:app:prepareComAndroidSupportSupportFragment2531Library
:app:prepareComAndroidSupportSupportMediaCompat2531Library
:app:prepareComAndroidSupportSupportV132531Library
:app:prepareComAndroidSupportSupportV42531Library
:app:prepareComAndroidSupportSupportVectorDrawable2531Library
:app:prepareComGoogleAndroidGmsPlayServicesBasement1001Library
:app:prepareComGoogleAndroidGmsPlayServicesTasks1001Library
:app:prepareComGoogleFirebaseFirebaseAnalytics1001Library
:app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1001Library
:app:prepareComGoogleFirebaseFirebaseCommon1001Library
:app:prepareComGoogleFirebaseFirebaseCore1001Library
:app:prepareComGoogleFirebaseFirebaseCrash1001Library
:app:prepareComGoogleFirebaseFirebaseIid1001Library
:app:prepareDebugDependencies
:app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/bench_internal.c:12:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num_impl.h:14:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:19:2: error: "Please select num implementation"
#error "Please select num implementation"
 ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:32: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                               ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:56: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                                                       ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:27:78: error: unknown type name 'secp256k1_num'
static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a);
                                                                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:30:35: error: unknown type name 'secp256k1_num'
static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:39: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:63: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:87: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:39: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:63: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:36: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                   ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:60: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                                           ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:35: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:59: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                                          ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:79: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/secp256k1.c:10:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num_impl.h:14:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:19:2: error: "Please select num implementation"
#error "Please select num implementation"
 ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:32: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                               ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:56: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                                                       ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:27:78: error: unknown type name 'secp256k1_num'
static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a);
                                                                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:30:35: error: unknown type name 'secp256k1_num'
static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:39: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:63: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:87: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:39: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:63: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:36: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                   ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:60: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                                           ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:35: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:59: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                                          ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:79: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/tests_exhaustive.c:25:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/group.h:10:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:19:2: error: "Please select num implementation"
#error "Please select num implementation"
 ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:32: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                               ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:56: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                                                       ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:27:78: error: unknown type name 'secp256k1_num'
static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a);
                                                                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:30:35: error: unknown type name 'secp256k1_num'
static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:39: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:63: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:87: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:39: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:63: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:36: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                   ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:60: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                                           ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:35: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:59: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                                          ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:79: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/tests.c:17:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/secp256k1.c:10:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num_impl.h:14:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:19:2: error: "Please select num implementation"
#error "Please select num implementation"
 ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:32: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                               ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:23:56: error: unknown type name 'secp256k1_num'
static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a);
                                                       ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:27:78: error: unknown type name 'secp256k1_num'
static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a);
                                                                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:30:35: error: unknown type name 'secp256k1_num'
static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:39: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:63: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:33:87: error: unknown type name 'secp256k1_num'
static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m);
                                                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:39: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:36:63: error: unknown type name 'secp256k1_num'
static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b);
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:36: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                   ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:39:60: error: unknown type name 'secp256k1_num'
static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b);
                                                           ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:35: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                  ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:42:59: error: unknown type name 'secp256k1_num'
static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b);
                                                          ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:45:79: error: unknown type name 'secp256k1_num'
static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:31: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/secp256k1/src/num.h:48:55: error: unknown type name 'secp256k1_num'
static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b);
                                                      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/PeerManager.c:25:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/PeerManager.h:27:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRPeerManager.h:28:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRPeer.h:30:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRAddress.h:28:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: warning: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)' [-Wimplicit-function-declaration]
    void *(*volatile const memset_ptr)(void *, int, size_t) = memset;
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: note: include the header <string.h> or explicitly provide a declaration for 'memset'
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/PeerManager.c:32:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.h:206:30: warning: no newline at end of file [-Wnewline-eof]
#endif //BREADWALLET_WALLET_H
                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/PeerManager.c:282:78: error: too many arguments to function call, expected 9, have 10
                                  saveBlocks, savePeers, networkIsReachable, threadCleanup);
                                                                             ^~~~~~~~~~~~~
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRPeerManager.h:58:1: note: 'BRPeerManagerSetCallbacks' declared here
void BRPeerManagerSetCallbacks(BRPeerManager *manager, void *info,
^
2 warnings and 1 error generated.

In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.c:25:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.h:26:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRWallet.h:29:
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRAddress.h:28:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: warning: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)' [-Wimplicit-function-declaration]
    void *(*volatile const memset_ptr)(void *, int, size_t) = memset;
                                                              ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: note: include the header <string.h> or explicitly provide a declaration for 'memset'
In file included from /Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.c:25:
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.h:206:30: warning: no newline at end of file [-Wnewline-eof]
#endif //BREADWALLET_WALLET_H
                             ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.c:648:61: error: too few arguments to function call, expected 5, have 4
    BRWalletSignTransaction(_wallet, tmpTx, key.u8, seedSize);
    ~~~~~~~~~~~~~~~~~~~~~~~                                 ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRWallet.h:139:1: note: 'BRWalletSignTransaction' declared here
int BRWalletSignTransaction(BRWallet *wallet, BRTransaction *tx, int forkId, const void *seed, size_t seedLen);
^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/transition/wallet.c:809:37: error: too few arguments to function call, expected 4, have 3
    BRTransactionSign(tmpTx, &key, 1);
    ~~~~~~~~~~~~~~~~~               ^
/Users/satinder/Documents/Github/breadwallet-android/app/src/main/jni/breadwallet-core/BRTransaction.h:130:1: note: 'BRTransactionSign' declared here
int BRTransactionSign(BRTransaction *tx, int forkId, BRKey keys[], size_t keysCount);
^
2 warnings and 2 errors generated.

:app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC'.
> Multiple build operations failed.
      C compiler failed while compiling bench_internal.c.
      C compiler failed while compiling secp256k1.c.
      C compiler failed while compiling tests_exhaustive.c.
      C compiler failed while compiling tests.c.
      C compiler failed while compiling PeerManager.c.
      C compiler failed while compiling wallet.c.
  See the complete log at: file:///Users/satinder/Documents/Github/breadwallet-android/app/build/tmp/compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC/output.txt

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

BUILD FAILED

Total time: 6.306 secs

It looks like related to GMP (missing??).
I couldn't find good resource to help me compile and install GMP on my NDK installation.

I found precompiled GMP, but I couldn't make it work with it.

Can you please help me resolve the issue?

If you guys hang out on IRC or Slack chat somewhere, it would be great to have word with you and get live help to make things done faster.

Thanks & Regards,
Satinder

Imported Private Key sent to address not in Wallet

I may be missing something, but upon importing a private key from a paper wallet QR code I see the transaction was sent to an address that is not in the m/0'/0 derivation path I was expecting (and where my other wallet funds are). Is the address it was sent to on a different path?

breadwallet-android\app\src\main\jni\breadwallet-core\BRAddress.c

C:\Users\niewenlong\Documents\GitHub\breadwallet-android\app\src\main\jni\breadwallet-core\BRAddress.c
Error:(281) undefined reference to BRBech32Encode' Error:(378) undefined reference toBRBech32Decode'
Error:(404) undefined reference to `BRBech32Decode'
I don't know what the problem is. I want to ask you to help you. Thank you.

API < 23?

Any chances of adding support for previous version of Android than those with API level 23?

I'm asking because it seems there is a support library with the FingerprintManager class, although I haven't tried it myself.

correct pin code fails

Most of the time I start Breadwallet on Android 6.0.1 GS5, it prompts for the pin and when I type the correct pin it says "sorry, try again" and I have to keep trying. Eventually it gives me a timeout of 30 seconds.
Once the 30 seconds are up it repeats.
Other times it lets me in but I haven't figured out how to get in again but I know it's the correct pin.

error: "Please select num implementation"

I would make my own app with android studio.
But i cannot "Make Project", i become this: error: "Please select num implementation"
Is there someone who knows where this error comes from?

bereich

Error:CreateProcess error=2

Gradle 'breadwallet-android-master' project refresh failed
Error:CreateProcess error=2, 系统找不到指定的文件。

breadwallet freezes on mobile data

Device: Galaxy S6
OS: Android 6.0.1
Causes:

  • recovering a wallet on mobile data after a fresh installation or
  • using a on mobile data wallet recovered while using wifi from a fresh installation
    Symptoms:
  • no sync status
  • cannot use sidebar (app will crash)
    Notes:
    Swiping left and right at the main page seems fine. The wallet address is displayed along with options to send money. Scanning a QR code causes a crash too. Trying to use the menu to view transactions or settings causes the app to stop responding.

Logcat:
http://pastebin.com/wCqbvWEv

Add (optional) BIP148 mode

It should be possible to enforce BIP148 even with SPV wallets, as BIP148 only enforces versionbit signalling and therefore should be viable in header-chain mode.

Error when rebuild

_peerManager = BRPeerManagerNew(_wallet, (uint32_t) earliestKeyTime, _blocks,
(size_t) blocksCount,
_peers, (size_t) peersCount);

Error:(296, 68) error: too few arguments to function call, expected 7, have 6

Why it does not work, 23 api level and lower ?

Hey

I recently wanted to compile the code. for myself,
and it seems to be like , it won't work on devices that have lower version of sdk
like here. on virtual device. api level above 25 it works..
red line. api level 22 it won't work ...

what do i need , in order to make it work with that.. and even lower api levels ?

capture

Support UI Glitches / Missing Content

Right now the support section has padding and layout issues. Headers on all the pages are covered by the header, and there is almost no content about BCH.

This should be a minor change, and will lead to a much more polished UI.

Question: TestNet support

Hi there !
I want to test wallet using TestNet network, how can I use you wallet with TestNet ?
I've added testnet node, but where I can find QR code or my wallet address ?
Thanks

build fail

hi:
Information:(326, 21) include the header <stdlib.
h> or explicitly provide a declaration for 'calloc'
C:\Users\kimi\Desktop\skycoin\breadwallet-android\app\src\main\jni\transition\wallet.c:543:20: warning: implicitly declaring library function 'malloc' with type 'void *(unsigned long)' [-Wimplicit-function-declaration]
Information:(543, 20) include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
C:\Users\kimi\Desktop\skycoin\breadwallet-android\app\src\main\jni\transition\wallet.c:568:28: warning: implicit declaration of function 'u256_hex_decode' is invalid in C99 [-Wimplicit-function-declaration]
Error:(568, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(583, 73) warning: format specifies type 'long long' but the argument has type 'jlong' (aka 'long') [-Wformat]
Warning:(591, 66) warning: format specifies type 'long long' but the argument has type 'jlong' (aka 'long') [-Wformat]
Warning:(699, 33) warning: format spec
Error:(857, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(860, 38) warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
Warning:(876, 38) warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
Error:(886, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(893, 11) warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
Warning:(139, 27) warning: implicit declaration of function 'u256_hex_encode' is invalid in C99 [-Wimplicit-function-declaration]
Warning:(893, 11) warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
please help me,thx

Missing feature: insufficient funds when device is locked

How to reproduce: On one device, "request an amount" for more than what is in the second device's wallet. Start breadwallet on the second device, but do not unlock the wallet (i.e. the lock icon still shows in the top right). When you scan the QR with the second device, you will get the message "insufficient funds for bitcoin network fee" with an "ok" button.

Instead, the user should be asked to enter their passcode to complete the payment (which also unlocks the wallet), and should then be told their balance is insufficient and asked if they would like to change the send amount.

See iOS implementation for reference.

Error: multiple definition of `BRBitcoinAmount'

Information:Gradle tasks [:app:assembleDebug]
E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\BRWallet.c
Error:(1197) multiple definition of BRBitcoinAmount' Error:(248) multiple definition of BRLocalAmount'
Error:(248) multiple definition of BRWalletAddressIsUsed' Error:(248) multiple definition of BRWalletAllAddrs'
Error:(248) multiple definition of BRWalletAmountReceivedFromTx' Error:(248) multiple definition of BRWalletAmountSentByTx'
Error:(248) multiple definition of BRWalletBalance' Error:(248) multiple definition of BRWalletBalanceAfterTx'
Error:(248) multiple definition of BRWalletContainsAddress' Error:(248) multiple definition of BRWalletContainsTransaction'
Error:(248) multiple definition of BRWalletCreateTransaction' Error:(248) multiple definition of BRWalletCreateTxForOutputs'
Error:(248) multiple definition of BRWalletFeeForTx' Error:(248) multiple definition of BRWalletFeeForTxAmount'
Error:(248) multiple definition of BRWalletFeeForTxSize' Error:(248) multiple definition of BRWalletFeePerKb'
Error:(248) multiple definition of BRWalletFree' Error:(248) multiple definition of BRWalletMaxOutputAmount'
Error:(248) multiple definition of BRWalletMinOutputAmount' Error:(248) multiple definition of BRWalletNew'
Error:(248) multiple definition of BRWalletReceiveAddress' Error:(248) multiple definition of BRWalletRegisterTransaction'
Error:(248) multiple definition of BRWalletRemoveTransaction' Error:(248) multiple definition of BRWalletSetCallbacks'
Error:(248) multiple definition of BRWalletSetFeePerKb' Error:(248) multiple definition of BRWalletSetTxUnconfirmedAfter'
Error:(248) multiple definition of BRWalletSignTransaction' Error:(248) multiple definition of BRWalletTotalReceived'
Error:(248) multiple definition of BRWalletTotalSent' Error:(248) multiple definition of BRWalletTransactionForHash'
Error:(248) multiple definition of BRWalletTransactionIsPending' Error:(248) multiple definition of BRWalletTransactionIsValid'
Error:(248) multiple definition of BRWalletTransactionIsVerified' Error:(248) multiple definition of BRWalletTransactions'
Error:(248) multiple definition of BRWalletTxUnconfirmedBefore' Error:(248) multiple definition of BRWalletUTXOs'
Error:(248) multiple definition of BRWalletUnusedAddrs' Error:(248) multiple definition of BRWalletUpdateTransactions'
E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\BRBloomFilter.c
Error:(126) multiple definition of BRBloomFilterContainsData' E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\transition\JNIBase58.c Error:(13) multiple definition of Java_com_jniwrappers_BRBase58_base58Encode'
E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\BRCrypto.c
Error:(661) multiple definition of BRChacha20' Error:(76) multiple definition of BRChacha20Poly1305AEADDecrypt'
Error:(76) multiple definition of BRChacha20Poly1305AEADEncrypt' Error:(76) multiple definition of BRHMAC'
Error:(76) multiple definition of BRHMACDRBG' Error:(76) multiple definition of BRHash160'
Error:(76) multiple definition of BRMD5' Error:(76) multiple definition of BRMurmur3_32'
Error:(76) multiple definition of BRPBKDF2' Error:(76) multiple definition of BRPoly1305'
Error:(76) multiple definition of BRRMD160' Error:(76) multiple definition of BRSHA1'
Error:(76) multiple definition of BRSHA224' Error:(76) multiple definition of BRSHA256'
Error:(76) multiple definition of BRSHA256_2' Error:(76) multiple definition of BRSHA384'
Error:(76) multiple definition of BRSHA512' Error:(76) multiple definition of BRScrypt'
E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\transition\wallet.c
Error:(757) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_addInputToPrivKeyTx' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_addressContainedInWallet'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_addressIsUsed' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_bitcoinAmount'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_confirmKeySweep' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_createInputArray'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_createTxArrayWithCount' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_createWallet'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_decryptBip38Key' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_encodeSeed'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_feeForTransaction' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getAddressFromPrivKey'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getAuthPrivKeyForAPI' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getAuthPublicKeyForAPI'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getBCashBalance' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getFirstAddress'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getMasterPubKey' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getMaxOutputAmount'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getMinOutputAmount' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getMinOutputAmountRequested'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getPrivKeyObject' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getReceiveAddress'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getSeedFromPhrase' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getTotalSent'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getTransactions' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_getTxCount'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_isCreated' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_isTestNet'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_isValidBitcoinBIP38Key' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_isValidBitcoinPrivateKey'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_localAmount' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_publishSerializedTransaction'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_putTransaction' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_reverseTxHash'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_setFeePerKb' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_sweepBCash'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_transactionIsVerified' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_tryTransaction'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_validateAddress' Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_validateRecoveryPhrase'
Error:(65) multiple definition of Java_com_breadwallet_wallet_BRWalletManager_walletFreeEverything' Error:(65) multiple definition of callback'
E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\BRPeer.c
Error:(1532) multiple definition of BRPeerAcceptMessageTest' E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\BRBIP39Mnemonic.c Error:(64) multiple definition of BRBIP39Decode'
Error:(33) multiple definition of BRBIP39DeriveKey' Error:(33) multiple definition of BRBIP39Encode'
Error:(33) multiple definition of BRBIP39PhraseIsValid' E:\MIAN_android\Qianbao\breadwallet-android\app\src\main\jni\breadwallet-core\test.c Error:(1326) multiple definition of BRAddressTests'
Error:(61) multiple definition of BRArrayTests' Error:(61) multiple definition of BRAuthEncryptTests'
Error:(61) multiple definition of BRBIP32SequenceTests' Error:(61) multiple definition of BRBIP38KeyTests'
Error:(61) multiple definition of BRBIP39MnemonicTests' Error:(61) multiple definition of BRBase58Tests'
Error:(61) multiple definition of BRBloomFilterTests' Error:(61) multiple definition of BRCypherTests'
Error:(61) multiple definition of BRDrbgTests' Error:(61) multiple definition of BRHashTests'
Error:(61) multiple definition of BRIntsTests' Error:(61) multiple definition of BRKeyTests'
Error:(61) multiple definition of BRMacTests' Error:(61) multiple definition of BRMerkleBlockTests'
Error:(61) multiple definition of BRPaymentProtocolEncryptionTests' Error:(61) multiple definition of BRPaymentProtocolTests'
Error:(61) multiple definition of BRPeerTests' Error:(61) multiple definition of BRRunTests'
Error:(61) multiple definition of BRSetTests' Error:(61) multiple definition of BRTransactionTests'
Error:(61) multiple definition of BRWalletTests' Error:(61) multiple definition of main'
Error:(61) multiple definition of syncStarted' Error:(61) multiple definition of syncStopped'
Error:(61) multiple definition of `txStatusUpdate'
Error:error: linker command failed with exit code 1 (use -v to see invocation)
Error:Execution failed for task ':app:linkCoreArm64-v8aDebugSharedLibrary'.

A build operation failed.
Linker failed while linking libcore.so.
See the complete log at: file:///E:/MIAN_android/Qianbao/breadwallet-android/app/build/tmp/linkCoreArm64-v8aDebugSharedLibrary/output.txt

Connect android breadwallet with Multichain

Hi,

I want to connect the Android breadwallet app with a private multichain I have set up in localhost.
I have found some instructions on how to do this here, but this is not for the Android ported app.
Could you help me make the same modifications (DNS seeds, blockchain checkpoints, version message exchange) in the Android app source code?

Many thanks in advance!
Natassa

New feature: Changing fees

The only thing this wallet is truly missing is the ability to overwrite the auto-generated fees. By default, obviously, the wallet should use the dynamic fees (to prevent newbies from complaining that their transactions aren't going through).

What are your thoughts?

Disable protocol version check when connecting with remote peer

Hi all,
I'm in the process of connecting the android breadwallet app with a private multichain which I have set up on my localhost. In the mobile device where the breadwallet app runs, the connection keeps syncing (until 5%) and gets stuck without either connecting or displaying the message 'not connected'.

In the Multichain logs I can see that the connection gets stuck when the minimum parameter set is sent from the Multichain node to the breadwallet node. I suppose the problem is that the breadwallet app can't accept the protocol version of the Multichain node (10008).
Multichain developers propose to

Ensure the wallet accepts the protocol-version which is defined on your chain, or remove the check completely to allow your protocol to be upgraded in future.

The question is, how can I completely remove the check for the version of the remote peer within the breadwallet android code? Many thanks in advance for your help!

Regards,
Natassa

send address as message broken

report from aaron g:

"can't send message from app. it asked whether i wanted to use hangouts or sms and I selected hangouts. then it just went away. when I try to do it again, it says I have to enable SMS in settings. but there is no such setting."

relayed orphan block !!!

we implement our network and genesis block as a test network and apply our changes to breadwallet-core
it woke for 2 days and breadwallet has been synced without any problem
today when app was syncing , we faced with "relayed orphan block !!!" error and not synced to network
any idea ?

App crashed

Please test following:
-go to "request an amount"
-write some Bitcoin
-change Bitcoin to Euro (or your curency)
The app will chrash. I have tested with HTC M8 and Samsung S5

screenshot1 mobile

Build Failed

Hi, I am having some trouble running the breadwallet-android project in Android Studio. I get the following error:

A build operation failed.
C compiler failed while compiling BRBIP32Sequence.c.

Information:Gradle tasks [:app:assembleDebug]
Information:(Unknown) In file included
C:\wallet\breadwallet-android\app\src\main\jni\breadwallet-core\BRBIP32Sequence.h
Error:(76, 83) error: unknown type name 'va_list'
Information:(Unknown) In file included
C:\wallet\breadwallet-android\app\src\main\jni\breadwallet-core\BRCrypto.h
C:\wallet\breadwallet-android\app\src\main\jni\breadwallet-core\BRBIP32Sequence.c
Error:Execution failed for task ':app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC'.

A build operation failed.
C compiler failed while compiling BRBIP32Sequence.c.
See the complete log at: file:///C:/wallet/breadwallet-android/app/build/tmp/compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC/output.txt
Information:BUILD FAILED
Information:Total time: 12.65 secs
Information:2 errors
Information:6 warnings
Information:See complete output in console

Any help would be greatly appreciated

Jomnes

question on adding a new coin

Hi, I'm experimenting with adding a new coin. However, even though I'm pulling blocks from block #1, they all get relegated to orphan status because I have no 'prev'. Is there something you do to place the genesis block so that this doesn't happen? I'm totally perplexed.

In _peerRelayedBlock(void *info, BRMerkleBlock *block), where you have

    prev = BRSetGet(manager->blocks, &block->prevBlock);

    if (prev) {
        txTime = block->timestamp/2 + prev->timestamp/2;
        block->height = prev->height + 1;
    }

I have no blocks, so prev is always null, even though the first block I get from the server is the one where the prevblock hash is the genesis hash...

(or maybe you never start from the beginning?)

Update. I think I see it here


    for (size_t i = 0; i < manager->params->checkpointsCount; i++) {
        block = BRMerkleBlockNew();
        block->height = manager->params->checkpoints[i].height;
        block->blockHash = UInt256Reverse(manager->params->checkpoints[i].hash);
        block->timestamp = manager->params->checkpoints[i].timestamp;
        block->target = manager->params->checkpoints[i].target;
        BRSetAdd(manager->checkpoints, block);
        BRSetAdd(manager->blocks, block);
        if (i == 0 || block->timestamp + 7*24*60*60 < manager->earliestKeyTime) manager->lastBlock = block;
    }

maybe my checkpoints are defined correctly....

writing in app

if you tap under "pay adress from clipboard" your keyboard open and you can write in app.

screenshot2 mobile

Can't use program because no screen lock, but it's not a risk

I would like to use the app but I can't load it because of the screen lock restriction. I get the message "A device screen lock is needed to safeguard your wallet." and can't continue.

I do in fact have a screen lock set up but I'm using the "Delayed Lock" app to temporarily disable it based on being connected to my local wifi.

I suppose there's no way to run the BRD wallet when this app is disabling the screen lock.

Please consider detecting temporarily disabled screen locks, if possible, and allowing the app to run. Alternatively, please add an option to bypass the check.

Thanks

error: 'BRKey.h' file not found

Error:C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\JNIBIP32Sequence.c:6:10: fatal error: 'BRKey.h' file not found
#include <BRKey.h>
^~~~~~~~~
1 error generated.

In file included from C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\core.c:27:
C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition/wallet.h:25:10: fatal error: 'BRInt.h' file not found
#include "BRInt.h"
^~~~~~~~~
1 error generated.

C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\JNIKey.c:6:10: fatal error: 'BRInt.h' file not found
#include <BRInt.h>
^~~~~~~~~
1 error generated.

C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\JNIBase58.c:7:10: fatal error: 'BRBase58.h' file not found
#include <BRBase58.h>
^~~~~~~~~~~~
1 error generated.

In file included from C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\wallet.c:25:
C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition/wallet.h:25:10: fatal error: 'BRInt.h' file not found
#include "BRInt.h"
^~~~~~~~~
1 error generated.

In file included from C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition\PeerManager.c:25:
C:\Users\Administrator\Desktop\breadwallet-android-master\breadwallet-android-master\app\src\main\jni\transition/PeerManager.h:26:10: fatal error: 'BRInt.h' file not found
#include "BRInt.h"
^~~~~~~~~
1 error generated.

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC'.

Multiple build operations failed.
C compiler failed while compiling JNIBIP32Sequence.c.
C compiler failed while compiling core.c.
C compiler failed while compiling JNIKey.c.
C compiler failed while compiling JNIBase58.c.
C compiler failed while compiling wallet.c.
C compiler failed while compiling PeerManager.c.
See the complete log at: file:///C:/Users/Administrator/Desktop/breadwallet-android-master/breadwallet-android-master/app/build/tmp/compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC/output.txt

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

App crashes when withdrawing BCH - Version 165

I am using Bread wallet version 165 for Android and I have an issue with BCH withdrawal.
Every time I enter or scan the destination address wallet crashes.

I have tried removing local data from the wallet and restoring it from the seed but that did not help.

Are you aware of this issue and is there a way around it?

Support for Kitkat & Lollipop

Hi,
Is there any reason minSdkVersion is set to 23 (No Kitkat & Lollipop)? Is it because of some security issues?

light header makes it unreadable

Hello.

In the screenshot you can see the header has white background with white text. It makes the content unreadable.
Can you tweak this?

Also, will there be a dark mode? I'd really appreciate a dark interface...

Thanks!

Phone info:

  • ZTE BLADE V0720 (lite)
  • Android 6.0
  • Kernel 3.18.19
  • App version 97

screenshot_20170830-004513

Transaction List UI Issues

Currently the text for the notes are truncated because the transaction list is using a static layout. This should be using the flexible layouts available in android so it supports other screen sizes and allows for longer notes.

This is why addresses come in as bitcoincash: and don't include the actual address, even though there is plenty of room to display most of the address.

This also causes some issues with the total balance at the top of the transactions window, where it will wrap to a second line even though there is plenty of screen space available.

impossible to recover

After i put in my recovery phase, the android apps tries to authenticate in android.
If I scan my finger or I type my unlock code it just jumps back to the authenticate screen again.

Device: Xiaomi A1 (Android One) version 7.1.2

(bug) workaround to PIN lockout time

Some relevant info:
Version: 165
Phone: Nexus 6P

Details of bug:
I recently forgot my pin and ended up locking myself out of my wallet. I tried enough times to lock myself out for more than three hours.

I discovered that if I click the "reset pin" button that takes me to an input for the pass phrase. At that page, I can hit the back button and it takes me right back to the pin screen, which allows me to try the pin again, as if I wasn't locked out.

This means I can keep trying the pin, infinitely, without getting locked out of the wallet.

I know that I didn't get locked out because I remembered my pin a few minutes later and it worked when I should have been locked for another three hours.

Thank you! Please let me know if this should be in a certain format, happy to re-write it.

C compiler failed while compiling BRKey.c !!

hi every one !
when i rebuild project,i faced with this error :

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

A build operation failed.
C compiler failed while compiling BRKey.c.
See the complete log at: file:///C:/Users/PC4/AndroidStudioProjects/breadwallet-android-master/app/build/tmp/compileCoreMipsDebugSharedLibraryCoreMipsDebugSharedLibraryMainC/output.txt

any idea ?

crash while selecting app pin code

app crashed while selecting app pin after new wallet creation:

04-15 16:25:41.242 12577-12577/com.breadwallet I/InjectionManager: dispatchOnViewCreated > Target : com.breadwallet.presenter.fragments.PasswordDialogFragment isFragment :true 04-15 16:25:41.252 12577-12577/com.breadwallet D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{22e03b7 V.E...... R.....I. 0,0-0,0} 04-15 16:25:41.282 12577-13319/com.breadwallet D/mali_winsys: new_window_surface returns 0x3000, [1055x714]-format:1 04-15 16:25:41.292 12577-12577/com.breadwallet W/DisplayListCanvas: DisplayListCanvas is started on unbinded RenderNode (without mOwningView) 04-15 16:25:41.292 12577-12577/com.breadwallet W/DisplayListCanvas: DisplayListCanvas is started on unbinded RenderNode (without mOwningView) 04-15 16:25:41.332 12577-12577/com.breadwallet D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1 04-15 16:25:41.332 12577-12577/com.breadwallet I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@3eb774 time:18360339 04-15 16:25:41.482 12577-12577/com.breadwallet D/ViewRootImpl: MSG_RESIZED: ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 1000) or=1 04-15 16:25:41.552 12577-13876/com.breadwallet W/System.err: java.lang.RuntimeException: secretKey is null 04-15 16:25:41.552 12577-13876/com.breadwallet W/System.err: at com.breadwallet.tools.security.KeyStoreManager.getPassCode(KeyStoreManager.java:581) 04-15 16:25:41.552 12577-13876/com.breadwallet W/System.err: at com.breadwallet.tools.threads.PassCodeTask.run(PassCodeTask.java:77) 04-15 16:25:41.552 12577-12577/com.breadwallet E/com.breadwallet.tools.threads.PassCodeTask: PassCodeTask, while, run... 04-15 16:25:41.902 12577-12577/com.breadwallet D/ViewRootImpl: #3 mView = null 04-15 16:25:42.052 12577-13876/com.breadwallet W/System.err: java.lang.RuntimeException: secretKey is null 04-15 16:25:42.052 12577-13876/com.breadwallet W/System.err: at com.breadwallet.tools.security.KeyStoreManager.getPassCode(KeyStoreManager.java:581) 04-15 16:25:42.052 12577-13876/com.breadwallet W/System.err: at com.breadwallet.tools.threads.PassCodeTask.run(PassCodeTask.java:77) 04-15 16:25:42.052 12577-12577/com.breadwallet E/com.breadwallet.tools.threads.PassCodeTask: PassCodeTask, while, run... 04-15 16:25:42.362 12577-13874/com.breadwallet A/libc: Fatal signal 7 (SIGBUS), code 1, fault addr 0xdb780365 in tid 13874 (Thread-861)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC'.
> A build operation failed.
      C compiler failed while compiling wallet.c.
  See the complete log at: file:///home/administrator/breadwallet-android/app/build/tmp/compileCoreArm64-v8aDebugSharedLibraryCoreArm64-v8aDebugSharedLibraryMainC/output.txt

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

BUILD FAILED


Im trying to build android wallet in android studio. Already have ndk, cmake, and also updated modules. Still get the same errors.

Output.txt text:

compiling wallet.c failed.

In file included from /home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.c:25:

In file included from /home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.h:26:

In file included from /home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRWallet.h:29:

In file included from /home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRAddress.h:28:

/home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: warning: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)' [-Wimplicit-function-declaration]

    void *(*volatile const memset_ptr)(void *, int, size_t) = memset;

                                                              ^

/home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRCrypto.h:95:63: note: include the header <string.h> or explicitly provide a declaration for 'memset'

In file included from /home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.c:25:

/home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.h:206:30: warning: no newline at end of file [-Wnewline-eof]

#endif //BREADWALLET_WALLET_H

                             ^

/home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.c:648:62: error: too few arguments to function call, expected 5, have 4

    BRWalletSignTransaction(_wallet, tmpTx, key.u8, seedSize );

    ~~~~~~~~~~~~~~~~~~~~~~~                                  ^

/home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRWallet.h:139:1: note: 'BRWalletSignTransaction' declared here

int BRWalletSignTransaction(BRWallet *wallet, BRTransaction *tx, int forkId, const void *seed, size_t seedLen);

^

/home/administrator/breadwallet-android/app/src/main/jni/transition/wallet.c:809:37: error: too few arguments to function call, expected 4, have 3

    BRTransactionSign(tmpTx, &key, 1);

    ~~~~~~~~~~~~~~~~~               ^

/home/administrator/breadwallet-android/app/src/main/jni/breadwallet-core/BRTransaction.h:130:1: note: 'BRTransactionSign' declared here

int BRTransactionSign(BRTransaction *tx, int forkId, BRKey keys[], size_t keysCount);

BCH BIP-70 Support

Please add BIP-70 support for BCH. Many users need this to pay at BitPay supported merchants!

Backend API

@Gutyn @voisine @samuraisam

Guys, i love your work. And would love to carry it forward for our own use case but without access to your backend API being opensource as well, building our own by checking stetho becomes a generally tough task.

While not impossible, it would just be a waste of resources for others in the dev community who are forking breadwallet (103 forks so far) to have to build their own backend APIs.

I have checked most of the forked projects and they all seem to be using "api.breadwallet.com" and "stage2.breadwallet.com" as their primary backend API source. So while this might be great, but one of your comments that even if "breadwallet" company did not exist anymore, people could still use their wallets fully. I don't think that would work out OK.

Just asking you to opensource your backend API as well, if possible.

Thanks. And Great work once again.

Build fail

Hi,
I am still having this issue although i have executed git submodule update and restarted Android Studio.

Information:Gradle tasks [:app:assembleBreadDebug]
C:\Users\xxx\Documents\AndroidStudio\breadwallet-android\app\src\main\jni\breadwallet-core\BRKey.c
Warning:(51, 32) warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-pragmas]
Warning:(51, 32) warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-pragmas]
C:\Users\xxx\Documents\AndroidStudio\breadwallet-android\app\src\main\jni\transition\wallet.c
Warning:(139, 27) warning: implicit declaration of function 'u256_hex_encode' is invalid in C99 [-Wimplicit-function-declaration]
Warning:(139, 17) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(161, 21) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(178, 17) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(253, 13) warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
Warning:(326, 21) warning: implicitly declaring library function 'calloc' with type 'void *(unsigned int, unsigned int)' [-Wimplicit-function-declaration]
Warning:(526, 45) warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
Warning:(543, 20) warning: implicitly declaring library function 'malloc' with type 'void *(unsigned int)' [-Wimplicit-function-declaration]
Information:(543, 20) include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
C:\Users\xxx\Documents\AndroidStudio\breadwallet-android\app\src\main\jni\transition\wallet.c:568:28: warning: implicit declaration of function 'u256_hex_decode' is invalid in C99 [-Wimplicit-function-declaration]
Error:(568, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Error:(857, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(860, 38) warning: incompatible integer to pointer c
Warning:(876, 38) warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
Error:(886, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(893, 11) warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
Warning:(139, 27) warning: implicit declaration of function 'u256_hex_encode' is invalid in C99 [-Wimplicit-function-declaration]
Warning:(139, 17) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(161, 21) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(178, 17) warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
Warning:(253, 13) warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
Warning:(326, 21) warning: implicitly declaring library function 'calloc' with type 'void *(unsigned int, unsigned int)' [-Wimplicit-function-declaration]
Information:(326, 21) note: include the header <stdlib.h> or explicitly provide a declaration for 'calloc'
Warning:(526, 45) warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
Warning:(543, 20) warning: implicitly declaring library function 'malloc' with type 'void *(unsigned int)' [-Wimplicit-function-declaration]
Information:(543, 20) note: include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
Warning:(568, 28) warning: implicit declaration of function 'u256_hex_decode' is invalid in C99 [-Wimplicit-function-declaration]
Error:(568, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Error:(857, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(860, 38) warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
Warning:(876, 38) warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion]
Error:(886, 13) error: initializing 'UInt256' with an expression of incompatible type 'int'
Warning:(893, 11) warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
Information:BUILD FAILED in 2m 6s
Information:6 errors
Information:25 warnings
Information:See complete output in console

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.