private boolean validatePrivateKey(boolean isTyping) { if (privateKeyText == null) return false; String privateKey = privateKeyText.getText().toString().trim(); if (privateKey.isEmpty()) return false; try { serializedKey = new SerializedKey(privateKey); error = Error.NONE; } catch (SerializedKey.KeyFormatException e) { serializedKey = null; if (isTyping) { error = Error.NONE; } else { log.info("Invalid private key: {}", e.getMessage()); error = Error.BAD_FORMAT; } } updateView(); return serializedKey != null; }
@Test public void testWif() throws Exception { SerializedKey serializedKey = new SerializedKey(BTC_WIF_PRIV); assertFalse(serializedKey.isEncrypted()); SerializedKey.TypedKey key = serializedKey.getKey(); assertTrue(key.possibleType.contains(BTC)); assertEquals(BTC_WIF_ADDR, key.key.toAddress(BTC).toString()); }
@Test public void testMini() throws Exception { SerializedKey serializedKey = new SerializedKey(BTC_MINI_PRIV); assertFalse(serializedKey.isEncrypted()); SerializedKey.TypedKey key = serializedKey.getKey(); assertTrue(key.possibleType.contains(BTC)); assertEquals(BTC_MINI_ADDR, key.key.toAddress(BTC).toString()); } }
@Test public void testBip38() throws Exception { SerializedKey serializedKey = new SerializedKey(BTC_BIP38_WIF_PRIV); assertTrue(serializedKey.isEncrypted()); SerializedKey.TypedKey key = serializedKey.getKey(BIP38_PASS); assertTrue(key.possibleType.contains(BTC)); assertEquals(BTC_WIF_ADDR, key.key.toAddress(BTC).toString()); serializedKey = new SerializedKey(BTC_BIP38_PRIV); assertTrue(serializedKey.isEncrypted()); key = serializedKey.getKey(BIP38_PASS); assertTrue(key.possibleType.contains(BTC)); assertEquals(BTC_BIP38_ADDR, key.key.toAddress(BTC).toString()); serializedKey = new SerializedKey(DOGE_BIP38_PRIV); assertTrue(serializedKey.isEncrypted()); key = serializedKey.getKey(BIP38_PASS); assertTrue(key.possibleType.contains(DOGE)); assertEquals(DOGE_BIP38_ADDR, key.key.toAddress(DOGE).toString()); }