diff --git a/CHANGELOG.md b/CHANGELOG.md index 87c7e608d..e4d6649c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Fixed +- DelegateCall was missing the check on prank override + ## [0.54.2] - 2024-12-12 ## Fixed diff --git a/src/EVM.hs b/src/EVM.hs index d0549501d..894e504e5 100644 --- a/src/EVM.hs +++ b/src/EVM.hs @@ -951,9 +951,12 @@ exec1 = do Just xTo' -> case gasTryFrom xGas of Left _ -> vmError IllegalOverflow - Right gas -> + Right gas -> do + overrideC <- use $ #state % #overrideCaller delegateCall this gas xTo' self (Lit 0) xInOffset xInSize xOutOffset xOutSize xs $ - \_ -> touchAccount self + \_ -> do + zoom #state $ assign #caller $ fromMaybe self overrideC + touchAccount self _ -> underrun OpCreate2 -> notStatic $