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#");
+ }
+}