ethers_tx_handler/
types.rs

1use ethers::types::{TransactionReceipt, H256};
2use serde::Serialize;
3
4// minimal types since they are pretty case specific
5
6/// enum for success and failure
7#[derive(Debug, Serialize, Clone)]
8pub enum TxStatus {
9    /// Transaction was successful and executed
10    Successful(TransactionReceipt),
11    /// Transaction failed in one way or another
12    Failed(TxErrors),
13}
14
15/// enum for the 3 different types of failures
16#[derive(Debug, Serialize, Clone)]
17pub enum TxErrors {
18    /// Transaction went through, but reciept is None
19    NoReceipt(H256),
20    /// Transaction reverted
21    Reverted(TransactionReceipt),
22    /// Transaction failed to send or mine
23    Failed(String),
24}