From 79a5e8d93e027c942e4fb2970cc7f00a0ee4aaaf Mon Sep 17 00:00:00 2001 From: Mathieu <60658558+enitrat@users.noreply.github.com> Date: Tue, 1 Oct 2024 15:20:54 +0200 Subject: [PATCH] fix: saturate jumpi index taken on stack (#1002) * fix: saturate jumpi index taken on stack * scout: remove print --- crates/contracts/src/kakarot_core/eth_rpc.cairo | 1 - crates/evm/src/instructions/memory_operations.cairo | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/contracts/src/kakarot_core/eth_rpc.cairo b/crates/contracts/src/kakarot_core/eth_rpc.cairo index c824fb4f..8e98b20e 100644 --- a/crates/contracts/src/kakarot_core/eth_rpc.cairo +++ b/crates/contracts/src/kakarot_core/eth_rpc.cairo @@ -134,7 +134,6 @@ pub impl EthRPC< fn eth_get_transaction_count(self: @TContractState, address: EthAddress) -> u64 { let kakarot_state = KakarotState::get_state(); let starknet_address = kakarot_state.get_starknet_address(address); - println!("starknet_address: {:?}", starknet_address); let account = IAccountDispatcher { contract_address: starknet_address }; let nonce = account.get_nonce(); nonce diff --git a/crates/evm/src/instructions/memory_operations.cairo b/crates/evm/src/instructions/memory_operations.cairo index 0248a7b3..3c60ee4b 100644 --- a/crates/evm/src/instructions/memory_operations.cairo +++ b/crates/evm/src/instructions/memory_operations.cairo @@ -188,7 +188,9 @@ pub impl MemoryOperation of MemoryOperationTrait { /// The new pc target has to be a JUMPDEST opcode. /// # Specification: https://www.evm.codes/#57?fork=shanghai fn exec_jumpi(ref self: VM) -> Result<(), EVMError> { - let index = self.stack.pop_usize()?; + let index = self + .stack + .pop_saturating_usize()?; // Saturate because if b is 0, we skip the jump but don't want to fail here. let b = self.stack.pop()?; self.charge_gas(gas::HIGH)?;