Skip to content

feat!: disambiguate EVM-semantic and raw caller/self addresses for precompiles #211

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 7, 2025

Conversation

ARR4N
Copy link
Collaborator

@ARR4N ARR4N commented Aug 6, 2025

Why this should be merged

Provides precompiles with unambiguous access to contextual addresses, without the consumer needing to understand how they change under different call types.

How this works

The libevm.AddressContext type, which used to carry 3 addresses, now provides different versions of Caller and Self. The EVM-semantic versions are as defined by the rules of the EVM (and available before this change). The raw versions are the unmodified caller and self.

How this was tested

Extension of existing UTs to include raw addresses in addition to existing, EVM-semantic ones.

@ARR4N ARR4N marked this pull request as ready for review August 7, 2025 04:08
@ARR4N ARR4N requested a review from a team August 7, 2025 04:08
@ARR4N ARR4N changed the title feat: disambiguate EVM-semantic and raw caller/self addresses for precompiles feat!: disambiguate EVM-semantic and raw caller/self addresses for precompiles Aug 7, 2025
@ARR4N ARR4N merged commit e7035f1 into main Aug 7, 2025
12 checks passed
@ARR4N ARR4N deleted the arr4n/address-context-disambiguation branch August 7, 2025 22:48
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.

2 participants