Merge pull request #2385 from DSTRACoin/list-dstra-asset

List DSTRA (DST)
This commit is contained in:
Christoph Atteneder 2019-03-04 10:26:17 +01:00 committed by GitHub
commit 3e767fa711
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,56 @@
/*
* 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 DSTRA extends Coin {
public DSTRA() {
super("DSTRA", "DST", new DSTRAAddressValidator());
}
public static class DSTRAAddressValidator extends Base58BitcoinAddressValidator {
public DSTRAAddressValidator() {
super(new DSTRAParams());
}
@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 DSTRAParams extends NetworkParametersAdapter {
public DSTRAParams() {
addressHeader = 30;
p2shHeader = 33;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}

View File

@ -33,6 +33,7 @@ bisq.asset.coins.DeepOnion
bisq.asset.coins.Dextro
bisq.asset.coins.Dogecoin
bisq.asset.coins.Dragonglass
bisq.asset.coins.DSTRA
bisq.asset.coins.Ether
bisq.asset.coins.EtherClassic
bisq.asset.coins.FourtyTwo

View File

@ -0,0 +1,44 @@
/*
* 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 DSTRATest extends AbstractAssetTest {
public DSTRATest() {
super(new DSTRA());
}
@Test
public void testValidAddresses() {
assertValidAddress("DGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd7");
assertValidAddress("DQcAKx5bFoeRwAEHE4EHQykyq8u2M1pwFa");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("DGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd77");
assertInvalidAddress("DGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd");
assertInvalidAddress("dGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd7");
assertInvalidAddress("FGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd7");
assertInvalidAddress("fGiwGS8n3tJZuKxUdWF6MyTYvv6xgDcyd7");
}
}