- Solderx
- SolderX is a developer-first, all-in-one Solidity flattener that handles files, folders, and verified contracts from various Explorers— all on-the-fly.
- It features robust import resolutions, advanced remapping support, SPDX unification, topological sorting, import deduplication & cyclic dependency detection.
- PyPI link : pypi.org/project/solderx/
Halmos (a16z-halmos)
- Enhancement:
#576
(Enhancediv_xy_yto support signed and unsigned division simplification)
This PR updates the div_xy_y helper to handle simplifications for both unsigned (DIV) and signed (SDIV) EVM operations. It allows expressions like(x * y) / xor(x * y) / yto be simplified automatically, improving symbolic reasoning and reducing complexity in arithmetic analysis.
Slither (crytic-slither)
-
Enhancement:
#2753
(feat: Add Function module to detect functions returning msg.sender directly or via alias)
This PR introduces a new methodis_returning_msg_sender()in the Function class, enabling detection of Solidity functions that returnmsg.sender, either directly or through transitive variable aliasing.- The newly added method
Function.is_returning_msg_sender()returns True if:- The function directly returns
msg.sender, - The function returns a variable that was directly or transitively assigned from msg.sender
- The function directly returns
- The newly added method
-
Fix Bug:
#2747
Updates the logic inget_msg_sender_checks(), removing duplicates & repeatedmsg.sendercondition nodes -
Enhancement:
#1722
Adds function that would be helpful to de-register a detector class from the list of detectors already registered with the slither object -
Enhancement:
#1724
Adds a function that Un-Register a printer class from the list of printers already registered with the slither object.
Compose (Perfect Abstractions-Compose)
- Fix:
#159
(LibERC721Enumerable.solnow set token owner during mint to resolve missing ownership)
This pull request fixes [#159] — the bug whereLibERC721Enumerable.mint()did not assign ownership for newly minted tokens. Without this assignment, the token appeared non-existent (ownerOf[tokenId] == address(0)), causing transferFrom and burn to revert.
Cairo-Lang Book (cairo-book)
-
Enhancement:
#1201: Fix test run inconsistencies and output mismatches in (ch10_01)- Fixes inconsistencies in test cases sections of
assert!,assert_eq!,assert_ne!,#[should_panic],#[ignore]Macros and section of : Running Single Tests - Adds missing testcases in the contracts and fixes output logs as expected behaviour
- Fixes inconsistencies in test cases sections of
-
- Adds note on multiple derivable traits on structs
-
Enhancement:
#1191: Tuple Matching Only Supports Enums (ch06-04)-
Issue: The "Matching Tuples" section implies that all tuple types can be used in match, but tuples with primitive types like (u8, u8) cause a compile-time error.
-
Fix: Add a note/text clarification that tuple matching currently supports only enums.
-
-
Issue
#1192
Rephrase generics example sentence for clarity -
Issue
#1190
Fix incorrect usage of function names in quiz.