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}