Refactor code and introduce offchain mode. #743
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Chain is not always required to run sequencer. ex. testing, hackathons, etc.
Solution
Big part of the code had been refactored to keep things separated. Now integration tests are running twice. Once for onchain mode, and once for offchain mode. If some test doesn't make sense for offchain it is not being created.
There is also small fix to task monitor. Now when tasks was failed and we are shutting down process is not aborting. We just not rerun the task.
Also to make it possible to run tests in parallel I have changed how shutdown works. Now it is not a global field but regular struct created at the beginning of the application.
This version still requires semaphore-mtb running. Next step is to remove that requirement for offchain.
PR Checklist