-
Notifications
You must be signed in to change notification settings - Fork 3.9k
op-program: implement accelerated BLS precompiles for Isthmus #13975
Copy link
Copy link
Closed
Labels
A-op-programArea: op-programArea: op-programC-featureCategory: featuresCategory: featuresH-isthmusHardfork: change is planned for isthmus upgradeHardfork: change is planned for isthmus upgrade
Description
Tracking issue for EIP-2537: ethereum-optimism/pm#26 (comment)
Describe the solution you'd like
We should mark BLS12-381 precompiles as accelerated so the FP program doesn't have to run expensive crypto operations unnecessarily.
These should also include similar tests and gas logic to the existing accelerated precompiles.
optimism/op-program/client/l2/engineapi/precompiles.go
Lines 58 to 71 in 7bb33f9
| switch address { | |
| case ecrecoverPrecompileAddress: | |
| return &ecrecoverOracle{Orig: orig, Oracle: precompileOracle} | |
| case bn256PairingPrecompileAddress: | |
| precompile := bn256PairingOracle{Orig: orig, Oracle: precompileOracle} | |
| if rules.IsOptimismGranite { | |
| return &bn256PairingOracleGranite{precompile} | |
| } | |
| return &precompile | |
| case kzgPointEvaluationPrecompileAddress: | |
| return &kzgPointEvaluationOracle{Orig: orig, Oracle: precompileOracle} | |
| default: | |
| return orig | |
| } |
Describe alternatives you've considered
- We could process these in op-program at runtime instead of calling out to L1, but this affects challenger performance much more than using an accelerated precompile.
Additional context
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-op-programArea: op-programArea: op-programC-featureCategory: featuresCategory: featuresH-isthmusHardfork: change is planned for isthmus upgradeHardfork: change is planned for isthmus upgrade