Merge pull request #4509 from oscarguindzberg/extract_to_segwit

Extract btc to segwit addresses
This commit is contained in:
Christoph Atteneder 2020-09-21 19:54:31 +02:00 committed by GitHub
commit 0cb70da265
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 188 additions and 141 deletions

View file

@ -23,21 +23,21 @@ import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.params.MainNetParams;
/**
* {@link AddressValidator} for Base58-encoded Bitcoin addresses.
* {@link AddressValidator} for Base58-encoded addresses.
*
* @author Chris Beams
* @since 0.7.0
* @see org.bitcoinj.core.LegacyAddress#fromBase58(NetworkParameters, String)
*/
public class Base58BitcoinAddressValidator implements AddressValidator {
public class Base58AddressValidator implements AddressValidator {
private final NetworkParameters networkParameters;
public Base58BitcoinAddressValidator() {
public Base58AddressValidator() {
this(MainNetParams.get());
}
public Base58BitcoinAddressValidator(NetworkParameters networkParameters) {
public Base58AddressValidator(NetworkParameters networkParameters) {
this.networkParameters = networkParameters;
}

View file

@ -0,0 +1,52 @@
/*
* This file is part of Bisq.
*
* Bisq is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at
* your option) any later version.
*
* Bisq is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
* License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
*/
package bisq.asset;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.params.MainNetParams;
/**
* {@link AddressValidator} for Bitcoin addresses.
*
* @author Oscar Guindzberg
*/
public class BitcoinAddressValidator implements AddressValidator {
private final NetworkParameters networkParameters;
public BitcoinAddressValidator() {
this(MainNetParams.get());
}
public BitcoinAddressValidator(NetworkParameters networkParameters) {
this.networkParameters = networkParameters;
}
@Override
public AddressValidationResult validate(String address) {
try {
Address.fromString(networkParameters, address);
} catch (AddressFormatException ex) {
return AddressValidationResult.invalidAddress(ex);
}
return AddressValidationResult.validAddress();
}
}

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Actinium extends Coin {
public Actinium() {
super("Actinium", "ACM", new Base58BitcoinAddressValidator(new ActiniumParams()));
super("Actinium", "ACM", new Base58AddressValidator(new ActiniumParams()));
}

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class Adeptio extends Coin {
}
public static class AdeptioAddressValidator extends Base58BitcoinAddressValidator {
public static class AdeptioAddressValidator extends Base58AddressValidator {
public AdeptioAddressValidator() {
super(new AdeptioParams());

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Animecoin extends Coin {
public Animecoin() {
super("Animecoin", "ANI", new Base58BitcoinAddressValidator(new AnimecoinMainNetParams()));
super("Animecoin", "ANI", new Base58AddressValidator(new AnimecoinMainNetParams()));
}
public static class AnimecoinMainNetParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Australiacash extends Coin {
public Australiacash() {
super("Australiacash", "AUS", new Base58BitcoinAddressValidator(new AustraliacashParams()));
super("Australiacash", "AUS", new Base58AddressValidator(new AustraliacashParams()));
}
public static class AustraliacashParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import org.bitcoinj.core.NetworkParameters;
@ -57,7 +57,7 @@ public class BSQ extends Coin {
}
public static class BSQAddressValidator extends Base58BitcoinAddressValidator {
public static class BSQAddressValidator extends Base58AddressValidator {
public BSQAddressValidator(NetworkParameters networkParameters) {
super(networkParameters);

View file

@ -17,7 +17,7 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.BitcoinAddressValidator;
import bisq.asset.Coin;
import org.bitcoinj.core.NetworkParameters;
@ -28,7 +28,7 @@ import org.bitcoinj.params.TestNet3Params;
public abstract class Bitcoin extends Coin {
public Bitcoin(Network network, NetworkParameters networkParameters) {
super("Bitcoin", "BTC", new Base58BitcoinAddressValidator(networkParameters), network);
super("Bitcoin", "BTC", new BitcoinAddressValidator(networkParameters), network);
}

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class BitcoinRhodium extends Coin {
public BitcoinRhodium() {
super("Bitcoin Rhodium", "XRC", new Base58BitcoinAddressValidator(new BitcoinRhodiumParams()));
super("Bitcoin Rhodium", "XRC", new Base58AddressValidator(new BitcoinRhodiumParams()));
}
public static class BitcoinRhodiumParams extends NetworkParametersAdapter {

View file

@ -17,7 +17,7 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -31,6 +31,6 @@ public class Bitmark extends Coin {
}
public Bitmark() {
super("Bitmark", "BTM", new Base58BitcoinAddressValidator(new BitmarkParams()));
super("Bitmark", "BTM", new Base58AddressValidator(new BitmarkParams()));
}
}

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class CTSCoin extends Coin {
public CTSCoin() {
super("CTSCoin", "CTSC", new Base58BitcoinAddressValidator(new CtscMainNetParams()));
super("CTSCoin", "CTSC", new Base58AddressValidator(new CtscMainNetParams()));
}
public static class CtscMainNetParams extends NetworkParametersAdapter {

View file

@ -17,18 +17,18 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Chaucha extends Coin {
public Chaucha() {
super("Chaucha", "CHA", new Base58BitcoinAddressValidator(new ChauchaParams()));
super("Chaucha", "CHA", new Base58AddressValidator(new ChauchaParams()));
}
public static class ChauchaParams extends NetworkParametersAdapter {
public ChauchaParams() {
addressHeader = 88;
p2shHeader = 50;

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class Credits extends Coin {
}
public static class CreditsAddressValidator extends Base58BitcoinAddressValidator {
public static class CreditsAddressValidator extends Base58AddressValidator {
public CreditsAddressValidator() {
super(new CreditsParams());

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class DSTRA extends Coin {
}
public static class DSTRAAddressValidator extends Base58BitcoinAddressValidator {
public static class DSTRAAddressValidator extends Base58AddressValidator {
public DSTRAAddressValidator() {
super(new DSTRAParams());

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class DarkPay extends Coin {
public DarkPay() {
super("DarkPay", "D4RK", new Base58BitcoinAddressValidator(new DarkPayMainNetParams()));
super("DarkPay", "D4RK", new Base58AddressValidator(new DarkPayMainNetParams()));
}
public static class DarkPayMainNetParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Dash extends Coin {
public Dash() {
super("Dash", "DASH", new Base58BitcoinAddressValidator(new DashMainNetParams()), Network.MAINNET);
super("Dash", "DASH", new Base58AddressValidator(new DashMainNetParams()), Network.MAINNET);
}
public static class DashMainNetParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -27,7 +27,7 @@ public class DeepOnion extends Coin {
super("DeepOnion", "ONION", new DeepOnionAddressValidator());
}
public static class DeepOnionAddressValidator extends Base58BitcoinAddressValidator {
public static class DeepOnionAddressValidator extends Base58AddressValidator {
public DeepOnionAddressValidator() {
super(new DeepOnionParams());

View file

@ -18,18 +18,18 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Dextro extends Coin {
public Dextro() {
super("Dextro", "DXO", new Base58BitcoinAddressValidator(new DextroParams()));
super("Dextro", "DXO", new Base58AddressValidator(new DextroParams()));
}
public static class DextroAddressValidator extends Base58BitcoinAddressValidator {
public static class DextroAddressValidator extends Base58AddressValidator {
public DextroAddressValidator() {
super(new DextroParams());
@ -44,7 +44,7 @@ public class Dextro extends Coin {
}
}
public static class DextroParams extends NetworkParametersAdapter {
public DextroParams() {

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Dogecoin extends Coin {
public Dogecoin() {
super("Dogecoin", "DOGE", new Base58BitcoinAddressValidator(new DogecoinMainNetParams()), Network.MAINNET);
super("Dogecoin", "DOGE", new Base58AddressValidator(new DogecoinMainNetParams()), Network.MAINNET);
}
public static class DogecoinMainNetParams extends NetworkParametersAdapter {

View file

@ -17,16 +17,16 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Doichain extends Coin {
public Doichain() {
super("Doichain", "DOI", new Base58BitcoinAddressValidator(new DoichainParams()));
super("Doichain", "DOI", new Base58AddressValidator(new DoichainParams()));
}
public static class DoichainParams extends NetworkParametersAdapter {
public DoichainParams() {
addressHeader = 52;

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class Donu extends Coin {
}
public static class DonuAddressValidator extends Base58BitcoinAddressValidator {
public static class DonuAddressValidator extends Base58AddressValidator {
public DonuAddressValidator() {
super(new DonuParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Emercoin extends Coin {
public Emercoin() {
super("Emercoin", "EMC", new Base58BitcoinAddressValidator(new EmercoinMainNetParams()), Network.MAINNET);
super("Emercoin", "EMC", new Base58AddressValidator(new EmercoinMainNetParams()), Network.MAINNET);
}
public static class EmercoinMainNetParams extends NetworkParametersAdapter {

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Faircoin extends Coin {
public Faircoin() {
super("Faircoin", "FAIR", new Base58BitcoinAddressValidator(new Faircoin.FaircoinParams()));
super("Faircoin", "FAIR", new Base58AddressValidator(new Faircoin.FaircoinParams()));
}
public static class FaircoinParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Fujicoin extends Coin {
public Fujicoin() {
super("Fujicoin", "FJC", new Base58BitcoinAddressValidator(new FujicoinParams()));
super("Fujicoin", "FJC", new Base58AddressValidator(new FujicoinParams()));
}
public static class FujicoinParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Galilel extends Coin {
public Galilel() {
super("Galilel", "GALI", new Base58BitcoinAddressValidator(new GalilelMainNetParams()));
super("Galilel", "GALI", new Base58AddressValidator(new GalilelMainNetParams()));
}
public static class GalilelMainNetParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class GambleCoin extends Coin {
}
public static class GambleCoinAddressValidator extends Base58BitcoinAddressValidator {
public static class GambleCoinAddressValidator extends Base58AddressValidator {
public GambleCoinAddressValidator() {
super(new GambleCoinParams());

View file

@ -18,8 +18,6 @@
package bisq.asset.coins;
import bisq.asset.*;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.AddressFormatException;
public class Genesis extends Coin {
@ -27,7 +25,7 @@ public class Genesis extends Coin {
super("Genesis", "GENX", new GenesisAddressValidator());
}
public static class GenesisAddressValidator extends Base58BitcoinAddressValidator {
public static class GenesisAddressValidator extends Base58AddressValidator {
public GenesisAddressValidator() {
super(new GenesisParams());

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Hatch extends Coin {
public Hatch() {
super("Hatch", "HATCH", new Base58BitcoinAddressValidator(new HatchMainNetParams()), Network.MAINNET);
super("Hatch", "HATCH", new Base58AddressValidator(new HatchMainNetParams()), Network.MAINNET);
}
public static class HatchMainNetParams extends NetworkParametersAdapter {

View file

@ -17,15 +17,14 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Helium extends Coin {
public Helium() {
super("Helium", "HLM", new Base58BitcoinAddressValidator(new HeliumParams()));
super("Helium", "HLM", new Base58AddressValidator(new HeliumParams()));
}
public static class HeliumParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class IdaPay extends Coin {
}
public static class IdaPayAddressValidator extends Base58BitcoinAddressValidator {
public static class IdaPayAddressValidator extends Base58AddressValidator {
public IdaPayAddressValidator() {
super(new IdaPayParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Kekcoin extends Coin {
public Kekcoin() {
super("Kekcoin", "KEK", new Base58BitcoinAddressValidator(new KekcoinParams()));
super("Kekcoin", "KEK", new Base58AddressValidator(new KekcoinParams()));
}

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class KnowYourDeveloper extends Coin {
public KnowYourDeveloper() {
super("Know Your Developer", "KYDC", new Base58BitcoinAddressValidator(new KydMainNetParams()));
super("Know Your Developer", "KYDC", new Base58AddressValidator(new KydMainNetParams()));
}
public static class KydMainNetParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Kore extends Coin {
public Kore() {
super("Kore", "KORE", new Base58BitcoinAddressValidator(new KoreMainNetParams()));
super("Kore", "KORE", new Base58AddressValidator(new KoreMainNetParams()));
}
public static class KoreMainNetParams extends NetworkParametersAdapter {

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class LBRYCredits extends Coin {
public LBRYCredits() {
super("LBRY Credits", "LBC", new Base58BitcoinAddressValidator(new LBRYCreditsMainNetParams()), Network.MAINNET);
super("LBRY Credits", "LBC", new Base58AddressValidator(new LBRYCreditsMainNetParams()), Network.MAINNET);
}
public static class LBRYCreditsMainNetParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Litecoin extends Coin {
public Litecoin() {
super("Litecoin", "LTC", new Base58BitcoinAddressValidator(new LitecoinMainNetParams()), Network.MAINNET);
super("Litecoin", "LTC", new Base58AddressValidator(new LitecoinMainNetParams()), Network.MAINNET);
}
public static class LitecoinMainNetParams extends NetworkParametersAdapter {

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class LitecoinPlus extends Coin {
public LitecoinPlus() {
super("LitecoinPlus", "LCP", new Base58BitcoinAddressValidator(new LitecoinPlusMainNetParams()));
super("LitecoinPlus", "LCP", new Base58AddressValidator(new LitecoinPlusMainNetParams()));
}
public static class LitecoinPlusMainNetParams extends NetworkParametersAdapter {

View file

@ -17,15 +17,14 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Lytix extends Coin {
public Lytix() {
super("Lytix", "LYTX", new Base58BitcoinAddressValidator(new LytixParams()));
super("Lytix", "LYTX", new Base58AddressValidator(new LytixParams()));
}
public static class LytixParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class MobitGlobal extends Coin {
}
public static class MobitGlobalAddressValidator extends Base58BitcoinAddressValidator {
public static class MobitGlobalAddressValidator extends Base58AddressValidator {
public MobitGlobalAddressValidator() {
super(new MobitGlobalParams());

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class MonetaryUnit extends Coin {
}
public static class MonetaryUnitAddressValidator extends Base58BitcoinAddressValidator {
public static class MonetaryUnitAddressValidator extends Base58AddressValidator {
public MonetaryUnitAddressValidator() {
super(new MonetaryUnitParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Myce extends Coin {
public Myce() {
super("Myce", "YCE", new Base58BitcoinAddressValidator(new MyceParams()));
super("Myce", "YCE", new Base58AddressValidator(new MyceParams()));
}
public static class MyceParams extends NetworkParametersAdapter {

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Navcoin extends Coin {
public Navcoin() {
super("Navcoin", "NAV", new Base58BitcoinAddressValidator(new NavcoinParams()));
super("Navcoin", "NAV", new Base58AddressValidator(new NavcoinParams()));
}
public static class NavcoinParams extends NetworkParametersAdapter {

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class PIVX extends Coin {
}
public static class PIVXAddressValidator extends Base58BitcoinAddressValidator {
public static class PIVXAddressValidator extends Base58AddressValidator {
public PIVXAddressValidator() {
super(new PIVXParams());

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class PZDC extends Coin {
}
public static class PZDCAddressValidator extends Base58BitcoinAddressValidator {
public static class PZDCAddressValidator extends Base58AddressValidator {
public PZDCAddressValidator() {
super(new PZDCParams());

View file

@ -17,7 +17,7 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
import bisq.asset.AddressValidationResult;
@ -34,7 +34,7 @@ public class Particl extends Coin {
this.p2shHeader = 60;
}
}
public static class ParticlMainNetAddressValidator extends Base58BitcoinAddressValidator {
public static class ParticlMainNetAddressValidator extends Base58AddressValidator {
public ParticlMainNetAddressValidator() {
super(new ParticlMainNetParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Pinkcoin extends Coin {
public Pinkcoin() {
super("Pinkcoin", "PINK", new Base58BitcoinAddressValidator(new PinkcoinParams()));
super("Pinkcoin", "PINK", new Base58AddressValidator(new PinkcoinParams()));
}

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class QMCoin extends Coin {
}
public static class QMCoinAddressValidator extends Base58BitcoinAddressValidator {
public static class QMCoinAddressValidator extends Base58AddressValidator {
public QMCoinAddressValidator() {
super(new QMCoinParams());

View file

@ -1,7 +1,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -11,7 +11,7 @@ public class Qbase extends Coin {
}
public static class QbaseAddressValidator extends Base58BitcoinAddressValidator {
public static class QbaseAddressValidator extends Base58AddressValidator {
public QbaseAddressValidator() {
super(new Qbase.QbaseParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Radium extends Coin {
public Radium() {
super("Radium", "RADS", new Base58BitcoinAddressValidator(new RadiumParams()));
super("Radium", "RADS", new Base58AddressValidator(new RadiumParams()));
}

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class SUB1X extends Coin {
}
public static class SUB1XAddressValidator extends Base58BitcoinAddressValidator {
public static class SUB1XAddressValidator extends Base58AddressValidator {
public SUB1XAddressValidator() {
super(new SUB1XParams());

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -28,7 +28,7 @@ public class SixEleven extends Coin {
super("SixEleven", "SIL", new SixElevenAddressValidator());
}
public static class SixElevenAddressValidator extends Base58BitcoinAddressValidator {
public static class SixElevenAddressValidator extends Base58AddressValidator {
public SixElevenAddressValidator() {
super(new SixEleven.SixElevenChainParams());

View file

@ -17,14 +17,14 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Spectrecoin extends Coin {
public Spectrecoin() {
super("Spectrecoin", "XSPEC", new Base58BitcoinAddressValidator(new SpectrecoinParams()));
super("Spectrecoin", "XSPEC", new Base58AddressValidator(new SpectrecoinParams()));
}

View file

@ -17,12 +17,12 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
public class Starwels extends Coin {
public Starwels() {
super("Starwels", "USDH", new Base58BitcoinAddressValidator());
super("Starwels", "USDH", new Base58AddressValidator());
}
}

View file

@ -18,7 +18,7 @@
package bisq.asset.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
@ -29,7 +29,7 @@ public class UnitedCommunityCoin extends Coin {
}
public static class UnitedCommunityCoinAddressValidator extends Base58BitcoinAddressValidator {
public static class UnitedCommunityCoinAddressValidator extends Base58AddressValidator {
public UnitedCommunityCoinAddressValidator() {
super(new UnitedCommunityCoinParams());

View file

@ -18,8 +18,6 @@
package bisq.asset.coins;
import bisq.asset.*;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.AddressFormatException;
public class Veil extends Coin {
@ -27,7 +25,7 @@ public class Veil extends Coin {
super("Veil", "VEIL", new VeilAddressValidator());
}
public static class VeilAddressValidator extends Base58BitcoinAddressValidator {
public static class VeilAddressValidator extends Base58AddressValidator {
public VeilAddressValidator() {
super(new VeilParams());

View file

@ -17,13 +17,13 @@
package bisq.asset.coins;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Vertcoin extends Coin {
public Vertcoin() {
super("Vertcoin", "VTC", new Base58BitcoinAddressValidator(new VertcoinMainNetParams()));
super("Vertcoin", "VTC", new Base58AddressValidator(new VertcoinMainNetParams()));
}
public static class VertcoinMainNetParams extends NetworkParametersAdapter {

View file

@ -1058,7 +1058,7 @@ public class BtcWalletService extends WalletService {
final Coin receiverAmount = amount.subtract(fee);
Preconditions.checkArgument(Restrictions.isAboveDust(receiverAmount),
"The amount is too low (dust limit).");
tx.addOutput(receiverAmount, LegacyAddress.fromBase58(params, toAddress));
tx.addOutput(receiverAmount, Address.fromString(params, toAddress));
SendRequest sendRequest = SendRequest.forTx(tx);
sendRequest.fee = fee;
@ -1089,7 +1089,7 @@ public class BtcWalletService extends WalletService {
checkArgument(Restrictions.isAboveDust(netValue),
"The amount is too low (dust limit).");
tx.addOutput(netValue, LegacyAddress.fromBase58(params, toAddress));
tx.addOutput(netValue, Address.fromString(params, toAddress));
SendRequest sendRequest = SendRequest.forTx(tx);
sendRequest.fee = fee;
@ -1154,14 +1154,14 @@ public class BtcWalletService extends WalletService {
Preconditions.checkArgument(Restrictions.isAboveDust(buyerAmount),
"The buyerAmount is too low (dust limit).");
tx.addOutput(buyerAmount, LegacyAddress.fromBase58(params, buyerAddressString));
tx.addOutput(buyerAmount, Address.fromString(params, buyerAddressString));
}
// sellerAmount can be 0
if (sellerAmount.isPositive()) {
Preconditions.checkArgument(Restrictions.isAboveDust(sellerAmount),
"The sellerAmount is too low (dust limit).");
tx.addOutput(sellerAmount, LegacyAddress.fromBase58(params, sellerAddressString));
tx.addOutput(sellerAmount, Address.fromString(params, sellerAddressString));
}
SendRequest sendRequest = SendRequest.forTx(tx);

View file

@ -37,7 +37,6 @@ import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.ECKey;
import org.bitcoinj.core.InsufficientMoneyException;
import org.bitcoinj.core.LegacyAddress;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.listeners.TransactionConfidenceEventListener;
import org.bitcoinj.script.ScriptException;
@ -499,12 +498,12 @@ public abstract class WalletService {
// Empty complete Wallet
///////////////////////////////////////////////////////////////////////////////////////////
public void emptyWallet(String toAddress,
KeyParameter aesKey,
ResultHandler resultHandler,
ErrorMessageHandler errorMessageHandler)
public void emptyBtcWallet(String toAddress,
KeyParameter aesKey,
ResultHandler resultHandler,
ErrorMessageHandler errorMessageHandler)
throws InsufficientMoneyException, AddressFormatException {
SendRequest sendRequest = SendRequest.emptyWallet(LegacyAddress.fromBase58(params, toAddress));
SendRequest sendRequest = SendRequest.emptyWallet(Address.fromString(params, toAddress));
sendRequest.fee = Coin.ZERO;
sendRequest.feePerKb = getTxFeeForWithdrawalPerByte().multiply(1000);
sendRequest.aesKey = aesKey;
@ -739,7 +738,8 @@ public abstract class WalletService {
public static boolean isOutputScriptConvertibleToAddress(TransactionOutput output) {
return ScriptPattern.isP2PKH(output.getScriptPubKey()) ||
ScriptPattern.isP2SH(output.getScriptPubKey());
ScriptPattern.isP2SH(output.getScriptPubKey()) ||
ScriptPattern.isP2WH(output.getScriptPubKey());
}
@Nullable

View file

@ -118,7 +118,7 @@ public final class CompensationProposal extends Proposal implements IssuanceProp
return Coin.valueOf(requestedBsq);
}
public Address getAddress() throws AddressFormatException {
public LegacyAddress getAddress() throws AddressFormatException {
// Remove leading 'B'
String underlyingBtcAddress = bsqAddress.substring(1, bsqAddress.length());
return LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(), underlyingBtcAddress);

View file

@ -118,7 +118,7 @@ public final class ReimbursementProposal extends Proposal implements IssuancePro
return Coin.valueOf(requestedBsq);
}
public Address getAddress() throws AddressFormatException {
public LegacyAddress getAddress() throws AddressFormatException {
// Remove leading 'B'
String underlyingBtcAddress = bsqAddress.substring(1, bsqAddress.length());
return LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(), underlyingBtcAddress);

View file

@ -106,12 +106,13 @@ public class BsqFormatter implements CoinFormatter {
}
public Address getAddressFromBsqAddress(String encoded) {
public LegacyAddress getAddressFromBsqAddress(String encoded) {
String maybeUpdatedEncoded = encoded;
if (useBsqAddressFormat)
encoded = encoded.substring(prefix.length(), encoded.length());
maybeUpdatedEncoded = encoded.substring(prefix.length(), encoded.length());
try {
return LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(), encoded);
return LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(), maybeUpdatedEncoded);
} catch (AddressFormatException e) {
throw new RuntimeException(e);
}

View file

@ -21,8 +21,8 @@ import bisq.core.locale.Res;
import bisq.common.config.Config;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.LegacyAddress;
import javax.inject.Inject;
@ -44,7 +44,7 @@ public final class BtcAddressValidator extends InputValidator {
private ValidationResult validateBtcAddress(String input) {
try {
LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(), input);
Address.fromString(Config.baseCurrencyNetworkParameters(), input);
return new ValidationResult(true);
} catch (AddressFormatException e) {
return new ValidationResult(false, Res.get("validation.btc.invalidFormat"));

View file

@ -25,7 +25,7 @@ import org.bitcoinj.params.TestNet3Params;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
public class MockTestnetCoin extends Coin {
@ -55,7 +55,7 @@ public class MockTestnetCoin extends Coin {
}
}
public static class BSQAddressValidator extends Base58BitcoinAddressValidator {
public static class BSQAddressValidator extends Base58AddressValidator {
public BSQAddressValidator(NetworkParameters networkParameters) {
super(networkParameters);

View file

@ -160,7 +160,7 @@ public final class BtcEmptyWalletWindow extends Overlay<BtcEmptyWalletWindow> {
emptyWalletButton.setDisable(true);
openOfferManager.removeAllOpenOffers(() -> {
try {
btcWalletService.emptyWallet(addressInputTextField.getText(),
btcWalletService.emptyBtcWallet(addressInputTextField.getText(),
aesKey,
() -> {
closeButton.updateText(Res.get("shared.close"));

View file

@ -68,8 +68,8 @@ import bisq.common.util.Tuple2;
import bisq.common.util.Tuple3;
import bisq.common.util.Utilities;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.LegacyAddress;
import org.bitcoinj.core.TransactionConfidence;
import org.bitcoinj.uri.BitcoinURI;
import org.bitcoinj.utils.Fiat;
@ -718,7 +718,7 @@ public class GUIUtil {
public static String getBitcoinURI(String address, Coin amount, String label) {
return address != null ?
BitcoinURI.convertToBitcoinURI(LegacyAddress.fromBase58(Config.baseCurrencyNetworkParameters(),
BitcoinURI.convertToBitcoinURI(Address.fromString(Config.baseCurrencyNetworkParameters(),
address), amount, label, null) :
"";
}