mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 23:18:17 +01:00
Make processModel in Trade final and pass in constructor instead of in init method
This commit is contained in:
parent
f0a30221ab
commit
cabc5af2c6
8 changed files with 86 additions and 58 deletions
|
@ -21,6 +21,7 @@ import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
import bisq.core.proto.CoreProtoResolver;
|
import bisq.core.proto.CoreProtoResolver;
|
||||||
import bisq.core.trade.protocol.BuyerAsMakerProtocol;
|
import bisq.core.trade.protocol.BuyerAsMakerProtocol;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
|
||||||
|
@ -47,7 +48,8 @@ public final class BuyerAsMakerTrade extends BuyerTrade implements MakerTrade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
txFee,
|
txFee,
|
||||||
takeOfferFee,
|
takeOfferFee,
|
||||||
|
@ -56,7 +58,8 @@ public final class BuyerAsMakerTrade extends BuyerTrade implements MakerTrade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -76,6 +79,7 @@ public final class BuyerAsMakerTrade extends BuyerTrade implements MakerTrade {
|
||||||
BtcWalletService btcWalletService,
|
BtcWalletService btcWalletService,
|
||||||
CoreProtoResolver coreProtoResolver) {
|
CoreProtoResolver coreProtoResolver) {
|
||||||
protobuf.Trade proto = buyerAsMakerTradeProto.getTrade();
|
protobuf.Trade proto = buyerAsMakerTradeProto.getTrade();
|
||||||
|
ProcessModel processModel = ProcessModel.fromProto(proto.getProcessModel(), coreProtoResolver);
|
||||||
BuyerAsMakerTrade trade = new BuyerAsMakerTrade(
|
BuyerAsMakerTrade trade = new BuyerAsMakerTrade(
|
||||||
Offer.fromProto(proto.getOffer()),
|
Offer.fromProto(proto.getOffer()),
|
||||||
Coin.valueOf(proto.getTxFeeAsLong()),
|
Coin.valueOf(proto.getTxFeeAsLong()),
|
||||||
|
@ -85,7 +89,8 @@ public final class BuyerAsMakerTrade extends BuyerTrade implements MakerTrade {
|
||||||
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
||||||
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
|
|
||||||
trade.setTradeAmountAsLong(proto.getTradeAmountAsLong());
|
trade.setTradeAmountAsLong(proto.getTradeAmountAsLong());
|
||||||
trade.setTradePrice(proto.getTradePrice());
|
trade.setTradePrice(proto.getTradePrice());
|
||||||
|
|
|
@ -21,6 +21,7 @@ import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
import bisq.core.proto.CoreProtoResolver;
|
import bisq.core.proto.CoreProtoResolver;
|
||||||
import bisq.core.trade.protocol.BuyerAsTakerProtocol;
|
import bisq.core.trade.protocol.BuyerAsTakerProtocol;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
|
||||||
|
@ -50,7 +51,8 @@ public final class BuyerAsTakerTrade extends BuyerTrade implements TakerTrade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
tradeAmount,
|
tradeAmount,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -62,7 +64,8 @@ public final class BuyerAsTakerTrade extends BuyerTrade implements TakerTrade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,6 +86,7 @@ public final class BuyerAsTakerTrade extends BuyerTrade implements TakerTrade {
|
||||||
BtcWalletService btcWalletService,
|
BtcWalletService btcWalletService,
|
||||||
CoreProtoResolver coreProtoResolver) {
|
CoreProtoResolver coreProtoResolver) {
|
||||||
protobuf.Trade proto = buyerAsTakerTradeProto.getTrade();
|
protobuf.Trade proto = buyerAsTakerTradeProto.getTrade();
|
||||||
|
ProcessModel processModel = ProcessModel.fromProto(proto.getProcessModel(), coreProtoResolver);
|
||||||
return fromProto(new BuyerAsTakerTrade(
|
return fromProto(new BuyerAsTakerTrade(
|
||||||
Offer.fromProto(proto.getOffer()),
|
Offer.fromProto(proto.getOffer()),
|
||||||
Coin.valueOf(proto.getTradeAmountAsLong()),
|
Coin.valueOf(proto.getTradeAmountAsLong()),
|
||||||
|
@ -95,7 +99,8 @@ public final class BuyerAsTakerTrade extends BuyerTrade implements TakerTrade {
|
||||||
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
||||||
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService),
|
btcWalletService,
|
||||||
|
processModel),
|
||||||
proto,
|
proto,
|
||||||
coreProtoResolver);
|
coreProtoResolver);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ package bisq.core.trade;
|
||||||
|
|
||||||
import bisq.core.btc.wallet.BtcWalletService;
|
import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
|
||||||
|
@ -45,7 +46,8 @@ public abstract class BuyerTrade extends Trade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
tradeAmount,
|
tradeAmount,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -57,7 +59,8 @@ public abstract class BuyerTrade extends Trade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuyerTrade(Offer offer,
|
BuyerTrade(Offer offer,
|
||||||
|
@ -68,7 +71,8 @@ public abstract class BuyerTrade extends Trade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
txFee,
|
txFee,
|
||||||
takerFee,
|
takerFee,
|
||||||
|
@ -77,7 +81,8 @@ public abstract class BuyerTrade extends Trade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -20,6 +20,7 @@ package bisq.core.trade;
|
||||||
import bisq.core.btc.wallet.BtcWalletService;
|
import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
import bisq.core.proto.CoreProtoResolver;
|
import bisq.core.proto.CoreProtoResolver;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
import bisq.core.trade.protocol.SellerAsMakerProtocol;
|
import bisq.core.trade.protocol.SellerAsMakerProtocol;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
@ -47,7 +48,8 @@ public final class SellerAsMakerTrade extends SellerTrade implements MakerTrade
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
txFee,
|
txFee,
|
||||||
takerFee,
|
takerFee,
|
||||||
|
@ -56,7 +58,8 @@ public final class SellerAsMakerTrade extends SellerTrade implements MakerTrade
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,6 +80,7 @@ public final class SellerAsMakerTrade extends SellerTrade implements MakerTrade
|
||||||
BtcWalletService btcWalletService,
|
BtcWalletService btcWalletService,
|
||||||
CoreProtoResolver coreProtoResolver) {
|
CoreProtoResolver coreProtoResolver) {
|
||||||
protobuf.Trade proto = sellerAsMakerTradeProto.getTrade();
|
protobuf.Trade proto = sellerAsMakerTradeProto.getTrade();
|
||||||
|
ProcessModel processModel = ProcessModel.fromProto(proto.getProcessModel(), coreProtoResolver);
|
||||||
SellerAsMakerTrade trade = new SellerAsMakerTrade(
|
SellerAsMakerTrade trade = new SellerAsMakerTrade(
|
||||||
Offer.fromProto(proto.getOffer()),
|
Offer.fromProto(proto.getOffer()),
|
||||||
Coin.valueOf(proto.getTxFeeAsLong()),
|
Coin.valueOf(proto.getTxFeeAsLong()),
|
||||||
|
@ -86,7 +90,8 @@ public final class SellerAsMakerTrade extends SellerTrade implements MakerTrade
|
||||||
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
||||||
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
|
|
||||||
trade.setTradeAmountAsLong(proto.getTradeAmountAsLong());
|
trade.setTradeAmountAsLong(proto.getTradeAmountAsLong());
|
||||||
trade.setTradePrice(proto.getTradePrice());
|
trade.setTradePrice(proto.getTradePrice());
|
||||||
|
|
|
@ -20,6 +20,7 @@ package bisq.core.trade;
|
||||||
import bisq.core.btc.wallet.BtcWalletService;
|
import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
import bisq.core.proto.CoreProtoResolver;
|
import bisq.core.proto.CoreProtoResolver;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
import bisq.core.trade.protocol.SellerAsTakerProtocol;
|
import bisq.core.trade.protocol.SellerAsTakerProtocol;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
@ -50,7 +51,8 @@ public final class SellerAsTakerTrade extends SellerTrade implements TakerTrade
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
tradeAmount,
|
tradeAmount,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -62,7 +64,8 @@ public final class SellerAsTakerTrade extends SellerTrade implements TakerTrade
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,6 +86,7 @@ public final class SellerAsTakerTrade extends SellerTrade implements TakerTrade
|
||||||
BtcWalletService btcWalletService,
|
BtcWalletService btcWalletService,
|
||||||
CoreProtoResolver coreProtoResolver) {
|
CoreProtoResolver coreProtoResolver) {
|
||||||
protobuf.Trade proto = sellerAsTakerTradeProto.getTrade();
|
protobuf.Trade proto = sellerAsTakerTradeProto.getTrade();
|
||||||
|
ProcessModel processModel = ProcessModel.fromProto(proto.getProcessModel(), coreProtoResolver);
|
||||||
return fromProto(new SellerAsTakerTrade(
|
return fromProto(new SellerAsTakerTrade(
|
||||||
Offer.fromProto(proto.getOffer()),
|
Offer.fromProto(proto.getOffer()),
|
||||||
Coin.valueOf(proto.getTradeAmountAsLong()),
|
Coin.valueOf(proto.getTradeAmountAsLong()),
|
||||||
|
@ -95,7 +99,8 @@ public final class SellerAsTakerTrade extends SellerTrade implements TakerTrade
|
||||||
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
proto.hasMediatorNodeAddress() ? NodeAddress.fromProto(proto.getMediatorNodeAddress()) : null,
|
||||||
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
proto.hasRefundAgentNodeAddress() ? NodeAddress.fromProto(proto.getRefundAgentNodeAddress()) : null,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService),
|
btcWalletService,
|
||||||
|
processModel),
|
||||||
proto,
|
proto,
|
||||||
coreProtoResolver);
|
coreProtoResolver);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ package bisq.core.trade;
|
||||||
|
|
||||||
import bisq.core.btc.wallet.BtcWalletService;
|
import bisq.core.btc.wallet.BtcWalletService;
|
||||||
import bisq.core.offer.Offer;
|
import bisq.core.offer.Offer;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
|
|
||||||
import bisq.network.p2p.NodeAddress;
|
import bisq.network.p2p.NodeAddress;
|
||||||
|
|
||||||
|
@ -45,7 +46,8 @@ public abstract class SellerTrade extends Trade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
tradeAmount,
|
tradeAmount,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -57,7 +59,8 @@ public abstract class SellerTrade extends Trade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
SellerTrade(Offer offer,
|
SellerTrade(Offer offer,
|
||||||
|
@ -68,7 +71,8 @@ public abstract class SellerTrade extends Trade {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
super(offer,
|
super(offer,
|
||||||
txFee,
|
txFee,
|
||||||
takeOfferFee,
|
takeOfferFee,
|
||||||
|
@ -77,7 +81,8 @@ public abstract class SellerTrade extends Trade {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -274,7 +274,8 @@ public abstract class Trade implements Tradable, Model {
|
||||||
|
|
||||||
// Persistable
|
// Persistable
|
||||||
// Immutable
|
// Immutable
|
||||||
@Nullable
|
@Getter
|
||||||
|
private final ProcessModel processModel;
|
||||||
@Getter
|
@Getter
|
||||||
private final Offer offer;
|
private final Offer offer;
|
||||||
@Getter
|
@Getter
|
||||||
|
@ -285,10 +286,7 @@ public abstract class Trade implements Tradable, Model {
|
||||||
private final long takerFeeAsLong;
|
private final long takerFeeAsLong;
|
||||||
@Setter
|
@Setter
|
||||||
private long takeOfferDate;
|
private long takeOfferDate;
|
||||||
@Setter
|
|
||||||
@Getter
|
|
||||||
@Nullable
|
|
||||||
private ProcessModel processModel;
|
|
||||||
// Mutable
|
// Mutable
|
||||||
@Nullable
|
@Nullable
|
||||||
@Getter
|
@Getter
|
||||||
|
@ -473,16 +471,18 @@ public abstract class Trade implements Tradable, Model {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
this.offer = offer;
|
this.offer = offer;
|
||||||
this.txFee = txFee;
|
this.txFee = txFee;
|
||||||
this.takerFee = takerFee;
|
this.takerFee = takerFee;
|
||||||
this.isCurrencyForTakerFeeBtc = isCurrencyForTakerFeeBtc;
|
this.isCurrencyForTakerFeeBtc = isCurrencyForTakerFeeBtc;
|
||||||
this.storage = storage;
|
|
||||||
this.btcWalletService = btcWalletService;
|
|
||||||
this.arbitratorNodeAddress = arbitratorNodeAddress;
|
this.arbitratorNodeAddress = arbitratorNodeAddress;
|
||||||
this.mediatorNodeAddress = mediatorNodeAddress;
|
this.mediatorNodeAddress = mediatorNodeAddress;
|
||||||
this.refundAgentNodeAddress = refundAgentNodeAddress;
|
this.refundAgentNodeAddress = refundAgentNodeAddress;
|
||||||
|
this.storage = storage;
|
||||||
|
this.btcWalletService = btcWalletService;
|
||||||
|
this.processModel = processModel;
|
||||||
|
|
||||||
txFeeAsLong = txFee.value;
|
txFeeAsLong = txFee.value;
|
||||||
takerFeeAsLong = takerFee.value;
|
takerFeeAsLong = takerFee.value;
|
||||||
|
@ -505,7 +505,8 @@ public abstract class Trade implements Tradable, Model {
|
||||||
@Nullable NodeAddress mediatorNodeAddress,
|
@Nullable NodeAddress mediatorNodeAddress,
|
||||||
@Nullable NodeAddress refundAgentNodeAddress,
|
@Nullable NodeAddress refundAgentNodeAddress,
|
||||||
Storage<? extends TradableList> storage,
|
Storage<? extends TradableList> storage,
|
||||||
BtcWalletService btcWalletService) {
|
BtcWalletService btcWalletService,
|
||||||
|
ProcessModel processModel) {
|
||||||
|
|
||||||
this(offer,
|
this(offer,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -515,7 +516,8 @@ public abstract class Trade implements Tradable, Model {
|
||||||
mediatorNodeAddress,
|
mediatorNodeAddress,
|
||||||
refundAgentNodeAddress,
|
refundAgentNodeAddress,
|
||||||
storage,
|
storage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
processModel);
|
||||||
this.tradePrice = tradePrice;
|
this.tradePrice = tradePrice;
|
||||||
this.tradingPeerNodeAddress = tradingPeerNodeAddress;
|
this.tradingPeerNodeAddress = tradingPeerNodeAddress;
|
||||||
|
|
||||||
|
@ -530,7 +532,7 @@ public abstract class Trade implements Tradable, Model {
|
||||||
@Override
|
@Override
|
||||||
public Message toProtoMessage() {
|
public Message toProtoMessage() {
|
||||||
protobuf.Trade.Builder builder = protobuf.Trade.newBuilder()
|
protobuf.Trade.Builder builder = protobuf.Trade.newBuilder()
|
||||||
.setOffer(checkNotNull(offer).toProtoMessage())
|
.setOffer(offer.toProtoMessage())
|
||||||
.setIsCurrencyForTakerFeeBtc(isCurrencyForTakerFeeBtc)
|
.setIsCurrencyForTakerFeeBtc(isCurrencyForTakerFeeBtc)
|
||||||
.setTxFeeAsLong(txFeeAsLong)
|
.setTxFeeAsLong(txFeeAsLong)
|
||||||
.setTakerFeeAsLong(takerFeeAsLong)
|
.setTakerFeeAsLong(takerFeeAsLong)
|
||||||
|
@ -577,7 +579,6 @@ public abstract class Trade implements Tradable, Model {
|
||||||
|
|
||||||
public static Trade fromProto(Trade trade, protobuf.Trade proto, CoreProtoResolver coreProtoResolver) {
|
public static Trade fromProto(Trade trade, protobuf.Trade proto, CoreProtoResolver coreProtoResolver) {
|
||||||
trade.setTakeOfferDate(proto.getTakeOfferDate());
|
trade.setTakeOfferDate(proto.getTakeOfferDate());
|
||||||
trade.setProcessModel(ProcessModel.fromProto(proto.getProcessModel(), coreProtoResolver));
|
|
||||||
trade.setState(State.fromProto(proto.getState()));
|
trade.setState(State.fromProto(proto.getState()));
|
||||||
trade.setDisputeState(DisputeState.fromProto(proto.getDisputeState()));
|
trade.setDisputeState(DisputeState.fromProto(proto.getDisputeState()));
|
||||||
trade.setTradePeriodState(TradePeriodState.fromProto(proto.getTradePeriodState()));
|
trade.setTradePeriodState(TradePeriodState.fromProto(proto.getTradePeriodState()));
|
||||||
|
@ -630,28 +631,23 @@ public abstract class Trade implements Tradable, Model {
|
||||||
this.btcWalletService = btcWalletService;
|
this.btcWalletService = btcWalletService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setupProcessModel(ProcessModelServiceProvider processModelServiceProvider,
|
public void setupProcessModel(ProcessModelServiceProvider serviceProvider, TradeManager tradeManager) {
|
||||||
TradeManager tradeManager) {
|
processModel.applyTransient(serviceProvider, tradeManager, offer);
|
||||||
processModel = getOrCreateProcessModel(processModelServiceProvider);
|
|
||||||
processModel.applyTransient(processModelServiceProvider,
|
|
||||||
tradeManager,
|
|
||||||
checkNotNull(offer));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(ProcessModelServiceProvider processModelServiceProvider) {
|
public void init(ProcessModelServiceProvider serviceProvider) {
|
||||||
|
serviceProvider.getArbitratorManager().getDisputeAgentByNodeAddress(arbitratorNodeAddress).ifPresent(arbitrator -> {
|
||||||
processModelServiceProvider.getArbitratorManager().getDisputeAgentByNodeAddress(arbitratorNodeAddress).ifPresent(arbitrator -> {
|
|
||||||
arbitratorBtcPubKey = arbitrator.getBtcPubKey();
|
arbitratorBtcPubKey = arbitrator.getBtcPubKey();
|
||||||
arbitratorPubKeyRing = arbitrator.getPubKeyRing();
|
arbitratorPubKeyRing = arbitrator.getPubKeyRing();
|
||||||
persist();
|
persist();
|
||||||
});
|
});
|
||||||
|
|
||||||
processModelServiceProvider.getMediatorManager().getDisputeAgentByNodeAddress(mediatorNodeAddress).ifPresent(mediator -> {
|
serviceProvider.getMediatorManager().getDisputeAgentByNodeAddress(mediatorNodeAddress).ifPresent(mediator -> {
|
||||||
mediatorPubKeyRing = mediator.getPubKeyRing();
|
mediatorPubKeyRing = mediator.getPubKeyRing();
|
||||||
persist();
|
persist();
|
||||||
});
|
});
|
||||||
|
|
||||||
processModelServiceProvider.getRefundAgentManager().getDisputeAgentByNodeAddress(refundAgentNodeAddress).ifPresent(refundAgent -> {
|
serviceProvider.getRefundAgentManager().getDisputeAgentByNodeAddress(refundAgentNodeAddress).ifPresent(refundAgent -> {
|
||||||
refundAgentPubKeyRing = refundAgent.getPubKeyRing();
|
refundAgentPubKeyRing = refundAgent.getPubKeyRing();
|
||||||
persist();
|
persist();
|
||||||
});
|
});
|
||||||
|
@ -668,15 +664,6 @@ public abstract class Trade implements Tradable, Model {
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProcessModel getOrCreateProcessModel(ProcessModelServiceProvider processModelServiceProvider) {
|
|
||||||
if (processModel == null) {
|
|
||||||
processModel = new ProcessModel(checkNotNull(offer).getId(),
|
|
||||||
processModelServiceProvider.getUser().getAccountId(),
|
|
||||||
processModelServiceProvider.getKeyRing().getPubKeyRing());
|
|
||||||
}
|
|
||||||
return processModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// API
|
// API
|
||||||
|
@ -1132,7 +1119,7 @@ public abstract class Trade implements Tradable, Model {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isTxChainInvalid() {
|
public boolean isTxChainInvalid() {
|
||||||
return checkNotNull(offer).getOfferFeePaymentTxId() == null ||
|
return offer.getOfferFeePaymentTxId() == null ||
|
||||||
getTakerFeeTxId() == null ||
|
getTakerFeeTxId() == null ||
|
||||||
getDepositTxId() == null ||
|
getDepositTxId() == null ||
|
||||||
getDelayedPayoutTxBytes() == null;
|
getDelayedPayoutTxBytes() == null;
|
||||||
|
|
|
@ -36,6 +36,7 @@ import bisq.core.trade.handlers.TradeResultHandler;
|
||||||
import bisq.core.trade.messages.TakeOfferRequest;
|
import bisq.core.trade.messages.TakeOfferRequest;
|
||||||
import bisq.core.trade.messages.TradeMessage;
|
import bisq.core.trade.messages.TradeMessage;
|
||||||
import bisq.core.trade.protocol.MakerProtocol;
|
import bisq.core.trade.protocol.MakerProtocol;
|
||||||
|
import bisq.core.trade.protocol.ProcessModel;
|
||||||
import bisq.core.trade.protocol.ProcessModelServiceProvider;
|
import bisq.core.trade.protocol.ProcessModelServiceProvider;
|
||||||
import bisq.core.trade.protocol.TakerProtocol;
|
import bisq.core.trade.protocol.TakerProtocol;
|
||||||
import bisq.core.trade.statistics.TradeStatisticsManager;
|
import bisq.core.trade.statistics.TradeStatisticsManager;
|
||||||
|
@ -243,7 +244,8 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
||||||
openOffer.getMediatorNodeAddress(),
|
openOffer.getMediatorNodeAddress(),
|
||||||
openOffer.getRefundAgentNodeAddress(),
|
openOffer.getRefundAgentNodeAddress(),
|
||||||
tradableListStorage,
|
tradableListStorage,
|
||||||
btcWalletService) :
|
btcWalletService,
|
||||||
|
getNewProcessModel(offer)) :
|
||||||
new SellerAsMakerTrade(offer,
|
new SellerAsMakerTrade(offer,
|
||||||
Coin.valueOf(takeOfferRequest.getTxFee()),
|
Coin.valueOf(takeOfferRequest.getTxFee()),
|
||||||
Coin.valueOf(takeOfferRequest.getTakerFee()),
|
Coin.valueOf(takeOfferRequest.getTakerFee()),
|
||||||
|
@ -252,7 +254,8 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
||||||
openOffer.getMediatorNodeAddress(),
|
openOffer.getMediatorNodeAddress(),
|
||||||
openOffer.getRefundAgentNodeAddress(),
|
openOffer.getRefundAgentNodeAddress(),
|
||||||
tradableListStorage,
|
tradableListStorage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
getNewProcessModel(offer));
|
||||||
|
|
||||||
initNewMakerTrade(trade);
|
initNewMakerTrade(trade);
|
||||||
tradableList.add(trade);
|
tradableList.add(trade);
|
||||||
|
@ -341,7 +344,7 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
||||||
private void initNewTakerTrade(Trade trade, boolean useSavingsWallet, Coin fundsNeededForTrade) {
|
private void initNewTakerTrade(Trade trade, boolean useSavingsWallet, Coin fundsNeededForTrade) {
|
||||||
initTrade(trade);
|
initTrade(trade);
|
||||||
|
|
||||||
checkNotNull(trade.getProcessModel()).setUseSavingsWallet(useSavingsWallet);
|
trade.getProcessModel().setUseSavingsWallet(useSavingsWallet);
|
||||||
trade.getProcessModel().setFundsNeededForTradeAsLong(fundsNeededForTrade.value);
|
trade.getProcessModel().setFundsNeededForTradeAsLong(fundsNeededForTrade.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -428,7 +431,8 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
||||||
model.getSelectedMediator(),
|
model.getSelectedMediator(),
|
||||||
model.getSelectedRefundAgent(),
|
model.getSelectedRefundAgent(),
|
||||||
tradableListStorage,
|
tradableListStorage,
|
||||||
btcWalletService) :
|
btcWalletService,
|
||||||
|
getNewProcessModel(offer)) :
|
||||||
new BuyerAsTakerTrade(offer,
|
new BuyerAsTakerTrade(offer,
|
||||||
amount,
|
amount,
|
||||||
txFee,
|
txFee,
|
||||||
|
@ -440,12 +444,19 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
||||||
model.getSelectedMediator(),
|
model.getSelectedMediator(),
|
||||||
model.getSelectedRefundAgent(),
|
model.getSelectedRefundAgent(),
|
||||||
tradableListStorage,
|
tradableListStorage,
|
||||||
btcWalletService);
|
btcWalletService,
|
||||||
|
getNewProcessModel(offer));
|
||||||
trade.setTakerPaymentAccountId(paymentAccountId);
|
trade.setTakerPaymentAccountId(paymentAccountId);
|
||||||
initNewTakerTrade(trade, useSavingsWallet, fundsNeededForTrade);
|
initNewTakerTrade(trade, useSavingsWallet, fundsNeededForTrade);
|
||||||
return trade;
|
return trade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ProcessModel getNewProcessModel(Offer offer) {
|
||||||
|
return new ProcessModel(checkNotNull(offer).getId(),
|
||||||
|
processModelServiceProvider.getUser().getAccountId(),
|
||||||
|
processModelServiceProvider.getKeyRing().getPubKeyRing());
|
||||||
|
}
|
||||||
|
|
||||||
private OfferAvailabilityModel getOfferAvailabilityModel(Offer offer) {
|
private OfferAvailabilityModel getOfferAvailabilityModel(Offer offer) {
|
||||||
return new OfferAvailabilityModel(
|
return new OfferAvailabilityModel(
|
||||||
offer,
|
offer,
|
||||||
|
|
Loading…
Add table
Reference in a new issue