Skip to content

Releases: icanvardar/gasgnome

Release v0.3.0 - Expanded Contract Features and Storage Improvements

03 Aug 20:09
e2de58d
Compare
Choose a tag to compare

🚀 Features

  • Implemented staticcall and delegatecall in ContractLib.
  • Added transient storage operations to Slot.

🐛 Bug Fixes

  • Corrected slot updates in ContractLibLogic.
  • Updated staticcall to delegatecall in ContractLib.
  • Fixed parameter type issue in Slot.
  • Updated Deploy.s.sol.

🚜 Refactor

  • Merged call functions in ContractLib.
  • Added mock contract and related test files: ContractLib.t.sol, Base.t.sol.
  • Updated types and library files.

📚 Documentation

  • Added API references.
  • Updated installation section in docs.

🎨 Styling

  • Updated Deploy.s.sol.

🧪 Testing

  • Added test cases for staticcall, new call functions, delegatecall, and revert cases in ContractLib.
  • Added mock proxy and logic.
  • Created Variables.sol mock contract and integrated it into SlotLib tests.
  • Added transient storage test cases and base contract for test suites.

⚙️ Miscellaneous Tasks

  • Updated CHANGELOG.md, README.md, Gasgnome.sol, foundry.toml, remappings.txt.
  • Added soldeer package URL.
  • Added logic slots and tested delegatecall with incorrect function signature in ContractLibProxy.

v0.2.0: Major Enhancements & Bug Fixes

01 Aug 09:35
6c9be86
Compare
Choose a tag to compare

Release Notes

This release introduces significant updates and improvements across various libraries, including MemoryLib, Pointer, ErrorLib, EventLib, and ContractLib. Key highlights include the addition of new functions, bug fixes, refactoring for improved code clarity, and the introduction of new test cases.

🚀 Features

  • MemoryLib: New functions added for enhanced memory management.
  • Pointer: Introduction of a custom type with associated functions.
  • ErrorLib: Expanded library with new utility functions.
  • EventLib: Addition of untested library functions, duplication by parameter variations, and anonymous event emitters.
  • ContractLib: Enhanced with new functions and completion of missing function bodies.

🐛 Bug Fixes

  • MemoryLib & PointerLib: Resolved update function bugs.
  • EventLib: Updated anonymous emitters.
  • ContractLib: Eliminated redundant overwrites.

🚜 Refactor

  • Function visibility updates in MemoryLib and Pointer.
  • Custom error additions and maximum memory location update.
  • Removed unnecessary functions and parameter updates in EventLib and ContractLib.

🎨 Styling

  • Cleaned up redundant lines in MemoryLib tests and updated comments in EventLib.

🧪 Testing

  • Comprehensive test suites and case updates across all libraries, including positive case coverage in ContractLib.

⚙️ Miscellaneous Tasks

  • Updates to Gasgnome.sol, CHANGELOG.md, foundry.toml, and ci.yml configurations.

Release v0.1.0 - Initial Release with Core Libraries and Features

28 Jul 19:41
c8dfd57
Compare
Choose a tag to compare

Release Notes

🚀 New Features

  • Storage Library: Added a new Storage library.
  • Slot Utilities: Introduced asString and asBytes functions.
  • Slot Types: Added new getSlot types.
  • Bitmask Library: Added BitmaskLib.sol with a new Mask custom type and its library.
  • Arithmetic Library: Added ArithmeticLib with new functions.
  • Custom Types: Added SignedInt and UnsignedInt custom types with their respective libraries and functions.

🐛 Bug Fixes

  • CI Configuration: Updated ci-all-via-ir.yml.
  • Parameter Types: Changed bitSize parameter type to uint16.
  • Condition Fixes: Corrected conditions in UnsignedInt and SignedInt.
  • Function Updates: Updated divSignedInt, modSignedInt, and expSignedInt functions in SignedInt.

🚜 Refactoring

  • Slot Functions: Updated asInt256, asUint256, and asAddress functions.
  • Library Renaming: Renamed Storage to StorageLib.
  • Bitmask Library: Updated updateLeftPadded function, Mask custom type, and build function parameters. Removed getLength function.
  • UnsignedInt Functions: Updated various functions and added custom errors.
  • Gasgnome: Updated Gasgnome.sol.

📚 Documentation

  • README.md: Updated README with new information.

🎨 Styling

  • SlotLib: Updated setUp function.
  • Bitmask Library: Moved Mask to BitmaskLib, renamed updateDataWith to updateLeftPadded, and formatted BitmaskLib.t.sol.

🧪 Testing

  • SlotLib: Added test suite and asBytes test cases.
  • Storage: Added test suite.
  • Bitmask: Added test suite and updated BitmaskLib test suite.
  • ArithmeticLib: Updated test cases.
  • Custom Types: Created test suites and updated test cases for SignedInt and UnsignedInt.

⚙️ Miscellaneous

  • CI Configuration: Added and updated ci-all-via-ir.yml.
  • Assets: Added and updated logo.svg.
  • Changelog: Added and updated CHANGELOG.md.
  • Types: Added slot type and its library.
  • Clean-Up: Removed redundant contracts.