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.Dash
|
||||||
bisq.asset.coins.Decred
|
bisq.asset.coins.Decred
|
||||||
bisq.asset.coins.Dextro
|
bisq.asset.coins.Dextro
|
||||||
|
bisq.asset.coins.DeepOnion
|
||||||
bisq.asset.coins.Dogecoin
|
bisq.asset.coins.Dogecoin
|
||||||
bisq.asset.coins.Dragonglass
|
bisq.asset.coins.Dragonglass
|
||||||
bisq.asset.coins.Ether
|
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