Skip to content

Commit

Permalink
Merge pull request #1656 from mobitglobal/mobitglobal-asset
Browse files Browse the repository at this point in the history
List MobitGlobal (MBGL)
  • Loading branch information
ManfredKarrer committed Oct 5, 2018
2 parents adbe7fe + 0f619b1 commit a81ad4a
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 0 deletions.
56 changes: 56 additions & 0 deletions assets/src/main/java/bisq/asset/coins/MobitGlobal.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 <http://www.gnu.org/licenses/>.
*/

package bisq.asset.coins;

import bisq.asset.AddressValidationResult;
import bisq.asset.Base58BitcoinAddressValidator;
import bisq.asset.Coin;
import bisq.asset.NetworkParametersAdapter;

public class MobitGlobal extends Coin {

public MobitGlobal() {
super("MobitGlobal", "MBGL", new MobitGlobalAddressValidator());
}


public static class MobitGlobalAddressValidator extends Base58BitcoinAddressValidator {

public MobitGlobalAddressValidator() {
super(new MobitGlobalParams());
}

@Override
public AddressValidationResult validate(String address) {
if (!address.matches("^[M][a-zA-Z1-9]{33}$"))
return AddressValidationResult.invalidStructure();

return super.validate(address);
}
}


public static class MobitGlobalParams extends NetworkParametersAdapter {

public MobitGlobalParams() {
addressHeader = 50;
p2shHeader = 110;
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
}
}
}
Expand Up @@ -76,6 +76,7 @@ bisq.asset.coins.Mazacoin
bisq.asset.coins.MegaCoin
bisq.asset.coins.MFCoin
bisq.asset.coins.MicroCoin
bisq.asset.coins.MobitGlobal
bisq.asset.coins.Monero
bisq.asset.coins.Motion
bisq.asset.coins.Myriadcoin
Expand Down
44 changes: 44 additions & 0 deletions assets/src/test/java/bisq/asset/coins/MobitGlobalTest.java
@@ -0,0 +1,44 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/

package bisq.asset.coins;

import bisq.asset.AbstractAssetTest;

import org.junit.Test;

public class MobitGlobalTest extends AbstractAssetTest {

public MobitGlobalTest() {
super(new MobitGlobal());
}

@Test
public void testValidAddresses() {
assertValidAddress("MKDLXTdJs1AtAJhoRddLBSimXCE6SXbyMq");
assertValidAddress("MGr2WYY9kSLPozEcsCWSEumXNX2AJXggUR");
assertValidAddress("MUe1HzGqzcunR1wUxHTqX9cuQNMnEjiN7D");
assertValidAddress("MWRqbYKkQcSvtHq4GFrPvYGf8GFGsLNPcE");
}

@Test
public void testInvalidAddresses() {
assertInvalidAddress("AWGfbG22DNhgP2rsKfqyFxCwi1u68BbHAA1");
assertInvalidAddress("AWGfbG22DNhgP2rsKfqyFxCwi1u68BbHAB");
assertInvalidAddress("AWGfbG22DNhgP2rsKfqyFxCwi1u68BbHA#");
}
}

0 comments on commit a81ad4a

Please sign in to comment.