mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-14 01:15:44 -04:00
remove unused fields from TradePeer and Contract
fix concurrent modification exception applying prices to trade stats standardize offer fee tx ids (unused)
This commit is contained in:
parent
a16b03bb5c
commit
47f3d98597
28 changed files with 60 additions and 108 deletions
|
@ -67,9 +67,6 @@ public final class Contract implements NetworkPayload {
|
|||
private final String makerDepositTxHash;
|
||||
private final String takerDepositTxHash;
|
||||
|
||||
// Added in v1.2.0
|
||||
private long lockTime;
|
||||
|
||||
public Contract(OfferPayload offerPayload,
|
||||
long tradeAmount,
|
||||
long tradePrice,
|
||||
|
@ -87,7 +84,6 @@ public final class Contract implements NetworkPayload {
|
|||
PubKeyRing takerPubKeyRing,
|
||||
String makerPayoutAddressString,
|
||||
String takerPayoutAddressString,
|
||||
long lockTime,
|
||||
String makerDepositTxHash,
|
||||
String takerDepositTxHash) {
|
||||
this.offerPayload = offerPayload;
|
||||
|
@ -107,7 +103,6 @@ public final class Contract implements NetworkPayload {
|
|||
this.takerPubKeyRing = takerPubKeyRing;
|
||||
this.makerPayoutAddressString = makerPayoutAddressString;
|
||||
this.takerPayoutAddressString = takerPayoutAddressString;
|
||||
this.lockTime = lockTime;
|
||||
this.makerDepositTxHash = makerDepositTxHash;
|
||||
this.takerDepositTxHash = takerDepositTxHash;
|
||||
|
||||
|
@ -143,7 +138,6 @@ public final class Contract implements NetworkPayload {
|
|||
PubKeyRing.fromProto(proto.getTakerPubKeyRing()),
|
||||
proto.getMakerPayoutAddressString(),
|
||||
proto.getTakerPayoutAddressString(),
|
||||
proto.getLockTime(),
|
||||
proto.getMakerDepositTxHash(),
|
||||
proto.getTakerDepositTxHash());
|
||||
}
|
||||
|
@ -168,7 +162,6 @@ public final class Contract implements NetworkPayload {
|
|||
.setTakerPubKeyRing(takerPubKeyRing.toProtoMessage())
|
||||
.setMakerPayoutAddressString(makerPayoutAddressString)
|
||||
.setTakerPayoutAddressString(takerPayoutAddressString)
|
||||
.setLockTime(lockTime)
|
||||
.setMakerDepositTxHash(makerDepositTxHash)
|
||||
.setTakerDepositTxHash(takerDepositTxHash)
|
||||
.build();
|
||||
|
@ -303,7 +296,6 @@ public final class Contract implements NetworkPayload {
|
|||
",\n takerPubKeyRing=" + takerPubKeyRing +
|
||||
",\n makerPayoutAddressString='" + makerPayoutAddressString + '\'' +
|
||||
",\n takerPayoutAddressString='" + takerPayoutAddressString + '\'' +
|
||||
",\n lockTime=" + lockTime +
|
||||
",\n makerDepositTxHash='" + makerDepositTxHash + '\'' +
|
||||
",\n takerDepositTxHash='" + takerDepositTxHash + '\'' +
|
||||
"\n}";
|
||||
|
|
|
@ -866,7 +866,6 @@ public abstract class Trade implements Tradable, Model {
|
|||
getTaker().getPubKeyRing(),
|
||||
this instanceof MakerTrade ? xmrWalletService.getAddressEntry(getId(), XmrAddressEntry.Context.TRADE_PAYOUT).get().getAddressString() : getMaker().getPayoutAddressString(), // maker payout address
|
||||
this instanceof TakerTrade ? xmrWalletService.getAddressEntry(getId(), XmrAddressEntry.Context.TRADE_PAYOUT).get().getAddressString() : getTaker().getPayoutAddressString(), // taker payout address
|
||||
getLockTime(),
|
||||
getMaker().getDepositTxHash(),
|
||||
getTaker().getDepositTxHash()
|
||||
);
|
||||
|
@ -1594,9 +1593,7 @@ public abstract class Trade implements Tradable, Model {
|
|||
}
|
||||
|
||||
public boolean isTxChainInvalid() {
|
||||
return offer.getOfferFeePaymentTxId() == null ||
|
||||
processModel.getMaker().getDepositTxHash() == null ||
|
||||
processModel.getTaker().getDepositTxHash() == null;
|
||||
return processModel.getMaker().getDepositTxHash() == null || processModel.getTaker().getDepositTxHash() == null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -25,14 +25,12 @@ import haveno.common.proto.persistable.PersistablePayload;
|
|||
import haveno.core.account.witness.AccountAgeWitness;
|
||||
import haveno.core.payment.payload.PaymentAccountPayload;
|
||||
import haveno.core.proto.CoreProtoResolver;
|
||||
import haveno.core.xmr.model.RawTransactionInput;
|
||||
import haveno.network.p2p.NodeAddress;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -82,15 +80,6 @@ public final class TradePeer implements PersistablePayload {
|
|||
private String contractAsJson;
|
||||
@Nullable
|
||||
private String contractSignature;
|
||||
@Nullable
|
||||
private byte[] signature;
|
||||
@Nullable
|
||||
private byte[] multiSigPubKey;
|
||||
@Nullable
|
||||
private List<RawTransactionInput> rawTransactionInputs;
|
||||
private long changeOutputValue;
|
||||
@Nullable
|
||||
private String changeOutputAddress;
|
||||
|
||||
// added in v 0.6
|
||||
@Nullable
|
||||
|
@ -145,8 +134,7 @@ public final class TradePeer implements PersistablePayload {
|
|||
|
||||
@Override
|
||||
public Message toProtoMessage() {
|
||||
final protobuf.TradePeer.Builder builder = protobuf.TradePeer.newBuilder()
|
||||
.setChangeOutputValue(changeOutputValue);
|
||||
final protobuf.TradePeer.Builder builder = protobuf.TradePeer.newBuilder();
|
||||
Optional.ofNullable(nodeAddress).ifPresent(e -> builder.setNodeAddress(nodeAddress.toProtoMessage()));
|
||||
Optional.ofNullable(pubKeyRing).ifPresent(e -> builder.setPubKeyRing(pubKeyRing.toProtoMessage()));
|
||||
Optional.ofNullable(accountId).ifPresent(builder::setAccountId);
|
||||
|
@ -159,11 +147,7 @@ public final class TradePeer implements PersistablePayload {
|
|||
Optional.ofNullable(payoutAddressString).ifPresent(builder::setPayoutAddressString);
|
||||
Optional.ofNullable(contractAsJson).ifPresent(builder::setContractAsJson);
|
||||
Optional.ofNullable(contractSignature).ifPresent(builder::setContractSignature);
|
||||
Optional.ofNullable(signature).ifPresent(e -> builder.setSignature(ByteString.copyFrom(e)));
|
||||
Optional.ofNullable(pubKeyRing).ifPresent(e -> builder.setPubKeyRing(e.toProtoMessage()));
|
||||
Optional.ofNullable(multiSigPubKey).ifPresent(e -> builder.setMultiSigPubKey(ByteString.copyFrom(e)));
|
||||
Optional.ofNullable(rawTransactionInputs).ifPresent(e -> builder.addAllRawTransactionInputs(ProtoUtil.collectionToProto(e, protobuf.RawTransactionInput.class)));
|
||||
Optional.ofNullable(changeOutputAddress).ifPresent(builder::setChangeOutputAddress);
|
||||
Optional.ofNullable(accountAgeWitnessNonce).ifPresent(e -> builder.setAccountAgeWitnessNonce(ByteString.copyFrom(e)));
|
||||
Optional.ofNullable(accountAgeWitnessSignature).ifPresent(e -> builder.setAccountAgeWitnessSignature(ByteString.copyFrom(e)));
|
||||
Optional.ofNullable(accountAgeWitness).ifPresent(e -> builder.setAccountAgeWitness(accountAgeWitness.toProtoAccountAgeWitness()));
|
||||
|
@ -192,7 +176,6 @@ public final class TradePeer implements PersistablePayload {
|
|||
TradePeer tradePeer = new TradePeer();
|
||||
tradePeer.setNodeAddress(proto.hasNodeAddress() ? NodeAddress.fromProto(proto.getNodeAddress()) : null);
|
||||
tradePeer.setPubKeyRing(proto.hasPubKeyRing() ? PubKeyRing.fromProto(proto.getPubKeyRing()) : null);
|
||||
tradePeer.setChangeOutputValue(proto.getChangeOutputValue());
|
||||
tradePeer.setAccountId(ProtoUtil.stringOrNullFromProto(proto.getAccountId()));
|
||||
tradePeer.setPaymentAccountId(ProtoUtil.stringOrNullFromProto(proto.getPaymentAccountId()));
|
||||
tradePeer.setPaymentMethodId(ProtoUtil.stringOrNullFromProto(proto.getPaymentMethodId()));
|
||||
|
@ -203,16 +186,7 @@ public final class TradePeer implements PersistablePayload {
|
|||
tradePeer.setPayoutAddressString(ProtoUtil.stringOrNullFromProto(proto.getPayoutAddressString()));
|
||||
tradePeer.setContractAsJson(ProtoUtil.stringOrNullFromProto(proto.getContractAsJson()));
|
||||
tradePeer.setContractSignature(ProtoUtil.stringOrNullFromProto(proto.getContractSignature()));
|
||||
tradePeer.setSignature(ProtoUtil.byteArrayOrNullFromProto(proto.getSignature()));
|
||||
tradePeer.setPubKeyRing(proto.hasPubKeyRing() ? PubKeyRing.fromProto(proto.getPubKeyRing()) : null);
|
||||
tradePeer.setMultiSigPubKey(ProtoUtil.byteArrayOrNullFromProto(proto.getMultiSigPubKey()));
|
||||
List<RawTransactionInput> rawTransactionInputs = proto.getRawTransactionInputsList().isEmpty() ?
|
||||
null :
|
||||
proto.getRawTransactionInputsList().stream()
|
||||
.map(RawTransactionInput::fromProto)
|
||||
.collect(Collectors.toList());
|
||||
tradePeer.setRawTransactionInputs(rawTransactionInputs);
|
||||
tradePeer.setChangeOutputAddress(ProtoUtil.stringOrNullFromProto(proto.getChangeOutputAddress()));
|
||||
tradePeer.setAccountAgeWitnessNonce(ProtoUtil.byteArrayOrNullFromProto(proto.getAccountAgeWitnessNonce()));
|
||||
tradePeer.setAccountAgeWitnessSignature(ProtoUtil.byteArrayOrNullFromProto(proto.getAccountAgeWitnessSignature()));
|
||||
protobuf.AccountAgeWitness protoAccountAgeWitness = proto.getAccountAgeWitness();
|
||||
|
|
|
@ -91,8 +91,10 @@ public class TradeStatisticsManager {
|
|||
if (!tradeStatistics.isValid()) {
|
||||
return;
|
||||
}
|
||||
observableTradeStatisticsSet.add(tradeStatistics);
|
||||
priceFeedService.applyLatestHavenoMarketPrice(observableTradeStatisticsSet);
|
||||
synchronized (observableTradeStatisticsSet) {
|
||||
observableTradeStatisticsSet.add(tradeStatistics);
|
||||
priceFeedService.applyLatestHavenoMarketPrice(observableTradeStatisticsSet);
|
||||
}
|
||||
maybeDumpStatistics();
|
||||
}
|
||||
});
|
||||
|
@ -102,8 +104,10 @@ public class TradeStatisticsManager {
|
|||
.map(e -> (TradeStatistics3) e)
|
||||
.filter(TradeStatistics3::isValid)
|
||||
.collect(Collectors.toSet());
|
||||
observableTradeStatisticsSet.addAll(set);
|
||||
priceFeedService.applyLatestHavenoMarketPrice(observableTradeStatisticsSet);
|
||||
synchronized (observableTradeStatisticsSet) {
|
||||
observableTradeStatisticsSet.addAll(set);
|
||||
priceFeedService.applyLatestHavenoMarketPrice(observableTradeStatisticsSet);
|
||||
}
|
||||
maybeDumpStatistics();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue