diff --git a/crates/rpc/rpc-types/src/eth/index.rs b/crates/rpc/rpc-types/src/eth/index.rs index 69e28b016d..4ef83b6cea 100644 --- a/crates/rpc/rpc-types/src/eth/index.rs +++ b/crates/rpc/rpc-types/src/eth/index.rs @@ -1,10 +1,12 @@ +use reth_primitives::U256; use serde::{ de::{Error, Visitor}, Deserialize, Deserializer, Serialize, Serializer, }; use std::fmt; -/// A hex encoded or decimal index +/// A hex encoded or decimal index that's intended to be used as a rust index, hence it's +/// deserialized into a `usize`. #[derive(Debug, PartialEq, Eq, Hash, Clone, Copy, Default)] pub struct Index(usize); @@ -14,6 +16,12 @@ impl From for usize { } } +impl From for U256 { + fn from(idx: Index) -> Self { + U256::from(idx.0) + } +} + impl Serialize for Index { fn serialize(&self, serializer: S) -> Result where