diff --git a/Cargo.toml b/Cargo.toml
index 2104196b..4d0f4f4d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,6 +4,7 @@ members = [
"crates/chain",
"crates/file_store",
"crates/electrum",
+ "example-crates/example_cli",
"example-crates/keychain_tracker_electrum",
"example-crates/keychain_tracker_esplora",
"example-crates/keychain_tracker_example_cli",
diff --git a/crates/chain/src/chain_data.rs b/crates/chain/src/chain_data.rs
index 022e1299..d1234298 100644
--- a/crates/chain/src/chain_data.rs
+++ b/crates/chain/src/chain_data.rs
@@ -16,6 +16,13 @@ pub enum ObservedAs {
Unconfirmed(u64),
}
+impl ObservedAs {
+ /// Returns whether [`ObservedAs`] is confirmed or not.
+ pub fn is_confirmed(&self) -> bool {
+ matches!(self, Self::Confirmed(_))
+ }
+}
+
impl ObservedAs<&A> {
pub fn cloned(self) -> ObservedAs {
match self {
diff --git a/crates/chain/src/chain_oracle.rs b/crates/chain/src/chain_oracle.rs
index 58fbf6c1..e736be03 100644
--- a/crates/chain/src/chain_oracle.rs
+++ b/crates/chain/src/chain_oracle.rs
@@ -19,4 +19,7 @@ pub trait ChainOracle {
block: BlockId,
chain_tip: BlockId,
) -> Result