-
Notifications
You must be signed in to change notification settings - Fork 284
feat: merge kzg and blob changes from upstream #1245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: merge kzg and blob changes from upstream #1245
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR merges KZG and blob changes from upstream, updating dependencies and adding new cell-based proof functionality for data availability sampling. The changes upgrade Go version, update KZG-related dependencies, and introduce versioned blob sidecars with support for cell proofs.
- Upgraded Go version from 1.21 to 1.22 and updated multiple dependencies including KZG libraries
- Added cell proof functionality with new methods for computing and verifying cell proofs
- Introduced versioned blob sidecars (v0 and v1) to support different proof types
Reviewed Changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| params/version.go | Incremented patch version from 5 to 6 |
| go.mod | Updated Go version to 1.22 and upgraded KZG and other dependencies |
| crypto/kzg4844/kzg4844_test.go | Updated import path and added cell proof tests with new benchmark loop pattern |
| crypto/kzg4844/kzg4844_gokzg.go | Updated import path and added cell proof computation and verification functions |
| crypto/kzg4844/kzg4844_ckzg_nocgo.go | Added wasip1 build constraint and stub functions for cell proofs |
| crypto/kzg4844/kzg4844_ckzg_cgo.go | Updated import paths, modified trusted setup loading, and added cell proof implementations |
| crypto/kzg4844/kzg4844.go | Added JSON marshaling, cell proof functions, and fixed typo in comment |
| core/types/blob_tx.go | Added versioned blob sidecars, cell proof support, and enhanced encoding/decoding |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds versioned BlobTxSidecar (v0/v1) with conversion, validation, copy and accessor APIs; implements per-cell KZG proof compute/verify paths (CKZG and GoKZG) plus serialization hooks; updates KZG bindings and dependencies; bumps Go toolchain to 1.22 and increments params patch version. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant App as Application
participant Sidecar as BlobTxSidecar
participant KZG as kzg4844
participant Backend as CKZG/GoKZG
App->>Sidecar: NewBlobTxSidecar(version, blobs, commitments, proofs)
Sidecar-->>App: sidecar (Version set)
App->>Sidecar: ToV1()
Sidecar->>KZG: ComputeCellProofs(blob)
KZG->>Backend: dispatch compute (CKZG or GoKZG)
Backend-->>KZG: []Proof
KZG-->>Sidecar: attach cell proofs (set Version = v1)
App->>Sidecar: ValidateBlobCommitmentHashes(hashes)
Sidecar->>KZG: VerifyCellProofs(blobs, commitments, proofs)
KZG->>Backend: dispatch verify (batch)
Backend-->>KZG: verify result
KZG-->>Sidecar: validation result
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
core/types/blob_tx.go (1)
90-97: Bug: iterates over Blobs while indexing CommitmentsCan panic or leave hashes uninitialized when lengths differ. Iterate over commitments.
Apply this diff:
func (sc *BlobTxSidecar) BlobHashes() []common.Hash { hasher := sha256.New() - h := make([]common.Hash, len(sc.Commitments)) - for i := range sc.Blobs { - h[i] = kzg4844.CalcBlobHashV1(hasher, &sc.Commitments[i]) - } + n := len(sc.Commitments) + h := make([]common.Hash, n) + for i := 0; i < n; i++ { + h[i] = kzg4844.CalcBlobHashV1(hasher, &sc.Commitments[i]) + } return h }
🧹 Nitpick comments (6)
core/types/blob_tx.go (2)
79-87: Constructor: consider basic invariantsOptionally validate lengths (len(blobs) == len(commitments); for v1, len(proofs) == blobs*CellProofsPerBlob) to fail fast on malformed inputs.
115-133: Avoid copying 128KiB arrays in loop (addr-of-range var)Passing &blob takes address of the range variable (full copy each iter). Use index to take address of slice element.
- for _, blob := range sc.Blobs { - cellProofs, err := kzg4844.ComputeCellProofs(&blob) + for i := range sc.Blobs { + cellProofs, err := kzg4844.ComputeCellProofs(&sc.Blobs[i]) if err != nil { return err } - proofs = append(proofs, cellProofs...) + proofs = append(proofs, cellProofs...) }crypto/kzg4844/kzg4844_gokzg.go (1)
100-116: Preallocate result slice to avoid extra allocsSmall efficiency win when converting proofs.
- var p []Proof - for _, proof := range proofs { - p = append(p, (Proof)(proof)) - } - return p, nil + p := make([]Proof, len(proofs)) + for i, proof := range proofs { + p[i] = Proof(proof) + } + return p, nilcrypto/kzg4844/kzg4844_test.go (1)
213-227: Assert the expected cell-proof count
ComputeCellProofsis expected to return exactlyCellProofsPerBlobentries per blob. Adding an explicitlen(proofsX) == CellProofsPerBlobassertion would catch regressions in the backends (or future library upgrades) before they cascade into sidecar handling.crypto/kzg4844/kzg4844.go (1)
154-163: Validate slice lengths before delegatingWe document strict expectations on
blobs,commitments, andproofs, but the function forwards mismatched slices straight into the backend. Add early guards (e.g.len(blobs) == len(commitments)andlen(proofs) == len(blobs)*CellProofsPerBlob) so callers get deterministic, high-signal errors instead of opaque backend failures.crypto/kzg4844/kzg4844_ckzg_cgo.go (1)
142-151: Preallocate the proof slice
proofshas a fixed length (len(proofs)from CKZG). Initializingp := make([]Proof, len(proofs))and assigning by index avoids repeated reallocations and makes the intent clearer. It’s a cheap win on this hot path.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (8)
core/types/blob_tx.go(8 hunks)crypto/kzg4844/kzg4844.go(3 hunks)crypto/kzg4844/kzg4844_ckzg_cgo.go(4 hunks)crypto/kzg4844/kzg4844_ckzg_nocgo.go(2 hunks)crypto/kzg4844/kzg4844_gokzg.go(2 hunks)crypto/kzg4844/kzg4844_test.go(6 hunks)go.mod(5 hunks)params/version.go(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (6)
crypto/kzg4844/kzg4844_ckzg_nocgo.go (1)
crypto/kzg4844/kzg4844.go (3)
Blob(42-42)Commitment(55-55)Proof(68-68)
crypto/kzg4844/kzg4844_gokzg.go (1)
crypto/kzg4844/kzg4844.go (3)
Blob(42-42)Proof(68-68)Commitment(55-55)
crypto/kzg4844/kzg4844.go (1)
common/hexutil/json.go (1)
UnmarshalFixedJSON(100-105)
crypto/kzg4844/kzg4844_test.go (1)
crypto/kzg4844/kzg4844.go (6)
VerifyBlobProof(147-152)BlobToCommitment(110-115)ComputeCellProofs(168-173)Blob(42-42)VerifyCellProofs(157-162)Commitment(55-55)
core/types/blob_tx.go (4)
crypto/kzg4844/kzg4844.go (6)
Blob(42-42)Commitment(55-55)Proof(68-68)CellProofsPerBlob(39-39)ComputeCellProofs(168-173)CalcBlobHashV1(177-186)rlp/raw.go (2)
SplitList(112-121)Split(63-69)rlp/decode.go (2)
List(581-581)DecodeBytes(91-105)core/types/transaction.go (1)
BlobTxType(54-54)
crypto/kzg4844/kzg4844_ckzg_cgo.go (2)
common/hexutil/hexutil.go (1)
MustDecode(80-86)crypto/kzg4844/kzg4844.go (3)
Blob(42-42)Proof(68-68)Commitment(55-55)
🪛 OSV Scanner (2.2.3)
go.mod
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) started with non-empty inheritable Linux process capabilities in github.com/docker/docker
(GO-2022-0390)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Symlink Attack in Libcontainer and Docker Engine in github.com/docker/docker
(GO-2022-0649)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Arbitrary File Override in Docker Engine in github.com/docker/docker
(GO-2022-0708)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Docker supplementary group permissions not set up properly, allowing attackers to bypass primary group restrictions in github.com/docker/docker
(GO-2022-0985)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Container build can leak any path on the host into the container in github.com/docker/docker
(GO-2022-1107)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) Insufficiently restricted permissions on data directory in github.com/docker/docker
(GO-2024-2500)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Classic builder cache poisoning in github.com/docker/docker
(GO-2024-2512)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby Docker cp broken with debian containers in github.com/docker/docker
(GO-2024-2521)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Unexpected chmod of host files via 'docker cp' in Moby Docker Engine in github.com/docker/docker
(GO-2024-2913)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) is vulnerable to Ambiguous OCI manifest parsing in github.com/docker/docker
(GO-2024-2914)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby firewalld reload removes bridge network isolation in github.com/docker/docker
(GO-2025-3829)
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) started with non-empty inheritable Linux process capabilities
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) Insufficiently restricted permissions on data directory
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby firewalld reload removes bridge network isolation
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Path Traversal in Moby builder
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Symlink Attack in Libcontainer and Docker Engine
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Secret insertion into debug log in Docker
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: /sys/devices/virtual/powercap accessible by default to containers
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby's external DNS requests from 'internal' networks could lead to data exfiltration
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Docker Authentication Bypass
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Docker supplementary group permissions not set up properly, allowing attackers to bypass primary group restrictions
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Arbitrary File Override in Docker Engine
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: docker cp allows unexpected chmod of host files in Moby Docker Engine
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Container build can leak any path on the host into the container
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Moby (Docker Engine) is vulnerable to Ambiguous OCI manifest parsing
[HIGH] 22-22: github.com/docker/docker 1.4.2-0.20180625184442-8e610b2b55bf: Classic builder cache poisoning
[HIGH] 64-64: golang.org/x/crypto 0.32.0: Potential denial of service in golang.org/x/crypto
(GO-2025-3487)
[HIGH] 64-64: golang.org/x/crypto 0.32.0: golang.org/x/crypto Vulnerable to Denial of Service (DoS) via Slow or Incomplete Key Exchange
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: test
- GitHub Check: Analyze (go)
🔇 Additional comments (10)
params/version.go (1)
27-27: Patch bump looks goodNo issues spotted.
go.mod (3)
18-20: KZG deps switch aligns with new cell-proof APIsUpgrading to go-eth-kzg v1.4.0 and c-kzg-4844/v2 v2.1.5 is consistent with the new APIs added in crypto/kzg4844. LGTM.
Also applies to: 25-25
3-5: Go/toolchain bump: ensure CI/build images matchPin CI runners and builder images to Go 1.22.12 to avoid drift with the toolchain directive.
64-64: Upgrade golang.org/x/crypto to a patched release
Multiple subpackages (sha3, hkdf, openpgp, pbkdf2, scrypt, ssh, ripemd160, etc.) are imported; bump the module from v0.32.0 to the latest patched version and verify compatibility by running the full test suite.core/types/blob_tx.go (3)
35-45: Sidecar versioning constants: clear and minimalDefinitions read well and match intended semantics.
167-178: Deep copy via slices.Clone is appropriateGood use of slices.Clone for fixed-size array elements; Copy() looks correct.
356-424: Decoding logic separation (canonical vs network, v0 vs v1) looks soundRLP splitting approach and payload assignment are consistent. Nice.
crypto/kzg4844/kzg4844_ckzg_nocgo.go (2)
17-17: Build tag: wasip1 exclusion addedAppropriate for non-cgo environments. LGTM.
64-75: Stub functions for cell proofs: OK for unsupported platformsPanicking stubs maintain API surface consistently.
crypto/kzg4844/kzg4844_gokzg.go (1)
23-23: Dependency switch to go-eth-kzgEnsure v1.4.0 exports ComputeCells, ComputeCellsAndKZGProofs, and VerifyCellKZGProofBatch as used here.
Based on learnings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/l2geth_ci.yml (1)
93-94: Align goimports job with Go 1.22 toolchainAll other jobs now use Go 1.22, but this step still provisions Go 1.18. That binary ships the Go 1.18 parser, which cannot format or even parse Go 1.22 syntax (e.g., range-over-integers). As soon as the repo adopts any 1.22-only feature, goimports will fail and break the CI lint job. Please bump this step to Go 1.22.x as well so the formatter matches the rest of the toolchain.
🧹 Nitpick comments (2)
core/types/blob_tx.go (2)
79-87: Consider adding validation to the constructor.The constructor accepts a
versionbyte and slice parameters without validation. While the validation might be deferred to usage sites, consider validating at construction time to prevent creating sidecars in invalid states.For example:
- Check that
versionis eitherBlobSidecarVersion0orBlobSidecarVersion1- Verify that slice lengths are consistent (e.g.,
len(blobs) == len(commitments))- For version 0, check
len(proofs) == len(blobs)- For version 1, check
len(proofs) == len(blobs) * kzg4844.CellProofsPerBlob
356-423: Complex but correct decoding logic for multiple encoding formats.The method correctly handles:
- Canonical encoding (blob tx without sidecars)
- Network encoding with legacy v0 sidecars
- Network encoding with versioned v1 sidecars
The logic uses RLP structure inspection to distinguish between formats, which is sound. However, the complexity could be reduced for maintainability.
Consider extracting helper functions to improve readability:
// isCanonicalEncoding checks if the input is a canonical blob tx encoding (without sidecar) func isCanonicalEncoding(input []byte) (bool, error) { firstElem, _, err := rlp.SplitList(input) if err != nil { return false, err } firstElemKind, _, _, err := rlp.Split(firstElem) if err != nil { return false, err } return firstElemKind != rlp.List, nil } // isLegacySidecar checks if the sidecar encoding is v0 (legacy) func isLegacySidecar(input []byte) (bool, error) { firstElem, _, err := rlp.SplitList(input) if err != nil { return false, err } _, _, secondElem, err := rlp.Split(firstElem) if err != nil { return false, err } secondElemKind, _, _, err := rlp.Split(secondElem) if err != nil { return false, err } return secondElemKind == rlp.List, nil }Then simplify the decode method:
func (tx *BlobTx) decode(input []byte) error { canonical, err := isCanonicalEncoding(input) if err != nil { return err } if canonical { return rlp.DecodeBytes(input, tx) } legacy, err := isLegacySidecar(input) if err != nil { return err } var payload blobTxWithBlobs if legacy { payload = new(blobTxWithBlobsV0) } else { payload = new(blobTxWithBlobsV1) } if err := rlp.DecodeBytes(input, payload); err != nil { return err } sc := new(BlobTxSidecar) if err := payload.assign(sc); err != nil { return err } *tx = *payload.tx() tx.Sidecar = sc return nil }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/l2geth_ci.yml(5 hunks)core/types/blob_tx.go(8 hunks)crypto/kzg4844/kzg4844_ckzg_cgo.go(4 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
crypto/kzg4844/kzg4844_ckzg_cgo.go (2)
common/hexutil/hexutil.go (1)
MustDecode(80-86)crypto/kzg4844/kzg4844.go (3)
Blob(42-42)Proof(68-68)Commitment(55-55)
core/types/blob_tx.go (3)
crypto/kzg4844/kzg4844.go (6)
Blob(42-42)Commitment(55-55)Proof(68-68)CellProofsPerBlob(39-39)ComputeCellProofs(168-173)CalcBlobHashV1(177-186)rlp/raw.go (2)
SplitList(112-121)Split(63-69)rlp/decode.go (2)
List(581-581)DecodeBytes(91-105)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: check
- GitHub Check: test
- GitHub Check: Analyze (go)
🔇 Additional comments (6)
core/types/blob_tx.go (6)
35-45: LGTM! Clear versioning constants with comprehensive documentation.The version constants are well-defined with clear explanations of their intended use cases (full blob verification vs. data availability sampling).
99-113: LGTM! Excellent defensive programming with comprehensive bounds checking.The method correctly validates:
- Sidecar version compatibility
- Blob index bounds
- Proof array integrity
Error messages are descriptive and will help diagnose issues during debugging.
151-165: LGTM! Correct validation logic with descriptive error messages.The method properly validates commitment hashes by:
- Checking length consistency
- Computing expected hashes using
kzg4844.CalcBlobHashV1- Comparing against provided hashes
- Returning informative errors on mismatch
167-178: LGTM! Correct deep-copy implementation.The method correctly deep-copies the sidecar. The comment accurately explains that
slices.Cloneperforms a deep copy for fixed-size byte arrays (kzg4844.Blob [131072]byte,kzg4844.Commitment [48]byte,kzg4844.Proof [48]byte).
180-227: LGTM! Clean interface design for handling versioned sidecars.The
blobTxWithBlobsinterface and its implementations (blobTxWithBlobsV0,blobTxWithBlobsV1) provide a clean abstraction for encoding/decoding different sidecar versions. Theassign()method on v1 correctly validates the version byte.
329-354: LGTM! Comprehensive encoding logic with proper error handling.The switch statement correctly handles:
- Transactions without sidecars
- Version 0 sidecars (legacy format)
- Version 1 sidecars (with cell proofs)
- Unsupported versions (returns error)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/l2geth_ci.yml(5 hunks)params/version.go(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- params/version.go
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: test
- GitHub Check: Analyze (go)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🧹 Nitpick comments (1)
crypto/kzg4844/kzg4844_test.go (1)
234-239: Consider removing or updating the benchmark output comment.The hardcoded benchmark output comment may become stale as the code evolves. Consider removing it or noting that it represents a specific machine/configuration.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
Dockerfile(2 hunks)Dockerfile.alltools(1 hunks)Dockerfile.mockccc(1 hunks)Dockerfile.mockccc.alpine(1 hunks)crypto/kzg4844/kzg4844_test.go(2 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
crypto/kzg4844/kzg4844_test.go (1)
crypto/kzg4844/kzg4844.go (5)
BlobToCommitment(110-115)ComputeCellProofs(168-173)Blob(42-42)VerifyCellProofs(157-162)Commitment(55-55)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: test
- GitHub Check: Analyze (go)
🔇 Additional comments (1)
crypto/kzg4844/kzg4844_test.go (1)
24-24: LGTM! Import updated to go-eth-kzg.The import path change aligns with the PR objectives to merge KZG updates from upstream.
1. Purpose or design rationale of this PR
These changes are needed when we use l2geth and a Go SDK in
rollup-relayer.2. PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:
3. Deployment tag versioning
Has the version in
params/version.gobeen updated?4. Breaking change label
Does this PR have the
breaking-changelabel?Summary by CodeRabbit
New Features
Dependencies
Chores