From 94f48f8f542f03621cdfbd09f58ff8a31dda12a2 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sat, 6 Aug 2022 11:48:51 +0100 Subject: [PATCH] Don't allow QORT to be listed on the ARRR market unless the Pirate light wallet library is loaded. --- .../controller/tradebot/PirateChainACCTv3TradeBot.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java b/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java index 365ed61f..8f413093 100644 --- a/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java +++ b/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java @@ -1,6 +1,7 @@ package org.qortal.controller.tradebot; import com.google.common.hash.HashCode; +import com.rust.litewalletjni.LiteWalletJni; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.bitcoinj.core.*; @@ -151,6 +152,12 @@ public class PirateChainACCTv3TradeBot implements AcctTradeBot { byte[] tradeForeignPublicKey = TradeBot.deriveTradeForeignPublicKey(tradePrivateKey); byte[] tradeForeignPublicKeyHash = Crypto.hash160(tradeForeignPublicKey); + // ARRR wallet must be loaded before a trade can be created + // This is to stop trades from nodes on unsupported architectures (e.g. 32bit) + if (!LiteWalletJni.isLoaded()) { + throw new DataException("Pirate wallet not found. Check wallets screen for details."); + } + if (!PirateChain.getInstance().isValidAddress(tradeBotCreateRequest.receivingAddress)) { throw new DataException("Unsupported Pirate Chain receiving address: " + tradeBotCreateRequest.receivingAddress); }