v0.1.0-pre.013

This commit is contained in:
2026-07-24 16:44:51 +02:00
parent e753a80c3a
commit 5f6f7df509
38 changed files with 1202 additions and 172 deletions

View File

@@ -1,9 +1,61 @@
// file: kb-lib/src/materializer/oracle/core.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_materializer_oracle`.
//! Reserved oracle materializer.
/// Legacy crate name retained for migration and compatibility tracking.
const LEGACY_CRATE: &str = "kb_materializer_oracle";
/// Current porting status.
const MIGRATION_STATUS: &str = "source-preserved-pending-port";
/// Reserved materializer for oracle observations.
#[derive(Clone, Debug, Default)]
pub struct MtOracleMaterializer;
impl crate::MtMaterializer for crate::MtOracleMaterializer {
fn materializer_name(&self) -> &'static str {
return "kb_materializer_oracle";
}
fn materializer_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn accepts_event(&self, _event: &crate::MdDecodedProtocolEvent) -> bool {
return false;
}
fn materialize_event(
&self,
event: &crate::MdDecodedProtocolEvent,
) -> kb_core::Result<std::vec::Vec<crate::MdMaterializedEvent>> {
return std::result::Result::Ok(std::vec![crate::MdMaterializedEvent {
signature: event.signature.clone(),
slot: event.slot,
decoded_family: event.event_family,
materialized_family: crate::MdMaterializedEventFamily::Oracle,
}]);
}
}
impl crate::MtApiEventMaterializer for crate::MtOracleMaterializer {
fn identity(&self) -> crate::MtApiMaterializerIdentity {
return crate::MtApiMaterializerIdentity {
name: "kb_materializer_oracle".to_string(),
version: env!("CARGO_PKG_VERSION").to_string(),
};
}
fn accepted_families(&self) -> &'static [crate::MdEventFamily] {
return &[];
}
fn transaction_policy(
&self,
_family: crate::MdEventFamily,
) -> crate::MtApiMaterializationTransactionPolicy {
return crate::MtApiMaterializationTransactionPolicy::SuccessfulCommittedOnly;
}
fn materialize(
&self,
_observation: &crate::DcApiDecodedObservation,
) -> crate::MtApiMaterializerExecutionResult {
return crate::MtApiMaterializerExecutionResult::ignored();
}
}