Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract btc to segwit addresses #4509

Merged
merged 7 commits into from
Sep 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,21 @@
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;
}

Expand Down
52 changes: 52 additions & 0 deletions assets/src/main/java/bisq/asset/BitcoinAddressValidator.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Actinium.java
Original file line number Diff line number Diff line change
Expand Up @@ -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()));
}


Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Adeptio.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -29,7 +29,7 @@ public Adeptio() {
}


public static class AdeptioAddressValidator extends Base58BitcoinAddressValidator {
public static class AdeptioAddressValidator extends Base58AddressValidator {

public AdeptioAddressValidator() {
super(new AdeptioParams());
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Animecoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Australiacash.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/BSQ.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -57,7 +57,7 @@ public Regtest() {
}


public static class BSQAddressValidator extends Base58BitcoinAddressValidator {
public static class BSQAddressValidator extends Base58AddressValidator {

public BSQAddressValidator(NetworkParameters networkParameters) {
super(networkParameters);
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Bitcoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -28,7 +28,7 @@
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);
}


Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/BitcoinRhodium.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Bitmark.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

package bisq.asset.coins;

import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Base58AddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;

Expand All @@ -31,6 +31,6 @@ public BitmarkParams() {
}

public Bitmark() {
super("Bitmark", "BTM", new Base58BitcoinAddressValidator(new BitmarkParams()));
super("Bitmark", "BTM", new Base58AddressValidator(new BitmarkParams()));
}
}
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/CTSCoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 3 additions & 3 deletions assets/src/main/java/bisq/asset/coins/Chaucha.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Credits.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -29,7 +29,7 @@ public Credits() {
}


public static class CreditsAddressValidator extends Base58BitcoinAddressValidator {
public static class CreditsAddressValidator extends Base58AddressValidator {

public CreditsAddressValidator() {
super(new CreditsParams());
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/DSTRA.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -29,7 +29,7 @@ public DSTRA() {
}


public static class DSTRAAddressValidator extends Base58BitcoinAddressValidator {
public static class DSTRAAddressValidator extends Base58AddressValidator {

public DSTRAAddressValidator() {
super(new DSTRAParams());
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/DarkPay.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Dash.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/DeepOnion.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -27,7 +27,7 @@ public DeepOnion() {
super("DeepOnion", "ONION", new DeepOnionAddressValidator());
}

public static class DeepOnionAddressValidator extends Base58BitcoinAddressValidator {
public static class DeepOnionAddressValidator extends Base58AddressValidator {

public DeepOnionAddressValidator() {
super(new DeepOnionParams());
Expand Down
8 changes: 4 additions & 4 deletions assets/src/main/java/bisq/asset/coins/Dextro.java
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand All @@ -44,7 +44,7 @@ public AddressValidationResult validate(String address) {
}
}


public static class DextroParams extends NetworkParametersAdapter {

public DextroParams() {
Expand Down
4 changes: 2 additions & 2 deletions assets/src/main/java/bisq/asset/coins/Dogecoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Loading