Skip to content
This repository has been archived by the owner on Sep 6, 2018. It is now read-only.

List Credits (CRDS) #39

Merged
merged 1 commit into from Jun 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
57 changes: 57 additions & 0 deletions src/main/java/bisq/asset/coins/Credits.java
@@ -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 Credits extends Coin {

public Credits() {
super("Credits", "Credits", 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};
}
}
}
1 change: 1 addition & 0 deletions src/main/resources/META-INF/services/bisq.asset.Asset
Expand Up @@ -25,6 +25,7 @@ bisq.asset.coins.Cagecoin
bisq.asset.coins.CassubianDetk
bisq.asset.coins.Counterparty
bisq.asset.coins.Creativecoin
bisq.asset.coins.Credits
bisq.asset.coins.Cryptonite
bisq.asset.coins.DarkNet
bisq.asset.coins.Dash$Mainnet
Expand Down
45 changes: 45 additions & 0 deletions src/test/java/bisq/asset/coins/CreditsTest.java
@@ -0,0 +1,45 @@
/*
* 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;


public class CreditsTest extends AbstractAssetTest {

public CreditsTest() {
super(new Credits());
}


@Override
public void testValidAddresses() {
assertValidAddress("CfXBhPhSxx1wqxGQCryfgn6iU1M1XFUuCo");
assertValidAddress("CMde7YERCFWkCL2W5i8uyJmnpCVj8Chhww");
assertValidAddress("CcbqU3MLZuGAED2CuhUkquyJxKaSJqv6Vb");
assertValidAddress("CKaig5pznaUgiLqe6WkoCNGagNMhNLtqhK");
}

@Override
public void testInvalidAddresses() {
assertInvalidAddress("1fXBhPhSxx1wqxGQCryfgn6iU1M1XFUuCo32");
assertInvalidAddress("CMde7YERCFWkCL2W5i8uyJmnpCVj8Chh");
assertInvalidAddress("CcbqU3MLZuGAED2CuhUkquyJxKaSJqv6V6#");
assertInvalidAddress("bKaig5pznaUgiLqe6WkoCNGagNMhNLtqhKkggg");
}
}