├── settings.gradle ├── app ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── arrays.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ ├── nope.png │ │ │ │ ├── qrcode.png │ │ │ │ ├── sharp_check_circle_black_18dp.png │ │ │ │ ├── co_logo_white.xml │ │ │ │ ├── nfc_logo.xml │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values-de │ │ │ │ └── arrays.xml │ │ │ ├── layout │ │ │ │ ├── custom.xml │ │ │ │ ├── activity_voting.xml │ │ │ │ ├── activity_voting_old.xml │ │ │ │ ├── activity_send_transaction.xml │ │ │ │ ├── activity_send_erc20_tokens.xml │ │ │ │ ├── activity_brand_protection.xml │ │ │ │ ├── activity_set_pin.xml │ │ │ │ ├── activity_unlock_pin.xml │ │ │ │ ├── activity_check_sig_counters.xml │ │ │ │ ├── activity_change_pin.xml │ │ │ │ └── activity_generate_from_seed.xml │ │ │ └── menu │ │ │ │ └── menu.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── co │ │ │ │ └── coinfinity │ │ │ │ ├── infineonandroidapp │ │ │ │ ├── infineon │ │ │ │ │ ├── exceptions │ │ │ │ │ │ ├── SetPinException.java │ │ │ │ │ │ ├── ChangePinException.java │ │ │ │ │ │ ├── GetKeyInfoException.java │ │ │ │ │ │ ├── UnlockPinException.java │ │ │ │ │ │ ├── VerifyPinException.java │ │ │ │ │ │ ├── GenerateKeypairException.java │ │ │ │ │ │ ├── GenerateSignatureException.java │ │ │ │ │ │ ├── SelectApplicationException.java │ │ │ │ │ │ ├── GenerateKeyFromSeedException.java │ │ │ │ │ │ └── NfcCardException.java │ │ │ │ │ ├── apdu │ │ │ │ │ │ ├── UnlockPinApdu.java │ │ │ │ │ │ ├── VerifyPinApdu.java │ │ │ │ │ │ ├── SetPinApdu.java │ │ │ │ │ │ ├── SelectApplicationApdu.java │ │ │ │ │ │ ├── GenerateKeyFromSeedApdu.java │ │ │ │ │ │ ├── GetKeyInfoApdu.java │ │ │ │ │ │ ├── GenerateKeyPairApdu.java │ │ │ │ │ │ ├── ChangePinApdu.java │ │ │ │ │ │ ├── GenerateSignatureApdu.java │ │ │ │ │ │ ├── response │ │ │ │ │ │ │ ├── GenerateSignatureResponseApdu.java │ │ │ │ │ │ │ ├── GetKeyInfoResponseApdu.java │ │ │ │ │ │ │ └── ResponseApdu.java │ │ │ │ │ │ └── BaseCommandApdu.java │ │ │ │ │ └── NfcTranceiver.java │ │ │ │ ├── utils │ │ │ │ │ ├── InvalidContractException.java │ │ │ │ │ ├── HttpUtils.java │ │ │ │ │ ├── IsoTagWrapper.java │ │ │ │ │ ├── ByteUtils.java │ │ │ │ │ └── InputErrorUtils.java │ │ │ │ ├── ethereum │ │ │ │ │ ├── exceptions │ │ │ │ │ │ └── InvalidEthereumAddressException.java │ │ │ │ │ ├── bean │ │ │ │ │ │ ├── TransactionPriceBean.java │ │ │ │ │ │ └── EthBalanceBean.java │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── UriUtils.java │ │ │ │ │ │ ├── Erc20Utils.java │ │ │ │ │ │ ├── ProductDetailUtils.java │ │ │ │ │ │ └── VotingUtils.java │ │ │ │ │ └── CoinfinityClient.java │ │ │ │ ├── qrcode │ │ │ │ │ ├── QrCodeScanner.java │ │ │ │ │ └── QrCodeGenerator.java │ │ │ │ ├── BrandProtection.java │ │ │ │ ├── adapter │ │ │ │ │ └── UnitSpinnerAdapter.java │ │ │ │ ├── AboutActivity.java │ │ │ │ ├── UnlockPinActivity.java │ │ │ │ └── GenerateFromSeedActivity.java │ │ │ │ └── AppConstants.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── co │ │ │ └── coinfinity │ │ │ └── infineonandroidapp │ │ │ ├── utils │ │ │ └── ByteUtilsTest.java │ │ │ ├── infineon │ │ │ ├── apdu │ │ │ │ └── ResponseApduTest.java │ │ │ └── exceptions │ │ │ │ └── ExceptionHandlerTest.java │ │ │ └── ethereum │ │ │ └── utils │ │ │ ├── UriUtilsTest.java │ │ │ ├── VotingUtilsTest.java │ │ │ ├── Erc20UtilsTest.java │ │ │ ├── TransactionSigner.java │ │ │ └── EthereumUtilsTest.java │ └── androidTest │ │ └── java │ │ └── co │ │ └── coinfinity │ │ └── infineonandroidapp │ │ └── ethereum │ │ └── CoinfinityClientTest.java ├── proguard-rules.pro └── build.gradle ├── Smart Contract ├── .soliumignore ├── truffle_tests_20181016.png ├── lint_contracts.sh ├── .soliumrc.json ├── migrations │ ├── 1_initial_migration.js │ └── 2_deploy_contracts.js ├── contracts │ ├── interfaces │ │ └── IERC20.sol │ ├── testhelper │ │ ├── SafeMath.sol │ │ └── DummyERC20.sol │ ├── migrations │ │ └── Migrations.sol │ ├── lifecycle │ │ └── Destructible.sol │ ├── tokenutils │ │ └── CanRescueERC20.sol │ ├── BrandProtection.sol │ └── ownership │ │ └── Ownable.sol ├── package.json ├── Command_scratchpad.txt ├── README.md └── package-lock.json ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── compiler.xml ├── vcs.xml ├── misc.xml ├── gradle.xml ├── modules.xml ├── jarRepositories.xml └── codeStyles │ └── Project.xml ├── javadoc ├── package-list ├── co │ └── coinfinity │ │ ├── package-frame.html │ │ └── infineonandroidapp │ │ ├── adapter │ │ └── package-frame.html │ │ ├── qrcode │ │ └── package-frame.html │ │ ├── ethereum │ │ ├── package-frame.html │ │ ├── bean │ │ │ └── package-frame.html │ │ └── contract │ │ │ └── package-frame.html │ │ ├── infineon │ │ ├── package-frame.html │ │ ├── apdu │ │ │ └── package-frame.html │ │ └── exceptions │ │ │ └── package-frame.html │ │ ├── utils │ │ └── package-frame.html │ │ └── package-frame.html ├── script.js ├── overview-frame.html └── index.html ├── gradle.properties ├── .travis.yml ├── LICENSE.md ├── .gitignore ├── gradlew.bat └── README.md /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Smart Contract/.soliumignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | contracts/Migrations.sol 3 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/nope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/drawable/nope.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/drawable/qrcode.png -------------------------------------------------------------------------------- /Smart Contract/truffle_tests_20181016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/Smart Contract/truffle_tests_20181016.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sharp_check_circle_black_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infineon/BlockchainSecurity2Go-Android/HEAD/app/src/main/res/drawable/sharp_check_circle_black_18dp.png -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3f51b5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Smart Contract/lint_contracts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prints results from 2 linters on the command line. 3 | 4 | solium -d contracts 5 | 6 | #solhint "contracts/**/*.sol" <-- solhint tool has currently some strange suggestions, that complains on truffle contracts as well. 7 | -------------------------------------------------------------------------------- /Smart Contract/.soliumrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "solium:recommended", 3 | "plugins": [ 4 | "security" 5 | ], 6 | "rules": { 7 | "quotes": [ 8 | "error", 9 | "double" 10 | ], 11 | "indentation": [ 12 | "error", 13 | 4 14 | ] 15 | } 16 | } -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/SetPinException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class SetPinException extends NfcCardException { 4 | 5 | public SetPinException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Smart Contract/migrations/1_initial_migration.js: -------------------------------------------------------------------------------- 1 | var Migrations = artifacts.require("./misc/Migrations.sol"); 2 | 3 | module.exports = function (deployer) { 4 | 5 | // don't deploy migrations on mainnet or ropsten 6 | if (deployer.network_id !== 1 && deployer.network_id !== 3) { 7 | deployer.deploy(Migrations); 8 | } 9 | 10 | }; 11 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/ChangePinException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class ChangePinException extends NfcCardException { 4 | 5 | public ChangePinException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/GetKeyInfoException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class GetKeyInfoException extends NfcCardException { 4 | 5 | public GetKeyInfoException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/UnlockPinException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class UnlockPinException extends NfcCardException { 4 | 5 | public UnlockPinException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/VerifyPinException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class VerifyPinException extends NfcCardException { 4 | 5 | public VerifyPinException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Key 0 - Seed 5 | Key 1 6 | Key 2 7 | Key 3 8 | Key 4 9 | Key 5 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Key 0 - Seed 5 | Key 1 6 | Key 2 7 | Key 3 8 | Key 4 9 | Key 5 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/GenerateKeypairException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class GenerateKeypairException extends NfcCardException { 4 | 5 | public GenerateKeypairException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/GenerateSignatureException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class GenerateSignatureException extends NfcCardException { 4 | 5 | public GenerateSignatureException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/SelectApplicationException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class SelectApplicationException extends NfcCardException { 4 | 5 | public SelectApplicationException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/exceptions/GenerateKeyFromSeedException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.exceptions; 2 | 3 | public class GenerateKeyFromSeedException extends NfcCardException { 4 | 5 | public GenerateKeyFromSeedException(int SW1SW2, String message) { 6 | super(SW1SW2, message); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/utils/InvalidContractException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.utils; 2 | 3 | public class InvalidContractException extends Exception { 4 | 5 | public InvalidContractException() { 6 | } 7 | 8 | public InvalidContractException(String message) { 9 | super(message); 10 | } 11 | 12 | public InvalidContractException(String message, Throwable cause) { 13 | super(message, cause); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Smart Contract/migrations/2_deploy_contracts.js: -------------------------------------------------------------------------------- 1 | var Voting = artifacts.require("./Voting.sol"); 2 | var DummyERC20 = artifacts.require("./testhelper/DummyERC20.sol"); 3 | 4 | module.exports = function (deployer) { 5 | 6 | // Deploy MAIN contract: 7 | deployer.deploy(Voting); 8 | 9 | // Dont deploy dummy token on mainnet or ropsten (only used for tests) 10 | if (deployer.network_id !== 1 && deployer.network_id !== 3) { 11 | deployer.deploy(DummyERC20, 4); 12 | } 13 | }; 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/ethereum/exceptions/InvalidEthereumAddressException.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.ethereum.exceptions; 2 | 3 | public class InvalidEthereumAddressException extends Exception { 4 | 5 | public InvalidEthereumAddressException() { 6 | } 7 | 8 | public InvalidEthereumAddressException(String message) { 9 | super(message); 10 | } 11 | 12 | public InvalidEthereumAddressException(String message, Throwable cause) { 13 | super(message, cause); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/apdu/UnlockPinApdu.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.apdu; 2 | 3 | /** 4 | * @author Coinfinity, 2018 5 | */ 6 | public class UnlockPinApdu extends BaseCommandApdu { 7 | 8 | /** 9 | * Instruction byte for UNLOCK PIN operation 10 | */ 11 | private static final int INS_UNLOCK_PIN = 0x46; 12 | 13 | /** 14 | * Constructs a UNLOCK PIN command apdu. 15 | * 16 | * @param puk value used for unlock 17 | */ 18 | public UnlockPinApdu(byte[] puk) { 19 | this.ins = INS_UNLOCK_PIN; 20 | this.setData(puk); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/apdu/VerifyPinApdu.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.apdu; 2 | 3 | /** 4 | * @author Coinfinity, 2018 5 | */ 6 | public class VerifyPinApdu extends BaseCommandApdu { 7 | 8 | /** 9 | * Instruction byte for VERIFY PIN operation 10 | */ 11 | private static final int INS_VERIFY_PIN = 0x44; 12 | 13 | /** 14 | * Constructs a VERIFY PIN command apdu. 15 | * 16 | * @param pin value used for initializing 17 | */ 18 | public VerifyPinApdu(byte[] pin) { 19 | this.ins = INS_VERIFY_PIN; 20 | this.setData(pin); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 14 | -------------------------------------------------------------------------------- /javadoc/package-list: -------------------------------------------------------------------------------- 1 | co.coinfinity 2 | co.coinfinity.infineonandroidapp 3 | co.coinfinity.infineonandroidapp.adapter 4 | co.coinfinity.infineonandroidapp.ethereum 5 | co.coinfinity.infineonandroidapp.ethereum.bean 6 | co.coinfinity.infineonandroidapp.ethereum.contract 7 | co.coinfinity.infineonandroidapp.ethereum.exceptions 8 | co.coinfinity.infineonandroidapp.ethereum.utils 9 | co.coinfinity.infineonandroidapp.infineon 10 | co.coinfinity.infineonandroidapp.infineon.apdu 11 | co.coinfinity.infineonandroidapp.infineon.apdu.response 12 | co.coinfinity.infineonandroidapp.infineon.exceptions 13 | co.coinfinity.infineonandroidapp.qrcode 14 | co.coinfinity.infineonandroidapp.utils 15 | -------------------------------------------------------------------------------- /app/src/main/java/co/coinfinity/infineonandroidapp/infineon/apdu/SetPinApdu.java: -------------------------------------------------------------------------------- 1 | package co.coinfinity.infineonandroidapp.infineon.apdu; 2 | 3 | /** 4 | * @author Coinfinity, 2018 5 | */ 6 | public class SetPinApdu extends BaseCommandApdu { 7 | 8 | /** 9 | * Instruction byte for SET PIN operation 10 | */ 11 | private static final int INS_SET_PIN = 0x40; 12 | 13 | /** 14 | * Constructs a SET PIN command apdu. 15 | * 16 | * @param pin value used for initializing 17 | */ 18 | public SetPinApdu(byte[] pin) { 19 | this.ins = INS_SET_PIN; 20 | this.setData(pin); 21 | this.leIncluded = true; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 14 |