-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
feat: add ExExLauncher #8693
feat: add ExExLauncher #8693
Conversation
f10ebcb
to
d481f90
Compare
d481f90
to
649b55b
Compare
|
||
/// A version of [`LaunchExEx`] that returns a boxed future. Makes the trait object-safe. | ||
pub(crate) trait BoxedLaunchExEx<Node: FullNodeComponents>: Send { | ||
pub trait BoxedLaunchExEx<Node: FullNodeComponents>: Send { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we make these pub(crate)
? i dont see any reason to impl this as an end user. as soon as we make it pub we need to treat it somewhat as stable api
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these must be public if we want to make the exex launcher reusable.
this is necessary if we want to write chain specific launch functions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might be a dumb q, but why would you want to re-use the exex launcher outside of this context?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in order to write custom launch impls,
for example OPLaucnher, EthLauncher, etc... which need to be implemented externally
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm i thought the idea was that you provide the types and can override eg engine impl + evm and that's about it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is how it works now for OP and ETH which reuse the same launcher, this will get more complex once we need to write more custom launchers, for example with different consensus, or not use the engine API at all
simply moves the launch exex logic into a helper type