do not process trade messages if trade already failed

start monero-wallet-rpc without connection
add logging
This commit is contained in:
woodser 2023-03-08 10:49:27 -05:00
parent 5b8f9237ce
commit 8ea556fa4f
6 changed files with 43 additions and 8 deletions

View file

@ -111,7 +111,7 @@ public class ArbitratorSendInitTradeOrMultisigRequests extends TradeTask {
}
private void sendInitMultisigRequests() {
// ensure arbitrator has maker's reserve tx
if (processModel.getMaker().getReserveTxHash() == null) {
throw new RuntimeException("Arbitrator does not have maker's reserve tx after initializing trade");

View file

@ -77,7 +77,7 @@ public class ProcessInitMultisigRequest extends TradeTask {
// prepare multisig if applicable
boolean updateParticipants = false;
if (trade.getSelf().getPreparedMultisigHex() == null) {
log.info("Preparing multisig wallet for trade {}", trade.getId());
log.info("Preparing multisig wallet for {} {}", trade.getClass().getSimpleName(), trade.getId());
multisigWallet = trade.createWallet();
trade.getSelf().setPreparedMultisigHex(multisigWallet.prepareMultisig());
trade.setStateIfValidTransitionTo(Trade.State.MULTISIG_PREPARED);
@ -89,7 +89,7 @@ public class ProcessInitMultisigRequest extends TradeTask {
// make multisig if applicable
TradePeer[] peers = getMultisigPeers();
if (trade.getSelf().getMadeMultisigHex() == null && peers[0].getPreparedMultisigHex() != null && peers[1].getPreparedMultisigHex() != null) {
log.info("Making multisig wallet for trade {}", trade.getId());
log.info("Making multisig wallet for {} {}", trade.getClass().getSimpleName(), trade.getId());
String multisigHex = multisigWallet.makeMultisig(Arrays.asList(peers[0].getPreparedMultisigHex(), peers[1].getPreparedMultisigHex()), 2, xmrWalletService.getWalletPassword()); // TODO (woodser): xmrWalletService.makeMultisig(tradeId, multisigHexes, threshold)?
trade.getSelf().setMadeMultisigHex(multisigHex);
trade.setStateIfValidTransitionTo(Trade.State.MULTISIG_MADE);
@ -98,7 +98,7 @@ public class ProcessInitMultisigRequest extends TradeTask {
// import made multisig keys if applicable
if (trade.getSelf().getExchangedMultisigHex() == null && peers[0].getMadeMultisigHex() != null && peers[1].getMadeMultisigHex() != null) {
log.info("Importing made multisig hex for trade {}", trade.getId());
log.info("Importing made multisig hex for {} {}", trade.getClass().getSimpleName(), trade.getId());
MoneroMultisigInitResult result = multisigWallet.exchangeMultisigKeys(Arrays.asList(peers[0].getMadeMultisigHex(), peers[1].getMadeMultisigHex()), xmrWalletService.getWalletPassword());
trade.getSelf().setExchangedMultisigHex(result.getMultisigHex());
trade.setStateIfValidTransitionTo(Trade.State.MULTISIG_EXCHANGED);
@ -144,6 +144,8 @@ public class ProcessInitMultisigRequest extends TradeTask {
if (peer2Address == null) throw new RuntimeException("Peer2 address is null");
if (peer2PubKeyRing == null) throw new RuntimeException("Peer2 pub key ring null");
log.info("{} {} sending InitMultisigRequests", trade.getClass().getSimpleName(), trade.getId());
// send to peer 1
sendInitMultisigRequest(peer1Address, peer1PubKeyRing, new SendDirectMessageListener() {
@Override

View file

@ -34,7 +34,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static haveno.core.util.Validator.checkTradeId;
import static haveno.core.util.Validator.nonEmptyStringOf;
import java.math.BigInteger;
import java.util.Date;
@Slf4j