Skip to content

Commit aae4894

Browse files
digorithmclaude
andcommitted
fix(kona): return default DependencySet when no path is configured
When --dependency-set-path is not provided, InteropLocalInputs now returns a default DependencySet instead of None. This prevents BootInfo::load() from hanging forever waiting for the preimage oracle to return data for DEPENDENCY_SET_KEY. The default DependencySet has no override, so get_message_expiry_window() returns MESSAGE_EXPIRY_WINDOW (7 days), preserving existing behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1146514 commit aae4894

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

rust/kona/bin/host/src/interop/local_kv.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
use super::InteropHost;
55
use crate::{KeyValueStore, Result};
66
use alloy_primitives::{B256, keccak256};
7+
use kona_interop::DependencySet;
78
use kona_preimage::PreimageKey;
89
use kona_proof_interop::boot::{
910
DEPENDENCY_SET_KEY, L1_CONFIG_KEY, L1_HEAD_KEY, L2_AGREED_PRE_STATE_KEY,
@@ -42,7 +43,14 @@ impl KeyValueStore for InteropLocalInputs {
4243
serde_json::to_vec(&l1_config).ok()
4344
}
4445
DEPENDENCY_SET_KEY => {
45-
let dependency_set = self.cfg.read_dependency_set()?.ok()?;
46+
let dependency_set = self
47+
.cfg
48+
.read_dependency_set()
49+
.and_then(|r| r.ok())
50+
.unwrap_or(DependencySet {
51+
dependencies: Default::default(),
52+
override_message_expiry_window: None,
53+
});
4654
serde_json::to_vec(&dependency_set).ok()
4755
}
4856
_ => None,

0 commit comments

Comments
 (0)