diff --git a/assets/src/main/java/bisq/asset/coins/LBRYCredits.java b/assets/src/main/java/bisq/asset/coins/LBRYCredits.java new file mode 100644 index 00000000000..6c256f2ea1f --- /dev/null +++ b/assets/src/main/java/bisq/asset/coins/LBRYCredits.java @@ -0,0 +1,37 @@ +/* + * 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.Base58BitcoinAddressValidator; +import bisq.asset.Coin; +import bisq.asset.NetworkParametersAdapter; + +public class LBRYCredits extends Coin { + + public LBRYCredits() { + super("LBRY Credits", "LBC", new Base58BitcoinAddressValidator(new LBRYCreditsMainNetParams()), Network.MAINNET); + } + + public static class LBRYCreditsMainNetParams extends NetworkParametersAdapter { + public LBRYCreditsMainNetParams() { + this.addressHeader = 0x55; + this.p2shHeader = 0x7a; + this.acceptableAddressCodes = new int[]{this.addressHeader, this.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 2128b5b1fa0..c50ae587255 100644 --- a/assets/src/main/resources/META-INF/services/bisq.asset.Asset +++ b/assets/src/main/resources/META-INF/services/bisq.asset.Asset @@ -61,6 +61,7 @@ bisq.asset.coins.Kekcoin bisq.asset.coins.KnowYourDeveloper bisq.asset.coins.Kore bisq.asset.coins.Krypton +bisq.asset.coins.LBRYCredits bisq.asset.coins.Litecoin bisq.asset.coins.LitecoinPlus bisq.asset.coins.LitecoinZ diff --git a/assets/src/test/java/bisq/asset/coins/LBRYCreditsTest.java b/assets/src/test/java/bisq/asset/coins/LBRYCreditsTest.java new file mode 100644 index 00000000000..79d014651b1 --- /dev/null +++ b/assets/src/test/java/bisq/asset/coins/LBRYCreditsTest.java @@ -0,0 +1,48 @@ +/* + * 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 LBRYCreditsTest extends AbstractAssetTest { + + public LBRYCreditsTest() { + super(new LBRYCredits()); + } + + @Test + public void testValidAddresses() { + assertValidAddress("bYqg2q19uWmp3waRwptzj6o8e9viHgcA9z"); + assertValidAddress("bZEnLbYb3D29Sbo8QJdiQ2PQ3En6em31gt"); + assertValidAddress("rQ26jd9mqdfPizHZUdyMjUPgK6rRANPjne"); + } + + @Test + public void testInvalidAddresses() { + assertInvalidAddress(""); + assertInvalidAddress("Don'tBeSilly"); + assertInvalidAddress("_rQ26jd9mqdfPizHZUdyMjUPgK6rRANPjne"); + assertInvalidAddress("mzYvN2WuVLyp6RZE94rzzvZwBDfCdCse6i"); + assertInvalidAddress("17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem"); + assertInvalidAddress("3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX"); + assertInvalidAddress("bYqg2q19uWmp3waRwptzj6o8e9viHgcA9a"); + assertInvalidAddress("bYqg2q19uWmp3waRwptzj6o8e9viHgcA9za"); + } +}