Coverage Summary for Class: HDWalletUtilsHelper (co.rsk.pcc.bto)

Class Class, % Method, % Line, %
HDWalletUtilsHelper 0% (0/1) 0% (0/2) 0% (0/8)


1 package co.rsk.pcc.bto; 2  3 import co.rsk.bitcoinj.core.NetworkParameters; 4 import co.rsk.pcc.exception.NativeContractIllegalArgumentException; 5  6 public class HDWalletUtilsHelper { 7  public NetworkParameters validateAndExtractNetworkFromExtendedPublicKey(String xpub) throws NativeContractIllegalArgumentException { 8  // Network determination is done by starting character 9  // Extended public key must start with a "xpub" (mainnet) or "tpub" (testnet) 10  if (xpub == null) { 11  throw new NativeContractIllegalArgumentException(String.format("Invalid extended public key '%s'", xpub)); 12  } 13  if (xpub.startsWith("xpub")) { 14  return NetworkParameters.fromID(NetworkParameters.ID_MAINNET); 15  } else if (xpub.startsWith("tpub")) { 16  return NetworkParameters.fromID(NetworkParameters.ID_TESTNET); 17  } else { 18  throw new NativeContractIllegalArgumentException(String.format("Invalid extended public key '%s'", xpub)); 19  } 20  } 21 }