Merge remote-tracking branch 'origin/master' into arbitrator-to-sign

This commit is contained in:
sqrrm 2019-08-27 11:27:33 +02:00
commit e3bd3a99e3
No known key found for this signature in database
GPG Key ID: 45235F9EF87089EC
8 changed files with 103 additions and 13 deletions

View File

@ -1,10 +1,13 @@
language: java
jdk: openjdk10
jdk:
- openjdk10
- openjdk12
before_install:
grep -v '^#' assets/src/main/resources/META-INF/services/bisq.asset.Asset | sort --check --dictionary-order --ignore-case
grep -v '^#' assets/src/main/resources/META-INF/services/bisq.asset.Asset | sort --check --dictionary-order --ignore-case
notifications:
slack:
on_success: change
on_failure: always
rooms:
- secure: EzlqWTBuhb3FCfApjUXaShWgsWOVDwMXI7ISMiVBkcl2VFISYs/lc/7Qjr7rdy4iqQOQXMcUPHdwMUp0diX+GxiSjLARjUpKIvNOPswZWBL+3Z1h28jyOwtHRviZbM1EU0BZROrr+ODyTNz2lf+L1iXTkpSvk50o5JAnAkumsPw=
slack:
on_success: change
on_failure: always
rooms:
- secure: EzlqWTBuhb3FCfApjUXaShWgsWOVDwMXI7ISMiVBkcl2VFISYs/lc/7Qjr7rdy4iqQOQXMcUPHdwMUp0diX+GxiSjLARjUpKIvNOPswZWBL+3Z1h28jyOwtHRviZbM1EU0BZROrr+ODyTNz2lf+L1iXTkpSvk50o5JAnAkumsPw=

View File

@ -0,0 +1,30 @@
/*
* 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.AltCoinAccountDisclaimer;
import bisq.asset.Coin;
import bisq.asset.CryptoNoteAddressValidator;
@AltCoinAccountDisclaimer("account.altcoin.popup.solo.msg")
public class Solo extends Coin {
public Solo() {
super("Solo", "XSL", new CryptoNoteAddressValidator(13975, 23578));
}
}

View File

@ -90,6 +90,7 @@ bisq.asset.coins.Ryo
bisq.asset.coins.Siafund
bisq.asset.coins.SiaPrimeCoin
bisq.asset.coins.SixEleven
bisq.asset.coins.Solo
bisq.asset.coins.SpaceCash
bisq.asset.coins.Spectrecoin
bisq.asset.coins.Starwels

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 SoloTest extends AbstractAssetTest {
public SoloTest() {
super(new Solo());
}
@Test
public void testValidAddresses() {
assertValidAddress("SL3UVNhEHuaWK9PwhVgMZWD5yaL6VBC4xRuXLnLFWizxavKvSqbcSpH2fG3dT36uMJEQ6XoKBqvFLUnzWG4Rb5e11yqsioFy8");
assertValidAddress("Ssy27ePzscCj4spPjgtc8NKGSud9eLFLHGEWNAo8PuC53NnWhDDTX17Cfo3BzFKdYZfU9ovtEYNtQ4ezTtPhAHEuAR5mF8dTqB");
assertValidAddress("Ssy2WFFnmi3XYJz8UsXPKzHtUxFdVhdSuU3sBGmpTbTLQqpZEMPS8GB486Q8UCaskdbGzxJxwdJYobtJmEPwDawa5mXD5spNbs");
}
@Test
public void testInvalidAddresses() {
assertInvalidAddress("");
assertInvalidAddress("SL3dqGkkFszKzjzyXSLkYB6X9uqad7ih3DJtTeB8hrzD9iaRjWAUHZ8FA3NErphWM00NzURSTL7FEZ9un9fgLYjK2f7mHRFBn");
assertInvalidAddress("Ssy2WLjegYxS5P1djMSRmVG8EzXDfHyde6BiZRd3aDyVh1vjwUB2GJHfWhVsvg1i4TjWyGRC9rD4n3kCE2gPA9yx6K34AyzcMZ");
assertInvalidAddress("Sl3UVNhEHuaWK9PwhVgMZWD5yaL6VBC4xRuXLnLFWizxavKvSXxXSpam8d3dMaDuMJEQ6XoKBqvFLUnzWG4Rb5e11yqsioFy8");
assertInvalidAddress("Ssy2WFFnmi3XYJz8UsXPKzHtUxFdVhdSuU3sBGmpTbTLQLoLIghGooDdf6QTryaskdbGzxJxwdJYobtJmEPwDawa5mXD5spNbs");
}
}

View File

@ -103,7 +103,6 @@ public class RpcService {
boolean isMainnet = BisqEnvironment.getBaseCurrencyNetwork().isMainnet();
boolean isTestnet = BisqEnvironment.getBaseCurrencyNetwork().isTestnet();
boolean isDaoBetaNet = BisqEnvironment.getBaseCurrencyNetwork().isDaoBetaNet();
log.info("The value of rpchost is {}", rpcHost);
this.rpcHost = isHostSet ? rpcHost : "127.0.0.1";
this.rpcPort = isPortSet ? rpcPort :
isMainnet || isDaoBetaNet ? "8332" :
@ -111,8 +110,6 @@ public class RpcService {
"18443"; // regtest
this.rpcBlockPort = rpcBlockPort != null && !rpcBlockPort.isEmpty() ? rpcBlockPort : "5125";
log.info("Starting RPCService with btcd-cli4j version {} on {}:{} with user {}", BtcdCli4jVersion.VERSION,
this.rpcHost, this.rpcPort, this.rpcUser);
}
@ -123,6 +120,9 @@ public class RpcService {
void setup(ResultHandler resultHandler, Consumer<Throwable> errorHandler) {
ListenableFuture<Void> future = executor.submit(() -> {
try {
log.info("Starting RPCService with btcd-cli4j version {} on {}:{} with user {}, listening for blocknotify on port {}",
BtcdCli4jVersion.VERSION, this.rpcHost, this.rpcPort, this.rpcUser, this.rpcBlockPort);
long startTs = System.currentTimeMillis();
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
CloseableHttpClient httpProvider = HttpClients.custom().setConnectionManager(cm).build();

View File

@ -232,7 +232,7 @@ public class LiteNodeNetworkService implements MessageListener, ConnectionListen
String extBlockId = newBlockBroadcastMessage.getBlock().getHash() + ":" + txIds;
if (!receivedBlocks.contains(extBlockId)) {
log.debug("We received a new message from peer {} and broadcast it to our peers. extBlockId={}",
connection.getPeersNodeAddressOptional(), extBlockId);
connection.getPeersNodeAddressOptional().orElse(null), extBlockId);
receivedBlocks.add(extBlockId);
broadcaster.broadcast(newBlockBroadcastMessage, networkNode.getNodeAddress(), null, false);
listeners.forEach(listener -> listener.onNewBlockReceived(newBlockBroadcastMessage));

View File

@ -49,7 +49,7 @@ public class DefaultSeedNodeRepository implements SeedNodeRepository {
//TODO add support for localhost addresses
private static final Pattern pattern = Pattern.compile("^([a-z0-9]+\\.onion:\\d+)");
private static final String ENDING = ".seednodes";
private static final Collection<NodeAddress> cache = new HashSet<>();
private final Collection<NodeAddress> cache = new HashSet<>();
private final BisqEnvironment bisqEnvironment;
@Nullable
private final String seedNodes;
@ -94,7 +94,7 @@ public class DefaultSeedNodeRepository implements SeedNodeRepository {
log.info("Seed nodes: {}", cache);
} catch (Throwable t) {
log.error(t.toString());
log.error("exception in DefaultSeedNodeRepository", t);
t.printStackTrace();
throw t;
}

View File

@ -1128,6 +1128,18 @@ transfer using the Blur Transaction Viewer (https://blur.cash/#tx-viewer).\n\n\
Failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \
BLUR sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\
If you do not understand these requirements, do not trade on Bisq. First, seek help at the Blur Network Discord (https://discord.gg/dMWaqVW).
account.altcoin.popup.solo.msg=Trading Solo on Bisq requires that you understand and fulfill \
the following requirements:\n\n\
To send Solo you must use the Solo Network CLI Wallet. \n\n\
If you are using the CLI wallet, a transaction hash (tx ID) will be displayed after a transfer is sent. You must save \
this information. Immediately after sending the transfer, you must use the command 'get_tx_key' to retrieve the \
transaction private key. If you fail to perform this step, you may not be able to retrieve the key later. \n\n\
In the event that arbitration is necessary, you must present the following to an arbitrator: 1.) the transaction ID, \
2.) the transaction private key, and 3.) the recipient's address. The arbitrator will then verify the Solo \
transfer using the Solo Block Explorer by searching for the transaction and then using the "Prove sending" function (https://explorer.minesolo.com/).\n\n\
failure to provide the required information to the arbitrator will result in losing the dispute case. In all cases of dispute, the \
Solo sender bears 100% of the burden of responsibility in verifying transactions to an arbitrator. \n\n\
If you do not understand these requirements, do not trade on Bisq. First, seek help at the Solo Network Discord (https://discord.minesolo.com/).
account.altcoin.popup.cash2.msg=Trading CASH2 on Bisq requires that you understand and fulfill \
the following requirements:\n\n\
To send CASH2 you must use the Cash2 Wallet version 3 or higher. \n\n\