From e10e0ed964e907695257816ff04d3970ad521d81 Mon Sep 17 00:00:00 2001 From: Daniel Kogtev Date: Wed, 5 Mar 2025 20:31:43 +0000 Subject: [PATCH] proof-producer: memory expansion tests --- .../blueprint/zkevm_bbf/opcodes/address.hpp | 15 ++ .../zkevm_bbf/opcodes/zkevm_opcodes.hpp | 8 +- .../nil/proof-generator/preset/limits.hpp | 2 +- .../traces/contracts/tracer_data.sol | 153 ++++++++++++++++++ .../mem_expand_calldatacopy.bc.bin | Bin 0 -> 2334 bytes .../mem_expand_calldatacopy.copy.bin | Bin 0 -> 351 bytes .../mem_expand_calldatacopy.exp.bin | 1 + .../mem_expand_calldatacopy.keccak.bin | 1 + .../mem_expand_calldatacopy.mpt.bin | 1 + .../mem_expand_calldatacopy.rw.bin | Bin 0 -> 23304 bytes .../mem_expand_calldatacopy.zkevm.bin | Bin 0 -> 83279 bytes .../codecopy/mem_expand_codecopy.bc.bin | Bin 0 -> 2334 bytes .../codecopy/mem_expand_codecopy.copy.bin | Bin 0 -> 417 bytes .../codecopy/mem_expand_codecopy.exp.bin | 1 + .../codecopy/mem_expand_codecopy.keccak.bin | 1 + .../codecopy/mem_expand_codecopy.mpt.bin | 1 + .../codecopy/mem_expand_codecopy.rw.bin | Bin 0 -> 23127 bytes .../codecopy/mem_expand_codecopy.zkevm.bin | Bin 0 -> 82095 bytes .../mcopy/mem_expand_mcopy.bc.bin | Bin 0 -> 2301 bytes .../mcopy/mem_expand_mcopy.copy.bin | Bin 0 -> 313 bytes .../mcopy/mem_expand_mcopy.exp.bin | 1 + .../mcopy/mem_expand_mcopy.keccak.bin | 1 + .../mcopy/mem_expand_mcopy.mpt.bin | 1 + .../mcopy/mem_expand_mcopy.rw.bin | Bin 0 -> 22794 bytes .../mcopy/mem_expand_mcopy.zkevm.bin | Bin 0 -> 82905 bytes .../mload/mem_expand_mload.bc.bin | Bin 0 -> 2334 bytes .../mload/mem_expand_mload.copy.bin | Bin 0 -> 128 bytes .../mload/mem_expand_mload.exp.bin | 1 + .../mload/mem_expand_mload.keccak.bin | 1 + .../mload/mem_expand_mload.mpt.bin | 1 + .../mload/mem_expand_mload.rw.bin | Bin 0 -> 11557 bytes .../mload/mem_expand_mload.zkevm.bin | Bin 0 -> 45807 bytes .../mstore/mem_expand_mstore.bc.bin | Bin 0 -> 2334 bytes .../mstore/mem_expand_mstore.copy.bin | Bin 0 -> 128 bytes .../mstore/mem_expand_mstore.exp.bin | 1 + .../mstore/mem_expand_mstore.keccak.bin | 1 + .../mstore/mem_expand_mstore.mpt.bin | 1 + .../mstore/mem_expand_mstore.rw.bin | Bin 0 -> 14242 bytes .../mstore/mem_expand_mstore.zkevm.bin | Bin 0 -> 59153 bytes .../mstore/mem_expand_mstore8.bc.bin | Bin 0 -> 2334 bytes .../mstore/mem_expand_mstore8.copy.bin | Bin 0 -> 128 bytes .../mstore/mem_expand_mstore8.exp.bin | 1 + .../mstore/mem_expand_mstore8.keccak.bin | 1 + .../mstore/mem_expand_mstore8.mpt.bin | 1 + .../mstore/mem_expand_mstore8.rw.bin | Bin 0 -> 13743 bytes .../mstore/mem_expand_mstore8.zkevm.bin | Bin 0 -> 58199 bytes .../mem_expand_returndatacopy.bc.bin | Bin 0 -> 2301 bytes .../mem_expand_returndatacopy.copy.bin | Bin 0 -> 658 bytes .../mem_expand_returndatacopy.exp.bin | 1 + .../mem_expand_returndatacopy.keccak.bin | 1 + .../mem_expand_returndatacopy.mpt.bin | 1 + .../mem_expand_returndatacopy.rw.bin | Bin 0 -> 51440 bytes .../mem_expand_returndatacopy.zkevm.bin | Bin 0 -> 158365 bytes .../proof-producer/resources/traces/readme.md | 80 +++++++++ .../test_zkevm_bbf_circuits.cpp | 63 ++++++++ 55 files changed, 338 insertions(+), 4 deletions(-) create mode 100644 crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/address.hpp create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.zkevm.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.bc.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.copy.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.exp.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.keccak.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.mpt.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.rw.bin create mode 100644 proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.zkevm.bin diff --git a/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/address.hpp b/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/address.hpp new file mode 100644 index 0000000000..717076f23e --- /dev/null +++ b/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/address.hpp @@ -0,0 +1,15 @@ +#pragma once + +#include +#include +#include + +namespace nil { + namespace blueprint { + namespace bbf{ + + template + using zkevm_address_operation = zkevm_dummy_operation; + } // namespace bbf + } // namespace blueprint +} // namespace nil diff --git a/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/zkevm_opcodes.hpp b/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/zkevm_opcodes.hpp index 0f2e20db9d..b5cc76c111 100644 --- a/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/zkevm_opcodes.hpp +++ b/crypto3/libs/blueprint/include/nil/blueprint/zkevm_bbf/opcodes/zkevm_opcodes.hpp @@ -84,7 +84,8 @@ #include #include #include -#include "nil/blueprint/zkevm_bbf/opcodes/logx.hpp" +#include +#include namespace nil { namespace blueprint { @@ -700,13 +701,14 @@ namespace nil { opcodes[zkevm_opcode::CODECOPY] = std::make_shared>(); opcodes[zkevm_opcode::MCOPY] = std::make_shared>(); opcodes[zkevm_opcode::RETURNDATACOPY] = std::make_shared>(); - + // not implemented yet opcodes - + opcodes[zkevm_opcode::RETURNDATASIZE] = std::make_shared>(); opcodes[zkevm_opcode::CALL] = std::make_shared>(); opcodes[zkevm_opcode::GAS] = std::make_shared>(); opcodes[zkevm_opcode::STATICCALL] = std::make_shared>(); + opcodes[zkevm_opcode::ADDRESS] = std::make_shared>(); // // DUP opcodes[zkevm_opcode::DUP1] = std::make_shared>(1); diff --git a/proof-producer/libs/preset/include/nil/proof-generator/preset/limits.hpp b/proof-producer/libs/preset/include/nil/proof-generator/preset/limits.hpp index 1777713404..ef4ee3d830 100644 --- a/proof-producer/libs/preset/include/nil/proof-generator/preset/limits.hpp +++ b/proof-producer/libs/preset/include/nil/proof-generator/preset/limits.hpp @@ -8,7 +8,7 @@ namespace nil { const std::size_t max_copy_rows = 30000; const std::size_t max_rw_rows = 60000; - const std::size_t max_keccak_blocks = 100; + const std::size_t max_keccak_blocks = 25; const std::size_t max_bytecode_rows = 20000; const std::size_t max_total_rows = 150000; const std::size_t max_mpt_rows = 30; diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/contracts/tracer_data.sol b/proof-producer/tests/bin/proof-producer/resources/traces/contracts/tracer_data.sol index abc1f169af..42ff9dbc53 100644 --- a/proof-producer/tests/bin/proof-producer/resources/traces/contracts/tracer_data.sol +++ b/proof-producer/tests/bin/proof-producer/resources/traces/contracts/tracer_data.sol @@ -67,3 +67,156 @@ contract Uint256CornerCaseTests { } } } + +contract MemoryGasTest { + /** + * @dev Internal helper to expand memory by `size` bytes. + * Forces memory allocation by storing a word at the end. + */ + function _expandMemory(uint256 size) internal pure { + assembly { + // Current free memory pointer (https://docs.soliditylang.org/en/latest/internals/layout_in_memory.html) + let ptr := mload(0x40) + + // Move it `size` bytes forward + let newPtr := add(ptr, size) + + // Store something at newPtr to force allocation + mstore(newPtr, 0) + + // Update the free memory pointer + mstore(0x40, add(newPtr, 0x20)) + } + } + + /** + * @notice Expands memory, then copies call data into a new bytes array. + */ + function testCalldatacopy( + uint256 memSize, + uint256 start, + uint256 len + ) external pure returns (bytes memory) { + _expandMemory(memSize); + + bytes memory result = new bytes(len); + assembly { + let dest := add(result, 0x20) + calldatacopy(dest, start, len) + } + return result; + } + + /** + * @notice Expands memory, then copies code from this contract’s bytecode. + */ + function testCodecopy( + uint256 memSize, + uint256 codeOffset, + uint256 len + ) external pure returns (bytes memory) { + _expandMemory(memSize); + + bytes memory result = new bytes(len); + assembly { + let dest := add(result, 0x20) + codecopy(dest, codeOffset, len) + } + return result; + } + + /** + * @notice Expands memory, then demonstrates a naive memory-to-memory copy in assembly. + */ + function testMemCopy( + uint256 memSize, + uint256 src, + uint256 len + ) external pure returns (bytes memory) { + _expandMemory(memSize); + + // We'll create a new buffer for demonstration + bytes memory result = new bytes(len); + assembly { + mcopy(result, src, len) + } + return result; + } + + + function _returnSomeData() external pure returns (bytes memory) { + return "Hello, I am your return data!"; + } + + function testReturndatacopy( + uint256 memSize, + uint256 offset, + uint256 len + ) external returns (bytes memory) { + _expandMemory(memSize); + + // Call this contract’s own _returnSomeData() + // by encoding its selector and arguments + (bool success, ) = address(this).call( + abi.encodeWithSelector(this._returnSomeData.selector) + ); + + require(success, "Sub-call failed."); + + // Copy from the return data buffer into new memory + bytes memory ret = new bytes(len); + assembly { + let dest := add(ret, 0x20) + returndatacopy(dest, offset, len) + } + + // 3) Return the copied slice + return ret; + } + + function testMload( + uint256 memSize, + uint256 slot + ) external pure returns (uint256 val) { + _expandMemory(memSize); + + assembly { + val := mload(slot) + } + } + + /** + * @notice Expands memory, then demonstrates mstore by writing and reading at `slot`. + */ + function testMstore( + uint256 memSize, + uint256 slot, + uint256 value + ) external pure returns (uint256) { + _expandMemory(memSize); + + uint256 val; + assembly { + mstore(slot, value) + val := mload(slot) + } + return val; + } + + /** + * @notice Expands memory, then demonstrates mstore8 by writing a single byte at `slot`. + */ + function testMstore8( + uint256 memSize, + uint256 slot, + uint8 value + ) external pure returns (uint8 storedByte) { + _expandMemory(memSize); + + assembly { + mstore8(slot, value) + // mload returns 32 bytes; isolate the lowest-order byte + storedByte := byte(0, mload(slot)) + } + } +} diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.bc.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.bc.bin new file mode 100644 index 0000000000000000000000000000000000000000..0054f821fa90e0e76ea1dfbaffa7056ecbf090b7 GIT binary patch literal 2334 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 literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/calldatacopy/mem_expand_calldatacopy.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..55a9bb29ff2a843e919fff3dd38813a24c4d38e6 GIT binary patch literal 83279 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 literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.bc.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.bc.bin new file mode 100644 index 0000000000000000000000000000000000000000..7e294b5f8a6b667a0dd14c5adf5b1040055773f1 GIT binary patch literal 2334 zcmah~U1%It7~Q)&KWi*DDM@Imkbv=_f^|3h4<_9rTJb?An`DPN(3x*%cU25ZED=kw znYlB&whyhd*+i>8v<0b%)Z!0_^`U|iRM7ZT6-9-r^vO^Zq?A~{J2N|*P19yc!kzCs zd(XM&J9E>u+|zY$?8R6t7EeG%PiL~R1dNn2BZ-krB3n+UN)^bJ0FrvC3ORk-sUFSH z@`a?)2cfO9s;(-M#-+OFmA$1TE_dVd{Py#g zarqoBmj=e3!sSUBzh6`gJ$ynx-3y^PZ1Gbs{fWzSxXizB@eN%5Dl3c+La%F_k&c+e zfzU$30q)zP0%Wz2mWds{}1cF zgZS`u4^M;}@MLFzC&Mj#P5_3^K=%5nF> zKQH;DjsK{%KL}jKX@v1i;r2*I0E5U9EeT@2VYfG>&cc-v!@TjAIcE^0HOzq3QLA#(1M{2 z5|q-f4G~ufhB*9(Y~rIvXxKbmG=uz(^i|izIlImpo8PPuh_Zsd7{ACx+=ZngMgpt?sz+Vf#&z#Ue*b)?&6N~uc zG}-Cd1>)MTQi}6oR(K{;)7r0E7V)RWu7g2~^taF;C=`SN9Gg%vYarZRRGJb9vu2H{ z1tGyYhfNUn6cwAjp#JDQ3e$|B+XWC#n>GmJMWw~c9MSALb42(|2H`@>5#gIUec5xQ z>CRU8B`B~X=0R8q3f{1#c{bhaw51uuJ5bM6H(=uS&VY$KO%VC^=mQnv!!n2uwN!`` z0f(nTEC&Tog*fXLMErNwRsrG>kGV5);%PT>;#|Os??T{yW{vwGer?r2eA_iy{NAeB zAiiHzsEy8T(yug@oqgH+0T<0ccOZVw8Jv~%~r>86BUF&acmEz3NIf(Ao zx-Af|vHc+WD23?lc(=I`@e9!vp+h-70_EKQvEVI^*$VAKlt^j9`-}Ex9Pg?vlBnT zHdI%e4*c8UkeFh>js<$%DXQ1aKcMph-Iedzq^S$@zPt1z>lS1Am}vX>{P1yq^YoeK s>tHPCGM_uqr(nq>r!qN>)`lJhNlgN?NH(E^oU&2^qRT3UEM&;;2bhpo!vFvP literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.exp.bin new file mode 100644 index 0000000000..fe82286505 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.exp.bin @@ -0,0 +1 @@ +ϫc@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.keccak.bin new file mode 100644 index 0000000000..fe82286505 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.keccak.bin @@ -0,0 +1 @@ +ϫc@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.mpt.bin new file mode 100644 index 0000000000..717d115e38 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.mpt.bin @@ -0,0 +1 @@ +ϫc"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/codecopy/mem_expand_codecopy.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..bdcd7786f7f1b088559f14eb85f939f2df8e282b GIT binary patch literal 23127 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 literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.bc.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.bc.bin new file mode 100644 index 0000000000000000000000000000000000000000..641d038dd9e1f4b1a20009b56c323166a3c95d53 GIT binary patch literal 2301 zcmah}U1%It6yDkSTVur}rm3w;N9aQptNZ`+kT%ta)+#dD>Wn(jd(Y19S}|G@6KU;3 z=FV(ZsG^fprTAilK8T9a2N8oPqKN2&6=NSnp(=&qi;dD!YHK`qW_CB5w&}pK=brQ3 z`_1{jbEoHnzMeai`;*CJs*+Au>}0_%)Ka+uWHOa(E>kSl(y4r=2AOQVUbPGTOTE;g z!{w~A7GgJ=gj}+8D&>12)-*|up1jqu$3Hy&NFT%=GsAEIgk2cU-#mXB!{;&ldi~bD z7`}_)-`~7;7Q>%S+;3Qp9Y12v4M6M=mWH1@@dk$T7~XgMx-ks@#IUxblEn=hOp8-P z>}@JJd65Y|#NM3oL4Mt^Ksaw$ba(_}$9U$CVByS&{y&Ic=-|KS)r*LauZi%#VMh6M zIbM)D_@y@fV2Bs`F2`rvc;TKl{#1nDemTC{!IKtVd^p07U5fk?boiCk<@IUZOmp;PpAm0#G|H5jQ8U*5T59D2j#YTL6c1G6`Ng=+j z5hRKG#8ULIzO@ifn-EWdddRT28@}U~9lBAV8`lp~O>hMqBAlUk)nvG&f*W`8Ucqq% zJl5AO{85bw-n3iL9ZVgb)mwDUE7Q#(-O+2({diS6x8d$t!F1+|Oycz>h&|V05{ItJ z6g5^_(U?dgy5zGh9hd(P2A74NyamOin^3+HJjWA7R`yX!|KM`$%9u;;3eL!?Adh*2 z>%21Rtn=F=a{tvu!y>qHJdu&+?T(NQ{<6x2)+98_9?pK(oN#&Qa4^sGHtawXrgqjwNB7;O z-LJvZ+JSwO%7kGx_(vsDDWqUb#Ky{?EU*SB4Z~`&61wEJI6zs%{l5g- zEB|(Dudcz;=_{zB-eH2exuuGlZ}%LkqV8xXLRHj9gM{**VRcji^{J4#+YPl5xS>{B zyi*VDJUF(>eTtDX-A<)4-4xAKBm$`4MdGPHp?K=Yfq3evW#T!@MFaJs+W_?o{*E}A z(J3noo7z2D*_ zpFv_9_lQ?}->Mqy7!UP$=fI^-MZhO4V#A)(dtiQ>~Y>`C<`j`BXift*7$U alwGv*rCimnW-_TP)((wTKXS;3r~3f literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.copy.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.copy.bin new file mode 100644 index 0000000000000000000000000000000000000000..b41b35e4e911a185545287f52dbd5b876a53b556 GIT binary patch literal 313 zcmdWVX{TCnWbq;a*DCBp=pw3ig9vc KilI?riX{LqvLwF% literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.exp.bin new file mode 100644 index 0000000000..708c501909 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.exp.bin @@ -0,0 +1 @@ +@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.keccak.bin new file mode 100644 index 0000000000..708c501909 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.keccak.bin @@ -0,0 +1 @@ +@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.mpt.bin new file mode 100644 index 0000000000..48dbfd78da --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.mpt.bin @@ -0,0 +1 @@ +"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..12cb4d7c7126e86e8590dfcbc9d62cafbb658604 GIT binary patch literal 22794 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 VUi#^)9bS0zjSkN}|3-&be*<2kUuggU literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mcopy/mem_expand_mcopy.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..b60f049af8a737473585a2cdd6460a249291febd GIT binary patch literal 82905 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 MvAMQuV{^m*1(BNGD*ylh literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.bc.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.bc.bin new file mode 100644 index 0000000000000000000000000000000000000000..07923d7a566c4685522a78142c42bae8ae171982 GIT binary patch literal 2334 zcmah~TWB0r7~Zoxmo*lflq57&NYMIF!MgVgn0AY3#Rr|;COg!D&ip%@RWT^BL@dQ- z=FIHcK3HdW6I=Dc7K-9Sy@OgGDyTsPtxr`^RESES3`Ji`iSa)(v$NUswj|-q|9^YF z?|lC^Cw=Dz`tFK77mLN>NyzG%Y%Z3BL?xR@CbG#~HIuGPLB0Zz(knH{>zhstXoglO zrHmm6ZIo4YMUgZv(+{D8vYOU@zs=C^`~Iex0SN7tz2zW~jkuiJT}k0`Coa!yK63$= zPvdfNWXI#Ud|k%xmlZ<~AJp9 zXujzH_gz^5a;~gsg(8IBzzTn>`(QL9&OeC%x{LpUbr%?Z$;Y3^ig2U{f2oWAmv!Gl ze0bHv6X6Ox*%si*)($@Ml#kC`iQn7BPXzcMeSGao{E;r+#;$k|>fv_#_?KDbsQcib zmweL2f7scd10TPLl^%aoAU|2a9V#nk(UDqBNkXIsbVS=ZPKGJL?2OaWxT=lWWCw&N7*|tLB*~Es z2p?zgx#;HyPK2)WF-sapApDX8(aGT8D~f78))8tB3_GPF^G zQiioL;wr%qhyRpKeAEaH8yPEWP=ewe6y!+Sm`Usg-60t*Ns<=k@sICKq|f%ep*@U| zJ7tJ$y%A$XzAmFxr&-BB5pBlmjv{j4>U8r+*S;a$;x*~0P4}&1TDm&Zf5^0QBPK3( zO(td~9xT81U@CA$kIl69(4xA<=^Pn5Pj+t+L3_!3R|bjiWhYigKO0zn}&e@Zq3<(`iX9mxmwncqj^CFTofkNWpJcEn)+|q08b6bcI^ls7*EjKPdx0 z0elJxDJts;6aNf0XMoSK_>Nf^ON)inA{cG{DE3|i{$A|)LR9wAjK*Ph68>%MpYEK5 z|MW0D;+33w2@Qk|L4i53fIm)~ zot|AFuKg;dI3H$(XEHUdeX3;3Bsgyo>%4O?ol>8{d_W)N>dJ(t{oiJN-^CT=r9g(n@w`aC;w+_?OV>NhUdaAm8{jIH1oH;rN(Vbeq z1>$A4A4DIb5WN}iHa8+(VtQv8oi-tgWA_s>_wa)UXV&k%_E{}yyELw(ZBElf?)jExK|4O5d7 zEz-=BEsaysEKSTTED}@A4AYEE(hSW~43jOA%`8n*l2eS04Na3QQ;d@nQw)s~Q!D{9 CEE?(n literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.exp.bin new file mode 100644 index 0000000000..1c28e3a7ad --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.exp.bin @@ -0,0 +1 @@ +ŗ"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.keccak.bin new file mode 100644 index 0000000000..1c28e3a7ad --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.keccak.bin @@ -0,0 +1 @@ +ŗ"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.mpt.bin new file mode 100644 index 0000000000..bce5c73f48 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.mpt.bin @@ -0,0 +1 @@ +ŗ""@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..aec2d98882a676ed06edb36a5247a8e2d12440cd GIT binary patch literal 11557 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 QDec&!dufNqx|eqOe?y~oasU7T literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mload/mem_expand_mload.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..2a69c9f8f740ed11e8254b6854b650df34e0215b GIT binary patch literal 45807 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 A@&Et; literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.bc.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.bc.bin new file mode 100644 index 0000000000000000000000000000000000000000..0c1096a1e178dd262a18f1b5b3a5fc43cd239e08 GIT binary patch literal 2334 zcmah~U1%It7~Q)&KWi*DDM@ImkOk{Q1?z71A55}UwBm!#Zj&AAKxe+4&8irbS|XNW zGjnHlZ6B<&o1|6+Z9x^-MMwPr^tgJCYp9CUezHx-td%3P4J))F7{KI^L%l zTA`FO1|YOiR@G%i(zr}7gbv7RTKnxbL%;9aoA&lWXt(Sw`+;o4<&;NzX_i$Nw_WY~3{8d&MAB0}fI3p7= zi36eerUTqJWd+E&vZ57=5PAzM{H^YT(Tq6%ApWZk{tW9bF#M8_KaUmRa2Nh^2mdeY zzJvJiiian{Iy~7H;K|lDKJt{0&#cGq?%*c^{0~09wjO`DgSW9O-i>;=oj(33s~mA3 z{PU7eI{1&;`*Yyq&tj#^9~H=t7H|j4idl4|R#TD?sR8-B;TF~SzLl$d1{)1#cX+VH z_|Z%i9}O#Fs*Oi4;U1%gYW73;5gE%(NgE#0#z)B@C77L2S{hZgm`%nYJi)k{k|Ift zWI*^BgU?1k-+w%GosU`4I0E699EeT^2VYiH>#?>_vu^;xAIcE^0HXWK3QLA#(2}7I z6O=Nj#fYl}Lmd87Ht|s-G;Cz7tU(EicTkWcX)%-74LT+nElH9V=JAj3O{B;6yrEr; zkvn9FY`qaU~@0#s10m zN%&6>(Zk+J7T8G|B;C#QGopV2?q%E!_zNzWFO-#e2_vr+fWH!apE;p{upuZgCl>I> znPaDC7l>=WN-55VS>c&XO>2*8S;U_fyAFmeGT26gpimHoaBRYqSqI_vvN9)uFk{x4 zS`d<~bI=4~M_IAi3+j)~qcF_~x?KX{glU6NEGunR=7?rDm?OexG6<*JjtE~j=nI}B zbM9<~UxETVVgZDULBSig)MC?Jp>53|-hz5Ay8#n7cLz+|W`f9fMjxmUACN)3zpX;t z6>xYe#A;CRRERTfLBxM&9TgxR@|e3LC!TO4C(Z`E_$~zQXIHro;-Xat@om>+@q4Ro zgZO?~p*D`ozjRa(FH*Y!;%UZ=8@20e<~qA;rgE1K)6=mUJTX00-M;qLRw>RLorCDO z)@y-yh3yB?hbTmE#=Fgph?kh|Sw^Q#h~n7&gv>tt;DNns_g?+1mb4ujSJJks%e{+7 z&wTg#;upW)yQKixTsl=tj>PkcDIIdPte#I+Yxz_rmxHNHqBfGMB{J27p3^h=bXBh= RlZkXCUrp*zO^iS_|39luKc4^q literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.copy.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.copy.bin new file mode 100644 index 0000000000000000000000000000000000000000..cfe95766e6497bbcbf6cb8ca0ba720c211401d4c GIT binary patch literal 128 zcmd-w;$qc!!zsWZ#KOTUz#!4brli1t7cf5;I5q9am3gO*KXQ_CNHn)FHAyozGO#pE zO-{5(Gf%cOPD!&gF|)8pOf@r1GcrjtG)pl|wn#R!G)+lPF*Y_dO|ncePEJfQG)hdd F1OSvC954U? literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.exp.bin new file mode 100644 index 0000000000..5f79a11296 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.exp.bin @@ -0,0 +1 @@ +ʖԞB@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.keccak.bin new file mode 100644 index 0000000000..5f79a11296 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.keccak.bin @@ -0,0 +1 @@ +ʖԞB@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.mpt.bin new file mode 100644 index 0000000000..73af8bb274 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.mpt.bin @@ -0,0 +1 @@ +ʖԞB"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..42fe61314d2c375c52d78778d7cbfd49a5911feb GIT binary patch literal 14242 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

h~kh@4#aFMtHQ;%YF1Q1&lx>I31NUc>e zR~{6kHc>o^8#B_Dq8$O9A+{@YTeF!7rG24|J=>aTn=;ZNDuu2PJF2VwzfI1plU5SN zhf(J$NjGPt3sVGNXk82I=4v;omsbt{3spXruX9;|@&hiP#PSDRei6$ba#;_{A9495EPu@9Z)5o(mrr5&6E44u z1zgIWKAMovj@#Uf4-w3`CMdlT)(fPIK|YrwulyE$M#qTL>_KhbUw zIDlxk2pmYXn*{6YWNULx^^(z@bFDS>Q0D-7au=rtTxPH|F%(@m*@N(k4e! zlr}q>sj%F(DbTmt8m!sKAyB*C@+T&=h(q2dNl=eBA zue9IM0;L0v7AhTdv`FcYqs2;x9W7Bh;%KSTQAf*^jyYPcbllMjr4x=;DxGw+O6g-q ztCdbUTBB6qXsyy|N9&Z%I9jiC*3kx~bB;D<>egg;;+y4e1?x?~9tG=6z+MIGOTaz_ z>q@|W1?x$`0R`(wz(ED;N5CNk>qfv~g{Jz<0FEeFCjyQtSRVq8DOeW*jw@IX0!}Dc z2LetiSpNY&Ra!}9e&t}CFw&MVx|+bYe|v%)v)`${7m zJy06ys3adW%27+D(T-Xvjd9dkX{@6*O5+^0RT}T8ozetH?Ul+Lbx@kxyF7O!9<}UC!(IzkO z1kq+M@FdZuFYsfc&0pXtqD^361<__O@HEk;Fz^h~<}mOq(IzqQ9MNVm@I29`G4KM> z<}vUh(IztR647Qd@G{Y+GVlt~<}&aq(IzwS8qsDm@H)|^Gw=q{<}>gU?e_EbX^QWj z(+fZs9L-R==xCrdcuqV*^61kw5vc#>%S3H+F7{RuopY^vu4tRTMg8J;Fuf8t-y z5UoFfXNlIIz;i_FPvCi?^(XKG(fSj3k!bx1yhODA1YRaue*&)%tv`WRiPoRMYeef$ z;B}()C-4T*`V;sG(fSj3lW6@3yhXJB1l}fEe*!-xT7LrX5UoFfcZt@Yz{W1YGP@Prhs=Hj_a(Dq!TreWS#W5P>_A+=B zncWN?O=drX$B^04;IU-(GrkW6t`&H@TEqLntk+A{T44YY*GKE j;`+@SHGiq`i^a{08#Ji@;;$PQH)!6hxc&>xiW~nw8u6As literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..feedbbcb5db245088a2a4a02ffdc09dcd8c55dd3 GIT binary patch literal 59153 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

bgZkIq48rNIBf@u0`kLoR z$DOV4TToy}EP`-3D0st`+HATvXje0c_n@9@ZotG%{Q(oVnjrGM(FZET$7K*7>#7hZ z0}fAxSPcrE3US6Qi1_cUrvk(y9&>->#6>r9;%vZ+??T{yZiV|Gerq*A{J=F?{LyOI zAbwI-sEymEz3NIf(Ai zHdr8DXZu0)2@27>@osY?;w7ekmeFYwqBwRxA+t~JKD2-J-YcKglD1RhO4^vZyy481 zbIq%#PcH4=QiNPSldh+d@j{}eL%yEV3#n?okk01wP|GIj$#gxDttRxmo-JgmdNq|w PWGaPfN{4D93Dv^?vz}^H8V^zGD$NuOEFBgNH()HO-W8MHa0X(vP>~fPE0X0N=&f? E0KNkpp8x;= literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.exp.bin new file mode 100644 index 0000000000..2907660e59 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.exp.bin @@ -0,0 +1 @@ +ȆH@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.keccak.bin new file mode 100644 index 0000000000..2907660e59 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.keccak.bin @@ -0,0 +1 @@ +ȆH@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.mpt.bin new file mode 100644 index 0000000000..bfe9e98c1e --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.mpt.bin @@ -0,0 +1 @@ +ȆH"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..4cd7d04128532e090a680d49a65d30a5afe94c35 GIT binary patch literal 13743 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 literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/mstore/mem_expand_mstore8.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..0b4123f8051650860fc42cac1108fc9244d6a84f GIT binary patch literal 58199 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 aWf$#yDOa_tnM^8IDOEEzR8wiFmi`BgD^IHc literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.copy.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.copy.bin new file mode 100644 index 0000000000000000000000000000000000000000..0fb03c0031f85c33b46fc9d181b059b4b9ad806d GIT binary patch literal 658 zcmd-Q=VH}3!XdyQ#Hw)uNJ(_FE3te!G4(5#0Z?KABUqw=2`I6ZM@iNrH76%uN5NAe zF;}57zqCl9D7B=tC{H0Ju_RHEs|cv$07wT52P;rR7oSoB1Ad@@Uz!2Gg+R?fJHeI# zUH<~)`W68?*lEJW#=)eK0uGuNoIqRW3Mmot2?LiA!lfWR_X+D!;4%h=D98p-3B{{{|*w8e|GQ~JKF~!g*F~t%9sfJW? literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.exp.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.exp.bin new file mode 100644 index 0000000000..3a49a6e2a9 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.exp.bin @@ -0,0 +1 @@ +‰Q@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.keccak.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.keccak.bin new file mode 100644 index 0000000000..3a49a6e2a9 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.keccak.bin @@ -0,0 +1 @@ +‰Q@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.mpt.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.mpt.bin new file mode 100644 index 0000000000..cb050f3a98 --- /dev/null +++ b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.mpt.bin @@ -0,0 +1 @@ +‰Q"@a7854f32091eca8f7c93df94688ae61f24f16d1c8c695dcd3315b9d3cad12ad9 \ No newline at end of file diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.rw.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.rw.bin new file mode 100644 index 0000000000000000000000000000000000000000..03c52fa8395953008b23e7f4b0e0372035dcce5c GIT binary patch literal 51440 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 F|3CWcHQfLJ literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.zkevm.bin b/proof-producer/tests/bin/proof-producer/resources/traces/memory_expansion/returndatacopy/mem_expand_returndatacopy.zkevm.bin new file mode 100644 index 0000000000000000000000000000000000000000..a8f0bed6de0804a14e22fe66ec25bcdd0b9dd3ef GIT binary patch literal 158365 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

+l$t-X=fr8fCMhA1)Z@RMt3Et? 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 NbGH_6cJ9{x{|6QMrrQ7j literal 0 HcmV?d00001 diff --git a/proof-producer/tests/bin/proof-producer/resources/traces/readme.md b/proof-producer/tests/bin/proof-producer/resources/traces/readme.md index 99a2812bfe..23e19e9059 100644 --- a/proof-producer/tests/bin/proof-producer/resources/traces/readme.md +++ b/proof-producer/tests/bin/proof-producer/resources/traces/readme.md @@ -127,6 +127,86 @@ nild run --http-port 8529 # should be run in another terminal (or with &) and st prover trace corner_cases/division_by_zero/div_by_zero 1 $block_hash ``` + +### Memory expansion tests + +#### CALLDATACOPY +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testCalldatacopy --count 1 --args "600 0 32" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/calldatacopy/mem_expand_calldatacopy 1 $block_hash +``` + +#### CODECOPY +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testCodecopy --count 1 --args "700 0 32" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/codecopy/mem_expand_codecopy 1 $block_hash +``` + +#### MLOAD +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testMload --count 1 --args "1000 128" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/mload/mem_expand_mload 1 $block_hash +``` + +#### MSTORE +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testMstore --count 1 --args "1100 160 999" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/mstore/mem_expand_mstore 1 $block_hash +``` + +#### MSTORE8 +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testMstore8 --count 1 --args "1200 192 255" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/mstore8/mem_expand_mstore8 1 $block_hash +``` + +#### RETURNDATACOPY +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testReturndatacopy --count 1 --args "900 0 32" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/returndatacopy/mem_expand_returndatacopy 1 $block_hash +``` + +#### MCOPY +```bash +solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none +nil_block_generator init +nil_block_generator add-contract --contract-name MemoryGasTest --contract-path MemoryGasTest +nil_block_generator call-contract --contract-name MemoryGasTest --method testMemCopy --count 1 --args "900 0 20" +nil_block_generator get-block +nild run --http-port 8529 # should be run in another terminal (or with &) and stopped after collecting the traces with prover +prover trace memory_expansion/mcopy/mcopy 1 $block_hash +``` + ### broken index ```bash solc -o . --bin --abi contracts/tracer_data.sol --overwrite --no-cbor-metadata --metadata-hash none diff --git a/proof-producer/tests/bin/proof-producer/test_zkevm_bbf_circuits.cpp b/proof-producer/tests/bin/proof-producer/test_zkevm_bbf_circuits.cpp index 58d2a25690..f63318c8ab 100644 --- a/proof-producer/tests/bin/proof-producer/test_zkevm_bbf_circuits.cpp +++ b/proof-producer/tests/bin/proof-producer/test_zkevm_bbf_circuits.cpp @@ -149,6 +149,69 @@ INSTANTIATE_TEST_SUITE_P(ExponentiationOverflowZkevm, ProverTests, ::testing::Va INSTANTIATE_TEST_SUITE_P(ExponentiationOverflowExp, ProverTests, ::testing::Values(Input{ExponentiationOverflow, EXP})); INSTANTIATE_TEST_SUITE_P(ExponentiationOverflowKeccak, ProverTests, ::testing::Values(Input{ExponentiationOverflow, KECCAK})); + +// MEMORY EXPANSTION TESTS + +const std::string MemExpandCalldataCopy = "memory_expansion/calldatacopy/mem_expand_calldatacopy"; +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyRw, ProverTests, ::testing::Values(Input{MemExpandCalldataCopy, RW})); +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyBytecode, ProverTests, :: testing::Values(Input{MemExpandCalldataCopy, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyCopy, ProverTests, ::testing::Values(Input{MemExpandCalldataCopy, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyZkevm, ProverTests, ::testing::Values(Input{MemExpandCalldataCopy, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyExp, ProverTests, ::testing::Values(Input{MemExpandCalldataCopy, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandCalldataCopyKeccak, ProverTests, ::testing::Values(Input{MemExpandCalldataCopy, KECCAK})); + + +const std::string MemExpandCodeCopy = "memory_expansion/codecopy/mem_expand_codecopy"; +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyRw, ProverTests, ::testing::Values(Input{MemExpandCodeCopy, RW})); +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyBytecode, ProverTests, :: testing::Values(Input{MemExpandCodeCopy, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyCopy, ProverTests, ::testing::Values(Input{MemExpandCodeCopy, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyZkevm, ProverTests, ::testing::Values(Input{MemExpandCodeCopy, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyExp, ProverTests, ::testing::Values(Input{MemExpandCodeCopy, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandCodeCopyKeccak, ProverTests, ::testing::Values(Input{MemExpandCodeCopy, KECCAK})); + +const std::string MemExpandMload = "memory_expansion/mload/mem_expand_mload"; +INSTANTIATE_TEST_SUITE_P(MemExpandMloadRw, ProverTests, ::testing::Values(Input{MemExpandMload, RW})); +INSTANTIATE_TEST_SUITE_P(MemExpandMloadBytecode, ProverTests, :: testing::Values(Input{MemExpandMload, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandMloadCopy, ProverTests, ::testing::Values(Input{MemExpandMload, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandMloadZkevm, ProverTests, ::testing::Values(Input{MemExpandMload, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandMloadExp, ProverTests, ::testing::Values(Input{MemExpandMload, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandMloadKeccak, ProverTests, ::testing::Values(Input{MemExpandMload, KECCAK})); + +const std::string MemExpandMstore = "memory_expansion/mstore/mem_expand_mstore"; +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreRw, ProverTests, ::testing::Values(Input{MemExpandMstore, RW})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreBytecode, ProverTests, :: testing::Values(Input{MemExpandMstore, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreCopy, ProverTests, ::testing::Values(Input{MemExpandMstore, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreZkevm, ProverTests, ::testing::Values(Input{MemExpandMstore, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreExp, ProverTests, ::testing::Values(Input{MemExpandMstore, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstoreKeccak, ProverTests, ::testing::Values(Input{MemExpandMstore, KECCAK})); + +const std::string MemExpandMstore8 = "memory_expansion/mstore/mem_expand_mstore8"; +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Rw, ProverTests, ::testing::Values(Input{MemExpandMstore8, RW})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Bytecode, ProverTests, :: testing::Values(Input{MemExpandMstore8, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Copy, ProverTests, ::testing::Values(Input{MemExpandMstore8, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Zkevm, ProverTests, ::testing::Values(Input{MemExpandMstore8, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Exp, ProverTests, ::testing::Values(Input{MemExpandMstore8, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandMstore8Keccak, ProverTests, ::testing::Values(Input{MemExpandMstore8, KECCAK})); + +const std::string MemMcopy = "memory_expansion/mcopy/mem_expand_mcopy"; +INSTANTIATE_TEST_SUITE_P(MemMcopyRw, ProverTests, ::testing::Values(Input{MemMcopy, RW})); +INSTANTIATE_TEST_SUITE_P(MemMcopyBytecode, ProverTests, :: testing::Values(Input{MemMcopy, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemMcopyCopy, ProverTests, ::testing::Values(Input{MemMcopy, COPY})); +INSTANTIATE_TEST_SUITE_P(MemMcopyZkevm, ProverTests, ::testing::Values(Input{MemMcopy, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemMcopyExp, ProverTests, ::testing::Values(Input{MemMcopy, EXP})); +INSTANTIATE_TEST_SUITE_P(MemMcopyKeccak, ProverTests, ::testing::Values(Input{MemMcopy, KECCAK})); + +const std::string MemExpandReturndatacopy = "memory_expansion/returndatacopy/mem_expand_returndatacopy"; + +// TODO(oclaw): RW circuit now fails to validate memory operations done inside CALL subcontext +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyRw, ProverTests, ::testing::Values(Input{MemExpandReturndatacopy, RW, true})); + +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyBytecode, ProverTests, :: testing::Values(Input{MemExpandReturndatacopy, BYTECODE})); +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyCopy, ProverTests, ::testing::Values(Input{MemExpandReturndatacopy, COPY})); +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyZkevm, ProverTests, ::testing::Values(Input{MemExpandReturndatacopy, ZKEVM})); +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyExp, ProverTests, ::testing::Values(Input{MemExpandReturndatacopy, EXP})); +INSTANTIATE_TEST_SUITE_P(MemExpandReturndatacopyKeccak, ProverTests, ::testing::Values(Input{MemExpandReturndatacopy, KECCAK})); + // RW trace is picked from another trace set and has different trace_idx TEST(ProverTest, TraceIndexMismatch) { const std::string trace_base_path = std::string(TEST_DATA_DIR) + "/broken_index/increment_simple";