Merge pull request #2159 from CaveSpectre11/list-ucc-asset

List UnitedCommunityCoin (UCC)
This commit is contained in:
Manfred Karrer 2018-12-25 12:15:58 +01:00 committed by GitHub
commit 5cc3c57d52
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 UnitedCommunityCoin extends Coin {
public UnitedCommunityCoin() {
super("UnitedCommunityCoin", "UCC", new UnitedCommunityCoinAddressValidator());
}
public static class UnitedCommunityCoinAddressValidator extends Base58BitcoinAddressValidator {
public UnitedCommunityCoinAddressValidator() {
super(new UnitedCommunityCoinParams());
}
@Override
public AddressValidationResult validate(String address) {
if (!address.matches("^[U][a-km-zA-HJ-NP-Z1-9]{33}$"))
return AddressValidationResult.invalidStructure();
return super.validate(address);
}
}
public static class UnitedCommunityCoinParams extends NetworkParametersAdapter {
public UnitedCommunityCoinParams() {
super();
addressHeader = 68;
p2shHeader = 18;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}

View file

@ -53,6 +53,7 @@ bisq.asset.coins.Spectrecoin
bisq.asset.coins.Starwels
bisq.asset.coins.SUB1X
bisq.asset.coins.TurtleCoin
bisq.asset.coins.UnitedCommunityCoin
bisq.asset.coins.Unobtanium
bisq.asset.coins.Zcash
bisq.asset.coins.Zcoin

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 UnitedCommunityCoinTest extends AbstractAssetTest {
public UnitedCommunityCoinTest() {
super(new UnitedCommunityCoin());
}
@Test
public void testValidAddresses() {
assertValidAddress("UX3DVuoiNR9Uwa22NLehu8yVKecjFKn4ii");
assertValidAddress("URqRRRFY7D6drJCput5UjTRUQYEL8npUwk");
assertValidAddress("Uha1WUkuYtW9Uapme2E46PBz2sBkM9qV9w");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("UX3DVuoiNR90wa22NLehu8yVKecjFKn4ii");
assertInvalidAddress("URqRRRFY7D6drJCput5UjTRUQYaEL8npUwk");
assertInvalidAddress("Uha1WUkuYtW9Uapme2E46PBz2$BkM9qV9w");
}
}