forked from Qortal/qortal
Prevent any kind of trading unless the blockchain is fully synced
This commit is contained in:
parent
3b914d4a7f
commit
9502444bbc
@ -30,6 +30,7 @@ import org.qortal.api.Security;
|
|||||||
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
|
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
|
||||||
import org.qortal.api.model.crosschain.TradeBotRespondRequest;
|
import org.qortal.api.model.crosschain.TradeBotRespondRequest;
|
||||||
import org.qortal.asset.Asset;
|
import org.qortal.asset.Asset;
|
||||||
|
import org.qortal.controller.Controller;
|
||||||
import org.qortal.controller.tradebot.AcctTradeBot;
|
import org.qortal.controller.tradebot.AcctTradeBot;
|
||||||
import org.qortal.controller.tradebot.TradeBot;
|
import org.qortal.controller.tradebot.TradeBot;
|
||||||
import org.qortal.crosschain.ForeignBlockchain;
|
import org.qortal.crosschain.ForeignBlockchain;
|
||||||
@ -136,6 +137,9 @@ public class CrossChainTradeBotResource {
|
|||||||
if (tradeBotCreateRequest.qortAmount <= 0 || tradeBotCreateRequest.fundingQortAmount <= 0)
|
if (tradeBotCreateRequest.qortAmount <= 0 || tradeBotCreateRequest.fundingQortAmount <= 0)
|
||||||
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.ORDER_SIZE_TOO_SMALL);
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.ORDER_SIZE_TOO_SMALL);
|
||||||
|
|
||||||
|
if (!Controller.getInstance().isUpToDate())
|
||||||
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.BLOCKCHAIN_NEEDS_SYNC);
|
||||||
|
|
||||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
// Do some simple checking first
|
// Do some simple checking first
|
||||||
Account creator = new PublicKeyAccount(repository, tradeBotCreateRequest.creatorPublicKey);
|
Account creator = new PublicKeyAccount(repository, tradeBotCreateRequest.creatorPublicKey);
|
||||||
@ -193,6 +197,9 @@ public class CrossChainTradeBotResource {
|
|||||||
if (tradeBotRespondRequest.receivingAddress == null || !Crypto.isValidAddress(tradeBotRespondRequest.receivingAddress))
|
if (tradeBotRespondRequest.receivingAddress == null || !Crypto.isValidAddress(tradeBotRespondRequest.receivingAddress))
|
||||||
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_ADDRESS);
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.INVALID_ADDRESS);
|
||||||
|
|
||||||
|
if (!Controller.getInstance().isUpToDate())
|
||||||
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.BLOCKCHAIN_NEEDS_SYNC);
|
||||||
|
|
||||||
// Extract data from cross-chain trading AT
|
// Extract data from cross-chain trading AT
|
||||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
ATData atData = fetchAtDataWithChecking(repository, atAddress);
|
ATData atData = fetchAtDataWithChecking(repository, atAddress);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user