Fixed IssueAssetTransactions not being constructed with signature.
Fixed incorrect MessageTransactionData constructors.
Refactored various transactions to remove duplicate code.
e.g. in CancelOrderTransaction.process() use getCreator() instead of explicit repository call.
Added name_reference to BuyNameTransactions HSQLDB table.
Fixed incorrect SQL in HSQLDBMultiPaymentTransactionRepository.
More unit tests!
Fixed wrong data length in CancelOrderTransactionTransformer.
Fixed wrong data length in CreateOrderTransactionTransformer.
Fixed missing payment bytes in MultiPaymentTransactionTransformer.toBytes();
* Added more columns/properties to NameData to support updating timestamps, name sales
and reference to last transaction that changed Name (for orphaning support).
* Fixed serialization/deserialization bugs in MessageTransactions
* More tests
* Code added for calculating an account's generating balance. (CIYAM AT support yet to be added).
* Added associated code in Block for calculating next block's timestamp, generating balance, base target, etc.
* ValidationResult enum added to Block, mostly to aid debugging.
* Block.isValid() now returns ValidationResult instead of boolean.
* Block.isValid() now has added proof-of-stake tests.
* Some blockchain-related constants, like feature release heights/timestamps, moved from Block to BlockChain.
* Added better Block constructor for use when creating a new block.
* Added helpful 'navigation' methods to Block to get to block's parent (or child).
* Changed visibility of block's individual signature calculators to protected, in favour of public sign() method.
* Added asset existence check to Payment.isValid.
* All current transaction objects (qora.transaction.*) now have private subclassed transaction variable to save multiple casts in various methods.
* Also added to above:
* isInvolved(Account) : boolean
* getRecipients() : List<Account>
* getAmount(Account) : BigDecimal
* Added BlockRepository.getLastBlock() to fetch highest block in blockchain.
* Added diagnostics to HSQLDBRepository.close() to alert if there are any uncommitted changes during closure.
(Currently under suspicion due to possible HSQLDB bug!)
* Old "TransactionTests" renamed to "SerializationTests" as that's what they really are.
* New "TransactionTests" added to test processing of transactions. (Currently only a PaymentTransaction).
* PaymentTransformer.toBytes() detects and skips null signature. This was causing issues with Transaction.toBytesLessSignature().
Needs rolling out to other transaction types if acceptable.