forked from Qortal/qortal
79641efa87
Added separate method to determine status of P2SH transactions, returning UNFUNDED, FUNDING_IN_PROGRESS, REDEEMED, etc. Added code to trade-bot to increase robustness. Lots more changes including unified state change/logging, checking for existing MESSAGEs, etc. Added missing websocket methods to silence log noise. Trade-bot now called per block during synchronization, instead of per batch, to pick up edge cases where some potential trade-bot transitions were missed, resulting in failed trades. Corresponding changes in Controller, such as notifying event bus of new block in same thread (thus blocking) instead of using executor. Added slightly more robust common block determination to Synchronizer. Refactored code in BTC class to use new BitcoinException rather than simply returning null, with added sub-classes allowing differentiation between network issues or fund issues. Changed BTC.buildSpend to try harder to find UXTOs to address false "insufficient funds" issues. Repository change to add index on MessageTransactions for quicker look-up of trade-related messages. Reduced reliance on bitcoinj library in BTCP2SH. Reworked ElectrumX to better detect errors rather than continuously try more servers to no avail. Also added genesis block check in case of servers on different Bitcoin networks. Now tries to extract upstream bitcoind error codes and pass those up to caller via exceptions. Updated list of testnet servers. MemoryPoW now detects thread interrupt and exits fast. Moved some non-generic transaction-related repository methods to their own subclass. For example: moved TransactionRepository.getMessagesByRecipient to MessageRepository.getMessagesByParticipants Updated and added more tests. |
||
---|---|---|
.. | ||
org |