Skip to content

Update to account for upstream Succinct/SP1Helios changes post-audit #46

@RonTuretzky

Description

@RonTuretzky

Summary

The target-contracts repository needs to be updated to incorporate upstream changes from Succinct's SP1Helios library that have been made post-audit. The current submodule is pinned to commit 3ad7783 while the upstream has progressed to 51b1e4a with significant changes.

Current State

Required Updates

1. SP1Helios Library Updates

Recent upstream changes that need to be incorporated:

  • Explicit vkey checks in constructor (51b1e4a): Constructor now explicitly checks verification keys
  • Events on vkey updates (bdf42dd): New events emitted when verification keys are updated
  • Storage proof service improvements (cf2e2f8):
    • Operator can now act as storage proof service
    • Storage proofs can be submitted without requiring state updates
    • This could significantly impact the RegistryCoordinatorMimic implementation

2. Contract Updates Required

Based on the codebase analysis, the following contracts will need updates:

RegistryCoordinatorMimic.sol

  • Currently imports SP1Helios at line 21: import {SP1Helios} from "@sp1-helios/SP1Helios.sol";
  • Uses SP1Helios as immutable variable at line 43
  • May need updates to handle new vkey validation and storage proof patterns

SP1HeliosMock.sol (test contract)

  • Located at contracts/script/e2e/contracts/SP1HeliosMock.sol
  • May need updates to match new interface changes

3. Integration Points to Review

  • Storage proof verification flow: The new ability to submit storage proofs without state updates may require changes to the proof verification logic
  • Event handling: New vkey update events should be properly handled and potentially monitored
  • Constructor patterns: Review all SP1Helios instantiations to ensure they comply with new vkey check requirements

4. Testing Requirements

  • Update test fixtures if needed for new proof formats
  • Ensure all existing tests pass with updated library
  • Add tests for new functionality (storage proofs without updates)
  • Verify e2e docker scripts still work with updates

Action Items

  1. Update SP1Helios submodule to latest commit
  2. Review breaking changes and update contract implementations
  3. Update mock contracts for testing
  4. Run full test suite and fix any failures
  5. Update deployment scripts if needed
  6. Document any API changes for downstream consumers

References

  • SP1Helios repository: https://github.com/succinctlabs/sp1-helios
  • Current integration points: RegistryCoordinatorMimic.sol, SP1HeliosMock.sol
  • Related TODOs in codebase:
    • RegistryCoordinatorMimic.sol:60-61: Assembly storage array modifications need audit review
    • MiddlewareShim.sol:22: Gas limit concerns for getMiddlewareData

Impact Assessment

High Priority: These changes are post-audit, suggesting they may include security improvements or important bug fixes that should be incorporated promptly.

Additional Notes

  • Several unaudited dependencies are being used (e.g., BLSSigCheckOperatorStateRetriever from eigenlayer-middleware/unaudited)
  • Consider comprehensive audit review after these updates are incorporated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions