Merge pull request #1656 from mobitglobal/mobitglobal-asset

List MobitGlobal (MBGL)
This commit is contained in:
Manfred Karrer 2018-10-05 14:01:31 -05:00 committed by GitHub
commit a81ad4a42e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 101 additions and 0 deletions

View File

@ -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};
}
}
}

View File

@ -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

View File

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