-
Notifications
You must be signed in to change notification settings - Fork 14
Description
The Yellow Paper defines[1] a set of precompiled contracts when sending messages to a set of predefined addresses
these are so-called ‘precompiled’ contracts, meant as a preliminary piece of architecture that may later become native extensions. The contracts in addresses 1 to 9 execute the elliptic curve public key recovery function, the SHA2 256-bit hash scheme, the RIPEMD 160-bit hash scheme, the identity function, arbitrary precision modular exponentiation, elliptic curve addition, elliptic curve scalar multiplication, an elliptic curve pairing check, and the BLAKE2 compression function F respectively.
Detect whether there is a call to any of these contracts and use symbols to represents these calls.
See [2,3] for a definition of these precompiled contracts, their inputs and outputs.
Moreover, to see Geth's implementation, check[4,5].
[1] https://ethereum.github.io/yellowpaper/paper.pdf#section.8
[2] https://ethereum.github.io/yellowpaper/paper.pdf Appendix E. Precompiled Contracts
[3] https://www.evm.codes/precompiled?fork=merge
[4] https://github.com/ethereum/go-ethereum/blob/v1.10.18/core/vm/contracts.go#L45-L93
[5] https://github.com/ethereum/go-ethereum/blob/v1.10.18/core/vm/evm.go#L214-L231
Metadata
Metadata
Assignees
Labels
Projects
Status