Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 19 additions & 7 deletions bin/sozo/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,25 @@ pub async fn get_world_diff_and_provider(
let provider = Arc::try_unwrap(provider).map_err(|_| anyhow!("Failed to unwrap Arc"))?;
trace!(?provider, "Provider initialized.");

let spec_version = provider.spec_version().await?;
trace!(spec_version);

if !is_compatible_version(&spec_version, RPC_SPEC_VERSION)? {
return Err(anyhow!(
"Unsupported Starknet RPC version: {spec_version}, expected {RPC_SPEC_VERSION}.",
));
match provider.spec_version().await {
Ok(spec_version) => {
trace!(spec_version);
match is_compatible_version(&spec_version, RPC_SPEC_VERSION) {
Ok(true) => {}
Ok(false) => ui.warn(format!(
"Starknet RPC version mismatch: node reports {spec_version}, sozo was built \
against {RPC_SPEC_VERSION}. Continuing anyway; operations may fail if RPC \
methods differ."
)),
Err(e) => ui.warn(format!(
"Could not parse Starknet RPC version '{spec_version}': {e}. Continuing."
)),
}
}
Err(e) => ui.warn(format!(
"Could not query Starknet RPC version: {e}. Continuing; operations may fail if RPC \
methods differ."
)),
}

let chain_id = provider.chain_id().await?;
Expand Down
Loading