Skip to content

op-program: implement accelerated BLS precompiles for Isthmus #13975

@meyer9

Description

@meyer9

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.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-op-programArea: op-programC-featureCategory: featuresH-isthmusHardfork: change is planned for isthmus upgrade

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions