diff --git a/crates/precompile/src/lib.rs b/crates/precompile/src/lib.rs
index 03aad2c4f1..b9f81d1345 100644
--- a/crates/precompile/src/lib.rs
+++ b/crates/precompile/src/lib.rs
@@ -63,13 +63,28 @@ pub fn calc_linear_cost_u32(len: usize, base: u64, word: u64) -> u64 {
(len as u64).div_ceil(32) * word + base
}
+/// Optimize short address access.
+pub const SHORT_ADDRESS_CAP: usize = 300;
+
/// Precompiles contain map of precompile addresses to functions and HashSet of precompile addresses.
-#[derive(Clone, Default, Debug)]
+#[derive(Clone, Debug)]
pub struct Precompiles {
/// Precompiles
inner: HashMap
,
/// Addresses of precompile
addresses: HashSet,
+ /// Optimized addresses filter.
+ optimized_access: Vec