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