Skip to content

chore(chains)!: Remove Lens network support#602

Open
Danziger wants to merge 2 commits intomainfrom
feat/cow-243-remove-lens
Open

chore(chains)!: Remove Lens network support#602
Danziger wants to merge 2 commits intomainfrom
feat/cow-243-remove-lens

Conversation

@Danziger
Copy link
Contributor

@Danziger Danziger commented Mar 11, 2026

Description

Removed support for Lens network and added Optimism to some places where it wasn't mentioned.

Summary by CodeRabbit

  • Documentation
    • Removed Lens network from all supported chain references and contract address listings across the protocol documentation.
    • Updated network configurations for core contracts, periphery contracts, and widget settings to reflect current supported chains.
    • Removed Lens-specific explorer links and token address entries.

@Danziger Danziger requested a review from a team as a code owner March 11, 2026 11:42
@vercel
Copy link

vercel bot commented Mar 11, 2026

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Mar 13, 2026 0:27am

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 11, 2026

📝 Walkthrough

Walkthrough

This pull request removes Lens network references across documentation and configuration files. Changes include deletion of Lens entries from contract address tables, supported network lists, API endpoints, fee configurations, and token address tables, plus removal of the Lens explorer entry from the contract-addresses component.

Changes

Cohort / File(s) Summary
CoW AMM Documentation
docs/cow-amm/tutorials/cow-amm-deployer.md, docs/cow-amm/tutorials/cow-amm-for-solvers.md
Removed Lens (N/A) entries from factory contract address lists.
CoW Protocol Contract References
docs/cow-protocol/reference/contracts/core/README.mdx, docs/cow-protocol/reference/contracts/periphery/README.mdx
Reordered contract rows, updated network lists in explorerLinks, removed Lens from supported networks, and renamed environment rows from "most chains" to "all chains".
CoW Protocol Core Auction Documentation
docs/cow-protocol/reference/core/auctions/bonding_pools.md, docs/cow-protocol/reference/core/auctions/competition_rules.md, docs/cow-protocol/reference/core/auctions/rewards.md
Removed Lens entries from vouching contracts, block deadline lists, and per-network reward bounds.
CoW Protocol Additional References
docs/cow-protocol/reference/core/signing_schemes.mdx, docs/cow-protocol/tutorials/cow-swap/custom-links.md
Removed Lens from explorerLinks lists and native/wrapped tokens table.
CoW Protocol Solver & Widget Tutorials
docs/cow-protocol/tutorials/solvers/local_test.md, docs/cow-protocol/tutorials/solvers/onboard.md, docs/cow-protocol/tutorials/widget/widget.md
Removed Lens API endpoints, updated supported networks list, and deleted LENS chain entries from partner fee configurations.
Governance Documentation
docs/governance/token.md
Removed Lens rows from COW and vCOW token address tables.
Contract Addresses Component
src/components/contract-addresses/index.tsx
Removed Lens explorer entry from explorerByChain mapping.

Poem

🐰 The Lens network fades from our sight,
Cleaned from chains both far and bright,
Networks dance in lists anew,
Leaving mainnet, optimism true,
Simpler docs, a lighter load tonight! ✨

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete; it lacks a detailed 'Changes' section with specific modifications listed as checkboxes. Expand the description to include a detailed 'Changes' section with checkboxes listing the specific files modified and types of changes made (e.g., removed Lens entries from docs, updated network lists, etc.).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the primary change: removing Lens network support from the repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/cow-243-remove-lens
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

The exposed endpoint provided must be of the following format: {base_url}/\${envName}/\${network} - for example: https://api.mysolver.io/staging/mainnet
envName values: shadow, staging, prod
supported networks: arbitrum-one, avalanche, base, bnb, lens, linea, mainnet, polygon, xdai (gnosis) and more are coming out!
supported networks: arbitrum-one, avalanche, base, bnb, mainnet, xdai (gnosis), ink, linea, optimism, polygon, sepolia, and more are coming out!
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Some where missing here.

Copy link
Contributor

Choose a reason for hiding this comment

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

Indeed, Plasma is also missing!

@Danziger Danziger requested a review from a team March 11, 2026 16:44
The exposed endpoint provided must be of the following format: {base_url}/\${envName}/\${network} - for example: https://api.mysolver.io/staging/mainnet
envName values: shadow, staging, prod
supported networks: arbitrum-one, avalanche, base, bnb, lens, linea, mainnet, polygon, xdai (gnosis) and more are coming out!
supported networks: arbitrum-one, avalanche, base, bnb, mainnet, xdai (gnosis), ink, linea, optimism, polygon, sepolia, and more are coming out!
Copy link
Contributor

Choose a reason for hiding this comment

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

Indeed, Plasma is also missing!

@Danziger Danziger changed the title chore(chains)!: remove Lens network support chore(chains)!: Remove Lens network support Mar 11, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

🧹 Nitpick comments (1)
docs/cow-protocol/reference/contracts/periphery/README.mdx (1)

17-18: Consider extracting the duplicated EthFlow network list into a single constant.

The same chain array appears twice; centralizing it reduces future drift when chain support changes.

♻️ Suggested refactor
+const ETHFLOW_NETWORKS = [
+  "Ethereum","Gnosis","Arbitrum One","Base","Avalanche",
+  "Polygon","BNB","Linea","Plasma","Ink","Sepolia"
+]
+
 | Environment              | Address                                      | Networks                                                                                                                                                        |
 | ------------------------ | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Production (all chains) | `0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC` | {explorerLinks(["Ethereum","Gnosis","Arbitrum One","Base","Avalanche","Polygon","BNB","Linea","Plasma","Ink","Sepolia"], "0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC")} |
-| Staging (all chains)    | `0x04501b9b1D52e67f6862d157E00D13419D2D6E95` | {explorerLinks(["Ethereum","Gnosis","Arbitrum One","Base","Avalanche","Polygon","BNB","Linea","Plasma","Ink","Sepolia"], "0x04501b9b1D52e67f6862d157E00D13419D2D6E95")} |
+| Production (all chains) | `0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC` | {explorerLinks(ETHFLOW_NETWORKS, "0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC")} |
+| Staging (all chains)    | `0x04501b9b1D52e67f6862d157E00D13419D2D6E95` | {explorerLinks(ETHFLOW_NETWORKS, "0x04501b9b1D52e67f6862d157E00D13419D2D6E95")} |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/contracts/periphery/README.mdx` around lines 17 -
18, The duplicated chain array used in the two explorerLinks(...) calls should
be extracted into a single constant (e.g., const ethFlowChains = [...]) and
referenced in both places to avoid drift; update the two lines that call
explorerLinks(["Ethereum","Gnosis",...,"Sepolia"], "<address>") to call
explorerLinks(ethFlowChains, "<address>") so explorerLinks is invoked with the
single shared array for both the Production and Staging entries (addresses
`0xbA3cB449...0EAdeC` and `0x04501b...D6E95`).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cow-protocol/reference/contracts/core/README.mdx`:
- Around line 47-49: The docs list Optimism and Plasma in the explorerLinks
arrays for GPv2Settlement, GPv2AllowListAuthentication, and GPv2VaultRelayer but
those deployments are not found; either verify deployment records and keep the
networks or remove "Optimism" and "Plasma" from the explorerLinks arrays for the
three entries (`GPv2Settlement`, `GPv2AllowListAuthentication`,
`GPv2VaultRelayer`) and update the corresponding explorerLinks invocation so
only confirmed networks remain visible, ensuring the displayed chain list
matches actual deployment evidence.

---

Nitpick comments:
In `@docs/cow-protocol/reference/contracts/periphery/README.mdx`:
- Around line 17-18: The duplicated chain array used in the two
explorerLinks(...) calls should be extracted into a single constant (e.g., const
ethFlowChains = [...]) and referenced in both places to avoid drift; update the
two lines that call explorerLinks(["Ethereum","Gnosis",...,"Sepolia"],
"<address>") to call explorerLinks(ethFlowChains, "<address>") so explorerLinks
is invoked with the single shared array for both the Production and Staging
entries (addresses `0xbA3cB449...0EAdeC` and `0x04501b...D6E95`).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 85ad7961-37fc-4e9a-adb4-9654a231d3ce

📥 Commits

Reviewing files that changed from the base of the PR and between 1e54f9f and 4af6c42.

📒 Files selected for processing (14)
  • docs/cow-amm/tutorials/cow-amm-deployer.md
  • docs/cow-amm/tutorials/cow-amm-for-solvers.md
  • docs/cow-protocol/reference/contracts/core/README.mdx
  • docs/cow-protocol/reference/contracts/periphery/README.mdx
  • docs/cow-protocol/reference/core/auctions/bonding_pools.md
  • docs/cow-protocol/reference/core/auctions/competition_rules.md
  • docs/cow-protocol/reference/core/auctions/rewards.md
  • docs/cow-protocol/reference/core/signing_schemes.mdx
  • docs/cow-protocol/tutorials/cow-swap/custom-links.md
  • docs/cow-protocol/tutorials/solvers/local_test.md
  • docs/cow-protocol/tutorials/solvers/onboard.md
  • docs/cow-protocol/tutorials/widget/widget.md
  • docs/governance/token.md
  • src/components/contract-addresses/index.tsx
💤 Files with no reviewable changes (11)
  • docs/cow-amm/tutorials/cow-amm-deployer.md
  • docs/cow-protocol/reference/core/auctions/competition_rules.md
  • src/components/contract-addresses/index.tsx
  • docs/cow-protocol/tutorials/cow-swap/custom-links.md
  • docs/governance/token.md
  • docs/cow-protocol/reference/core/auctions/rewards.md
  • docs/cow-protocol/reference/core/auctions/bonding_pools.md
  • docs/cow-amm/tutorials/cow-amm-for-solvers.md
  • docs/cow-protocol/tutorials/widget/widget.md
  • docs/cow-protocol/tutorials/solvers/local_test.md
  • docs/cow-protocol/reference/core/signing_schemes.mdx

Comment on lines +47 to +49
| [`GPv2Settlement`](core/settlement)<br />Upgradeable: No ❎<br />[GitHub](https://github.com/cowprotocol/contracts/blob/main/src/contracts/GPv2Settlement.sol) | `0x9008D19f58AAbD9eD0D60971565AA8510560ab41`<br />{explorerLinks(["Arbitrum One","Avalanche","Base","BNB","Ethereum","Gnosis","Ink","Linea","Optimism","Plasma","Polygon","Sepolia",], "0x9008D19f58AAbD9eD0D60971565AA8510560ab41", {separator: <br />})} |
| [`GPv2AllowListAuthentication`](core/allowlist)<br />Upgradeable: Yes ⚠️<br />[GitHub](https://github.com/cowprotocol/contracts/blob/main/src/contracts/GPv2AllowListAuthentication.sol) | `0x2c4c28DDBdAc9C5E7055b4C863b72eA0149D8aFE`<br />{explorerLinks(["Arbitrum One","Avalanche","Base","BNB","Ethereum","Gnosis","Ink","Linea","Optimism","Plasma","Polygon","Sepolia",], "0x2c4c28DDBdAc9C5E7055b4C863b72eA0149D8aFE", {separator: <br />})} |
| [`GPv2VaultRelayer`](core/vault-relayer)<br />Upgradeable: No ❎<br />[GitHub](https://github.com/cowprotocol/contracts/blob/main/src/contracts/GPv2VaultRelayer.sol) | `0xC92E8bdf79f0507f65a392b0ab4667716BFE0110`<br />{explorerLinks(["Arbitrum One","Avalanche","Base","BNB","Ethereum","Gnosis","Ink","Linea","Optimism","Plasma","Polygon","Sepolia",], "0xC92E8bdf79f0507f65a392b0ab4667716BFE0110", {separator: <br />})} |
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify contract deployments on Optimism and Plasma

echo "Checking GPv2Settlement (0x9008D19f58AAbD9eD0D60971565AA8510560ab41):"
echo "Optimism:"
curl -s "https://api-optimistic.etherscan.io/api?module=contract&action=getabi&address=0x9008D19f58AAbD9eD0D60971565AA8510560ab41" | jq -r '.status, .message'

echo -e "\nPlasma:"
curl -s "https://api.plasmascan.to/api?module=contract&action=getabi&address=0x9008D19f58AAbD9eD0D60971565AA8510560ab41" | jq -r '.status, .message'

echo -e "\nChecking GPv2AllowListAuthentication (0x2c4c28DDBdAc9C5E7055b4C863b72eA0149D8aFE):"
echo "Optimism:"
curl -s "https://api-optimistic.etherscan.io/api?module=contract&action=getabi&address=0x2c4c28DDBdAc9C5E7055b4C863b72eA0149D8aFE" | jq -r '.status, .message'

echo -e "\nPlasma:"
curl -s "https://api.plasmascan.to/api?module=contract&action=getabi&address=0x2c4c28DDBdAc9C5E7055b4C863b72eA0149D8aFE" | jq -r '.status, .message'

echo -e "\nChecking GPv2VaultRelayer (0xC92E8bdf79f0507f65a392b0ab4667716BFE0110):"
echo "Optimism:"
curl -s "https://api-optimistic.etherscan.io/api?module=contract&action=getabi&address=0xC92E8bdf79f0507f65a392b0ab4667716BFE0110" | jq -r '.status, .message'

echo -e "\nPlasma:"
curl -s "https://api.plasmascan.to/api?module=contract&action=getabi&address=0xC92E8bdf79f0507f65a392b0ab4667716BFE0110" | jq -r '.status, .message'

Repository: cowprotocol/docs

Length of output: 391


Revert Optimism and Plasma additions pending deployment confirmation.

The chain list changes are structurally sound, but verification shows the contracts are not found on Optimism and Plasma explorer APIs. The documentation should only list chains where contracts are actually deployed to avoid misleading users.

Either confirm these contracts are deployed on Optimism and Plasma through deployment records, or remove those chains from the lists until deployment is confirmed.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/contracts/core/README.mdx` around lines 47 - 49,
The docs list Optimism and Plasma in the explorerLinks arrays for
GPv2Settlement, GPv2AllowListAuthentication, and GPv2VaultRelayer but those
deployments are not found; either verify deployment records and keep the
networks or remove "Optimism" and "Plasma" from the explorerLinks arrays for the
three entries (`GPv2Settlement`, `GPv2AllowListAuthentication`,
`GPv2VaultRelayer`) and update the corresponding explorerLinks invocation so
only confirmed networks remain visible, ensuring the displayed chain list
matches actual deployment evidence.

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.

2 participants