mirror of
https://github.com/bisq-network/bisq.git
synced 2024-11-19 09:52:23 +01:00
commit
493592b8c9
56
assets/src/main/java/bisq/asset/coins/DeepOnion.java
Normal file
56
assets/src/main/java/bisq/asset/coins/DeepOnion.java
Normal 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;
|
||||
|
||||
import org.libdohj.params.DashMainNetParams;
|
||||
|
||||
public class DeepOnion extends Coin {
|
||||
public DeepOnion() {
|
||||
super("DeepOnion", "ONION", new DeepOnionAddressValidator());
|
||||
}
|
||||
|
||||
public static class DeepOnionAddressValidator extends Base58BitcoinAddressValidator {
|
||||
|
||||
public DeepOnionAddressValidator() {
|
||||
super(new DeepOnionParams());
|
||||
}
|
||||
|
||||
@Override
|
||||
public AddressValidationResult validate(String address) {
|
||||
if (!address.matches("^[D][a-km-zA-HJ-NP-Z1-9]{24,33}$"))
|
||||
return AddressValidationResult.invalidStructure();
|
||||
|
||||
return super.validate(address);
|
||||
}
|
||||
}
|
||||
|
||||
public static class DeepOnionParams extends NetworkParametersAdapter {
|
||||
|
||||
public DeepOnionParams() {
|
||||
super();
|
||||
addressHeader = 31;
|
||||
p2shHeader = 78;
|
||||
acceptableAddressCodes = new int[]{addressHeader, p2shHeader};
|
||||
}
|
||||
}
|
||||
}
|
@ -22,6 +22,7 @@ bisq.asset.coins.Croat
|
||||
bisq.asset.coins.Dash
|
||||
bisq.asset.coins.Decred
|
||||
bisq.asset.coins.Dextro
|
||||
bisq.asset.coins.DeepOnion
|
||||
bisq.asset.coins.Dogecoin
|
||||
bisq.asset.coins.Dragonglass
|
||||
bisq.asset.coins.Ether
|
||||
|
44
assets/src/test/java/bisq/asset/coins/DeepOnionTest.java
Normal file
44
assets/src/test/java/bisq/asset/coins/DeepOnionTest.java
Normal 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 DeepOnionTest extends AbstractAssetTest {
|
||||
|
||||
public DeepOnionTest() {
|
||||
super(new DeepOnion());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidAddresses() {
|
||||
assertValidAddress("DYQLyJ1CcxJyRBujtKdv2JDkQEkEkAzNNA");
|
||||
assertValidAddress("DW7YKfPgm7fdTNGyyaSVfQhY7ccBoeVK5D");
|
||||
assertValidAddress("DsA31xPpijxiCuTQeYMpMTQsTH1m2jTgtS");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvalidAddresses() {
|
||||
assertInvalidAddress("1sA31xPpijxiCuTQeYMpMTQsTH1m2jTgtS");
|
||||
assertInvalidAddress("DsA31xPpijxiCuTQeYMpMTQsTH1m2jTgtSd");
|
||||
assertInvalidAddress("DsA31xPpijxiCuTQeYMpMTQsTH1m2jTgt#");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user