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 }