Merge pull request #2157 from CaveSpectre11/list-dextro-asset

List Dextro (DXO)
This commit is contained in:
Manfred Karrer 2018-12-23 14:03:50 +01:00 committed by GitHub
commit d2d92a1db9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 101 additions and 0 deletions

View File

@ -0,0 +1,57 @@
/*
* 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.coins;
import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;
public class Dextro extends Coin {
public Dextro() {
super("Dextro", "DXO", new Base58BitcoinAddressValidator(new DextroParams()));
}
public static class DextroAddressValidator extends Base58BitcoinAddressValidator {
public DextroAddressValidator() {
super(new DextroParams());
}
@Override
public AddressValidationResult validate(String address) {
if (!address.matches("^[D][a-km-zA-HJ-NP-Z1-9]{33}$"))
return AddressValidationResult.invalidStructure();
return super.validate(address);
}
}
public static class DextroParams extends NetworkParametersAdapter {
public DextroParams() {
super();
addressHeader = 30;
p2shHeader = 90;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}

View File

@ -19,6 +19,7 @@ bisq.asset.coins.Counterparty
bisq.asset.coins.Croat
bisq.asset.coins.Dash
bisq.asset.coins.Decred
bisq.asset.coins.Dextro
bisq.asset.coins.Dogecoin
bisq.asset.coins.Dragonglass
bisq.asset.coins.Ether

View File

@ -0,0 +1,43 @@
/*
* 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.coins;
import bisq.asset.AbstractAssetTest;
import org.junit.Test;
public class DextroTest extends AbstractAssetTest {
public DextroTest() {
super(new Dextro());
}
@Test
public void testValidAddresses() {
assertValidAddress("DP9LSAMzxNAuSei1GH3pppMjDqBhNrSGov");
assertValidAddress("D8HwxDXPJhrSYonPF7YbCGENkM88cAYKb5");
assertValidAddress("DLhJt6UfwMtWLGMH3ADzjqaLaGG6Bz96Bz");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("DP9LSAMzxNAuSei1GH3pppMjDqBhNrSG0v");
assertInvalidAddress("DP9LSAMzxNAuSei1GH3pppMjDqBhNrSGovx");
assertInvalidAddress("DP9LSAMzxNAuSei1GH3pppMjDqBhNrSG#v");
}
}