diff --git a/Cargo.lock b/Cargo.lock
index b6af4497..71a85ce1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7725,6 +7725,7 @@ version = "0.1.0"
dependencies = [
"arbitrary",
"bitcoin",
+ "bitcoin-bosd 0.10.0",
"proptest",
"serde",
"serde_json",
@@ -7868,6 +7869,7 @@ dependencies = [
name = "strata-asm-proto-bridge-v1-msgs"
version = "0.1.0"
dependencies = [
+ "bitcoin-bosd 0.10.0",
"ssz",
"ssz_derive",
"strata-asm-common",
@@ -7906,6 +7908,7 @@ dependencies = [
"bitvec",
"borsh",
"serde",
+ "serde_json",
"ssz",
"ssz_derive",
"strata-btc-types",
@@ -8039,6 +8042,7 @@ dependencies = [
"jsonrpsee",
"strata-asm-proof-types",
"strata-asm-proto-bridge-v1",
+ "strata-asm-proto-bridge-v1-types",
"strata-asm-proto-checkpoint-types",
"strata-asm-worker",
]
@@ -8078,6 +8082,7 @@ dependencies = [
"strata-asm-proof-types",
"strata-asm-proto-bridge-v1",
"strata-asm-proto-bridge-v1-txs",
+ "strata-asm-proto-bridge-v1-types",
"strata-asm-proto-checkpoint",
"strata-asm-proto-checkpoint-txs",
"strata-asm-proto-checkpoint-types",
diff --git a/bin/asm-runner/Cargo.toml b/bin/asm-runner/Cargo.toml
index cb6c8a3b..5e961ddf 100644
--- a/bin/asm-runner/Cargo.toml
+++ b/bin/asm-runner/Cargo.toml
@@ -22,6 +22,7 @@ strata-asm-proof-impl.workspace = true
strata-asm-proof-types.workspace = true
strata-asm-proto-bridge-v1.workspace = true
strata-asm-proto-bridge-v1-txs.workspace = true
+strata-asm-proto-bridge-v1-types.workspace = true
strata-asm-proto-checkpoint.workspace = true
strata-asm-proto-checkpoint-txs.workspace = true
strata-asm-proto-checkpoint-types.workspace = true
diff --git a/bin/asm-runner/src/rpc_server.rs b/bin/asm-runner/src/rpc_server.rs
index 58760f12..7081b1b0 100644
--- a/bin/asm-runner/src/rpc_server.rs
+++ b/bin/asm-runner/src/rpc_server.rs
@@ -17,6 +17,7 @@ use strata_asm_proof_db::{ProofDb, SledMohoStateDb, SledProofDb};
use strata_asm_proof_types::{AsmProof, L1Range, MohoProof};
use strata_asm_proto_bridge_v1::{AssignmentEntry, BridgeV1State, DepositEntry};
use strata_asm_proto_bridge_v1_txs::BRIDGE_V1_SUBPROTOCOL_ID;
+use strata_asm_proto_bridge_v1_types::SafeHarbour;
use strata_asm_proto_checkpoint::CheckpointState;
use strata_asm_proto_checkpoint_txs::CHECKPOINT_SUBPROTOCOL_ID;
use strata_asm_proto_checkpoint_types::CheckpointTip;
@@ -138,6 +139,13 @@ impl AsmStateApiServer for AsmRpcServer {
}
}
+ async fn get_safe_harbour(&self, block_hash: BlockHash) -> RpcResult