From 68966e5c265712542df6c25aca73bdddef323cb2 Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Tue, 19 Aug 2025 16:17:53 +0200 Subject: [PATCH] followup --- .../java/com/sparrowwallet/drongo/Network.java | 18 ++++++++++++------ .../silentpayments/SilentPaymentAddress.java | 8 ++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/sparrowwallet/drongo/Network.java b/src/main/java/com/sparrowwallet/drongo/Network.java index a413e0e..c426260 100644 --- a/src/main/java/com/sparrowwallet/drongo/Network.java +++ b/src/main/java/com/sparrowwallet/drongo/Network.java @@ -3,16 +3,16 @@ package com.sparrowwallet.drongo; import java.util.Locale; public enum Network { - MAINNET("mainnet", "Mainnet", "mainnet", 0, "1", 5, "3", "bc", ExtendedKey.Header.xprv, ExtendedKey.Header.xpub, 128, 8332), - TESTNET("testnet", "Testnet3", "testnet3", 111, "mn", 196, "2", "tb", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 18332), - REGTEST("regtest", "Regtest", "regtest", 111, "mn", 196, "2", "bcrt", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 18443), - SIGNET("signet", "Signet", "signet", 111, "mn", 196, "2", "tb", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 38332), - TESTNET4("testnet4", "Testnet4", "testnet4", 111, "mn", 196, "2", "tb", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 48332); + MAINNET("mainnet", "Mainnet", "mainnet", 0, "1", 5, "3", "bc", "sp", ExtendedKey.Header.xprv, ExtendedKey.Header.xpub, 128, 8332), + TESTNET("testnet", "Testnet3", "testnet3", 111, "mn", 196, "2", "tb", "tsp", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 18332), + REGTEST("regtest", "Regtest", "regtest", 111, "mn", 196, "2", "bcrt", "sprt", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 18443), + SIGNET("signet", "Signet", "signet", 111, "mn", 196, "2", "tb", "tsp", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 38332), + TESTNET4("testnet4", "Testnet4", "testnet4", 111, "mn", 196, "2", "tb", "tsp", ExtendedKey.Header.tprv, ExtendedKey.Header.tpub, 239, 48332); public static final String BLOCK_HEIGHT_PROPERTY = "com.sparrowwallet.blockHeight"; private static final Network[] CANONICAL_VALUES = new Network[]{MAINNET, TESTNET, REGTEST, SIGNET}; - Network(String name, String displayName, String home, int p2pkhAddressHeader, String p2pkhAddressPrefix, int p2shAddressHeader, String p2shAddressPrefix, String bech32AddressHrp, ExtendedKey.Header xprvHeader, ExtendedKey.Header xpubHeader, int dumpedPrivateKeyHeader, int defaultPort) { + Network(String name, String displayName, String home, int p2pkhAddressHeader, String p2pkhAddressPrefix, int p2shAddressHeader, String p2shAddressPrefix, String bech32AddressHrp, String spAddressHrp, ExtendedKey.Header xprvHeader, ExtendedKey.Header xpubHeader, int dumpedPrivateKeyHeader, int defaultPort) { this.name = name; this.displayName = displayName; this.home = home; @@ -21,6 +21,7 @@ public enum Network { this.p2shAddressHeader = p2shAddressHeader; this.p2shAddressPrefix = p2shAddressPrefix; this.bech32AddressHrp = bech32AddressHrp; + this.spAddressHrp = spAddressHrp; this.xprvHeader = xprvHeader; this.xpubHeader = xpubHeader; this.dumpedPrivateKeyHeader = dumpedPrivateKeyHeader; @@ -35,6 +36,7 @@ public enum Network { private final int p2shAddressHeader; private final String p2shAddressPrefix; private final String bech32AddressHrp; + private final String spAddressHrp; private final ExtendedKey.Header xprvHeader; private final ExtendedKey.Header xpubHeader; private final int dumpedPrivateKeyHeader; @@ -70,6 +72,10 @@ public enum Network { return bech32AddressHrp; } + public String getSilentPaymentsAddressHrp() { + return spAddressHrp; + } + public ExtendedKey.Header getXprvHeader() { return xprvHeader; } diff --git a/src/main/java/com/sparrowwallet/drongo/silentpayments/SilentPaymentAddress.java b/src/main/java/com/sparrowwallet/drongo/silentpayments/SilentPaymentAddress.java index 0ab49ab..78918d9 100644 --- a/src/main/java/com/sparrowwallet/drongo/silentpayments/SilentPaymentAddress.java +++ b/src/main/java/com/sparrowwallet/drongo/silentpayments/SilentPaymentAddress.java @@ -26,11 +26,7 @@ public class SilentPaymentAddress { public String getAddress() { byte[] keys = Utils.concat(scanAddress.getPubKey(), spendAddress.getPubKey()); - return Bech32.encode(getHrp(), 0, Bech32.Encoding.BECH32M, keys); - } - - private static String getHrp() { - return Network.get() == Network.MAINNET ? "sp" : "tsp"; + return Bech32.encode(Network.get().getSilentPaymentsAddressHrp(), 0, Bech32.Encoding.BECH32M, keys); } public static SilentPaymentAddress from(String address) { @@ -39,7 +35,7 @@ public class SilentPaymentAddress { throw new IllegalArgumentException("Invalid silent payments address encoding"); } - if(!getHrp().equals(data.hrp)) { + if(!Network.get().getSilentPaymentsAddressHrp().equals(data.hrp)) { throw new IllegalArgumentException("Invalid silent payments address hrp"); }