├── settings.gradle ├── .ci └── kontinuum.json ├── android ├── promo │ ├── 180x120.png │ ├── 180x120.xcf │ └── 1024x500.png ├── src │ ├── main │ │ ├── ic_launcher-web.png │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_stamp.png │ │ │ │ └── ic_action_barcode.png │ │ │ ├── drawable-ldpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_stamp.png │ │ │ │ └── ic_action_barcode.png │ │ │ ├── drawable-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_stamp.png │ │ │ │ └── ic_action_barcode.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_stamp.png │ │ │ │ └── ic_action_barcode.png │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── ic_action_help.png │ │ │ │ ├── ic_action_stamp.png │ │ │ │ └── ic_action_barcode.png │ │ │ ├── values-sw600dp │ │ │ │ └── dimens.xml │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── styles.xml │ │ │ ├── values-sw720dp-land │ │ │ │ └── dimens.xml │ │ │ ├── layout │ │ │ │ ├── help_dialog.xml │ │ │ │ ├── fragment_image.xml │ │ │ │ ├── last_hash.xml │ │ │ │ ├── fragment_text.xml │ │ │ │ ├── last_hash_inner.xml │ │ │ │ └── activity_main.xml │ │ │ ├── menu │ │ │ │ └── main.xml │ │ │ ├── layout-land │ │ │ │ └── last_hash.xml │ │ │ └── raw │ │ │ │ └── help.html │ │ ├── kotlin │ │ │ ├── org │ │ │ │ └── ligi │ │ │ │ │ ├── satoshiproof │ │ │ │ │ ├── proof_fragments │ │ │ │ │ │ ├── ProofFragment.kt │ │ │ │ │ │ ├── TextProofFragment.kt │ │ │ │ │ │ └── ImageProofFragment.kt │ │ │ │ │ ├── util │ │ │ │ │ │ ├── Downloader.kt │ │ │ │ │ │ └── AddressGenerator.kt │ │ │ │ │ ├── FileProofController.kt │ │ │ │ │ ├── HelpDialog.kt │ │ │ │ │ ├── LastHashActivity.kt │ │ │ │ │ ├── ProofAsyncTask.kt │ │ │ │ │ ├── ImageFromIntentUriExtractor.kt │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── views │ │ │ │ │ └── SquareImageView.kt │ │ │ ├── com │ │ │ │ └── google │ │ │ │ │ └── bitcoin │ │ │ │ │ └── core │ │ │ │ │ └── Base58.kt │ │ │ └── de │ │ │ │ └── schildbach │ │ │ │ └── wallet │ │ │ │ └── integration │ │ │ │ └── android │ │ │ │ └── BitcoinIntegration.kt │ │ └── AndroidManifest.xml │ ├── onEthereum │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── onBitcoin │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── androidTest │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ │ └── TheMainActivity.kt │ └── test │ │ └── kotlin │ │ └── org │ │ └── ligi │ │ └── satoshiproof │ │ └── TheAddressGenerator.kt ├── lint.xml ├── proguard-project.txt └── build.gradle ├── .gitignore ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .travis.yml ├── README.md └── gradlew /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':android' 2 | -------------------------------------------------------------------------------- /.ci/kontinuum.json: -------------------------------------------------------------------------------- 1 | { 2 | "type":"android", 3 | "stages":["spoon","lint","test","assemble"] 4 | } 5 | -------------------------------------------------------------------------------- /android/promo/180x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/promo/180x120.png -------------------------------------------------------------------------------- /android/promo/180x120.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/promo/180x120.xcf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | .idea/ 3 | android/build/ 4 | gradlew.bat 5 | *.iml 6 | local.properties 7 | build/ -------------------------------------------------------------------------------- /android/promo/1024x500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/promo/1024x500.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-hdpi/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-hdpi/ic_action_help.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-hdpi/ic_action_stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-hdpi/ic_action_stamp.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-ldpi/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-ldpi/ic_action_help.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-ldpi/ic_action_stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-ldpi/ic_action_stamp.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-mdpi/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-mdpi/ic_action_help.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-mdpi/ic_action_stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-mdpi/ic_action_stamp.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xhdpi/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xhdpi/ic_action_help.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xhdpi/ic_action_stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xhdpi/ic_action_stamp.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xxhdpi/ic_action_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xxhdpi/ic_action_help.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-hdpi/ic_action_barcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-hdpi/ic_action_barcode.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-ldpi/ic_action_barcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-ldpi/ic_action_barcode.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-mdpi/ic_action_barcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-mdpi/ic_action_barcode.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xhdpi/ic_action_barcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xhdpi/ic_action_barcode.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xxhdpi/ic_action_stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xxhdpi/ic_action_stamp.png -------------------------------------------------------------------------------- /android/src/main/res/drawable-xxhdpi/ic_action_barcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ligi/SatoshiProof/HEAD/android/src/main/res/drawable-xxhdpi/ic_action_barcode.png -------------------------------------------------------------------------------- /android/src/onEthereum/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ΞProof 4 | HΞLP 5 | 6 | -------------------------------------------------------------------------------- /android/src/main/kotlin/org/ligi/satoshiproof/proof_fragments/ProofFragment.kt: -------------------------------------------------------------------------------- 1 | package org.ligi.satoshiproof.proof_fragments 2 | 3 | interface ProofFragment { 4 | 5 | fun proof() 6 | 7 | val title: String 8 | } 9 | -------------------------------------------------------------------------------- /android/src/onBitcoin/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Satoshi Proof 4 | Help 5 | 6 | -------------------------------------------------------------------------------- /android/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Satoshi Proof 4 | Help 5 | Help 6 | 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 12 19:11:45 CEST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-all.zip 7 | -------------------------------------------------------------------------------- /android/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /android/src/main/res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 128dp 5 | 6 | -------------------------------------------------------------------------------- /android/src/main/res/layout/help_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | android: 3 | components: 4 | - build-tools-22 5 | - android-22 6 | - sysimg-22 7 | - add-on 8 | - extra 9 | 10 | jdk: oraclejdk7 11 | 12 | script: 13 | # http://stackoverflow.com/questions/27377615/why-does-travis-ci-kill-the-process-for-my-script 14 | GRADLE_OPTS='-Xmx768m -Xms256m -Xss1m' ./gradlew clean build 15 | 16 | notifications: 17 | email: true 18 | 19 | 20 | -------------------------------------------------------------------------------- /android/src/androidTest/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /android/src/test/kotlin/org/ligi/satoshiproof/TheAddressGenerator.kt: -------------------------------------------------------------------------------- 1 | package org.ligi.satoshiproof 2 | 3 | import org.assertj.core.api.Assertions.assertThat 4 | import org.junit.Test 5 | import org.ligi.satoshiproof.util.AddressGenerator.dataToAddressString 6 | 7 | class TheAddressGenerator { 8 | 9 | @Test 10 | fun shouldGenerateCorrectAddresses() { 11 | assertThat(dataToAddressString("probe".toByteArray())).isEqualTo("1KXgQMLN5ceej3ViannhJudCjJsFWrWXvs") 12 | 13 | assertThat(dataToAddressString("foo".toByteArray())).isEqualTo("1MaybZp8GRkAHmpAyWkSQEwAnohFxPBoGY") 14 | } 15 | } -------------------------------------------------------------------------------- /android/src/main/kotlin/org/ligi/satoshiproof/util/Downloader.kt: -------------------------------------------------------------------------------- 1 | package org.ligi.satoshiproof.util 2 | 3 | import okhttp3.OkHttpClient 4 | import okhttp3.Request 5 | 6 | object Downloader { 7 | fun downloadURL(url : String) : String? { 8 | return try { 9 | 10 | val client = OkHttpClient() 11 | 12 | val request = Request.Builder().url(url).build() 13 | 14 | val response = client.newCall(request).execute() 15 | response.body().string() 16 | 17 | } catch (e: Exception) { 18 | e.printStackTrace() 19 | null 20 | } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /android/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /android/src/main/res/layout/fragment_image.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 |