/ node / src / db / message_storage.rs
message_storage.rs
 1  //! Message storage related tables.
 2  
 3  use std::marker::PhantomData;
 4  
 5  use apibara_core::stream::Sequence;
 6  use prost::Message;
 7  
 8  use super::Table;
 9  
10  /// Table with messages by sequence.
11  #[derive(Debug, Clone, Copy, Default)]
12  pub struct MessageTable<M: Message> {
13      phantom: PhantomData<M>,
14  }
15  
16  impl<M> Table for MessageTable<M>
17  where
18      M: Message + Default + Clone,
19  {
20      type Key = Sequence;
21      type Value = M;
22  
23      fn db_name() -> &'static str {
24          "Message"
25      }
26  }