use async_trait::async_trait;
use thegraph_core::alloy::sol_types::SolStruct;
use crate::signed_message::Eip712SignedMessage;
#[async_trait]
pub trait RavStore<T: SolStruct> {
type AdapterError: std::error::Error + std::fmt::Debug + Send + Sync + 'static;
async fn update_last_rav(&self, rav: Eip712SignedMessage<T>) -> Result<(), Self::AdapterError>;
}
#[async_trait]
pub trait RavRead<T: SolStruct> {
type AdapterError: std::error::Error + std::fmt::Debug + Send + Sync + 'static;
async fn last_rav(&self) -> Result<Option<Eip712SignedMessage<T>>, Self::AdapterError>;
}