Commit graph

1 commit

Author SHA1 Message Date
Arran Schlosberg
910e897c54
feat: reentrancy.Guard for stateful precompiles (#212)
## Why this should be merged

The `vm.PrecompileEnvironment.Call()` method requires careful usage
because of reentrancy vulnerabilities (this is common to all outgoing
`CALL`s in the EVM, not just stateful precompiles). This package
provides a common method of protection, a reentrancy guard.

## How this works

Provides a function that returns `vm.ErrExecutionReverted` if called
twice, by the same contract, in the same transaction, with the same
identifier.

## How this was tested

Unit and integration tests.
2025-10-03 19:56:29 +00:00