diff --git a/src/Nethermind.Arbitrum/Config/ArbitrumDynamicSpecProvider.cs b/src/Nethermind.Arbitrum/Config/ArbitrumDynamicSpecProvider.cs index b6c7ba671..a9b16453e 100644 --- a/src/Nethermind.Arbitrum/Config/ArbitrumDynamicSpecProvider.cs +++ b/src/Nethermind.Arbitrum/Config/ArbitrumDynamicSpecProvider.cs @@ -40,6 +40,9 @@ private static void ApplyArbitrumOverrides(ArbitrumReleaseSpec spec, ulong arbos { spec.ArbOsVersion = arbosVersion; + // Arbitrum Stylus support: Allow larger code sizes + spec.MaxCodeSize = 131072; // 128 KB (vs Ethereum's 24 KB) + // Shanghai EIPs (ArbOS v11+) bool shanghaiEnabled = arbosVersion >= ArbosVersion.Eleven; spec.IsEip3651Enabled = shanghaiEnabled; @@ -76,5 +79,8 @@ private static void ApplyArbitrumOverrides(ArbitrumReleaseSpec spec, ulong arbos // Disable contract code validation as Arbitrum stores Stylus bytecode spec.IsEip3541Enabled = false; + + // Arbitrum supports larger contracts than Ethereum (128KB+ for Stylus) + spec.IsEip170Enabled = false; } }