eas_sdk_rs/eas/
mod.rs

1use crate::contracts::eas::{EASErrors, EAS as Contract};
2use ethers::contract::ContractError;
3use ethers::providers::Middleware;
4
5use thiserror::Error;
6
7mod attest;
8mod revoke;
9mod timestamp;
10
11pub use attest::*;
12pub use revoke::*;
13pub use timestamp::*;
14
15#[derive(Error, Debug)]
16pub enum Error<M: Middleware> {
17    #[error("attestation error: {0}")]
18    EASError(EASErrors),
19
20    #[error("contract error: {0}")]
21    ContractError(#[from] ContractError<M>),
22
23    #[error("unknown error: {0}")]
24    Other(String),
25}
26
27pub struct EAS<M: Middleware> {
28    pub contract: Contract<M>,
29}
30
31impl<M: Middleware + 'static> EAS<M> {
32    pub fn new(contract: Contract<M>) -> Self {
33        Self { contract }
34    }
35
36    pub fn contract(&self) -> &Contract<M> {
37        &self.contract
38    }
39}