From 9dfee497e9dc7267a905aeb9b7e514cabd1b100c Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Sun, 5 Mar 2023 13:33:19 +0100 Subject: [PATCH] chore: add tx type constants (#1639) Co-authored-by: Roman Krasiuk --- crates/primitives/src/lib.rs | 2 +- crates/primitives/src/transaction/mod.rs | 2 +- crates/primitives/src/transaction/tx_type.rs | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index 722ce553c2..3b0e600ea7 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -61,7 +61,7 @@ pub use storage::{StorageEntry, StorageTrieEntry}; pub use transaction::{ AccessList, AccessListItem, FromRecoveredTransaction, IntoRecoveredTransaction, Signature, Transaction, TransactionKind, TransactionSigned, TransactionSignedEcRecovered, TxEip1559, - TxEip2930, TxLegacy, TxType, + TxEip2930, TxLegacy, TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; pub use withdrawal::Withdrawal; diff --git a/crates/primitives/src/transaction/mod.rs b/crates/primitives/src/transaction/mod.rs index 70ad0ef349..12b495a763 100644 --- a/crates/primitives/src/transaction/mod.rs +++ b/crates/primitives/src/transaction/mod.rs @@ -7,7 +7,7 @@ use reth_rlp::{ length_of_length, Decodable, DecodeError, Encodable, Header, EMPTY_LIST_CODE, EMPTY_STRING_CODE, }; pub use signature::Signature; -pub use tx_type::TxType; +pub use tx_type::{TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, LEGACY_TX_TYPE_ID}; mod access_list; mod signature; diff --git a/crates/primitives/src/transaction/tx_type.rs b/crates/primitives/src/transaction/tx_type.rs index c2d86fe687..e73e230a46 100644 --- a/crates/primitives/src/transaction/tx_type.rs +++ b/crates/primitives/src/transaction/tx_type.rs @@ -1,6 +1,16 @@ use reth_codecs::{derive_arbitrary, Compact}; use serde::{Deserialize, Serialize}; +/// Identifier for legacy transaction, however [TxLegacy](crate::TxLegacy) this is technically not +/// typed. +pub const LEGACY_TX_TYPE_ID: u8 = 0; + +/// Identifier for [TxEip2930](crate::TxEip2930) transaction. +pub const EIP2930_TX_TYPE_ID: u8 = 1; + +/// Identifier for [TxEip1559](crate::TxEip1559) transaction. +pub const EIP1559_TX_TYPE_ID: u8 = 2; + /// Transaction Type #[derive_arbitrary(compact)] #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Default, Serialize, Deserialize)] @@ -17,9 +27,9 @@ pub enum TxType { impl From for u8 { fn from(value: TxType) -> Self { match value { - TxType::Legacy => 0, - TxType::EIP2930 => 1, - TxType::EIP1559 => 2, + TxType::Legacy => LEGACY_TX_TYPE_ID, + TxType::EIP2930 => EIP2930_TX_TYPE_ID, + TxType::EIP1559 => EIP1559_TX_TYPE_ID, } } }