public static String addressSplitToGroups(final BitAddress address) { String addressStr = address.toString(); StringBuilder sb = new StringBuilder(); sb.append(addressStr.substring(0, 5)); sb.append(" "); sb.append(addressStr.substring(5, 9)); sb.append(" "); sb.append(addressStr.substring(9, 13)); sb.append(" "); sb.append(addressStr.substring(13, 17)); sb.append(" "); sb.append(addressStr.substring(17, 21)); sb.append(" "); sb.append(addressStr.substring(21, 25)); sb.append(" "); sb.append(addressStr.substring(25, 29)); sb.append(" "); sb.append(addressStr.substring(29)); return sb.toString(); }
public static String addressSplitToGroupsMultiline(final BitAddress address) { String addressStr = address.toString(); StringBuilder sb = new StringBuilder(); sb.append(addressStr.substring(0, 4)); sb.append(" "); sb.append(addressStr.substring(4, 8)); sb.append(" "); sb.append(addressStr.substring(8, 12)); sb.append(" "); sb.append(addressStr.substring(12, 17)); sb.append("\n"); sb.append(addressStr.substring(17, 21)); sb.append(" "); sb.append(addressStr.substring(21, 25)); sb.append(" "); sb.append(addressStr.substring(25, 29)); sb.append(" "); sb.append(addressStr.substring(29)); return sb.toString(); }
@Test public void testConstructors() throws AddressFormatException { // BTC assertEquals(BTC_P2PKH_ADDR, new BitAddress(BTC, HASH160).toString()); assertEquals(BTC_P2PKH_ADDR, new BitAddress(BTC, BTC.getAddressHeader(), HASH160).toString()); assertEquals(BTC_P2PKH_ADDR, new BitAddress(BTC, BTC_P2PKH_ADDR).toString()); assertEquals(BTC_P2SH_ADDR, new BitAddress(BTC, BTC.getP2SHHeader(), HASH160).toString()); assertEquals(BTC_P2SH_ADDR, new BitAddress(BTC, BTC_P2SH_ADDR).toString()); // LTC assertEquals(LTC_P2PKH_ADDR, new BitAddress(LTC, HASH160).toString()); assertEquals(LTC_P2PKH_ADDR, new BitAddress(LTC, LTC.getAddressHeader(), HASH160).toString()); assertEquals(LTC_P2PKH_ADDR, new BitAddress(LTC, LTC_P2PKH_ADDR).toString()); assertEquals(LTC_P2SH_ADDR, new BitAddress(LTC, LTC.getP2SHHeader(), HASH160).toString()); assertEquals(LTC_P2SH_ADDR, new BitAddress(LTC, LTC_P2SH_ADDR).toString()); }
@Test public void xpubWallet() { String xpub = "xpub67tVq9TLPPoaHVSiYu8mqahm3eztTPUts6JUftNq3pZF1PJwjknrTqQhjc2qRGd6vS8wANu7mLnqkiUzFZ1xZsAZoUMi8o6icMhzGCAhcSW"; DeterministicKey key = DeterministicKey.deserializeB58(null, xpub); WalletPocketHD account = new WalletPocketHD(key, BTC, null, null); assertEquals("1KUDsEDqSBAgxubSEWszoA9xscNRRCmujM", account.getReceiveAddress().toString()); account = new WalletPocketHD(key, NBT, null, null); assertEquals("BNvJUwg3BgkbQk5br1CxvHxdcDp1EC3saE", account.getReceiveAddress().toString()); }
}; assertEquals(BTC_P2PKH_ADDR, BitAddress.from(BTC, BTC_P2PKH_ADDR).toString()); assertEquals(BTC_P2PKH_ADDR, BitAddress.from(BTC, BTC.getAddressHeader(), HASH160).toString()); assertEquals(BTC_P2PKH_ADDR, BitAddress.from(BTC, new Script(P2PKH_SCRIPT)).toString()); assertEquals(BTC_P2PKH_ADDR, BitAddress.from(BTC, pubKey).toString()); assertEquals(BTC_P2PKH_ADDR, BitAddress.from(abstractAddress).toString()); assertEquals(BTC_P2PKH_ADDR, BitAddress.from(address).toString()); assertEquals(BTC_P2SH_ADDR, BitAddress.from(BTC, BTC_P2SH_ADDR).toString()); assertEquals(BTC_P2SH_ADDR, BitAddress.from(BTC, BTC.getP2SHHeader(), HASH160).toString()); assertEquals(BTC_P2SH_ADDR, BitAddress.from(BTC, new Script(P2SH_SCRIPT)).toString()); assertEquals(BTC_P2SH_ADDR, BitAddress.from(abstractAddress).toString()); assertEquals(BTC_P2SH_ADDR, BitAddress.from(address).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(LTC, LTC_P2PKH_ADDR).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(LTC, LTC.getAddressHeader(), HASH160).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(LTC, new Script(P2PKH_SCRIPT)).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(LTC, pubKey).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(abstractAddress).toString()); assertEquals(LTC_P2PKH_ADDR, BitAddress.from(address).toString()); assertEquals(LTC_P2SH_ADDR, BitAddress.from(LTC, LTC_P2SH_ADDR).toString()); assertEquals(LTC_P2SH_ADDR, BitAddress.from(LTC, LTC.getP2SHHeader(), HASH160).toString()); assertEquals(LTC_P2SH_ADDR, BitAddress.from(LTC, new Script(P2SH_SCRIPT)).toString()); assertEquals(LTC_P2SH_ADDR, BitAddress.from(abstractAddress).toString()); assertEquals(LTC_P2SH_ADDR, BitAddress.from(address).toString());
@Test public void testAltChainsGoodAmount() throws Exception { byte[] hash160 = BitAddress.from(BitcoinMain.get(), MAINNET_GOOD_ADDRESS).getHash160(); String goodAddressStr; BitAddress goodAddress; // Litecoin goodAddress = BitAddress.from(LTC, hash160); goodAddressStr = goodAddress.toString(); testObject = new CoinURI(LTC, "litecoin:" + goodAddressStr + "?amount=12.34"); assertEquals("12.34", GenericUtils.formatCoinValue(LTC, testObject.getAmount())); // Dogecoin goodAddress = BitAddress.from(DOGE, hash160); goodAddressStr = goodAddress.toString(); testObject = new CoinURI(DOGE, "dogecoin:" + goodAddressStr + "?amount=12.34"); assertEquals("12.34", GenericUtils.formatCoinValue(DOGE, testObject.getAmount())); // Peercoin goodAddress = BitAddress.from(PPC, hash160); goodAddressStr = goodAddress.toString(); testObject = new CoinURI(PPC, "peercoin:" + goodAddressStr + "?amount=12.34"); assertEquals("12.34", GenericUtils.formatCoinValue(PPC, testObject.getAmount())); // Darkcoin goodAddress = BitAddress.from(DASH, hash160); goodAddressStr = goodAddress.toString(); testObject = new CoinURI(DASH, "dash:" + goodAddressStr + "?amount=12.34"); assertEquals("12.34", GenericUtils.formatCoinValue(DASH, testObject.getAmount())); }
@Test public void testAltChainsConvertToCoinURI() throws Exception { byte[] hash160 = BitAddress.from(BitcoinMain.get(), MAINNET_GOOD_ADDRESS).getHash160(); String goodAddressStr; BitAddress goodAddress; // Litecoin goodAddress = BitAddress.from(LTC, hash160); goodAddressStr = goodAddress.toString(); assertEquals("litecoin:" + goodAddressStr + "?amount=12.34&label=Hello&message=AMessage", CoinURI.convertToCoinURI(goodAddress, LTC.value("12.34"), "Hello", "AMessage")); // Dogecoin goodAddress = BitAddress.from(DOGE, hash160); goodAddressStr = goodAddress.toString(); assertEquals("dogecoin:" + goodAddressStr + "?amount=12.34&label=Hello&message=AMessage", CoinURI.convertToCoinURI(goodAddress, DOGE.value("12.34"), "Hello", "AMessage")); // Peercoin goodAddress = BitAddress.from(PPC, hash160); goodAddressStr = goodAddress.toString(); assertEquals("peercoin:" + goodAddressStr + "?amount=12.34&label=Hello&message=AMessage", CoinURI.convertToCoinURI(goodAddress, PPC.value("12.34"), "Hello", "AMessage")); // Darkcoin goodAddress = BitAddress.from(DASH, hash160); goodAddressStr = goodAddress.toString(); assertEquals("dash:" + goodAddressStr + "?amount=12.34&label=Hello&message=AMessage", CoinURI.convertToCoinURI(goodAddress, DASH.value("12.34"), "Hello", "AMessage")); // NXT String pubkeyStr = "3c1c0b3f8f87d6efdc2694ce43f848375a4f761624d255e5fc1194a4ebc76755"; byte[] pubkey = Hex.decode(pubkeyStr); NxtAddress nxtGoodAddress = new NxtAddress(NXT, pubkey); goodAddressStr = nxtGoodAddress.toString(); assertEquals("nxt:" + goodAddressStr + "?amount=12.34&label=Hello&message=AMessage&pubkey="+pubkeyStr, CoinURI.convertToCoinURI(nxtGoodAddress, NXT.value("12.34"), "Hello", "AMessage", pubkeyStr)); }
goodAddressStr = BitAddress.from(BTC_TEST, hash160).toString(); uri = new CoinURI("bitcoin:?req-addressrequest=https%3A%2F%2Fcoinomi.com&req-network=test"); assertTrue(uri.isAddressRequest()); goodAddressStr = BitAddress.from(NBT, hash160).toString(); uri = new CoinURI("nu:?req-addressrequest=https%3A%2F%2Fcoinomi.com"); assertTrue(uri.isAddressRequest()); goodAddressStr = BitAddress.from(NSR, hash160).toString(); uri = new CoinURI("nu:?req-addressrequest=https%3A%2F%2Fcoinomi.com&req-network=nsr.main"); assertTrue(uri.isAddressRequest());