Skip to content

Trace code address#2790

Merged
automergerpr-permission-manager[bot] merged 9 commits into
masterfrom
raoul/trace-code-address
Aug 20, 2025
Merged

Trace code address#2790
automergerpr-permission-manager[bot] merged 9 commits into
masterfrom
raoul/trace-code-address

Conversation

@RaoulSchaffranek
Copy link
Copy Markdown
Member

@RaoulSchaffranek RaoulSchaffranek commented Aug 11, 2025

DELEGATECALL and CALLCODE are used to execute the code of a foreign contract on the current account storage. They're commonly used to implement proxy contracts. Currently, we only trace the storage account's address in the <id>-cell. This PR adds another cell <codeAddr> to keep track of the code account's address. This is needed by Simbolik to debug proxy contracts, see https://github.com/runtimeverification/simbolik/pull/88#discussion_r2253683433

There is an edge case when it comes to account creation calls: we set the <codeAddr> to the address of the newly created account.

@automergerpr-permission-manager automergerpr-permission-manager Bot merged commit b49c90b into master Aug 20, 2025
12 checks passed
@automergerpr-permission-manager automergerpr-permission-manager Bot deleted the raoul/trace-code-address branch August 20, 2025 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants