Skip to content

fix: correct Vyper function parameter types in canonical_name#2965

Open
jose-blockchain wants to merge 3 commits intocrytic:masterfrom
jose-blockchain:fix/vyper-function-params-ir-2796
Open

fix: correct Vyper function parameter types in canonical_name#2965
jose-blockchain wants to merge 3 commits intocrytic:masterfrom
jose-blockchain:fix/vyper-function-params-ir-2796

Conversation

@jose-blockchain
Copy link

Fixes #2796

canonical_name and full_name were cached during parse_functions() before analyze_params()/analyze_content() resolved parameter types, producing signatures like f() instead of f(bytes[1024]).

Added _rebind_functions() at the end of analyze() to invalidate stale caches and rebuild the contract function dict with correct keys. Includes regression test and updated e2e snapshots.

canonical_name and full_name were cached before parameter types were
resolved during Vyper parsing, producing signatures like f() instead
of f(bytes[1024]).  After analyze_content resolves all types, invalidate
the stale caches and rebuild the contract function dict with correct keys.

Closes crytic#2796

Co-authored-by: Cursor <cursoragent@cursor.com>
@CLAassistant
Copy link

CLAassistant commented Feb 13, 2026

CLA assistant check
All committers have signed the CLA.

@jose-blockchain
Copy link
Author

pls review @Subway2023

jose-blockchain and others added 2 commits February 15, 2026 07:09
canonical_name and full_name were cached before parameter types were
resolved during Vyper parsing, producing signatures like f() instead
of f(bytes[1024]).  After analyze_content resolves all types, invalidate
the stale caches and rebuild the contract function dict with correct keys.

Closes crytic#2796

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug-Candidate]: Slither fails to correctly parse Vyper function parameters in IR

2 participants

Comments