eventify_primitives/networks/linea/
log.rs1use eyre::Result;
2
3use sqlx::{prelude::FromRow, Error as SqlError};
4use utoipa::ToSchema;
5
6use crate::{
7 networks::{core::CoreLog, NetworkKind},
8 traits::{Emit, Insert, Log, Stream},
9 PropagateError,
10};
11
12#[derive(
13 Clone,
14 Debug,
15 Default,
16 serde::Deserialize,
17 serde::Serialize,
18 PartialEq,
19 Eq,
20 Hash,
21 FromRow,
22 ToSchema,
23)]
24pub struct LineaLog {
25 #[serde(flatten)]
26 core: CoreLog,
27}
28
29impl Log for LineaLog {
30 fn core(&self) -> &CoreLog {
31 &self.core
32 }
33}
34
35impl Insert for LineaLog {
36 async fn insert(
37 &self,
38 pool: &sqlx::PgPool,
39 _: &Option<alloy_primitives::B256>,
40 ) -> Result<(), SqlError> {
41 self.core.insert(pool, NetworkKind::Linea).await
42 }
43}
44
45impl Emit for LineaLog {
46 async fn emit(
47 &self,
48 queue: &redis::Client,
49 network: &crate::networks::NetworkKind,
50 ) -> eyre::Result<(), PropagateError> {
51 self.core.emit(queue, network).await
52 }
53}
54
55impl Stream for LineaLog {
56 async fn stream(
57 &self,
58 queue: &redis::Client,
59 network: &crate::networks::NetworkKind,
60 ) -> eyre::Result<(), PropagateError> {
61 self.core.stream(queue, network).await
62 }
63}