Compare commits

...

2 Commits

Author SHA1 Message Date
Morty
5fb93c4dc3 fix(coordinator): jwt backward compatibility (#1606)
Co-authored-by: yiweichi <yiweichi@users.noreply.github.com>
2025-03-05 13:17:18 +08:00
Morty
a5e2d71ebd fix(prover): tokio thread stack overflow (#1604) 2025-03-01 00:56:58 +08:00
4 changed files with 44 additions and 35 deletions

View File

@@ -5,7 +5,7 @@ import (
"runtime/debug"
)
var tag = "v4.4.89"
var tag = "v4.4.90"
var commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {

View File

@@ -79,7 +79,8 @@ func (b *BaseProverTask) checkParameter(ctx *gin.Context) (*proverTaskContext, e
ProverProviderType, ProverProviderTypeExist := ctx.Get(coordinatorType.ProverProviderTypeKey)
if !ProverProviderTypeExist {
return nil, errors.New("get prover provider type from context failed")
// for backward compatibility, set ProverProviderType as internal
ProverProviderType = float64(coordinatorType.ProverProviderTypeInternal)
}
ptc.ProverProviderType = uint8(ProverProviderType.(float64))

View File

@@ -18,12 +18,12 @@
"db_path": "unique-db-path-for-prover-1"
},
"low_version_circuit": {
"hard_fork_name": "Darvin",
"hard_fork_name": "darwin",
"params_path": "params",
"assets_path": "assets"
},
"high_version_circuit": {
"hard_fork_name": "DarvinV2",
"hard_fork_name": "darwinV2",
"params_path": "params",
"assets_path": "assets"
}

View File

@@ -13,6 +13,7 @@ use scroll_proving_sdk::{
prover::ProverBuilder,
utils::{get_version, init_tracing},
};
use tokio::runtime;
use utils::get_prover_type;
#[derive(Parser, Debug)]
@@ -31,38 +32,45 @@ struct Args {
log_file: Option<String>,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
init_tracing();
let args = Args::parse();
if args.version {
println!("version is {}", get_version());
std::process::exit(0);
}
let cfg = LocalProverConfig::from_file(args.config_file)?;
let sdk_config = cfg.sdk_config.clone();
let mut prover_types = vec![];
sdk_config
.prover
.circuit_types
.iter()
.for_each(|circuit_type| {
if let Some(pt) = get_prover_type(*circuit_type) {
if !prover_types.contains(&pt) {
prover_types.push(pt);
}
}
});
let local_prover = LocalProver::new(cfg, prover_types);
let prover = ProverBuilder::new(sdk_config)
.with_proving_service(Box::new(local_prover))
fn main() -> anyhow::Result<()> {
let rt = runtime::Builder::new_multi_thread()
.thread_stack_size(16 * 1024 * 1024) // Set stack size to 16MB
.enable_all()
.build()
.await?;
.expect("Failed to create Tokio runtime");
prover.run().await;
rt.block_on(async {
init_tracing();
Ok(())
let args = Args::parse();
if args.version {
println!("version is {}", get_version());
std::process::exit(0);
}
let cfg = LocalProverConfig::from_file(args.config_file)?;
let sdk_config = cfg.sdk_config.clone();
let mut prover_types = vec![];
sdk_config
.prover
.circuit_types
.iter()
.for_each(|circuit_type| {
if let Some(pt) = get_prover_type(*circuit_type) {
if !prover_types.contains(&pt) {
prover_types.push(pt);
}
}
});
let local_prover = LocalProver::new(cfg, prover_types);
let prover = ProverBuilder::new(sdk_config)
.with_proving_service(Box::new(local_prover))
.build()
.await?;
prover.run().await;
Ok(())
})
}