Browse Source

Allow users to delete trade-bot entries in any state if corresponding AT does not exist

trade-bot-timeout-fix
catbref 4 years ago
parent
commit
018c3cdcd4
  1. 2
      src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java
  2. 6
      src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java
  3. 6
      src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java

2
src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java

@ -23,7 +23,7 @@ public interface AcctTradeBot {
public ResponseResult startResponse(Repository repository, ATData atData, ACCT acct,
CrossChainTradeData crossChainTradeData, String foreignKey, String receivingAddress) throws DataException;
public boolean canDelete(Repository repository, TradeBotData tradeBotData);
public boolean canDelete(Repository repository, TradeBotData tradeBotData) throws DataException;
public void progress(Repository repository, TradeBotData tradeBotData) throws DataException, ForeignBlockchainException;

6
src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java

@ -345,11 +345,15 @@ public class BitcoinACCTv1TradeBot implements AcctTradeBot {
}
@Override
public boolean canDelete(Repository repository, TradeBotData tradeBotData) {
public boolean canDelete(Repository repository, TradeBotData tradeBotData) throws DataException {
State tradeBotState = State.valueOf(tradeBotData.getStateValue());
if (tradeBotState == null)
return true;
// If the AT doesn't exist then we might as well let the user tidy up
if (!repository.getATRepository().exists(tradeBotData.getAtAddress()))
return true;
switch (tradeBotState) {
case BOB_WAITING_FOR_AT_CONFIRM:
case ALICE_DONE:

6
src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java

@ -343,11 +343,15 @@ public class LitecoinACCTv1TradeBot implements AcctTradeBot {
}
@Override
public boolean canDelete(Repository repository, TradeBotData tradeBotData) {
public boolean canDelete(Repository repository, TradeBotData tradeBotData) throws DataException {
State tradeBotState = State.valueOf(tradeBotData.getStateValue());
if (tradeBotState == null)
return true;
// If the AT doesn't exist then we might as well let the user tidy up
if (!repository.getATRepository().exists(tradeBotData.getAtAddress()))
return true;
switch (tradeBotState) {
case BOB_WAITING_FOR_AT_CONFIRM:
case ALICE_DONE:

Loading…
Cancel
Save