Skip to content

Commit b2220c6

Browse files
committed
wip
1 parent 98a836b commit b2220c6

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

crates/cli/src/args.rs

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,45 @@ impl SequencerNodeArgs {
176176
utils::print_intro(self, &node.backend().chain_spec);
177177
}
178178

179-
// Launch the node
180179
let handle = node.launch().await.context("failed to launch forked node")?;
181180

181+
#[cfg(feature = "paymaster")]
182+
let mut paymaster = if self.paymaster.enabled && !self.paymaster.is_external() {
183+
use crate::sidecar::bootstrap_paymaster;
184+
185+
let paymaster = bootstrap_paymaster(
186+
&self.paymaster,
187+
config.paymaster.unwrap().url.clone(),
188+
*handle.rpc().addr(),
189+
&handle.node().config().chain,
190+
)
191+
.await?
192+
.start()
193+
.await?;
194+
195+
Some(paymaster)
196+
} else {
197+
None
198+
};
199+
200+
#[cfg(feature = "vrf")]
201+
let mut vrf = if self.cartridge.vrf.enabled && !self.cartridge.vrf.is_external() {
202+
use crate::sidecar::bootstrap_vrf;
203+
204+
let vrf = bootstrap_vrf(
205+
&self.cartridge.vrf,
206+
*handle.rpc().addr(),
207+
&handle.node().config().chain,
208+
)
209+
.await?
210+
.start()
211+
.await?;
212+
213+
Some(vrf)
214+
} else {
215+
None
216+
};
217+
182218
// Wait until an OS signal (ie SIGINT, SIGTERM) is received or the node is shutdown.
183219
tokio::select! {
184220
_ = katana_utils::wait_shutdown_signals() => {
@@ -188,6 +224,16 @@ impl SequencerNodeArgs {
188224

189225
_ = handle.stopped() => { }
190226
}
227+
228+
#[cfg(feature = "paymaster")]
229+
if let Some(ref mut s) = paymaster {
230+
s.shutdown().await?;
231+
}
232+
233+
#[cfg(feature = "vrf")]
234+
if let Some(ref mut s) = vrf {
235+
s.shutdown().await?;
236+
}
191237
} else {
192238
let node = Node::build(config.clone()).context("failed to build node")?;
193239

0 commit comments

Comments
 (0)