|
1 |
| -use alloy_primitives::{address, Address, Bytes, B256}; |
2 |
| -use revm::{ |
3 |
| - precompile::{secp256r1::p256_verify as revm_p256_verify, PrecompileWithAddress}, |
4 |
| - primitives::{Precompile, PrecompileResult}, |
5 |
| -}; |
| 1 | +use alloy_primitives::{address, Address}; |
6 | 2 |
|
7 | 3 | /// The ECRecover precompile address.
|
8 | 4 | pub const EC_RECOVER: Address = address!("0x0000000000000000000000000000000000000001");
|
@@ -46,28 +42,4 @@ pub const PRECOMPILES: &[Address] = &[
|
46 | 42 | EC_PAIRING,
|
47 | 43 | BLAKE_2F,
|
48 | 44 | POINT_EVALUATION,
|
49 |
| - ODYSSEY_P256_ADDRESS, |
50 | 45 | ];
|
51 |
| - |
52 |
| -/// [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md) secp256r1 precompile address on Odyssey. |
53 |
| -/// |
54 |
| -/// <https://github.com/ithacaxyz/odyssey/blob/482f4547631ae5c64ebea6a4b4ef93184a4abfee/crates/node/src/evm.rs#L35-L35> |
55 |
| -pub const ODYSSEY_P256_ADDRESS: Address = address!("0x0000000000000000000000000000000000000014"); |
56 |
| - |
57 |
| -/// Wrapper around revm P256 precompile, matching EIP-7212 spec. |
58 |
| -/// |
59 |
| -/// Per Optimism implementation, P256 precompile returns empty bytes on failure, but per EIP-7212 it |
60 |
| -/// should be 32 bytes of zeros instead. |
61 |
| -pub fn p256_verify(input: &Bytes, gas_limit: u64) -> PrecompileResult { |
62 |
| - revm_p256_verify(input, gas_limit).map(|mut result| { |
63 |
| - if result.bytes.is_empty() { |
64 |
| - result.bytes = B256::default().into(); |
65 |
| - } |
66 |
| - |
67 |
| - result |
68 |
| - }) |
69 |
| -} |
70 |
| - |
71 |
| -/// [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md) secp256r1 precompile. |
72 |
| -pub const ODYSSEY_P256: PrecompileWithAddress = |
73 |
| - PrecompileWithAddress(ODYSSEY_P256_ADDRESS, Precompile::Standard(p256_verify)); |
0 commit comments