@Override public Transaction call() throws Exception { try { logger.info("call() tx: {}", tx.toString()); ClientPeer peer = MainData.instance.getActivePeer(); WalletTransaction walletTransaction = WorldManager.instance.getBlockChain().addWalletTransaction(tx); peer.sendTransaction(tx); while (walletTransaction.getApproved() < 1) { sleep(10); } logger.info("return approved: {}", walletTransaction.getApproved()); } catch (Throwable th) { logger.info("exception caugh: {}", th.getCause()); WorldManager.instance.getBlockChain().removeWalletTransaction(tx); } return null; }