List PZDC (PZDC)

This commit is contained in:
BoubonicNugz 2018-09-06 14:17:21 -07:00
parent 708d9a4325
commit 3a97a2d3e7
3 changed files with 103 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 PZDC extends Coin {
public PZDC() {
super("PZDC", "PZDC", new PZDCAddressValidator());
}
public static class PZDCAddressValidator extends Base58BitcoinAddressValidator {
public PZDCAddressValidator() {
super(new PZDCParams());
}
@Override
public AddressValidationResult validate(String address) {
if (!address.matches("^[P][a-km-zA-HJ-NP-Z1-9]{25,34}$"))
return AddressValidationResult.invalidStructure();
return super.validate(address);
}
}
public static class PZDCParams extends NetworkParametersAdapter {
public PZDCParams() {
addressHeader = 55;
p2shHeader = 13;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}

View file

@ -94,6 +94,7 @@ bisq.asset.coins.PIVX
bisq.asset.coins.PostCoin
bisq.asset.coins.Pranacoin
bisq.asset.coins.PRiVCY
bisq.asset.coins.PZDC
bisq.asset.coins.ReddCoin
bisq.asset.coins.Ringo
bisq.asset.coins.Roicoin

View file

@ -0,0 +1,46 @@
/*
* 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 PZDCTest extends AbstractAssetTest {
public PZDCTest() {
super(new PZDC());
}
@Test
public void testValidAddresses() {
assertValidAddress("PNxERPUbkvCYeuJk44pH8bsdQJenvEWt5J");
assertValidAddress("PCwCT1PkW2RsxT8jTb21vRnNDQGDRcWNkM");
assertValidAddress("PPD3mYyS3vsHBkCrbCfrZyrwCGdr6EJHgG");
assertValidAddress("PTQDhqksrocR7Z516zbpjuXSGVD37iu8gy");
assertValidAddress("PXtABooQW1ED9NkARTiFcZv6xUnMmrbhpt");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("pGXsg0jSMzh1dSqggRvHjPvE3cnwvuXC7s");
assertInvalidAddress("PKfRRcjwzKFq3dIqE9gq8Ztxn922W4GZhm");
assertInvalidAddress("PXP75NnwDryYswQb9RaPFBchqLRSvBmDP");
assertInvalidAddress("PKr3vQ7S");
}
}