From b0d480754ef5a04121164e4123037bbe99513d7c Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:11:25 -0700 Subject: [PATCH 01/11] add memery-limit to anvil node --- crates/anvil/src/cmd.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/anvil/src/cmd.rs b/crates/anvil/src/cmd.rs index 508c3dc8e1f1..66798c52a41f 100644 --- a/crates/anvil/src/cmd.rs +++ b/crates/anvil/src/cmd.rs @@ -171,6 +171,8 @@ pub struct NodeArgs { #[command(flatten)] pub server_config: ServerConfig, + /// customize the memory limit layer of the anvil node + pub memory_limit: Option, } #[cfg(windows)] @@ -235,6 +237,7 @@ impl NodeArgs { .with_optimism(self.evm_opts.optimism) .with_disable_default_create2_deployer(self.evm_opts.disable_default_create2_deployer) .with_slots_in_an_epoch(self.slots_in_an_epoch) + .with_memory_limit(self.memory_limit) } fn account_generator(&self) -> AccountGenerator { From 1c540c77c5138cb71ebbd6478aee888cf07f172b Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:12:00 -0700 Subject: [PATCH 02/11] Update config.rs --- crates/anvil/src/config.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index 354bf2c589d9..f694191dc254 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -172,6 +172,8 @@ pub struct NodeConfig { pub enable_optimism: bool, /// Slots in an epoch pub slots_in_an_epoch: u64, + /// Memory configuration layer + pub memory_limit: Option, } impl NodeConfig { @@ -407,11 +409,18 @@ impl Default for NodeConfig { disable_default_create2_deployer: false, enable_optimism: false, slots_in_an_epoch: 32, + memory_limit: None, } } } impl NodeConfig { + /// Returns the memory limit of the node + #[must_use] + pub fn with_memory_limit(mut self, mems_value: Option) -> Self { + self.memory_limit = mems_value; + self + } /// Returns the base fee to use pub fn get_base_fee(&self) -> U256 { self.base_fee @@ -830,6 +839,7 @@ impl NodeConfig { cfg.disable_eip3607 = true; cfg.disable_block_gas_limit = self.disable_block_gas_limit; cfg.handler_cfg.is_optimism = self.enable_optimism; + cfg.memory_limit = self.memory_limit.unwrap(); let env = revm::primitives::Env { cfg: cfg.cfg_env, From 4aa57603058be0abfa87eef68421cd73b7d90cf4 Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:16:10 -0700 Subject: [PATCH 03/11] use unwrap_or_default --- crates/anvil/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index f694191dc254..a817a900f6c9 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -839,7 +839,7 @@ impl NodeConfig { cfg.disable_eip3607 = true; cfg.disable_block_gas_limit = self.disable_block_gas_limit; cfg.handler_cfg.is_optimism = self.enable_optimism; - cfg.memory_limit = self.memory_limit.unwrap(); + cfg.memory_limit = self.memory_limit.unwrap_or_default(); let env = revm::primitives::Env { cfg: cfg.cfg_env, From b9a43a5c8bf027e6f124b3d45ec511bb6e139b25 Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:17:09 -0700 Subject: [PATCH 04/11] add variable alias --- crates/anvil/src/cmd.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/anvil/src/cmd.rs b/crates/anvil/src/cmd.rs index 66798c52a41f..58bf39b51520 100644 --- a/crates/anvil/src/cmd.rs +++ b/crates/anvil/src/cmd.rs @@ -172,6 +172,7 @@ pub struct NodeArgs { #[command(flatten)] pub server_config: ServerConfig, /// customize the memory limit layer of the anvil node + #[arg(long, visible_alias = "memory-limit")] pub memory_limit: Option, } From 8e97997df65c4909257adfca1cc509cedc03fd27 Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:18:04 -0700 Subject: [PATCH 05/11] custom value to 100 for memory-limit --- crates/anvil/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index a817a900f6c9..a88f7041e65f 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -409,7 +409,7 @@ impl Default for NodeConfig { disable_default_create2_deployer: false, enable_optimism: false, slots_in_an_epoch: 32, - memory_limit: None, + memory_limit: Some(100), } } } From 9c68a2d5d576f4eb65d8f9551dfc737104a0f5ad Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:34:55 -0700 Subject: [PATCH 06/11] Update config.rs --- crates/anvil/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index a88f7041e65f..9a11c75510f2 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -409,7 +409,7 @@ impl Default for NodeConfig { disable_default_create2_deployer: false, enable_optimism: false, slots_in_an_epoch: 32, - memory_limit: Some(100), + memory_limit: Some(10000), } } } From bacc619a93658d664ca954bed4e678c1d51a89e1 Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:43:44 -0700 Subject: [PATCH 07/11] Update config.rs --- crates/anvil/src/config.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index 9a11c75510f2..bf25fd7566c2 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -409,7 +409,7 @@ impl Default for NodeConfig { disable_default_create2_deployer: false, enable_optimism: false, slots_in_an_epoch: 32, - memory_limit: Some(10000), + memory_limit: None, } } } @@ -839,7 +839,11 @@ impl NodeConfig { cfg.disable_eip3607 = true; cfg.disable_block_gas_limit = self.disable_block_gas_limit; cfg.handler_cfg.is_optimism = self.enable_optimism; - cfg.memory_limit = self.memory_limit.unwrap_or_default(); + + if let Some(value) = self.memory_limit { + cfg.memory_limit = value; + } + // cfg.memory_limit = self.memory_limit.unwrap_or_default(); let env = revm::primitives::Env { cfg: cfg.cfg_env, From 30c912eb804f35f255a9a55bf9cd0c419b7dfc6e Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:46:31 -0700 Subject: [PATCH 08/11] remove old comment --- crates/anvil/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index bf25fd7566c2..42d432a57dc1 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -843,7 +843,7 @@ impl NodeConfig { if let Some(value) = self.memory_limit { cfg.memory_limit = value; } - // cfg.memory_limit = self.memory_limit.unwrap_or_default(); + let env = revm::primitives::Env { cfg: cfg.cfg_env, From 080ac4e1484262b99091b7ea30a3bcc5d98b580e Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:48:06 -0700 Subject: [PATCH 09/11] nightly fmt --- crates/anvil/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index 42d432a57dc1..bf25fd7566c2 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -843,7 +843,7 @@ impl NodeConfig { if let Some(value) = self.memory_limit { cfg.memory_limit = value; } - + // cfg.memory_limit = self.memory_limit.unwrap_or_default(); let env = revm::primitives::Env { cfg: cfg.cfg_env, From 76e83d3bd1dd99b9476eb5831c8b97fb897f7f1e Mon Sep 17 00:00:00 2001 From: tesseract <146037313+DoTheBestToGetTheBest@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:48:44 -0700 Subject: [PATCH 10/11] fmt --- crates/anvil/src/config.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/crates/anvil/src/config.rs b/crates/anvil/src/config.rs index bf25fd7566c2..039d7779b440 100644 --- a/crates/anvil/src/config.rs +++ b/crates/anvil/src/config.rs @@ -843,7 +843,6 @@ impl NodeConfig { if let Some(value) = self.memory_limit { cfg.memory_limit = value; } - // cfg.memory_limit = self.memory_limit.unwrap_or_default(); let env = revm::primitives::Env { cfg: cfg.cfg_env, From 0593af5a5e0cb43e77fad363c5c074f8fdf4d68a Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Mon, 25 Mar 2024 20:59:23 +0100 Subject: [PATCH 11/11] docs --- crates/anvil/src/cmd.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/anvil/src/cmd.rs b/crates/anvil/src/cmd.rs index 58bf39b51520..2c5e08ba1f57 100644 --- a/crates/anvil/src/cmd.rs +++ b/crates/anvil/src/cmd.rs @@ -171,8 +171,8 @@ pub struct NodeArgs { #[command(flatten)] pub server_config: ServerConfig, - /// customize the memory limit layer of the anvil node - #[arg(long, visible_alias = "memory-limit")] + /// The memory limit per EVM execution in bytes. + #[arg(long)] pub memory_limit: Option, }