renames in proto and api (#277)

rename to getNewDepositAddress()
rename trade phase DEPOSIT_CONFIRMED to DEPOSIT_UNLOCKED
rename fiat sent/received to payment sent/received
This commit is contained in:
woodser 2022-04-07 10:45:35 -04:00 committed by GitHub
parent f1b3ff6f08
commit 730bee3e71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 127 additions and 133 deletions

View file

@ -12,12 +12,9 @@ import org.junit.jupiter.api.TestInfo;
import static bisq.cli.TradeFormat.format; import static bisq.cli.TradeFormat.format;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail;
import bisq.apitest.method.offer.AbstractOfferTest; import bisq.apitest.method.offer.AbstractOfferTest;
import bisq.cli.GrpcClient;
public class AbstractTradeTest extends AbstractOfferTest { public class AbstractTradeTest extends AbstractOfferTest {
@ -52,9 +49,9 @@ public class AbstractTradeTest extends AbstractOfferTest {
if (!isLongRunningTest) if (!isLongRunningTest)
assertEquals(EXPECTED_PROTOCOL_STATUS.isDepositPublished, trade.getIsDepositPublished()); assertEquals(EXPECTED_PROTOCOL_STATUS.isDepositPublished, trade.getIsDepositPublished());
assertEquals(EXPECTED_PROTOCOL_STATUS.isDepositConfirmed, trade.getIsDepositConfirmed()); assertEquals(EXPECTED_PROTOCOL_STATUS.isDepositUnlocked, trade.getIsDepositUnlocked());
assertEquals(EXPECTED_PROTOCOL_STATUS.isFiatSent, trade.getIsFiatSent()); assertEquals(EXPECTED_PROTOCOL_STATUS.isPaymentSent, trade.getIsPaymentSent());
assertEquals(EXPECTED_PROTOCOL_STATUS.isFiatReceived, trade.getIsFiatReceived()); assertEquals(EXPECTED_PROTOCOL_STATUS.isPaymentReceived, trade.getIsPaymentReceived());
assertEquals(EXPECTED_PROTOCOL_STATUS.isPayoutPublished, trade.getIsPayoutPublished()); assertEquals(EXPECTED_PROTOCOL_STATUS.isPayoutPublished, trade.getIsPayoutPublished());
assertEquals(EXPECTED_PROTOCOL_STATUS.isWithdrawn, trade.getIsWithdrawn()); assertEquals(EXPECTED_PROTOCOL_STATUS.isWithdrawn, trade.getIsWithdrawn());
} }

View file

@ -10,9 +10,9 @@ public class ExpectedProtocolStatus {
Trade.State state; Trade.State state;
Trade.Phase phase; Trade.Phase phase;
boolean isDepositPublished; boolean isDepositPublished;
boolean isDepositConfirmed; boolean isDepositUnlocked;
boolean isFiatSent; boolean isPaymentSent;
boolean isFiatReceived; boolean isPaymentReceived;
boolean isPayoutPublished; boolean isPayoutPublished;
boolean isWithdrawn; boolean isWithdrawn;
@ -31,18 +31,18 @@ public class ExpectedProtocolStatus {
return this; return this;
} }
public ExpectedProtocolStatus setDepositConfirmed(boolean depositConfirmed) { public ExpectedProtocolStatus setDepositUnlocked(boolean depositUnlocked) {
isDepositConfirmed = depositConfirmed; isDepositUnlocked = depositUnlocked;
return this; return this;
} }
public ExpectedProtocolStatus setFiatSent(boolean fiatSent) { public ExpectedProtocolStatus setFiatSent(boolean paymentSent) {
isFiatSent = fiatSent; isPaymentSent = paymentSent;
return this; return this;
} }
public ExpectedProtocolStatus setFiatReceived(boolean fiatReceived) { public ExpectedProtocolStatus setFiatReceived(boolean paymentReceived) {
isFiatReceived = fiatReceived; isPaymentReceived = paymentReceived;
return this; return this;
} }
@ -60,9 +60,9 @@ public class ExpectedProtocolStatus {
state = null; state = null;
phase = null; phase = null;
isDepositPublished = false; isDepositPublished = false;
isDepositConfirmed = false; isDepositUnlocked = false;
isFiatSent = false; isPaymentSent = false;
isFiatReceived = false; isPaymentReceived = false;
isPayoutPublished = false; isPayoutPublished = false;
isWithdrawn = false; isWithdrawn = false;
} }

View file

@ -36,13 +36,12 @@ import org.junit.jupiter.api.TestMethodOrder;
import static bisq.cli.TableFormat.formatBalancesTbls; import static bisq.cli.TableFormat.formatBalancesTbls;
import static bisq.core.btc.wallet.Restrictions.getDefaultBuyerSecurityDepositAsPercent; import static bisq.core.btc.wallet.Restrictions.getDefaultBuyerSecurityDepositAsPercent;
import static bisq.core.trade.Trade.Phase.DEPOSIT_CONFIRMED; import static bisq.core.trade.Trade.Phase.DEPOSIT_UNLOCKED;
import static bisq.core.trade.Trade.Phase.PAYMENT_SENT; import static bisq.core.trade.Trade.Phase.PAYMENT_SENT;
import static bisq.core.trade.Trade.Phase.PAYOUT_PUBLISHED; import static bisq.core.trade.Trade.Phase.PAYOUT_PUBLISHED;
import static bisq.core.trade.Trade.State.*; import static bisq.core.trade.Trade.State.*;
import static java.lang.String.format; import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.fail; import static org.junit.jupiter.api.Assertions.fail;
import static protobuf.Offer.State.OFFER_FEE_PAID; import static protobuf.Offer.State.OFFER_FEE_PAID;
@ -92,8 +91,8 @@ public class TakeBuyBTCOfferTest extends AbstractTradeTest {
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
trade = bobClient.getTrade(trade.getTradeId()); trade = bobClient.getTrade(trade.getTradeId());
if (!trade.getIsDepositConfirmed()) { if (!trade.getIsDepositUnlocked()) {
log.warn("Bob still waiting on trade {} maker tx {} taker tx {}: DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN, attempt # {}", log.warn("Bob still waiting on trade {} maker tx {} taker tx {}: DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN, attempt # {}",
trade.getShortId(), trade.getShortId(),
trade.getMakerDepositTxId(), trade.getMakerDepositTxId(),
trade.getTakerDepositTxId(), trade.getTakerDepositTxId(),
@ -101,18 +100,18 @@ public class TakeBuyBTCOfferTest extends AbstractTradeTest {
genBtcBlocksThenWait(1, 4000); genBtcBlocksThenWait(1, 4000);
continue; continue;
} else { } else {
EXPECTED_PROTOCOL_STATUS.setState(DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN) EXPECTED_PROTOCOL_STATUS.setState(DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN)
.setPhase(DEPOSIT_CONFIRMED) .setPhase(DEPOSIT_UNLOCKED)
.setDepositPublished(true) .setDepositPublished(true)
.setDepositConfirmed(true); .setDepositUnlocked(true);
verifyExpectedProtocolStatus(trade); verifyExpectedProtocolStatus(trade);
logTrade(log, testInfo, "Bob's view after deposit is confirmed", trade, true); logTrade(log, testInfo, "Bob's view after deposit is unlocked", trade, true);
break; break;
} }
} }
if (!trade.getIsDepositConfirmed()) { if (!trade.getIsDepositUnlocked()) {
fail(format("INVALID_PHASE for Bob's trade %s in STATE=%s PHASE=%s, deposit tx was never confirmed.", fail(format("INVALID_PHASE for Bob's trade %s in STATE=%s PHASE=%s, deposit tx never unlocked.",
trade.getShortId(), trade.getShortId(),
trade.getState(), trade.getState(),
trade.getPhase())); trade.getPhase()));
@ -130,8 +129,8 @@ public class TakeBuyBTCOfferTest extends AbstractTradeTest {
var trade = aliceClient.getTrade(tradeId); var trade = aliceClient.getTrade(tradeId);
Predicate<TradeInfo> tradeStateAndPhaseCorrect = (t) -> Predicate<TradeInfo> tradeStateAndPhaseCorrect = (t) ->
t.getState().equals(DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN.name()) t.getState().equals(DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN.name())
&& t.getPhase().equals(DEPOSIT_CONFIRMED.name()); && t.getPhase().equals(DEPOSIT_UNLOCKED.name());
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
@ -162,8 +161,8 @@ public class TakeBuyBTCOfferTest extends AbstractTradeTest {
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
trade = aliceClient.getTrade(tradeId); trade = aliceClient.getTrade(tradeId);
if (!trade.getIsFiatSent()) { if (!trade.getIsPaymentSent()) {
log.warn("Alice still waiting for trade {} BUYER_SAW_ARRIVED_FIAT_PAYMENT_INITIATED_MSG, attempt # {}", log.warn("Alice still waiting for trade {} BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG, attempt # {}",
trade.getShortId(), trade.getShortId(),
i); i);
sleep(5000); sleep(5000);

View file

@ -37,7 +37,7 @@ import org.junit.jupiter.api.TestMethodOrder;
import static bisq.apitest.config.ApiTestConfig.BTC; import static bisq.apitest.config.ApiTestConfig.BTC;
import static bisq.cli.TableFormat.formatBalancesTbls; import static bisq.cli.TableFormat.formatBalancesTbls;
import static bisq.core.btc.wallet.Restrictions.getDefaultBuyerSecurityDepositAsPercent; import static bisq.core.btc.wallet.Restrictions.getDefaultBuyerSecurityDepositAsPercent;
import static bisq.core.trade.Trade.Phase.DEPOSIT_CONFIRMED; import static bisq.core.trade.Trade.Phase.DEPOSIT_UNLOCKED;
import static bisq.core.trade.Trade.Phase.PAYMENT_SENT; import static bisq.core.trade.Trade.Phase.PAYMENT_SENT;
import static bisq.core.trade.Trade.Phase.PAYOUT_PUBLISHED; import static bisq.core.trade.Trade.Phase.PAYOUT_PUBLISHED;
import static bisq.core.trade.Trade.Phase.WITHDRAWN; import static bisq.core.trade.Trade.Phase.WITHDRAWN;
@ -45,7 +45,6 @@ import static bisq.core.trade.Trade.State.*;
import static java.lang.String.format; import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail; import static org.junit.jupiter.api.Assertions.fail;
import static protobuf.Offer.State.OFFER_FEE_PAID; import static protobuf.Offer.State.OFFER_FEE_PAID;
import static protobuf.OfferPayload.Direction.SELL; import static protobuf.OfferPayload.Direction.SELL;
@ -97,8 +96,8 @@ public class TakeSellBTCOfferTest extends AbstractTradeTest {
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
trade = bobClient.getTrade(trade.getTradeId()); trade = bobClient.getTrade(trade.getTradeId());
if (!trade.getIsDepositConfirmed()) { if (!trade.getIsDepositUnlocked()) {
log.warn("Bob still waiting on trade {} maker tx {} taker tx {}: DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN, attempt # {}", log.warn("Bob still waiting on trade {} maker tx {} taker tx {}: DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN, attempt # {}",
trade.getShortId(), trade.getShortId(),
trade.getMakerDepositTxId(), trade.getMakerDepositTxId(),
trade.getTakerDepositTxId(), trade.getTakerDepositTxId(),
@ -106,18 +105,18 @@ public class TakeSellBTCOfferTest extends AbstractTradeTest {
genBtcBlocksThenWait(1, 4000); genBtcBlocksThenWait(1, 4000);
continue; continue;
} else { } else {
EXPECTED_PROTOCOL_STATUS.setState(DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN) EXPECTED_PROTOCOL_STATUS.setState(DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN)
.setPhase(DEPOSIT_CONFIRMED) .setPhase(DEPOSIT_UNLOCKED)
.setDepositPublished(true) .setDepositPublished(true)
.setDepositConfirmed(true); .setDepositUnlocked(true);
verifyExpectedProtocolStatus(trade); verifyExpectedProtocolStatus(trade);
logTrade(log, testInfo, "Bob's view after deposit is confirmed", trade, true); logTrade(log, testInfo, "Bob's view after deposit is confirmed", trade, true);
break; break;
} }
} }
if (!trade.getIsDepositConfirmed()) { if (!trade.getIsDepositUnlocked()) {
fail(format("INVALID_PHASE for Bob's trade %s in STATE=%s PHASE=%s, deposit tx was never confirmed.", fail(format("INVALID_PHASE for Bob's trade %s in STATE=%s PHASE=%s, deposit tx never unlocked.",
trade.getShortId(), trade.getShortId(),
trade.getState(), trade.getState(),
trade.getPhase())); trade.getPhase()));
@ -135,7 +134,7 @@ public class TakeSellBTCOfferTest extends AbstractTradeTest {
var trade = bobClient.getTrade(tradeId); var trade = bobClient.getTrade(tradeId);
Predicate<TradeInfo> tradeStateAndPhaseCorrect = (t) -> Predicate<TradeInfo> tradeStateAndPhaseCorrect = (t) ->
t.getState().equals(DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN.name()) && t.getPhase().equals(DEPOSIT_CONFIRMED.name()); t.getState().equals(DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN.name()) && t.getPhase().equals(DEPOSIT_UNLOCKED.name());
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
if (!tradeStateAndPhaseCorrect.test(trade)) { if (!tradeStateAndPhaseCorrect.test(trade)) {
log.warn("INVALID_PHASE for Bob's trade {} in STATE={} PHASE={}, cannot confirm payment started yet.", log.warn("INVALID_PHASE for Bob's trade {} in STATE={} PHASE={}, cannot confirm payment started yet.",
@ -164,8 +163,8 @@ public class TakeSellBTCOfferTest extends AbstractTradeTest {
for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) { for (int i = 1; i <= maxTradeStateAndPhaseChecks.get(); i++) {
trade = bobClient.getTrade(tradeId); trade = bobClient.getTrade(tradeId);
if (!trade.getIsFiatSent()) { if (!trade.getIsPaymentSent()) {
log.warn("Bob still waiting for trade {} BUYER_SAW_ARRIVED_FIAT_PAYMENT_INITIATED_MSG, attempt # {}", log.warn("Bob still waiting for trade {} BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG, attempt # {}",
trade.getShortId(), trade.getShortId(),
i); i);
sleep(5000); sleep(5000);

View file

@ -225,12 +225,12 @@ public class BotClient {
} }
/** /**
* Returns true if the trade's taker deposit fee transaction has been confirmed. * Returns true if the trade's taker deposit fee transaction is unlocked.
* @param tradeId a valid trade id * @param tradeId a valid trade id
* @return boolean * @return boolean
*/ */
public boolean isTakerDepositFeeTxConfirmed(String tradeId) { public boolean isTakerDepositFeeTxUnlocked(String tradeId) {
return grpcClient.getTrade(tradeId).getIsDepositConfirmed(); return grpcClient.getTrade(tradeId).getIsDepositUnlocked();
} }
/** /**
@ -239,7 +239,7 @@ public class BotClient {
* @return boolean * @return boolean
*/ */
public boolean isTradePaymentStartedSent(String tradeId) { public boolean isTradePaymentStartedSent(String tradeId) {
return grpcClient.getTrade(tradeId).getIsFiatSent(); return grpcClient.getTrade(tradeId).getIsPaymentSent();
} }
/** /**
@ -248,7 +248,7 @@ public class BotClient {
* @return boolean * @return boolean
*/ */
public boolean isTradePaymentReceivedConfirmationSent(String tradeId) { public boolean isTradePaymentReceivedConfirmationSent(String tradeId) {
return grpcClient.getTrade(tradeId).getIsFiatReceived(); return grpcClient.getTrade(tradeId).getIsPaymentReceived();
} }
/** /**

View file

@ -110,7 +110,7 @@ public abstract class BotProtocol {
log.info("Starting protocol step {}. Bot will shutdown if step not completed within {} minutes.", log.info("Starting protocol step {}. Bot will shutdown if step not completed within {} minutes.",
currentProtocolStep.name(), MILLISECONDS.toMinutes(protocolStepTimeLimitInMs)); currentProtocolStep.name(), MILLISECONDS.toMinutes(protocolStepTimeLimitInMs));
if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_CONFIRMED)) { if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_UNLOCKED)) {
log.info("Generate a btc block to trigger taker's deposit fee tx confirmation."); log.info("Generate a btc block to trigger taker's deposit fee tx confirmation.");
createGenerateBtcBlockScript(); createGenerateBtcBlockScript();
} }
@ -132,7 +132,7 @@ public abstract class BotProtocol {
checkIfShutdownCalled("Interrupted before checking if 'payment started' message has been sent."); checkIfShutdownCalled("Interrupted before checking if 'payment started' message has been sent.");
try { try {
var t = this.getBotClient().getTrade(trade.getTradeId()); var t = this.getBotClient().getTrade(trade.getTradeId());
if (t.getIsFiatSent()) { if (t.getIsPaymentSent()) {
log.info("Buyer has started payment for trade:\n{}", TradeFormat.format(t)); log.info("Buyer has started payment for trade:\n{}", TradeFormat.format(t));
return t; return t;
} }
@ -166,7 +166,7 @@ public abstract class BotProtocol {
checkIfShutdownCalled("Interrupted before checking if 'payment received confirmation' message has been sent."); checkIfShutdownCalled("Interrupted before checking if 'payment received confirmation' message has been sent.");
try { try {
var t = this.getBotClient().getTrade(trade.getTradeId()); var t = this.getBotClient().getTrade(trade.getTradeId());
if (t.getIsFiatReceived()) { if (t.getIsPaymentReceived()) {
log.info("Seller has received payment for trade:\n{}", TradeFormat.format(t)); log.info("Seller has received payment for trade:\n{}", TradeFormat.format(t));
return t; return t;
} }
@ -281,12 +281,12 @@ public abstract class BotProtocol {
} }
private void waitForTakerFeeTxConfirmed(String tradeId) { private void waitForTakerFeeTxConfirmed(String tradeId) {
waitForTakerDepositFee(tradeId, WAIT_FOR_TAKER_DEPOSIT_TX_CONFIRMED); waitForTakerDepositFee(tradeId, WAIT_FOR_TAKER_DEPOSIT_TX_UNLOCKED);
} }
private void waitForTakerDepositFee(String tradeId, ProtocolStep depositTxProtocolStep) { private void waitForTakerDepositFee(String tradeId, ProtocolStep depositTxProtocolStep) {
initProtocolStep.accept(depositTxProtocolStep); initProtocolStep.accept(depositTxProtocolStep);
validateCurrentProtocolStep(WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED, WAIT_FOR_TAKER_DEPOSIT_TX_CONFIRMED); validateCurrentProtocolStep(WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED, WAIT_FOR_TAKER_DEPOSIT_TX_UNLOCKED);
try { try {
log.info(waitingForDepositFeeTxMsg(tradeId)); log.info(waitingForDepositFeeTxMsg(tradeId));
while (isWithinProtocolStepTimeLimit()) { while (isWithinProtocolStepTimeLimit()) {
@ -316,8 +316,8 @@ public abstract class BotProtocol {
if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED) && trade.getIsDepositPublished()) { if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED) && trade.getIsDepositPublished()) {
log.info("Taker deposit fee tx {} has been published.", trade.getTakerDepositTxId()); log.info("Taker deposit fee tx {} has been published.", trade.getTakerDepositTxId());
return true; return true;
} else if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_CONFIRMED) && trade.getIsDepositConfirmed()) { } else if (currentProtocolStep.equals(WAIT_FOR_TAKER_DEPOSIT_TX_UNLOCKED) && trade.getIsDepositUnlocked()) {
log.info("Taker deposit fee tx {} has been confirmed.", trade.getTakerDepositTxId()); log.info("Taker deposit fee tx {} is unlocked.", trade.getTakerDepositTxId());
return true; return true;
} else { } else {
return false; return false;

View file

@ -6,7 +6,7 @@ public enum ProtocolStep {
TAKE_OFFER, TAKE_OFFER,
WAIT_FOR_OFFER_TAKER, WAIT_FOR_OFFER_TAKER,
WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED, WAIT_FOR_TAKER_DEPOSIT_TX_PUBLISHED,
WAIT_FOR_TAKER_DEPOSIT_TX_CONFIRMED, WAIT_FOR_TAKER_DEPOSIT_TX_UNLOCKED,
SEND_PAYMENT_STARTED_MESSAGE, SEND_PAYMENT_STARTED_MESSAGE,
WAIT_FOR_PAYMENT_STARTED_MESSAGE, WAIT_FOR_PAYMENT_STARTED_MESSAGE,
SEND_PAYMENT_RECEIVED_CONFIRMATION_MESSAGE, SEND_PAYMENT_RECEIVED_CONFIRMATION_MESSAGE,

View file

@ -120,10 +120,10 @@ public class TradeFormat {
makerTakerMinerTxFeeFormat.apply(tradeInfo, isTaker), makerTakerMinerTxFeeFormat.apply(tradeInfo, isTaker),
makerTakerFeeFormat.apply(tradeInfo, isTaker), makerTakerFeeFormat.apply(tradeInfo, isTaker),
tradeInfo.getIsDepositPublished() ? YES : NO, tradeInfo.getIsDepositPublished() ? YES : NO,
tradeInfo.getIsDepositConfirmed() ? YES : NO, tradeInfo.getIsDepositUnlocked() ? YES : NO,
tradeCostFormat.apply(tradeInfo), tradeCostFormat.apply(tradeInfo),
tradeInfo.getIsFiatSent() ? YES : NO, tradeInfo.getIsPaymentSent() ? YES : NO,
tradeInfo.getIsFiatReceived() ? YES : NO, tradeInfo.getIsPaymentReceived() ? YES : NO,
tradeInfo.getIsPayoutPublished() ? YES : NO, tradeInfo.getIsPayoutPublished() ? YES : NO,
tradeInfo.getIsWithdrawn() ? YES : NO); tradeInfo.getIsWithdrawn() ? YES : NO);
} }

View file

@ -269,8 +269,8 @@ public class CoreApi {
return walletsService.getBalances(currencyCode); return walletsService.getBalances(currencyCode);
} }
public String getNewDepositSubaddress() { public String getNewDepositAddress() {
return walletsService.getNewDepositSubaddress(); return walletsService.getNewDepositAddress();
} }
public List<MoneroTxWallet> getXmrTxs() { public List<MoneroTxWallet> getXmrTxs() {

View file

@ -161,7 +161,7 @@ class CoreWalletsService {
} }
} }
String getNewDepositSubaddress() { String getNewDepositAddress() {
accountService.checkAccountOpen(); accountService.checkAccountOpen();
return xmrWalletService.getWallet().createSubaddress(0).getAddress(); return xmrWalletService.getWallet().createSubaddress(0).getAddress();
} }

View file

@ -56,9 +56,9 @@ public class TradeInfo implements Payload {
private final String phase; private final String phase;
private final String tradePeriodState; private final String tradePeriodState;
private final boolean isDepositPublished; private final boolean isDepositPublished;
private final boolean isDepositConfirmed; private final boolean isDepositUnlocked;
private final boolean isFiatSent; private final boolean isPaymentSent;
private final boolean isFiatReceived; private final boolean isPaymentReceived;
private final boolean isPayoutPublished; private final boolean isPayoutPublished;
private final boolean isWithdrawn; private final boolean isWithdrawn;
private final String contractAsJson; private final String contractAsJson;
@ -83,9 +83,9 @@ public class TradeInfo implements Payload {
this.phase = builder.phase; this.phase = builder.phase;
this.tradePeriodState = builder.tradePeriodState; this.tradePeriodState = builder.tradePeriodState;
this.isDepositPublished = builder.isDepositPublished; this.isDepositPublished = builder.isDepositPublished;
this.isDepositConfirmed = builder.isDepositConfirmed; this.isDepositUnlocked = builder.isDepositConfirmed;
this.isFiatSent = builder.isFiatSent; this.isPaymentSent = builder.isPaymentSent;
this.isFiatReceived = builder.isFiatReceived; this.isPaymentReceived = builder.isPaymentReceived;
this.isPayoutPublished = builder.isPayoutPublished; this.isPayoutPublished = builder.isPayoutPublished;
this.isWithdrawn = builder.isWithdrawn; this.isWithdrawn = builder.isWithdrawn;
this.contractAsJson = builder.contractAsJson; this.contractAsJson = builder.contractAsJson;
@ -136,9 +136,9 @@ public class TradeInfo implements Payload {
.withPhase(trade.getPhase().name()) .withPhase(trade.getPhase().name())
.withTradePeriodState(trade.getTradePeriodState().name()) .withTradePeriodState(trade.getTradePeriodState().name())
.withIsDepositPublished(trade.isDepositPublished()) .withIsDepositPublished(trade.isDepositPublished())
.withIsDepositConfirmed(trade.isDepositConfirmed()) .withIsDepositUnlocked(trade.isDepositConfirmed())
.withIsFiatSent(trade.isFiatSent()) .withIsPaymentSent(trade.isPaymentSent())
.withIsFiatReceived(trade.isFiatReceived()) .withIsPaymentReceived(trade.isPaymentReceived())
.withIsPayoutPublished(trade.isPayoutPublished()) .withIsPayoutPublished(trade.isPayoutPublished())
.withIsWithdrawn(trade.isWithdrawn()) .withIsWithdrawn(trade.isWithdrawn())
.withContractAsJson(trade.getContractAsJson()) .withContractAsJson(trade.getContractAsJson())
@ -171,9 +171,9 @@ public class TradeInfo implements Payload {
.setPhase(phase) .setPhase(phase)
.setTradePeriodState(tradePeriodState) .setTradePeriodState(tradePeriodState)
.setIsDepositPublished(isDepositPublished) .setIsDepositPublished(isDepositPublished)
.setIsDepositConfirmed(isDepositConfirmed) .setIsDepositUnlocked(isDepositUnlocked)
.setIsFiatSent(isFiatSent) .setIsPaymentSent(isPaymentSent)
.setIsFiatReceived(isFiatReceived) .setIsPaymentReceived(isPaymentReceived)
.setIsPayoutPublished(isPayoutPublished) .setIsPayoutPublished(isPayoutPublished)
.setIsWithdrawn(isWithdrawn) .setIsWithdrawn(isWithdrawn)
.setContractAsJson(contractAsJson == null ? "" : contractAsJson) .setContractAsJson(contractAsJson == null ? "" : contractAsJson)
@ -201,9 +201,9 @@ public class TradeInfo implements Payload {
.withPhase(proto.getPhase()) .withPhase(proto.getPhase())
.withTradingPeerNodeAddress(proto.getTradingPeerNodeAddress()) .withTradingPeerNodeAddress(proto.getTradingPeerNodeAddress())
.withIsDepositPublished(proto.getIsDepositPublished()) .withIsDepositPublished(proto.getIsDepositPublished())
.withIsDepositConfirmed(proto.getIsDepositConfirmed()) .withIsDepositUnlocked(proto.getIsDepositUnlocked())
.withIsFiatSent(proto.getIsFiatSent()) .withIsPaymentSent(proto.getIsPaymentSent())
.withIsFiatReceived(proto.getIsFiatReceived()) .withIsPaymentReceived(proto.getIsPaymentReceived())
.withIsPayoutPublished(proto.getIsPayoutPublished()) .withIsPayoutPublished(proto.getIsPayoutPublished())
.withIsWithdrawn(proto.getIsWithdrawn()) .withIsWithdrawn(proto.getIsWithdrawn())
.withContractAsJson(proto.getContractAsJson()) .withContractAsJson(proto.getContractAsJson())
@ -237,8 +237,8 @@ public class TradeInfo implements Payload {
private String tradePeriodState; private String tradePeriodState;
private boolean isDepositPublished; private boolean isDepositPublished;
private boolean isDepositConfirmed; private boolean isDepositConfirmed;
private boolean isFiatSent; private boolean isPaymentSent;
private boolean isFiatReceived; private boolean isPaymentReceived;
private boolean isPayoutPublished; private boolean isPayoutPublished;
private boolean isWithdrawn; private boolean isWithdrawn;
private String contractAsJson; private String contractAsJson;
@ -334,18 +334,18 @@ public class TradeInfo implements Payload {
return this; return this;
} }
public TradeInfoBuilder withIsDepositConfirmed(boolean isDepositConfirmed) { public TradeInfoBuilder withIsDepositUnlocked(boolean isDepositConfirmed) {
this.isDepositConfirmed = isDepositConfirmed; this.isDepositConfirmed = isDepositConfirmed;
return this; return this;
} }
public TradeInfoBuilder withIsFiatSent(boolean isFiatSent) { public TradeInfoBuilder withIsPaymentSent(boolean isPaymentSent) {
this.isFiatSent = isFiatSent; this.isPaymentSent = isPaymentSent;
return this; return this;
} }
public TradeInfoBuilder withIsFiatReceived(boolean isFiatReceived) { public TradeInfoBuilder withIsPaymentReceived(boolean isPaymentReceived) {
this.isFiatReceived = isFiatReceived; this.isPaymentReceived = isPaymentReceived;
return this; return this;
} }
@ -394,9 +394,9 @@ public class TradeInfo implements Payload {
", phase='" + phase + '\'' + "\n" + ", phase='" + phase + '\'' + "\n" +
", tradePeriodState='" + tradePeriodState + '\'' + "\n" + ", tradePeriodState='" + tradePeriodState + '\'' + "\n" +
", isDepositPublished=" + isDepositPublished + "\n" + ", isDepositPublished=" + isDepositPublished + "\n" +
", isDepositConfirmed=" + isDepositConfirmed + "\n" + ", isDepositConfirmed=" + isDepositUnlocked + "\n" +
", isFiatSent=" + isFiatSent + "\n" + ", isPaymentSent=" + isPaymentSent + "\n" +
", isFiatReceived=" + isFiatReceived + "\n" + ", isPaymentReceived=" + isPaymentReceived + "\n" +
", isPayoutPublished=" + isPayoutPublished + "\n" + ", isPayoutPublished=" + isPayoutPublished + "\n" +
", isWithdrawn=" + isWithdrawn + "\n" + ", isWithdrawn=" + isWithdrawn + "\n" +
", offer=" + offer + "\n" + ", offer=" + offer + "\n" +

View file

@ -72,7 +72,7 @@ public class TradeEvents {
case TAKER_FEE_PUBLISHED: case TAKER_FEE_PUBLISHED:
case DEPOSIT_PUBLISHED: case DEPOSIT_PUBLISHED:
break; break;
case DEPOSIT_CONFIRMED: case DEPOSIT_UNLOCKED:
if (trade.getContract() != null && pubKeyRingProvider.get().equals(trade.getContract().getBuyerPubKeyRing())) if (trade.getContract() != null && pubKeyRingProvider.get().equals(trade.getContract().getBuyerPubKeyRing()))
msg = Res.get("account.notifications.trade.message.msg.conf", shortId); msg = Res.get("account.notifications.trade.message.msg.conf", shortId);
break; break;

View file

@ -150,7 +150,7 @@ public abstract class Trade implements Tradable, Model {
// #################### Phase DEPOSIT_CONFIRMED // #################### Phase DEPOSIT_CONFIRMED
DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN(Phase.DEPOSIT_CONFIRMED), DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN(Phase.DEPOSIT_UNLOCKED),
// #################### Phase PAYMENT_SENT // #################### Phase PAYMENT_SENT
@ -217,7 +217,7 @@ public abstract class Trade implements Tradable, Model {
INIT, INIT,
TAKER_FEE_PUBLISHED, // TODO (woodser): remove unused phases TAKER_FEE_PUBLISHED, // TODO (woodser): remove unused phases
DEPOSIT_PUBLISHED, DEPOSIT_PUBLISHED,
DEPOSIT_CONFIRMED, // TODO (woodser): rename to or add DEPOSIT_UNLOCKED DEPOSIT_UNLOCKED, // TODO (woodser): rename to or add DEPOSIT_UNLOCKED
PAYMENT_SENT, PAYMENT_SENT,
PAYMENT_RECEIVED, PAYMENT_RECEIVED,
PAYOUT_PUBLISHED, PAYOUT_PUBLISHED,
@ -1290,14 +1290,14 @@ public abstract class Trade implements Tradable, Model {
} }
public boolean isDepositConfirmed() { public boolean isDepositConfirmed() {
return getState().getPhase().ordinal() >= Phase.DEPOSIT_CONFIRMED.ordinal(); return getState().getPhase().ordinal() >= Phase.DEPOSIT_UNLOCKED.ordinal();
} }
public boolean isFiatSent() { public boolean isPaymentSent() {
return getState().getPhase().ordinal() >= Phase.PAYMENT_SENT.ordinal(); return getState().getPhase().ordinal() >= Phase.PAYMENT_SENT.ordinal();
} }
public boolean isFiatReceived() { public boolean isPaymentReceived() {
return getState().getPhase().ordinal() >= Phase.PAYMENT_RECEIVED.ordinal(); return getState().getPhase().ordinal() >= Phase.PAYMENT_RECEIVED.ordinal();
} }
@ -1460,7 +1460,7 @@ public abstract class Trade implements Tradable, Model {
// As setState is called here from the trade itself we cannot trigger a requestPersistence call. // As setState is called here from the trade itself we cannot trigger a requestPersistence call.
// But as we get setupConfidenceListener called at startup anyway there is no issue if it would not be // But as we get setupConfidenceListener called at startup anyway there is no issue if it would not be
// persisted in case the shutdown routine did not persist the trade. // persisted in case the shutdown routine did not persist the trade.
setState(State.DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN); // TODO (woodser): for xmr this means deposit txs have unlocked after 10 confirmations setState(State.DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN); // TODO (woodser): for xmr this means deposit txs have unlocked after 10 confirmations
} }
} }

View file

@ -129,10 +129,9 @@ public abstract class BuyerProtocol extends DisputeProtocol {
public void onPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { public void onPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
System.out.println("BuyerProtocol.onPaymentStarted()"); System.out.println("BuyerProtocol.onPaymentStarted()");
synchronized (trade) { // TODO (woodser): UpdateMultisigWithTradingPeer sends UpdateMultisigRequest and waits for UpdateMultisigResponse which is new thread, so synchronized (trade) in subsequent pipeline blocks forever if we hold on with countdown latch in this function synchronized (trade) { // TODO (woodser): UpdateMultisigWithTradingPeer sends UpdateMultisigRequest and waits for UpdateMultisigResponse which is new thread, so synchronized (trade) in subsequent pipeline blocks forever if we hold on with countdown latch in this function
System.out.println("BuyerProtocol.onPaymentStarted() has the lock!!!");
BuyerEvent event = BuyerEvent.PAYMENT_SENT; BuyerEvent event = BuyerEvent.PAYMENT_SENT;
CountDownLatch latch = new CountDownLatch(1); CountDownLatch latch = new CountDownLatch(1);
expect(phase(Trade.Phase.DEPOSIT_CONFIRMED) expect(phase(Trade.Phase.DEPOSIT_UNLOCKED)
.with(event) .with(event)
.preCondition(trade.confirmPermitted())) .preCondition(trade.confirmPermitted()))
.setup(tasks(ApplyFilter.class, .setup(tasks(ApplyFilter.class,

View file

@ -61,7 +61,7 @@ public abstract class DisputeProtocol extends TradeProtocol {
// Trader has not yet received the peer's signature but has clicked the accept button. // Trader has not yet received the peer's signature but has clicked the accept button.
public void onAcceptMediationResult(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { public void onAcceptMediationResult(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
DisputeEvent event = DisputeEvent.MEDIATION_RESULT_ACCEPTED; DisputeEvent event = DisputeEvent.MEDIATION_RESULT_ACCEPTED;
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED,
Trade.Phase.PAYMENT_SENT, Trade.Phase.PAYMENT_SENT,
Trade.Phase.PAYMENT_RECEIVED) Trade.Phase.PAYMENT_RECEIVED)
.with(event) .with(event)
@ -88,7 +88,7 @@ public abstract class DisputeProtocol extends TradeProtocol {
// Trader has already received the peer's signature and has clicked the accept button as well. // Trader has already received the peer's signature and has clicked the accept button as well.
public void onFinalizeMediationResultPayout(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) { public void onFinalizeMediationResultPayout(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
DisputeEvent event = DisputeEvent.MEDIATION_RESULT_ACCEPTED; DisputeEvent event = DisputeEvent.MEDIATION_RESULT_ACCEPTED;
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED,
Trade.Phase.PAYMENT_SENT, Trade.Phase.PAYMENT_SENT,
Trade.Phase.PAYMENT_RECEIVED) Trade.Phase.PAYMENT_RECEIVED)
.with(event) .with(event)
@ -117,7 +117,7 @@ public abstract class DisputeProtocol extends TradeProtocol {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
protected void handle(MediatedPayoutTxSignatureMessage message, NodeAddress peer) { protected void handle(MediatedPayoutTxSignatureMessage message, NodeAddress peer) {
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED,
Trade.Phase.PAYMENT_SENT, Trade.Phase.PAYMENT_SENT,
Trade.Phase.PAYMENT_RECEIVED) Trade.Phase.PAYMENT_RECEIVED)
.with(message) .with(message)
@ -127,7 +127,7 @@ public abstract class DisputeProtocol extends TradeProtocol {
} }
protected void handle(MediatedPayoutTxPublishedMessage message, NodeAddress peer) { protected void handle(MediatedPayoutTxPublishedMessage message, NodeAddress peer) {
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED,
Trade.Phase.PAYMENT_SENT, Trade.Phase.PAYMENT_SENT,
Trade.Phase.PAYMENT_RECEIVED) Trade.Phase.PAYMENT_RECEIVED)
.with(message) .with(message)
@ -167,7 +167,7 @@ public abstract class DisputeProtocol extends TradeProtocol {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
private void handle(PeerPublishedDelayedPayoutTxMessage message, NodeAddress peer) { private void handle(PeerPublishedDelayedPayoutTxMessage message, NodeAddress peer) {
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED,
Trade.Phase.PAYMENT_SENT, Trade.Phase.PAYMENT_SENT,
Trade.Phase.PAYMENT_RECEIVED) Trade.Phase.PAYMENT_RECEIVED)
.with(message) .with(message)

View file

@ -85,7 +85,7 @@ public abstract class SellerProtocol extends DisputeProtocol {
// the mailbox msg once wallet is ready and trade state set. // the mailbox msg once wallet is ready and trade state set.
synchronized (trade) { synchronized (trade) {
//CountDownLatch latch = new CountDownLatch(1); // TODO: apply latch countdown //CountDownLatch latch = new CountDownLatch(1); // TODO: apply latch countdown
expect(anyPhase(Trade.Phase.DEPOSIT_CONFIRMED, Trade.Phase.DEPOSIT_PUBLISHED) expect(anyPhase(Trade.Phase.DEPOSIT_UNLOCKED, Trade.Phase.DEPOSIT_PUBLISHED)
.with(message) .with(message)
.from(peer) .from(peer)
.preCondition(trade.getPayoutTx() == null, .preCondition(trade.getPayoutTx() == null,

View file

@ -192,7 +192,7 @@ public class BuyerSendsPaymentSentMessage extends SendMailboxMessageTask {
private void onMessageStateChange(MessageState newValue) { private void onMessageStateChange(MessageState newValue) {
// Once we receive an ACK from our msg we know the peer has received the msg and we stop. // Once we receive an ACK from our msg we know the peer has received the msg and we stop.
if (newValue == MessageState.ACKNOWLEDGED) { if (newValue == MessageState.ACKNOWLEDGED) {
// We treat a ACK like BUYER_SAW_ARRIVED_FIAT_PAYMENT_INITIATED_MSG // We treat a ACK like BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG
trade.setStateIfValidTransitionTo(Trade.State.BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG); trade.setStateIfValidTransitionTo(Trade.State.BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG);
processModel.getTradeManager().requestPersistence(); processModel.getTradeManager().requestPersistence();

View file

@ -197,7 +197,7 @@ public class XmrTxProofService implements AssetTxProofService {
.filter(trade -> trade instanceof SellerTrade) .filter(trade -> trade instanceof SellerTrade)
.map(trade -> (SellerTrade) trade) .map(trade -> (SellerTrade) trade)
.filter(this::isXmrTrade) .filter(this::isXmrTrade)
.filter(trade -> !trade.isFiatReceived()) // Phase name is from the time when it was fiat only. Means counter currency (XMR) received. .filter(trade -> !trade.isPaymentReceived()) // Phase name is from the time when it was fiat only. Means counter currency (XMR) received.
.forEach(this::processTradeOrAddListener); .forEach(this::processTradeOrAddListener);
} }
@ -207,7 +207,7 @@ public class XmrTxProofService implements AssetTxProofService {
if (isExpectedTradeState(trade.getState())) { if (isExpectedTradeState(trade.getState())) {
startRequestsIfValid(trade); startRequestsIfValid(trade);
} else { } else {
// We are expecting SELLER_RECEIVED_FIAT_PAYMENT_INITIATED_MSG in the future, so listen on changes // We are expecting SELLER_RECEIVED_PAYMENT_INITIATED_MSG in the future, so listen on changes
ChangeListener<Trade.State> tradeStateListener = (observable, oldValue, newValue) -> { ChangeListener<Trade.State> tradeStateListener = (observable, oldValue, newValue) -> {
if (isExpectedTradeState(newValue)) { if (isExpectedTradeState(newValue)) {
ChangeListener<Trade.State> listener = tradeStateListenerMap.remove(trade.getId()); ChangeListener<Trade.State> listener = tradeStateListenerMap.remove(trade.getId());

View file

@ -28,8 +28,8 @@ import bisq.proto.grpc.GetBalancesReply;
import bisq.proto.grpc.GetBalancesRequest; import bisq.proto.grpc.GetBalancesRequest;
import bisq.proto.grpc.GetFundingAddressesReply; import bisq.proto.grpc.GetFundingAddressesReply;
import bisq.proto.grpc.GetFundingAddressesRequest; import bisq.proto.grpc.GetFundingAddressesRequest;
import bisq.proto.grpc.GetNewDepositSubaddressRequest; import bisq.proto.grpc.GetNewDepositAddressRequest;
import bisq.proto.grpc.GetNewDepositSubaddressReply; import bisq.proto.grpc.GetNewDepositAddressReply;
import bisq.proto.grpc.GetXmrTxsRequest; import bisq.proto.grpc.GetXmrTxsRequest;
import bisq.proto.grpc.GetXmrTxsReply; import bisq.proto.grpc.GetXmrTxsReply;
import bisq.proto.grpc.CreateXmrTxRequest; import bisq.proto.grpc.CreateXmrTxRequest;
@ -118,11 +118,11 @@ class GrpcWalletsService extends WalletsImplBase {
} }
@Override @Override
public void getNewDepositSubaddress(GetNewDepositSubaddressRequest req, public void getNewDepositAddress(GetNewDepositAddressRequest req,
StreamObserver<GetNewDepositSubaddressReply> responseObserver) { StreamObserver<GetNewDepositAddressReply> responseObserver) {
try { try {
String subaddress = coreApi.getNewDepositSubaddress(); String subaddress = coreApi.getNewDepositAddress();
var reply = GetNewDepositSubaddressReply.newBuilder() var reply = GetNewDepositAddressReply.newBuilder()
.setSubaddress(subaddress) .setSubaddress(subaddress)
.build(); .build();
responseObserver.onNext(reply); responseObserver.onNext(reply);

View file

@ -192,7 +192,7 @@ public class NotificationCenter {
message = Res.get("notification.trade.accepted", role); message = Res.get("notification.trade.accepted", role);
} }
if (trade instanceof BuyerTrade && phase.ordinal() == Trade.Phase.DEPOSIT_CONFIRMED.ordinal()) if (trade instanceof BuyerTrade && phase.ordinal() == Trade.Phase.DEPOSIT_UNLOCKED.ordinal())
message = Res.get("notification.trade.confirmed"); message = Res.get("notification.trade.confirmed");
else if (trade instanceof SellerTrade && phase.ordinal() == Trade.Phase.PAYMENT_SENT.ordinal()) else if (trade instanceof SellerTrade && phase.ordinal() == Trade.Phase.PAYMENT_SENT.ordinal())
message = Res.get("notification.trade.paymentStarted"); message = Res.get("notification.trade.paymentStarted");

View file

@ -445,29 +445,29 @@ public class PendingTradesViewModel extends ActivatableWithDataModel<PendingTrad
// buyer and seller step 2 // buyer and seller step 2
// #################### Phase DEPOSIT_CONFIRMED // #################### Phase DEPOSIT_UNLOCKED
case DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN: case DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN:
sellerState.set(SellerState.STEP2); sellerState.set(SellerState.STEP2);
buyerState.set(BuyerState.STEP2); buyerState.set(BuyerState.STEP2);
break; break;
// buyer step 3 // buyer step 3
case BUYER_CONFIRMED_IN_UI_PAYMENT_INITIATED: // UI action case BUYER_CONFIRMED_IN_UI_PAYMENT_INITIATED: // UI action
case BUYER_SENT_PAYMENT_INITIATED_MSG: // FIAT_PAYMENT_INITIATED_MSG sent case BUYER_SENT_PAYMENT_INITIATED_MSG: // PAYMENT_INITIATED_MSG sent
// We don't switch the UI before we got the feedback of the msg delivery // We don't switch the UI before we got the feedback of the msg delivery
buyerState.set(BuyerState.STEP2); buyerState.set(BuyerState.STEP2);
break; break;
case BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG: // FIAT_PAYMENT_INITIATED_MSG arrived case BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG: // PAYMENT_INITIATED_MSG arrived
case BUYER_STORED_IN_MAILBOX_PAYMENT_INITIATED_MSG: // FIAT_PAYMENT_INITIATED_MSG in mailbox case BUYER_STORED_IN_MAILBOX_PAYMENT_INITIATED_MSG: // PAYMENT_INITIATED_MSG in mailbox
buyerState.set(BuyerState.STEP3); buyerState.set(BuyerState.STEP3);
break; break;
case BUYER_SEND_FAILED_PAYMENT_INITIATED_MSG: // FIAT_PAYMENT_INITIATED_MSG failed case BUYER_SEND_FAILED_PAYMENT_INITIATED_MSG: // PAYMENT_INITIATED_MSG failed
// if failed we need to repeat sending so back to step 2 // if failed we need to repeat sending so back to step 2
buyerState.set(BuyerState.STEP2); buyerState.set(BuyerState.STEP2);
break; break;
// seller step 3 // seller step 3
case SELLER_RECEIVED_PAYMENT_INITIATED_MSG: // FIAT_PAYMENT_INITIATED_MSG received case SELLER_RECEIVED_PAYMENT_INITIATED_MSG: // PAYMENT_INITIATED_MSG received
sellerState.set(SellerState.STEP3); sellerState.set(SellerState.STEP3);
break; break;

View file

@ -771,7 +771,7 @@ public abstract class TradeStepView extends AnchorPane {
} }
break; break;
case SECOND_HALF: case SECOND_HALF:
if (!trade.isFiatReceived()) { if (!trade.isPaymentReceived()) {
if (tradeStepInfo != null) { if (tradeStepInfo != null) {
tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText); tradeStepInfo.setFirstHalfOverWarnTextSupplier(this::getFirstHalfOverWarnText);
tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD); tradeStepInfo.setState(TradeStepInfo.State.WARN_HALF_PERIOD);

View file

@ -133,7 +133,7 @@ public class BuyerStep2View extends TradeStepView {
if (timeoutTimer != null) if (timeoutTimer != null)
timeoutTimer.stop(); timeoutTimer.stop();
if (trade.isDepositConfirmed() && !trade.isFiatSent()) { if (trade.isDepositConfirmed() && !trade.isPaymentSent()) {
showPopup(); showPopup();
} else if (state.ordinal() <= Trade.State.BUYER_SEND_FAILED_PAYMENT_INITIATED_MSG.ordinal()) { } else if (state.ordinal() <= Trade.State.BUYER_SEND_FAILED_PAYMENT_INITIATED_MSG.ordinal()) {
if (!trade.hasFailed()) { if (!trade.hasFailed()) {
@ -523,8 +523,8 @@ public class BuyerStep2View extends TradeStepView {
statusLabel.setText(Res.get("shared.sendingConfirmation")); statusLabel.setText(Res.get("shared.sendingConfirmation"));
//TODO seems this was a hack to enable repeated confirm??? //TODO seems this was a hack to enable repeated confirm???
if (trade.isFiatSent()) { if (trade.isPaymentSent()) {
trade.setState(Trade.State.DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN); trade.setState(Trade.State.DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN);
model.dataModel.getTradeManager().requestPersistence(); model.dataModel.getTradeManager().requestPersistence();
} }

View file

@ -111,9 +111,9 @@ public class SellerStep3View extends TradeStepView {
if (timeoutTimer != null) if (timeoutTimer != null)
timeoutTimer.stop(); timeoutTimer.stop();
if (trade.isFiatSent() && !trade.isFiatReceived()) { if (trade.isPaymentSent() && !trade.isPaymentReceived()) {
showPopup(); showPopup();
} else if (trade.isFiatReceived()) { } else if (trade.isPaymentReceived()) {
if (!trade.hasFailed()) { if (!trade.hasFailed()) {
switch (state) { switch (state) {
case SELLER_CONFIRMED_IN_UI_PAYMENT_RECEIPT: case SELLER_CONFIRMED_IN_UI_PAYMENT_RECEIPT:

View file

@ -792,9 +792,9 @@ message TradeInfo {
string phase = 16; string phase = 16;
string trade_period_state = 17; string trade_period_state = 17;
bool is_deposit_published = 18; bool is_deposit_published = 18;
bool is_deposit_confirmed = 19; bool is_deposit_unlocked = 19;
bool is_fiat_sent = 20; bool is_payment_sent = 20;
bool is_fiat_received = 21; bool is_payment_received = 21;
bool is_payout_published = 22; bool is_payout_published = 22;
bool is_withdrawn = 23; bool is_withdrawn = 23;
string contract_as_json = 24; string contract_as_json = 24;
@ -856,7 +856,7 @@ message TxInfo {
service Wallets { service Wallets {
rpc GetBalances (GetBalancesRequest) returns (GetBalancesReply) { rpc GetBalances (GetBalancesRequest) returns (GetBalancesReply) {
} }
rpc GetNewDepositSubaddress (GetNewDepositSubaddressRequest) returns (GetNewDepositSubaddressReply) { rpc GetNewDepositAddress (GetNewDepositAddressRequest) returns (GetNewDepositAddressReply) {
} }
rpc GetXmrTxs (GetXmrTxsRequest) returns (GetXmrTxsReply) { rpc GetXmrTxs (GetXmrTxsRequest) returns (GetXmrTxsReply) {
} }
@ -896,10 +896,10 @@ message GetBalancesReply {
BalancesInfo balances = 1; BalancesInfo balances = 1;
} }
message GetNewDepositSubaddressRequest { message GetNewDepositAddressRequest {
} }
message GetNewDepositSubaddressReply { message GetNewDepositAddressReply {
string subaddress = 1; string subaddress = 1;
} }

View file

@ -1523,7 +1523,7 @@ message Trade {
TAKER_SEND_FAILED_DEPOSIT_TX_PUBLISHED_MSG = 15; TAKER_SEND_FAILED_DEPOSIT_TX_PUBLISHED_MSG = 15;
MAKER_RECEIVED_DEPOSIT_TX_PUBLISHED_MSG = 16; MAKER_RECEIVED_DEPOSIT_TX_PUBLISHED_MSG = 16;
MAKER_SAW_DEPOSIT_TX_IN_NETWORK = 17; MAKER_SAW_DEPOSIT_TX_IN_NETWORK = 17;
DEPOSIT_CONFIRMED_IN_BLOCK_CHAIN = 18; DEPOSIT_UNLOCKED_IN_BLOCK_CHAIN = 18;
BUYER_CONFIRMED_IN_UI_PAYMENT_INITIATED = 19; BUYER_CONFIRMED_IN_UI_PAYMENT_INITIATED = 19;
BUYER_SENT_PAYMENT_INITIATED_MSG = 20; BUYER_SENT_PAYMENT_INITIATED_MSG = 20;
BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG = 21; BUYER_SAW_ARRIVED_PAYMENT_INITIATED_MSG = 21;