Skip to content

Releases: icanvardar/cubipods

Cubipods v0.1.1

10 Sep 22:43
03ae908
Compare
Choose a tag to compare

🔄 Refactor:

  • Refactored the stack implementation to allocate on the heap instead of using the built-in Vector, improving memory handling and performance.

🛠️ Fixes:

  • Fixed various issues related to stack functions, ensuring more reliable and efficient stack operations.

📄 Miscellaneous:

  • Updated CHANGELOG.md to reflect these changes.

Cubipods v0.1.0 - Initial Release with EVM Bytecode Execution

26 Aug 17:49
06ebc9b
Compare
Choose a tag to compare

Cubipods v0.1.0 marks the initial release of this minimal Ethereum Virtual Machine (EVM) written in Rust. This version introduces a robust set of features designed to efficiently execute and analyze EVM bytecode, providing a solid foundation for further development.

🚀 New Features:

  • Instruction Handling: Added InstructionType enum and support for new opcodes. Introduced key modules such as lexer.rs and vm.rs.
  • Stack, Memory, and Storage Management: Implemented the foundational structures (Stack, Memory, and Storage) with essential functions. Enhanced stack operations with dup and swap.
  • Bytecode Conversion: Introduced conversion functions in hex.rs and implemented the bytes32 module with arithmetic operations.
  • Command-Line Interface (CLI): Added command-line operations, including support for a verbose argument.
  • Error Handling: Integrated custom error handling for VM and history operations, enhancing robustness and debugging.
  • History Tracking: Developed a comprehensive history module, including field functions and an analyze function for improved traceability.

🐛 Bug Fixes:

  • Addressed issues with byte-to-string conversion and corrected the KECCAK256 opcode function.

🚜 Refactor:

  • Streamlined error handling, memory, and stack operations. Updated error outputs, struct macros, and implemented the Debug trait across modules.

📚 Documentation:

  • Added safety documentation for unsafe memory functions.

🎨 Styling:

  • Improved code readability by removing redundant macros, renaming modules, and addressing Clippy warnings.

🧪 Testing:

  • Implemented extensive test cases across all modules, including stack, memory, storage, and CLI operations. Added integration tests to ensure comprehensive coverage.

⚙️ Miscellaneous Tasks:

  • Updated dependencies, added necessary crates (keccak-hash, clap), and refined project configurations (Cargo.toml, ci.yml).

Cubipods v0.1.0 establishes a lightweight and efficient platform for running EVM bytecode, offering detailed output for stack, memory, and storage states post-execution.