From 5279412871a514c716054de0ab4124aec4619577 Mon Sep 17 00:00:00 2001 From: imnotarobot0x Date: Mon, 18 Jun 2018 19:32:25 +0100 Subject: [PATCH] List Credits (CRDS) Apply Bisq code style --- src/main/java/bisq/asset/coins/Credits.java | 57 +++++++++++++++++++ .../META-INF/services/bisq.asset.Asset | 1 + .../java/bisq/asset/coins/CreditsTest.java | 45 +++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 src/main/java/bisq/asset/coins/Credits.java create mode 100644 src/test/java/bisq/asset/coins/CreditsTest.java diff --git a/src/main/java/bisq/asset/coins/Credits.java b/src/main/java/bisq/asset/coins/Credits.java new file mode 100644 index 0000000..9c4eb19 --- /dev/null +++ b/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 . + */ + + +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}; + } + } +} diff --git a/src/main/resources/META-INF/services/bisq.asset.Asset b/src/main/resources/META-INF/services/bisq.asset.Asset index 445a4f4..7cdecce 100644 --- a/src/main/resources/META-INF/services/bisq.asset.Asset +++ b/src/main/resources/META-INF/services/bisq.asset.Asset @@ -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 diff --git a/src/test/java/bisq/asset/coins/CreditsTest.java b/src/test/java/bisq/asset/coins/CreditsTest.java new file mode 100644 index 0000000..334f992 --- /dev/null +++ b/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 . + */ + +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"); + } +}