Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stequald committed Dec 20, 2016
0 parents commit 4951296
Show file tree
Hide file tree
Showing 292 changed files with 36,210 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Built application files
*.apk
*.ap_

# Files for the Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/

# Gradle files
.gradle/
build/

# Android Studio
.idea/
*.iml

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Mac OS X clutter
*.DS_Store

# QA
*credentials_qa.xml
52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
ArcBit
===========
Bitcoin wallet for Android. First mobile wallet to support reusable/stealth addresses. Also offers cold wallet storage and offline spending. Visit http://www.arcbit.io/ for more information.

#####Play store Link:
https://play.google.com/store/apps/details?id=com.arcbit.arcbit

#####Features:
- No signup required
- Cold wallet storage and offline spending
- Single recovery passphrase that works forever
- Private keys never leave your device
- Faster loading time compared to other wallets
- Send and receive bitcoin payments
- View transactions and wallet balance
- PIN protection
- Email support built into app
- HD wallet support
- Forward/reusable/stealth address support
- Over 150 local currencies support
- Bitcoin, millibits and bits denomination support
- Dedicated help section for any question about how to use the app
- Automatic cycling of addresses to prevent address reuse
- Open source
- xpub keys stored client side unlike many other wallets, which offers better privacy
- Can access private keys without an internet connection
- Advance mode for Bitcoin experts

##### Advance features:

- Pick Your Preferred block explorer API, currently we support Bitpay’s Insight and blockchain.info. You can also point ArcBit to your own Insight Server.
- Import private keys support
- Import BIP38 encrypted private keys support
- Import watch only addresses support
- Import HD wallet account keys support
- Import HD wallet watch only account keys support

Build
===========
To build and run ArcBit simply open the project from Android Studios and click run.


Made Possible By
===========
ArcBit is made possible by, but not limited to these projects.

- https://github.com/bitcoinj/bitcoinj

- https://github.com/bitpay/insight

- https://github.com/bitpay/insight-api

1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
101 changes: 101 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'me.tatarka.retrolambda'

android {
compileSdkVersion 25
buildToolsVersion "25.0.1"

dexOptions {
javaMaxHeapSize "4g"
}

defaultConfig {
applicationId "com.arcbit.arcbit"
minSdkVersion 16
targetSdkVersion 25
versionCode 12
versionName "1.0.1"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}

packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}

testOptions {
unitTests.returnDefaultValues = true
}
}

ext {
buildToolsSupportVersion = '25.0.1'
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile "com.android.support:appcompat-v7:$buildToolsSupportVersion"
compile "com.android.support:design:$buildToolsSupportVersion"
compile "com.android.support:support-v13:$buildToolsSupportVersion"

compile 'com.android.support:multidex:1.0.1'
compile 'org.slf4j:slf4j-api:1.7.13'
compile 'org.bitcoinj:bitcoinj-core:0.14.3'
compile 'commons-io:commons-io:2.4'
compile 'org.apache.commons:commons-lang3:3.4'
compile 'com.neovisionaries:nv-websocket-client:1.30'
compile('com.google.zxing:core:3.2.1') { transitive = true }
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
compile 'info.guardianproject.netcipher:netcipher:1.2.1'
compile ('io.socket:socket.io-client:0.7.0') {
// excluding org.json which is provided by Android
exclude group: 'org.json', module: 'json'
}
compile('com.crashlytics.sdk.android:crashlytics:2.6.3@aar') {
transitive = true;
}

testCompile 'junit:junit:4.12'
//Classes from the android framework won't work in local jvm unit tests. Added below for unit test purposes only
testCompile 'org.json:json:20140107'
testCompile 'org.slf4j:slf4j-simple:1.7.20'
}

buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}

dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.3.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'io.fabric.tools:gradle:1.+'
}
}

// Required because retrolambda is on maven central
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
3 changes: 3 additions & 0 deletions app/fabric.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public.
#Sat Sep 17 12:12:04 PDT 2016
apiSecret=fdc29481dd35a8aa6ec132c294cff185a7211174fff8b1803540ff4e64d5b24a
17 changes: 17 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/timothylee/Library/Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
13 changes: 13 additions & 0 deletions app/src/androidTest/java/com/arcbit/arcbit/ApplicationTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.arcbit.arcbit;

import android.app.Application;
import android.test.ApplicationTestCase;

/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}
65 changes: 65 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.arcbit.arcbit">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name="com.arcbit.arcbit.ui.ContactsActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|screenSize"/>

<activity android:name="com.arcbit.arcbit.ui.PassphraseActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|screenSize"/>

<activity android:name="com.arcbit.arcbit.ui.RestoreWalletActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysVisible"
android:configChanges="keyboardHidden|screenSize"/>

<activity android:name="com.arcbit.arcbit.ui.PinActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysVisible"
android:configChanges="keyboardHidden|screenSize"/>

<activity android:name="com.arcbit.arcbit.ui.SettingsActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|screenSize"/>

<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|screenSize"/>

<service android:name=".APIs.TLTransactionWebSocketService"/>
<service android:name=".APIs.TLStealthWebSocketService"/>
<meta-data
android:name="io.fabric.ApiKey"
android:value="24ecfd2fbad3162671908399854ab3e9ddba0710" />
</application>

</manifest>
Loading

0 comments on commit 4951296

Please sign in to comment.