- Remove PeriodState
- Add cycles to state
- Use stateService for getting chainHeight instead of periodService
- Let parser call stateService methods on start parsing and on new block
- Rename PeriodStateChangeListener to ChainHeightListener
- Rename PeriodStateUpdater to CycleService
- Use StartParsingListener to decouple CycleService with StateService
- Remove StateChangeEventsProvider interface from CycleService
- Let CycleService write to StateService not PeriodService
- Add PeriodStateMutator to guice module
- Add ConsensusServicesSetup and PresentationServicesSetup
- Separate code from onAllServicesInitialized into listener registration and start method
- Move MyProposalService and ProposalListService to bisq.core.dao.presentation.proposal (WIP)
- Add PresentationService marker interface
- Rename PHASE_ISSUANCE to PHASE_VOTE_RESULT
- Remove onInitialState from PeriodStateChangeListener
- Add getCloneOnUserThread method to PeriodState
- Change addListenerAndGetNotified to addPeriodStateChangeListener
- Call start on PeriodStateMutator from ConsensusServicesSetup instead of own constructor
- Use explicit interface StateChangeEventsProvider for registerStateChangeEventsProvider
- Set setChainHeight at onStartParsingNewBlock at the end to avoid that listeners get called before the cycle is added
- Use PeriodServiceFacade instead of PeriodService in ProposalListService
- Use StateServiceFacade instead of StateService in ProposalListService
- Add market interface StateChangeEventsProvider
- Reintroduce BlockListener and use it instead of PeriodStateChangeListener in most use cases as we are usually interested in the event when a block is complete not when the periods service chain height change gets triggered before parsing starts.
- Use consensus package for all consensus relevant code
- Move UserThreadStateService from bisq.core.dao.state to bisq.core.dao.presentation.state
- Rename UserThreadStateService to StateServiceFacade
- Add HeadlessAppWithP2PModule for headless apps which do not use wallet
- Add gracefulShutDown to HeadlessExecutable
- Update Monitor, SeedNode and Statistics to latest refactorings
- Remove BisqEnvironment from BisqApp
- Add startApplication method to BisqApp
- Set up bisqEnvironment in BisqExecutable
- Add addCapabilities method
- Add more comments
- Add to onApplicationLaunched, setupGuice, setupPersistedDataHosts and gracefulShutDown methods to BisqExecutable
- Move CommonSetup.setup to BisqAppMain
- Add UncaughtExceptionHandler and GracefulShutDownHandler interfaces
- Replace BiConsumer in CommonSetup.setup with UncaughtExceptionHandler
- Use getter for BisqApp.shutDownHandler
- Add check if editedOpenOffer is not deactivated to avoid republishing
- Use errorMessageHandler instead of IllegalStateException. We can discuss if you would prefer that style but so far we did not throw exceptions to the UI but rather use error handlers.
- Small cleanups