-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2/3]: implement blockbeat
#9
base: yy-prepare-blockbeat
Are you sure you want to change the base?
Commits on Oct 15, 2024
-
chainio: introduce
chainio
to handle block synchronizationThis commit inits the package `chainio` and defines the interface `Blockbeat` and `Consumer`. The `Consumer` must be implemented by other subsystems if it requires block epoch subscription.
Configuration menu - View commit details
-
Copy full SHA for b58bfc2 - Browse repository at this point
Copy the full SHA b58bfc2View commit details -
In this commit, a minimal implementation of `Blockbeat` is added to synchronize block heights, which will be used in `ChainArb`, `Sweeper`, and `TxPublisher` so blocks are processed sequentially among them.
Configuration menu - View commit details
-
Copy full SHA for f59e167 - Browse repository at this point
Copy the full SHA f59e167View commit details -
chainio: add
BlockbeatDispatcher
to dispatch blockbeatsThis commit adds a blockbeat dispatcher which handles sending new blocks to all subscribed consumers.
Configuration menu - View commit details
-
Copy full SHA for 84ebdb8 - Browse repository at this point
Copy the full SHA 84ebdb8View commit details -
multi: implement
Consumer
on subsystemsThis commit implements `Consumer` on `TxPublisher`, `UtxoSweeper`, `ChainArbitrator` and `ChannelArbitrator`. In addition, a `BlockConsumer` is added to save code duplication.
Configuration menu - View commit details
-
Copy full SHA for d35d009 - Browse repository at this point
Copy the full SHA d35d009View commit details -
sweep: remove block subscription in
UtxoSweeper
andTxPublisher
This commit removes the independent block subscriptions in `UtxoSweeper` and `TxPublisher`. These subsystems now listen to the `BlockbeatChan` for new blocks.
Configuration menu - View commit details
-
Copy full SHA for 8629c0c - Browse repository at this point
Copy the full SHA 8629c0cView commit details -
contractcourt: remove
waitForHeight
in resolversThe sweeper can handle the waiting so there's no need to wait for blocks inside the resolvers. By offering the inputs prior to their mature heights also guarantees the inputs with the same deadline are aggregated.
Configuration menu - View commit details
-
Copy full SHA for c1048b8 - Browse repository at this point
Copy the full SHA c1048b8View commit details -
contractcourt: remove block subscription in arbitrators
This commit removes the block subscriptions used in `ChainArbitrator` and `ChannelArbitrator`, replaced them with the blockbeat managed by `BlockbeatDispatcher`.
Configuration menu - View commit details
-
Copy full SHA for 2a5fb03 - Browse repository at this point
Copy the full SHA 2a5fb03View commit details -
contractcourt: remove the
immediate
param used inResolve
This `immediate` flag was added as a hack so during a restart, the pending resolvers would offer the inputs to the sweeper and ask it to sweep them immediately. This is no longer need due to `blockbeat`, as now during restart, a block is always sent to all subsystems via the flow `ChainArb` -> `ChannelArb` -> resolvers -> sweeper. Thus, when there are pending inputs offered, they will be processed by the sweeper immediately.
Configuration menu - View commit details
-
Copy full SHA for c594915 - Browse repository at this point
Copy the full SHA c594915View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54d8b17 - Browse repository at this point
Copy the full SHA 54d8b17View commit details -
Configuration menu - View commit details
-
Copy full SHA for d76a26e - Browse repository at this point
Copy the full SHA d76a26eView commit details