- Add DaoParam, ParamChangeEvent, ParamChangeEventList and DaoParamService
- Move all default values to DaoParam
- Access fees, quorum and voteThreshold from DaoParamService
- Remove handling those param data from BsqBlockChain
- Reactivate updateProposalList at onBlockAdded
- Use ArrayList instead of FilteredList at getSortedProposalList
- Update Predicates at onBlockAdded and onProtectedStorageEntry
- Remove isProposalPeriodValid, isBlindVotePeriodValid and isVoteRevealPeriodValid
- Remove isTxHeightInPhaseTest (removed buggy method)
- Add input checks for RequestedBsq
- Add check for description
- Use @Value instead of @Data
- Rename getCompensationRequestPayload to createCompensationRequestPayload and getCompensationRequest to createCompensationRequest
- Remove JsonExclude from ProposalPayload as not used anymore (was used earlier for sig of json from payload)
- Rename allProposals to observableList
- Use standard API for ProposalList persistence
- Remove onBlockAdded listener
- Add move detailed logging and error handling
- Improve numConnectedPeersListener handler
- Use ResultHandler and ErrorMessageHandler at publishProposal instead of a FutureCallback<Transaction> callback
- Add check for isTxInCurrentCycle to isInPhaseOrUnconfirmed method
- Remove updatePredicates (set predicates at onstructor)
- Use DevEnv.logErrorAndThrowIfDevMode to throw exception in dev mode
- Add filter for isTxInCurrentCycle when republishing myVotes.
- Add logs for successful or failed p2p network broadcast
- Removed signature from ProposalPayload
- Only add hash of payload to OpReturn data not signature + hash
- Rename getCreateCompensationRequestFee to getProposalFee
- Rename CompensationAmountException to ValidationException
- Move code from Restrictions to CompensationRequestConsensus
- Rename RemoveAltcoinProposal to RemoveAssetProposal
- Add version byte for PROPOSAL
- Use BsqBlockChain.Listener instead of BsqNode.BsqBlockChainListener
- Remove BsqNode.BsqBlockChainListener
- Replace BsqBlockChain with ReadableBsqBlockChain in injected parameters
- Remove BsqBlockChainChangeDispatcher
- Change handler at bsqLiteNodeExecutor.parseBlock