Skip to content
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

[Feature]: Wire up BlockObserver in the main entrypoint #548

Open
3 tasks
cylewitruk opened this issue Sep 19, 2024 · 0 comments
Open
3 tasks

[Feature]: Wire up BlockObserver in the main entrypoint #548

cylewitruk opened this issue Sep 19, 2024 · 0 comments
Assignees
Labels
sbtc bootstrap signer The sBTC Bootstrap Signer.

Comments

@cylewitruk
Copy link
Member

cylewitruk commented Sep 19, 2024

Feature - Wire up BlockObserver in the main entrypoint

1. Description

The BlockObserver needs to be wired-up and its runloop run in the main event loop.

1.1 Context & Purpose

The BlockObserver is a dependency for both the TransactionSigner and the TransactionCoordinator and needs to be running prior to either of these being started (they are dependent on its messaging channels).

2. Technical Details:

The BlockObserver itself has several dependencies which also need to be wired up:

  • BitcoinInteract + BitcoinClient
  • EmilyClient (which I think should be changed to EmilyInteract)
  • StacksClient (which I think should be changed to StacksInteract)
  • Bitcoin blockhash stream (from zmq)
  • ✅ P2P network

Then it also takes a watch channel for informing the application of database updates, which need to be centralized somehow so that the TransactionSigner and TransactionCoordinator instances can use it. This should probably be updated to use the app signalling channel instead with a proper message type to promote decoupling.

2.1 Acceptance Criteria:

  • The BlockObserver can be created with all of its dependencies
  • All required dependencies for the TransactionSigner and TransactionCoordinator are available for them to be created.
  • The BlockObserver correctly runs and can process events in the dev environment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sbtc bootstrap signer The sBTC Bootstrap Signer.
Projects
None yet
Development

No branches or pull requests

1 participant