worldcoin / signup-sequencer

signup-sequencer repository
MIT License
67 stars 33 forks source link

Refactor code and introduce offchain mode. #743

Closed piohei closed 2 months ago

piohei commented 2 months ago

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