Skip to content

docs: add Solver7702Delegate docs#627

Merged
igorroncevic merged 11 commits into
mainfrom
feat/solver-7702-delegate
Jun 26, 2026
Merged

docs: add Solver7702Delegate docs#627
igorroncevic merged 11 commits into
mainfrom
feat/solver-7702-delegate

Conversation

@igorroncevic

@igorroncevic igorroncevic commented May 22, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a solver-facing guide for using Solver7702Delegate to keep the existing solver EOA while using auxiliary EOAs for parallel settlement submission.

Changes

  • Add a new Solver7702Delegate tutorial under solver docs.
  • Document the direct vs delegated transaction shape and packed calldata format.
  • Cover setup, verification, monitoring, caller replacement, revocation, and compromised key handling.
  • Link the guide from solver onboarding and driver submission docs.

Summary by CodeRabbit

  • Documentation
    • Updated solver driver documentation with configuration guidance for parallel settlement submissions.
    • Added new documentation page describing how to enable parallel settlement submissions using auxiliary accounts to prevent submission delays.

@vercel

vercel Bot commented May 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jun 26, 2026 11:27am

Request Review

@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new solver-7702-delegate.md tutorial page documenting Solver7702Delegate for parallel settlement submission via ERC-7702 nonce lanes, covering driver configuration, submission mechanics, calldata packing, and verification. Updates the existing driver tutorial with a cross-reference paragraph and minor list bullet reformatting.

Changes

Solver7702Delegate Documentation

Layer / File(s) Summary
New Solver7702Delegate tutorial page
docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md
Introduces Solver7702Delegate as an ERC-7702 nonce-lane mechanism for parallel settlement; documents submission-accounts driver configuration, signing/funding constraints, direct vs. delegated submission flow, delegated calldata packing using abi.encodePacked(bytes20(target), targetCalldata), cast code verification steps, and a reference to the upstream README.
Driver tutorial cross-reference and list reformatting
docs/cow-protocol/tutorials/arbitrate/solver/driver.md
Reformats the preprocessing-auction step list from asterisk to hyphen bullets; inserts a paragraph before the "Flash Loans" subsection directing production solvers to configure Solver7702Delegate to avoid settlement delays caused by a single pending solver EOA transaction.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hop hop, through nonce lanes we go,
Auxiliary EOAs in a row,
The solver EOA stays in the light,
While delegates submit left and right,
ERC-7702 makes the magic flow! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding Solver7702Delegate documentation to the repository.
Description check ✅ Passed The description follows the template structure with Description and Changes sections, providing clear context about the new guide and listing completed implementation tasks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/solver-7702-delegate

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@igorroncevic igorroncevic changed the title docs: add docs docs: add Solver7702Delegate docs May 22, 2026
@igorroncevic igorroncevic marked this pull request as ready for review May 25, 2026 09:11
@igorroncevic igorroncevic requested a review from a team as a code owner May 25, 2026 09:11

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/cow-protocol/tutorials/arbitrate/solver/driver.md`:
- Line 58: Update the wording in the sentence fragment "discarding orders that
can definitely not be settled (e.g. user is missing balances)" to improve flow
by replacing "can definitely not be settled" with "definitely cannot be settled"
or "cannot be settled" (e.g., change to "discarding orders that definitively
cannot be settled (e.g. user is missing balances)" or "discarding orders that
cannot be settled (e.g. user is missing balances)").
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0b6db3ef-bbe4-447c-94a1-6b2c9ddc530b

📥 Commits

Reviewing files that changed from the base of the PR and between 978e255 and b8dcd6e.

📒 Files selected for processing (3)
  • docs/cow-protocol/tutorials/arbitrate/solver/driver.md
  • docs/cow-protocol/tutorials/solvers/onboard.md
  • docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md

Comment thread docs/cow-protocol/tutorials/arbitrate/solver/driver.md Outdated
@igorroncevic igorroncevic self-assigned this May 28, 2026

@kaze-cow kaze-cow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

please re-read and re-review before submitting for review again! in general the document is too long and restates things constantly, and loses track of what is important to solvers (the setup)

Comment thread docs/cow-protocol/tutorials/solvers/onboard.md Outdated
Comment thread docs/cow-protocol/tutorials/arbitrate/solver/driver.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated

@kaze-cow kaze-cow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

reading it over again, its probably best to link any duplicated content back to the README which is in the delegation repo

Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/arbitrate/solver/driver.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/onboard.md Outdated

@harisang harisang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

left some comments

@igorroncevic igorroncevic requested a review from harisang June 19, 2026 10:57

@anxolin anxolin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

.

Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated
Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated

:::warning

Treat auxiliary EOAs as operationally sensitive accounts. Any approved auxiliary EOA can submit settlements through the solver EOA while the delegation is active. Keep their keys in the same security setup as the solver EOA, monitor their native-token balances, and make sure the team responsible for the solver EOA is also responsible for these accounts.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

U still the additional accounts EOAs when they don't need to be. Lets just use a more generic name as I suggested in cowprotocol/solver-7702-delegate#5 (comment)


Treat auxiliary EOAs as operationally sensitive accounts. Any approved auxiliary EOA can submit settlements through the solver EOA while the delegation is active. Keep their keys in the same security setup as the solver EOA, monitor their native-token balances, and make sure the team responsible for the solver EOA is also responsible for these accounts.

If an auxiliary key is compromised, rotate the delegation by configuring a new approved caller set and re-delegating from the solver EOA.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's be consistent on how you name the "auxiliary accounts" throughout the docs

Comment thread docs/cow-protocol/tutorials/solvers/solver-7702-delegate.md Outdated

@anxolin anxolin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Soft approve


:::

## Reference driver setup

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This page is called "Parallel Settlement Submission" which applies for colocated and non-collocated. I would think you should have a section for colocated ones that doesn't use the reference driver, even if this is just to link to the project's readme and mention they could get inspiration in the reference driver to implement it in theirs.


# Parallel Settlement Submission

[`Solver7702Delegate`](https://github.com/cowprotocol/solver-7702-delegate/blob/main/src/Solver7702Delegate.sol) lets a solver keep its existing allowlisted EOA and use auxiliary EOAs as additional nonce lanes for settlement submission.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we also link the readme in the intro to parallel submissions, it has more context including the basic flow and how it works, so might fill in the reader with some missing gaps.

Co-authored-by: Anxo Rodriguez <anxolin@gmail.com>

@kaze-cow kaze-cow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Unblocking myself as sufficient reviews appear to be in.

@igorroncevic igorroncevic merged commit 1046f7e into main Jun 26, 2026
5 checks passed
@igorroncevic igorroncevic deleted the feat/solver-7702-delegate branch June 26, 2026 19:59
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants