From 972e437d359530cd72a589402c4e8f565ad9fbf4 Mon Sep 17 00:00:00 2001 From: Ittrium Cryptocurrency <37259191+IttriumCore@users.noreply.github.com> Date: Tue, 15 Jan 2019 08:43:55 +0800 Subject: [PATCH] List Ittrium (XIT) https://ittrium.io/ https://explorer.ittrium.io/ --- .../main/java/bisq/asset/coins/Ittrium.java | 56 +++++++++++++++++++ .../META-INF/services/bisq.asset.Asset | 1 + .../java/bisq/asset/coins/IttriumTest.java | 43 ++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 assets/src/main/java/bisq/asset/coins/Ittrium.java create mode 100644 assets/src/test/java/bisq/asset/coins/IttriumTest.java diff --git a/assets/src/main/java/bisq/asset/coins/Ittrium.java b/assets/src/main/java/bisq/asset/coins/Ittrium.java new file mode 100644 index 00000000000..6403b4b4d9d --- /dev/null +++ b/assets/src/main/java/bisq/asset/coins/Ittrium.java @@ -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 . + */ + +package bisq.asset.coins; + +import bisq.asset.AddressValidationResult; +import bisq.asset.Base58BitcoinAddressValidator; +import bisq.asset.Coin; +import bisq.asset.NetworkParametersAdapter; + +public class Ittrium extends Coin { + + public Ittrium() { + super("Ittrium", "XIT", new IttriumAddressValidator()); + } + + + public static class IttriumAddressValidator extends Base58BitcoinAddressValidator { + + public IttriumAddressValidator() { + super(new IttriumParams()); + } + + @Override + public AddressValidationResult validate(String address) { + if (!address.matches("^[i][a-km-zA-HJ-NP-Z1-9]{25,34}$")) + return AddressValidationResult.invalidStructure(); + + return super.validate(address); + } + } + + + public static class IttriumParams extends NetworkParametersAdapter { + + public IttriumParams() { + addressHeader = 103; + p2shHeader = 6; + acceptableAddressCodes = new int[]{addressHeader, p2shHeader}; + } + } +} diff --git a/assets/src/main/resources/META-INF/services/bisq.asset.Asset b/assets/src/main/resources/META-INF/services/bisq.asset.Asset index 5461409f7ea..c773210a4f8 100644 --- a/assets/src/main/resources/META-INF/services/bisq.asset.Asset +++ b/assets/src/main/resources/META-INF/services/bisq.asset.Asset @@ -34,6 +34,7 @@ bisq.asset.coins.Grin bisq.asset.coins.Horizen bisq.asset.coins.IdaPay bisq.asset.coins.Iridium +bisq.asset.coins.Ittrium bisq.asset.coins.Kekcoin bisq.asset.coins.Litecoin bisq.asset.coins.Mask diff --git a/assets/src/test/java/bisq/asset/coins/IttriumTest.java b/assets/src/test/java/bisq/asset/coins/IttriumTest.java new file mode 100644 index 00000000000..50427d5df3e --- /dev/null +++ b/assets/src/test/java/bisq/asset/coins/IttriumTest.java @@ -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 . + */ + +package bisq.asset.coins; + +import bisq.asset.AbstractAssetTest; + +import org.junit.Test; + +public class IttriumTest extends AbstractAssetTest { + + public IttriumTest() { + super(new Ittrium()); + } + + @Test + public void testValidAddresses() { + assertValidAddress("iZq7G99wBdTcvLpPCFnykARznHpNiZ5NPX"); + assertValidAddress("ikY6Q1VKasvAn3eDS5zhk34zYGuZZQRDca"); + assertValidAddress("ipmyTn65qJXJ6EVwMnB9WZAZxrNbanmkhp"); + } + + @Test + public void testInvalidAddresses() { + assertInvalidAddress("17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhmqq"); + assertInvalidAddress("17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhO"); + assertInvalidAddress("17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhe#"); + } +}