Merge pull request #2289 from imnotarobot0x/list-Credits

List Credits (CRDS)
This commit is contained in:
Christoph Atteneder 2019-02-07 09:24:10 +01:00 committed by GitHub
commit edabca6ac5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 Credits extends Coin {
public Credits() {
super("Credits", "CRDS", new CreditsAddressValidator());
}
public static class CreditsAddressValidator extends Base58BitcoinAddressValidator {
public CreditsAddressValidator() {
super(new CreditsParams());
}
@Override
public AddressValidationResult validate(String address) {
if (!address.matches("^[C][a-km-zA-HJ-NP-Z1-9]{25,34}$"))
return AddressValidationResult.invalidStructure();
return super.validate(address);
}
}
public static class CreditsParams extends NetworkParametersAdapter {
public CreditsParams() {
addressHeader = 28;
p2shHeader = 5;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}

View File

@ -21,6 +21,7 @@ bisq.asset.coins.Byteball
bisq.asset.coins.Cash2
bisq.asset.coins.Chaucha
bisq.asset.coins.Counterparty
bisq.asset.coins.Credits
bisq.asset.coins.Croat
bisq.asset.coins.CRowdCLassic
bisq.asset.coins.Dash

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 CreditsTest extends AbstractAssetTest {
public CreditsTest() {
super(new Credits());
}
@Test
public void testValidAddresses() {
assertValidAddress("CfXBhPhSxx1wqxGQCryfgn6iU1M1XFUuCo");
assertValidAddress("CMde7YERCFWkCL2W5i8uyJmnpCVj8Chhww");
assertValidAddress("CcbqU3MLZuGAED2CuhUkquyJxKaSJqv6Vb");
assertValidAddress("CKaig5pznaUgiLqe6WkoCNGagNMhNLtqhK");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("1fXBhPhSxx1wqxGQCryfgn6iU1M1XFUuCo32");
assertInvalidAddress("CMde7YERCFWkCL2W5i8uyJmnpCVj8Chh");
assertInvalidAddress("CcbqU3MLZuGAED2CuhUkquyJxKaSJqv6V6#");
assertInvalidAddress("bKaig5pznaUgiLqe6WkoCNGagNMhNLtqhKkggg");
}
}