From 3190fed3b9a151c1b6b07636bb787c987f75e700 Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Sat, 4 Nov 2023 17:11:07 +0100
Subject: [PATCH] Optimize imports
---
pom.xml | 2 +-
src/main/java/org/hsqldb/jdbc/HSQLDBPool.java | 4 +-
src/main/java/org/qortal/ApplyUpdate.java | 18 +++---
.../org/qortal/RepositoryMaintenance.java | 6 +-
src/main/java/org/qortal/XorUpdate.java | 4 +-
src/main/java/org/qortal/account/Account.java | 10 ++--
.../org/qortal/account/AccountRefCache.java | 10 ++--
.../org/qortal/api/AmountTypeAdapter.java | 5 +-
src/main/java/org/qortal/api/ApiError.java | 9 ++-
.../java/org/qortal/api/ApiErrorHandler.java | 13 ++---
.../org/qortal/api/ApiExceptionFactory.java | 4 +-
src/main/java/org/qortal/api/ApiRequest.java | 38 +++++--------
src/main/java/org/qortal/api/ApiService.java | 37 +++++-------
.../org/qortal/api/Base58TypeAdapter.java | 4 +-
.../org/qortal/api/BigDecimalTypeAdapter.java | 3 +-
src/main/java/org/qortal/api/Constants.java | 4 +-
.../api/RewardSharePercentTypeAdapter.java | 3 +-
src/main/java/org/qortal/api/Security.java | 3 +-
.../api/TransactionCountMapXmlAdapter.java | 13 ++---
.../api/gateway/resource/GatewayResource.java | 4 +-
.../qortal/api/model/AccountPenaltyStats.java | 2 -
.../org/qortal/api/model/ActivitySummary.java | 11 ++--
.../org/qortal/api/model/AggregatedOrder.java | 4 +-
.../qortal/api/model/AtCreationRequest.java | 5 +-
.../qortal/api/model/BlockSignerSummary.java | 4 +-
.../model/CrossChainBitcoinRedeemRequest.java | 5 +-
.../model/CrossChainBitcoinRefundRequest.java | 5 +-
.../CrossChainBitcoinTemplateRequest.java | 4 +-
.../model/CrossChainBitcoinyHTLCStatus.java | 5 +-
.../api/model/CrossChainBuildRequest.java | 4 +-
.../api/model/CrossChainCancelRequest.java | 4 +-
.../api/model/CrossChainOfferSummary.java | 9 ++-
.../api/model/CrossChainSecretRequest.java | 4 +-
.../api/model/CrossChainTradeRequest.java | 4 +-
.../api/model/CrossChainTradeSummary.java | 7 +--
.../org/qortal/api/model/GroupMembers.java | 5 +-
.../org/qortal/api/model/NameSummary.java | 4 +-
.../java/org/qortal/api/model/NodeStatus.java | 6 +-
.../java/org/qortal/api/model/PollVotes.java | 9 ++-
.../api/model/RewardShareKeyRequest.java | 4 +-
.../api/model/SimpleForeignTransaction.java | 5 +-
.../model/SimpleTransactionSignRequest.java | 4 +-
.../qortal/api/model/TradeWithOrderInfo.java | 9 ++-
.../model/crosschain/BitcoinSendRequest.java | 4 +-
.../model/crosschain/DigibyteSendRequest.java | 4 +-
.../model/crosschain/LitecoinSendRequest.java | 4 +-
.../crosschain/RavencoinSendRequest.java | 4 +-
.../crosschain/TradeBotCreateRequest.java | 7 +--
.../crosschain/TradeBotRespondRequest.java | 4 +-
.../api/resource/AddressesResource.java | 29 ++++------
.../api/resource/AnnotationPostProcessor.java | 10 ++--
.../qortal/api/resource/ApiDefinition.java | 1 -
.../api/resource/ApiExceptionMapper.java | 10 ++--
.../org/qortal/api/resource/AppsResource.java | 8 ++-
.../api/resource/ArbitraryResource.java | 42 +++++++-------
.../qortal/api/resource/AssetsResource.java | 40 ++++---------
.../org/qortal/api/resource/AtResource.java | 21 +++----
.../qortal/api/resource/BlocksResource.java | 38 ++++++-------
.../org/qortal/api/resource/ChatResource.java | 15 ++---
.../CrossChainBitcoinACCTv1Resource.java | 22 ++++---
.../resource/CrossChainBitcoinResource.java | 20 +++----
.../resource/CrossChainDigibyteResource.java | 20 +++----
.../resource/CrossChainDogecoinResource.java | 4 +-
.../api/resource/CrossChainHtlcResource.java | 20 +++----
.../CrossChainLitecoinACCTv1Resource.java | 5 --
.../resource/CrossChainLitecoinResource.java | 20 +++----
.../CrossChainPirateChainResource.java | 2 +-
.../resource/CrossChainRavencoinResource.java | 22 ++++---
.../api/resource/CrossChainResource.java | 18 +++---
.../resource/CrossChainTradeBotResource.java | 22 ++++---
.../qortal/api/resource/GroupsResource.java | 57 ++++---------------
.../qortal/api/resource/ListsResource.java | 11 ++--
.../qortal/api/resource/NamesResource.java | 32 +++--------
.../qortal/api/resource/PaymentsResource.java | 13 ++---
.../qortal/api/resource/PeersResource.java | 24 ++++----
.../qortal/api/resource/PollsResource.java | 23 +++-----
.../qortal/api/resource/StatsResource.java | 6 +-
.../api/resource/TransactionsResource.java | 33 +++++------
.../qortal/api/resource/UtilsResource.java | 27 +++------
.../restricted/resource/AdminResource.java | 33 +++++------
.../resource/BootstrapResource.java | 6 +-
.../restricted/resource/RenderResource.java | 37 ++++--------
.../api/websocket/ActiveChatsWebSocket.java | 20 +++----
.../api/websocket/AdminStatusWebSocket.java | 14 ++---
.../qortal/api/websocket/ApiWebSocket.java | 21 +++----
.../qortal/api/websocket/BlocksWebSocket.java | 14 ++---
.../api/websocket/ChatMessagesWebSocket.java | 14 ++---
.../api/websocket/PresenceWebSocket.java | 25 +++-----
.../api/websocket/TradeBotWebSocket.java | 16 ++----
.../api/websocket/TradeOffersWebSocket.java | 28 +++------
.../ArbitraryDataBuildQueueItem.java | 2 +-
.../arbitrary/ArbitraryDataBuilder.java | 2 +-
.../qortal/arbitrary/ArbitraryDataCache.java | 2 +-
.../qortal/arbitrary/ArbitraryDataDiff.java | 8 ++-
.../qortal/arbitrary/ArbitraryDataMerge.java | 8 ++-
.../qortal/arbitrary/ArbitraryDataReader.java | 6 +-
.../arbitrary/ArbitraryDataRenderer.java | 2 +-
.../ArbitraryDataTransactionBuilder.java | 9 ++-
.../qortal/arbitrary/ArbitraryDataWriter.java | 15 +++--
.../metadata/ArbitraryDataMetadataPatch.java | 2 +-
.../metadata/ArbitraryDataQortalMetadata.java | 1 -
.../org/qortal/arbitrary/misc/Service.java | 3 +-
src/main/java/org/qortal/asset/Order.java | 12 ++--
src/main/java/org/qortal/at/AT.java | 8 +--
src/main/java/org/qortal/at/QortalATAPI.java | 25 +++-----
.../org/qortal/at/QortalFunctionCode.java | 8 +--
src/main/java/org/qortal/block/Block.java | 40 ++++++-------
.../java/org/qortal/block/Block212937.java | 19 +++----
.../java/org/qortal/block/BlockChain.java | 31 +++++-----
.../java/org/qortal/block/GenesisBlock.java | 24 ++++----
.../block/SelfSponsorshipAlgoV1Block.java | 5 +-
.../org/qortal/controller/AutoUpdate.java | 35 ++++++------
.../org/qortal/controller/BlockMinter.java | 22 +++----
.../org/qortal/controller/ChatNotifier.java | 6 +-
.../org/qortal/controller/Controller.java | 51 ++++++++---------
.../controller/OnlineAccountsManager.java | 4 +-
.../org/qortal/controller/Synchronizer.java | 18 +++---
.../arbitrary/ArbitraryDataBuilderThread.java | 2 +-
.../arbitrary/ArbitraryDataCacheManager.java | 4 +-
.../ArbitraryDataCleanupManager.java | 5 +-
.../ArbitraryDataFileRequestThread.java | 5 +-
.../arbitrary/ArbitraryDataManager.java | 13 ++---
.../arbitrary/ArbitraryDataRenderManager.java | 5 +-
.../arbitrary/ArbitraryMetadataManager.java | 4 +-
.../controller/repository/BlockArchiver.java | 5 +-
.../controller/repository/PruneManager.java | 1 -
.../controller/tradebot/AcctTradeBot.java | 4 +-
.../tradebot/BitcoinACCTv1TradeBot.java | 31 ++++------
.../tradebot/LitecoinACCTv1TradeBot.java | 31 ++++------
.../tradebot/PirateChainACCTv3TradeBot.java | 3 +-
.../qortal/controller/tradebot/TradeBot.java | 12 ++--
.../java/org/qortal/crosschain/AcctMode.java | 4 +-
.../java/org/qortal/crosschain/Bitcoin.java | 10 ++--
.../org/qortal/crosschain/BitcoinACCTv1.java | 22 +++----
.../java/org/qortal/crosschain/Bitcoiny.java | 24 ++------
.../BitcoinyBlockchainProvider.java | 2 +-
.../org/qortal/crosschain/BitcoinyHTLC.java | 24 ++------
.../crosschain/BitcoinyTransaction.java | 7 +--
.../java/org/qortal/crosschain/Digibyte.java | 10 ++--
.../java/org/qortal/crosschain/ElectrumX.java | 28 +++++----
.../java/org/qortal/crosschain/Litecoin.java | 10 ++--
.../org/qortal/crosschain/LitecoinACCTv1.java | 22 +++----
.../org/qortal/crosschain/PirateChain.java | 6 --
.../qortal/crosschain/PirateChainHTLC.java | 1 +
.../qortal/crosschain/PirateLightClient.java | 2 +-
.../java/org/qortal/crosschain/Ravencoin.java | 10 ++--
.../crosschain/SupportedBlockchain.java | 6 +-
src/main/java/org/qortal/crypto/AES.java | 15 +----
.../qortal/crypto/BouncyCastleEd25519.java | 4 +-
.../java/org/qortal/crypto/Credentials.java | 6 +-
src/main/java/org/qortal/crypto/Crypto.java | 17 +++---
.../crypto/TrustlessSSLSocketFactory.java | 3 +-
.../data/account/AccountBalanceData.java | 4 +-
.../org/qortal/data/account/AccountData.java | 4 +-
.../data/account/MintingAccountData.java | 13 ++---
.../qortal/data/account/RewardShareData.java | 8 +--
.../data/arbitrary/ArbitraryRelayInfo.java | 1 +
.../java/org/qortal/data/asset/AssetData.java | 4 +-
.../java/org/qortal/data/asset/OrderData.java | 9 ++-
.../qortal/data/asset/RecentTradeData.java | 5 +-
.../java/org/qortal/data/asset/TradeData.java | 6 +-
.../qortal/data/block/BlockArchiveData.java | 2 -
.../java/org/qortal/data/block/BlockData.java | 12 ++--
.../org/qortal/data/chat/ActiveChats.java | 3 +-
.../data/crosschain/CrossChainTradeData.java | 7 +--
.../qortal/data/crosschain/TradeBotData.java | 9 ++-
.../org/qortal/data/group/GroupAdminData.java | 4 +-
.../org/qortal/data/group/GroupBanData.java | 4 +-
.../java/org/qortal/data/group/GroupData.java | 7 +--
.../qortal/data/group/GroupInviteData.java | 4 +-
.../data/group/GroupJoinRequestData.java | 4 +-
.../qortal/data/group/GroupMemberData.java | 4 +-
.../java/org/qortal/data/naming/NameData.java | 4 +-
.../data/network/OnlineAccountData.java | 7 +--
.../org/qortal/data/network/PeerData.java | 7 +--
.../data/transaction/ATTransactionData.java | 9 ++-
.../AccountFlagsTransactionData.java | 11 ++--
.../AccountLevelTransactionData.java | 11 ++--
.../AddGroupAdminTransactionData.java | 9 ++-
.../transaction/ArbitraryTransactionData.java | 14 ++---
.../transaction/BuyNameTransactionData.java | 7 +--
.../CancelAssetOrderTransactionData.java | 9 ++-
.../CancelGroupBanTransactionData.java | 7 +--
.../CancelGroupInviteTransactionData.java | 7 +--
.../CancelSellNameTransactionData.java | 7 +--
.../data/transaction/ChatTransactionData.java | 9 ++-
.../CreateAssetOrderTransactionData.java | 9 ++-
.../CreateGroupTransactionData.java | 15 +++--
.../CreatePollTransactionData.java | 12 ++--
.../transaction/DeployAtTransactionData.java | 7 +--
.../transaction/GenesisTransactionData.java | 9 ++-
.../GroupApprovalTransactionData.java | 7 +--
.../transaction/GroupBanTransactionData.java | 7 +--
.../GroupInviteTransactionData.java | 9 ++-
.../transaction/GroupKickTransactionData.java | 7 +--
.../IssueAssetTransactionData.java | 15 +++--
.../transaction/JoinGroupTransactionData.java | 9 ++-
.../LeaveGroupTransactionData.java | 7 +--
.../transaction/MessageTransactionData.java | 9 ++-
.../MultiPaymentTransactionData.java | 12 ++--
.../transaction/PaymentTransactionData.java | 7 +--
.../transaction/PresenceTransactionData.java | 11 ++--
.../transaction/PublicizeTransactionData.java | 9 ++-
.../RegisterNameTransactionData.java | 11 ++--
.../RemoveGroupAdminTransactionData.java | 7 +--
.../RewardShareTransactionData.java | 9 ++-
.../transaction/SellNameTransactionData.java | 7 +--
.../transaction/SetGroupTransactionData.java | 7 +--
.../data/transaction/TransactionData.java | 18 ++----
.../TransferAssetTransactionData.java | 9 ++-
.../TransferPrivsTransactionData.java | 7 +--
.../UpdateAssetTransactionData.java | 7 +--
.../UpdateGroupTransactionData.java | 11 ++--
.../UpdateNameTransactionData.java | 9 ++-
.../VoteOnPollTransactionData.java | 9 ++-
src/main/java/org/qortal/event/EventBus.java | 6 +-
.../qortal/globalization/BIP39WordList.java | 6 +-
.../org/qortal/globalization/Translator.java | 10 +---
src/main/java/org/qortal/group/Group.java | 32 +++--------
src/main/java/org/qortal/gui/Gui.java | 15 ++---
src/main/java/org/qortal/gui/SplashFrame.java | 15 +++--
src/main/java/org/qortal/gui/SysTray.java | 32 ++++-------
src/main/java/org/qortal/naming/Name.java | 7 +--
.../java/org/qortal/network/Handshake.java | 17 ++----
src/main/java/org/qortal/network/Peer.java | 1 -
.../java/org/qortal/network/PeerAddress.java | 16 ++----
.../network/message/ArbitraryDataMessage.java | 7 +--
.../qortal/network/message/BlockMessage.java | 7 +--
.../message/BlockSummariesMessage.java | 11 ++--
.../network/message/CachedBlockMessage.java | 9 ++-
.../network/message/ChallengeMessage.java | 4 +-
.../message/GetArbitraryDataMessage.java | 4 +-
.../network/message/GetBlockMessage.java | 4 +-
.../message/GetBlockSummariesMessage.java | 7 +--
.../message/GetOnlineAccountsV3Message.java | 4 +-
.../message/GetSignaturesV2Message.java | 7 +--
.../message/GetTransactionMessage.java | 4 +-
.../network/message/GoodbyeMessage.java | 6 +-
.../network/message/HeightV2Message.java | 11 ++--
.../qortal/network/message/HelloMessage.java | 9 ++-
.../org/qortal/network/message/Message.java | 3 +-
.../network/message/PeersV2Message.java | 9 ++-
.../network/message/ResponseMessage.java | 4 +-
.../network/message/SignaturesMessage.java | 7 +--
.../network/message/TransactionMessage.java | 4 +-
.../message/TransactionSignaturesMessage.java | 7 +--
.../qortal/network/task/BroadcastTask.java | 3 -
.../qortal/network/task/ChannelReadTask.java | 1 -
.../qortal/network/task/PeerConnectTask.java | 4 --
src/main/java/org/qortal/payment/Payment.java | 10 +---
.../org/qortal/repository/ATRepository.java | 8 +--
.../qortal/repository/AccountRepository.java | 4 +-
.../repository/ArbitraryRepository.java | 2 +-
.../qortal/repository/AssetRepository.java | 4 +-
.../qortal/repository/BlockArchiveReader.java | 4 +-
.../qortal/repository/BlockRepository.java | 4 +-
.../org/qortal/repository/ChatRepository.java | 4 +-
.../repository/CrossChainRepository.java | 4 +-
.../qortal/repository/GroupRepository.java | 9 +--
.../qortal/repository/MessageRepository.java | 4 +-
.../org/qortal/repository/NameRepository.java | 4 +-
.../qortal/repository/NetworkRepository.java | 4 +-
.../repository/TransactionRepository.java | 8 +--
.../qortal/repository/VotingRepository.java | 4 +-
.../repository/hsqldb/HSQLDBATRepository.java | 13 ++---
.../hsqldb/HSQLDBAccountRepository.java | 10 ++--
.../hsqldb/HSQLDBArbitraryRepository.java | 6 +-
.../hsqldb/HSQLDBAssetRepository.java | 12 ++--
.../hsqldb/HSQLDBBlockRepository.java | 19 +++----
.../hsqldb/HSQLDBChatRepository.java | 10 ++--
.../hsqldb/HSQLDBCrossChainRepository.java | 8 +--
.../hsqldb/HSQLDBDatabaseUpdates.java | 12 ++--
.../hsqldb/HSQLDBGroupRepository.java | 15 ++---
.../hsqldb/HSQLDBMessageRepository.java | 10 ++--
.../hsqldb/HSQLDBNameRepository.java | 8 +--
.../hsqldb/HSQLDBNetworkRepository.java | 10 ++--
.../repository/hsqldb/HSQLDBRepository.java | 36 +++++-------
.../hsqldb/HSQLDBRepositoryFactory.java | 12 ++--
.../hsqldb/HSQLDBVotingRepository.java | 10 ++--
...QLDBAccountFlagsTransactionRepository.java | 6 +-
...QLDBAccountLevelTransactionRepository.java | 6 +-
...LDBAddGroupAdminTransactionRepository.java | 6 +-
.../HSQLDBArbitraryTransactionRepository.java | 19 +++----
.../HSQLDBAtTransactionRepository.java | 6 +-
.../HSQLDBBuyNameTransactionRepository.java | 6 +-
...CancelAssetOrderTransactionRepository.java | 6 +-
...DBCancelGroupBanTransactionRepository.java | 6 +-
...ancelGroupInviteTransactionRepository.java | 6 +-
...DBCancelSellNameTransactionRepository.java | 6 +-
.../HSQLDBChatTransactionRepository.java | 6 +-
...CreateAssetOrderTransactionRepository.java | 6 +-
...SQLDBCreateGroupTransactionRepository.java | 6 +-
...HSQLDBCreatePollTransactionRepository.java | 10 ++--
.../HSQLDBDeployAtTransactionRepository.java | 6 +-
.../HSQLDBGenesisTransactionRepository.java | 6 +-
...LDBGroupApprovalTransactionRepository.java | 6 +-
.../HSQLDBGroupBanTransactionRepository.java | 6 +-
...SQLDBGroupInviteTransactionRepository.java | 6 +-
.../HSQLDBGroupKickTransactionRepository.java | 6 +-
...HSQLDBIssueAssetTransactionRepository.java | 6 +-
.../HSQLDBJoinGroupTransactionRepository.java | 6 +-
...HSQLDBLeaveGroupTransactionRepository.java | 6 +-
.../HSQLDBMessageTransactionRepository.java | 6 +-
...QLDBMultiPaymentTransactionRepository.java | 8 +--
.../HSQLDBPaymentTransactionRepository.java | 6 +-
.../HSQLDBPresenceTransactionRepository.java | 6 +-
.../HSQLDBPublicizeTransactionRepository.java | 6 +-
...QLDBRegisterNameTransactionRepository.java | 6 +-
...RemoveGroupAdminTransactionRepository.java | 6 +-
...SQLDBRewardShareTransactionRepository.java | 6 +-
.../HSQLDBSellNameTransactionRepository.java | 6 +-
.../HSQLDBSetGroupTransactionRepository.java | 6 +-
.../HSQLDBTransactionRepository.java | 18 +++---
...LDBTransferAssetTransactionRepository.java | 6 +-
...LDBTransferPrivsTransactionRepository.java | 6 +-
...SQLDBUpdateAssetTransactionRepository.java | 6 +-
...SQLDBUpdateGroupTransactionRepository.java | 6 +-
...HSQLDBUpdateNameTransactionRepository.java | 6 +-
...HSQLDBVoteOnPollTransactionRepository.java | 6 +-
.../java/org/qortal/settings/Settings.java | 41 ++++++-------
.../transaction/AccountFlagsTransaction.java | 6 +-
.../transaction/AccountLevelTransaction.java | 6 +-
.../transaction/AddGroupAdminTransaction.java | 8 +--
.../transaction/ArbitraryTransaction.java | 13 ++---
.../org/qortal/transaction/AtTransaction.java | 7 +--
.../transaction/BuyNameTransaction.java | 7 +--
.../CancelAssetOrderTransaction.java | 8 +--
.../CancelGroupBanTransaction.java | 6 +-
.../CancelGroupInviteTransaction.java | 6 +-
.../CancelSellNameTransaction.java | 7 +--
.../qortal/transaction/ChatTransaction.java | 12 ++--
.../CreateAssetOrderTransaction.java | 8 +--
.../transaction/CreateGroupTransaction.java | 7 +--
.../transaction/CreatePollTransaction.java | 9 ++-
.../transaction/DeployAtTransaction.java | 9 ++-
.../transaction/GenesisTransaction.java | 9 ++-
.../transaction/GroupApprovalTransaction.java | 6 +-
.../transaction/GroupBanTransaction.java | 6 +-
.../transaction/GroupInviteTransaction.java | 6 +-
.../transaction/GroupKickTransaction.java | 6 +-
.../transaction/IssueAssetTransaction.java | 7 +--
.../transaction/JoinGroupTransaction.java | 6 +-
.../transaction/LeaveGroupTransaction.java | 6 +-
.../transaction/MessageTransaction.java | 8 +--
.../transaction/MultiPaymentTransaction.java | 6 +-
.../transaction/PaymentTransaction.java | 6 +-
.../transaction/PresenceTransaction.java | 19 +++----
.../transaction/PublicizeTransaction.java | 6 +-
.../transaction/RegisterNameTransaction.java | 7 +--
.../RemoveGroupAdminTransaction.java | 8 +--
.../transaction/RewardShareTransaction.java | 8 +--
.../transaction/SellNameTransaction.java | 7 +--
.../transaction/SetGroupTransaction.java | 6 +-
.../org/qortal/transaction/Transaction.java | 15 +++--
.../transaction/TransferAssetTransaction.java | 6 +-
.../transaction/TransferPrivsTransaction.java | 8 +--
.../transaction/UpdateAssetTransaction.java | 7 +--
.../transaction/UpdateGroupTransaction.java | 7 +--
.../transaction/UpdateNameTransaction.java | 9 ++-
.../transaction/VoteOnPollTransaction.java | 7 +--
.../qortal/transform/PaymentTransformer.java | 9 ++-
.../transform/block/BlockTransformer.java | 22 ++++---
.../AccountFlagsTransactionTransformer.java | 11 ++--
.../AccountLevelTransactionTransformer.java | 9 ++-
.../AddGroupAdminTransactionTransformer.java | 11 ++--
.../ArbitraryTransactionTransformer.java | 17 +++---
.../transaction/AtTransactionTransformer.java | 11 ++--
.../BuyNameTransactionTransformer.java | 11 ++--
...ancelAssetOrderTransactionTransformer.java | 9 ++-
.../CancelGroupBanTransactionTransformer.java | 11 ++--
...ncelGroupInviteTransactionTransformer.java | 11 ++--
.../CancelSellNameTransactionTransformer.java | 11 ++--
.../ChatTransactionTransformer.java | 11 ++--
...reateAssetOrderTransactionTransformer.java | 9 ++-
.../CreateGroupTransactionTransformer.java | 13 ++---
.../CreatePollTransactionTransformer.java | 17 +++---
.../DeployAtTransactionTransformer.java | 13 ++---
.../GenesisTransactionTransformer.java | 11 ++--
.../GroupApprovalTransactionTransformer.java | 9 ++-
.../GroupBanTransactionTransformer.java | 13 ++---
.../GroupInviteTransactionTransformer.java | 11 ++--
.../GroupKickTransactionTransformer.java | 13 ++---
.../IssueAssetTransactionTransformer.java | 11 ++--
.../JoinGroupTransactionTransformer.java | 11 ++--
.../LeaveGroupTransactionTransformer.java | 11 ++--
.../MessageTransactionTransformer.java | 11 ++--
.../MultiPaymentTransactionTransformer.java | 15 +++--
.../PaymentTransactionTransformer.java | 9 ++-
.../PresenceTransactionTransformer.java | 11 ++--
.../PublicizeTransactionTransformer.java | 11 ++--
.../RegisterNameTransactionTransformer.java | 11 ++--
...emoveGroupAdminTransactionTransformer.java | 11 ++--
.../RewardShareTransactionTransformer.java | 9 ++-
.../SellNameTransactionTransformer.java | 11 ++--
.../SetGroupTransactionTransformer.java | 11 ++--
.../transaction/TransactionTransformer.java | 32 +++++------
.../TransferAssetTransactionTransformer.java | 9 ++-
.../TransferPrivsTransactionTransformer.java | 9 ++-
.../UpdateAssetTransactionTransformer.java | 11 ++--
.../UpdateGroupTransactionTransformer.java | 13 ++---
.../UpdateNameTransactionTransformer.java | 11 ++--
.../VoteOnPollTransactionTransformer.java | 13 ++---
.../utils/ArbitraryTransactionUtils.java | 6 +-
.../org/qortal/utils/BlockArchiveUtils.java | 2 -
.../qortal/utils/ExecuteProduceConsume.java | 11 ++--
.../java/org/qortal/utils/LoggingUtils.java | 1 -
src/main/java/org/qortal/utils/NTP.java | 22 +++----
.../java/org/qortal/utils/Serialization.java | 9 ++-
src/main/java/org/qortal/utils/SevenZ.java | 5 +-
.../qortal/utils/StringLongMapXmlAdapter.java | 11 ++--
src/main/java/org/qortal/utils/URLViewer.java | 10 ++--
src/main/java/org/qortal/utils/Unicode.java | 22 ++-----
.../org/qortal/test/AccountBalanceTests.java | 21 +++----
.../org/qortal/test/AccountRefCacheTests.java | 10 ++--
.../java/org/qortal/test/AmountsTests.java | 4 +-
src/test/java/org/qortal/test/BlockTests.java | 14 ++---
.../java/org/qortal/test/ByteArrayTests.java | 14 ++---
.../org/qortal/test/ChainWeightTests.java | 24 ++++----
.../java/org/qortal/test/CryptoTests.java | 27 ++++-----
src/test/java/org/qortal/test/EPCTests.java | 8 +--
src/test/java/org/qortal/test/GuiTests.java | 4 +-
.../java/org/qortal/test/MemoryPoWTests.java | 4 +-
.../java/org/qortal/test/MessageTests.java | 4 +-
.../java/org/qortal/test/RepositoryTests.java | 7 +--
.../java/org/qortal/test/SchnorrTests.java | 3 +-
.../test/SelfSponsorshipAlgoV1Tests.java | 12 +++-
.../qortal/test/TransactionSearchTests.java | 8 +--
.../org/qortal/test/TransferPrivsTests.java | 10 +---
.../java/org/qortal/test/UnicodeTests.java | 7 ++-
.../qortal/test/api/AddressesApiTests.java | 8 +--
.../org/qortal/test/api/AdminApiTests.java | 4 +-
.../qortal/test/api/ArbitraryApiTests.java | 4 +-
.../org/qortal/test/api/AssetsApiTests.java | 17 +++---
.../org/qortal/test/api/BlockApiTests.java | 12 ++--
.../org/qortal/test/api/GroupApiTests.java | 4 +-
.../org/qortal/test/api/NamesApiTests.java | 5 +-
.../qortal/test/api/TransactionsApiTests.java | 10 ++--
.../qortal/test/apps/BuildCheckpoints.java | 21 ++-----
.../qortal/test/apps/CheckTranslations.java | 8 +--
.../test/apps/DecodeOnlineAccounts.java | 7 +--
.../org/qortal/test/apps/MemoryPoWTest.java | 4 +-
.../java/org/qortal/test/apps/NTPTests.java | 10 ++--
.../java/org/qortal/test/apps/ProxyTest.java | 13 +----
.../org/qortal/test/apps/RewardShareKeys.java | 4 +-
.../org/qortal/test/apps/SettingsTests.java | 17 +++---
.../java/org/qortal/test/apps/SyncReport.java | 7 +--
.../java/org/qortal/test/apps/VanityGen.java | 13 ++---
.../org/qortal/test/apps/brokenmd160.java | 2 +-
.../java/org/qortal/test/apps/orphan.java | 3 +-
.../arbitrary/ArbitraryDataDigestTests.java | 3 +-
.../arbitrary/ArbitraryDataFileTests.java | 2 +-
.../ArbitraryDataStoragePolicyTests.java | 1 -
.../test/arbitrary/ArbitraryDataTests.java | 5 +-
.../arbitrary/ArbitraryEncryptionTests.java | 2 -
.../ArbitraryTransactionMetadataTests.java | 2 +-
.../qortal/test/assets/CancellingTests.java | 8 +--
.../qortal/test/assets/GranularityTests.java | 8 +--
.../org/qortal/test/assets/MiscTests.java | 5 +-
.../org/qortal/test/assets/TradingTests.java | 4 +-
.../org/qortal/test/at/AtRepositoryTests.java | 8 +--
.../qortal/test/at/GetMessageLengthTests.java | 10 ++--
.../test/at/GetNextTransactionTests.java | 18 +++---
.../test/at/GetPartialMessageTests.java | 8 +--
.../at/SleepUntilMessageOrHeightTests.java | 18 +++---
.../test/at/SleepUntilMessageTests.java | 18 +++---
.../org/qortal/test/common/AccountUtils.java | 12 ++--
.../org/qortal/test/common/ApiCommon.java | 9 +--
.../org/qortal/test/common/AssetUtils.java | 18 ++----
.../java/org/qortal/test/common/Common.java | 35 +++++-------
.../java/org/qortal/test/common/FakePeer.java | 4 +-
.../org/qortal/test/common/GroupUtils.java | 6 +-
.../org/qortal/test/common/PeerMessage.java | 1 -
.../qortal/test/common/TransactionUtils.java | 14 ++---
.../AccountLevelTestTransaction.java | 4 +-
.../transaction/ArbitraryTestTransaction.java | 8 +--
.../CancelAssetOrderTestTransaction.java | 4 +-
.../CreateGroupTestTransaction.java | 4 +-
.../CreatePollTestTransaction.java | 8 +--
.../transaction/DeployAtTestTransaction.java | 4 +-
.../GroupApprovalTestTransaction.java | 4 +-
.../IssueAssetTestTransaction.java | 4 +-
.../MultiPaymentTestTransaction.java | 6 +-
.../common/transaction/TestTransaction.java | 5 +-
.../VoteOnPollTestTransaction.java | 4 +-
.../test/crosschain/ElectrumXTests.java | 21 +++----
.../org/qortal/test/crosschain/HtlcTests.java | 7 +--
.../test/crosschain/PirateChainTests.java | 2 +-
.../test/crosschain/apps/BuildHTLC.java | 11 ++--
.../test/crosschain/apps/CheckHTLC.java | 11 ++--
.../qortal/test/crosschain/apps/Common.java | 15 +++--
.../apps/GetNextReceiveAddress.java | 4 +-
.../test/crosschain/apps/GetTransaction.java | 7 +--
.../apps/GetWalletTransactions.java | 10 ++--
.../test/crosschain/apps/RedeemHTLC.java | 17 ++----
.../test/crosschain/apps/RefundHTLC.java | 17 ++----
.../bitcoinv1/BitcoinACCTv1Tests.java | 12 ++--
.../test/crosschain/bitcoinv1/DeployAT.java | 3 +-
.../test/crosschain/litecoinv1/DeployAT.java | 5 +-
.../litecoinv1/LitecoinACCTv1Tests.java | 3 +-
.../litecoinv1/SendRedeemMessage.java | 3 +-
.../litecoinv1/SendTradeMessage.java | 3 +-
.../org/qortal/test/group/AdminTests.java | 11 +---
.../qortal/test/group/DevGroupAdminTests.java | 3 -
.../qortal/test/group/GroupApprovalTests.java | 4 +-
.../test/group/GroupBlockDelayTests.java | 5 +-
.../java/org/qortal/test/group/MiscTests.java | 5 +-
.../org/qortal/test/group/OwnerTests.java | 4 +-
.../test/minting/BlocksMintedCountTests.java | 6 +-
.../test/minting/DisagreementTests.java | 13 ++---
.../qortal/test/minting/RewardShareTests.java | 4 +-
.../org/qortal/test/minting/RewardTests.java | 13 +++--
.../org/qortal/test/naming/BuySellTests.java | 9 ++-
.../org/qortal/test/naming/MiscTests.java | 21 ++++---
.../org/qortal/test/naming/UpdateTests.java | 5 +-
.../test/network/OnlineAccountsTests.java | 5 +-
.../test/network/OnlineAccountsV3Tests.java | 5 +-
.../serialization/SerializationTests.java | 12 ++--
517 files changed, 2232 insertions(+), 2876 deletions(-)
diff --git a/pom.xml b/pom.xml
index 3fcf18ea..0c1cad7c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
74.1
4.12
4.0.1
- 2.3.3
+ 2.3.9
2.41
9.4.53.v20231009
1.1.1
diff --git a/src/main/java/org/hsqldb/jdbc/HSQLDBPool.java b/src/main/java/org/hsqldb/jdbc/HSQLDBPool.java
index 0bf9d2ef..f2f6484c 100644
--- a/src/main/java/org/hsqldb/jdbc/HSQLDBPool.java
+++ b/src/main/java/org/hsqldb/jdbc/HSQLDBPool.java
@@ -1,10 +1,10 @@
package org.hsqldb.jdbc;
+import org.hsqldb.jdbc.pool.JDBCPooledConnection;
+
import java.sql.Connection;
import java.sql.SQLException;
-import org.hsqldb.jdbc.pool.JDBCPooledConnection;
-
public class HSQLDBPool extends JDBCPool {
public HSQLDBPool(int poolSize) {
diff --git a/src/main/java/org/qortal/ApplyUpdate.java b/src/main/java/org/qortal/ApplyUpdate.java
index 7a870460..f1f9d22f 100644
--- a/src/main/java/org/qortal/ApplyUpdate.java
+++ b/src/main/java/org/qortal/ApplyUpdate.java
@@ -1,5 +1,14 @@
package org.qortal;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
+import org.qortal.api.ApiKey;
+import org.qortal.api.ApiRequest;
+import org.qortal.controller.AutoUpdate;
+import org.qortal.settings.Settings;
+
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.nio.file.Files;
@@ -10,15 +19,6 @@ import java.security.Security;
import java.util.*;
import java.util.stream.Collectors;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
-import org.qortal.api.ApiKey;
-import org.qortal.api.ApiRequest;
-import org.qortal.controller.AutoUpdate;
-import org.qortal.settings.Settings;
-
import static org.qortal.controller.AutoUpdate.AGENTLIB_JVM_HOLDER_ARG;
public class ApplyUpdate {
diff --git a/src/main/java/org/qortal/RepositoryMaintenance.java b/src/main/java/org/qortal/RepositoryMaintenance.java
index b085822b..0d60d7f9 100644
--- a/src/main/java/org/qortal/RepositoryMaintenance.java
+++ b/src/main/java/org/qortal/RepositoryMaintenance.java
@@ -1,8 +1,5 @@
package org.qortal;
-import java.security.Security;
-import java.util.concurrent.TimeoutException;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -15,6 +12,9 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.repository.hsqldb.HSQLDBRepositoryFactory;
import org.qortal.settings.Settings;
+import java.security.Security;
+import java.util.concurrent.TimeoutException;
+
public class RepositoryMaintenance {
static {
diff --git a/src/main/java/org/qortal/XorUpdate.java b/src/main/java/org/qortal/XorUpdate.java
index 9880f1de..32ff7a72 100644
--- a/src/main/java/org/qortal/XorUpdate.java
+++ b/src/main/java/org/qortal/XorUpdate.java
@@ -1,5 +1,7 @@
package org.qortal;
+import org.qortal.controller.AutoUpdate;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -7,8 +9,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import org.qortal.controller.AutoUpdate;
-
public class XorUpdate {
private static final byte XOR_VALUE = AutoUpdate.XOR_VALUE;
diff --git a/src/main/java/org/qortal/account/Account.java b/src/main/java/org/qortal/account/Account.java
index 2c75dbc0..756128f9 100644
--- a/src/main/java/org/qortal/account/Account.java
+++ b/src/main/java/org/qortal/account/Account.java
@@ -1,10 +1,5 @@
package org.qortal.account;
-import static org.qortal.utils.Amounts.prettyAmount;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.block.BlockChain;
@@ -17,6 +12,11 @@ import org.qortal.repository.Repository;
import org.qortal.settings.Settings;
import org.qortal.utils.Base58;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+
+import static org.qortal.utils.Amounts.prettyAmount;
+
@XmlAccessorType(XmlAccessType.NONE) // Stops JAX-RS errors when unmarshalling blockchain config
public class Account {
diff --git a/src/main/java/org/qortal/account/AccountRefCache.java b/src/main/java/org/qortal/account/AccountRefCache.java
index 13017bd3..11252710 100644
--- a/src/main/java/org/qortal/account/AccountRefCache.java
+++ b/src/main/java/org/qortal/account/AccountRefCache.java
@@ -1,15 +1,15 @@
package org.qortal.account;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.function.BinaryOperator;
-
import org.qortal.data.account.AccountData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Pair;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.function.BinaryOperator;
+
/**
* Account lastReference caching
*
diff --git a/src/main/java/org/qortal/api/AmountTypeAdapter.java b/src/main/java/org/qortal/api/AmountTypeAdapter.java
index 5cbf81ee..5db3df45 100644
--- a/src/main/java/org/qortal/api/AmountTypeAdapter.java
+++ b/src/main/java/org/qortal/api/AmountTypeAdapter.java
@@ -1,10 +1,9 @@
package org.qortal.api;
-import java.math.BigDecimal;
+import org.qortal.utils.Amounts;
import javax.xml.bind.annotation.adapters.XmlAdapter;
-
-import org.qortal.utils.Amounts;
+import java.math.BigDecimal;
public class AmountTypeAdapter extends XmlAdapter {
diff --git a/src/main/java/org/qortal/api/ApiError.java b/src/main/java/org/qortal/api/ApiError.java
index b52332b1..5a634a76 100644
--- a/src/main/java/org/qortal/api/ApiError.java
+++ b/src/main/java/org/qortal/api/ApiError.java
@@ -1,13 +1,12 @@
package org.qortal.api;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.util.Map;
-
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
+import java.util.Map;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement
diff --git a/src/main/java/org/qortal/api/ApiErrorHandler.java b/src/main/java/org/qortal/api/ApiErrorHandler.java
index a6a77eed..7ae0d89a 100644
--- a/src/main/java/org/qortal/api/ApiErrorHandler.java
+++ b/src/main/java/org/qortal/api/ApiErrorHandler.java
@@ -1,18 +1,17 @@
package org.qortal.api;
-import java.io.IOException;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.ErrorHandler;
import org.qortal.settings.Settings;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
public class ApiErrorHandler extends ErrorHandler {
private static final Logger LOGGER = LogManager.getLogger(ApiErrorHandler.class);
diff --git a/src/main/java/org/qortal/api/ApiExceptionFactory.java b/src/main/java/org/qortal/api/ApiExceptionFactory.java
index 294cef83..7826eb6d 100644
--- a/src/main/java/org/qortal/api/ApiExceptionFactory.java
+++ b/src/main/java/org/qortal/api/ApiExceptionFactory.java
@@ -1,9 +1,9 @@
package org.qortal.api;
-import javax.servlet.http.HttpServletRequest;
-
import org.qortal.globalization.Translator;
+import javax.servlet.http.HttpServletRequest;
+
public enum ApiExceptionFactory {
INSTANCE;
diff --git a/src/main/java/org/qortal/api/ApiRequest.java b/src/main/java/org/qortal/api/ApiRequest.java
index a51a117e..59bd791a 100644
--- a/src/main/java/org/qortal/api/ApiRequest.java
+++ b/src/main/java/org/qortal/api/ApiRequest.java
@@ -1,34 +1,24 @@
package org.qortal.api;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.net.HttpURLConnection;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Scanner;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SNIHostName;
-import javax.net.ssl.SNIServerName;
-import javax.net.ssl.SSLParameters;
-import javax.net.ssl.SSLSocket;
-import javax.xml.bind.*;
-import javax.xml.transform.stream.StreamSource;
-
import org.eclipse.persistence.exceptions.XMLMarshalException;
import org.eclipse.persistence.jaxb.JAXBContextFactory;
import org.eclipse.persistence.jaxb.MarshallerProperties;
import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import javax.net.ssl.*;
+import javax.xml.bind.*;
+import javax.xml.transform.stream.StreamSource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.net.*;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Scanner;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
public class ApiRequest {
private static final Pattern proxyUrlPattern = Pattern.compile("(https://)([^@:/]+)@([0-9.]{7,15})(/.*)");
diff --git a/src/main/java/org/qortal/api/ApiService.java b/src/main/java/org/qortal/api/ApiService.java
index 1ee733c6..fbef50d3 100644
--- a/src/main/java/org/qortal/api/ApiService.java
+++ b/src/main/java/org/qortal/api/ApiService.java
@@ -1,33 +1,10 @@
package org.qortal.api;
import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource;
-
-import java.io.InputStream;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.KeyStore;
-import java.security.SecureRandom;
-
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.servlet.http.HttpServletRequest;
-
import org.eclipse.jetty.http.HttpVersion;
import org.eclipse.jetty.rewrite.handler.RedirectPatternRule;
import org.eclipse.jetty.rewrite.handler.RewriteHandler;
-import org.eclipse.jetty.server.CustomRequestLog;
-import org.eclipse.jetty.server.DetectorConnectionFactory;
-import org.eclipse.jetty.server.HttpConfiguration;
-import org.eclipse.jetty.server.HttpConnectionFactory;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.RequestLogWriter;
-import org.eclipse.jetty.server.SecureRequestCustomizer;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.SslConnectionFactory;
+import org.eclipse.jetty.server.*;
import org.eclipse.jetty.server.handler.ErrorHandler;
import org.eclipse.jetty.server.handler.InetAccessHandler;
import org.eclipse.jetty.servlet.DefaultServlet;
@@ -44,6 +21,18 @@ import org.qortal.api.websocket.*;
import org.qortal.network.Network;
import org.qortal.settings.Settings;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.servlet.http.HttpServletRequest;
+import java.io.InputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+
public class ApiService {
private static ApiService instance;
diff --git a/src/main/java/org/qortal/api/Base58TypeAdapter.java b/src/main/java/org/qortal/api/Base58TypeAdapter.java
index d7561031..b84cc657 100644
--- a/src/main/java/org/qortal/api/Base58TypeAdapter.java
+++ b/src/main/java/org/qortal/api/Base58TypeAdapter.java
@@ -1,9 +1,9 @@
package org.qortal.api;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-
import org.qortal.utils.Base58;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
public class Base58TypeAdapter extends XmlAdapter {
@Override
diff --git a/src/main/java/org/qortal/api/BigDecimalTypeAdapter.java b/src/main/java/org/qortal/api/BigDecimalTypeAdapter.java
index fae55d0a..157c98c7 100644
--- a/src/main/java/org/qortal/api/BigDecimalTypeAdapter.java
+++ b/src/main/java/org/qortal/api/BigDecimalTypeAdapter.java
@@ -1,8 +1,7 @@
package org.qortal.api;
-import java.math.BigDecimal;
-
import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.math.BigDecimal;
public class BigDecimalTypeAdapter extends XmlAdapter {
diff --git a/src/main/java/org/qortal/api/Constants.java b/src/main/java/org/qortal/api/Constants.java
index e74a0059..d77d325a 100644
--- a/src/main/java/org/qortal/api/Constants.java
+++ b/src/main/java/org/qortal/api/Constants.java
@@ -4,9 +4,11 @@ import io.swagger.v3.oas.models.Operation;
import io.swagger.v3.oas.models.PathItem;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.responses.ApiResponse;
-import static java.util.Arrays.asList;
+
import java.util.List;
+import static java.util.Arrays.asList;
+
class Constants {
public static final String APIERROR_CONTEXT_PATH = "/Api";
public static final String APIERROR_KEY = "ApiError/%s";
diff --git a/src/main/java/org/qortal/api/RewardSharePercentTypeAdapter.java b/src/main/java/org/qortal/api/RewardSharePercentTypeAdapter.java
index 1ad2034c..a1d416dc 100644
--- a/src/main/java/org/qortal/api/RewardSharePercentTypeAdapter.java
+++ b/src/main/java/org/qortal/api/RewardSharePercentTypeAdapter.java
@@ -1,8 +1,7 @@
package org.qortal.api;
-import java.math.BigDecimal;
-
import javax.xml.bind.annotation.adapters.XmlAdapter;
+import java.math.BigDecimal;
public class RewardSharePercentTypeAdapter extends XmlAdapter {
diff --git a/src/main/java/org/qortal/api/Security.java b/src/main/java/org/qortal/api/Security.java
index f009d79f..19178dd0 100644
--- a/src/main/java/org/qortal/api/Security.java
+++ b/src/main/java/org/qortal/api/Security.java
@@ -5,12 +5,11 @@ import org.qortal.arbitrary.misc.Service;
import org.qortal.controller.arbitrary.ArbitraryDataRenderManager;
import org.qortal.settings.Settings;
+import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import javax.servlet.http.HttpServletRequest;
-
public abstract class Security {
public static final String API_KEY_HEADER = "X-API-KEY";
diff --git a/src/main/java/org/qortal/api/TransactionCountMapXmlAdapter.java b/src/main/java/org/qortal/api/TransactionCountMapXmlAdapter.java
index bb2b4d8c..0aba8800 100644
--- a/src/main/java/org/qortal/api/TransactionCountMapXmlAdapter.java
+++ b/src/main/java/org/qortal/api/TransactionCountMapXmlAdapter.java
@@ -1,18 +1,17 @@
package org.qortal.api;
+import org.eclipse.persistence.oxm.annotations.XmlVariableNode;
+import org.qortal.transaction.Transaction.TransactionType;
+
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-
-import org.eclipse.persistence.oxm.annotations.XmlVariableNode;
-import org.qortal.transaction.Transaction.TransactionType;
-
public class TransactionCountMapXmlAdapter extends XmlAdapter> {
public static class StringIntegerMap {
diff --git a/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java b/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
index bf4e1ea6..7169fd4a 100644
--- a/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
+++ b/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
@@ -20,7 +20,9 @@ import org.qortal.repository.RepositoryManager;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
import javax.ws.rs.core.Context;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/org/qortal/api/model/AccountPenaltyStats.java b/src/main/java/org/qortal/api/model/AccountPenaltyStats.java
index aafe25fc..929819f6 100644
--- a/src/main/java/org/qortal/api/model/AccountPenaltyStats.java
+++ b/src/main/java/org/qortal/api/model/AccountPenaltyStats.java
@@ -2,11 +2,9 @@ package org.qortal.api.model;
import org.qortal.block.SelfSponsorshipAlgoV1Block;
import org.qortal.data.account.AccountData;
-import org.qortal.data.naming.NameData;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/org/qortal/api/model/ActivitySummary.java b/src/main/java/org/qortal/api/model/ActivitySummary.java
index e8e9a3aa..ce30aa99 100644
--- a/src/main/java/org/qortal/api/model/ActivitySummary.java
+++ b/src/main/java/org/qortal/api/model/ActivitySummary.java
@@ -1,15 +1,14 @@
package org.qortal.api.model;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.Map;
+import org.qortal.api.TransactionCountMapXmlAdapter;
+import org.qortal.transaction.Transaction.TransactionType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.qortal.api.TransactionCountMapXmlAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.Map;
@XmlAccessorType(XmlAccessType.FIELD)
public class ActivitySummary {
diff --git a/src/main/java/org/qortal/api/model/AggregatedOrder.java b/src/main/java/org/qortal/api/model/AggregatedOrder.java
index ff8ebfe2..f9c1d1ef 100644
--- a/src/main/java/org/qortal/api/model/AggregatedOrder.java
+++ b/src/main/java/org/qortal/api/model/AggregatedOrder.java
@@ -1,13 +1,13 @@
package org.qortal.api.model;
+import org.qortal.data.asset.OrderData;
+
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.data.asset.OrderData;
-
@XmlAccessorType(XmlAccessType.NONE)
public class AggregatedOrder {
diff --git a/src/main/java/org/qortal/api/model/AtCreationRequest.java b/src/main/java/org/qortal/api/model/AtCreationRequest.java
index 14ccdaa2..43010775 100644
--- a/src/main/java/org/qortal/api/model/AtCreationRequest.java
+++ b/src/main/java/org/qortal/api/model/AtCreationRequest.java
@@ -1,14 +1,13 @@
package org.qortal.api.model;
import io.swagger.v3.oas.annotations.media.Schema;
+import org.bouncycastle.util.encoders.Base64;
+import org.bouncycastle.util.encoders.DecoderException;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.DecoderException;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class AtCreationRequest {
diff --git a/src/main/java/org/qortal/api/model/BlockSignerSummary.java b/src/main/java/org/qortal/api/model/BlockSignerSummary.java
index 61961f28..479678be 100644
--- a/src/main/java/org/qortal/api/model/BlockSignerSummary.java
+++ b/src/main/java/org/qortal/api/model/BlockSignerSummary.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import org.qortal.crypto.Crypto;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.qortal.crypto.Crypto;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class BlockSignerSummary {
diff --git a/src/main/java/org/qortal/api/model/CrossChainBitcoinRedeemRequest.java b/src/main/java/org/qortal/api/model/CrossChainBitcoinRedeemRequest.java
index 074fd24d..588cd243 100644
--- a/src/main/java/org/qortal/api/model/CrossChainBitcoinRedeemRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainBitcoinRedeemRequest.java
@@ -1,11 +1,10 @@
package org.qortal.api.model;
-import java.math.BigDecimal;
+import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainBitcoinRedeemRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainBitcoinRefundRequest.java b/src/main/java/org/qortal/api/model/CrossChainBitcoinRefundRequest.java
index f2485389..4b1a0cea 100644
--- a/src/main/java/org/qortal/api/model/CrossChainBitcoinRefundRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainBitcoinRefundRequest.java
@@ -1,11 +1,10 @@
package org.qortal.api.model;
-import java.math.BigDecimal;
+import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainBitcoinRefundRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainBitcoinTemplateRequest.java b/src/main/java/org/qortal/api/model/CrossChainBitcoinTemplateRequest.java
index b7510eaa..675581d2 100644
--- a/src/main/java/org/qortal/api/model/CrossChainBitcoinTemplateRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainBitcoinTemplateRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainBitcoinTemplateRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainBitcoinyHTLCStatus.java b/src/main/java/org/qortal/api/model/CrossChainBitcoinyHTLCStatus.java
index 2772eae1..586c8e5e 100644
--- a/src/main/java/org/qortal/api/model/CrossChainBitcoinyHTLCStatus.java
+++ b/src/main/java/org/qortal/api/model/CrossChainBitcoinyHTLCStatus.java
@@ -1,11 +1,10 @@
package org.qortal.api.model;
-import java.math.BigDecimal;
+import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainBitcoinyHTLCStatus {
diff --git a/src/main/java/org/qortal/api/model/CrossChainBuildRequest.java b/src/main/java/org/qortal/api/model/CrossChainBuildRequest.java
index e8d38703..e4fb8fdc 100644
--- a/src/main/java/org/qortal/api/model/CrossChainBuildRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainBuildRequest.java
@@ -1,11 +1,11 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainBuildRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainCancelRequest.java b/src/main/java/org/qortal/api/model/CrossChainCancelRequest.java
index 25a18952..ea2117ac 100644
--- a/src/main/java/org/qortal/api/model/CrossChainCancelRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainCancelRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainCancelRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainOfferSummary.java b/src/main/java/org/qortal/api/model/CrossChainOfferSummary.java
index bf71c2d2..8f5fbc74 100644
--- a/src/main/java/org/qortal/api/model/CrossChainOfferSummary.java
+++ b/src/main/java/org/qortal/api/model/CrossChainOfferSummary.java
@@ -1,14 +1,13 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.crosschain.AcctMode;
+import org.qortal.data.crosschain.CrossChainTradeData;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.crosschain.AcctMode;
-import org.qortal.data.crosschain.CrossChainTradeData;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainOfferSummary {
diff --git a/src/main/java/org/qortal/api/model/CrossChainSecretRequest.java b/src/main/java/org/qortal/api/model/CrossChainSecretRequest.java
index 2db475e5..17a6274d 100644
--- a/src/main/java/org/qortal/api/model/CrossChainSecretRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainSecretRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainSecretRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainTradeRequest.java b/src/main/java/org/qortal/api/model/CrossChainTradeRequest.java
index 1afd7290..60b49a03 100644
--- a/src/main/java/org/qortal/api/model/CrossChainTradeRequest.java
+++ b/src/main/java/org/qortal/api/model/CrossChainTradeRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainTradeRequest {
diff --git a/src/main/java/org/qortal/api/model/CrossChainTradeSummary.java b/src/main/java/org/qortal/api/model/CrossChainTradeSummary.java
index edc137c0..0e12b8a4 100644
--- a/src/main/java/org/qortal/api/model/CrossChainTradeSummary.java
+++ b/src/main/java/org/qortal/api/model/CrossChainTradeSummary.java
@@ -1,13 +1,12 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.data.crosschain.CrossChainTradeData;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.data.crosschain.CrossChainTradeData;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainTradeSummary {
diff --git a/src/main/java/org/qortal/api/model/GroupMembers.java b/src/main/java/org/qortal/api/model/GroupMembers.java
index 1cd13efa..b2833779 100644
--- a/src/main/java/org/qortal/api/model/GroupMembers.java
+++ b/src/main/java/org/qortal/api/model/GroupMembers.java
@@ -1,12 +1,11 @@
package org.qortal.api.model;
-import java.util.List;
+import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.util.List;
@Schema(description = "Group info, maybe including members")
// All properties to be converted to JSON via JAX-RS
diff --git a/src/main/java/org/qortal/api/model/NameSummary.java b/src/main/java/org/qortal/api/model/NameSummary.java
index 1e2caa87..63bc7158 100644
--- a/src/main/java/org/qortal/api/model/NameSummary.java
+++ b/src/main/java/org/qortal/api/model/NameSummary.java
@@ -1,11 +1,11 @@
package org.qortal.api.model;
+import org.qortal.data.naming.NameData;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-import org.qortal.data.naming.NameData;
-
@XmlAccessorType(XmlAccessType.NONE)
public class NameSummary {
diff --git a/src/main/java/org/qortal/api/model/NodeStatus.java b/src/main/java/org/qortal/api/model/NodeStatus.java
index ab5e766e..16e407b8 100644
--- a/src/main/java/org/qortal/api/model/NodeStatus.java
+++ b/src/main/java/org/qortal/api/model/NodeStatus.java
@@ -1,13 +1,13 @@
package org.qortal.api.model;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
import org.qortal.controller.Controller;
import org.qortal.controller.OnlineAccountsManager;
import org.qortal.controller.Synchronizer;
import org.qortal.network.Network;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+
@XmlAccessorType(XmlAccessType.FIELD)
public class NodeStatus {
diff --git a/src/main/java/org/qortal/api/model/PollVotes.java b/src/main/java/org/qortal/api/model/PollVotes.java
index c57ebc37..2768694f 100644
--- a/src/main/java/org/qortal/api/model/PollVotes.java
+++ b/src/main/java/org/qortal/api/model/PollVotes.java
@@ -1,13 +1,12 @@
package org.qortal.api.model;
-import java.util.List;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.data.voting.VoteOnPollData;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
-import org.qortal.data.voting.VoteOnPollData;
+import java.util.List;
@Schema(description = "Poll vote info, including voters")
// All properties to be converted to JSON via JAX-RS
diff --git a/src/main/java/org/qortal/api/model/RewardShareKeyRequest.java b/src/main/java/org/qortal/api/model/RewardShareKeyRequest.java
index 9448dba0..a3bcbdf5 100644
--- a/src/main/java/org/qortal/api/model/RewardShareKeyRequest.java
+++ b/src/main/java/org/qortal/api/model/RewardShareKeyRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class RewardShareKeyRequest {
diff --git a/src/main/java/org/qortal/api/model/SimpleForeignTransaction.java b/src/main/java/org/qortal/api/model/SimpleForeignTransaction.java
index acc1120f..927f9baa 100644
--- a/src/main/java/org/qortal/api/model/SimpleForeignTransaction.java
+++ b/src/main/java/org/qortal/api/model/SimpleForeignTransaction.java
@@ -1,13 +1,12 @@
package org.qortal.api.model;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class SimpleForeignTransaction {
diff --git a/src/main/java/org/qortal/api/model/SimpleTransactionSignRequest.java b/src/main/java/org/qortal/api/model/SimpleTransactionSignRequest.java
index 2ee80289..443e8b4b 100644
--- a/src/main/java/org/qortal/api/model/SimpleTransactionSignRequest.java
+++ b/src/main/java/org/qortal/api/model/SimpleTransactionSignRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class SimpleTransactionSignRequest {
diff --git a/src/main/java/org/qortal/api/model/TradeWithOrderInfo.java b/src/main/java/org/qortal/api/model/TradeWithOrderInfo.java
index f773487b..c43856a7 100644
--- a/src/main/java/org/qortal/api/model/TradeWithOrderInfo.java
+++ b/src/main/java/org/qortal/api/model/TradeWithOrderInfo.java
@@ -1,14 +1,13 @@
package org.qortal.api.model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.data.asset.OrderData;
+import org.qortal.data.asset.TradeData;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-import org.qortal.data.asset.OrderData;
-import org.qortal.data.asset.TradeData;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
@Schema(description = "Asset trade, including order info")
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/api/model/crosschain/BitcoinSendRequest.java b/src/main/java/org/qortal/api/model/crosschain/BitcoinSendRequest.java
index 86d3d7c8..0c5d089a 100644
--- a/src/main/java/org/qortal/api/model/crosschain/BitcoinSendRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/BitcoinSendRequest.java
@@ -1,11 +1,11 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class BitcoinSendRequest {
diff --git a/src/main/java/org/qortal/api/model/crosschain/DigibyteSendRequest.java b/src/main/java/org/qortal/api/model/crosschain/DigibyteSendRequest.java
index a09c14a3..63c2f328 100644
--- a/src/main/java/org/qortal/api/model/crosschain/DigibyteSendRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/DigibyteSendRequest.java
@@ -1,11 +1,11 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class DigibyteSendRequest {
diff --git a/src/main/java/org/qortal/api/model/crosschain/LitecoinSendRequest.java b/src/main/java/org/qortal/api/model/crosschain/LitecoinSendRequest.java
index 5f215740..79ee6ed2 100644
--- a/src/main/java/org/qortal/api/model/crosschain/LitecoinSendRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/LitecoinSendRequest.java
@@ -1,11 +1,11 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class LitecoinSendRequest {
diff --git a/src/main/java/org/qortal/api/model/crosschain/RavencoinSendRequest.java b/src/main/java/org/qortal/api/model/crosschain/RavencoinSendRequest.java
index 0165b91d..a585bf45 100644
--- a/src/main/java/org/qortal/api/model/crosschain/RavencoinSendRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/RavencoinSendRequest.java
@@ -1,11 +1,11 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class RavencoinSendRequest {
diff --git a/src/main/java/org/qortal/api/model/crosschain/TradeBotCreateRequest.java b/src/main/java/org/qortal/api/model/crosschain/TradeBotCreateRequest.java
index 1f96488e..09e58bcc 100644
--- a/src/main/java/org/qortal/api/model/crosschain/TradeBotCreateRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/TradeBotCreateRequest.java
@@ -1,13 +1,12 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.crosschain.SupportedBlockchain;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.crosschain.SupportedBlockchain;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class TradeBotCreateRequest {
diff --git a/src/main/java/org/qortal/api/model/crosschain/TradeBotRespondRequest.java b/src/main/java/org/qortal/api/model/crosschain/TradeBotRespondRequest.java
index ecc8ed6f..25a4282b 100644
--- a/src/main/java/org/qortal/api/model/crosschain/TradeBotRespondRequest.java
+++ b/src/main/java/org/qortal/api/model/crosschain/TradeBotRespondRequest.java
@@ -1,10 +1,10 @@
package org.qortal.api.model.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import io.swagger.v3.oas.annotations.media.Schema;
-
@XmlAccessorType(XmlAccessType.FIELD)
public class TradeBotRespondRequest {
diff --git a/src/main/java/org/qortal/api/resource/AddressesResource.java b/src/main/java/org/qortal/api/resource/AddressesResource.java
index 79cb6e05..688b17fc 100644
--- a/src/main/java/org/qortal/api/resource/AddressesResource.java
+++ b/src/main/java/org/qortal/api/resource/AddressesResource.java
@@ -1,5 +1,6 @@
package org.qortal.api.resource;
+import com.google.common.primitives.Bytes;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -9,25 +10,9 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.Account;
import org.qortal.account.PrivateKeyAccount;
-import org.qortal.api.ApiError;
-import org.qortal.api.ApiErrors;
-import org.qortal.api.ApiException;
-import org.qortal.api.ApiExceptionFactory;
-import org.qortal.api.Security;
+import org.qortal.api.*;
import org.qortal.api.model.AccountPenaltyStats;
import org.qortal.api.model.ApiOnlineAccount;
import org.qortal.api.model.RewardShareKeyRequest;
@@ -59,7 +44,15 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
-import com.google.common.primitives.Bytes;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
@Path("/addresses")
@Tag(name = "Addresses")
diff --git a/src/main/java/org/qortal/api/resource/AnnotationPostProcessor.java b/src/main/java/org/qortal/api/resource/AnnotationPostProcessor.java
index 7b4a1ab2..da2fdc7c 100644
--- a/src/main/java/org/qortal/api/resource/AnnotationPostProcessor.java
+++ b/src/main/java/org/qortal/api/resource/AnnotationPostProcessor.java
@@ -13,12 +13,6 @@ import io.swagger.v3.oas.models.media.MediaType;
import io.swagger.v3.oas.models.media.Schema;
import io.swagger.v3.oas.models.parameters.Parameter;
import io.swagger.v3.oas.models.responses.ApiResponse;
-
-import java.lang.reflect.Method;
-import java.util.Locale;
-
-import javax.ws.rs.Path;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.api.ApiError;
@@ -27,6 +21,10 @@ import org.qortal.api.ApiErrors;
import org.qortal.api.ApiService;
import org.qortal.globalization.Translator;
+import javax.ws.rs.Path;
+import java.lang.reflect.Method;
+import java.util.Locale;
+
public class AnnotationPostProcessor implements ReaderListener {
private static final Logger LOGGER = LogManager.getLogger(AnnotationPostProcessor.class);
diff --git a/src/main/java/org/qortal/api/resource/ApiDefinition.java b/src/main/java/org/qortal/api/resource/ApiDefinition.java
index f9ec7459..98db58c7 100644
--- a/src/main/java/org/qortal/api/resource/ApiDefinition.java
+++ b/src/main/java/org/qortal/api/resource/ApiDefinition.java
@@ -9,7 +9,6 @@ import io.swagger.v3.oas.annotations.info.Info;
import io.swagger.v3.oas.annotations.security.SecurityScheme;
import io.swagger.v3.oas.annotations.security.SecuritySchemes;
import io.swagger.v3.oas.annotations.tags.Tag;
-
import org.qortal.api.Security;
@OpenAPIDefinition(
diff --git a/src/main/java/org/qortal/api/resource/ApiExceptionMapper.java b/src/main/java/org/qortal/api/resource/ApiExceptionMapper.java
index d0f7ada7..15bb1913 100644
--- a/src/main/java/org/qortal/api/resource/ApiExceptionMapper.java
+++ b/src/main/java/org/qortal/api/resource/ApiExceptionMapper.java
@@ -1,5 +1,10 @@
package org.qortal.api.resource;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.glassfish.jersey.server.ParamException;
+import org.qortal.settings.Settings;
+
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.WebApplicationException;
@@ -8,11 +13,6 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.glassfish.jersey.server.ParamException;
-import org.qortal.settings.Settings;
-
@Provider
public class ApiExceptionMapper implements ExceptionMapper {
diff --git a/src/main/java/org/qortal/api/resource/AppsResource.java b/src/main/java/org/qortal/api/resource/AppsResource.java
index 19a4a184..a5f50935 100644
--- a/src/main/java/org/qortal/api/resource/AppsResource.java
+++ b/src/main/java/org/qortal/api/resource/AppsResource.java
@@ -1,18 +1,20 @@
package org.qortal.api.resource;
import com.google.common.io.Resources;
+import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.tags.Tag;
-import org.qortal.api.*;
+import org.qortal.api.ApiError;
+import org.qortal.api.ApiExceptionFactory;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
diff --git a/src/main/java/org/qortal/api/resource/ArbitraryResource.java b/src/main/java/org/qortal/api/resource/ArbitraryResource.java
index 441492a8..7752be8c 100644
--- a/src/main/java/org/qortal/api/resource/ArbitraryResource.java
+++ b/src/main/java/org/qortal/api/resource/ArbitraryResource.java
@@ -12,24 +12,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.io.*;
-import java.net.FileNameMap;
-import java.net.URLConnection;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.LogManager;
@@ -50,7 +32,10 @@ import org.qortal.controller.arbitrary.ArbitraryDataRenderManager;
import org.qortal.controller.arbitrary.ArbitraryDataStorageManager;
import org.qortal.controller.arbitrary.ArbitraryMetadataManager;
import org.qortal.data.account.AccountData;
-import org.qortal.data.arbitrary.*;
+import org.qortal.data.arbitrary.ArbitraryCategoryInfo;
+import org.qortal.data.arbitrary.ArbitraryResourceData;
+import org.qortal.data.arbitrary.ArbitraryResourceMetadata;
+import org.qortal.data.arbitrary.ArbitraryResourceStatus;
import org.qortal.data.naming.NameData;
import org.qortal.data.transaction.ArbitraryTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -68,6 +53,25 @@ import org.qortal.transform.transaction.ArbitraryTransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.*;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.FileNameMap;
+import java.net.URLConnection;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
@Path("/arbitrary")
@Tag(name = "Arbitrary")
public class ArbitraryResource {
diff --git a/src/main/java/org/qortal/api/resource/AssetsResource.java b/src/main/java/org/qortal/api/resource/AssetsResource.java
index 8af91e45..40e04256 100644
--- a/src/main/java/org/qortal/api/resource/AssetsResource.java
+++ b/src/main/java/org/qortal/api/resource/AssetsResource.java
@@ -8,22 +8,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiException;
@@ -39,27 +23,27 @@ import org.qortal.data.asset.AssetData;
import org.qortal.data.asset.OrderData;
import org.qortal.data.asset.RecentTradeData;
import org.qortal.data.asset.TradeData;
-import org.qortal.data.transaction.CancelAssetOrderTransactionData;
-import org.qortal.data.transaction.CreateAssetOrderTransactionData;
-import org.qortal.data.transaction.IssueAssetTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.TransferAssetTransactionData;
-import org.qortal.data.transaction.UpdateAssetTransactionData;
+import org.qortal.data.transaction.*;
+import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.settings.Settings;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transform.TransformationException;
-import org.qortal.transform.transaction.CancelAssetOrderTransactionTransformer;
-import org.qortal.transform.transaction.CreateAssetOrderTransactionTransformer;
-import org.qortal.transform.transaction.IssueAssetTransactionTransformer;
-import org.qortal.transform.transaction.TransferAssetTransactionTransformer;
-import org.qortal.transform.transaction.UpdateAssetTransactionTransformer;
+import org.qortal.transform.transaction.*;
import org.qortal.utils.Base58;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
@Path("/assets")
@Tag(name = "Assets")
public class AssetsResource {
diff --git a/src/main/java/org/qortal/api/resource/AtResource.java b/src/main/java/org/qortal/api/resource/AtResource.java
index 13bfec83..a9661a1c 100644
--- a/src/main/java/org/qortal/api/resource/AtResource.java
+++ b/src/main/java/org/qortal/api/resource/AtResource.java
@@ -8,26 +8,14 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.ciyam.at.MachineState;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiException;
import org.qortal.api.ApiExceptionFactory;
+import org.qortal.api.model.AtCreationRequest;
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
-import org.qortal.api.model.AtCreationRequest;
import org.qortal.data.transaction.DeployAtTransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
@@ -38,10 +26,15 @@ import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.DeployAtTransactionTransformer;
import org.qortal.utils.Base58;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
@Path("/at")
@Tag(name = "Automated Transactions")
diff --git a/src/main/java/org/qortal/api/resource/BlocksResource.java b/src/main/java/org/qortal/api/resource/BlocksResource.java
index ad5e466d..22b40a1f 100644
--- a/src/main/java/org/qortal/api/resource/BlocksResource.java
+++ b/src/main/java/org/qortal/api/resource/BlocksResource.java
@@ -8,26 +8,6 @@ import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.Account;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -35,7 +15,6 @@ import org.qortal.api.ApiExceptionFactory;
import org.qortal.api.model.BlockMintingInfo;
import org.qortal.api.model.BlockSignerSummary;
import org.qortal.block.Block;
-import org.qortal.controller.Controller;
import org.qortal.crypto.Crypto;
import org.qortal.data.account.AccountData;
import org.qortal.data.block.BlockData;
@@ -50,6 +29,23 @@ import org.qortal.transform.block.BlockTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.Triple;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
@Path("/blocks")
@Tag(name = "Blocks")
public class BlocksResource {
diff --git a/src/main/java/org/qortal/api/resource/ChatResource.java b/src/main/java/org/qortal/api/resource/ChatResource.java
index 22e90a43..66a2bd46 100644
--- a/src/main/java/org/qortal/api/resource/ChatResource.java
+++ b/src/main/java/org/qortal/api/resource/ChatResource.java
@@ -1,5 +1,6 @@
package org.qortal.api.resource;
+import com.google.common.primitives.Bytes;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -9,14 +10,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
@@ -38,7 +31,11 @@ import org.qortal.transform.transaction.ChatTransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
-import com.google.common.primitives.Bytes;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
import static org.qortal.data.chat.ChatMessage.Encoding;
diff --git a/src/main/java/org/qortal/api/resource/CrossChainBitcoinACCTv1Resource.java b/src/main/java/org/qortal/api/resource/CrossChainBitcoinACCTv1Resource.java
index 6cfa130a..59472621 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainBitcoinACCTv1Resource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainBitcoinACCTv1Resource.java
@@ -7,17 +7,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.Arrays;
-import java.util.Random;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -27,9 +16,9 @@ import org.qortal.api.model.CrossChainBuildRequest;
import org.qortal.api.model.CrossChainDualSecretRequest;
import org.qortal.api.model.CrossChainTradeRequest;
import org.qortal.asset.Asset;
+import org.qortal.crosschain.AcctMode;
import org.qortal.crosschain.BitcoinACCTv1;
import org.qortal.crosschain.Bitcoiny;
-import org.qortal.crosschain.AcctMode;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.crosschain.CrossChainTradeData;
@@ -53,6 +42,15 @@ import org.qortal.transform.transaction.MessageTransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.Arrays;
+import java.util.Random;
+
@Path("/crosschain/BitcoinACCTv1")
@Tag(name = "Cross-Chain (BitcoinACCTv1)")
public class CrossChainBitcoinACCTv1Resource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java
index 1e276e59..efefd4c9 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainBitcoinResource.java
@@ -8,17 +8,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.bitcoinj.core.Transaction;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -29,6 +18,15 @@ import org.qortal.crosschain.Bitcoin;
import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.SimpleTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
@Path("/crosschain/btc")
@Tag(name = "Cross-Chain (Bitcoin)")
public class CrossChainBitcoinResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainDigibyteResource.java b/src/main/java/org/qortal/api/resource/CrossChainDigibyteResource.java
index 781d78f6..60a4aa0d 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainDigibyteResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainDigibyteResource.java
@@ -8,17 +8,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.bitcoinj.core.Transaction;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -29,6 +18,15 @@ import org.qortal.crosschain.Digibyte;
import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.SimpleTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
@Path("/crosschain/dgb")
@Tag(name = "Cross-Chain (Digibyte)")
public class CrossChainDigibyteResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java
index ff1d6d14..3c04b0e8 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainDogecoinResource.java
@@ -14,14 +14,14 @@ import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
import org.qortal.api.Security;
import org.qortal.api.model.crosschain.DogecoinSendRequest;
-import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.Dogecoin;
+import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.SimpleTransaction;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
-import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
diff --git a/src/main/java/org/qortal/api/resource/CrossChainHtlcResource.java b/src/main/java/org/qortal/api/resource/CrossChainHtlcResource.java
index 45b92c7c..3f05643d 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainHtlcResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainHtlcResource.java
@@ -7,17 +7,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bitcoinj.core.*;
@@ -35,6 +24,15 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
@Path("/crosschain/htlc")
@Tag(name = "Cross-Chain (Hash time-locked contracts)")
public class CrossChainHtlcResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainLitecoinACCTv1Resource.java b/src/main/java/org/qortal/api/resource/CrossChainLitecoinACCTv1Resource.java
index 7b6bc962..b768d8a1 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainLitecoinACCTv1Resource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainLitecoinACCTv1Resource.java
@@ -24,11 +24,7 @@ import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import org.qortal.transaction.MessageTransaction;
import org.qortal.transaction.Transaction.ValidationResult;
-import org.qortal.transform.TransformationException;
import org.qortal.transform.Transformer;
-import org.qortal.transform.transaction.MessageTransactionTransformer;
-import org.qortal.utils.Base58;
-import org.qortal.utils.NTP;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.HeaderParam;
@@ -37,7 +33,6 @@ import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Arrays;
-import java.util.Random;
@Path("/crosschain/LitecoinACCTv1")
@Tag(name = "Cross-Chain (LitecoinACCTv1)")
diff --git a/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java
index 3e2ff799..e96e27a7 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainLitecoinResource.java
@@ -8,17 +8,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.bitcoinj.core.Transaction;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -29,6 +18,15 @@ import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.Litecoin;
import org.qortal.crosschain.SimpleTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
@Path("/crosschain/ltc")
@Tag(name = "Cross-Chain (Litecoin)")
public class CrossChainLitecoinResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainPirateChainResource.java b/src/main/java/org/qortal/api/resource/CrossChainPirateChainResource.java
index 6989e7c7..550b86b9 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainPirateChainResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainPirateChainResource.java
@@ -18,9 +18,9 @@ import org.qortal.crosschain.PirateChain;
import org.qortal.crosschain.SimpleTransaction;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
-import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
diff --git a/src/main/java/org/qortal/api/resource/CrossChainRavencoinResource.java b/src/main/java/org/qortal/api/resource/CrossChainRavencoinResource.java
index b1d6aed4..fc66ba8c 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainRavencoinResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainRavencoinResource.java
@@ -8,27 +8,25 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.bitcoinj.core.Transaction;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
import org.qortal.api.Security;
import org.qortal.api.model.crosschain.RavencoinSendRequest;
-import org.qortal.crosschain.Ravencoin;
import org.qortal.crosschain.ForeignBlockchainException;
+import org.qortal.crosschain.Ravencoin;
import org.qortal.crosschain.SimpleTransaction;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+
@Path("/crosschain/rvn")
@Tag(name = "Cross-Chain (Ravencoin)")
public class CrossChainRavencoinResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainResource.java b/src/main/java/org/qortal/api/resource/CrossChainResource.java
index 44ef62ad..1161dc63 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainResource.java
@@ -10,15 +10,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.*;
-import java.util.function.Supplier;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
@@ -26,9 +17,9 @@ import org.qortal.api.Security;
import org.qortal.api.model.CrossChainCancelRequest;
import org.qortal.api.model.CrossChainTradeSummary;
import org.qortal.controller.tradebot.TradeBot;
-import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.crosschain.ACCT;
import org.qortal.crosschain.AcctMode;
+import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
@@ -50,6 +41,13 @@ import org.qortal.utils.Base58;
import org.qortal.utils.ByteArray;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.*;
+import java.util.function.Supplier;
+
@Path("/crosschain")
@Tag(name = "Cross-Chain")
public class CrossChainResource {
diff --git a/src/main/java/org/qortal/api/resource/CrossChainTradeBotResource.java b/src/main/java/org/qortal/api/resource/CrossChainTradeBotResource.java
index aefca016..5a50222a 100644
--- a/src/main/java/org/qortal/api/resource/CrossChainTradeBotResource.java
+++ b/src/main/java/org/qortal/api/resource/CrossChainTradeBotResource.java
@@ -9,16 +9,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.ApiError;
@@ -31,10 +21,10 @@ import org.qortal.asset.Asset;
import org.qortal.controller.Controller;
import org.qortal.controller.tradebot.AcctTradeBot;
import org.qortal.controller.tradebot.TradeBot;
-import org.qortal.crosschain.ForeignBlockchain;
-import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.crosschain.ACCT;
import org.qortal.crosschain.AcctMode;
+import org.qortal.crosschain.ForeignBlockchain;
+import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.crosschain.CrossChainTradeData;
@@ -48,6 +38,14 @@ import org.qortal.transaction.Transaction;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
@Path("/crosschain/tradebot")
@Tag(name = "Cross-Chain (Trade-Bot)")
public class CrossChainTradeBotResource {
diff --git a/src/main/java/org/qortal/api/resource/GroupsResource.java b/src/main/java/org/qortal/api/resource/GroupsResource.java
index 187687a9..7c3054e1 100644
--- a/src/main/java/org/qortal/api/resource/GroupsResource.java
+++ b/src/main/java/org/qortal/api/resource/GroupsResource.java
@@ -8,45 +8,14 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
import org.qortal.api.model.GroupMembers;
import org.qortal.api.model.GroupMembers.MemberInfo;
import org.qortal.crypto.Crypto;
-import org.qortal.data.group.GroupAdminData;
-import org.qortal.data.group.GroupBanData;
-import org.qortal.data.group.GroupData;
-import org.qortal.data.group.GroupInviteData;
-import org.qortal.data.group.GroupJoinRequestData;
-import org.qortal.data.group.GroupMemberData;
-import org.qortal.data.transaction.AddGroupAdminTransactionData;
-import org.qortal.data.transaction.CancelGroupBanTransactionData;
-import org.qortal.data.transaction.CancelGroupInviteTransactionData;
-import org.qortal.data.transaction.CreateGroupTransactionData;
-import org.qortal.data.transaction.GroupApprovalTransactionData;
-import org.qortal.data.transaction.GroupBanTransactionData;
-import org.qortal.data.transaction.GroupInviteTransactionData;
-import org.qortal.data.transaction.GroupKickTransactionData;
-import org.qortal.data.transaction.JoinGroupTransactionData;
-import org.qortal.data.transaction.LeaveGroupTransactionData;
-import org.qortal.data.transaction.RemoveGroupAdminTransactionData;
-import org.qortal.data.transaction.SetGroupTransactionData;
-import org.qortal.data.transaction.UpdateGroupTransactionData;
+import org.qortal.data.group.*;
+import org.qortal.data.transaction.*;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
@@ -54,21 +23,17 @@ import org.qortal.settings.Settings;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transform.TransformationException;
-import org.qortal.transform.transaction.AddGroupAdminTransactionTransformer;
-import org.qortal.transform.transaction.CancelGroupBanTransactionTransformer;
-import org.qortal.transform.transaction.CancelGroupInviteTransactionTransformer;
-import org.qortal.transform.transaction.CreateGroupTransactionTransformer;
-import org.qortal.transform.transaction.GroupApprovalTransactionTransformer;
-import org.qortal.transform.transaction.GroupBanTransactionTransformer;
-import org.qortal.transform.transaction.GroupInviteTransactionTransformer;
-import org.qortal.transform.transaction.GroupKickTransactionTransformer;
-import org.qortal.transform.transaction.JoinGroupTransactionTransformer;
-import org.qortal.transform.transaction.LeaveGroupTransactionTransformer;
-import org.qortal.transform.transaction.RemoveGroupAdminTransactionTransformer;
-import org.qortal.transform.transaction.SetGroupTransactionTransformer;
-import org.qortal.transform.transaction.UpdateGroupTransactionTransformer;
+import org.qortal.transform.transaction.*;
import org.qortal.utils.Base58;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
@Path("/groups")
@Tag(name = "Groups")
public class GroupsResource {
diff --git a/src/main/java/org/qortal/api/resource/ListsResource.java b/src/main/java/org/qortal/api/resource/ListsResource.java
index e0f558df..68747889 100644
--- a/src/main/java/org/qortal/api/resource/ListsResource.java
+++ b/src/main/java/org/qortal/api/resource/ListsResource.java
@@ -8,15 +8,12 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import org.qortal.api.*;
+import org.qortal.api.ApiError;
+import org.qortal.api.ApiErrors;
+import org.qortal.api.ApiExceptionFactory;
+import org.qortal.api.Security;
import org.qortal.api.model.ListRequest;
-import org.qortal.crypto.Crypto;
-import org.qortal.data.account.AccountData;
import org.qortal.list.ResourceListManager;
-import org.qortal.repository.DataException;
-import org.qortal.repository.Repository;
-import org.qortal.repository.RepositoryManager;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.*;
diff --git a/src/main/java/org/qortal/api/resource/NamesResource.java b/src/main/java/org/qortal/api/resource/NamesResource.java
index 6cde26b3..c7d4a425 100644
--- a/src/main/java/org/qortal/api/resource/NamesResource.java
+++ b/src/main/java/org/qortal/api/resource/NamesResource.java
@@ -8,19 +8,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiException;
@@ -29,11 +16,7 @@ import org.qortal.api.model.NameSummary;
import org.qortal.controller.LiteNode;
import org.qortal.crypto.Crypto;
import org.qortal.data.naming.NameData;
-import org.qortal.data.transaction.BuyNameTransactionData;
-import org.qortal.data.transaction.CancelSellNameTransactionData;
-import org.qortal.data.transaction.RegisterNameTransactionData;
-import org.qortal.data.transaction.SellNameTransactionData;
-import org.qortal.data.transaction.UpdateNameTransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
@@ -41,14 +24,17 @@ import org.qortal.settings.Settings;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transform.TransformationException;
-import org.qortal.transform.transaction.BuyNameTransactionTransformer;
-import org.qortal.transform.transaction.CancelSellNameTransactionTransformer;
-import org.qortal.transform.transaction.RegisterNameTransactionTransformer;
-import org.qortal.transform.transaction.SellNameTransactionTransformer;
-import org.qortal.transform.transaction.UpdateNameTransactionTransformer;
+import org.qortal.transform.transaction.*;
import org.qortal.utils.Base58;
import org.qortal.utils.Unicode;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+import java.util.stream.Collectors;
+
@Path("/names")
@Tag(name = "Names")
public class NamesResource {
diff --git a/src/main/java/org/qortal/api/resource/PaymentsResource.java b/src/main/java/org/qortal/api/resource/PaymentsResource.java
index 111a3fee..6bfa5d42 100644
--- a/src/main/java/org/qortal/api/resource/PaymentsResource.java
+++ b/src/main/java/org/qortal/api/resource/PaymentsResource.java
@@ -6,13 +6,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiExceptionFactory;
@@ -27,6 +20,12 @@ import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.PaymentTransactionTransformer;
import org.qortal.utils.Base58;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+
@Path("/payments")
@Tag(name = "Payments")
public class PaymentsResource {
diff --git a/src/main/java/org/qortal/api/resource/PeersResource.java b/src/main/java/org/qortal/api/resource/PeersResource.java
index d89f99c4..4008d7ed 100644
--- a/src/main/java/org/qortal/api/resource/PeersResource.java
+++ b/src/main/java/org/qortal/api/resource/PeersResource.java
@@ -8,23 +8,11 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.net.InetSocketAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.LoggerConfig;
-import org.apache.logging.log4j.core.LoggerContext;
import org.qortal.api.*;
import org.qortal.api.model.ConnectedPeer;
import org.qortal.api.model.PeersSummary;
@@ -42,6 +30,16 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.utils.ExecuteProduceConsume;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
@Path("/peers")
@Tag(name = "Peers")
public class PeersResource {
diff --git a/src/main/java/org/qortal/api/resource/PollsResource.java b/src/main/java/org/qortal/api/resource/PollsResource.java
index c64a8caf..aaa4f79c 100644
--- a/src/main/java/org/qortal/api/resource/PollsResource.java
+++ b/src/main/java/org/qortal/api/resource/PollsResource.java
@@ -1,6 +1,8 @@
package org.qortal.api.resource;
import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
@@ -8,10 +10,14 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
+import org.qortal.api.ApiException;
import org.qortal.api.ApiExceptionFactory;
+import org.qortal.api.model.PollVotes;
import org.qortal.data.transaction.CreatePollTransactionData;
-import org.qortal.data.transaction.PaymentTransactionData;
import org.qortal.data.transaction.VoteOnPollTransactionData;
+import org.qortal.data.voting.PollData;
+import org.qortal.data.voting.PollOptionData;
+import org.qortal.data.voting.VoteOnPollData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
@@ -19,30 +25,17 @@ import org.qortal.settings.Settings;
import org.qortal.transaction.Transaction;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.CreatePollTransactionTransformer;
-import org.qortal.transform.transaction.PaymentTransactionTransformer;
import org.qortal.transform.transaction.VoteOnPollTransactionTransformer;
import org.qortal.utils.Base58;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
-
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import javax.ws.rs.GET;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import org.qortal.api.ApiException;
-import org.qortal.api.model.PollVotes;
-import org.qortal.data.voting.PollData;
-import org.qortal.data.voting.PollOptionData;
-import org.qortal.data.voting.VoteOnPollData;
@Path("/polls")
@Tag(name = "Polls")
diff --git a/src/main/java/org/qortal/api/resource/StatsResource.java b/src/main/java/org/qortal/api/resource/StatsResource.java
index c1588490..35761cf4 100644
--- a/src/main/java/org/qortal/api/resource/StatsResource.java
+++ b/src/main/java/org/qortal/api/resource/StatsResource.java
@@ -7,7 +7,8 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.qortal.api.*;
+import org.qortal.api.ApiError;
+import org.qortal.api.ApiExceptionFactory;
import org.qortal.block.BlockChain;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
@@ -15,7 +16,8 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.utils.Amounts;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.math.BigDecimal;
diff --git a/src/main/java/org/qortal/api/resource/TransactionsResource.java b/src/main/java/org/qortal/api/resource/TransactionsResource.java
index 61cef867..ca2404ea 100644
--- a/src/main/java/org/qortal/api/resource/TransactionsResource.java
+++ b/src/main/java/org/qortal/api/resource/TransactionsResource.java
@@ -1,5 +1,6 @@
package org.qortal.api.resource;
+import com.google.common.primitives.Bytes;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -8,22 +9,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantLock;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.api.*;
import org.qortal.api.model.SimpleTransactionSignRequest;
@@ -42,10 +27,22 @@ import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
-
-import com.google.common.primitives.Bytes;
import org.qortal.utils.NTP;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReentrantLock;
+
@Path("/transactions")
@Tag(name = "Transactions")
public class TransactionsResource {
diff --git a/src/main/java/org/qortal/api/resource/UtilsResource.java b/src/main/java/org/qortal/api/resource/UtilsResource.java
index 54ea660b..097a321e 100644
--- a/src/main/java/org/qortal/api/resource/UtilsResource.java
+++ b/src/main/java/org/qortal/api/resource/UtilsResource.java
@@ -1,5 +1,6 @@
package org.qortal.api.resource;
+import com.google.common.hash.HashCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
@@ -7,22 +8,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.security.SecureRandom;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.List;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
@@ -35,9 +20,13 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer.Transformation;
import org.qortal.utils.Base58;
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Bytes;
-import com.google.common.primitives.Longs;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.security.SecureRandom;
+import java.util.Base64;
+import java.util.List;
@Path("/utils")
@Tag(name = "Utilities")
diff --git a/src/main/java/org/qortal/api/restricted/resource/AdminResource.java b/src/main/java/org/qortal/api/restricted/resource/AdminResource.java
index 178d7547..57bf59c0 100644
--- a/src/main/java/org/qortal/api/restricted/resource/AdminResource.java
+++ b/src/main/java/org/qortal/api/restricted/resource/AdminResource.java
@@ -1,5 +1,6 @@
package org.qortal.api.restricted.resource;
+import com.google.common.collect.Lists;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
@@ -10,23 +11,6 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.UnknownHostException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.stream.Collectors;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -57,7 +41,20 @@ import org.qortal.settings.Settings;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
-import com.google.common.collect.Lists;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Collectors;
@Path("/admin")
@Tag(name = "Admin")
diff --git a/src/main/java/org/qortal/api/restricted/resource/BootstrapResource.java b/src/main/java/org/qortal/api/restricted/resource/BootstrapResource.java
index 47b7cf42..dc12161d 100644
--- a/src/main/java/org/qortal/api/restricted/resource/BootstrapResource.java
+++ b/src/main/java/org/qortal/api/restricted/resource/BootstrapResource.java
@@ -17,10 +17,12 @@ import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
-import java.io.IOException;
@Path("/bootstrap")
diff --git a/src/main/java/org/qortal/api/restricted/resource/RenderResource.java b/src/main/java/org/qortal/api/restricted/resource/RenderResource.java
index 92f72032..5eb169a4 100644
--- a/src/main/java/org/qortal/api/restricted/resource/RenderResource.java
+++ b/src/main/java/org/qortal/api/restricted/resource/RenderResource.java
@@ -1,35 +1,22 @@
package org.qortal.api.restricted.resource;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.qortal.api.Security;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
+import org.qortal.arbitrary.ArbitraryDataRenderer;
+import org.qortal.arbitrary.ArbitraryDataResource;
+import org.qortal.arbitrary.misc.Service;
+import org.qortal.controller.arbitrary.ArbitraryDataRenderManager;
+import org.qortal.settings.Settings;
+
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import java.io.*;
-import java.nio.file.Paths;
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.parameters.RequestBody;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.qortal.api.ApiError;
-import org.qortal.api.ApiExceptionFactory;
-import org.qortal.api.Security;
-import org.qortal.arbitrary.misc.Service;
-import org.qortal.arbitrary.*;
-import org.qortal.arbitrary.exception.MissingDataException;
-import org.qortal.controller.arbitrary.ArbitraryDataRenderManager;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
-import org.qortal.repository.DataException;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
-import org.qortal.settings.Settings;
-import org.qortal.utils.Base58;
@Path("/render")
diff --git a/src/main/java/org/qortal/api/websocket/ActiveChatsWebSocket.java b/src/main/java/org/qortal/api/websocket/ActiveChatsWebSocket.java
index 9ac9f87d..b92fb19f 100644
--- a/src/main/java/org/qortal/api/websocket/ActiveChatsWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/ActiveChatsWebSocket.java
@@ -1,19 +1,8 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
-
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketException;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.controller.ChatNotifier;
import org.qortal.crypto.Crypto;
@@ -23,6 +12,13 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicReference;
+
import static org.qortal.data.chat.ChatMessage.Encoding;
@WebSocket
diff --git a/src/main/java/org/qortal/api/websocket/AdminStatusWebSocket.java b/src/main/java/org/qortal/api/websocket/AdminStatusWebSocket.java
index 6556d140..4d65956e 100644
--- a/src/main/java/org/qortal/api/websocket/AdminStatusWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/AdminStatusWebSocket.java
@@ -1,16 +1,8 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.concurrent.atomic.AtomicReference;
-
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketException;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.api.model.NodeStatus;
import org.qortal.controller.Controller;
@@ -18,6 +10,10 @@ import org.qortal.event.Event;
import org.qortal.event.EventBus;
import org.qortal.event.Listener;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.concurrent.atomic.AtomicReference;
+
@WebSocket
@SuppressWarnings("serial")
public class AdminStatusWebSocket extends ApiWebSocket implements Listener {
diff --git a/src/main/java/org/qortal/api/websocket/ApiWebSocket.java b/src/main/java/org/qortal/api/websocket/ApiWebSocket.java
index f6a439ea..d402250f 100644
--- a/src/main/java/org/qortal/api/websocket/ApiWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/ApiWebSocket.java
@@ -1,18 +1,5 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-
import org.eclipse.jetty.http.pathmap.UriTemplatePathSpec;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
@@ -22,6 +9,14 @@ import org.eclipse.persistence.jaxb.MarshallerProperties;
import org.qortal.api.ApiError;
import org.qortal.api.ApiErrorRoot;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.*;
+
@SuppressWarnings("serial")
abstract class ApiWebSocket extends WebSocketServlet {
diff --git a/src/main/java/org/qortal/api/websocket/BlocksWebSocket.java b/src/main/java/org/qortal/api/websocket/BlocksWebSocket.java
index 20847b7b..01235755 100644
--- a/src/main/java/org/qortal/api/websocket/BlocksWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/BlocksWebSocket.java
@@ -1,16 +1,8 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.List;
-
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketException;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.api.ApiError;
import org.qortal.controller.Controller;
@@ -24,6 +16,10 @@ import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import org.qortal.utils.Base58;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.List;
+
@WebSocket
@SuppressWarnings("serial")
public class BlocksWebSocket extends ApiWebSocket implements Listener {
diff --git a/src/main/java/org/qortal/api/websocket/ChatMessagesWebSocket.java b/src/main/java/org/qortal/api/websocket/ChatMessagesWebSocket.java
index 3046c1c1..4340ad58 100644
--- a/src/main/java/org/qortal/api/websocket/ChatMessagesWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/ChatMessagesWebSocket.java
@@ -1,16 +1,8 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.*;
-
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketException;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.controller.ChatNotifier;
import org.qortal.data.chat.ChatMessage;
@@ -19,6 +11,10 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.*;
+
import static org.qortal.data.chat.ChatMessage.Encoding;
@WebSocket
diff --git a/src/main/java/org/qortal/api/websocket/PresenceWebSocket.java b/src/main/java/org/qortal/api/websocket/PresenceWebSocket.java
index c579ac86..510b712f 100644
--- a/src/main/java/org/qortal/api/websocket/PresenceWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/PresenceWebSocket.java
@@ -1,23 +1,7 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
import org.eclipse.jetty.websocket.api.Session;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.controller.Controller;
import org.qortal.controller.Synchronizer;
@@ -35,6 +19,13 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.*;
+import java.util.stream.Collectors;
+
@WebSocket
@SuppressWarnings("serial")
public class PresenceWebSocket extends ApiWebSocket implements Listener {
diff --git a/src/main/java/org/qortal/api/websocket/TradeBotWebSocket.java b/src/main/java/org/qortal/api/websocket/TradeBotWebSocket.java
index 8d7a13cd..7746f8f8 100644
--- a/src/main/java/org/qortal/api/websocket/TradeBotWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/TradeBotWebSocket.java
@@ -1,16 +1,7 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.*;
-import java.util.stream.Collectors;
-
import org.eclipse.jetty.websocket.api.Session;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.controller.tradebot.TradeBot;
import org.qortal.crosschain.SupportedBlockchain;
@@ -23,6 +14,11 @@ import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import org.qortal.utils.Base58;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.*;
+import java.util.stream.Collectors;
+
@WebSocket
@SuppressWarnings("serial")
public class TradeBotWebSocket extends ApiWebSocket implements Listener {
diff --git a/src/main/java/org/qortal/api/websocket/TradeOffersWebSocket.java b/src/main/java/org/qortal/api/websocket/TradeOffersWebSocket.java
index 9c48b018..3f61fb98 100644
--- a/src/main/java/org/qortal/api/websocket/TradeOffersWebSocket.java
+++ b/src/main/java/org/qortal/api/websocket/TradeOffersWebSocket.java
@@ -1,33 +1,16 @@
package org.qortal.api.websocket;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Predicate;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.eclipse.jetty.websocket.api.Session;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
-import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
-import org.eclipse.jetty.websocket.api.annotations.WebSocket;
+import org.eclipse.jetty.websocket.api.annotations.*;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.qortal.api.model.CrossChainOfferSummary;
-import org.qortal.controller.Controller;
import org.qortal.controller.Synchronizer;
import org.qortal.controller.tradebot.TradeBot;
-import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.crosschain.ACCT;
import org.qortal.crosschain.AcctMode;
+import org.qortal.crosschain.SupportedBlockchain;
import org.qortal.data.at.ATStateData;
import org.qortal.data.block.BlockData;
import org.qortal.data.crosschain.CrossChainTradeData;
@@ -40,6 +23,13 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.utils.ByteArray;
import org.qortal.utils.NTP;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.*;
+import java.util.function.Predicate;
+import java.util.function.Supplier;
+import java.util.stream.Collectors;
+
@WebSocket
@SuppressWarnings("serial")
public class TradeOffersWebSocket extends ApiWebSocket implements Listener {
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuildQueueItem.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuildQueueItem.java
index 465d1391..bab4cc38 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuildQueueItem.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuildQueueItem.java
@@ -1,7 +1,7 @@
package org.qortal.arbitrary;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.exception.MissingDataException;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
import org.qortal.arbitrary.misc.Service;
import org.qortal.repository.DataException;
import org.qortal.utils.ArbitraryTransactionUtils;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java
index fba6a32b..f438cef6 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java
@@ -2,6 +2,7 @@ package org.qortal.arbitrary;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.exception.DataNotPublishedException;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.metadata.ArbitraryDataMetadataCache;
@@ -11,7 +12,6 @@ import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.settings.Settings;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataCache.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataCache.java
index accd808d..a6a63e5f 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataCache.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataCache.java
@@ -1,6 +1,6 @@
package org.qortal.arbitrary;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.metadata.ArbitraryDataMetadataCache;
import org.qortal.arbitrary.misc.Service;
import org.qortal.controller.arbitrary.ArbitraryDataManager;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java
index 93bc9636..13e22964 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java
@@ -9,10 +9,14 @@ import org.qortal.crypto.Crypto;
import org.qortal.repository.DataException;
import org.qortal.settings.Settings;
-import java.io.*;
+import java.io.File;
+import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.UUID;
public class ArbitraryDataDiff {
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataMerge.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataMerge.java
index eab5c828..d3e31c1d 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataMerge.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataMerge.java
@@ -3,7 +3,8 @@ package org.qortal.arbitrary;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.qortal.arbitrary.ArbitraryDataDiff.*;
+import org.qortal.arbitrary.ArbitraryDataDiff.DiffType;
+import org.qortal.arbitrary.ArbitraryDataDiff.ModifiedPath;
import org.qortal.arbitrary.metadata.ArbitraryDataMetadataPatch;
import org.qortal.arbitrary.patch.UnifiedDiffPatch;
import org.qortal.repository.DataException;
@@ -12,7 +13,10 @@ import org.qortal.utils.FilesystemUtils;
import java.io.File;
import java.io.IOException;
-import java.nio.file.*;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
import java.util.List;
import java.util.UUID;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java
index 8896f44f..09154a32 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java
@@ -3,7 +3,7 @@ package org.qortal.arbitrary;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.exception.DataNotPublishedException;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.misc.Service;
@@ -11,11 +11,11 @@ import org.qortal.controller.arbitrary.ArbitraryDataBuildManager;
import org.qortal.controller.arbitrary.ArbitraryDataManager;
import org.qortal.crypto.AES;
import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
+import org.qortal.data.transaction.ArbitraryTransactionData.Compression;
+import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
import org.qortal.settings.Settings;
import org.qortal.transform.Transformer;
import org.qortal.utils.*;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
index 0f513403..9d20df14 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
@@ -6,7 +6,7 @@ import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.api.HTMLParser;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.misc.Service;
import org.qortal.controller.Controller;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java
index c32734dc..9cfc686a 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java
@@ -2,9 +2,10 @@ package org.qortal.arbitrary;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.qortal.arbitrary.exception.MissingDataException;
+import org.qortal.arbitrary.ArbitraryDataDiff.DiffType;
+import org.qortal.arbitrary.ArbitraryDataDiff.ModifiedPath;
import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
-import org.qortal.arbitrary.ArbitraryDataDiff.*;
+import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.metadata.ArbitraryDataMetadataPatch;
import org.qortal.arbitrary.metadata.ArbitraryDataTransactionMetadata;
import org.qortal.arbitrary.misc.Category;
@@ -13,7 +14,9 @@ import org.qortal.crypto.AES;
import org.qortal.crypto.Crypto;
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
+import org.qortal.data.transaction.ArbitraryTransactionData.Compression;
+import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
+import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.group.Group;
import org.qortal.repository.DataException;
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataWriter.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataWriter.java
index db29ee20..0098e4fa 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataWriter.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataWriter.java
@@ -5,15 +5,16 @@ import com.j256.simplemagic.ContentInfoUtil;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.qortal.arbitrary.ArbitraryDataFile.ValidationResult;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.metadata.ArbitraryDataTransactionMetadata;
import org.qortal.arbitrary.misc.Category;
import org.qortal.arbitrary.misc.Service;
-import org.qortal.crypto.Crypto;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
import org.qortal.crypto.AES;
+import org.qortal.crypto.Crypto;
+import org.qortal.data.transaction.ArbitraryTransactionData.Compression;
+import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import org.qortal.repository.DataException;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
import org.qortal.settings.Settings;
import org.qortal.utils.Base58;
import org.qortal.utils.FilesystemUtils;
@@ -27,11 +28,15 @@ import java.io.File;
import java.io.IOException;
import java.net.FileNameMap;
import java.net.URLConnection;
-import java.nio.file.*;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java
index 46a1f57e..200df844 100644
--- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java
+++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java
@@ -5,7 +5,7 @@ import org.apache.logging.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.qortal.arbitrary.ArbitraryDataDiff.*;
+import org.qortal.arbitrary.ArbitraryDataDiff.ModifiedPath;
import org.qortal.repository.DataException;
import org.qortal.utils.Base58;
diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java
index eb3d6cc9..c1e6563d 100644
--- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java
+++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataQortalMetadata.java
@@ -2,7 +2,6 @@ package org.qortal.arbitrary.metadata;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.json.JSONException;
import org.qortal.repository.DataException;
import java.io.BufferedWriter;
diff --git a/src/main/java/org/qortal/arbitrary/misc/Service.java b/src/main/java/org/qortal/arbitrary/misc/Service.java
index 2b8f8d02..02a513fd 100644
--- a/src/main/java/org/qortal/arbitrary/misc/Service.java
+++ b/src/main/java/org/qortal/arbitrary/misc/Service.java
@@ -1,5 +1,6 @@
package org.qortal.arbitrary.misc;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.io.FilenameUtils;
import org.json.JSONObject;
import org.qortal.arbitrary.ArbitraryDataRenderer;
@@ -13,8 +14,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
import static java.util.Arrays.stream;
import static java.util.stream.Collectors.toMap;
diff --git a/src/main/java/org/qortal/asset/Order.java b/src/main/java/org/qortal/asset/Order.java
index 953ff6ac..77affe55 100644
--- a/src/main/java/org/qortal/asset/Order.java
+++ b/src/main/java/org/qortal/asset/Order.java
@@ -1,11 +1,5 @@
package org.qortal.asset;
-import static org.qortal.utils.Amounts.prettyAmount;
-
-import java.math.BigInteger;
-import java.util.Arrays;
-import java.util.List;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -19,6 +13,12 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
+import java.math.BigInteger;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.qortal.utils.Amounts.prettyAmount;
+
public class Order {
private static final Logger LOGGER = LogManager.getLogger(Order.class);
diff --git a/src/main/java/org/qortal/at/AT.java b/src/main/java/org/qortal/at/AT.java
index 005bb0cd..e5cbf4e7 100644
--- a/src/main/java/org/qortal/at/AT.java
+++ b/src/main/java/org/qortal/at/AT.java
@@ -1,9 +1,5 @@
package org.qortal.at;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.ciyam.at.MachineState;
import org.ciyam.at.Timestamp;
import org.qortal.crypto.Crypto;
@@ -15,6 +11,10 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.transaction.AtTransaction;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
public class AT {
// Properties
diff --git a/src/main/java/org/qortal/at/QortalATAPI.java b/src/main/java/org/qortal/at/QortalATAPI.java
index 829c391f..93dac568 100644
--- a/src/main/java/org/qortal/at/QortalATAPI.java
+++ b/src/main/java/org/qortal/at/QortalATAPI.java
@@ -1,18 +1,9 @@
package org.qortal.at;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
+import com.google.common.primitives.Bytes;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.ciyam.at.API;
-import org.ciyam.at.ExecutionException;
-import org.ciyam.at.FunctionData;
-import org.ciyam.at.IllegalFunctionCodeException;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import org.ciyam.at.*;
import org.qortal.account.Account;
import org.qortal.account.NullAccount;
import org.qortal.account.PublicKeyAccount;
@@ -23,22 +14,20 @@ import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.block.BlockData;
import org.qortal.data.block.BlockSummaryData;
-import org.qortal.data.transaction.ATTransactionData;
-import org.qortal.data.transaction.BaseTransactionData;
-import org.qortal.data.transaction.MessageTransactionData;
-import org.qortal.data.transaction.PaymentTransactionData;
-import org.qortal.data.transaction.TransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.group.Group;
import org.qortal.repository.ATRepository;
+import org.qortal.repository.ATRepository.NextTransactionInfo;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
-import org.qortal.repository.ATRepository.NextTransactionInfo;
import org.qortal.transaction.AtTransaction;
import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.utils.Base58;
import org.qortal.utils.BitTwiddling;
-import com.google.common.primitives.Bytes;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
public class QortalATAPI extends API {
diff --git a/src/main/java/org/qortal/at/QortalFunctionCode.java b/src/main/java/org/qortal/at/QortalFunctionCode.java
index a2d43ac8..152f310e 100644
--- a/src/main/java/org/qortal/at/QortalFunctionCode.java
+++ b/src/main/java/org/qortal/at/QortalFunctionCode.java
@@ -1,9 +1,5 @@
package org.qortal.at;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.ciyam.at.ExecutionException;
@@ -17,6 +13,10 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.settings.Settings;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.stream.Collectors;
+
/**
* Qortal-specific CIYAM-AT Functions.
*
diff --git a/src/main/java/org/qortal/block/Block.java b/src/main/java/org/qortal/block/Block.java
index 16c061da..51d55eb4 100644
--- a/src/main/java/org/qortal/block/Block.java
+++ b/src/main/java/org/qortal/block/Block.java
@@ -1,19 +1,8 @@
package org.qortal.block;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-import java.nio.charset.StandardCharsets;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
+import com.google.common.primitives.Bytes;
+import com.google.common.primitives.Longs;
+import io.druid.extendedset.intset.ConciseSet;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -23,16 +12,12 @@ import org.qortal.account.PrivateKeyAccount;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.at.AT;
-import org.qortal.block.BlockChain.BlockTimingByHeight;
import org.qortal.block.BlockChain.AccountLevelShareBin;
+import org.qortal.block.BlockChain.BlockTimingByHeight;
import org.qortal.controller.OnlineAccountsManager;
import org.qortal.crypto.Crypto;
import org.qortal.crypto.Qortal25519Extras;
-import org.qortal.data.account.AccountBalanceData;
-import org.qortal.data.account.AccountData;
-import org.qortal.data.account.EligibleQoraHolderData;
-import org.qortal.data.account.QortFromQoraData;
-import org.qortal.data.account.RewardShareData;
+import org.qortal.data.account.*;
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
import org.qortal.data.block.BlockData;
@@ -56,10 +41,19 @@ import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
-import com.google.common.primitives.Bytes;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
+import java.nio.charset.StandardCharsets;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.*;
+import java.util.stream.Collectors;
-import io.druid.extendedset.intset.ConciseSet;
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
public class Block {
diff --git a/src/main/java/org/qortal/block/Block212937.java b/src/main/java/org/qortal/block/Block212937.java
index a53c9d31..a7cc42e8 100644
--- a/src/main/java/org/qortal/block/Block212937.java
+++ b/src/main/java/org/qortal/block/Block212937.java
@@ -1,15 +1,5 @@
package org.qortal.block;
-import java.io.InputStream;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.eclipse.persistence.jaxb.JAXBContextFactory;
@@ -17,6 +7,15 @@ import org.eclipse.persistence.jaxb.UnmarshallerProperties;
import org.qortal.data.account.AccountBalanceData;
import org.qortal.repository.DataException;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.UnmarshalException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.io.InputStream;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* Block 212937
*
diff --git a/src/main/java/org/qortal/block/BlockChain.java b/src/main/java/org/qortal/block/BlockChain.java
index 540e6cf4..4dcc148d 100644
--- a/src/main/java/org/qortal/block/BlockChain.java
+++ b/src/main/java/org/qortal/block/BlockChain.java
@@ -1,21 +1,5 @@
package org.qortal.block;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.sql.SQLException;
-import java.util.*;
-import java.util.concurrent.locks.ReentrantLock;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import javax.xml.transform.stream.StreamSource;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.eclipse.persistence.exceptions.XMLMarshalException;
@@ -29,6 +13,21 @@ import org.qortal.settings.Settings;
import org.qortal.utils.Base58;
import org.qortal.utils.StringLongMapXmlAdapter;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.UnmarshalException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.transform.stream.StreamSource;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.sql.SQLException;
+import java.util.*;
+import java.util.concurrent.locks.ReentrantLock;
+
/**
* Class representing the blockchain as a whole.
*
diff --git a/src/main/java/org/qortal/block/GenesisBlock.java b/src/main/java/org/qortal/block/GenesisBlock.java
index 4d4c407a..991db4b5 100644
--- a/src/main/java/org/qortal/block/GenesisBlock.java
+++ b/src/main/java/org/qortal/block/GenesisBlock.java
@@ -1,15 +1,8 @@
package org.qortal.block;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
+import com.google.common.primitives.Bytes;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.NullAccount;
@@ -24,9 +17,14 @@ import org.qortal.transaction.Transaction.ApprovalStatus;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.TransactionTransformer;
-import com.google.common.primitives.Bytes;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
public class GenesisBlock extends Block {
diff --git a/src/main/java/org/qortal/block/SelfSponsorshipAlgoV1Block.java b/src/main/java/org/qortal/block/SelfSponsorshipAlgoV1Block.java
index a9a016b6..c3c374d1 100644
--- a/src/main/java/org/qortal/block/SelfSponsorshipAlgoV1Block.java
+++ b/src/main/java/org/qortal/block/SelfSponsorshipAlgoV1Block.java
@@ -13,7 +13,10 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Base58;
import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
/**
diff --git a/src/main/java/org/qortal/controller/AutoUpdate.java b/src/main/java/org/qortal/controller/AutoUpdate.java
index fde52fb1..bc232e1b 100644
--- a/src/main/java/org/qortal/controller/AutoUpdate.java
+++ b/src/main/java/org/qortal/controller/AutoUpdate.java
@@ -1,5 +1,22 @@
package org.qortal.controller;
+import com.google.common.hash.HashCode;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.qortal.ApplyUpdate;
+import org.qortal.api.ApiRequest;
+import org.qortal.data.transaction.ArbitraryTransactionData;
+import org.qortal.data.transaction.TransactionData;
+import org.qortal.globalization.Translator;
+import org.qortal.gui.SysTray;
+import org.qortal.repository.DataException;
+import org.qortal.repository.Repository;
+import org.qortal.repository.RepositoryManager;
+import org.qortal.settings.Settings;
+import org.qortal.transaction.ArbitraryTransaction;
+import org.qortal.transaction.Transaction.TransactionType;
+import org.qortal.transform.Transformer;
+
import java.awt.TrayIcon.MessageType;
import java.io.IOException;
import java.io.InputStream;
@@ -17,24 +34,6 @@ import java.util.List;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.qortal.ApplyUpdate;
-import org.qortal.api.ApiRequest;
-import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.globalization.Translator;
-import org.qortal.gui.SysTray;
-import org.qortal.repository.DataException;
-import org.qortal.repository.Repository;
-import org.qortal.repository.RepositoryManager;
-import org.qortal.settings.Settings;
-import org.qortal.transaction.ArbitraryTransaction;
-import org.qortal.transaction.Transaction.TransactionType;
-import org.qortal.transform.Transformer;
-
-import com.google.common.hash.HashCode;
-
/* NOTE: It is CRITICAL that we use OpenJDK and not Java SE because our uber jar repacks BouncyCastle which, in turn, unsigns BC causing it to be rejected as a security provider by Java SE. */
public class AutoUpdate extends Thread {
diff --git a/src/main/java/org/qortal/controller/BlockMinter.java b/src/main/java/org/qortal/controller/BlockMinter.java
index 35c89778..15660f97 100644
--- a/src/main/java/org/qortal/controller/BlockMinter.java
+++ b/src/main/java/org/qortal/controller/BlockMinter.java
@@ -1,16 +1,5 @@
package org.qortal.controller;
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -35,6 +24,17 @@ import org.qortal.transaction.Transaction;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import java.math.BigInteger;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Collectors;
+
import static org.junit.Assert.assertNotNull;
// Minting new blocks
diff --git a/src/main/java/org/qortal/controller/ChatNotifier.java b/src/main/java/org/qortal/controller/ChatNotifier.java
index 61146faa..abfcee0d 100644
--- a/src/main/java/org/qortal/controller/ChatNotifier.java
+++ b/src/main/java/org/qortal/controller/ChatNotifier.java
@@ -1,13 +1,13 @@
package org.qortal.controller;
+import org.eclipse.jetty.websocket.api.Session;
+import org.qortal.data.transaction.ChatTransactionData;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import org.eclipse.jetty.websocket.api.Session;
-import org.qortal.data.transaction.ChatTransactionData;
-
public class ChatNotifier {
private static ChatNotifier instance;
diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java
index bbf72038..6d2562ab 100644
--- a/src/main/java/org/qortal/controller/Controller.java
+++ b/src/main/java/org/qortal/controller/Controller.java
@@ -1,30 +1,5 @@
package org.qortal.controller;
-import java.awt.TrayIcon.MessageType;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.Security;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -38,8 +13,8 @@ import org.qortal.block.Block;
import org.qortal.block.BlockChain;
import org.qortal.block.BlockChain.BlockTimingByHeight;
import org.qortal.controller.arbitrary.*;
-import org.qortal.controller.repository.PruneManager;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
+import org.qortal.controller.repository.PruneManager;
import org.qortal.controller.tradebot.TradeBot;
import org.qortal.data.account.AccountBalanceData;
import org.qortal.data.account.AccountData;
@@ -66,6 +41,30 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.*;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.awt.TrayIcon.MessageType;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.security.Security;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
public class Controller extends Thread {
static {
diff --git a/src/main/java/org/qortal/controller/OnlineAccountsManager.java b/src/main/java/org/qortal/controller/OnlineAccountsManager.java
index 25cace2f..17501a75 100644
--- a/src/main/java/org/qortal/controller/OnlineAccountsManager.java
+++ b/src/main/java/org/qortal/controller/OnlineAccountsManager.java
@@ -16,7 +16,9 @@ import org.qortal.data.account.RewardShareData;
import org.qortal.data.network.OnlineAccountData;
import org.qortal.network.Network;
import org.qortal.network.Peer;
-import org.qortal.network.message.*;
+import org.qortal.network.message.GetOnlineAccountsV3Message;
+import org.qortal.network.message.Message;
+import org.qortal.network.message.OnlineAccountsV3Message;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
diff --git a/src/main/java/org/qortal/controller/Synchronizer.java b/src/main/java/org/qortal/controller/Synchronizer.java
index 804bacbb..113b5846 100644
--- a/src/main/java/org/qortal/controller/Synchronizer.java
+++ b/src/main/java/org/qortal/controller/Synchronizer.java
@@ -1,14 +1,5 @@
package org.qortal.controller;
-import java.math.BigInteger;
-import java.security.SecureRandom;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -35,6 +26,15 @@ import org.qortal.utils.Base58;
import org.qortal.utils.ByteArray;
import org.qortal.utils.NTP;
+import java.math.BigInteger;
+import java.security.SecureRandom;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Collectors;
+
public class Synchronizer extends Thread {
private static final Logger LOGGER = LogManager.getLogger(Synchronizer.class);
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java
index a2165a9e..11f613ae 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java
@@ -14,7 +14,7 @@ import java.io.IOException;
import java.util.Comparator;
import java.util.Map;
-import static org.qortal.data.arbitrary.ArbitraryResourceStatus.Status.*;
+import static org.qortal.data.arbitrary.ArbitraryResourceStatus.Status.NOT_PUBLISHED;
public class ArbitraryDataBuilderThread implements Runnable {
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCacheManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCacheManager.java
index 0c56769f..36d53761 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCacheManager.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCacheManager.java
@@ -15,7 +15,9 @@ import org.qortal.transaction.ArbitraryTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.utils.Base58;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
public class ArbitraryDataCacheManager extends Thread {
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java
index e0c62acb..8611ab88 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java
@@ -19,7 +19,10 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.SecureRandom;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
import static org.qortal.controller.arbitrary.ArbitraryDataStorageManager.DELETION_THRESHOLD;
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileRequestThread.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileRequestThread.java
index 654c6844..12a03aee 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileRequestThread.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileRequestThread.java
@@ -13,8 +13,9 @@ import org.qortal.utils.ArbitraryTransactionUtils;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
public class ArbitraryDataFileRequestThread implements Runnable {
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java
index af4e4fc5..398dcb5b 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java
@@ -1,11 +1,5 @@
package org.qortal.controller.arbitrary;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.*;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
@@ -14,7 +8,6 @@ import org.qortal.arbitrary.ArbitraryDataResource;
import org.qortal.arbitrary.metadata.ArbitraryDataTransactionMetadata;
import org.qortal.arbitrary.misc.Service;
import org.qortal.controller.Controller;
-import org.qortal.data.arbitrary.ArbitraryResourceData;
import org.qortal.data.transaction.ArbitraryTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.network.Network;
@@ -30,6 +23,12 @@ import org.qortal.utils.Base58;
import org.qortal.utils.ListUtils;
import org.qortal.utils.NTP;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
public class ArbitraryDataManager extends Thread {
private static final Logger LOGGER = LogManager.getLogger(ArbitraryDataManager.class);
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataRenderManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataRenderManager.java
index 2844cef8..809db7af 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataRenderManager.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataRenderManager.java
@@ -3,7 +3,10 @@ package org.qortal.controller.arbitrary;
import org.qortal.arbitrary.ArbitraryDataResource;
import org.qortal.utils.NTP;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
public class ArbitraryDataRenderManager extends Thread {
diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryMetadataManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryMetadataManager.java
index 1fee6753..9133e86c 100644
--- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryMetadataManager.java
+++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryMetadataManager.java
@@ -10,7 +10,9 @@ import org.qortal.data.transaction.ArbitraryTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.network.Network;
import org.qortal.network.Peer;
-import org.qortal.network.message.*;
+import org.qortal.network.message.ArbitraryMetadataMessage;
+import org.qortal.network.message.GetArbitraryMetadataMessage;
+import org.qortal.network.message.Message;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
diff --git a/src/main/java/org/qortal/controller/repository/BlockArchiver.java b/src/main/java/org/qortal/controller/repository/BlockArchiver.java
index 63d61ef8..a643d9b9 100644
--- a/src/main/java/org/qortal/controller/repository/BlockArchiver.java
+++ b/src/main/java/org/qortal/controller/repository/BlockArchiver.java
@@ -5,7 +5,10 @@ import org.apache.logging.log4j.Logger;
import org.qortal.controller.Controller;
import org.qortal.controller.Synchronizer;
import org.qortal.data.block.BlockData;
-import org.qortal.repository.*;
+import org.qortal.repository.BlockArchiveWriter;
+import org.qortal.repository.DataException;
+import org.qortal.repository.Repository;
+import org.qortal.repository.RepositoryManager;
import org.qortal.settings.Settings;
import org.qortal.transform.TransformationException;
import org.qortal.utils.NTP;
diff --git a/src/main/java/org/qortal/controller/repository/PruneManager.java b/src/main/java/org/qortal/controller/repository/PruneManager.java
index dfb6290b..d48f85f7 100644
--- a/src/main/java/org/qortal/controller/repository/PruneManager.java
+++ b/src/main/java/org/qortal/controller/repository/PruneManager.java
@@ -4,7 +4,6 @@ import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.controller.Controller;
-
import org.qortal.data.block.BlockData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
diff --git a/src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java b/src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java
index 84a0d484..5c93b3e9 100644
--- a/src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java
+++ b/src/main/java/org/qortal/controller/tradebot/AcctTradeBot.java
@@ -1,7 +1,5 @@
package org.qortal.controller.tradebot;
-import java.util.List;
-
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
import org.qortal.crosschain.ACCT;
import org.qortal.crosschain.ForeignBlockchainException;
@@ -11,6 +9,8 @@ import org.qortal.data.crosschain.TradeBotData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.List;
+
public interface AcctTradeBot {
public enum ResponseResult { OK, BALANCE_ISSUE, NETWORK_ISSUE, TRADE_ALREADY_EXISTS }
diff --git a/src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java b/src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java
index 038ecded..259a16b8 100644
--- a/src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java
+++ b/src/main/java/org/qortal/controller/tradebot/BitcoinACCTv1TradeBot.java
@@ -1,33 +1,14 @@
package org.qortal.controller.tradebot;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.AddressFormatException;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.Transaction;
-import org.bitcoinj.core.TransactionOutput;
+import org.bitcoinj.core.*;
import org.bitcoinj.script.Script.ScriptType;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
import org.qortal.asset.Asset;
-import org.qortal.crosschain.ACCT;
-import org.qortal.crosschain.AcctMode;
-import org.qortal.crosschain.Bitcoin;
-import org.qortal.crosschain.BitcoinACCTv1;
-import org.qortal.crosschain.ForeignBlockchainException;
-import org.qortal.crosschain.SupportedBlockchain;
-import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.*;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.crosschain.CrossChainTradeData;
@@ -46,6 +27,14 @@ import org.qortal.transform.transaction.DeployAtTransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
+
/**
* Performing cross-chain trading steps on behalf of user.
*
diff --git a/src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java b/src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java
index fd0682b6..0b612d11 100644
--- a/src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java
+++ b/src/main/java/org/qortal/controller/tradebot/LitecoinACCTv1TradeBot.java
@@ -1,33 +1,14 @@
package org.qortal.controller.tradebot;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.AddressFormatException;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.Transaction;
-import org.bitcoinj.core.TransactionOutput;
+import org.bitcoinj.core.*;
import org.bitcoinj.script.Script.ScriptType;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
import org.qortal.asset.Asset;
-import org.qortal.crosschain.ACCT;
-import org.qortal.crosschain.AcctMode;
-import org.qortal.crosschain.ForeignBlockchainException;
-import org.qortal.crosschain.Litecoin;
-import org.qortal.crosschain.LitecoinACCTv1;
-import org.qortal.crosschain.SupportedBlockchain;
-import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.*;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.crosschain.CrossChainTradeData;
@@ -46,6 +27,14 @@ import org.qortal.transform.transaction.DeployAtTransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
+
/**
* Performing cross-chain trading steps on behalf of user.
*
diff --git a/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java b/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java
index 4b5126d9..c48f23e2 100644
--- a/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java
+++ b/src/main/java/org/qortal/controller/tradebot/PirateChainACCTv3TradeBot.java
@@ -4,7 +4,8 @@ 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.*;
+import org.bitcoinj.core.Bech32;
+import org.bitcoinj.core.Coin;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
diff --git a/src/main/java/org/qortal/controller/tradebot/TradeBot.java b/src/main/java/org/qortal/controller/tradebot/TradeBot.java
index e17f642f..43330b07 100644
--- a/src/main/java/org/qortal/controller/tradebot/TradeBot.java
+++ b/src/main/java/org/qortal/controller/tradebot/TradeBot.java
@@ -1,16 +1,11 @@
package org.qortal.controller.tradebot;
-import java.awt.TrayIcon.MessageType;
-import java.security.SecureRandom;
-import java.util.*;
-import java.util.function.Supplier;
-
+import com.google.common.primitives.Longs;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bitcoinj.core.ECKey;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.api.model.crosschain.TradeBotCreateRequest;
-import org.qortal.api.resource.TransactionsResource;
import org.qortal.controller.Controller;
import org.qortal.controller.Synchronizer;
import org.qortal.controller.tradebot.AcctTradeBot.ResponseResult;
@@ -39,7 +34,10 @@ import org.qortal.transaction.Transaction;
import org.qortal.utils.ByteArray;
import org.qortal.utils.NTP;
-import com.google.common.primitives.Longs;
+import java.awt.TrayIcon.MessageType;
+import java.security.SecureRandom;
+import java.util.*;
+import java.util.function.Supplier;
/**
* Performing cross-chain trading steps on behalf of user.
diff --git a/src/main/java/org/qortal/crosschain/AcctMode.java b/src/main/java/org/qortal/crosschain/AcctMode.java
index 21496032..5c871943 100644
--- a/src/main/java/org/qortal/crosschain/AcctMode.java
+++ b/src/main/java/org/qortal/crosschain/AcctMode.java
@@ -1,10 +1,10 @@
package org.qortal.crosschain;
+import java.util.Map;
+
import static java.util.Arrays.stream;
import static java.util.stream.Collectors.toMap;
-import java.util.Map;
-
public enum AcctMode {
OFFERING(0), TRADING(1), CANCELLED(2), REFUNDED(3), REDEEMED(4);
diff --git a/src/main/java/org/qortal/crosschain/Bitcoin.java b/src/main/java/org/qortal/crosschain/Bitcoin.java
index 7925dd4e..801b141c 100644
--- a/src/main/java/org/qortal/crosschain/Bitcoin.java
+++ b/src/main/java/org/qortal/crosschain/Bitcoin.java
@@ -1,10 +1,5 @@
package org.qortal.crosschain;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.Transaction;
@@ -15,6 +10,11 @@ import org.qortal.crosschain.ElectrumX.Server;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
import org.qortal.settings.Settings;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
+
public class Bitcoin extends Bitcoiny {
public static final String CURRENCY_CODE = "BTC";
diff --git a/src/main/java/org/qortal/crosschain/BitcoinACCTv1.java b/src/main/java/org/qortal/crosschain/BitcoinACCTv1.java
index eea541ad..9de95c17 100644
--- a/src/main/java/org/qortal/crosschain/BitcoinACCTv1.java
+++ b/src/main/java/org/qortal/crosschain/BitcoinACCTv1.java
@@ -1,17 +1,8 @@
package org.qortal.crosschain;
-import static org.ciyam.at.OpCode.calcOffset;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-
-import org.ciyam.at.API;
-import org.ciyam.at.CompilationException;
-import org.ciyam.at.FunctionCode;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import com.google.common.hash.HashCode;
+import com.google.common.primitives.Bytes;
+import org.ciyam.at.*;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.at.QortalFunctionCode;
@@ -25,8 +16,11 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Base58;
import org.qortal.utils.BitTwiddling;
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Bytes;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.ciyam.at.OpCode.calcOffset;
/**
* Cross-chain trade AT
diff --git a/src/main/java/org/qortal/crosschain/Bitcoiny.java b/src/main/java/org/qortal/crosschain/Bitcoiny.java
index d1523b50..db901395 100644
--- a/src/main/java/org/qortal/crosschain/Bitcoiny.java
+++ b/src/main/java/org/qortal/crosschain/Bitcoiny.java
@@ -1,24 +1,9 @@
package org.qortal.crosschain;
-import java.util.*;
-import java.util.stream.Collectors;
-
+import com.google.common.hash.HashCode;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.AddressFormatException;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.Context;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.InsufficientMoneyException;
-import org.bitcoinj.core.LegacyAddress;
-import org.bitcoinj.core.NetworkParameters;
-import org.bitcoinj.core.Sha256Hash;
-import org.bitcoinj.core.Transaction;
-import org.bitcoinj.core.TransactionOutput;
-import org.bitcoinj.core.UTXO;
-import org.bitcoinj.core.UTXOProvider;
-import org.bitcoinj.core.UTXOProviderException;
+import org.bitcoinj.core.*;
import org.bitcoinj.crypto.ChildNumber;
import org.bitcoinj.crypto.DeterministicHierarchy;
import org.bitcoinj.crypto.DeterministicKey;
@@ -32,10 +17,11 @@ import org.qortal.crypto.Crypto;
import org.qortal.settings.Settings;
import org.qortal.utils.Amounts;
import org.qortal.utils.BitTwiddling;
-
-import com.google.common.hash.HashCode;
import org.qortal.utils.NTP;
+import java.util.*;
+import java.util.stream.Collectors;
+
/** Bitcoin-like (Bitcoin, Litecoin, etc.) support */
public abstract class Bitcoiny implements ForeignBlockchain {
diff --git a/src/main/java/org/qortal/crosschain/BitcoinyBlockchainProvider.java b/src/main/java/org/qortal/crosschain/BitcoinyBlockchainProvider.java
index 8075bfff..d8b4f653 100644
--- a/src/main/java/org/qortal/crosschain/BitcoinyBlockchainProvider.java
+++ b/src/main/java/org/qortal/crosschain/BitcoinyBlockchainProvider.java
@@ -1,6 +1,6 @@
package org.qortal.crosschain;
-import cash.z.wallet.sdk.rpc.CompactFormats.*;
+import cash.z.wallet.sdk.rpc.CompactFormats.CompactBlock;
import java.util.List;
diff --git a/src/main/java/org/qortal/crosschain/BitcoinyHTLC.java b/src/main/java/org/qortal/crosschain/BitcoinyHTLC.java
index 8ebfffa2..8b6a6b07 100644
--- a/src/main/java/org/qortal/crosschain/BitcoinyHTLC.java
+++ b/src/main/java/org/qortal/crosschain/BitcoinyHTLC.java
@@ -1,23 +1,9 @@
package org.qortal.crosschain;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.LegacyAddress;
-import org.bitcoinj.core.NetworkParameters;
-import org.bitcoinj.core.Transaction;
+import com.google.common.hash.HashCode;
+import com.google.common.primitives.Bytes;
+import org.bitcoinj.core.*;
import org.bitcoinj.core.Transaction.SigHash;
-import org.bitcoinj.core.TransactionInput;
-import org.bitcoinj.core.TransactionOutput;
import org.bitcoinj.crypto.TransactionSignature;
import org.bitcoinj.script.Script;
import org.bitcoinj.script.ScriptBuilder;
@@ -27,8 +13,8 @@ import org.qortal.crypto.Crypto;
import org.qortal.utils.Base58;
import org.qortal.utils.BitTwiddling;
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Bytes;
+import java.util.*;
+import java.util.function.Function;
public class BitcoinyHTLC {
diff --git a/src/main/java/org/qortal/crosschain/BitcoinyTransaction.java b/src/main/java/org/qortal/crosschain/BitcoinyTransaction.java
index 90ee2b23..203e11f8 100644
--- a/src/main/java/org/qortal/crosschain/BitcoinyTransaction.java
+++ b/src/main/java/org/qortal/crosschain/BitcoinyTransaction.java
@@ -1,12 +1,11 @@
package org.qortal.crosschain;
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
@XmlAccessorType(XmlAccessType.FIELD)
public class BitcoinyTransaction {
diff --git a/src/main/java/org/qortal/crosschain/Digibyte.java b/src/main/java/org/qortal/crosschain/Digibyte.java
index 8e316173..4e725e89 100644
--- a/src/main/java/org/qortal/crosschain/Digibyte.java
+++ b/src/main/java/org/qortal/crosschain/Digibyte.java
@@ -1,10 +1,5 @@
package org.qortal.crosschain;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
@@ -15,6 +10,11 @@ import org.qortal.crosschain.ElectrumX.Server;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
import org.qortal.settings.Settings;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
+
public class Digibyte extends Bitcoiny {
public static final String CURRENCY_CODE = "DGB";
diff --git a/src/main/java/org/qortal/crosschain/ElectrumX.java b/src/main/java/org/qortal/crosschain/ElectrumX.java
index a331b111..5915ba04 100644
--- a/src/main/java/org/qortal/crosschain/ElectrumX.java
+++ b/src/main/java/org/qortal/crosschain/ElectrumX.java
@@ -1,5 +1,18 @@
package org.qortal.crosschain;
+import cash.z.wallet.sdk.rpc.CompactFormats.CompactBlock;
+import com.google.common.hash.HashCode;
+import com.google.common.primitives.Bytes;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.JSONValue;
+import org.qortal.crypto.Crypto;
+import org.qortal.crypto.TrustlessSSLSocketFactory;
+import org.qortal.utils.BitTwiddling;
+
+import javax.net.ssl.SSLSocketFactory;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.InetSocketAddress;
@@ -10,21 +23,6 @@ import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.net.ssl.SSLSocketFactory;
-
-import cash.z.wallet.sdk.rpc.CompactFormats.*;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-import org.json.simple.JSONValue;
-import org.qortal.crypto.Crypto;
-import org.qortal.crypto.TrustlessSSLSocketFactory;
-
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Bytes;
-import org.qortal.utils.BitTwiddling;
-
/** ElectrumX network support for querying Bitcoiny-related info like block headers, transaction outputs, etc. */
public class ElectrumX extends BitcoinyBlockchainProvider {
diff --git a/src/main/java/org/qortal/crosschain/Litecoin.java b/src/main/java/org/qortal/crosschain/Litecoin.java
index 22825c74..a0f7c1cb 100644
--- a/src/main/java/org/qortal/crosschain/Litecoin.java
+++ b/src/main/java/org/qortal/crosschain/Litecoin.java
@@ -1,10 +1,5 @@
package org.qortal.crosschain;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
@@ -15,6 +10,11 @@ import org.qortal.crosschain.ElectrumX.Server;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
import org.qortal.settings.Settings;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
+
public class Litecoin extends Bitcoiny {
public static final String CURRENCY_CODE = "LTC";
diff --git a/src/main/java/org/qortal/crosschain/LitecoinACCTv1.java b/src/main/java/org/qortal/crosschain/LitecoinACCTv1.java
index efd7043e..ea91501e 100644
--- a/src/main/java/org/qortal/crosschain/LitecoinACCTv1.java
+++ b/src/main/java/org/qortal/crosschain/LitecoinACCTv1.java
@@ -1,17 +1,8 @@
package org.qortal.crosschain;
-import static org.ciyam.at.OpCode.calcOffset;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-
-import org.ciyam.at.API;
-import org.ciyam.at.CompilationException;
-import org.ciyam.at.FunctionCode;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import com.google.common.hash.HashCode;
+import com.google.common.primitives.Bytes;
+import org.ciyam.at.*;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.at.QortalFunctionCode;
@@ -25,8 +16,11 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Base58;
import org.qortal.utils.BitTwiddling;
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Bytes;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.ciyam.at.OpCode.calcOffset;
/**
* Cross-chain trade AT
diff --git a/src/main/java/org/qortal/crosschain/PirateChain.java b/src/main/java/org/qortal/crosschain/PirateChain.java
index 4881c8bb..403d90e5 100644
--- a/src/main/java/org/qortal/crosschain/PirateChain.java
+++ b/src/main/java/org/qortal/crosschain/PirateChain.java
@@ -4,12 +4,6 @@ import cash.z.wallet.sdk.rpc.CompactFormats;
import com.google.common.hash.HashCode;
import com.rust.litewalletjni.LiteWalletJni;
import org.bitcoinj.core.*;
-import org.bitcoinj.crypto.ChildNumber;
-import org.bitcoinj.crypto.DeterministicKey;
-import org.bitcoinj.script.Script;
-import org.bitcoinj.script.ScriptBuilder;
-import org.bitcoinj.wallet.DeterministicKeyChain;
-import org.bitcoinj.wallet.Wallet;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/src/main/java/org/qortal/crosschain/PirateChainHTLC.java b/src/main/java/org/qortal/crosschain/PirateChainHTLC.java
index 17f7ad74..cf933951 100644
--- a/src/main/java/org/qortal/crosschain/PirateChainHTLC.java
+++ b/src/main/java/org/qortal/crosschain/PirateChainHTLC.java
@@ -10,6 +10,7 @@ import org.qortal.utils.Base58;
import org.qortal.utils.BitTwiddling;
import java.util.*;
+
import static org.qortal.crosschain.BitcoinyHTLC.Status;
public class PirateChainHTLC {
diff --git a/src/main/java/org/qortal/crosschain/PirateLightClient.java b/src/main/java/org/qortal/crosschain/PirateLightClient.java
index 63bcd5fa..be4370a0 100644
--- a/src/main/java/org/qortal/crosschain/PirateLightClient.java
+++ b/src/main/java/org/qortal/crosschain/PirateLightClient.java
@@ -1,6 +1,6 @@
package org.qortal.crosschain;
-import cash.z.wallet.sdk.rpc.CompactFormats.*;
+import cash.z.wallet.sdk.rpc.CompactFormats.CompactBlock;
import cash.z.wallet.sdk.rpc.CompactTxStreamerGrpc;
import cash.z.wallet.sdk.rpc.Service;
import cash.z.wallet.sdk.rpc.Service.*;
diff --git a/src/main/java/org/qortal/crosschain/Ravencoin.java b/src/main/java/org/qortal/crosschain/Ravencoin.java
index 51b65f68..6b267a00 100644
--- a/src/main/java/org/qortal/crosschain/Ravencoin.java
+++ b/src/main/java/org/qortal/crosschain/Ravencoin.java
@@ -1,10 +1,5 @@
package org.qortal.crosschain;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Context;
import org.bitcoinj.core.NetworkParameters;
@@ -15,6 +10,11 @@ import org.qortal.crosschain.ElectrumX.Server;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
import org.qortal.settings.Settings;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
+
public class Ravencoin extends Bitcoiny {
public static final String CURRENCY_CODE = "RVN";
diff --git a/src/main/java/org/qortal/crosschain/SupportedBlockchain.java b/src/main/java/org/qortal/crosschain/SupportedBlockchain.java
index 5ddb6aec..7b692644 100644
--- a/src/main/java/org/qortal/crosschain/SupportedBlockchain.java
+++ b/src/main/java/org/qortal/crosschain/SupportedBlockchain.java
@@ -1,5 +1,8 @@
package org.qortal.crosschain;
+import org.qortal.utils.ByteArray;
+import org.qortal.utils.Triple;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -7,9 +10,6 @@ import java.util.Map;
import java.util.function.Supplier;
import java.util.stream.Collectors;
-import org.qortal.utils.ByteArray;
-import org.qortal.utils.Triple;
-
public enum SupportedBlockchain {
BITCOIN(Arrays.asList(
diff --git a/src/main/java/org/qortal/crypto/AES.java b/src/main/java/org/qortal/crypto/AES.java
index 1286fb81..d42e22f9 100644
--- a/src/main/java/org/qortal/crypto/AES.java
+++ b/src/main/java/org/qortal/crypto/AES.java
@@ -26,22 +26,11 @@
package org.qortal.crypto;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
-import javax.crypto.BadPaddingException;
-import javax.crypto.KeyGenerator;
-import javax.crypto.SecretKeyFactory;
-import javax.crypto.SealedObject;
+import javax.crypto.*;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.Serializable;
+import java.io.*;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
diff --git a/src/main/java/org/qortal/crypto/BouncyCastleEd25519.java b/src/main/java/org/qortal/crypto/BouncyCastleEd25519.java
index ebcf0f97..41f61023 100644
--- a/src/main/java/org/qortal/crypto/BouncyCastleEd25519.java
+++ b/src/main/java/org/qortal/crypto/BouncyCastleEd25519.java
@@ -1,7 +1,5 @@
package org.qortal.crypto;
-import java.security.SecureRandom;
-
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.digests.SHA512Digest;
import org.bouncycastle.math.ec.rfc7748.X25519;
@@ -11,6 +9,8 @@ import org.bouncycastle.math.raw.Nat;
import org.bouncycastle.math.raw.Nat256;
import org.bouncycastle.util.Arrays;
+import java.security.SecureRandom;
+
/**
* Duplicate of {@link org.bouncycastle.math.ec.rfc8032.Ed25519},
* but with {@code private} modifiers replaced with {@code protected},
diff --git a/src/main/java/org/qortal/crypto/Credentials.java b/src/main/java/org/qortal/crypto/Credentials.java
index 8fee58b2..2061d1eb 100644
--- a/src/main/java/org/qortal/crypto/Credentials.java
+++ b/src/main/java/org/qortal/crypto/Credentials.java
@@ -1,10 +1,6 @@
package org.qortal.crypto;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
diff --git a/src/main/java/org/qortal/crypto/Crypto.java b/src/main/java/org/qortal/crypto/Crypto.java
index 75e5028e..3beb7abd 100644
--- a/src/main/java/org/qortal/crypto/Crypto.java
+++ b/src/main/java/org/qortal/crypto/Crypto.java
@@ -1,5 +1,13 @@
package org.qortal.crypto;
+import com.google.common.primitives.Bytes;
+import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
+import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
+import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
+import org.bouncycastle.math.ec.rfc8032.Ed25519;
+import org.qortal.account.Account;
+import org.qortal.utils.Base58;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -8,15 +16,6 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
-import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
-import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
-import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
-import org.bouncycastle.math.ec.rfc8032.Ed25519;
-import org.qortal.account.Account;
-import org.qortal.utils.Base58;
-
-import com.google.common.primitives.Bytes;
-
public abstract class Crypto {
public static final int SIGNATURE_LENGTH = 64;
diff --git a/src/main/java/org/qortal/crypto/TrustlessSSLSocketFactory.java b/src/main/java/org/qortal/crypto/TrustlessSSLSocketFactory.java
index f723e651..f14efae8 100644
--- a/src/main/java/org/qortal/crypto/TrustlessSSLSocketFactory.java
+++ b/src/main/java/org/qortal/crypto/TrustlessSSLSocketFactory.java
@@ -1,11 +1,10 @@
package org.qortal.crypto;
-import java.security.cert.X509Certificate;
-
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
+import java.security.cert.X509Certificate;
public abstract class TrustlessSSLSocketFactory {
diff --git a/src/main/java/org/qortal/data/account/AccountBalanceData.java b/src/main/java/org/qortal/data/account/AccountBalanceData.java
index 94c03ab4..37408baf 100644
--- a/src/main/java/org/qortal/data/account/AccountBalanceData.java
+++ b/src/main/java/org/qortal/data/account/AccountBalanceData.java
@@ -1,12 +1,12 @@
package org.qortal.data.account;
+import org.qortal.utils.Amounts;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.utils.Amounts;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class AccountBalanceData {
diff --git a/src/main/java/org/qortal/data/account/AccountData.java b/src/main/java/org/qortal/data/account/AccountData.java
index 868d1bc1..eb998a08 100644
--- a/src/main/java/org/qortal/data/account/AccountData.java
+++ b/src/main/java/org/qortal/data/account/AccountData.java
@@ -1,10 +1,10 @@
package org.qortal.data.account;
+import org.qortal.group.Group;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.qortal.group.Group;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class AccountData {
diff --git a/src/main/java/org/qortal/data/account/MintingAccountData.java b/src/main/java/org/qortal/data/account/MintingAccountData.java
index 63c6c723..26bc4e27 100644
--- a/src/main/java/org/qortal/data/account/MintingAccountData.java
+++ b/src/main/java/org/qortal/data/account/MintingAccountData.java
@@ -1,16 +1,15 @@
package org.qortal.data.account;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.json.JSONObject;
+import org.qortal.crypto.Crypto;
+import org.qortal.utils.Base58;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.json.JSONObject;
-import org.qortal.crypto.Crypto;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-import org.qortal.utils.Base58;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class MintingAccountData {
diff --git a/src/main/java/org/qortal/data/account/RewardShareData.java b/src/main/java/org/qortal/data/account/RewardShareData.java
index ead1bbd9..b93fb945 100644
--- a/src/main/java/org/qortal/data/account/RewardShareData.java
+++ b/src/main/java/org/qortal/data/account/RewardShareData.java
@@ -1,16 +1,14 @@
package org.qortal.data.account;
-import java.math.BigDecimal;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.utils.Base58;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.qortal.utils.Base58;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/arbitrary/ArbitraryRelayInfo.java b/src/main/java/org/qortal/data/arbitrary/ArbitraryRelayInfo.java
index 17c1acac..80b4efcf 100644
--- a/src/main/java/org/qortal/data/arbitrary/ArbitraryRelayInfo.java
+++ b/src/main/java/org/qortal/data/arbitrary/ArbitraryRelayInfo.java
@@ -1,6 +1,7 @@
package org.qortal.data.arbitrary;
import org.qortal.network.Peer;
+
import java.util.Objects;
public class ArbitraryRelayInfo {
diff --git a/src/main/java/org/qortal/data/asset/AssetData.java b/src/main/java/org/qortal/data/asset/AssetData.java
index 2477f751..8e944720 100644
--- a/src/main/java/org/qortal/data/asset/AssetData.java
+++ b/src/main/java/org/qortal/data/asset/AssetData.java
@@ -1,11 +1,11 @@
package org.qortal.data.asset;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class AssetData {
diff --git a/src/main/java/org/qortal/data/asset/OrderData.java b/src/main/java/org/qortal/data/asset/OrderData.java
index eb4e5c63..76fca4c6 100644
--- a/src/main/java/org/qortal/data/asset/OrderData.java
+++ b/src/main/java/org/qortal/data/asset/OrderData.java
@@ -1,15 +1,14 @@
package org.qortal.data.asset;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.crypto.Crypto;
+
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.crypto.Crypto;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class OrderData implements Comparable {
diff --git a/src/main/java/org/qortal/data/asset/RecentTradeData.java b/src/main/java/org/qortal/data/asset/RecentTradeData.java
index 56a83180..37bd63ef 100644
--- a/src/main/java/org/qortal/data/asset/RecentTradeData.java
+++ b/src/main/java/org/qortal/data/asset/RecentTradeData.java
@@ -1,11 +1,10 @@
package org.qortal.data.asset;
-import java.math.BigDecimal;
+import io.swagger.v3.oas.annotations.media.Schema;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/asset/TradeData.java b/src/main/java/org/qortal/data/asset/TradeData.java
index af827f38..74ad2a62 100644
--- a/src/main/java/org/qortal/data/asset/TradeData.java
+++ b/src/main/java/org/qortal/data/asset/TradeData.java
@@ -1,5 +1,8 @@
package org.qortal.data.asset;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@@ -7,9 +10,6 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class TradeData {
diff --git a/src/main/java/org/qortal/data/block/BlockArchiveData.java b/src/main/java/org/qortal/data/block/BlockArchiveData.java
index c9db4032..27898a52 100644
--- a/src/main/java/org/qortal/data/block/BlockArchiveData.java
+++ b/src/main/java/org/qortal/data/block/BlockArchiveData.java
@@ -1,7 +1,5 @@
package org.qortal.data.block;
-import org.qortal.block.Block;
-
public class BlockArchiveData {
// Properties
diff --git a/src/main/java/org/qortal/data/block/BlockData.java b/src/main/java/org/qortal/data/block/BlockData.java
index 763bca45..ffae8751 100644
--- a/src/main/java/org/qortal/data/block/BlockData.java
+++ b/src/main/java/org/qortal/data/block/BlockData.java
@@ -1,18 +1,16 @@
package org.qortal.data.block;
import com.google.common.primitives.Bytes;
-
-import java.io.Serializable;
+import org.qortal.block.BlockChain;
+import org.qortal.crypto.Crypto;
+import org.qortal.settings.Settings;
+import org.qortal.utils.NTP;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.qortal.block.BlockChain;
-import org.qortal.settings.Settings;
-import org.qortal.crypto.Crypto;
-import org.qortal.utils.NTP;
+import java.io.Serializable;
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/chat/ActiveChats.java b/src/main/java/org/qortal/data/chat/ActiveChats.java
index 248af82e..f24c2666 100644
--- a/src/main/java/org/qortal/data/chat/ActiveChats.java
+++ b/src/main/java/org/qortal/data/chat/ActiveChats.java
@@ -3,10 +3,9 @@ package org.qortal.data.chat;
import org.bouncycastle.util.encoders.Base64;
import org.qortal.utils.Base58;
-import java.util.List;
-
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import java.util.List;
import static org.qortal.data.chat.ChatMessage.Encoding;
diff --git a/src/main/java/org/qortal/data/crosschain/CrossChainTradeData.java b/src/main/java/org/qortal/data/crosschain/CrossChainTradeData.java
index edc115b6..d3656107 100644
--- a/src/main/java/org/qortal/data/crosschain/CrossChainTradeData.java
+++ b/src/main/java/org/qortal/data/crosschain/CrossChainTradeData.java
@@ -1,13 +1,12 @@
package org.qortal.data.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.crosschain.AcctMode;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.crosschain.AcctMode;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class CrossChainTradeData {
diff --git a/src/main/java/org/qortal/data/crosschain/TradeBotData.java b/src/main/java/org/qortal/data/crosschain/TradeBotData.java
index 19481466..15b7c448 100644
--- a/src/main/java/org/qortal/data/crosschain/TradeBotData.java
+++ b/src/main/java/org/qortal/data/crosschain/TradeBotData.java
@@ -1,15 +1,14 @@
package org.qortal.data.crosschain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.json.JSONObject;
+import org.qortal.utils.Base58;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import org.json.JSONObject;
-
-import org.qortal.utils.Base58;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class TradeBotData {
diff --git a/src/main/java/org/qortal/data/group/GroupAdminData.java b/src/main/java/org/qortal/data/group/GroupAdminData.java
index b9fea54b..6a7f8776 100644
--- a/src/main/java/org/qortal/data/group/GroupAdminData.java
+++ b/src/main/java/org/qortal/data/group/GroupAdminData.java
@@ -1,11 +1,11 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupAdminData {
diff --git a/src/main/java/org/qortal/data/group/GroupBanData.java b/src/main/java/org/qortal/data/group/GroupBanData.java
index 5e2abe52..e7f456dc 100644
--- a/src/main/java/org/qortal/data/group/GroupBanData.java
+++ b/src/main/java/org/qortal/data/group/GroupBanData.java
@@ -1,11 +1,11 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupBanData {
diff --git a/src/main/java/org/qortal/data/group/GroupData.java b/src/main/java/org/qortal/data/group/GroupData.java
index ae9a0388..3ecca0ef 100644
--- a/src/main/java/org/qortal/data/group/GroupData.java
+++ b/src/main/java/org/qortal/data/group/GroupData.java
@@ -1,13 +1,12 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.group.Group.ApprovalThreshold;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.group.Group.ApprovalThreshold;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupData {
diff --git a/src/main/java/org/qortal/data/group/GroupInviteData.java b/src/main/java/org/qortal/data/group/GroupInviteData.java
index 50c0a8c2..2b01a8dd 100644
--- a/src/main/java/org/qortal/data/group/GroupInviteData.java
+++ b/src/main/java/org/qortal/data/group/GroupInviteData.java
@@ -1,11 +1,11 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupInviteData {
diff --git a/src/main/java/org/qortal/data/group/GroupJoinRequestData.java b/src/main/java/org/qortal/data/group/GroupJoinRequestData.java
index b084aa66..5338ba3d 100644
--- a/src/main/java/org/qortal/data/group/GroupJoinRequestData.java
+++ b/src/main/java/org/qortal/data/group/GroupJoinRequestData.java
@@ -1,11 +1,11 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupJoinRequestData {
diff --git a/src/main/java/org/qortal/data/group/GroupMemberData.java b/src/main/java/org/qortal/data/group/GroupMemberData.java
index 87b1ae41..b82fe327 100644
--- a/src/main/java/org/qortal/data/group/GroupMemberData.java
+++ b/src/main/java/org/qortal/data/group/GroupMemberData.java
@@ -1,11 +1,11 @@
package org.qortal.data.group;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class GroupMemberData {
diff --git a/src/main/java/org/qortal/data/naming/NameData.java b/src/main/java/org/qortal/data/naming/NameData.java
index 83681712..16e490a2 100644
--- a/src/main/java/org/qortal/data/naming/NameData.java
+++ b/src/main/java/org/qortal/data/naming/NameData.java
@@ -1,12 +1,12 @@
package org.qortal.data.naming;
+import io.swagger.v3.oas.annotations.media.Schema;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAX-RS
@XmlAccessorType(XmlAccessType.FIELD)
public class NameData {
diff --git a/src/main/java/org/qortal/data/network/OnlineAccountData.java b/src/main/java/org/qortal/data/network/OnlineAccountData.java
index a1e1b30f..8b763bd9 100644
--- a/src/main/java/org/qortal/data/network/OnlineAccountData.java
+++ b/src/main/java/org/qortal/data/network/OnlineAccountData.java
@@ -1,14 +1,13 @@
package org.qortal.data.network;
-import java.util.Arrays;
-import java.util.Objects;
+import org.qortal.account.PublicKeyAccount;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
-
-import org.qortal.account.PublicKeyAccount;
+import java.util.Arrays;
+import java.util.Objects;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/network/PeerData.java b/src/main/java/org/qortal/data/network/PeerData.java
index 471685dd..0b776d6c 100644
--- a/src/main/java/org/qortal/data/network/PeerData.java
+++ b/src/main/java/org/qortal/data/network/PeerData.java
@@ -1,14 +1,13 @@
package org.qortal.data.network;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.network.PeerAddress;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.network.PeerAddress;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
public class PeerData {
diff --git a/src/main/java/org/qortal/data/transaction/ATTransactionData.java b/src/main/java/org/qortal/data/transaction/ATTransactionData.java
index 5d5d640b..9cd50055 100644
--- a/src/main/java/org/qortal/data/transaction/ATTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/ATTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.account.NullAccount;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.account.NullAccount;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/AccountFlagsTransactionData.java b/src/main/java/org/qortal/data/transaction/AccountFlagsTransactionData.java
index f5f29e1b..75c8d29e 100644
--- a/src/main/java/org/qortal/data/transaction/AccountFlagsTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/AccountFlagsTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.account.NullAccount;
import org.qortal.block.GenesisBlock;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/AccountLevelTransactionData.java b/src/main/java/org/qortal/data/transaction/AccountLevelTransactionData.java
index 4b55e375..86de8677 100644
--- a/src/main/java/org/qortal/data/transaction/AccountLevelTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/AccountLevelTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.account.NullAccount;
import org.qortal.block.GenesisBlock;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/AddGroupAdminTransactionData.java b/src/main/java/org/qortal/data/transaction/AddGroupAdminTransactionData.java
index 3c2930b6..e77a6f6a 100644
--- a/src/main/java/org/qortal/data/transaction/AddGroupAdminTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/AddGroupAdminTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java b/src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java
index 3ab06ecc..6e55e280 100644
--- a/src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java
@@ -1,18 +1,16 @@
package org.qortal.data.transaction;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.arbitrary.misc.Service;
import org.qortal.data.PaymentData;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.util.List;
+import java.util.Map;
import static java.util.Arrays.stream;
import static java.util.stream.Collectors.toMap;
diff --git a/src/main/java/org/qortal/data/transaction/BuyNameTransactionData.java b/src/main/java/org/qortal/data/transaction/BuyNameTransactionData.java
index 014e1f54..fffdc293 100644
--- a/src/main/java/org/qortal/data/transaction/BuyNameTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/BuyNameTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CancelAssetOrderTransactionData.java b/src/main/java/org/qortal/data/transaction/CancelAssetOrderTransactionData.java
index 5582d5a5..9688162f 100644
--- a/src/main/java/org/qortal/data/transaction/CancelAssetOrderTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CancelAssetOrderTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-import org.qortal.transaction.Transaction;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CancelGroupBanTransactionData.java b/src/main/java/org/qortal/data/transaction/CancelGroupBanTransactionData.java
index 20af8321..d4cbeee4 100644
--- a/src/main/java/org/qortal/data/transaction/CancelGroupBanTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CancelGroupBanTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CancelGroupInviteTransactionData.java b/src/main/java/org/qortal/data/transaction/CancelGroupInviteTransactionData.java
index 3b3405c5..f30130ea 100644
--- a/src/main/java/org/qortal/data/transaction/CancelGroupInviteTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CancelGroupInviteTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CancelSellNameTransactionData.java b/src/main/java/org/qortal/data/transaction/CancelSellNameTransactionData.java
index 14677daf..602db975 100644
--- a/src/main/java/org/qortal/data/transaction/CancelSellNameTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CancelSellNameTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/ChatTransactionData.java b/src/main/java/org/qortal/data/transaction/ChatTransactionData.java
index 5a6adf7f..aaa5e9b8 100644
--- a/src/main/java/org/qortal/data/transaction/ChatTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/ChatTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CreateAssetOrderTransactionData.java b/src/main/java/org/qortal/data/transaction/CreateAssetOrderTransactionData.java
index 6b048541..00379976 100644
--- a/src/main/java/org/qortal/data/transaction/CreateAssetOrderTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CreateAssetOrderTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java
index 2471bb2f..8f770668 100644
--- a/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CreateGroupTransactionData.java
@@ -1,19 +1,18 @@
package org.qortal.data.transaction;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.block.GenesisBlock;
import org.qortal.group.Group.ApprovalThreshold;
import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.utils.Unicode;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/CreatePollTransactionData.java b/src/main/java/org/qortal/data/transaction/CreatePollTransactionData.java
index 8b904aa0..1a04d0b8 100644
--- a/src/main/java/org/qortal/data/transaction/CreatePollTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/CreatePollTransactionData.java
@@ -1,17 +1,15 @@
package org.qortal.data.transaction;
-import java.util.List;
-
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.data.voting.PollOptionData;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.util.List;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/DeployAtTransactionData.java b/src/main/java/org/qortal/data/transaction/DeployAtTransactionData.java
index fed69cd5..72c1fee0 100644
--- a/src/main/java/org/qortal/data/transaction/DeployAtTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/DeployAtTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/GenesisTransactionData.java b/src/main/java/org/qortal/data/transaction/GenesisTransactionData.java
index e425f136..7d3b4a52 100644
--- a/src/main/java/org/qortal/data/transaction/GenesisTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/GenesisTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.asset.Asset;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/GroupApprovalTransactionData.java b/src/main/java/org/qortal/data/transaction/GroupApprovalTransactionData.java
index fbf764de..a44cdbd8 100644
--- a/src/main/java/org/qortal/data/transaction/GroupApprovalTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/GroupApprovalTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(
diff --git a/src/main/java/org/qortal/data/transaction/GroupBanTransactionData.java b/src/main/java/org/qortal/data/transaction/GroupBanTransactionData.java
index 18b89f73..d4e5e148 100644
--- a/src/main/java/org/qortal/data/transaction/GroupBanTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/GroupBanTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(
diff --git a/src/main/java/org/qortal/data/transaction/GroupInviteTransactionData.java b/src/main/java/org/qortal/data/transaction/GroupInviteTransactionData.java
index bc1b515e..0428e2b0 100644
--- a/src/main/java/org/qortal/data/transaction/GroupInviteTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/GroupInviteTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/GroupKickTransactionData.java b/src/main/java/org/qortal/data/transaction/GroupKickTransactionData.java
index aba68a15..36a4ed66 100644
--- a/src/main/java/org/qortal/data/transaction/GroupKickTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/GroupKickTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(
diff --git a/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java b/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java
index b24a9634..c4101e48 100644
--- a/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/IssueAssetTransactionData.java
@@ -1,19 +1,18 @@
package org.qortal.data.transaction;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
import org.qortal.account.NullAccount;
import org.qortal.block.GenesisBlock;
import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.utils.Unicode;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/JoinGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/JoinGroupTransactionData.java
index b64324ca..103d8ec5 100644
--- a/src/main/java/org/qortal/data/transaction/JoinGroupTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/JoinGroupTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/LeaveGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/LeaveGroupTransactionData.java
index 46c6742d..5946a0ad 100644
--- a/src/main/java/org/qortal/data/transaction/LeaveGroupTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/LeaveGroupTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/MessageTransactionData.java b/src/main/java/org/qortal/data/transaction/MessageTransactionData.java
index a61dbca6..446967d5 100644
--- a/src/main/java/org/qortal/data/transaction/MessageTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/MessageTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/MultiPaymentTransactionData.java b/src/main/java/org/qortal/data/transaction/MultiPaymentTransactionData.java
index 027116f5..c7d31f27 100644
--- a/src/main/java/org/qortal/data/transaction/MultiPaymentTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/MultiPaymentTransactionData.java
@@ -1,16 +1,14 @@
package org.qortal.data.transaction;
-import java.util.List;
-
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
+import io.swagger.v3.oas.annotations.media.Schema;
import org.qortal.data.PaymentData;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.util.List;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/data/transaction/PaymentTransactionData.java b/src/main/java/org/qortal/data/transaction/PaymentTransactionData.java
index 94d8ab45..b760bf6c 100644
--- a/src/main/java/org/qortal/data/transaction/PaymentTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/PaymentTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema( allOf = { TransactionData.class } )
diff --git a/src/main/java/org/qortal/data/transaction/PresenceTransactionData.java b/src/main/java/org/qortal/data/transaction/PresenceTransactionData.java
index 001bd5b4..d3957a0d 100644
--- a/src/main/java/org/qortal/data/transaction/PresenceTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/PresenceTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.PresenceTransaction.PresenceType;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.qortal.transaction.PresenceTransaction.PresenceType;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/PublicizeTransactionData.java b/src/main/java/org/qortal/data/transaction/PublicizeTransactionData.java
index cdb9129d..73c49941 100644
--- a/src/main/java/org/qortal/data/transaction/PublicizeTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/PublicizeTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java b/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java
index c2b06fd2..39e84e3f 100644
--- a/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/RegisterNameTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+import org.qortal.utils.Unicode;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-import org.qortal.utils.Unicode;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/RemoveGroupAdminTransactionData.java b/src/main/java/org/qortal/data/transaction/RemoveGroupAdminTransactionData.java
index 4501488d..b9c1470a 100644
--- a/src/main/java/org/qortal/data/transaction/RemoveGroupAdminTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/RemoveGroupAdminTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/RewardShareTransactionData.java b/src/main/java/org/qortal/data/transaction/RewardShareTransactionData.java
index 5513d605..04d2b112 100644
--- a/src/main/java/org/qortal/data/transaction/RewardShareTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/RewardShareTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = {TransactionData.class})
diff --git a/src/main/java/org/qortal/data/transaction/SellNameTransactionData.java b/src/main/java/org/qortal/data/transaction/SellNameTransactionData.java
index eb74ecde..d8501428 100644
--- a/src/main/java/org/qortal/data/transaction/SellNameTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/SellNameTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/SetGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/SetGroupTransactionData.java
index f971bb08..b3346756 100644
--- a/src/main/java/org/qortal/data/transaction/SetGroupTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/SetGroupTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(
diff --git a/src/main/java/org/qortal/data/transaction/TransactionData.java b/src/main/java/org/qortal/data/transaction/TransactionData.java
index 21628bb9..467eafa6 100644
--- a/src/main/java/org/qortal/data/transaction/TransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/TransactionData.java
@@ -1,15 +1,7 @@
package org.qortal.data.transaction;
-import java.math.BigInteger;
-import java.util.Arrays;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorNode;
import org.qortal.crypto.Crypto;
import org.qortal.data.voting.PollData;
@@ -17,8 +9,10 @@ import org.qortal.data.voting.VoteOnPollData;
import org.qortal.transaction.Transaction.ApprovalStatus;
import org.qortal.transaction.Transaction.TransactionType;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.math.BigInteger;
+import java.util.Arrays;
/*
* If you encounter an error like:
diff --git a/src/main/java/org/qortal/data/transaction/TransferAssetTransactionData.java b/src/main/java/org/qortal/data/transaction/TransferAssetTransactionData.java
index e1036aeb..78a7f278 100644
--- a/src/main/java/org/qortal/data/transaction/TransferAssetTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/TransferAssetTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/TransferPrivsTransactionData.java b/src/main/java/org/qortal/data/transaction/TransferPrivsTransactionData.java
index bd2ea5bb..238a1f23 100644
--- a/src/main/java/org/qortal/data/transaction/TransferPrivsTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/TransferPrivsTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/UpdateAssetTransactionData.java b/src/main/java/org/qortal/data/transaction/UpdateAssetTransactionData.java
index 70c3a969..17ae55f2 100644
--- a/src/main/java/org/qortal/data/transaction/UpdateAssetTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/UpdateAssetTransactionData.java
@@ -1,14 +1,13 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/UpdateGroupTransactionData.java b/src/main/java/org/qortal/data/transaction/UpdateGroupTransactionData.java
index 871a8339..a24f912d 100644
--- a/src/main/java/org/qortal/data/transaction/UpdateGroupTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/UpdateGroupTransactionData.java
@@ -1,16 +1,15 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.group.Group.ApprovalThreshold;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.group.Group.ApprovalThreshold;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema( allOf = { TransactionData.class } )
diff --git a/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java b/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java
index 1fda16a5..2c959612 100644
--- a/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/UpdateNameTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.qortal.transaction.Transaction.TransactionType;
+import org.qortal.utils.Unicode;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.qortal.transaction.Transaction.TransactionType;
-import org.qortal.utils.Unicode;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/data/transaction/VoteOnPollTransactionData.java b/src/main/java/org/qortal/data/transaction/VoteOnPollTransactionData.java
index a23d5e2b..ab233d2e 100644
--- a/src/main/java/org/qortal/data/transaction/VoteOnPollTransactionData.java
+++ b/src/main/java/org/qortal/data/transaction/VoteOnPollTransactionData.java
@@ -1,15 +1,14 @@
package org.qortal.data.transaction;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
+import org.qortal.transaction.Transaction.TransactionType;
+
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
-import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
-import org.qortal.transaction.Transaction.TransactionType;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
@Schema(allOf = { TransactionData.class })
diff --git a/src/main/java/org/qortal/event/EventBus.java b/src/main/java/org/qortal/event/EventBus.java
index 6114c2c6..5656708c 100644
--- a/src/main/java/org/qortal/event/EventBus.java
+++ b/src/main/java/org/qortal/event/EventBus.java
@@ -1,11 +1,11 @@
package org.qortal.event;
-import java.util.ArrayList;
-import java.util.List;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.util.ArrayList;
+import java.util.List;
+
public enum EventBus {
INSTANCE;
diff --git a/src/main/java/org/qortal/globalization/BIP39WordList.java b/src/main/java/org/qortal/globalization/BIP39WordList.java
index 3f1c7a11..8203c46d 100644
--- a/src/main/java/org/qortal/globalization/BIP39WordList.java
+++ b/src/main/java/org/qortal/globalization/BIP39WordList.java
@@ -1,5 +1,8 @@
package org.qortal.globalization;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -10,9 +13,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
/** Providing multi-language BIP39 word lists, downloaded from https://github.com/bitcoin/bips/tree/master/bip-0039 */
public enum BIP39WordList {
INSTANCE;
diff --git a/src/main/java/org/qortal/globalization/Translator.java b/src/main/java/org/qortal/globalization/Translator.java
index 6481dde7..6f1ffa3f 100644
--- a/src/main/java/org/qortal/globalization/Translator.java
+++ b/src/main/java/org/qortal/globalization/Translator.java
@@ -1,17 +1,11 @@
package org.qortal.globalization;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.MissingFormatArgumentException;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.settings.Settings;
+import java.util.*;
+
public enum Translator {
INSTANCE;
diff --git a/src/main/java/org/qortal/group/Group.java b/src/main/java/org/qortal/group/Group.java
index 465743a9..59e32545 100644
--- a/src/main/java/org/qortal/group/Group.java
+++ b/src/main/java/org/qortal/group/Group.java
@@ -1,37 +1,21 @@
package org.qortal.group;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.util.Arrays;
-import java.util.Map;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.controller.Controller;
import org.qortal.crypto.Crypto;
-import org.qortal.data.group.GroupAdminData;
-import org.qortal.data.group.GroupBanData;
-import org.qortal.data.group.GroupData;
-import org.qortal.data.group.GroupInviteData;
-import org.qortal.data.group.GroupJoinRequestData;
-import org.qortal.data.group.GroupMemberData;
-import org.qortal.data.transaction.AddGroupAdminTransactionData;
-import org.qortal.data.transaction.CancelGroupBanTransactionData;
-import org.qortal.data.transaction.CancelGroupInviteTransactionData;
-import org.qortal.data.transaction.CreateGroupTransactionData;
-import org.qortal.data.transaction.GroupBanTransactionData;
-import org.qortal.data.transaction.GroupInviteTransactionData;
-import org.qortal.data.transaction.GroupKickTransactionData;
-import org.qortal.data.transaction.JoinGroupTransactionData;
-import org.qortal.data.transaction.LeaveGroupTransactionData;
-import org.qortal.data.transaction.RemoveGroupAdminTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.UpdateGroupTransactionData;
+import org.qortal.data.group.*;
+import org.qortal.data.transaction.*;
import org.qortal.repository.DataException;
import org.qortal.repository.GroupRepository;
import org.qortal.repository.Repository;
+import java.util.Arrays;
+import java.util.Map;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
+
public class Group {
/** Group-admin quora threshold for approving transactions */
diff --git a/src/main/java/org/qortal/gui/Gui.java b/src/main/java/org/qortal/gui/Gui.java
index 4944db52..5d7d4533 100644
--- a/src/main/java/org/qortal/gui/Gui.java
+++ b/src/main/java/org/qortal/gui/Gui.java
@@ -1,19 +1,16 @@
package org.qortal.gui;
-import java.awt.GraphicsEnvironment;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import javax.imageio.ImageIO;
+import javax.swing.*;
+import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.ServiceConfigurationError;
-import javax.imageio.ImageIO;
-import javax.swing.JOptionPane;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
public class Gui {
private static final Logger LOGGER = LogManager.getLogger(Gui.class);
diff --git a/src/main/java/org/qortal/gui/SplashFrame.java b/src/main/java/org/qortal/gui/SplashFrame.java
index c4ea51d0..de2e2d34 100644
--- a/src/main/java/org/qortal/gui/SplashFrame.java
+++ b/src/main/java/org/qortal/gui/SplashFrame.java
@@ -1,17 +1,16 @@
package org.qortal.gui;
-import java.awt.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.awt.image.BufferedImage;
-
-import javax.swing.*;
-import javax.swing.border.EmptyBorder;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.controller.Controller;
+import javax.swing.*;
+import javax.swing.border.EmptyBorder;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
+import java.util.List;
+
public class SplashFrame {
protected static final Logger LOGGER = LogManager.getLogger(SplashFrame.class);
diff --git a/src/main/java/org/qortal/gui/SysTray.java b/src/main/java/org/qortal/gui/SysTray.java
index 4d02658d..abd433f3 100644
--- a/src/main/java/org/qortal/gui/SysTray.java
+++ b/src/main/java/org/qortal/gui/SysTray.java
@@ -1,9 +1,17 @@
package org.qortal.gui;
-import java.awt.AWTError;
-import java.awt.AWTException;
-import java.awt.SystemTray;
-import java.awt.TrayIcon;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.qortal.controller.Controller;
+import org.qortal.globalization.Translator;
+import org.qortal.settings.Settings;
+import org.qortal.utils.RandomizeList;
+import org.qortal.utils.URLViewer;
+
+import javax.swing.*;
+import javax.swing.event.PopupMenuEvent;
+import javax.swing.event.PopupMenuListener;
+import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
@@ -21,22 +29,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.swing.JDialog;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPopupMenu;
-import javax.swing.SwingWorker;
-import javax.swing.event.PopupMenuEvent;
-import javax.swing.event.PopupMenuListener;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.qortal.controller.Controller;
-import org.qortal.globalization.Translator;
-import org.qortal.settings.Settings;
-import org.qortal.utils.RandomizeList;
-import org.qortal.utils.URLViewer;
-
public class SysTray {
protected static final Logger LOGGER = LogManager.getLogger(SysTray.class);
diff --git a/src/main/java/org/qortal/naming/Name.java b/src/main/java/org/qortal/naming/Name.java
index 1751cca8..704200dc 100644
--- a/src/main/java/org/qortal/naming/Name.java
+++ b/src/main/java/org/qortal/naming/Name.java
@@ -5,12 +5,7 @@ import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
import org.qortal.data.naming.NameData;
-import org.qortal.data.transaction.BuyNameTransactionData;
-import org.qortal.data.transaction.CancelSellNameTransactionData;
-import org.qortal.data.transaction.RegisterNameTransactionData;
-import org.qortal.data.transaction.SellNameTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.UpdateNameTransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.transaction.Transaction.TransactionType;
diff --git a/src/main/java/org/qortal/network/Handshake.java b/src/main/java/org/qortal/network/Handshake.java
index 341f4e21..221e5e74 100644
--- a/src/main/java/org/qortal/network/Handshake.java
+++ b/src/main/java/org/qortal/network/Handshake.java
@@ -1,25 +1,20 @@
package org.qortal.network;
-import java.util.Arrays;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.regex.Matcher;
-
+import com.google.common.primitives.Bytes;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.controller.Controller;
import org.qortal.crypto.Crypto;
import org.qortal.crypto.MemoryPoW;
-import org.qortal.network.message.ChallengeMessage;
-import org.qortal.network.message.HelloMessage;
-import org.qortal.network.message.Message;
-import org.qortal.network.message.MessageType;
+import org.qortal.network.message.*;
import org.qortal.settings.Settings;
-import org.qortal.network.message.ResponseMessage;
import org.qortal.utils.DaemonThreadFactory;
import org.qortal.utils.NTP;
-import com.google.common.primitives.Bytes;
+import java.util.Arrays;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.regex.Matcher;
public enum Handshake {
STARTED(null) {
diff --git a/src/main/java/org/qortal/network/Peer.java b/src/main/java/org/qortal/network/Peer.java
index 4c05d5b9..821f368c 100644
--- a/src/main/java/org/qortal/network/Peer.java
+++ b/src/main/java/org/qortal/network/Peer.java
@@ -27,7 +27,6 @@ import java.nio.channels.SocketChannel;
import java.security.SecureRandom;
import java.util.*;
import java.util.concurrent.*;
-import java.util.concurrent.atomic.LongAccumulator;
import java.util.concurrent.atomic.LongAdder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/src/main/java/org/qortal/network/PeerAddress.java b/src/main/java/org/qortal/network/PeerAddress.java
index 332ff484..66426093 100644
--- a/src/main/java/org/qortal/network/PeerAddress.java
+++ b/src/main/java/org/qortal/network/PeerAddress.java
@@ -1,18 +1,12 @@
package org.qortal.network;
-import java.net.Inet6Address;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
-import org.qortal.settings.Settings;
-
import com.google.common.net.HostAndPort;
import com.google.common.net.InetAddresses;
+import org.qortal.settings.Settings;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import java.net.*;
/**
* Convenience class for encapsulating/parsing/rendering/converting peer addresses
diff --git a/src/main/java/org/qortal/network/message/ArbitraryDataMessage.java b/src/main/java/org/qortal/network/message/ArbitraryDataMessage.java
index 142e35cc..8a5eb636 100644
--- a/src/main/java/org/qortal/network/message/ArbitraryDataMessage.java
+++ b/src/main/java/org/qortal/network/message/ArbitraryDataMessage.java
@@ -1,14 +1,13 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.Transformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.BufferUnderflowException;
import java.nio.ByteBuffer;
-import org.qortal.transform.Transformer;
-
-import com.google.common.primitives.Ints;
-
public class ArbitraryDataMessage extends Message {
private byte[] signature;
diff --git a/src/main/java/org/qortal/network/message/BlockMessage.java b/src/main/java/org/qortal/network/message/BlockMessage.java
index 0a8a23de..83b6d89e 100644
--- a/src/main/java/org/qortal/network/message/BlockMessage.java
+++ b/src/main/java/org/qortal/network/message/BlockMessage.java
@@ -1,8 +1,5 @@
package org.qortal.network.message;
-import java.nio.ByteBuffer;
-import java.util.List;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.data.at.ATStateData;
@@ -11,7 +8,9 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.transform.TransformationException;
import org.qortal.transform.block.BlockTransformation;
import org.qortal.transform.block.BlockTransformer;
-import org.qortal.utils.Triple;
+
+import java.nio.ByteBuffer;
+import java.util.List;
public class BlockMessage extends Message {
diff --git a/src/main/java/org/qortal/network/message/BlockSummariesMessage.java b/src/main/java/org/qortal/network/message/BlockSummariesMessage.java
index 513e30ae..f00c0a36 100644
--- a/src/main/java/org/qortal/network/message/BlockSummariesMessage.java
+++ b/src/main/java/org/qortal/network/message/BlockSummariesMessage.java
@@ -1,5 +1,10 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.data.block.BlockSummaryData;
+import org.qortal.transform.Transformer;
+import org.qortal.transform.block.BlockTransformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.BufferUnderflowException;
@@ -7,12 +12,6 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.data.block.BlockSummaryData;
-import org.qortal.transform.Transformer;
-import org.qortal.transform.block.BlockTransformer;
-
-import com.google.common.primitives.Ints;
-
public class BlockSummariesMessage extends Message {
private static final int BLOCK_SUMMARY_LENGTH = BlockTransformer.BLOCK_SIGNATURE_LENGTH + Transformer.INT_LENGTH + Transformer.PUBLIC_KEY_LENGTH + Transformer.INT_LENGTH;
diff --git a/src/main/java/org/qortal/network/message/CachedBlockMessage.java b/src/main/java/org/qortal/network/message/CachedBlockMessage.java
index 48e9ef36..e140f6fc 100644
--- a/src/main/java/org/qortal/network/message/CachedBlockMessage.java
+++ b/src/main/java/org/qortal/network/message/CachedBlockMessage.java
@@ -1,14 +1,13 @@
package org.qortal.network.message;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
import org.qortal.block.Block;
import org.qortal.transform.TransformationException;
import org.qortal.transform.block.BlockTransformer;
-import com.google.common.primitives.Ints;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
// This is an OUTGOING-only Message which more readily lends itself to being cached
public class CachedBlockMessage extends Message implements Cloneable {
diff --git a/src/main/java/org/qortal/network/message/ChallengeMessage.java b/src/main/java/org/qortal/network/message/ChallengeMessage.java
index bb5b2ae9..21a02baa 100644
--- a/src/main/java/org/qortal/network/message/ChallengeMessage.java
+++ b/src/main/java/org/qortal/network/message/ChallengeMessage.java
@@ -1,11 +1,11 @@
package org.qortal.network.message;
+import org.qortal.transform.Transformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.transform.Transformer;
-
public class ChallengeMessage extends Message {
public static final int CHALLENGE_LENGTH = 32;
diff --git a/src/main/java/org/qortal/network/message/GetArbitraryDataMessage.java b/src/main/java/org/qortal/network/message/GetArbitraryDataMessage.java
index bf604fe7..273d5532 100644
--- a/src/main/java/org/qortal/network/message/GetArbitraryDataMessage.java
+++ b/src/main/java/org/qortal/network/message/GetArbitraryDataMessage.java
@@ -1,10 +1,10 @@
package org.qortal.network.message;
+import org.qortal.transform.Transformer;
+
import java.nio.ByteBuffer;
import java.util.Arrays;
-import org.qortal.transform.Transformer;
-
public class GetArbitraryDataMessage extends Message {
private byte[] signature;
diff --git a/src/main/java/org/qortal/network/message/GetBlockMessage.java b/src/main/java/org/qortal/network/message/GetBlockMessage.java
index d39dcca0..1cf5da4e 100644
--- a/src/main/java/org/qortal/network/message/GetBlockMessage.java
+++ b/src/main/java/org/qortal/network/message/GetBlockMessage.java
@@ -1,10 +1,10 @@
package org.qortal.network.message;
+import org.qortal.transform.block.BlockTransformer;
+
import java.nio.ByteBuffer;
import java.util.Arrays;
-import org.qortal.transform.block.BlockTransformer;
-
public class GetBlockMessage extends Message {
private byte[] signature;
diff --git a/src/main/java/org/qortal/network/message/GetBlockSummariesMessage.java b/src/main/java/org/qortal/network/message/GetBlockSummariesMessage.java
index 70f0d5c5..f1867e3d 100644
--- a/src/main/java/org/qortal/network/message/GetBlockSummariesMessage.java
+++ b/src/main/java/org/qortal/network/message/GetBlockSummariesMessage.java
@@ -1,13 +1,12 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.block.BlockTransformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.transform.block.BlockTransformer;
-
-import com.google.common.primitives.Ints;
-
public class GetBlockSummariesMessage extends Message {
private byte[] parentSignature;
diff --git a/src/main/java/org/qortal/network/message/GetOnlineAccountsV3Message.java b/src/main/java/org/qortal/network/message/GetOnlineAccountsV3Message.java
index 66c7c47a..e1359023 100644
--- a/src/main/java/org/qortal/network/message/GetOnlineAccountsV3Message.java
+++ b/src/main/java/org/qortal/network/message/GetOnlineAccountsV3Message.java
@@ -6,7 +6,9 @@ import org.qortal.transform.Transformer;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
/**
* For requesting online accounts info from remote peer, given our list of online accounts.
diff --git a/src/main/java/org/qortal/network/message/GetSignaturesV2Message.java b/src/main/java/org/qortal/network/message/GetSignaturesV2Message.java
index 0f88ba7d..01500dd9 100644
--- a/src/main/java/org/qortal/network/message/GetSignaturesV2Message.java
+++ b/src/main/java/org/qortal/network/message/GetSignaturesV2Message.java
@@ -1,13 +1,12 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.block.BlockTransformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.transform.block.BlockTransformer;
-
-import com.google.common.primitives.Ints;
-
public class GetSignaturesV2Message extends Message {
private byte[] parentSignature;
diff --git a/src/main/java/org/qortal/network/message/GetTransactionMessage.java b/src/main/java/org/qortal/network/message/GetTransactionMessage.java
index fe0c750f..149f7bff 100644
--- a/src/main/java/org/qortal/network/message/GetTransactionMessage.java
+++ b/src/main/java/org/qortal/network/message/GetTransactionMessage.java
@@ -1,10 +1,10 @@
package org.qortal.network.message;
+import org.qortal.transform.Transformer;
+
import java.nio.ByteBuffer;
import java.util.Arrays;
-import org.qortal.transform.Transformer;
-
public class GetTransactionMessage extends Message {
private byte[] signature;
diff --git a/src/main/java/org/qortal/network/message/GoodbyeMessage.java b/src/main/java/org/qortal/network/message/GoodbyeMessage.java
index 74130be2..dd6e13ee 100644
--- a/src/main/java/org/qortal/network/message/GoodbyeMessage.java
+++ b/src/main/java/org/qortal/network/message/GoodbyeMessage.java
@@ -1,12 +1,12 @@
package org.qortal.network.message;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
+import com.google.common.primitives.Ints;
import java.nio.ByteBuffer;
import java.util.Map;
-import com.google.common.primitives.Ints;
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
public class GoodbyeMessage extends Message {
diff --git a/src/main/java/org/qortal/network/message/HeightV2Message.java b/src/main/java/org/qortal/network/message/HeightV2Message.java
index 0e775a84..6626b430 100644
--- a/src/main/java/org/qortal/network/message/HeightV2Message.java
+++ b/src/main/java/org/qortal/network/message/HeightV2Message.java
@@ -1,15 +1,14 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
+import org.qortal.transform.Transformer;
+import org.qortal.transform.block.BlockTransformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.transform.Transformer;
-import org.qortal.transform.block.BlockTransformer;
-
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
-
public class HeightV2Message extends Message {
private int height;
diff --git a/src/main/java/org/qortal/network/message/HelloMessage.java b/src/main/java/org/qortal/network/message/HelloMessage.java
index 30b7d9be..bb2d0eef 100644
--- a/src/main/java/org/qortal/network/message/HelloMessage.java
+++ b/src/main/java/org/qortal/network/message/HelloMessage.java
@@ -1,14 +1,13 @@
package org.qortal.network.message;
+import com.google.common.primitives.Longs;
+import org.qortal.transform.TransformationException;
+import org.qortal.utils.Serialization;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.transform.TransformationException;
-import org.qortal.utils.Serialization;
-
-import com.google.common.primitives.Longs;
-
public class HelloMessage extends Message {
private long timestamp;
diff --git a/src/main/java/org/qortal/network/message/Message.java b/src/main/java/org/qortal/network/message/Message.java
index d8467d90..65262321 100644
--- a/src/main/java/org/qortal/network/message/Message.java
+++ b/src/main/java/org/qortal/network/message/Message.java
@@ -1,10 +1,9 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
import org.qortal.crypto.Crypto;
import org.qortal.network.Network;
-import com.google.common.primitives.Ints;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.BufferUnderflowException;
diff --git a/src/main/java/org/qortal/network/message/PeersV2Message.java b/src/main/java/org/qortal/network/message/PeersV2Message.java
index e844246f..bd240131 100644
--- a/src/main/java/org/qortal/network/message/PeersV2Message.java
+++ b/src/main/java/org/qortal/network/message/PeersV2Message.java
@@ -1,5 +1,9 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.network.PeerAddress;
+import org.qortal.settings.Settings;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -7,11 +11,6 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.network.PeerAddress;
-import org.qortal.settings.Settings;
-
-import com.google.common.primitives.Ints;
-
// NOTE: this message supports hostnames, literal IP addresses (IPv4 and IPv6) with port numbers
public class PeersV2Message extends Message {
diff --git a/src/main/java/org/qortal/network/message/ResponseMessage.java b/src/main/java/org/qortal/network/message/ResponseMessage.java
index 292fe697..11e8a3d0 100644
--- a/src/main/java/org/qortal/network/message/ResponseMessage.java
+++ b/src/main/java/org/qortal/network/message/ResponseMessage.java
@@ -1,11 +1,11 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import com.google.common.primitives.Ints;
-
public class ResponseMessage extends Message {
public static final int DATA_LENGTH = 32;
diff --git a/src/main/java/org/qortal/network/message/SignaturesMessage.java b/src/main/java/org/qortal/network/message/SignaturesMessage.java
index c0b44fcd..029cf74d 100644
--- a/src/main/java/org/qortal/network/message/SignaturesMessage.java
+++ b/src/main/java/org/qortal/network/message/SignaturesMessage.java
@@ -1,5 +1,8 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.block.BlockTransformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.BufferUnderflowException;
@@ -7,10 +10,6 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.transform.block.BlockTransformer;
-
-import com.google.common.primitives.Ints;
-
public class SignaturesMessage extends Message {
private List signatures;
diff --git a/src/main/java/org/qortal/network/message/TransactionMessage.java b/src/main/java/org/qortal/network/message/TransactionMessage.java
index 51db6cf9..7ef4825a 100644
--- a/src/main/java/org/qortal/network/message/TransactionMessage.java
+++ b/src/main/java/org/qortal/network/message/TransactionMessage.java
@@ -1,11 +1,11 @@
package org.qortal.network.message;
-import java.nio.ByteBuffer;
-
import org.qortal.data.transaction.TransactionData;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.TransactionTransformer;
+import java.nio.ByteBuffer;
+
public class TransactionMessage extends Message {
private TransactionData transactionData;
diff --git a/src/main/java/org/qortal/network/message/TransactionSignaturesMessage.java b/src/main/java/org/qortal/network/message/TransactionSignaturesMessage.java
index 395d3f00..0c56b416 100644
--- a/src/main/java/org/qortal/network/message/TransactionSignaturesMessage.java
+++ b/src/main/java/org/qortal/network/message/TransactionSignaturesMessage.java
@@ -1,5 +1,8 @@
package org.qortal.network.message;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.Transformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.BufferUnderflowException;
@@ -7,10 +10,6 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.transform.Transformer;
-
-import com.google.common.primitives.Ints;
-
public class TransactionSignaturesMessage extends Message {
private List signatures;
diff --git a/src/main/java/org/qortal/network/task/BroadcastTask.java b/src/main/java/org/qortal/network/task/BroadcastTask.java
index 5714ebf6..c0617250 100644
--- a/src/main/java/org/qortal/network/task/BroadcastTask.java
+++ b/src/main/java/org/qortal/network/task/BroadcastTask.java
@@ -1,9 +1,6 @@
package org.qortal.network.task;
import org.qortal.controller.Controller;
-import org.qortal.network.Network;
-import org.qortal.network.Peer;
-import org.qortal.network.message.Message;
import org.qortal.utils.ExecuteProduceConsume.Task;
public class BroadcastTask implements Task {
diff --git a/src/main/java/org/qortal/network/task/ChannelReadTask.java b/src/main/java/org/qortal/network/task/ChannelReadTask.java
index edd4e8c0..ea7576c5 100644
--- a/src/main/java/org/qortal/network/task/ChannelReadTask.java
+++ b/src/main/java/org/qortal/network/task/ChannelReadTask.java
@@ -2,7 +2,6 @@ package org.qortal.network.task;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
import org.qortal.network.Network;
import org.qortal.network.Peer;
import org.qortal.utils.ExecuteProduceConsume.Task;
diff --git a/src/main/java/org/qortal/network/task/PeerConnectTask.java b/src/main/java/org/qortal/network/task/PeerConnectTask.java
index 759cabce..7eec4e6b 100644
--- a/src/main/java/org/qortal/network/task/PeerConnectTask.java
+++ b/src/main/java/org/qortal/network/task/PeerConnectTask.java
@@ -4,11 +4,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.network.Network;
import org.qortal.network.Peer;
-import org.qortal.network.message.Message;
-import org.qortal.network.message.MessageType;
-import org.qortal.network.message.PingMessage;
import org.qortal.utils.ExecuteProduceConsume.Task;
-import org.qortal.utils.NTP;
public class PeerConnectTask implements Task {
private static final Logger LOGGER = LogManager.getLogger(PeerConnectTask.class);
diff --git a/src/main/java/org/qortal/payment/Payment.java b/src/main/java/org/qortal/payment/Payment.java
index 8b6070ee..f9bc5826 100644
--- a/src/main/java/org/qortal/payment/Payment.java
+++ b/src/main/java/org/qortal/payment/Payment.java
@@ -1,12 +1,5 @@
package org.qortal.payment;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
@@ -20,6 +13,9 @@ import org.qortal.repository.Repository;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.Amounts;
+import java.util.*;
+import java.util.Map.Entry;
+
public class Payment {
// Properties
diff --git a/src/main/java/org/qortal/repository/ATRepository.java b/src/main/java/org/qortal/repository/ATRepository.java
index 93da924c..455ba393 100644
--- a/src/main/java/org/qortal/repository/ATRepository.java
+++ b/src/main/java/org/qortal/repository/ATRepository.java
@@ -1,14 +1,12 @@
package org.qortal.repository;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-import java.util.Set;
-
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
import org.qortal.utils.ByteArray;
+import java.util.List;
+import java.util.Set;
+
public interface ATRepository {
// CIYAM AutomatedTransactions
diff --git a/src/main/java/org/qortal/repository/AccountRepository.java b/src/main/java/org/qortal/repository/AccountRepository.java
index 1175337c..bdad187b 100644
--- a/src/main/java/org/qortal/repository/AccountRepository.java
+++ b/src/main/java/org/qortal/repository/AccountRepository.java
@@ -1,10 +1,10 @@
package org.qortal.repository;
+import org.qortal.data.account.*;
+
import java.util.List;
import java.util.Set;
-import org.qortal.data.account.*;
-
public interface AccountRepository {
// General account
diff --git a/src/main/java/org/qortal/repository/ArbitraryRepository.java b/src/main/java/org/qortal/repository/ArbitraryRepository.java
index c586871f..175f1daf 100644
--- a/src/main/java/org/qortal/repository/ArbitraryRepository.java
+++ b/src/main/java/org/qortal/repository/ArbitraryRepository.java
@@ -6,7 +6,7 @@ import org.qortal.data.arbitrary.ArbitraryResourceData;
import org.qortal.data.arbitrary.ArbitraryResourceMetadata;
import org.qortal.data.arbitrary.ArbitraryResourceStatus;
import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
+import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import java.util.List;
diff --git a/src/main/java/org/qortal/repository/AssetRepository.java b/src/main/java/org/qortal/repository/AssetRepository.java
index fb516880..4dbc90fe 100644
--- a/src/main/java/org/qortal/repository/AssetRepository.java
+++ b/src/main/java/org/qortal/repository/AssetRepository.java
@@ -1,12 +1,12 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.asset.AssetData;
import org.qortal.data.asset.OrderData;
import org.qortal.data.asset.RecentTradeData;
import org.qortal.data.asset.TradeData;
+import java.util.List;
+
public interface AssetRepository {
// Assets
diff --git a/src/main/java/org/qortal/repository/BlockArchiveReader.java b/src/main/java/org/qortal/repository/BlockArchiveReader.java
index 1f04bced..7b2e098a 100644
--- a/src/main/java/org/qortal/repository/BlockArchiveReader.java
+++ b/src/main/java/org/qortal/repository/BlockArchiveReader.java
@@ -10,14 +10,14 @@ import org.qortal.transform.block.BlockTransformation;
import org.qortal.transform.block.BlockTransformer;
import org.qortal.utils.Triple;
-import static org.qortal.transform.Transformer.INT_LENGTH;
-
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
+import static org.qortal.transform.Transformer.INT_LENGTH;
+
public class BlockArchiveReader {
private static BlockArchiveReader instance;
diff --git a/src/main/java/org/qortal/repository/BlockRepository.java b/src/main/java/org/qortal/repository/BlockRepository.java
index 76891c36..429e34cb 100644
--- a/src/main/java/org/qortal/repository/BlockRepository.java
+++ b/src/main/java/org/qortal/repository/BlockRepository.java
@@ -1,13 +1,13 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.api.model.BlockSignerSummary;
import org.qortal.data.block.BlockData;
import org.qortal.data.block.BlockSummaryData;
import org.qortal.data.block.BlockTransactionData;
import org.qortal.data.transaction.TransactionData;
+import java.util.List;
+
public interface BlockRepository {
/**
diff --git a/src/main/java/org/qortal/repository/ChatRepository.java b/src/main/java/org/qortal/repository/ChatRepository.java
index 7443fb51..d046fe6b 100644
--- a/src/main/java/org/qortal/repository/ChatRepository.java
+++ b/src/main/java/org/qortal/repository/ChatRepository.java
@@ -1,11 +1,11 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.chat.ActiveChats;
import org.qortal.data.chat.ChatMessage;
import org.qortal.data.transaction.ChatTransactionData;
+import java.util.List;
+
import static org.qortal.data.chat.ChatMessage.Encoding;
public interface ChatRepository {
diff --git a/src/main/java/org/qortal/repository/CrossChainRepository.java b/src/main/java/org/qortal/repository/CrossChainRepository.java
index 70ebdbf9..405fdfb5 100644
--- a/src/main/java/org/qortal/repository/CrossChainRepository.java
+++ b/src/main/java/org/qortal/repository/CrossChainRepository.java
@@ -1,9 +1,9 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.crosschain.TradeBotData;
+import java.util.List;
+
public interface CrossChainRepository {
public TradeBotData getTradeBotData(byte[] tradePrivateKey) throws DataException;
diff --git a/src/main/java/org/qortal/repository/GroupRepository.java b/src/main/java/org/qortal/repository/GroupRepository.java
index 94c97992..49427b02 100644
--- a/src/main/java/org/qortal/repository/GroupRepository.java
+++ b/src/main/java/org/qortal/repository/GroupRepository.java
@@ -1,13 +1,8 @@
package org.qortal.repository;
-import java.util.List;
+import org.qortal.data.group.*;
-import org.qortal.data.group.GroupAdminData;
-import org.qortal.data.group.GroupBanData;
-import org.qortal.data.group.GroupData;
-import org.qortal.data.group.GroupInviteData;
-import org.qortal.data.group.GroupJoinRequestData;
-import org.qortal.data.group.GroupMemberData;
+import java.util.List;
public interface GroupRepository {
diff --git a/src/main/java/org/qortal/repository/MessageRepository.java b/src/main/java/org/qortal/repository/MessageRepository.java
index db74f0e6..da43cf7e 100644
--- a/src/main/java/org/qortal/repository/MessageRepository.java
+++ b/src/main/java/org/qortal/repository/MessageRepository.java
@@ -1,9 +1,9 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.transaction.MessageTransactionData;
+import java.util.List;
+
public interface MessageRepository {
/**
diff --git a/src/main/java/org/qortal/repository/NameRepository.java b/src/main/java/org/qortal/repository/NameRepository.java
index 52a43a18..c49d5d18 100644
--- a/src/main/java/org/qortal/repository/NameRepository.java
+++ b/src/main/java/org/qortal/repository/NameRepository.java
@@ -1,9 +1,9 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.naming.NameData;
+import java.util.List;
+
public interface NameRepository {
public NameData fromName(String name) throws DataException;
diff --git a/src/main/java/org/qortal/repository/NetworkRepository.java b/src/main/java/org/qortal/repository/NetworkRepository.java
index e7a5126d..a6f1775a 100644
--- a/src/main/java/org/qortal/repository/NetworkRepository.java
+++ b/src/main/java/org/qortal/repository/NetworkRepository.java
@@ -1,10 +1,10 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.network.PeerData;
import org.qortal.network.PeerAddress;
+import java.util.List;
+
public interface NetworkRepository {
public List getAllPeers() throws DataException;
diff --git a/src/main/java/org/qortal/repository/TransactionRepository.java b/src/main/java/org/qortal/repository/TransactionRepository.java
index 41986cad..e007586e 100644
--- a/src/main/java/org/qortal/repository/TransactionRepository.java
+++ b/src/main/java/org/qortal/repository/TransactionRepository.java
@@ -1,9 +1,5 @@
package org.qortal.repository;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-
import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
import org.qortal.arbitrary.misc.Service;
import org.qortal.data.group.GroupApprovalData;
@@ -12,6 +8,10 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.TransferAssetTransactionData;
import org.qortal.transaction.Transaction.TransactionType;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+
public interface TransactionRepository {
// Fetching transactions / transaction height
diff --git a/src/main/java/org/qortal/repository/VotingRepository.java b/src/main/java/org/qortal/repository/VotingRepository.java
index b0e2954c..d5ce1585 100644
--- a/src/main/java/org/qortal/repository/VotingRepository.java
+++ b/src/main/java/org/qortal/repository/VotingRepository.java
@@ -1,10 +1,10 @@
package org.qortal.repository;
-import java.util.List;
-
import org.qortal.data.voting.PollData;
import org.qortal.data.voting.VoteOnPollData;
+import java.util.List;
+
public interface VotingRepository {
// Polls
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java
index 33817309..80fc62dc 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java
@@ -1,11 +1,6 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
+import com.google.common.primitives.Longs;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.controller.Controller;
@@ -15,7 +10,11 @@ import org.qortal.repository.ATRepository;
import org.qortal.repository.DataException;
import org.qortal.utils.ByteArray;
-import com.google.common.primitives.Longs;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
public class HSQLDBATRepository implements ATRepository {
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java
index cb188502..7aef66ce 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAccountRepository.java
@@ -1,6 +1,9 @@
package org.qortal.repository.hsqldb;
-import static org.qortal.utils.Amounts.prettyAmount;
+import org.qortal.asset.Asset;
+import org.qortal.data.account.*;
+import org.qortal.repository.AccountRepository;
+import org.qortal.repository.DataException;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -9,10 +12,7 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import org.qortal.asset.Asset;
-import org.qortal.data.account.*;
-import org.qortal.repository.AccountRepository;
-import org.qortal.repository.DataException;
+import static org.qortal.utils.Amounts.prettyAmount;
public class HSQLDBAccountRepository implements AccountRepository {
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java
index 66829d92..eaa7be2a 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java
@@ -3,6 +3,7 @@ package org.qortal.repository.hsqldb;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.api.SearchMode;
+import org.qortal.arbitrary.ArbitraryDataFile;
import org.qortal.arbitrary.metadata.ArbitraryDataTransactionMetadata;
import org.qortal.arbitrary.misc.Category;
import org.qortal.arbitrary.misc.Service;
@@ -10,12 +11,13 @@ import org.qortal.data.arbitrary.ArbitraryResourceData;
import org.qortal.data.arbitrary.ArbitraryResourceMetadata;
import org.qortal.data.arbitrary.ArbitraryResourceStatus;
import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
+import org.qortal.data.transaction.ArbitraryTransactionData.Compression;
+import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
+import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.ArbitraryRepository;
import org.qortal.repository.DataException;
-import org.qortal.arbitrary.ArbitraryDataFile;
import org.qortal.transaction.ArbitraryTransaction;
import org.qortal.transaction.Transaction.ApprovalStatus;
import org.qortal.utils.Base58;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAssetRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAssetRepository.java
index 6610a4f3..6e68cda8 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBAssetRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBAssetRepository.java
@@ -1,11 +1,5 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.data.asset.AssetData;
import org.qortal.data.asset.OrderData;
import org.qortal.data.asset.RecentTradeData;
@@ -13,6 +7,12 @@ import org.qortal.data.asset.TradeData;
import org.qortal.repository.AssetRepository;
import org.qortal.repository.DataException;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
public class HSQLDBAssetRepository implements AssetRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBBlockRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBBlockRepository.java
index f38d549c..f592a79d 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBBlockRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBBlockRepository.java
@@ -1,21 +1,20 @@
package org.qortal.repository.hsqldb;
+import org.qortal.api.model.BlockSignerSummary;
+import org.qortal.data.block.BlockData;
+import org.qortal.data.block.BlockSummaryData;
+import org.qortal.data.block.BlockTransactionData;
+import org.qortal.data.transaction.TransactionData;
+import org.qortal.repository.BlockRepository;
+import org.qortal.repository.DataException;
+import org.qortal.repository.TransactionRepository;
+
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import org.qortal.api.model.BlockSignerSummary;
-import org.qortal.data.block.BlockData;
-import org.qortal.data.block.BlockSummaryData;
-import org.qortal.data.block.BlockTransactionData;
-import org.qortal.data.block.BlockArchiveData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.repository.BlockRepository;
-import org.qortal.repository.DataException;
-import org.qortal.repository.TransactionRepository;
-
public class HSQLDBBlockRepository implements BlockRepository {
private static final String BLOCK_DB_COLUMNS = "version, reference, transaction_count, total_fees, "
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBChatRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBChatRepository.java
index 9e310e78..6bc4fa49 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBChatRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBChatRepository.java
@@ -1,10 +1,5 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.data.chat.ActiveChats;
import org.qortal.data.chat.ActiveChats.DirectChat;
import org.qortal.data.chat.ActiveChats.GroupChat;
@@ -14,6 +9,11 @@ import org.qortal.repository.ChatRepository;
import org.qortal.repository.DataException;
import org.qortal.transaction.Transaction.TransactionType;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
import static org.qortal.data.chat.ChatMessage.Encoding;
public class HSQLDBChatRepository implements ChatRepository {
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBCrossChainRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBCrossChainRepository.java
index 29f2994c..6305a468 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBCrossChainRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBCrossChainRepository.java
@@ -1,15 +1,15 @@
package org.qortal.repository.hsqldb;
+import org.qortal.data.crosschain.TradeBotData;
+import org.qortal.repository.CrossChainRepository;
+import org.qortal.repository.DataException;
+
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import org.qortal.data.crosschain.TradeBotData;
-import org.qortal.repository.CrossChainRepository;
-import org.qortal.repository.DataException;
-
public class HSQLDBCrossChainRepository implements CrossChainRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java
index 2a11f199..829f7aab 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java
@@ -1,5 +1,11 @@
package org.qortal.repository.hsqldb;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.qortal.controller.Controller;
+import org.qortal.controller.tradebot.BitcoinACCTv1TradeBot;
+import org.qortal.gui.SplashFrame;
+
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -7,12 +13,6 @@ import java.sql.Statement;
import java.util.Arrays;
import java.util.stream.Collectors;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.qortal.controller.Controller;
-import org.qortal.controller.tradebot.BitcoinACCTv1TradeBot;
-import org.qortal.gui.SplashFrame;
-
public class HSQLDBDatabaseUpdates {
private static final Logger LOGGER = LogManager.getLogger(HSQLDBDatabaseUpdates.class);
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBGroupRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBGroupRepository.java
index b1cd40a0..9c7521fc 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBGroupRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBGroupRepository.java
@@ -1,20 +1,15 @@
package org.qortal.repository.hsqldb;
+import org.qortal.data.group.*;
+import org.qortal.group.Group.ApprovalThreshold;
+import org.qortal.repository.DataException;
+import org.qortal.repository.GroupRepository;
+
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.data.group.GroupAdminData;
-import org.qortal.data.group.GroupBanData;
-import org.qortal.data.group.GroupData;
-import org.qortal.data.group.GroupInviteData;
-import org.qortal.data.group.GroupJoinRequestData;
-import org.qortal.data.group.GroupMemberData;
-import org.qortal.group.Group.ApprovalThreshold;
-import org.qortal.repository.DataException;
-import org.qortal.repository.GroupRepository;
-
public class HSQLDBGroupRepository implements GroupRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBMessageRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBMessageRepository.java
index f31c5cd8..7a0e9677 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBMessageRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBMessageRepository.java
@@ -1,16 +1,16 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.data.transaction.MessageTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.MessageRepository;
import org.qortal.transaction.Transaction.TransactionType;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
public class HSQLDBMessageRepository implements MessageRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBNameRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBNameRepository.java
index 2fefcf8b..06e41663 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBNameRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBNameRepository.java
@@ -1,14 +1,14 @@
package org.qortal.repository.hsqldb;
+import org.qortal.data.naming.NameData;
+import org.qortal.repository.DataException;
+import org.qortal.repository.NameRepository;
+
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
-import org.qortal.data.naming.NameData;
-import org.qortal.repository.DataException;
-import org.qortal.repository.NameRepository;
-
public class HSQLDBNameRepository implements NameRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBNetworkRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBNetworkRepository.java
index 9f865160..cc9ad068 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBNetworkRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBNetworkRepository.java
@@ -1,15 +1,15 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.data.network.PeerData;
import org.qortal.network.PeerAddress;
import org.qortal.repository.DataException;
import org.qortal.repository.NetworkRepository;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
public class HSQLDBNetworkRepository implements NetworkRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java
index 6ec30e20..4a41ed68 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepository.java
@@ -1,26 +1,5 @@
package org.qortal.repository.hsqldb;
-import java.awt.TrayIcon.MessageType;
-import java.io.File;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.nio.file.Files;
-import java.nio.file.NoSuchFileException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.util.*;
-import java.util.concurrent.TimeoutException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Stream;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.crypto.Crypto;
@@ -30,6 +9,21 @@ import org.qortal.repository.*;
import org.qortal.repository.hsqldb.transaction.HSQLDBTransactionRepository;
import org.qortal.settings.Settings;
+import java.awt.TrayIcon.MessageType;
+import java.io.File;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.sql.*;
+import java.util.*;
+import java.util.concurrent.TimeoutException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Stream;
+
public class HSQLDBRepository implements Repository {
private static final Logger LOGGER = LogManager.getLogger(HSQLDBRepository.class);
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepositoryFactory.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepositoryFactory.java
index 64f6be8c..fdaf41a2 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepositoryFactory.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBRepositoryFactory.java
@@ -1,11 +1,5 @@
package org.qortal.repository.hsqldb;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Properties;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hsqldb.HsqlException;
@@ -16,6 +10,12 @@ import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryFactory;
import org.qortal.settings.Settings;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Properties;
+
public class HSQLDBRepositoryFactory implements RepositoryFactory {
private static final Logger LOGGER = LogManager.getLogger(HSQLDBRepositoryFactory.class);
diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBVotingRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBVotingRepository.java
index cc33426b..9bae8ec5 100644
--- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBVotingRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBVotingRepository.java
@@ -1,16 +1,16 @@
package org.qortal.repository.hsqldb;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.data.voting.PollData;
import org.qortal.data.voting.PollOptionData;
import org.qortal.data.voting.VoteOnPollData;
import org.qortal.repository.DataException;
import org.qortal.repository.VotingRepository;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
public class HSQLDBVotingRepository implements VotingRepository {
protected HSQLDBRepository repository;
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountFlagsTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountFlagsTransactionRepository.java
index 9d9b8800..f6c6c82a 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountFlagsTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountFlagsTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.AccountFlagsTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBAccountFlagsTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBAccountFlagsTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountLevelTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountLevelTransactionRepository.java
index c4aa37de..3f2b3247 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountLevelTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAccountLevelTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.AccountLevelTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBAccountLevelTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBAccountLevelTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAddGroupAdminTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAddGroupAdminTransactionRepository.java
index 686308c1..56116da8 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAddGroupAdminTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAddGroupAdminTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.AddGroupAdminTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBAddGroupAdminTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBAddGroupAdminTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java
index 57b75a29..c9737520 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java
@@ -1,19 +1,18 @@
package org.qortal.repository.hsqldb.transaction;
+import org.qortal.data.PaymentData;
+import org.qortal.data.transaction.ArbitraryTransactionData;
+import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
+import org.qortal.data.transaction.BaseTransactionData;
+import org.qortal.data.transaction.TransactionData;
+import org.qortal.repository.DataException;
+import org.qortal.repository.hsqldb.HSQLDBRepository;
+import org.qortal.repository.hsqldb.HSQLDBSaver;
+
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
-import org.qortal.arbitrary.misc.Service;
-import org.qortal.data.PaymentData;
-import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.BaseTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
-import org.qortal.repository.DataException;
-import org.qortal.repository.hsqldb.HSQLDBRepository;
-import org.qortal.repository.hsqldb.HSQLDBSaver;
-
public class HSQLDBArbitraryTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBArbitraryTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAtTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAtTransactionRepository.java
index a816ec60..3771a0f1 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAtTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBAtTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.ATTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBAtTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBAtTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBBuyNameTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBBuyNameTransactionRepository.java
index 8ae4ffa2..724d93dd 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBBuyNameTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBBuyNameTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.BuyNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBBuyNameTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBBuyNameTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelAssetOrderTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelAssetOrderTransactionRepository.java
index d49e83ba..1adb9db3 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelAssetOrderTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelAssetOrderTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelAssetOrderTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCancelAssetOrderTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCancelAssetOrderTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupBanTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupBanTransactionRepository.java
index 76524b05..b94df99f 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupBanTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupBanTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelGroupBanTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCancelGroupBanTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCancelGroupBanTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupInviteTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupInviteTransactionRepository.java
index d61fa79b..cc17c18c 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupInviteTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelGroupInviteTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelGroupInviteTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCancelGroupInviteTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCancelGroupInviteTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelSellNameTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelSellNameTransactionRepository.java
index fc8e0bb3..925b18cc 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelSellNameTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCancelSellNameTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelSellNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCancelSellNameTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCancelSellNameTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBChatTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBChatTransactionRepository.java
index 79e798a9..aea22442 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBChatTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBChatTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.ChatTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBChatTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBChatTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateAssetOrderTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateAssetOrderTransactionRepository.java
index 7cea87bb..0609c82f 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateAssetOrderTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateAssetOrderTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreateAssetOrderTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCreateAssetOrderTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCreateAssetOrderTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateGroupTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateGroupTransactionRepository.java
index 583b9fa6..73698aa4 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateGroupTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreateGroupTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreateGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,6 +8,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBCreateGroupTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCreateGroupTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreatePollTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreatePollTransactionRepository.java
index 28163ab9..e2675ac1 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreatePollTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBCreatePollTransactionRepository.java
@@ -1,10 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreatePollTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -13,6 +8,11 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
public class HSQLDBCreatePollTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBCreatePollTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBDeployAtTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBDeployAtTransactionRepository.java
index 6c3b60c2..e5695483 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBDeployAtTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBDeployAtTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.DeployAtTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBDeployAtTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBDeployAtTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGenesisTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGenesisTransactionRepository.java
index d0a65df0..1f4ac7f5 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGenesisTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGenesisTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GenesisTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBGenesisTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBGenesisTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupApprovalTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupApprovalTransactionRepository.java
index c8afed3d..0f8953a3 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupApprovalTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupApprovalTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupApprovalTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBGroupApprovalTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBGroupApprovalTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupBanTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupBanTransactionRepository.java
index ae3fef43..386e1425 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupBanTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupBanTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupBanTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBGroupBanTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBGroupBanTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupInviteTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupInviteTransactionRepository.java
index 64ec5c64..97279c0e 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupInviteTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupInviteTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupInviteTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBGroupInviteTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBGroupInviteTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupKickTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupKickTransactionRepository.java
index 9dd3c98d..d84f3ad5 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupKickTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBGroupKickTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupKickTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBGroupKickTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBGroupKickTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBIssueAssetTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBIssueAssetTransactionRepository.java
index 2386ef95..37ed9a3a 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBIssueAssetTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBIssueAssetTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.IssueAssetTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBIssueAssetTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBIssueAssetTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBJoinGroupTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBJoinGroupTransactionRepository.java
index 7f9ce13d..b46fe7b6 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBJoinGroupTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBJoinGroupTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.JoinGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBJoinGroupTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBJoinGroupTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBLeaveGroupTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBLeaveGroupTransactionRepository.java
index c5aa3b00..cca83f88 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBLeaveGroupTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBLeaveGroupTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.LeaveGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBLeaveGroupTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBLeaveGroupTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMessageTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMessageTransactionRepository.java
index 567075e3..515d36a8 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMessageTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMessageTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.MessageTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBMessageTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBMessageTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMultiPaymentTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMultiPaymentTransactionRepository.java
index 69cd9c49..1b889248 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMultiPaymentTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBMultiPaymentTransactionRepository.java
@@ -1,9 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.MultiPaymentTransactionData;
@@ -12,6 +8,10 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
public class HSQLDBMultiPaymentTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBMultiPaymentTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPaymentTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPaymentTransactionRepository.java
index a4942e3f..d9c660ef 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPaymentTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPaymentTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PaymentTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBPaymentTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBPaymentTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPresenceTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPresenceTransactionRepository.java
index 309ffcad..c72c2ae4 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPresenceTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPresenceTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PresenceTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,6 +8,9 @@ import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
import org.qortal.transaction.PresenceTransaction.PresenceType;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBPresenceTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBPresenceTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPublicizeTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPublicizeTransactionRepository.java
index d67c61b4..53af733f 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPublicizeTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBPublicizeTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PublicizeTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBPublicizeTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBPublicizeTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRegisterNameTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRegisterNameTransactionRepository.java
index 82da794f..5b81ad72 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRegisterNameTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRegisterNameTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RegisterNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBRegisterNameTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBRegisterNameTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRemoveGroupAdminTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRemoveGroupAdminTransactionRepository.java
index 09b6892d..5a440b22 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRemoveGroupAdminTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRemoveGroupAdminTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RemoveGroupAdminTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBRemoveGroupAdminTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBRemoveGroupAdminTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRewardShareTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRewardShareTransactionRepository.java
index 81a567ea..7437fd51 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRewardShareTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBRewardShareTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RewardShareTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBRewardShareTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBRewardShareTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSellNameTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSellNameTransactionRepository.java
index f5fa3681..ae4a07dd 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSellNameTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSellNameTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.SellNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBSellNameTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBSellNameTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSetGroupTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSetGroupTransactionRepository.java
index f3be4c04..a76361a7 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSetGroupTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBSetGroupTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.SetGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBSetGroupTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBSetGroupTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransactionRepository.java
index 60b4e803..5b41a85d 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransactionRepository.java
@@ -1,14 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import static org.qortal.transaction.Transaction.TransactionType.*;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.*;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
@@ -28,6 +19,15 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.utils.Base58;
import org.qortal.utils.Unicode;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.*;
+
+import static org.qortal.transaction.Transaction.TransactionType.*;
+
public class HSQLDBTransactionRepository implements TransactionRepository {
private static final Logger LOGGER = LogManager.getLogger(HSQLDBTransactionRepository.class);
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferAssetTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferAssetTransactionRepository.java
index 5c0a23d0..95db5163 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferAssetTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferAssetTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.TransferAssetTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBTransferAssetTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBTransferAssetTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferPrivsTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferPrivsTransactionRepository.java
index ae2ab9bb..832af73c 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferPrivsTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBTransferPrivsTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.TransferPrivsTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBTransferPrivsTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBTransferPrivsTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateAssetTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateAssetTransactionRepository.java
index 8e0b1975..9d56f280 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateAssetTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateAssetTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.UpdateAssetTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBUpdateAssetTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBUpdateAssetTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateGroupTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateGroupTransactionRepository.java
index e2c2e72a..ae584171 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateGroupTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateGroupTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.UpdateGroupTransactionData;
@@ -11,6 +8,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBUpdateGroupTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBUpdateGroupTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateNameTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateNameTransactionRepository.java
index 447ab5c6..f39412f0 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateNameTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBUpdateNameTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.UpdateNameTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBUpdateNameTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBUpdateNameTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBVoteOnPollTransactionRepository.java b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBVoteOnPollTransactionRepository.java
index 0d260904..8ef6397d 100644
--- a/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBVoteOnPollTransactionRepository.java
+++ b/src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBVoteOnPollTransactionRepository.java
@@ -1,8 +1,5 @@
package org.qortal.repository.hsqldb.transaction;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.VoteOnPollTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.repository.hsqldb.HSQLDBSaver;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
public class HSQLDBVoteOnPollTransactionRepository extends HSQLDBTransactionRepository {
public HSQLDBVoteOnPollTransactionRepository(HSQLDBRepository repository) {
diff --git a/src/main/java/org/qortal/settings/Settings.java b/src/main/java/org/qortal/settings/Settings.java
index babef614..fc8ba4ce 100644
--- a/src/main/java/org/qortal/settings/Settings.java
+++ b/src/main/java/org/qortal/settings/Settings.java
@@ -1,12 +1,20 @@
package org.qortal.settings;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.nio.file.Paths;
-import java.util.*;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.eclipse.persistence.exceptions.XMLMarshalException;
+import org.eclipse.persistence.jaxb.JAXBContextFactory;
+import org.eclipse.persistence.jaxb.UnmarshallerProperties;
+import org.qortal.block.BlockChain;
+import org.qortal.controller.arbitrary.ArbitraryDataStorageManager.StoragePolicy;
+import org.qortal.crosschain.Bitcoin.BitcoinNet;
+import org.qortal.crosschain.Digibyte.DigibyteNet;
+import org.qortal.crosschain.Dogecoin.DogecoinNet;
+import org.qortal.crosschain.Litecoin.LitecoinNet;
+import org.qortal.crosschain.PirateChain.PirateChainNet;
+import org.qortal.crosschain.Ravencoin.RavencoinNet;
+import org.qortal.network.message.MessageType;
+import org.qortal.utils.EnumUtils;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
@@ -15,22 +23,9 @@ import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.transform.stream.StreamSource;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.eclipse.persistence.exceptions.XMLMarshalException;
-import org.eclipse.persistence.jaxb.JAXBContextFactory;
-import org.eclipse.persistence.jaxb.UnmarshallerProperties;
-import org.qortal.block.BlockChain;
-import org.qortal.controller.arbitrary.ArbitraryDataStorageManager.*;
-import org.qortal.crosschain.Bitcoin.BitcoinNet;
-import org.qortal.crosschain.Litecoin.LitecoinNet;
-import org.qortal.crosschain.Dogecoin.DogecoinNet;
-import org.qortal.crosschain.Digibyte.DigibyteNet;
-import org.qortal.crosschain.Ravencoin.RavencoinNet;
-import org.qortal.crosschain.PirateChain.PirateChainNet;
-import org.qortal.network.message.MessageType;
-import org.qortal.utils.EnumUtils;
+import java.io.*;
+import java.nio.file.Paths;
+import java.util.*;
// All properties to be converted to JSON via JAXB
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/transaction/AccountFlagsTransaction.java b/src/main/java/org/qortal/transaction/AccountFlagsTransaction.java
index 4362b1a9..47500f9a 100644
--- a/src/main/java/org/qortal/transaction/AccountFlagsTransaction.java
+++ b/src/main/java/org/qortal/transaction/AccountFlagsTransaction.java
@@ -1,14 +1,14 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.data.transaction.AccountFlagsTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class AccountFlagsTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/AccountLevelTransaction.java b/src/main/java/org/qortal/transaction/AccountLevelTransaction.java
index 18324c34..833e63ad 100644
--- a/src/main/java/org/qortal/transaction/AccountLevelTransaction.java
+++ b/src/main/java/org/qortal/transaction/AccountLevelTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.block.BlockChain;
import org.qortal.data.transaction.AccountLevelTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class AccountLevelTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/AddGroupAdminTransaction.java b/src/main/java/org/qortal/transaction/AddGroupAdminTransaction.java
index f38638c5..7ee0e785 100644
--- a/src/main/java/org/qortal/transaction/AddGroupAdminTransaction.java
+++ b/src/main/java/org/qortal/transaction/AddGroupAdminTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -13,6 +9,10 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
public class AddGroupAdminTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/ArbitraryTransaction.java b/src/main/java/org/qortal/transaction/ArbitraryTransaction.java
index 86a1f0e2..1a9f888b 100644
--- a/src/main/java/org/qortal/transaction/ArbitraryTransaction.java
+++ b/src/main/java/org/qortal/transaction/ArbitraryTransaction.java
@@ -1,18 +1,13 @@
package org.qortal.transaction;
-import java.io.IOException;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
+import org.qortal.arbitrary.ArbitraryDataFile;
import org.qortal.arbitrary.ArbitraryDataResource;
import org.qortal.arbitrary.metadata.ArbitraryDataTransactionMetadata;
import org.qortal.arbitrary.misc.Service;
import org.qortal.block.BlockChain;
-import org.qortal.controller.arbitrary.ArbitraryDataCacheManager;
import org.qortal.controller.arbitrary.ArbitraryDataManager;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
import org.qortal.crypto.Crypto;
@@ -27,7 +22,6 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.payment.Payment;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
-import org.qortal.arbitrary.ArbitraryDataFile;
import org.qortal.repository.RepositoryManager;
import org.qortal.transform.TransformationException;
import org.qortal.transform.Transformer;
@@ -36,6 +30,11 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.ArbitraryTransactionUtils;
import org.qortal.utils.NTP;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
public class ArbitraryTransaction extends Transaction {
private static final Logger LOGGER = LogManager.getLogger(ArbitraryTransaction.class);
diff --git a/src/main/java/org/qortal/transaction/AtTransaction.java b/src/main/java/org/qortal/transaction/AtTransaction.java
index b07f006b..398ac6c0 100644
--- a/src/main/java/org/qortal/transaction/AtTransaction.java
+++ b/src/main/java/org/qortal/transaction/AtTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.List;
-
+import com.google.common.primitives.Bytes;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.block.BlockChain;
@@ -17,7 +15,8 @@ import org.qortal.transform.Transformer;
import org.qortal.transform.transaction.AtTransactionTransformer;
import org.qortal.utils.Amounts;
-import com.google.common.primitives.Bytes;
+import java.util.Arrays;
+import java.util.List;
public class AtTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/BuyNameTransaction.java b/src/main/java/org/qortal/transaction/BuyNameTransaction.java
index fe6d8d34..72c15f69 100644
--- a/src/main/java/org/qortal/transaction/BuyNameTransaction.java
+++ b/src/main/java/org/qortal/transaction/BuyNameTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.block.BlockChain;
@@ -16,7 +14,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class BuyNameTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/CancelAssetOrderTransaction.java b/src/main/java/org/qortal/transaction/CancelAssetOrderTransaction.java
index 955f62f4..946b8ab1 100644
--- a/src/main/java/org/qortal/transaction/CancelAssetOrderTransaction.java
+++ b/src/main/java/org/qortal/transaction/CancelAssetOrderTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.asset.Order;
@@ -14,6 +10,10 @@ import org.qortal.repository.AssetRepository;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
public class CancelAssetOrderTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/CancelGroupBanTransaction.java b/src/main/java/org/qortal/transaction/CancelGroupBanTransaction.java
index 08d9cb3e..a9577bc5 100644
--- a/src/main/java/org/qortal/transaction/CancelGroupBanTransaction.java
+++ b/src/main/java/org/qortal/transaction/CancelGroupBanTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -13,6 +10,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class CancelGroupBanTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/CancelGroupInviteTransaction.java b/src/main/java/org/qortal/transaction/CancelGroupInviteTransaction.java
index 800f2444..d4306bbe 100644
--- a/src/main/java/org/qortal/transaction/CancelGroupInviteTransaction.java
+++ b/src/main/java/org/qortal/transaction/CancelGroupInviteTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -13,6 +10,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class CancelGroupInviteTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/CancelSellNameTransaction.java b/src/main/java/org/qortal/transaction/CancelSellNameTransaction.java
index 876f0aed..aa0e6a6f 100644
--- a/src/main/java/org/qortal/transaction/CancelSellNameTransaction.java
+++ b/src/main/java/org/qortal/transaction/CancelSellNameTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
@@ -14,7 +12,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class CancelSellNameTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/ChatTransaction.java b/src/main/java/org/qortal/transaction/ChatTransaction.java
index 3d968461..3004b5b9 100644
--- a/src/main/java/org/qortal/transaction/ChatTransaction.java
+++ b/src/main/java/org/qortal/transaction/ChatTransaction.java
@@ -1,21 +1,14 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.function.Predicate;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
-import org.qortal.controller.arbitrary.ArbitraryDataStorageManager;
import org.qortal.crypto.Crypto;
import org.qortal.crypto.MemoryPoW;
import org.qortal.data.naming.NameData;
import org.qortal.data.transaction.ChatTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.group.Group;
-import org.qortal.list.ResourceListManager;
import org.qortal.repository.DataException;
import org.qortal.repository.GroupRepository;
import org.qortal.repository.Repository;
@@ -26,6 +19,11 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.ListUtils;
import org.qortal.utils.NTP;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.function.Predicate;
+
public class ChatTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/CreateAssetOrderTransaction.java b/src/main/java/org/qortal/transaction/CreateAssetOrderTransaction.java
index 24e57a4e..20c17562 100644
--- a/src/main/java/org/qortal/transaction/CreateAssetOrderTransaction.java
+++ b/src/main/java/org/qortal/transaction/CreateAssetOrderTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.math.BigInteger;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.asset.Order;
@@ -16,6 +12,10 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
+import java.math.BigInteger;
+import java.util.Collections;
+import java.util.List;
+
public class CreateAssetOrderTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/CreateGroupTransaction.java b/src/main/java/org/qortal/transaction/CreateGroupTransaction.java
index 6f4a3634..d01de4a9 100644
--- a/src/main/java/org/qortal/transaction/CreateGroupTransaction.java
+++ b/src/main/java/org/qortal/transaction/CreateGroupTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.CreateGroupTransactionData;
@@ -12,7 +10,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class CreateGroupTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/CreatePollTransaction.java b/src/main/java/org/qortal/transaction/CreatePollTransaction.java
index a56322a7..e2e4c470 100644
--- a/src/main/java/org/qortal/transaction/CreatePollTransaction.java
+++ b/src/main/java/org/qortal/transaction/CreatePollTransaction.java
@@ -1,9 +1,6 @@
package org.qortal.transaction;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -15,7 +12,9 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
import org.qortal.voting.Poll;
-import com.google.common.base.Utf8;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
public class CreatePollTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/DeployAtTransaction.java b/src/main/java/org/qortal/transaction/DeployAtTransaction.java
index f3024b57..775119ad 100644
--- a/src/main/java/org/qortal/transaction/DeployAtTransaction.java
+++ b/src/main/java/org/qortal/transaction/DeployAtTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.ciyam.at.MachineState;
import org.ciyam.at.Timestamp;
import org.qortal.account.Account;
@@ -18,10 +16,11 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.transform.TransformationException;
-import org.qortal.utils.Amounts;
import org.qortal.transform.transaction.TransactionTransformer;
+import org.qortal.utils.Amounts;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class DeployAtTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/GenesisTransaction.java b/src/main/java/org/qortal/transaction/GenesisTransaction.java
index 74a84a7d..48372dc9 100644
--- a/src/main/java/org/qortal/transaction/GenesisTransaction.java
+++ b/src/main/java/org/qortal/transaction/GenesisTransaction.java
@@ -1,9 +1,6 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.primitives.Bytes;
import org.qortal.account.Account;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.crypto.Crypto;
@@ -14,7 +11,9 @@ import org.qortal.repository.Repository;
import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.TransactionTransformer;
-import com.google.common.primitives.Bytes;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
public class GenesisTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/GroupApprovalTransaction.java b/src/main/java/org/qortal/transaction/GroupApprovalTransaction.java
index 1c8bb709..a88ad3bf 100644
--- a/src/main/java/org/qortal/transaction/GroupApprovalTransaction.java
+++ b/src/main/java/org/qortal/transaction/GroupApprovalTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.GroupApprovalTransactionData;
@@ -10,6 +7,9 @@ import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class GroupApprovalTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/GroupBanTransaction.java b/src/main/java/org/qortal/transaction/GroupBanTransaction.java
index c9a6c307..27c00d5c 100644
--- a/src/main/java/org/qortal/transaction/GroupBanTransaction.java
+++ b/src/main/java/org/qortal/transaction/GroupBanTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -13,6 +10,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class GroupBanTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/GroupInviteTransaction.java b/src/main/java/org/qortal/transaction/GroupInviteTransaction.java
index fa5e7b85..e58d1b9c 100644
--- a/src/main/java/org/qortal/transaction/GroupInviteTransaction.java
+++ b/src/main/java/org/qortal/transaction/GroupInviteTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -12,6 +9,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class GroupInviteTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/GroupKickTransaction.java b/src/main/java/org/qortal/transaction/GroupKickTransaction.java
index 84de3a59..d67f3d15 100644
--- a/src/main/java/org/qortal/transaction/GroupKickTransaction.java
+++ b/src/main/java/org/qortal/transaction/GroupKickTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
@@ -15,6 +12,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.GroupRepository;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class GroupKickTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java
index 52428963..0ba41f27 100644
--- a/src/main/java/org/qortal/transaction/IssueAssetTransaction.java
+++ b/src/main/java/org/qortal/transaction/IssueAssetTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.IssueAssetTransactionData;
@@ -12,7 +10,8 @@ import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class IssueAssetTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/JoinGroupTransaction.java b/src/main/java/org/qortal/transaction/JoinGroupTransaction.java
index 3061a3fb..56cb4d3c 100644
--- a/src/main/java/org/qortal/transaction/JoinGroupTransaction.java
+++ b/src/main/java/org/qortal/transaction/JoinGroupTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.JoinGroupTransactionData;
@@ -11,6 +8,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class JoinGroupTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/LeaveGroupTransaction.java b/src/main/java/org/qortal/transaction/LeaveGroupTransaction.java
index 1e8f8c6c..2af3ba1a 100644
--- a/src/main/java/org/qortal/transaction/LeaveGroupTransaction.java
+++ b/src/main/java/org/qortal/transaction/LeaveGroupTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.group.GroupData;
@@ -12,6 +9,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class LeaveGroupTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/MessageTransaction.java b/src/main/java/org/qortal/transaction/MessageTransaction.java
index b61c3d11..4ecf8e7f 100644
--- a/src/main/java/org/qortal/transaction/MessageTransaction.java
+++ b/src/main/java/org/qortal/transaction/MessageTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
-
import org.qortal.account.Account;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.account.PublicKeyAccount;
@@ -27,6 +23,10 @@ import org.qortal.transform.transaction.MessageTransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.NTP;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+
public class MessageTransaction extends Transaction {
// Useful constants
diff --git a/src/main/java/org/qortal/transaction/MultiPaymentTransaction.java b/src/main/java/org/qortal/transaction/MultiPaymentTransaction.java
index 34cd0147..2c7c1175 100644
--- a/src/main/java/org/qortal/transaction/MultiPaymentTransaction.java
+++ b/src/main/java/org/qortal/transaction/MultiPaymentTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.List;
-import java.util.stream.Collectors;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.PaymentData;
@@ -12,6 +9,9 @@ import org.qortal.payment.Payment;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.List;
+import java.util.stream.Collectors;
+
public class MultiPaymentTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/PaymentTransaction.java b/src/main/java/org/qortal/transaction/PaymentTransaction.java
index 4869db76..518939c2 100644
--- a/src/main/java/org/qortal/transaction/PaymentTransaction.java
+++ b/src/main/java/org/qortal/transaction/PaymentTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.PaymentData;
@@ -12,6 +9,9 @@ import org.qortal.payment.Payment;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class PaymentTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/PresenceTransaction.java b/src/main/java/org/qortal/transaction/PresenceTransaction.java
index 56a9f633..9ac31b58 100644
--- a/src/main/java/org/qortal/transaction/PresenceTransaction.java
+++ b/src/main/java/org/qortal/transaction/PresenceTransaction.java
@@ -1,14 +1,6 @@
package org.qortal.transaction;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Supplier;
-
+import com.google.common.primitives.Longs;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -31,7 +23,14 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.ByteArray;
-import com.google.common.primitives.Longs;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Supplier;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
public class PresenceTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/PublicizeTransaction.java b/src/main/java/org/qortal/transaction/PublicizeTransaction.java
index 44f93e6e..161eb11a 100644
--- a/src/main/java/org/qortal/transaction/PublicizeTransaction.java
+++ b/src/main/java/org/qortal/transaction/PublicizeTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
@@ -19,6 +16,9 @@ import org.qortal.transform.transaction.PublicizeTransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.NTP;
+import java.util.Collections;
+import java.util.List;
+
public class PublicizeTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/RegisterNameTransaction.java b/src/main/java/org/qortal/transaction/RegisterNameTransaction.java
index 19f1da5a..79976199 100644
--- a/src/main/java/org/qortal/transaction/RegisterNameTransaction.java
+++ b/src/main/java/org/qortal/transaction/RegisterNameTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.block.BlockChain;
@@ -15,7 +13,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class RegisterNameTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/RemoveGroupAdminTransaction.java b/src/main/java/org/qortal/transaction/RemoveGroupAdminTransaction.java
index 043b5423..77dd8160 100644
--- a/src/main/java/org/qortal/transaction/RemoveGroupAdminTransaction.java
+++ b/src/main/java/org/qortal/transaction/RemoveGroupAdminTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -14,6 +10,10 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
public class RemoveGroupAdminTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/RewardShareTransaction.java b/src/main/java/org/qortal/transaction/RewardShareTransaction.java
index d4d2434c..ab66dec6 100644
--- a/src/main/java/org/qortal/transaction/RewardShareTransaction.java
+++ b/src/main/java/org/qortal/transaction/RewardShareTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
@@ -16,6 +12,10 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.transform.Transformer;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
public class RewardShareTransaction extends Transaction {
public static final int MAX_SHARE = 100 * 100; // unscaled
diff --git a/src/main/java/org/qortal/transaction/SellNameTransaction.java b/src/main/java/org/qortal/transaction/SellNameTransaction.java
index c2ab2eb9..b2fd1484 100644
--- a/src/main/java/org/qortal/transaction/SellNameTransaction.java
+++ b/src/main/java/org/qortal/transaction/SellNameTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
@@ -14,7 +12,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class SellNameTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/SetGroupTransaction.java b/src/main/java/org/qortal/transaction/SetGroupTransaction.java
index 48248b69..dcd2363f 100644
--- a/src/main/java/org/qortal/transaction/SetGroupTransaction.java
+++ b/src/main/java/org/qortal/transaction/SetGroupTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.SetGroupTransactionData;
@@ -11,6 +8,9 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class SetGroupTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/Transaction.java b/src/main/java/org/qortal/transaction/Transaction.java
index e0ed1f82..61b78ade 100644
--- a/src/main/java/org/qortal/transaction/Transaction.java
+++ b/src/main/java/org/qortal/transaction/Transaction.java
@@ -1,10 +1,5 @@
package org.qortal.transaction;
-import java.math.BigInteger;
-import java.util.*;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.function.Predicate;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -30,11 +25,15 @@ import org.qortal.transform.Transformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.NTP;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.toMap;
-
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.*;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.function.Predicate;
+
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.toMap;
public abstract class Transaction {
diff --git a/src/main/java/org/qortal/transaction/TransferAssetTransaction.java b/src/main/java/org/qortal/transaction/TransferAssetTransaction.java
index 79d485a5..50c6f24a 100644
--- a/src/main/java/org/qortal/transaction/TransferAssetTransaction.java
+++ b/src/main/java/org/qortal/transaction/TransferAssetTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
import org.qortal.account.Account;
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.TransactionData;
@@ -11,6 +8,9 @@ import org.qortal.payment.Payment;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Collections;
+import java.util.List;
+
public class TransferAssetTransaction extends Transaction {
// Properties
diff --git a/src/main/java/org/qortal/transaction/TransferPrivsTransaction.java b/src/main/java/org/qortal/transaction/TransferPrivsTransaction.java
index 97e67160..de3038d8 100644
--- a/src/main/java/org/qortal/transaction/TransferPrivsTransaction.java
+++ b/src/main/java/org/qortal/transaction/TransferPrivsTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.transaction;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -17,6 +13,10 @@ import org.qortal.repository.AccountRepository;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
public class TransferPrivsTransaction extends Transaction {
private static final Logger LOGGER = LogManager.getLogger(TransferPrivsTransaction.class);
diff --git a/src/main/java/org/qortal/transaction/UpdateAssetTransaction.java b/src/main/java/org/qortal/transaction/UpdateAssetTransaction.java
index 16e5641d..45d2c832 100644
--- a/src/main/java/org/qortal/transaction/UpdateAssetTransaction.java
+++ b/src/main/java/org/qortal/transaction/UpdateAssetTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
@@ -13,7 +11,8 @@ import org.qortal.data.transaction.UpdateAssetTransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class UpdateAssetTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/UpdateGroupTransaction.java b/src/main/java/org/qortal/transaction/UpdateGroupTransaction.java
index 27580430..a2546c69 100644
--- a/src/main/java/org/qortal/transaction/UpdateGroupTransaction.java
+++ b/src/main/java/org/qortal/transaction/UpdateGroupTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.crypto.Crypto;
@@ -13,7 +11,8 @@ import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class UpdateGroupTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/UpdateNameTransaction.java b/src/main/java/org/qortal/transaction/UpdateNameTransaction.java
index 8d578c85..8d42207c 100644
--- a/src/main/java/org/qortal/transaction/UpdateNameTransaction.java
+++ b/src/main/java/org/qortal/transaction/UpdateNameTransaction.java
@@ -1,9 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-
+import com.google.common.base.Utf8;
import org.qortal.account.Account;
import org.qortal.asset.Asset;
import org.qortal.controller.repository.NamesDatabaseIntegrityCheck;
@@ -16,7 +13,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Unicode;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
public class UpdateNameTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transaction/VoteOnPollTransaction.java b/src/main/java/org/qortal/transaction/VoteOnPollTransaction.java
index 89eec184..4335ec76 100644
--- a/src/main/java/org/qortal/transaction/VoteOnPollTransaction.java
+++ b/src/main/java/org/qortal/transaction/VoteOnPollTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.transaction;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.base.Utf8;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.account.Account;
@@ -18,7 +16,8 @@ import org.qortal.repository.VotingRepository;
import org.qortal.utils.Unicode;
import org.qortal.voting.Poll;
-import com.google.common.base.Utf8;
+import java.util.Collections;
+import java.util.List;
public class VoteOnPollTransaction extends Transaction {
diff --git a/src/main/java/org/qortal/transform/PaymentTransformer.java b/src/main/java/org/qortal/transform/PaymentTransformer.java
index 56aa7ad1..34f0b030 100644
--- a/src/main/java/org/qortal/transform/PaymentTransformer.java
+++ b/src/main/java/org/qortal/transform/PaymentTransformer.java
@@ -1,14 +1,13 @@
package org.qortal.transform;
+import com.google.common.primitives.Longs;
+import org.qortal.data.PaymentData;
+import org.qortal.utils.Serialization;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
-import org.qortal.data.PaymentData;
-import org.qortal.utils.Serialization;
-
-import com.google.common.primitives.Longs;
-
public class PaymentTransformer extends Transformer {
// Property lengths
diff --git a/src/main/java/org/qortal/transform/block/BlockTransformer.java b/src/main/java/org/qortal/transform/block/BlockTransformer.java
index 15445327..fee585ca 100644
--- a/src/main/java/org/qortal/transform/block/BlockTransformer.java
+++ b/src/main/java/org/qortal/transform/block/BlockTransformer.java
@@ -1,13 +1,8 @@
package org.qortal.transform.block;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
+import io.druid.extendedset.intset.ConciseSet;
import org.qortal.block.Block;
import org.qortal.block.BlockChain;
import org.qortal.crypto.Crypto;
@@ -23,10 +18,13 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
-
-import io.druid.extendedset.intset.ConciseSet;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
public class BlockTransformer extends Transformer {
diff --git a/src/main/java/org/qortal/transform/transaction/AccountFlagsTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/AccountFlagsTransactionTransformer.java
index 7fe1cb61..966cdb25 100644
--- a/src/main/java/org/qortal/transform/transaction/AccountFlagsTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/AccountFlagsTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.AccountFlagsTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class AccountFlagsTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/AccountLevelTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/AccountLevelTransactionTransformer.java
index 7572ebf7..ae9f15a5 100644
--- a/src/main/java/org/qortal/transform/transaction/AccountLevelTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/AccountLevelTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.AccountLevelTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class AccountLevelTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/AddGroupAdminTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/AddGroupAdminTransactionTransformer.java
index 62e011af..5b4ece3e 100644
--- a/src/main/java/org/qortal/transform/transaction/AddGroupAdminTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/AddGroupAdminTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.AddGroupAdminTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class AddGroupAdminTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java
index 1ae80e1f..8b47b5b8 100644
--- a/src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java
@@ -1,18 +1,14 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-
import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.crypto.Crypto;
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.ArbitraryTransactionData;
+import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
import org.qortal.naming.Name;
import org.qortal.transaction.ArbitraryTransaction;
import org.qortal.transaction.Transaction;
@@ -21,8 +17,11 @@ import org.qortal.transform.PaymentTransformer;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.List;
public class ArbitraryTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/AtTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/AtTransactionTransformer.java
index bb1381b2..a441a693 100644
--- a/src/main/java/org/qortal/transform/transaction/AtTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/AtTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.account.NullAccount;
import org.qortal.data.transaction.ATTransactionData;
import org.qortal.data.transaction.BaseTransactionData;
@@ -13,8 +11,9 @@ import org.qortal.transaction.Transaction;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class AtTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/BuyNameTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/BuyNameTransactionTransformer.java
index 2a00b615..8dff8a25 100644
--- a/src/main/java/org/qortal/transform/transaction/BuyNameTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/BuyNameTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.BuyNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class BuyNameTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CancelAssetOrderTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CancelAssetOrderTransactionTransformer.java
index d65a3f37..b38977e9 100644
--- a/src/main/java/org/qortal/transform/transaction/CancelAssetOrderTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CancelAssetOrderTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelAssetOrderTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CancelAssetOrderTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CancelGroupBanTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CancelGroupBanTransactionTransformer.java
index 1444c890..2dcbd7cb 100644
--- a/src/main/java/org/qortal/transform/transaction/CancelGroupBanTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CancelGroupBanTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelGroupBanTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CancelGroupBanTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CancelGroupInviteTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CancelGroupInviteTransactionTransformer.java
index 7cacbaa0..a8a01b54 100644
--- a/src/main/java/org/qortal/transform/transaction/CancelGroupInviteTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CancelGroupInviteTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelGroupInviteTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CancelGroupInviteTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CancelSellNameTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CancelSellNameTransactionTransformer.java
index c91a78a4..1dc13d55 100644
--- a/src/main/java/org/qortal/transform/transaction/CancelSellNameTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CancelSellNameTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CancelSellNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CancelSellNameTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/ChatTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/ChatTransactionTransformer.java
index b966ed2b..0730dad4 100644
--- a/src/main/java/org/qortal/transform/transaction/ChatTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/ChatTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.block.BlockChain;
import org.qortal.crypto.Crypto;
import org.qortal.data.transaction.BaseTransactionData;
@@ -14,8 +12,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class ChatTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CreateAssetOrderTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CreateAssetOrderTransactionTransformer.java
index 29363332..dc711594 100644
--- a/src/main/java/org/qortal/transform/transaction/CreateAssetOrderTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CreateAssetOrderTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreateAssetOrderTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CreateAssetOrderTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CreateGroupTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CreateGroupTransactionTransformer.java
index 29afba9d..0edc89b8 100644
--- a/src/main/java/org/qortal/transform/transaction/CreateGroupTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CreateGroupTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreateGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -13,9 +12,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class CreateGroupTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/CreatePollTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/CreatePollTransactionTransformer.java
index 442693df..0a8a1712 100644
--- a/src/main/java/org/qortal/transform/transaction/CreatePollTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/CreatePollTransactionTransformer.java
@@ -1,11 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.CreatePollTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -15,9 +12,11 @@ import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
import org.qortal.voting.Poll;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.List;
public class CreatePollTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/DeployAtTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/DeployAtTransactionTransformer.java
index 4a201338..8b14d74b 100644
--- a/src/main/java/org/qortal/transform/transaction/DeployAtTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/DeployAtTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.DeployAtTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,9 +11,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class DeployAtTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/GenesisTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/GenesisTransactionTransformer.java
index 41348b79..99ded558 100644
--- a/src/main/java/org/qortal/transform/transaction/GenesisTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/GenesisTransactionTransformer.java
@@ -1,16 +1,15 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.GenesisTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class GenesisTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/GroupApprovalTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/GroupApprovalTransactionTransformer.java
index 227e291a..cee62bc1 100644
--- a/src/main/java/org/qortal/transform/transaction/GroupApprovalTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/GroupApprovalTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupApprovalTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class GroupApprovalTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/GroupBanTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/GroupBanTransactionTransformer.java
index 9454390b..8ff681a6 100644
--- a/src/main/java/org/qortal/transform/transaction/GroupBanTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/GroupBanTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupBanTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,9 +11,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class GroupBanTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/GroupInviteTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/GroupInviteTransactionTransformer.java
index 93d2c895..bb8961a5 100644
--- a/src/main/java/org/qortal/transform/transaction/GroupInviteTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/GroupInviteTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupInviteTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class GroupInviteTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/GroupKickTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/GroupKickTransactionTransformer.java
index 0e5ac2f2..3a6fe68c 100644
--- a/src/main/java/org/qortal/transform/transaction/GroupKickTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/GroupKickTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.GroupKickTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,9 +11,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class GroupKickTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/IssueAssetTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/IssueAssetTransactionTransformer.java
index 59cbd6bc..8c1f7d02 100644
--- a/src/main/java/org/qortal/transform/transaction/IssueAssetTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/IssueAssetTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.IssueAssetTransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class IssueAssetTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/JoinGroupTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/JoinGroupTransactionTransformer.java
index a4f33e48..a20acf53 100644
--- a/src/main/java/org/qortal/transform/transaction/JoinGroupTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/JoinGroupTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.JoinGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class JoinGroupTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/LeaveGroupTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/LeaveGroupTransactionTransformer.java
index ee42ffeb..d1d6152e 100644
--- a/src/main/java/org/qortal/transform/transaction/LeaveGroupTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/LeaveGroupTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.LeaveGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class LeaveGroupTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/MessageTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/MessageTransactionTransformer.java
index dccd7ba9..dcbe8a7f 100644
--- a/src/main/java/org/qortal/transform/transaction/MessageTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/MessageTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.MessageTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -13,8 +11,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class MessageTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/MultiPaymentTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/MultiPaymentTransactionTransformer.java
index 1f77243f..ff969b02 100644
--- a/src/main/java/org/qortal/transform/transaction/MultiPaymentTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/MultiPaymentTransactionTransformer.java
@@ -1,11 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.MultiPaymentTransactionData;
@@ -15,8 +11,11 @@ import org.qortal.transform.PaymentTransformer;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.List;
public class MultiPaymentTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/PaymentTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/PaymentTransactionTransformer.java
index af194470..d9b5488c 100644
--- a/src/main/java/org/qortal/transform/transaction/PaymentTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/PaymentTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PaymentTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class PaymentTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/PresenceTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/PresenceTransactionTransformer.java
index bf69d102..f9fae7a7 100644
--- a/src/main/java/org/qortal/transform/transaction/PresenceTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/PresenceTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PresenceTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class PresenceTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/PublicizeTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/PublicizeTransactionTransformer.java
index 6413db24..e778169b 100644
--- a/src/main/java/org/qortal/transform/transaction/PublicizeTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/PublicizeTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.PublicizeTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class PublicizeTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/RegisterNameTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/RegisterNameTransactionTransformer.java
index 54f86f35..29625b9d 100644
--- a/src/main/java/org/qortal/transform/transaction/RegisterNameTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/RegisterNameTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RegisterNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class RegisterNameTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/RemoveGroupAdminTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/RemoveGroupAdminTransactionTransformer.java
index 58a8d07d..635623da 100644
--- a/src/main/java/org/qortal/transform/transaction/RemoveGroupAdminTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/RemoveGroupAdminTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RemoveGroupAdminTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class RemoveGroupAdminTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/RewardShareTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/RewardShareTransactionTransformer.java
index 3611e07e..dfc0b90c 100644
--- a/src/main/java/org/qortal/transform/transaction/RewardShareTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/RewardShareTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.RewardShareTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class RewardShareTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/SellNameTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/SellNameTransactionTransformer.java
index 3fded96e..b0ba3f3e 100644
--- a/src/main/java/org/qortal/transform/transaction/SellNameTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/SellNameTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.SellNameTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class SellNameTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/SetGroupTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/SetGroupTransactionTransformer.java
index 586e084a..62ea78a3 100644
--- a/src/main/java/org/qortal/transform/transaction/SetGroupTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/SetGroupTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.SetGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,8 +9,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class SetGroupTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/TransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/TransactionTransformer.java
index ae029eaf..293f89fd 100644
--- a/src/main/java/org/qortal/transform/transaction/TransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/TransactionTransformer.java
@@ -1,5 +1,20 @@
package org.qortal.transform.transaction;
+import com.google.common.hash.HashCode;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.qortal.account.PrivateKeyAccount;
+import org.qortal.data.transaction.TransactionData;
+import org.qortal.transaction.Transaction;
+import org.qortal.transaction.Transaction.TransactionType;
+import org.qortal.transform.TransformationException;
+import org.qortal.transform.Transformer;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
@@ -11,23 +26,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.qortal.account.PrivateKeyAccount;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.transaction.Transaction;
-import org.qortal.transaction.Transaction.TransactionType;
-import org.qortal.transform.TransformationException;
-import org.qortal.transform.Transformer;
-
-import com.google.common.hash.HashCode;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
-
public abstract class TransactionTransformer extends Transformer {
private static final Logger LOGGER = LogManager.getLogger(TransactionTransformer.class);
diff --git a/src/main/java/org/qortal/transform/transaction/TransferAssetTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/TransferAssetTransactionTransformer.java
index 1f124289..0b408ca6 100644
--- a/src/main/java/org/qortal/transform/transaction/TransferAssetTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/TransferAssetTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.TransferAssetTransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class TransferAssetTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/TransferPrivsTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/TransferPrivsTransactionTransformer.java
index 59c3dd2a..7663f36f 100644
--- a/src/main/java/org/qortal/transform/transaction/TransferPrivsTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/TransferPrivsTransactionTransformer.java
@@ -1,9 +1,6 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.TransferPrivsTransactionData;
@@ -11,7 +8,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class TransferPrivsTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/UpdateAssetTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/UpdateAssetTransactionTransformer.java
index ba27d939..829545f4 100644
--- a/src/main/java/org/qortal/transform/transaction/UpdateAssetTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/UpdateAssetTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class UpdateAssetTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/UpdateGroupTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/UpdateGroupTransactionTransformer.java
index 673694c3..67c20f74 100644
--- a/src/main/java/org/qortal/transform/transaction/UpdateGroupTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/UpdateGroupTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.UpdateGroupTransactionData;
@@ -13,9 +12,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class UpdateGroupTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/UpdateNameTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/UpdateNameTransactionTransformer.java
index 6e3aa06b..8a5152d7 100644
--- a/src/main/java/org/qortal/transform/transaction/UpdateNameTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/UpdateNameTransactionTransformer.java
@@ -1,9 +1,7 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.UpdateNameTransactionData;
@@ -12,8 +10,9 @@ import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class UpdateNameTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/transform/transaction/VoteOnPollTransactionTransformer.java b/src/main/java/org/qortal/transform/transaction/VoteOnPollTransactionTransformer.java
index 10045e3f..7315b775 100644
--- a/src/main/java/org/qortal/transform/transaction/VoteOnPollTransactionTransformer.java
+++ b/src/main/java/org/qortal/transform/transaction/VoteOnPollTransactionTransformer.java
@@ -1,9 +1,8 @@
package org.qortal.transform.transaction;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
+import com.google.common.base.Utf8;
+import com.google.common.primitives.Ints;
+import com.google.common.primitives.Longs;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.VoteOnPollTransactionData;
@@ -12,9 +11,9 @@ import org.qortal.transform.TransformationException;
import org.qortal.utils.Serialization;
import org.qortal.voting.Poll;
-import com.google.common.base.Utf8;
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
public class VoteOnPollTransactionTransformer extends TransactionTransformer {
diff --git a/src/main/java/org/qortal/utils/ArbitraryTransactionUtils.java b/src/main/java/org/qortal/utils/ArbitraryTransactionUtils.java
index 65f3436c..2d3a2358 100644
--- a/src/main/java/org/qortal/utils/ArbitraryTransactionUtils.java
+++ b/src/main/java/org/qortal/utils/ArbitraryTransactionUtils.java
@@ -3,9 +3,11 @@ package org.qortal.utils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.qortal.arbitrary.*;
+import org.qortal.arbitrary.ArbitraryDataFile;
+import org.qortal.arbitrary.ArbitraryDataFileChunk;
+import org.qortal.arbitrary.ArbitraryDataReader;
+import org.qortal.arbitrary.ArbitraryDataResource;
import org.qortal.arbitrary.misc.Service;
-import org.qortal.data.arbitrary.ArbitraryResourceData;
import org.qortal.data.arbitrary.ArbitraryResourceStatus;
import org.qortal.data.transaction.ArbitraryTransactionData;
import org.qortal.data.transaction.TransactionData;
diff --git a/src/main/java/org/qortal/utils/BlockArchiveUtils.java b/src/main/java/org/qortal/utils/BlockArchiveUtils.java
index f9ca0d0d..33482fc6 100644
--- a/src/main/java/org/qortal/utils/BlockArchiveUtils.java
+++ b/src/main/java/org/qortal/utils/BlockArchiveUtils.java
@@ -3,8 +3,6 @@ package org.qortal.utils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.qortal.data.at.ATStateData;
-import org.qortal.data.block.BlockData;
-import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.BlockArchiveReader;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
diff --git a/src/main/java/org/qortal/utils/ExecuteProduceConsume.java b/src/main/java/org/qortal/utils/ExecuteProduceConsume.java
index 223d0e93..58e1af05 100644
--- a/src/main/java/org/qortal/utils/ExecuteProduceConsume.java
+++ b/src/main/java/org/qortal/utils/ExecuteProduceConsume.java
@@ -1,16 +1,15 @@
package org.qortal.utils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.TimeUnit;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
public abstract class ExecuteProduceConsume implements Runnable {
@XmlAccessorType(XmlAccessType.FIELD)
diff --git a/src/main/java/org/qortal/utils/LoggingUtils.java b/src/main/java/org/qortal/utils/LoggingUtils.java
index eeb2a7c0..b3b272b0 100644
--- a/src/main/java/org/qortal/utils/LoggingUtils.java
+++ b/src/main/java/org/qortal/utils/LoggingUtils.java
@@ -1,7 +1,6 @@
package org.qortal.utils;
import org.apache.commons.io.FileUtils;
-import org.apache.logging.log4j.LogManager;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/src/main/java/org/qortal/utils/NTP.java b/src/main/java/org/qortal/utils/NTP.java
index 779db41b..e5c0d35f 100644
--- a/src/main/java/org/qortal/utils/NTP.java
+++ b/src/main/java/org/qortal/utils/NTP.java
@@ -1,18 +1,5 @@
package org.qortal.utils;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Deque;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.CompletionService;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorCompletionService;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
-
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.NtpV3Packet;
import org.apache.commons.net.ntp.TimeInfo;
@@ -20,6 +7,15 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.Deque;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+
public class NTP implements Runnable {
private static final Logger LOGGER = LogManager.getLogger(NTP.class);
diff --git a/src/main/java/org/qortal/utils/Serialization.java b/src/main/java/org/qortal/utils/Serialization.java
index 26888477..a95698c6 100644
--- a/src/main/java/org/qortal/utils/Serialization.java
+++ b/src/main/java/org/qortal/utils/Serialization.java
@@ -1,5 +1,9 @@
package org.qortal.utils;
+import com.google.common.primitives.Ints;
+import org.qortal.transform.TransformationException;
+import org.qortal.transform.Transformer;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -9,11 +13,6 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
-import org.qortal.transform.TransformationException;
-import org.qortal.transform.Transformer;
-
-import com.google.common.primitives.Ints;
-
public class Serialization {
/**
diff --git a/src/main/java/org/qortal/utils/SevenZ.java b/src/main/java/org/qortal/utils/SevenZ.java
index 5126b292..1432dc0d 100644
--- a/src/main/java/org/qortal/utils/SevenZ.java
+++ b/src/main/java/org/qortal/utils/SevenZ.java
@@ -11,7 +11,10 @@ import org.apache.commons.compress.archivers.sevenz.SevenZFile;
import org.apache.commons.compress.archivers.sevenz.SevenZOutputFile;
import org.qortal.gui.SplashFrame;
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
public class SevenZ {
diff --git a/src/main/java/org/qortal/utils/StringLongMapXmlAdapter.java b/src/main/java/org/qortal/utils/StringLongMapXmlAdapter.java
index 00625462..2ddf5823 100644
--- a/src/main/java/org/qortal/utils/StringLongMapXmlAdapter.java
+++ b/src/main/java/org/qortal/utils/StringLongMapXmlAdapter.java
@@ -1,17 +1,16 @@
package org.qortal.utils;
+import org.eclipse.persistence.oxm.annotations.XmlVariableNode;
+
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-
-import org.eclipse.persistence.oxm.annotations.XmlVariableNode;
-
public class StringLongMapXmlAdapter extends XmlAdapter> {
public static class StringLongMap {
diff --git a/src/main/java/org/qortal/utils/URLViewer.java b/src/main/java/org/qortal/utils/URLViewer.java
index e03e6141..7d512bd2 100644
--- a/src/main/java/org/qortal/utils/URLViewer.java
+++ b/src/main/java/org/qortal/utils/URLViewer.java
@@ -1,13 +1,13 @@
package org.qortal.utils;
-import java.awt.Desktop;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.awt.*;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
public class URLViewer {
private static final Logger LOGGER = LogManager.getLogger(URLViewer.class);
diff --git a/src/main/java/org/qortal/utils/Unicode.java b/src/main/java/org/qortal/utils/Unicode.java
index c9484d82..c3e282ce 100644
--- a/src/main/java/org/qortal/utils/Unicode.java
+++ b/src/main/java/org/qortal/utils/Unicode.java
@@ -1,28 +1,16 @@
package org.qortal.utils;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.UncheckedIOException;
-import java.text.Normalizer;
-import java.text.Normalizer.Form;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.TreeMap;
-
import com.google.common.base.CharMatcher;
-
import com.ibm.icu.text.CaseMap;
import com.ibm.icu.text.Normalizer2;
import com.ibm.icu.text.UnicodeSet;
import net.codebox.homoglyph.HomoglyphBuilder;
+import java.io.*;
+import java.text.Normalizer;
+import java.text.Normalizer.Form;
+import java.util.*;
+
public abstract class Unicode {
public static final String NO_BREAK_SPACE = "\u00a0";
diff --git a/src/test/java/org/qortal/test/AccountBalanceTests.java b/src/test/java/org/qortal/test/AccountBalanceTests.java
index cd2822ac..13884b2d 100644
--- a/src/test/java/org/qortal/test/AccountBalanceTests.java
+++ b/src/test/java/org/qortal/test/AccountBalanceTests.java
@@ -1,14 +1,5 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
-import java.util.stream.Collectors;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -17,14 +8,24 @@ import org.qortal.account.PublicKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.data.account.AccountBalanceData;
import org.qortal.data.account.AccountData;
+import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
import org.qortal.test.common.TestAccount;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+import java.util.stream.Collectors;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
public class AccountBalanceTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/AccountRefCacheTests.java b/src/test/java/org/qortal/test/AccountRefCacheTests.java
index c7305dd9..ad0cfa7b 100644
--- a/src/test/java/org/qortal/test/AccountRefCacheTests.java
+++ b/src/test/java/org/qortal/test/AccountRefCacheTests.java
@@ -1,10 +1,5 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.Random;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.Account;
@@ -21,6 +16,11 @@ import org.qortal.test.common.TestAccount;
import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
+import java.util.Arrays;
+import java.util.Random;
+
+import static org.junit.Assert.*;
+
public class AccountRefCacheTests extends Common {
private static final Random RANDOM = new Random();
diff --git a/src/test/java/org/qortal/test/AmountsTests.java b/src/test/java/org/qortal/test/AmountsTests.java
index 90159466..82a2d7ad 100644
--- a/src/test/java/org/qortal/test/AmountsTests.java
+++ b/src/test/java/org/qortal/test/AmountsTests.java
@@ -1,10 +1,10 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
import org.junit.Test;
import org.qortal.utils.Amounts;
+import static org.junit.Assert.assertEquals;
+
public class AmountsTests {
@Test
diff --git a/src/test/java/org/qortal/test/BlockTests.java b/src/test/java/org/qortal/test/BlockTests.java
index 53b216ec..e0e2244d 100644
--- a/src/test/java/org/qortal/test/BlockTests.java
+++ b/src/test/java/org/qortal/test/BlockTests.java
@@ -1,18 +1,11 @@
package org.qortal.test;
-import java.util.Arrays;
-import java.util.Deque;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.stream.Collectors;
-
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.block.Block;
import org.qortal.block.GenesisBlock;
-import org.qortal.data.at.ATStateData;
import org.qortal.data.block.BlockData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
@@ -28,7 +21,12 @@ import org.qortal.transform.block.BlockTransformation;
import org.qortal.transform.block.BlockTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
-import org.qortal.utils.Triple;
+
+import java.util.Arrays;
+import java.util.Deque;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
import static org.junit.Assert.*;
diff --git a/src/test/java/org/qortal/test/ByteArrayTests.java b/src/test/java/org/qortal/test/ByteArrayTests.java
index f954a367..4beb2858 100644
--- a/src/test/java/org/qortal/test/ByteArrayTests.java
+++ b/src/test/java/org/qortal/test/ByteArrayTests.java
@@ -1,19 +1,13 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.TreeMap;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.utils.ByteArray;
+import java.util.*;
+
+import static org.junit.Assert.*;
+
public class ByteArrayTests {
private static List testValues;
diff --git a/src/test/java/org/qortal/test/ChainWeightTests.java b/src/test/java/org/qortal/test/ChainWeightTests.java
index e53c4c8e..d2a147b7 100644
--- a/src/test/java/org/qortal/test/ChainWeightTests.java
+++ b/src/test/java/org/qortal/test/ChainWeightTests.java
@@ -1,14 +1,8 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
import org.qortal.account.Account;
import org.qortal.block.Block;
import org.qortal.block.BlockChain;
@@ -21,9 +15,15 @@ import org.qortal.test.common.TestAccount;
import org.qortal.transform.Transformer;
import org.qortal.transform.block.BlockTransformer;
import org.qortal.utils.NTP;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+
+import java.math.BigInteger;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+import static org.junit.Assert.*;
public class ChainWeightTests extends Common {
diff --git a/src/test/java/org/qortal/test/CryptoTests.java b/src/test/java/org/qortal/test/CryptoTests.java
index 2cc73182..75422ee7 100644
--- a/src/test/java/org/qortal/test/CryptoTests.java
+++ b/src/test/java/org/qortal/test/CryptoTests.java
@@ -1,16 +1,24 @@
package org.qortal.test;
+import com.google.common.hash.HashCode;
+import org.bouncycastle.crypto.agreement.X25519Agreement;
+import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
+import org.bouncycastle.crypto.params.Ed25519PublicKeyParameters;
+import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
+import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.block.BlockChain;
import org.qortal.crypto.AES;
-import org.qortal.crypto.Qortal25519Extras;
import org.qortal.crypto.Crypto;
+import org.qortal.crypto.Qortal25519Extras;
import org.qortal.test.common.Common;
import org.qortal.utils.Base58;
-import static org.junit.Assert.*;
-
+import javax.crypto.BadPaddingException;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -25,18 +33,7 @@ import java.security.SecureRandom;
import java.util.Arrays;
import java.util.Random;
-import org.bouncycastle.crypto.agreement.X25519Agreement;
-import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
-import org.bouncycastle.crypto.params.Ed25519PublicKeyParameters;
-import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
-import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
-
-import com.google.common.hash.HashCode;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
+import static org.junit.Assert.*;
public class CryptoTests extends Common {
diff --git a/src/test/java/org/qortal/test/EPCTests.java b/src/test/java/org/qortal/test/EPCTests.java
index 1a41b75d..b90be16d 100644
--- a/src/test/java/org/qortal/test/EPCTests.java
+++ b/src/test/java/org/qortal/test/EPCTests.java
@@ -1,5 +1,9 @@
package org.qortal.test;
+import org.junit.Test;
+import org.qortal.utils.ExecuteProduceConsume;
+import org.qortal.utils.ExecuteProduceConsume.StatsSnapshot;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -9,10 +13,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
-import org.junit.Test;
-import org.qortal.utils.ExecuteProduceConsume;
-import org.qortal.utils.ExecuteProduceConsume.StatsSnapshot;
-
import static org.junit.Assert.fail;
public class EPCTests {
diff --git a/src/test/java/org/qortal/test/GuiTests.java b/src/test/java/org/qortal/test/GuiTests.java
index 0754d33b..016518f3 100644
--- a/src/test/java/org/qortal/test/GuiTests.java
+++ b/src/test/java/org/qortal/test/GuiTests.java
@@ -1,12 +1,12 @@
package org.qortal.test;
-import java.awt.TrayIcon.MessageType;
-
import org.junit.Ignore;
import org.junit.Test;
import org.qortal.gui.SplashFrame;
import org.qortal.gui.SysTray;
+import java.awt.TrayIcon.MessageType;
+
@Ignore
public class GuiTests {
diff --git a/src/test/java/org/qortal/test/MemoryPoWTests.java b/src/test/java/org/qortal/test/MemoryPoWTests.java
index 3b0045e5..f642c781 100644
--- a/src/test/java/org/qortal/test/MemoryPoWTests.java
+++ b/src/test/java/org/qortal/test/MemoryPoWTests.java
@@ -6,10 +6,10 @@ import org.qortal.crypto.MemoryPoW;
import org.qortal.repository.DataException;
import org.qortal.test.common.Common;
-import static org.junit.Assert.*;
-
import java.util.Random;
+import static org.junit.Assert.*;
+
@Ignore
public class MemoryPoWTests {
diff --git a/src/test/java/org/qortal/test/MessageTests.java b/src/test/java/org/qortal/test/MessageTests.java
index c76c715e..216f61bf 100644
--- a/src/test/java/org/qortal/test/MessageTests.java
+++ b/src/test/java/org/qortal/test/MessageTests.java
@@ -27,11 +27,11 @@ import org.qortal.transform.transaction.MessageTransactionTransformer;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.NTP;
-import static org.junit.Assert.*;
-
import java.util.List;
import java.util.Random;
+import static org.junit.Assert.*;
+
public class MessageTests extends Common {
private static final int version = 4;
diff --git a/src/test/java/org/qortal/test/RepositoryTests.java b/src/test/java/org/qortal/test/RepositoryTests.java
index 30cbaea5..0d07be4b 100644
--- a/src/test/java/org/qortal/test/RepositoryTests.java
+++ b/src/test/java/org/qortal/test/RepositoryTests.java
@@ -1,5 +1,7 @@
package org.qortal.test;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.Account;
@@ -17,8 +19,6 @@ import org.qortal.repository.hsqldb.HSQLDBRepository;
import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
-import static org.junit.Assert.*;
-
import java.lang.reflect.Field;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -29,8 +29,7 @@ import java.util.List;
import java.util.Random;
import java.util.concurrent.*;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
+import static org.junit.Assert.*;
public class RepositoryTests extends Common {
diff --git a/src/test/java/org/qortal/test/SchnorrTests.java b/src/test/java/org/qortal/test/SchnorrTests.java
index e0d1f1c9..666e4860 100644
--- a/src/test/java/org/qortal/test/SchnorrTests.java
+++ b/src/test/java/org/qortal/test/SchnorrTests.java
@@ -12,9 +12,8 @@ import org.qortal.test.common.AccountUtils;
import org.qortal.transform.Transformer;
import java.math.BigInteger;
-import java.security.SecureRandom;
import java.security.Security;
-import java.util.*;
+import java.util.List;
import java.util.stream.Collectors;
import static org.junit.Assert.*;
diff --git a/src/test/java/org/qortal/test/SelfSponsorshipAlgoV1Tests.java b/src/test/java/org/qortal/test/SelfSponsorshipAlgoV1Tests.java
index 397a1bbe..5c038de2 100644
--- a/src/test/java/org/qortal/test/SelfSponsorshipAlgoV1Tests.java
+++ b/src/test/java/org/qortal/test/SelfSponsorshipAlgoV1Tests.java
@@ -15,17 +15,23 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import org.qortal.settings.Settings;
-import org.qortal.test.common.*;
+import org.qortal.test.common.AccountUtils;
+import org.qortal.test.common.BlockUtils;
+import org.qortal.test.common.Common;
+import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.TransferPrivsTransaction;
import org.qortal.utils.NTP;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
import static org.junit.Assert.*;
import static org.qortal.test.common.AccountUtils.fee;
-import static org.qortal.transaction.Transaction.ValidationResult.*;
+import static org.qortal.transaction.Transaction.ValidationResult.ACCOUNT_NOT_TRANSFERABLE;
+import static org.qortal.transaction.Transaction.ValidationResult.OK;
public class SelfSponsorshipAlgoV1Tests extends Common {
diff --git a/src/test/java/org/qortal/test/TransactionSearchTests.java b/src/test/java/org/qortal/test/TransactionSearchTests.java
index 8cc75646..ba7b4781 100644
--- a/src/test/java/org/qortal/test/TransactionSearchTests.java
+++ b/src/test/java/org/qortal/test/TransactionSearchTests.java
@@ -1,9 +1,5 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
@@ -15,6 +11,10 @@ import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
import org.qortal.transaction.Transaction.TransactionType;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
public class TransactionSearchTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/TransferPrivsTests.java b/src/test/java/org/qortal/test/TransferPrivsTests.java
index 3ed3ad16..86a0e743 100644
--- a/src/test/java/org/qortal/test/TransferPrivsTests.java
+++ b/src/test/java/org/qortal/test/TransferPrivsTests.java
@@ -17,20 +17,16 @@ import org.qortal.data.transaction.TransferPrivsTransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.test.common.AccountUtils;
-import org.qortal.test.common.BlockUtils;
-import org.qortal.test.common.Common;
-import org.qortal.test.common.TestAccount;
-import org.qortal.test.common.TransactionUtils;
+import org.qortal.test.common.*;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transform.Transformer;
import org.qortal.utils.Amounts;
-import static org.junit.Assert.*;
-
import java.util.List;
import java.util.Random;
+import static org.junit.Assert.*;
+
@Ignore(value = "Doesn't work, to be fixed later")
public class TransferPrivsTests extends Common {
diff --git a/src/test/java/org/qortal/test/UnicodeTests.java b/src/test/java/org/qortal/test/UnicodeTests.java
index f84b13d5..724154f4 100644
--- a/src/test/java/org/qortal/test/UnicodeTests.java
+++ b/src/test/java/org/qortal/test/UnicodeTests.java
@@ -1,11 +1,12 @@
package org.qortal.test;
-import static org.junit.Assert.*;
-import static org.qortal.utils.Unicode.*;
-
import org.junit.Test;
import org.qortal.utils.Unicode;
+import static org.junit.Assert.*;
+import static org.qortal.utils.Unicode.NO_BREAK_SPACE;
+import static org.qortal.utils.Unicode.ZERO_WIDTH_SPACE;
+
public class UnicodeTests {
@Test
diff --git a/src/test/java/org/qortal/test/api/AddressesApiTests.java b/src/test/java/org/qortal/test/api/AddressesApiTests.java
index 1510f63f..319a9a52 100644
--- a/src/test/java/org/qortal/test/api/AddressesApiTests.java
+++ b/src/test/java/org/qortal/test/api/AddressesApiTests.java
@@ -1,15 +1,15 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
-import java.util.Collections;
-
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.qortal.api.resource.AddressesResource;
import org.qortal.test.common.ApiCommon;
+import java.util.Collections;
+
+import static org.junit.Assert.assertNotNull;
+
public class AddressesApiTests extends ApiCommon {
private AddressesResource addressesResource;
diff --git a/src/test/java/org/qortal/test/api/AdminApiTests.java b/src/test/java/org/qortal/test/api/AdminApiTests.java
index 01f2ebc9..6da52380 100644
--- a/src/test/java/org/qortal/test/api/AdminApiTests.java
+++ b/src/test/java/org/qortal/test/api/AdminApiTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
import org.apache.commons.lang3.reflect.FieldUtils;
import org.junit.Before;
import org.junit.Test;
@@ -11,6 +9,8 @@ import org.qortal.settings.Settings;
import org.qortal.test.common.ApiCommon;
import org.qortal.test.common.Common;
+import static org.junit.Assert.assertNotNull;
+
public class AdminApiTests extends ApiCommon {
private AdminResource adminResource;
diff --git a/src/test/java/org/qortal/test/api/ArbitraryApiTests.java b/src/test/java/org/qortal/test/api/ArbitraryApiTests.java
index e4f27db6..d4ad8926 100644
--- a/src/test/java/org/qortal/test/api/ArbitraryApiTests.java
+++ b/src/test/java/org/qortal/test/api/ArbitraryApiTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.api.resource.ArbitraryResource;
@@ -9,6 +7,8 @@ import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
import org.qortal.arbitrary.misc.Service;
import org.qortal.test.common.ApiCommon;
+import static org.junit.Assert.assertNotNull;
+
public class ArbitraryApiTests extends ApiCommon {
private ArbitraryResource arbitraryResource;
diff --git a/src/test/java/org/qortal/test/api/AssetsApiTests.java b/src/test/java/org/qortal/test/api/AssetsApiTests.java
index d678c1ce..2e88b816 100644
--- a/src/test/java/org/qortal/test/api/AssetsApiTests.java
+++ b/src/test/java/org/qortal/test/api/AssetsApiTests.java
@@ -1,24 +1,25 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.api.ApiError;
import org.qortal.api.ApiException;
import org.qortal.api.resource.AssetsResource;
import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
-import org.qortal.repository.Repository;
-import org.qortal.repository.RepositoryManager;
import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.repository.DataException;
+import org.qortal.repository.Repository;
+import org.qortal.repository.RepositoryManager;
import org.qortal.test.common.ApiCommon;
import org.qortal.test.common.AssetUtils;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
public class AssetsApiTests extends ApiCommon {
private static final String FAKE_ORDER_ID_BASE58 = "C3CPq7c8PY";
diff --git a/src/test/java/org/qortal/test/api/BlockApiTests.java b/src/test/java/org/qortal/test/api/BlockApiTests.java
index 23e7b007..8366bacd 100644
--- a/src/test/java/org/qortal/test/api/BlockApiTests.java
+++ b/src/test/java/org/qortal/test/api/BlockApiTests.java
@@ -1,11 +1,5 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -21,6 +15,12 @@ import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
import org.qortal.utils.Base58;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.Assert.assertNotNull;
+
public class BlockApiTests extends ApiCommon {
private BlocksResource blocksResource;
diff --git a/src/test/java/org/qortal/test/api/GroupApiTests.java b/src/test/java/org/qortal/test/api/GroupApiTests.java
index cd288906..a5b8edd7 100644
--- a/src/test/java/org/qortal/test/api/GroupApiTests.java
+++ b/src/test/java/org/qortal/test/api/GroupApiTests.java
@@ -1,12 +1,12 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.api.resource.GroupsResource;
import org.qortal.test.common.ApiCommon;
+import static org.junit.Assert.assertNotNull;
+
public class GroupApiTests extends ApiCommon {
private GroupsResource groupsResource;
diff --git a/src/test/java/org/qortal/test/api/NamesApiTests.java b/src/test/java/org/qortal/test/api/NamesApiTests.java
index effdfea4..49fb44a7 100644
--- a/src/test/java/org/qortal/test/api/NamesApiTests.java
+++ b/src/test/java/org/qortal/test/api/NamesApiTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
@@ -17,7 +15,8 @@ import org.qortal.test.common.Common;
import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.RegisterNameTransaction;
-import org.qortal.utils.NTP;
+
+import static org.junit.Assert.assertNotNull;
public class NamesApiTests extends ApiCommon {
diff --git a/src/test/java/org/qortal/test/api/TransactionsApiTests.java b/src/test/java/org/qortal/test/api/TransactionsApiTests.java
index 102cac34..ac98ec23 100644
--- a/src/test/java/org/qortal/test/api/TransactionsApiTests.java
+++ b/src/test/java/org/qortal/test/api/TransactionsApiTests.java
@@ -1,10 +1,5 @@
package org.qortal.test.api;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.api.resource.TransactionsResource;
@@ -12,6 +7,11 @@ import org.qortal.api.resource.TransactionsResource.ConfirmationStatus;
import org.qortal.test.common.ApiCommon;
import org.qortal.transaction.Transaction.TransactionType;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertNotNull;
+
public class TransactionsApiTests extends ApiCommon {
private TransactionsResource transactionsResource;
diff --git a/src/test/java/org/qortal/test/apps/BuildCheckpoints.java b/src/test/java/org/qortal/test/apps/BuildCheckpoints.java
index 48cc570c..5500c848 100644
--- a/src/test/java/org/qortal/test/apps/BuildCheckpoints.java
+++ b/src/test/java/org/qortal/test/apps/BuildCheckpoints.java
@@ -1,25 +1,16 @@
package org.qortal.test.apps;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
+import org.bitcoinj.core.*;
+import org.bitcoinj.params.RegTestParams;
+import org.bitcoinj.store.BlockStore;
+import org.bitcoinj.store.MemoryBlockStore;
+
+import java.io.*;
import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.TreeMap;
-import org.bitcoinj.core.BlockChain;
-import org.bitcoinj.core.CheckpointManager;
-import org.bitcoinj.core.NetworkParameters;
-import org.bitcoinj.core.PeerAddress;
-import org.bitcoinj.core.PeerGroup;
-import org.bitcoinj.core.StoredBlock;
-import org.bitcoinj.params.RegTestParams;
-import org.bitcoinj.store.BlockStore;
-import org.bitcoinj.store.MemoryBlockStore;
-
public class BuildCheckpoints {
private static final TreeMap checkpoints = new TreeMap<>();
diff --git a/src/test/java/org/qortal/test/apps/CheckTranslations.java b/src/test/java/org/qortal/test/apps/CheckTranslations.java
index b8008c78..bf239611 100644
--- a/src/test/java/org/qortal/test/apps/CheckTranslations.java
+++ b/src/test/java/org/qortal/test/apps/CheckTranslations.java
@@ -1,15 +1,15 @@
package org.qortal.test.apps;
+import org.qortal.api.ApiError;
+import org.qortal.globalization.Translator;
+import org.qortal.transaction.Transaction.ValidationResult;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;
-import org.qortal.api.ApiError;
-import org.qortal.globalization.Translator;
-import org.qortal.transaction.Transaction.ValidationResult;
-
public class CheckTranslations {
private static final String[] SUPPORTED_LANGS = new String[] { "en", "de", "zh", "ru" };
diff --git a/src/test/java/org/qortal/test/apps/DecodeOnlineAccounts.java b/src/test/java/org/qortal/test/apps/DecodeOnlineAccounts.java
index 9242c422..891a7b97 100644
--- a/src/test/java/org/qortal/test/apps/DecodeOnlineAccounts.java
+++ b/src/test/java/org/qortal/test/apps/DecodeOnlineAccounts.java
@@ -1,8 +1,6 @@
package org.qortal.test.apps;
-import java.math.BigDecimal;
-import java.security.Security;
-
+import io.druid.extendedset.intset.ConciseSet;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
import org.qortal.block.BlockChain;
@@ -19,7 +17,8 @@ import org.qortal.transform.block.BlockTransformer;
import org.qortal.utils.Base58;
import org.roaringbitmap.IntIterator;
-import io.druid.extendedset.intset.ConciseSet;
+import java.math.BigDecimal;
+import java.security.Security;
public class DecodeOnlineAccounts {
diff --git a/src/test/java/org/qortal/test/apps/MemoryPoWTest.java b/src/test/java/org/qortal/test/apps/MemoryPoWTest.java
index 81ab4843..520676bf 100644
--- a/src/test/java/org/qortal/test/apps/MemoryPoWTest.java
+++ b/src/test/java/org/qortal/test/apps/MemoryPoWTest.java
@@ -1,9 +1,9 @@
package org.qortal.test.apps;
-import java.util.Random;
-
import org.qortal.crypto.MemoryPoW;
+import java.util.Random;
+
public class MemoryPoWTest {
public static void main(String[] args) {
diff --git a/src/test/java/org/qortal/test/apps/NTPTests.java b/src/test/java/org/qortal/test/apps/NTPTests.java
index 1dc25b00..df23fd88 100644
--- a/src/test/java/org/qortal/test/apps/NTPTests.java
+++ b/src/test/java/org/qortal/test/apps/NTPTests.java
@@ -1,17 +1,17 @@
package org.qortal.test.apps;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.LoggerConfig;
-import org.apache.logging.log4j.core.LoggerContext;
import org.qortal.utils.NTP;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
public class NTPTests {
private static final List CC_TLDS = Arrays.asList("oceania", "europe", "cn", "asia", "africa");
diff --git a/src/test/java/org/qortal/test/apps/ProxyTest.java b/src/test/java/org/qortal/test/apps/ProxyTest.java
index 7ddd9ea8..c3b3e105 100644
--- a/src/test/java/org/qortal/test/apps/ProxyTest.java
+++ b/src/test/java/org/qortal/test/apps/ProxyTest.java
@@ -1,22 +1,13 @@
package org.qortal.test.apps;
+import javax.net.ssl.*;
import java.io.IOException;
import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.URL;
+import java.net.*;
import java.util.Collections;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SNIHostName;
-import javax.net.ssl.SNIServerName;
-import javax.net.ssl.SSLParameters;
-import javax.net.ssl.SSLSocket;
-
public class ProxyTest {
private static final Pattern proxyUrlPattern = Pattern.compile("(https://)([^@:/]+)@([0-9.]{7,15})(/.*)");
diff --git a/src/test/java/org/qortal/test/apps/RewardShareKeys.java b/src/test/java/org/qortal/test/apps/RewardShareKeys.java
index 5ba1aab4..366bbbb8 100644
--- a/src/test/java/org/qortal/test/apps/RewardShareKeys.java
+++ b/src/test/java/org/qortal/test/apps/RewardShareKeys.java
@@ -1,7 +1,5 @@
package org.qortal.test.apps;
-import java.security.Security;
-
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
import org.qortal.account.PrivateKeyAccount;
@@ -9,6 +7,8 @@ import org.qortal.account.PublicKeyAccount;
import org.qortal.crypto.Crypto;
import org.qortal.utils.Base58;
+import java.security.Security;
+
public class RewardShareKeys {
private static void usage() {
diff --git a/src/test/java/org/qortal/test/apps/SettingsTests.java b/src/test/java/org/qortal/test/apps/SettingsTests.java
index 30ead476..9c236e5f 100644
--- a/src/test/java/org/qortal/test/apps/SettingsTests.java
+++ b/src/test/java/org/qortal/test/apps/SettingsTests.java
@@ -1,20 +1,19 @@
package org.qortal.test.apps;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
import org.eclipse.persistence.jaxb.JAXBContextFactory;
import org.eclipse.persistence.jaxb.UnmarshallerProperties;
import org.qortal.block.BlockChain;
import org.qortal.data.transaction.TransactionData;
import org.qortal.settings.Settings;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+
public class SettingsTests {
public static void main(String[] args) throws JAXBException, IOException {
diff --git a/src/test/java/org/qortal/test/apps/SyncReport.java b/src/test/java/org/qortal/test/apps/SyncReport.java
index 323b2ed9..402ae118 100644
--- a/src/test/java/org/qortal/test/apps/SyncReport.java
+++ b/src/test/java/org/qortal/test/apps/SyncReport.java
@@ -8,12 +8,7 @@ import java.nio.file.Paths;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
diff --git a/src/test/java/org/qortal/test/apps/VanityGen.java b/src/test/java/org/qortal/test/apps/VanityGen.java
index 2c22ea0b..43e1c749 100644
--- a/src/test/java/org/qortal/test/apps/VanityGen.java
+++ b/src/test/java/org/qortal/test/apps/VanityGen.java
@@ -1,18 +1,17 @@
package org.qortal.test.apps;
-import java.security.SecureRandom;
-import java.security.Security;
-import java.util.Random;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
+import com.google.common.primitives.Bytes;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.crypto.Crypto;
import org.qortal.utils.Base58;
-import com.google.common.primitives.Bytes;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.util.Random;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class VanityGen {
diff --git a/src/test/java/org/qortal/test/apps/brokenmd160.java b/src/test/java/org/qortal/test/apps/brokenmd160.java
index d83969ff..ae0e8a7d 100644
--- a/src/test/java/org/qortal/test/apps/brokenmd160.java
+++ b/src/test/java/org/qortal/test/apps/brokenmd160.java
@@ -1,7 +1,7 @@
package org.qortal.test.apps;
-import org.qortal.crypto.BrokenMD160;
import com.google.common.hash.HashCode;
+import org.qortal.crypto.BrokenMD160;
@SuppressWarnings("deprecation")
public class brokenmd160 {
diff --git a/src/test/java/org/qortal/test/apps/orphan.java b/src/test/java/org/qortal/test/apps/orphan.java
index f847f98d..7acb4a7f 100644
--- a/src/test/java/org/qortal/test/apps/orphan.java
+++ b/src/test/java/org/qortal/test/apps/orphan.java
@@ -1,5 +1,4 @@
package org.qortal.test.apps;
-import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.qortal.block.BlockChain;
@@ -10,6 +9,8 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.repository.hsqldb.HSQLDBRepositoryFactory;
import org.qortal.settings.Settings;
+import java.security.Security;
+
public class orphan {
public static void main(String[] args) {
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataDigestTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataDigestTests.java
index 8ef04b27..fdc1f541 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataDigestTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataDigestTests.java
@@ -13,7 +13,8 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.UUID;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
public class ArbitraryDataDigestTests extends Common {
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataFileTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataFileTests.java
index d2ee61c6..ac633717 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataFileTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataFileTests.java
@@ -2,8 +2,8 @@ package org.qortal.test.arbitrary;
import org.junit.Before;
import org.junit.Test;
-import org.qortal.repository.DataException;
import org.qortal.arbitrary.ArbitraryDataFile;
+import org.qortal.repository.DataException;
import org.qortal.test.common.Common;
import java.util.Random;
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataStoragePolicyTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataStoragePolicyTests.java
index 49e645cf..1d8f23b3 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataStoragePolicyTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataStoragePolicyTests.java
@@ -23,7 +23,6 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.RegisterNameTransaction;
import org.qortal.utils.Base58;
-import org.qortal.utils.NTP;
import java.io.IOException;
import java.nio.file.Path;
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataTests.java
index cfc656e1..11f559bf 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryDataTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryDataTests.java
@@ -6,14 +6,14 @@ import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.arbitrary.ArbitraryDataDigest;
import org.qortal.arbitrary.ArbitraryDataFile;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.ArbitraryDataReader;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.metadata.ArbitraryDataMetadataPatch;
import org.qortal.arbitrary.misc.Service;
import org.qortal.controller.arbitrary.ArbitraryDataManager;
import org.qortal.crypto.Crypto;
-import org.qortal.data.transaction.ArbitraryTransactionData.*;
+import org.qortal.data.transaction.ArbitraryTransactionData.Method;
import org.qortal.data.transaction.RegisterNameTransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
@@ -25,7 +25,6 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.RegisterNameTransaction;
import org.qortal.utils.Base58;
-import org.qortal.utils.NTP;
import java.io.IOException;
import java.nio.file.Files;
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryEncryptionTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryEncryptionTests.java
index 2e4dc133..632ff51a 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryEncryptionTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryEncryptionTests.java
@@ -2,12 +2,10 @@ package org.qortal.test.arbitrary;
import org.junit.Before;
import org.junit.Test;
-import org.qortal.arbitrary.ArbitraryDataDigest;
import org.qortal.crypto.AES;
import org.qortal.crypto.Crypto;
import org.qortal.repository.DataException;
import org.qortal.test.common.Common;
-import org.qortal.utils.ZipUtils;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
diff --git a/src/test/java/org/qortal/test/arbitrary/ArbitraryTransactionMetadataTests.java b/src/test/java/org/qortal/test/arbitrary/ArbitraryTransactionMetadataTests.java
index 9ac73166..cd3893af 100644
--- a/src/test/java/org/qortal/test/arbitrary/ArbitraryTransactionMetadataTests.java
+++ b/src/test/java/org/qortal/test/arbitrary/ArbitraryTransactionMetadataTests.java
@@ -6,7 +6,7 @@ import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.arbitrary.ArbitraryDataDigest;
import org.qortal.arbitrary.ArbitraryDataFile;
-import org.qortal.arbitrary.ArbitraryDataFile.*;
+import org.qortal.arbitrary.ArbitraryDataFile.ResourceIdType;
import org.qortal.arbitrary.ArbitraryDataReader;
import org.qortal.arbitrary.exception.MissingDataException;
import org.qortal.arbitrary.misc.Category;
diff --git a/src/test/java/org/qortal/test/assets/CancellingTests.java b/src/test/java/org/qortal/test/assets/CancellingTests.java
index 0d998cb5..4cd61cbc 100644
--- a/src/test/java/org/qortal/test/assets/CancellingTests.java
+++ b/src/test/java/org/qortal/test/assets/CancellingTests.java
@@ -1,9 +1,5 @@
package org.qortal.test.assets;
-import static org.junit.Assert.*;
-
-import java.util.Map;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -17,6 +13,10 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.Amounts;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
public class CancellingTests extends Common {
/*
diff --git a/src/test/java/org/qortal/test/assets/GranularityTests.java b/src/test/java/org/qortal/test/assets/GranularityTests.java
index 9288f3a3..0a4b5164 100644
--- a/src/test/java/org/qortal/test/assets/GranularityTests.java
+++ b/src/test/java/org/qortal/test/assets/GranularityTests.java
@@ -1,9 +1,5 @@
package org.qortal.test.assets;
-import static org.junit.Assert.assertEquals;
-
-import java.math.BigDecimal;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -12,6 +8,10 @@ import org.qortal.repository.DataException;
import org.qortal.test.common.Common;
import org.qortal.utils.Amounts;
+import java.math.BigDecimal;
+
+import static org.junit.Assert.assertEquals;
+
/** Check granularity adjustment values. */
public class GranularityTests extends Common {
diff --git a/src/test/java/org/qortal/test/assets/MiscTests.java b/src/test/java/org/qortal/test/assets/MiscTests.java
index c676f94f..f6c7b20c 100644
--- a/src/test/java/org/qortal/test/assets/MiscTests.java
+++ b/src/test/java/org/qortal/test/assets/MiscTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.assets;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -18,6 +16,9 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.Amounts;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
public class MiscTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/assets/TradingTests.java b/src/test/java/org/qortal/test/assets/TradingTests.java
index 2df34748..f71c39d0 100644
--- a/src/test/java/org/qortal/test/assets/TradingTests.java
+++ b/src/test/java/org/qortal/test/assets/TradingTests.java
@@ -12,10 +12,10 @@ import org.qortal.test.common.AssetUtils;
import org.qortal.test.common.Common;
import org.qortal.utils.Amounts;
-import static org.junit.Assert.assertEquals;
-
import java.util.Map;
+import static org.junit.Assert.assertEquals;
+
public class TradingTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/at/AtRepositoryTests.java b/src/test/java/org/qortal/test/at/AtRepositoryTests.java
index 8441731f..5472fdb8 100644
--- a/src/test/java/org/qortal/test/at/AtRepositoryTests.java
+++ b/src/test/java/org/qortal/test/at/AtRepositoryTests.java
@@ -1,9 +1,5 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.util.List;
-
import org.ciyam.at.MachineState;
import org.junit.Before;
import org.junit.Test;
@@ -18,6 +14,10 @@ import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
import org.qortal.transaction.DeployAtTransaction;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class AtRepositoryTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/at/GetMessageLengthTests.java b/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
index e7a7bcc4..0ab007ba 100644
--- a/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
+++ b/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
@@ -1,10 +1,5 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.nio.ByteBuffer;
-import java.util.Random;
-
import org.ciyam.at.CompilationException;
import org.ciyam.at.FunctionCode;
import org.ciyam.at.MachineState;
@@ -31,6 +26,11 @@ import org.qortal.transaction.DeployAtTransaction;
import org.qortal.transaction.MessageTransaction;
import org.qortal.utils.BitTwiddling;
+import java.nio.ByteBuffer;
+import java.util.Random;
+
+import static org.junit.Assert.assertEquals;
+
public class GetMessageLengthTests extends Common {
private static final Random RANDOM = new Random();
diff --git a/src/test/java/org/qortal/test/at/GetNextTransactionTests.java b/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
index c2eb9ede..a16c27eb 100644
--- a/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
+++ b/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
@@ -1,16 +1,6 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-
-import org.ciyam.at.CompilationException;
-import org.ciyam.at.FunctionCode;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import org.ciyam.at.*;
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
@@ -34,6 +24,12 @@ import org.qortal.transaction.MessageTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.utils.BitTwiddling;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class GetNextTransactionTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/at/GetPartialMessageTests.java b/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
index 0f9b188a..8fc0697b 100644
--- a/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
+++ b/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
@@ -1,9 +1,5 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.nio.ByteBuffer;
-
import org.ciyam.at.CompilationException;
import org.ciyam.at.FunctionCode;
import org.ciyam.at.MachineState;
@@ -28,6 +24,10 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.transaction.DeployAtTransaction;
import org.qortal.transaction.MessageTransaction;
+import java.nio.ByteBuffer;
+
+import static org.junit.Assert.assertArrayEquals;
+
public class GetPartialMessageTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/at/SleepUntilMessageOrHeightTests.java b/src/test/java/org/qortal/test/at/SleepUntilMessageOrHeightTests.java
index 7ac952d2..fb65fa03 100644
--- a/src/test/java/org/qortal/test/at/SleepUntilMessageOrHeightTests.java
+++ b/src/test/java/org/qortal/test/at/SleepUntilMessageOrHeightTests.java
@@ -1,16 +1,6 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-
-import org.ciyam.at.CompilationException;
-import org.ciyam.at.FunctionCode;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import org.ciyam.at.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -37,6 +27,12 @@ import org.qortal.transaction.MessageTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.utils.BitTwiddling;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class SleepUntilMessageOrHeightTests extends Common {
private static final byte[] messageData = new byte[] { 0x44 };
diff --git a/src/test/java/org/qortal/test/at/SleepUntilMessageTests.java b/src/test/java/org/qortal/test/at/SleepUntilMessageTests.java
index 290f973a..3f8a95d6 100644
--- a/src/test/java/org/qortal/test/at/SleepUntilMessageTests.java
+++ b/src/test/java/org/qortal/test/at/SleepUntilMessageTests.java
@@ -1,16 +1,6 @@
package org.qortal.test.at;
-import static org.junit.Assert.*;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-
-import org.ciyam.at.CompilationException;
-import org.ciyam.at.FunctionCode;
-import org.ciyam.at.MachineState;
-import org.ciyam.at.OpCode;
-import org.ciyam.at.Timestamp;
+import org.ciyam.at.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -37,6 +27,12 @@ import org.qortal.transaction.MessageTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.utils.BitTwiddling;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class SleepUntilMessageTests extends Common {
private static final byte[] messageData = new byte[] { 0x44 };
diff --git a/src/test/java/org/qortal/test/common/AccountUtils.java b/src/test/java/org/qortal/test/common/AccountUtils.java
index bdfd124b..e19cffff 100644
--- a/src/test/java/org/qortal/test/common/AccountUtils.java
+++ b/src/test/java/org/qortal/test/common/AccountUtils.java
@@ -1,11 +1,5 @@
package org.qortal.test.common;
-import static org.junit.Assert.assertEquals;
-import static org.qortal.crypto.Qortal25519Extras.signForAggregation;
-
-import java.security.SecureRandom;
-import java.util.*;
-
import com.google.common.primitives.Longs;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.crypto.Crypto;
@@ -22,6 +16,12 @@ import org.qortal.transaction.Transaction;
import org.qortal.transform.Transformer;
import org.qortal.utils.Amounts;
+import java.security.SecureRandom;
+import java.util.*;
+
+import static org.junit.Assert.assertEquals;
+import static org.qortal.crypto.Qortal25519Extras.signForAggregation;
+
public class AccountUtils {
public static final int txGroupId = Group.NO_GROUP;
diff --git a/src/test/java/org/qortal/test/common/ApiCommon.java b/src/test/java/org/qortal/test/common/ApiCommon.java
index b5d02b24..1d1ca805 100644
--- a/src/test/java/org/qortal/test/common/ApiCommon.java
+++ b/src/test/java/org/qortal/test/common/ApiCommon.java
@@ -1,15 +1,16 @@
package org.qortal.test.common;
-import static org.junit.Assert.*;
-
-import java.lang.reflect.Field;
-
import org.eclipse.jetty.server.Request;
import org.junit.Before;
import org.qortal.api.ApiError;
import org.qortal.api.ApiException;
import org.qortal.repository.DataException;
+import java.lang.reflect.Field;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
public class ApiCommon extends Common {
public static final long MAX_API_RESPONSE_PERIOD = 2_000L; // ms
diff --git a/src/test/java/org/qortal/test/common/AssetUtils.java b/src/test/java/org/qortal/test/common/AssetUtils.java
index 7118a79d..0b970dd5 100644
--- a/src/test/java/org/qortal/test/common/AssetUtils.java
+++ b/src/test/java/org/qortal/test/common/AssetUtils.java
@@ -1,19 +1,8 @@
package org.qortal.test.common;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Base64;
-import java.util.Base64.Encoder;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.asset.OrderData;
-import org.qortal.data.transaction.BaseTransactionData;
-import org.qortal.data.transaction.CancelAssetOrderTransactionData;
-import org.qortal.data.transaction.CreateAssetOrderTransactionData;
-import org.qortal.data.transaction.IssueAssetTransactionData;
-import org.qortal.data.transaction.TransactionData;
-import org.qortal.data.transaction.TransferAssetTransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.group.Group;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
@@ -21,9 +10,14 @@ import org.qortal.repository.RepositoryManager;
import org.qortal.transaction.Transaction;
import org.qortal.utils.Amounts;
+import java.util.Base64;
+import java.util.Base64.Encoder;
import java.util.Map;
import java.util.Random;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
public class AssetUtils {
public static final int txGroupId = Group.NO_GROUP;
diff --git a/src/test/java/org/qortal/test/common/Common.java b/src/test/java/org/qortal/test/common/Common.java
index bb6cc1cb..70dcaff9 100644
--- a/src/test/java/org/qortal/test/common/Common.java
+++ b/src/test/java/org/qortal/test/common/Common.java
@@ -1,24 +1,5 @@
package org.qortal.test.common;
-import static org.junit.Assert.*;
-
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.SecureRandom;
-import java.security.Security;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -31,15 +12,29 @@ import org.qortal.block.BlockChain;
import org.qortal.data.account.AccountBalanceData;
import org.qortal.data.asset.AssetData;
import org.qortal.data.group.GroupData;
+import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryFactory;
import org.qortal.repository.RepositoryManager;
-import org.qortal.repository.AccountRepository.BalanceOrdering;
import org.qortal.repository.hsqldb.HSQLDBRepositoryFactory;
import org.qortal.settings.Settings;
import org.qortal.utils.NTP;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.util.*;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
+import static org.junit.Assert.*;
+
public class Common {
static {
diff --git a/src/test/java/org/qortal/test/common/FakePeer.java b/src/test/java/org/qortal/test/common/FakePeer.java
index 13d9a15e..faabdc1f 100644
--- a/src/test/java/org/qortal/test/common/FakePeer.java
+++ b/src/test/java/org/qortal/test/common/FakePeer.java
@@ -1,5 +1,7 @@
package org.qortal.test.common;
+import org.qortal.network.message.Message;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -7,8 +9,6 @@ import java.util.Random;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import org.qortal.network.message.Message;
-
public abstract class FakePeer implements Runnable {
private static final long DEFAULT_BROADCAST_INTERVAL = 60 * 1000;
diff --git a/src/test/java/org/qortal/test/common/GroupUtils.java b/src/test/java/org/qortal/test/common/GroupUtils.java
index 19d229fd..cda7ad8e 100644
--- a/src/test/java/org/qortal/test/common/GroupUtils.java
+++ b/src/test/java/org/qortal/test/common/GroupUtils.java
@@ -1,11 +1,7 @@
package org.qortal.test.common;
import org.qortal.account.PrivateKeyAccount;
-import org.qortal.data.transaction.BaseTransactionData;
-import org.qortal.data.transaction.CreateGroupTransactionData;
-import org.qortal.data.transaction.GroupApprovalTransactionData;
-import org.qortal.data.transaction.JoinGroupTransactionData;
-import org.qortal.data.transaction.TransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.group.Group;
import org.qortal.group.Group.ApprovalThreshold;
import org.qortal.repository.DataException;
diff --git a/src/test/java/org/qortal/test/common/PeerMessage.java b/src/test/java/org/qortal/test/common/PeerMessage.java
index 92f69621..3b1e3e75 100644
--- a/src/test/java/org/qortal/test/common/PeerMessage.java
+++ b/src/test/java/org/qortal/test/common/PeerMessage.java
@@ -1,7 +1,6 @@
package org.qortal.test.common;
import org.qortal.network.message.Message;
-import org.qortal.test.common.FakePeer;
public class PeerMessage {
public final FakePeer peer;
diff --git a/src/test/java/org/qortal/test/common/TransactionUtils.java b/src/test/java/org/qortal/test/common/TransactionUtils.java
index 4779aa3b..0159d35b 100644
--- a/src/test/java/org/qortal/test/common/TransactionUtils.java
+++ b/src/test/java/org/qortal/test/common/TransactionUtils.java
@@ -1,12 +1,5 @@
package org.qortal.test.common;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.List;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
@@ -16,6 +9,13 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.TransactionType;
import org.qortal.transaction.Transaction.ValidationResult;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
public class TransactionUtils {
/** Signs transaction using given account and attempts to import into unconfirmed pile, returning validation result. */
diff --git a/src/test/java/org/qortal/test/common/transaction/AccountLevelTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/AccountLevelTestTransaction.java
index 6de63cf6..7fd51ec2 100644
--- a/src/test/java/org/qortal/test/common/transaction/AccountLevelTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/AccountLevelTestTransaction.java
@@ -1,13 +1,13 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.AccountLevelTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Random;
+
public class AccountLevelTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java
index 8688ed73..a2c81bf5 100644
--- a/src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java
@@ -1,19 +1,19 @@
package org.qortal.test.common.transaction;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.arbitrary.misc.Service;
import org.qortal.asset.Asset;
import org.qortal.data.PaymentData;
import org.qortal.data.transaction.ArbitraryTransactionData;
-import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.ArbitraryTransactionData.DataType;
+import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
+import java.util.ArrayList;
+import java.util.List;
+
public class ArbitraryTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/CancelAssetOrderTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/CancelAssetOrderTestTransaction.java
index 026364dc..0634e617 100644
--- a/src/test/java/org/qortal/test/common/transaction/CancelAssetOrderTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/CancelAssetOrderTestTransaction.java
@@ -1,13 +1,13 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.CancelAssetOrderTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Random;
+
public class CancelAssetOrderTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/CreateGroupTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/CreateGroupTestTransaction.java
index a68c7aeb..f796473d 100644
--- a/src/test/java/org/qortal/test/common/transaction/CreateGroupTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/CreateGroupTestTransaction.java
@@ -1,7 +1,5 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.CreateGroupTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -9,6 +7,8 @@ import org.qortal.group.Group.ApprovalThreshold;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Random;
+
public class CreateGroupTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/CreatePollTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/CreatePollTestTransaction.java
index 789e8b2a..00fba97a 100644
--- a/src/test/java/org/qortal/test/common/transaction/CreatePollTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/CreatePollTestTransaction.java
@@ -1,9 +1,5 @@
package org.qortal.test.common.transaction;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.CreatePollTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -11,6 +7,10 @@ import org.qortal.data.voting.PollOptionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
public class CreatePollTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/DeployAtTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/DeployAtTestTransaction.java
index 3e523178..6034370a 100644
--- a/src/test/java/org/qortal/test/common/transaction/DeployAtTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/DeployAtTestTransaction.java
@@ -1,7 +1,5 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.data.transaction.DeployAtTransactionData;
@@ -10,6 +8,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
+import java.util.Random;
+
public class DeployAtTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/GroupApprovalTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/GroupApprovalTestTransaction.java
index 3d52462c..4770c1f3 100644
--- a/src/test/java/org/qortal/test/common/transaction/GroupApprovalTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/GroupApprovalTestTransaction.java
@@ -1,13 +1,13 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.GroupApprovalTransactionData;
import org.qortal.data.transaction.TransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Random;
+
public class GroupApprovalTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/IssueAssetTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/IssueAssetTestTransaction.java
index fb04d2cf..21024467 100644
--- a/src/test/java/org/qortal/test/common/transaction/IssueAssetTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/IssueAssetTestTransaction.java
@@ -1,7 +1,5 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.IssueAssetTransactionData;
import org.qortal.data.transaction.TransactionData;
@@ -9,6 +7,8 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.test.common.AssetUtils;
+import java.util.Random;
+
public class IssueAssetTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/MultiPaymentTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/MultiPaymentTestTransaction.java
index a25924c2..ad884dd7 100644
--- a/src/test/java/org/qortal/test/common/transaction/MultiPaymentTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/MultiPaymentTestTransaction.java
@@ -1,8 +1,5 @@
package org.qortal.test.common.transaction;
-import java.util.ArrayList;
-import java.util.List;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.data.PaymentData;
@@ -12,6 +9,9 @@ import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.utils.Amounts;
+import java.util.ArrayList;
+import java.util.List;
+
public class MultiPaymentTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/common/transaction/TestTransaction.java b/src/test/java/org/qortal/test/common/transaction/TestTransaction.java
index b580ecd3..0e9de3af 100644
--- a/src/test/java/org/qortal/test/common/transaction/TestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/TestTransaction.java
@@ -1,13 +1,12 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.block.BlockChain;
import org.qortal.data.transaction.BaseTransactionData;
import org.qortal.group.Group;
import org.qortal.repository.DataException;
-import org.qortal.utils.NTP;
+
+import java.util.Random;
public abstract class TestTransaction {
diff --git a/src/test/java/org/qortal/test/common/transaction/VoteOnPollTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/VoteOnPollTestTransaction.java
index b5217b33..8aa1ebde 100644
--- a/src/test/java/org/qortal/test/common/transaction/VoteOnPollTestTransaction.java
+++ b/src/test/java/org/qortal/test/common/transaction/VoteOnPollTestTransaction.java
@@ -1,13 +1,13 @@
package org.qortal.test.common.transaction;
-import java.util.Random;
-
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.TransactionData;
import org.qortal.data.transaction.VoteOnPollTransactionData;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
+import java.util.Random;
+
public class VoteOnPollTestTransaction extends TestTransaction {
public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException {
diff --git a/src/test/java/org/qortal/test/crosschain/ElectrumXTests.java b/src/test/java/org/qortal/test/crosschain/ElectrumXTests.java
index b7e57cf3..c4c0acf1 100644
--- a/src/test/java/org/qortal/test/crosschain/ElectrumXTests.java
+++ b/src/test/java/org/qortal/test/crosschain/ElectrumXTests.java
@@ -1,28 +1,23 @@
package org.qortal.test.crosschain;
-import static org.junit.Assert.*;
-
-import java.security.Security;
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.Address;
import org.bitcoinj.params.TestNet3Params;
import org.bitcoinj.script.ScriptBuilder;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
import org.junit.Test;
-import org.qortal.crosschain.ForeignBlockchainException;
-import org.qortal.crosschain.BitcoinyTransaction;
-import org.qortal.crosschain.ElectrumX;
-import org.qortal.crosschain.TransactionHash;
-import org.qortal.crosschain.UnspentOutput;
import org.qortal.crosschain.Bitcoin.BitcoinNet;
+import org.qortal.crosschain.*;
import org.qortal.crosschain.ElectrumX.Server.ConnectionType;
import org.qortal.utils.BitTwiddling;
-import com.google.common.hash.HashCode;
+import java.security.Security;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.*;
public class ElectrumXTests {
diff --git a/src/test/java/org/qortal/test/crosschain/HtlcTests.java b/src/test/java/org/qortal/test/crosschain/HtlcTests.java
index 3f3678f7..38f6bd0b 100644
--- a/src/test/java/org/qortal/test/crosschain/HtlcTests.java
+++ b/src/test/java/org/qortal/test/crosschain/HtlcTests.java
@@ -1,20 +1,19 @@
package org.qortal.test.crosschain;
-import static org.junit.Assert.*;
-
+import com.google.common.primitives.Longs;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.qortal.crosschain.Bitcoin;
+import org.qortal.crosschain.BitcoinyHTLC;
import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.Litecoin;
import org.qortal.crypto.Crypto;
-import org.qortal.crosschain.BitcoinyHTLC;
import org.qortal.repository.DataException;
import org.qortal.test.common.Common;
-import com.google.common.primitives.Longs;
+import static org.junit.Assert.*;
public class HtlcTests extends Common {
diff --git a/src/test/java/org/qortal/test/crosschain/PirateChainTests.java b/src/test/java/org/qortal/test/crosschain/PirateChainTests.java
index b212aea1..5fb7b205 100644
--- a/src/test/java/org/qortal/test/crosschain/PirateChainTests.java
+++ b/src/test/java/org/qortal/test/crosschain/PirateChainTests.java
@@ -1,6 +1,6 @@
package org.qortal.test.crosschain;
-import cash.z.wallet.sdk.rpc.CompactFormats.*;
+import cash.z.wallet.sdk.rpc.CompactFormats.CompactBlock;
import com.google.common.hash.HashCode;
import com.google.common.primitives.Bytes;
import org.junit.Ignore;
diff --git a/src/test/java/org/qortal/test/crosschain/apps/BuildHTLC.java b/src/test/java/org/qortal/test/crosschain/apps/BuildHTLC.java
index fa92fde7..f538d342 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/BuildHTLC.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/BuildHTLC.java
@@ -1,19 +1,18 @@
package org.qortal.test.crosschain.apps;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.script.Script.ScriptType;
-import org.qortal.crosschain.Litecoin;
import org.qortal.crosschain.Bitcoin;
import org.qortal.crosschain.Bitcoiny;
import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.Litecoin;
-import com.google.common.hash.HashCode;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
public class BuildHTLC {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/CheckHTLC.java b/src/test/java/org/qortal/test/crosschain/apps/CheckHTLC.java
index 8b1cc423..5d84a622 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/CheckHTLC.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/CheckHTLC.java
@@ -1,9 +1,6 @@
package org.qortal.test.crosschain.apps;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.LegacyAddress;
@@ -11,11 +8,13 @@ import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.script.Script.ScriptType;
import org.qortal.crosschain.Bitcoin;
import org.qortal.crosschain.Bitcoiny;
-import org.qortal.crosschain.Litecoin;
import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.Litecoin;
import org.qortal.crypto.Crypto;
-import com.google.common.hash.HashCode;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
public class CheckHTLC {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/Common.java b/src/test/java/org/qortal/test/crosschain/apps/Common.java
index 78066fe7..dd3130b9 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/Common.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/Common.java
@@ -1,12 +1,6 @@
package org.qortal.test.crosschain.apps;
-import java.security.Security;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-import java.util.Collections;
-import java.util.List;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.TransactionOutput;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -17,7 +11,12 @@ import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.settings.Settings;
import org.qortal.utils.NTP;
-import com.google.common.hash.HashCode;
+import java.security.Security;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.Collections;
+import java.util.List;
public abstract class Common {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/GetNextReceiveAddress.java b/src/test/java/org/qortal/test/crosschain/apps/GetNextReceiveAddress.java
index ef22355b..a02b85bb 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/GetNextReceiveAddress.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/GetNextReceiveAddress.java
@@ -1,7 +1,5 @@
package org.qortal.test.crosschain.apps;
-import java.security.Security;
-
import org.bitcoinj.core.AddressFormatException;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
@@ -11,6 +9,8 @@ import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.Litecoin;
import org.qortal.settings.Settings;
+import java.security.Security;
+
public class GetNextReceiveAddress {
static {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/GetTransaction.java b/src/test/java/org/qortal/test/crosschain/apps/GetTransaction.java
index 9d903a56..6e6ca26c 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/GetTransaction.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/GetTransaction.java
@@ -1,8 +1,6 @@
package org.qortal.test.crosschain.apps;
-import java.security.Security;
-import java.util.List;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.TransactionOutput;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -13,7 +11,8 @@ import org.qortal.crosschain.ForeignBlockchainException;
import org.qortal.crosschain.Litecoin;
import org.qortal.settings.Settings;
-import com.google.common.hash.HashCode;
+import java.security.Security;
+import java.util.List;
public class GetTransaction {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/GetWalletTransactions.java b/src/test/java/org/qortal/test/crosschain/apps/GetWalletTransactions.java
index 2c1edc10..c1fbed1f 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/GetWalletTransactions.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/GetWalletTransactions.java
@@ -1,16 +1,16 @@
package org.qortal.test.crosschain.apps;
-import java.security.Security;
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
import org.bitcoinj.core.AddressFormatException;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
import org.qortal.crosschain.*;
import org.qortal.settings.Settings;
+import java.security.Security;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
public class GetWalletTransactions {
static {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/RedeemHTLC.java b/src/test/java/org/qortal/test/crosschain/apps/RedeemHTLC.java
index d4f1bcf1..b982ca94 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/RedeemHTLC.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/RedeemHTLC.java
@@ -1,23 +1,16 @@
package org.qortal.test.crosschain.apps;
-import java.util.Arrays;
-import java.util.List;
-
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.LegacyAddress;
-import org.bitcoinj.core.NetworkParameters;
-import org.bitcoinj.core.Transaction;
-import org.bitcoinj.core.TransactionOutput;
+import com.google.common.hash.HashCode;
+import org.bitcoinj.core.*;
import org.bitcoinj.script.Script.ScriptType;
import org.qortal.crosschain.Bitcoin;
import org.qortal.crosschain.Bitcoiny;
-import org.qortal.crosschain.Litecoin;
import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.Litecoin;
import org.qortal.crypto.Crypto;
-import com.google.common.hash.HashCode;
+import java.util.Arrays;
+import java.util.List;
public class RedeemHTLC {
diff --git a/src/test/java/org/qortal/test/crosschain/apps/RefundHTLC.java b/src/test/java/org/qortal/test/crosschain/apps/RefundHTLC.java
index 723185f0..09213aad 100644
--- a/src/test/java/org/qortal/test/crosschain/apps/RefundHTLC.java
+++ b/src/test/java/org/qortal/test/crosschain/apps/RefundHTLC.java
@@ -1,23 +1,16 @@
package org.qortal.test.crosschain.apps;
-import java.util.Arrays;
-import java.util.List;
-
-import org.bitcoinj.core.Address;
-import org.bitcoinj.core.Coin;
-import org.bitcoinj.core.ECKey;
-import org.bitcoinj.core.LegacyAddress;
-import org.bitcoinj.core.NetworkParameters;
-import org.bitcoinj.core.Transaction;
-import org.bitcoinj.core.TransactionOutput;
+import com.google.common.hash.HashCode;
+import org.bitcoinj.core.*;
import org.bitcoinj.script.Script.ScriptType;
-import org.qortal.crosschain.Litecoin;
import org.qortal.crosschain.Bitcoin;
import org.qortal.crosschain.Bitcoiny;
import org.qortal.crosschain.BitcoinyHTLC;
+import org.qortal.crosschain.Litecoin;
import org.qortal.crypto.Crypto;
-import com.google.common.hash.HashCode;
+import java.util.Arrays;
+import java.util.List;
public class RefundHTLC {
diff --git a/src/test/java/org/qortal/test/crosschain/bitcoinv1/BitcoinACCTv1Tests.java b/src/test/java/org/qortal/test/crosschain/bitcoinv1/BitcoinACCTv1Tests.java
index cc33eb43..fa9417b4 100644
--- a/src/test/java/org/qortal/test/crosschain/bitcoinv1/BitcoinACCTv1Tests.java
+++ b/src/test/java/org/qortal/test/crosschain/bitcoinv1/BitcoinACCTv1Tests.java
@@ -1,16 +1,13 @@
package org.qortal.test.crosschain.bitcoinv1;
-import static org.junit.Assert.*;
-
-import java.util.function.Function;
-
+import com.google.common.hash.HashCode;
import org.junit.Test;
import org.qortal.account.Account;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
import org.qortal.crosschain.ACCT;
-import org.qortal.crosschain.BitcoinACCTv1;
import org.qortal.crosschain.AcctMode;
+import org.qortal.crosschain.BitcoinACCTv1;
import org.qortal.crypto.Crypto;
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
@@ -24,7 +21,10 @@ import org.qortal.test.crosschain.ACCTTests;
import org.qortal.transaction.DeployAtTransaction;
import org.qortal.transaction.MessageTransaction;
-import com.google.common.hash.HashCode;
+import java.util.function.Function;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
public class BitcoinACCTv1Tests extends ACCTTests {
diff --git a/src/test/java/org/qortal/test/crosschain/bitcoinv1/DeployAT.java b/src/test/java/org/qortal/test/crosschain/bitcoinv1/DeployAT.java
index f27f7a7b..ee18ae46 100644
--- a/src/test/java/org/qortal/test/crosschain/bitcoinv1/DeployAT.java
+++ b/src/test/java/org/qortal/test/crosschain/bitcoinv1/DeployAT.java
@@ -1,5 +1,6 @@
package org.qortal.test.crosschain.bitcoinv1;
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.LegacyAddress;
@@ -27,8 +28,6 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
-import com.google.common.hash.HashCode;
-
public class DeployAT {
private static void usage(String error) {
diff --git a/src/test/java/org/qortal/test/crosschain/litecoinv1/DeployAT.java b/src/test/java/org/qortal/test/crosschain/litecoinv1/DeployAT.java
index 3a1f9208..99aeb365 100644
--- a/src/test/java/org/qortal/test/crosschain/litecoinv1/DeployAT.java
+++ b/src/test/java/org/qortal/test/crosschain/litecoinv1/DeployAT.java
@@ -1,7 +1,6 @@
package org.qortal.test.crosschain.litecoinv1;
-import java.math.BigDecimal;
-
+import com.google.common.hash.HashCode;
import org.bitcoinj.core.ECKey;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
@@ -22,7 +21,7 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
-import com.google.common.hash.HashCode;
+import java.math.BigDecimal;
public class DeployAT {
diff --git a/src/test/java/org/qortal/test/crosschain/litecoinv1/LitecoinACCTv1Tests.java b/src/test/java/org/qortal/test/crosschain/litecoinv1/LitecoinACCTv1Tests.java
index 91a450d0..e442067a 100644
--- a/src/test/java/org/qortal/test/crosschain/litecoinv1/LitecoinACCTv1Tests.java
+++ b/src/test/java/org/qortal/test/crosschain/litecoinv1/LitecoinACCTv1Tests.java
@@ -1,11 +1,10 @@
package org.qortal.test.crosschain.litecoinv1;
+import com.google.common.hash.HashCode;
import org.qortal.crosschain.ACCT;
import org.qortal.crosschain.LitecoinACCTv1;
import org.qortal.test.crosschain.ACCTTests;
-import com.google.common.hash.HashCode;
-
public class LitecoinACCTv1Tests extends ACCTTests {
public static final byte[] litecoinPublicKeyHash = HashCode.fromString("bb00bb11bb22bb33bb44bb55bb66bb77bb88bb99").asBytes();
diff --git a/src/test/java/org/qortal/test/crosschain/litecoinv1/SendRedeemMessage.java b/src/test/java/org/qortal/test/crosschain/litecoinv1/SendRedeemMessage.java
index 20386d2a..fd6ad31a 100644
--- a/src/test/java/org/qortal/test/crosschain/litecoinv1/SendRedeemMessage.java
+++ b/src/test/java/org/qortal/test/crosschain/litecoinv1/SendRedeemMessage.java
@@ -1,5 +1,6 @@
package org.qortal.test.crosschain.litecoinv1;
+import com.google.common.hash.HashCode;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.controller.Controller;
import org.qortal.crosschain.LitecoinACCTv1;
@@ -16,8 +17,6 @@ import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
-import com.google.common.hash.HashCode;
-
public class SendRedeemMessage {
private static void usage(String error) {
diff --git a/src/test/java/org/qortal/test/crosschain/litecoinv1/SendTradeMessage.java b/src/test/java/org/qortal/test/crosschain/litecoinv1/SendTradeMessage.java
index 83e9a20e..621ed955 100644
--- a/src/test/java/org/qortal/test/crosschain/litecoinv1/SendTradeMessage.java
+++ b/src/test/java/org/qortal/test/crosschain/litecoinv1/SendTradeMessage.java
@@ -1,5 +1,6 @@
package org.qortal.test.crosschain.litecoinv1;
+import com.google.common.hash.HashCode;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.controller.Controller;
import org.qortal.crosschain.LitecoinACCTv1;
@@ -17,8 +18,6 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
-import com.google.common.hash.HashCode;
-
public class SendTradeMessage {
private static void usage(String error) {
diff --git a/src/test/java/org/qortal/test/group/AdminTests.java b/src/test/java/org/qortal/test/group/AdminTests.java
index 8cf83c29..db3e3400 100644
--- a/src/test/java/org/qortal/test/group/AdminTests.java
+++ b/src/test/java/org/qortal/test/group/AdminTests.java
@@ -1,17 +1,10 @@
package org.qortal.test.group;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
-import org.qortal.data.transaction.AddGroupAdminTransactionData;
-import org.qortal.data.transaction.CancelGroupBanTransactionData;
-import org.qortal.data.transaction.CreateGroupTransactionData;
-import org.qortal.data.transaction.GroupBanTransactionData;
-import org.qortal.data.transaction.GroupKickTransactionData;
-import org.qortal.data.transaction.JoinGroupTransactionData;
+import org.qortal.data.transaction.*;
import org.qortal.group.Group.ApprovalThreshold;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
@@ -22,6 +15,8 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.Transaction.ValidationResult;
+import static org.junit.Assert.*;
+
public class AdminTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/group/DevGroupAdminTests.java b/src/test/java/org/qortal/test/group/DevGroupAdminTests.java
index 131359c6..41352323 100644
--- a/src/test/java/org/qortal/test/group/DevGroupAdminTests.java
+++ b/src/test/java/org/qortal/test/group/DevGroupAdminTests.java
@@ -5,8 +5,6 @@ import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.*;
-import org.qortal.group.Group;
-import org.qortal.group.Group.ApprovalThreshold;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
@@ -17,7 +15,6 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
-import org.qortal.utils.Base58;
import static org.junit.Assert.*;
diff --git a/src/test/java/org/qortal/test/group/GroupApprovalTests.java b/src/test/java/org/qortal/test/group/GroupApprovalTests.java
index b8b870f5..3d76aa47 100644
--- a/src/test/java/org/qortal/test/group/GroupApprovalTests.java
+++ b/src/test/java/org/qortal/test/group/GroupApprovalTests.java
@@ -23,10 +23,10 @@ import org.qortal.transaction.Transaction.ApprovalStatus;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.Amounts;
-import static org.junit.Assert.*;
-
import java.util.Arrays;
+import static org.junit.Assert.*;
+
public class GroupApprovalTests extends Common {
private static final long amount = 5000L * Amounts.MULTIPLIER;
diff --git a/src/test/java/org/qortal/test/group/GroupBlockDelayTests.java b/src/test/java/org/qortal/test/group/GroupBlockDelayTests.java
index b4375fe0..95ddb246 100644
--- a/src/test/java/org/qortal/test/group/GroupBlockDelayTests.java
+++ b/src/test/java/org/qortal/test/group/GroupBlockDelayTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.group;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -21,6 +19,9 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.transaction.UpdateGroupTransaction;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+
public class GroupBlockDelayTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/group/MiscTests.java b/src/test/java/org/qortal/test/group/MiscTests.java
index 481f0b6d..0f32be5c 100644
--- a/src/test/java/org/qortal/test/group/MiscTests.java
+++ b/src/test/java/org/qortal/test/group/MiscTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.group;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -20,6 +18,9 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.Transaction.ValidationResult;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
public class MiscTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/group/OwnerTests.java b/src/test/java/org/qortal/test/group/OwnerTests.java
index d4e7494c..7b5af651 100644
--- a/src/test/java/org/qortal/test/group/OwnerTests.java
+++ b/src/test/java/org/qortal/test/group/OwnerTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.group;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -20,6 +18,8 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.Transaction.ValidationResult;
+import static org.junit.Assert.*;
+
public class OwnerTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/minting/BlocksMintedCountTests.java b/src/test/java/org/qortal/test/minting/BlocksMintedCountTests.java
index f318a667..65a616b0 100644
--- a/src/test/java/org/qortal/test/minting/BlocksMintedCountTests.java
+++ b/src/test/java/org/qortal/test/minting/BlocksMintedCountTests.java
@@ -1,8 +1,5 @@
package org.qortal.test.minting;
-import static org.junit.Assert.*;
-
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -18,6 +15,9 @@ import org.qortal.test.common.BlockUtils;
import org.qortal.test.common.Common;
import org.qortal.test.common.TestAccount;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
public class BlocksMintedCountTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/minting/DisagreementTests.java b/src/test/java/org/qortal/test/minting/DisagreementTests.java
index d32256b7..14e1c370 100644
--- a/src/test/java/org/qortal/test/minting/DisagreementTests.java
+++ b/src/test/java/org/qortal/test/minting/DisagreementTests.java
@@ -1,11 +1,6 @@
package org.qortal.test.minting;
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
+import io.druid.extendedset.intset.ConciseSet;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -25,7 +20,11 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.transform.block.BlockTransformer;
import org.roaringbitmap.IntIterator;
-import io.druid.extendedset.intset.ConciseSet;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.*;
public class DisagreementTests extends Common {
diff --git a/src/test/java/org/qortal/test/minting/RewardShareTests.java b/src/test/java/org/qortal/test/minting/RewardShareTests.java
index b5ac5e59..2be6cb26 100644
--- a/src/test/java/org/qortal/test/minting/RewardShareTests.java
+++ b/src/test/java/org/qortal/test/minting/RewardShareTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.minting;
-import static org.junit.Assert.*;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -19,6 +17,8 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.Base58;
+import static org.junit.Assert.*;
+
public class RewardShareTests extends Common {
private static final int CANCEL_SHARE_PERCENT = -1;
diff --git a/src/test/java/org/qortal/test/minting/RewardTests.java b/src/test/java/org/qortal/test/minting/RewardTests.java
index 1689db5b..5ba0b075 100644
--- a/src/test/java/org/qortal/test/minting/RewardTests.java
+++ b/src/test/java/org/qortal/test/minting/RewardTests.java
@@ -1,10 +1,5 @@
package org.qortal.test.minting;
-import static org.junit.Assert.*;
-
-import java.math.BigInteger;
-import java.util.*;
-
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -28,6 +23,14 @@ import org.qortal.test.common.TestAccount;
import org.qortal.utils.Amounts;
import org.qortal.utils.Base58;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
public class RewardTests extends Common {
private static final Logger LOGGER = LogManager.getLogger(RewardTests.class);
@Before
diff --git a/src/test/java/org/qortal/test/naming/BuySellTests.java b/src/test/java/org/qortal/test/naming/BuySellTests.java
index f0e97b94..a1c644fc 100644
--- a/src/test/java/org/qortal/test/naming/BuySellTests.java
+++ b/src/test/java/org/qortal/test/naming/BuySellTests.java
@@ -1,9 +1,5 @@
package org.qortal.test.naming;
-import static org.junit.Assert.*;
-
-import java.util.Random;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -22,7 +18,10 @@ import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.RegisterNameTransaction;
import org.qortal.utils.Amounts;
-import org.qortal.utils.NTP;
+
+import java.util.Random;
+
+import static org.junit.Assert.*;
public class BuySellTests extends Common {
diff --git a/src/test/java/org/qortal/test/naming/MiscTests.java b/src/test/java/org/qortal/test/naming/MiscTests.java
index 401b03b9..324cdf12 100644
--- a/src/test/java/org/qortal/test/naming/MiscTests.java
+++ b/src/test/java/org/qortal/test/naming/MiscTests.java
@@ -1,24 +1,24 @@
package org.qortal.test.naming;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.List;
-
import org.apache.commons.lang3.reflect.FieldUtils;
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.api.AmountTypeAdapter;
import org.qortal.block.BlockChain;
-import org.qortal.block.BlockChain.*;
+import org.qortal.block.BlockChain.UnitFeesByTimestamp;
import org.qortal.controller.BlockMinter;
-import org.qortal.data.transaction.*;
+import org.qortal.data.transaction.PaymentTransactionData;
+import org.qortal.data.transaction.RegisterNameTransactionData;
+import org.qortal.data.transaction.TransactionData;
+import org.qortal.data.transaction.UpdateNameTransactionData;
import org.qortal.naming.Name;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
-import org.qortal.test.common.*;
+import org.qortal.test.common.BlockUtils;
+import org.qortal.test.common.Common;
+import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.PaymentTransaction;
import org.qortal.transaction.RegisterNameTransaction;
@@ -26,6 +26,11 @@ import org.qortal.transaction.Transaction;
import org.qortal.transaction.Transaction.ValidationResult;
import org.qortal.utils.NTP;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.*;
+
public class MiscTests extends Common {
@Before
diff --git a/src/test/java/org/qortal/test/naming/UpdateTests.java b/src/test/java/org/qortal/test/naming/UpdateTests.java
index 54227e94..8e54eb96 100644
--- a/src/test/java/org/qortal/test/naming/UpdateTests.java
+++ b/src/test/java/org/qortal/test/naming/UpdateTests.java
@@ -1,7 +1,5 @@
package org.qortal.test.naming;
-import static org.junit.Assert.*;
-
import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
@@ -17,7 +15,8 @@ import org.qortal.test.common.Common;
import org.qortal.test.common.TransactionUtils;
import org.qortal.test.common.transaction.TestTransaction;
import org.qortal.transaction.RegisterNameTransaction;
-import org.qortal.utils.NTP;
+
+import static org.junit.Assert.*;
public class UpdateTests extends Common {
diff --git a/src/test/java/org/qortal/test/network/OnlineAccountsTests.java b/src/test/java/org/qortal/test/network/OnlineAccountsTests.java
index c8220d66..75625da8 100644
--- a/src/test/java/org/qortal/test/network/OnlineAccountsTests.java
+++ b/src/test/java/org/qortal/test/network/OnlineAccountsTests.java
@@ -12,26 +12,23 @@ import org.qortal.block.Block;
import org.qortal.block.BlockChain;
import org.qortal.controller.BlockMinter;
import org.qortal.data.network.OnlineAccountData;
-import org.qortal.network.message.*;
import org.qortal.repository.DataException;
import org.qortal.repository.Repository;
import org.qortal.repository.RepositoryManager;
import org.qortal.settings.Settings;
import org.qortal.test.common.AccountUtils;
import org.qortal.test.common.Common;
-import org.qortal.transform.Transformer;
import org.qortal.utils.Base58;
import org.qortal.utils.NTP;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.nio.ByteBuffer;
import java.security.Security;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
public class OnlineAccountsTests extends Common {
diff --git a/src/test/java/org/qortal/test/network/OnlineAccountsV3Tests.java b/src/test/java/org/qortal/test/network/OnlineAccountsV3Tests.java
index 2c3c01ca..3483113d 100644
--- a/src/test/java/org/qortal/test/network/OnlineAccountsV3Tests.java
+++ b/src/test/java/org/qortal/test/network/OnlineAccountsV3Tests.java
@@ -2,11 +2,12 @@ package org.qortal.test.network;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider;
-import org.junit.Ignore;
import org.junit.Test;
import org.qortal.controller.OnlineAccountsManager;
import org.qortal.data.network.OnlineAccountData;
-import org.qortal.network.message.*;
+import org.qortal.network.message.GetOnlineAccountsV3Message;
+import org.qortal.network.message.Message;
+import org.qortal.network.message.MessageException;
import org.qortal.transform.Transformer;
import java.nio.ByteBuffer;
diff --git a/src/test/java/org/qortal/test/serialization/SerializationTests.java b/src/test/java/org/qortal/test/serialization/SerializationTests.java
index e9767909..e61ba053 100644
--- a/src/test/java/org/qortal/test/serialization/SerializationTests.java
+++ b/src/test/java/org/qortal/test/serialization/SerializationTests.java
@@ -1,6 +1,8 @@
package org.qortal.test.serialization;
-import org.junit.Ignore;
+import com.google.common.hash.HashCode;
+import io.druid.extendedset.intset.ConciseSet;
+import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.data.transaction.TransactionData;
@@ -15,12 +17,6 @@ import org.qortal.transform.transaction.TransactionTransformer;
import org.qortal.utils.Base58;
import org.qortal.utils.Serialization;
-import com.google.common.hash.HashCode;
-
-import io.druid.extendedset.intset.ConciseSet;
-
-import static org.junit.Assert.*;
-
import java.io.IOException;
import java.math.BigDecimal;
import java.nio.ByteBuffer;
@@ -28,7 +24,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Random;
-import org.junit.Before;
+import static org.junit.Assert.assertEquals;
public class SerializationTests extends Common {