This change adds a new constraint when handing out gravity batches to be relayed. They will now be withheld while valset updates are pending on the target chain, just like with SLC. I had to cut some corners to get this out sooner rather than later, but I also added a more decentralised event bus system for decoupling systems. It's currently very bare bone and as singleton hard to test, but if it grows, we can refactor into something more injectible.
Testing completed
[x] test coverage exists or has been added/updated
[ ] tested in a private testnet
Breaking changes
[x] I have checked my code for breaking changes
[x] If there are breaking changes, there is a supporting migration.
Related Github tickets
Background
This change adds a new constraint when handing out gravity batches to be relayed. They will now be withheld while valset updates are pending on the target chain, just like with SLC. I had to cut some corners to get this out sooner rather than later, but I also added a more decentralised event bus system for decoupling systems. It's currently very bare bone and as singleton hard to test, but if it grows, we can refactor into something more injectible.
Testing completed
Breaking changes