From 45dac46de13d2788799ad260bcb8d51ef610fae0 Mon Sep 17 00:00:00 2001 From: sukanyaparashar Date: Mon, 30 Sep 2024 21:43:30 +0530 Subject: [PATCH] update: update precompile support list --- docs/evm_compatibility/precompiles.md | 29 ++++++++++++--------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/docs/evm_compatibility/precompiles.md b/docs/evm_compatibility/precompiles.md index 989c2c09..00ca4be0 100644 --- a/docs/evm_compatibility/precompiles.md +++ b/docs/evm_compatibility/precompiles.md @@ -4,25 +4,22 @@ proofedDate: na iterationBy: na includedInSite: true approvedBy: na -comment: From meet>> Requires supported precompiles Anton can provide + explanation of WHY they are not supported #3 Requires a list of native precomiled contracts Anton can provide by slack [actually, the yellow paper https://ethereum.github.io/yellowpaper/paper.pdf is not a great source for the opcodes -- using docs instead] +comment: We need to get the custom precompile addresses --- ## Precompiled EVM contracts Currently, Neon EVM supports the majority of [precompiled contracts](https://www.evm.codes/precompiled?fork=merge) -## Unsupported precompiled EVM contracts - -There are some precompiled EVM contracts that Neon EVM does not support. - -Contracts written in the Solidity language will not be executed in Neon EVM if they contain calls to the following: - -- bigModExp — Used for efficient RSA verification inside an EVM, as well as other forms of number theory-based cryptography -- bn256Add — Performs addition on the elliptic curve operations -- bn256ScalarMult — Performs scalar multiplication on the elliptic curve operations -- bn256Pairing — Elliptic curve pairing operations to perform zkSTARKs verification within the block gas limit - -> The Neon EVM requires the implementation of system calls in Solana to support these contracts in the future. - - - +| Address | Name | Compatibility | +| ------- | ---------------- | ------------------------------------ | +| 0x01 | ecRecover | ![Supported](img/done.ico) | +| 0x02 | SHA2-256 | ![Supported](img/done.ico) | +| 0x03 | RIPEMD-160 | ![Supported](img/done.ico) | +| 0x04 | identity | ![Supported](img/done.ico) | +| 0x05 | modexp | ![Not Supported](img/false-copy.png) | +| 0x06 | ecAdd | ![Supported](img/done.ico) | +| 0x07 | ecMul | ![Supported](img/done.ico) | +| 0x08 | ecPairing | ![Supported](img/done.ico) | +| 0x09 | blake2f | ![Supported](img/done.ico) | +| 0x0a | point evaluation | ![Not Supported](img/false-copy.png) |