Skip to content

op-signer: opsigner_signBlockPayloadV2, fixes, cleanup#203

Merged
protolambda merged 3 commits intomainfrom
op-signer-improvements
Feb 24, 2025
Merged

op-signer: opsigner_signBlockPayloadV2, fixes, cleanup#203
protolambda merged 3 commits intomainfrom
op-signer-improvements

Conversation

@protolambda
Copy link
Copy Markdown
Contributor

Description

  • Remove the outdated op-signer client package. We have the exact same code, but newer and better, as improved in op-node over time, in the monorepo.
    • The old client package duplication comes from a pre-bedrock time where the op-signer code lived in a private repo and wasn't integrated into the monorepo for remote tx signing yet.
  • Fix the CLI client sub-command for block-signing. The block-signing-attribute that was sent via the outdated client binding didn't seem right at all (hash instead of block-args). So I am not sure if this test command was ever used. This PR fixes the client sub-command.
  • Introduce the opsigner_signBlockPayloadV2 endpoint, that uses the improved RPC typing. Ideally we document the V2 API, this is good to standardize for alternative OP-Stack implementations. Rust implementations shouldn't have to mimic the previous bad V1 Go JSON typing issues.
  • Updated to latest op-geth dependency. May also be useful for the Isthmus workstream. But does not fully support 7702 yet, since this PR focuses on block-signing fixes.

This PR depends on this monorepo PR: ethereum-optimism/optimism#14478

The go.mod points to a commit from that PR, and will have to be updated to a canonical commit of the monorepo after the PR is squash-merged.
Do not merge this PR until the above go.mod update.

Tests

Updated the block-signing tests to also cover the V2 variant.

Additional context

Block-signing is part of the sequencer stack, which I am working on improving, and building test tooling with.

Metadata

  • Fixes #[Link to Issue]

@protolambda protolambda force-pushed the op-signer-improvements branch from bfd959e to 9242052 Compare February 21, 2025 01:36
@sebastianst
Copy link
Copy Markdown
Member

Does this provide L1 Pectra readiness, or had this already been addressed in op-signer?

@protolambda
Copy link
Copy Markdown
Contributor Author

Does this provide L1 Pectra readiness, or had this already been addressed in op-signer?

It updates the geth dep, but doesn't support signing of 7702 txs yet, since the auth-list attribute is not part of the API type yet.
We can add that in a second PR, this PR is focused on block-signing, which is agnostic of hardforks (no full block payload included)

Copy link
Copy Markdown
Collaborator

@mininny mininny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did some simple tests on my local machine with the new/old op-signer and V1/V2 rpcs seem to work. Awesome clean up 👍

@protolambda
Copy link
Copy Markdown
Contributor Author

@mininny thank you for the review! I fixed the client test command, commented on the other issue, and updated the go.mod. Ready to merge if you agree on the remaining open comment.

@protolambda protolambda merged commit 2b72964 into main Feb 24, 2025
6 checks passed
@protolambda protolambda deleted the op-signer-improvements branch February 24, 2025 20:14
raffaele-oplabs pushed a commit that referenced this pull request Aug 3, 2025
* op-signer: opsigner_signBlockPayloadV2, fixes, cleanup

* op-signer: go.mod update to canonical monorepo commit

* op-signer: fix client test command

Co-authored-by: Minhyuk Kim <kimminhyuk1004@gmail.com>

---------

Co-authored-by: Minhyuk Kim <kimminhyuk1004@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants