Skip to content

Commit

Permalink
Fix overflow error
Browse files Browse the repository at this point in the history
  • Loading branch information
pokkst committed Aug 14, 2020
1 parent 4b42620 commit b4837b0
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
7 changes: 6 additions & 1 deletion core/src/main/java/org/bitcoinj/core/LegacyAddress.java
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,12 @@ else if (version == params.getP2SHHeader())

public static LegacyAddress fromCashAddress(NetworkParameters params, String cashAddr) {
if(Address.isValidCashAddr(params, cashAddr)) {
return LegacyAddress.fromCashAddress(params, CashAddressFactory.create().getFromFormattedAddress(params, cashAddr).toString());
CashAddress cashAddress = CashAddressFactory.create().getFromFormattedAddress(params, cashAddr);
if(cashAddress.isP2SHAddress()) {
return LegacyAddress.fromScriptHash(params, cashAddress.getHash());
} else {
return LegacyAddress.fromPubKeyHash(params, cashAddress.getHash());
}
} else {
throw new AddressFormatException("Invalid address!");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ public class AddressConversionTests {
public void validateCashAddrs() {
NetworkParameters params = MainNetParams.get();
String legacyAddressP2PKH = "1MyZGR8HpaN8Hot5trvxUNALEW6E1haAuk";
assertEquals("bitcoincash:qrnpf0nqkzgxpvjzqlqcqm4h78sg45zyu54rngdxff", CashAddress.fromBase58(params, legacyAddressP2PKH).toString());
assertEquals("bitcoincash:qrnpf0nqkzgxpvjzqlqcqm4h78sg45zyu54rngdxff", CashAddressFactory.create().getFromBase58(params, legacyAddressP2PKH).toString());

String cashAddressP2PKH = "bitcoincash:qrnpf0nqkzgxpvjzqlqcqm4h78sg45zyu54rngdxff";
String legacyAddress = LegacyAddress.fromCashAddress(params, cashAddressP2PKH).toString();
assertEquals("1MyZGR8HpaN8Hot5trvxUNALEW6E1haAuk", legacyAddress);

String legacyAddressP2SH = "36JVCGHDv8KaT3aMzrkS8Y2Qh2CHm8Z129";
String cashAddressP2SH = CashAddress.fromBase58(params, legacyAddressP2SH).toString();
String cashAddressP2SH = CashAddressFactory.create().getFromBase58(params, legacyAddressP2SH).toString();
System.out.println(cashAddressP2SH);
assertEquals("bitcoincash:pqeft5ukkg9ew2fgt5axxnrq853nc5cuyvvpusv2nz", cashAddressP2SH);

System.out.println(CashAddress.fromCashAddress(params, "bitcoincash:qrnpf0nqkzgxpvjzqlqcqm4h78sg45zyu54rngdxff").getOutputScriptType());
System.out.println(CashAddress.fromCashAddress(params, "bitcoincash:pqeft5ukkg9ew2fgt5axxnrq853nc5cuyvvpusv2nz").getOutputScriptType());
System.out.println(CashAddressFactory.create().getFromFormattedAddress(params, "bitcoincash:qrnpf0nqkzgxpvjzqlqcqm4h78sg45zyu54rngdxff").getOutputScriptType());
System.out.println(CashAddressFactory.create().getFromFormattedAddress(params, "bitcoincash:pqeft5ukkg9ew2fgt5axxnrq853nc5cuyvvpusv2nz").getOutputScriptType());
}
}

0 comments on commit b4837b0

Please sign in to comment.