diff --git a/assets/src/main/java/bisq/asset/coins/Nano.java b/assets/src/main/java/bisq/asset/coins/Nano.java new file mode 100644 index 00000000000..17765cfa5fb --- /dev/null +++ b/assets/src/main/java/bisq/asset/coins/Nano.java @@ -0,0 +1,12 @@ +package bisq.asset.coins; + +import bisq.asset.Coin; +import bisq.asset.RegexAddressValidator; + +public class Nano extends Coin { + private static final String NANO_VALIDATION_REGEX = "^(nano|xrb)_[13]{1}[13456789abcdefghijkmnopqrstuwxyz]{59}$"; + + public Nano() { + super("Nano", "NANO", new RegexAddressValidator(NANO_VALIDATION_REGEX)); + } +} 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 80a6168463b..775c0fc18a4 100644 --- a/assets/src/main/resources/META-INF/services/bisq.asset.Asset +++ b/assets/src/main/resources/META-INF/services/bisq.asset.Asset @@ -81,6 +81,7 @@ bisq.asset.coins.Navcoin bisq.asset.coins.Ndau bisq.asset.coins.Noir bisq.asset.coins.NoteBlockchain +bisq.asset.coins.Nano bisq.asset.coins.ParsiCoin bisq.asset.coins.Particl bisq.asset.coins.PENG diff --git a/assets/src/test/java/bisq/asset/coins/NanoTest.java b/assets/src/test/java/bisq/asset/coins/NanoTest.java new file mode 100644 index 00000000000..7276226aec4 --- /dev/null +++ b/assets/src/test/java/bisq/asset/coins/NanoTest.java @@ -0,0 +1,26 @@ +package bisq.asset.coins; + +import bisq.asset.AbstractAssetTest; + +public class NanoTest extends AbstractAssetTest { + public NanoTest() { + super(new Nano()); + } + + @Override + public void testValidAddresses() { + assertValidAddress("xrb_1j78msn5omp8jrjge8txwxm4x3smusa1cojg7nuk8fdzoux41fqeeogg5aa1"); + assertValidAddress("nano_1fuckbtc6p55wt64eo4rz7brq3ubjfd8unhz3it5fbdpta8tww7ywk8p9su7"); + } + + @Override + public void testInvalidAddresses() { + //exceed the limit + assertInvalidAddress("xrb_1j78msn5omp8jrjge8txwxm4x3smusa1cojg7nuk8fdzoux41fqeeogg5aa111"); + //invalid prefix + assertInvalidAddress("cda_1j78msn5omp8jrjge8txwxm4x3smusa1cojg7nuk8fdzoux41fqeeogg5aa1"); + //not valid address + assertInvalidAddress(""); + assertInvalidAddress("not is an address"); + } +}