Skip to content

Conversation

@sorpaas
Copy link
Member

@sorpaas sorpaas commented Mar 23, 2022

This extends precompiled contract to add a second kind. For this kind of precompiled contracts, it returns subsequent EVM codes (with inputs) that is executed within the same context as the precompile. This "subsequent EVM code" has the full ability as a normal EVM contract and can modify states it is allowed to modify (issue other calls, create contracts, or modify the storage of the precompile).

This allows us to support use cases such as #105 without exposing too much internal state, which, if messed up, can actually cause the EVM to panic (for example, accidentally make the call stack unbalanced).

@sorpaas
Copy link
Member Author

sorpaas commented Aug 10, 2025

Rust EVM 1.0 now fully supports precompile subsequent EVM code call without using any hacks like this. :)

@sorpaas sorpaas closed this Aug 10, 2025
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