@@ -16,14 +16,14 @@ use crate::{
1616 utils,
1717 utils:: { BoxedSP1Prover , Shared } ,
1818} ;
19- use bitcoin:: { address:: NetworkUnchecked , Address } ;
19+ use bitcoin:: { Address , address:: NetworkUnchecked } ;
2020use charms_app_runner:: AppRunner ;
2121use clap:: { Args , CommandFactory , Parser , Subcommand } ;
22- use clap_complete:: { generate , Shell } ;
22+ use clap_complete:: { Shell , generate } ;
2323#[ cfg( not( feature = "prover" ) ) ]
2424use reqwest:: Client ;
2525use serde:: Serialize ;
26- use sp1_sdk:: { install :: try_install_circuit_artifacts , CpuProver , ProverClient } ;
26+ use sp1_sdk:: { CpuProver , NetworkProver , ProverClient , install :: try_install_circuit_artifacts } ;
2727use std:: { io, net:: IpAddr , path:: PathBuf , str:: FromStr , sync:: Arc } ;
2828use utils:: AsyncShared ;
2929
@@ -414,14 +414,14 @@ fn spell_sp1_client(app_sp1_client: &Arc<Shared<BoxedSP1Prover>>) -> Arc<Shared<
414414 let name = std:: env:: var ( "SPELL_SP1_PROVER" ) . unwrap_or_default ( ) ;
415415 match name. as_str ( ) {
416416 "app" => app_sp1_client. clone ( ) ,
417- "env" | "" => Arc :: new ( Shared :: new ( sp1_env_client ) ) ,
418- _ => unreachable ! ( "Only 'app' or 'env ' are supported as SPELL_SP1_PROVER values" ) ,
417+ "network" => Arc :: new ( Shared :: new ( sp1_network_client ) ) ,
418+ _ => unreachable ! ( "Only 'app' or 'network ' are supported as SPELL_SP1_PROVER values" ) ,
419419 }
420420}
421421
422422#[ tracing:: instrument( level = "info" ) ]
423423#[ cfg( feature = "prover" ) ]
424- fn charms_sp1_cuda_client ( ) -> utils:: sp1:: CudaProver {
424+ fn charms_sp1_cuda_prover ( ) -> utils:: sp1:: CudaProver {
425425 utils:: sp1:: CudaProver :: new (
426426 sp1_prover:: SP1Prover :: new ( ) ,
427427 SP1CudaProver :: new ( gpu_service_url ( ) ) . unwrap ( ) ,
@@ -434,13 +434,18 @@ fn gpu_service_url() -> String {
434434}
435435
436436#[ tracing:: instrument( level = "info" ) ]
437- pub fn sp1_cpu_client ( ) -> CpuProver {
437+ pub fn sp1_cpu_prover ( ) -> CpuProver {
438438 ProverClient :: builder ( ) . cpu ( ) . build ( )
439439}
440440
441- #[ tracing:: instrument( level = "debug" ) ]
442- fn sp1_env_client ( ) -> BoxedSP1Prover {
443- sp1_named_env_client ( "env" )
441+ #[ tracing:: instrument( level = "info" ) ]
442+ pub fn sp1_network_prover ( ) -> NetworkProver {
443+ ProverClient :: builder ( ) . network ( ) . build ( )
444+ }
445+
446+ #[ tracing:: instrument( level = "info" ) ]
447+ pub fn sp1_network_client ( ) -> BoxedSP1Prover {
448+ sp1_named_env_client ( "network" )
444449}
445450
446451#[ tracing:: instrument( level = "debug" ) ]
@@ -452,9 +457,10 @@ fn sp1_named_env_client(name: &str) -> BoxedSP1Prover {
452457 } ;
453458 match name {
454459 #[ cfg( feature = "prover" ) ]
455- "cuda" => Box :: new ( charms_sp1_cuda_client ( ) ) ,
456- "cpu" => Box :: new ( sp1_cpu_client ( ) ) ,
457- _ => Box :: new ( ProverClient :: from_env ( ) ) ,
460+ "cuda" => Box :: new ( charms_sp1_cuda_prover ( ) ) ,
461+ "cpu" => Box :: new ( sp1_cpu_prover ( ) ) ,
462+ "network" => Box :: new ( sp1_network_prover ( ) ) ,
463+ _ => unimplemented ! ( "only 'cuda', 'cpu' and 'network' are supported as prover values" ) ,
458464 }
459465}
460466
0 commit comments