Skip to content

Conversation

@Danziger
Copy link

@Danziger Danziger commented Feb 5, 2026

Description

Add Ink network.

Changes

  • src/components/contract-addresses/index.tsx
  • reference/contracts/core
  • reference/contracts/periphery
  • reference/core/auctions/rewards - Missing specific values
  • reference/core/signing schemes
  • concepts/order types/twap orders - Doesn't apply?
  • tutorials/cow swap/custom links
  • tutorials/cow swap/native - Doesn't apply?
  • tutorials/cow swap/twap - Doesn't apply?
  • tutorials/solvers/local test
  • tutorials/widget
  • tutorials/governance/token

Summary by CodeRabbit

  • New Features

    • Added Ink network support across the platform: explorer links, contract references, and network endpoints.
  • Documentation

    • Updated core, periphery, and contract reference docs to include Ink and adjust network listings/order.
    • Expanded rewards and governance token tables to show Ink entries.
    • Added Ink entries to native/wrapped tokens and local testing Orderbook endpoints.
    • Updated domain-separator and explorer link listings to include Ink (and some network reordering).

@Danziger Danziger requested a review from a team as a code owner February 5, 2026 15:30
@vercel
Copy link

vercel bot commented Feb 5, 2026

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Feb 10, 2026 9:58am

Request Review

@github-actions
Copy link

github-actions bot commented Feb 5, 2026

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 5, 2026

📝 Walkthrough

Walkthrough

This PR adds the Ink chain to multiple documentation tables and examples, and updates the contract-addresses component by adding an Ink explorer entry, introducing a typed ChainName, and adding an asArray helper to normalize explorer link inputs.

Changes

Cohort / File(s) Summary
Contract Reference Docs
docs/cow-protocol/reference/contracts/core/README.mdx, docs/cow-protocol/reference/contracts/periphery/README.mdx
Added "Ink" to explorerLinks / networks lists for various core and periphery contract entries (GPv2Settlement, GPv2AllowListAuthentication, GPv2VaultRelayer, HooksTrampoline, EthFlow entries); some network ordering adjusted.
Core Protocol Docs
docs/cow-protocol/reference/core/auctions/rewards.md, docs/cow-protocol/reference/core/signing_schemes.mdx
Included Ink in rewards cap-supported chains and current rewards table; added Ink (and Polygon in one list) to domain separator explorerLinks and reorganized some network lists.
Tutorials & Local Test Docs
docs/cow-protocol/tutorials/cow-swap/custom-links.md, docs/cow-protocol/tutorials/solvers/local_test.md
Added Ink WETH token entry to custom-links and added Ink staging/production orderbook endpoints to local_test.
Governance Docs
docs/governance/token.md
Added an Ink entry to bridged token / vCOW tables (N/A where applicable).
Frontend: Contract Addresses Component
src/components/contract-addresses/index.tsx
Added "Ink": "https://explorer.inkonchain.com" to explorerByChain; introduced exported ChainName = keyof typeof explorerByChain; changed explorerUrl and explorerLinks to accept ChainName typed params; added internal `asArray(arr: T

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • #545: Refactors the same contract-addresses utilities (ChainName/asArray) and overlaps the explorer link typing changes.
  • #558: Modifies explorerByChain mapping and adds new chain entries—closely related to the Ink explorer addition.
  • #583: Adjusts explorer link behavior and chain entries in the contract-addresses component; may conflict or overlap with these changes.

Suggested reviewers

  • alfetopito
  • pretf00d
  • anxolin

Poem

🐇 Across the docs I hop and think,
I planted banners for the chain called Ink.
Explorer links now point the way,
Typed names hop in—hooray, hooray!
A little rabbit cheers the docs’ new bling. ✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description includes required sections but is largely a checklist without substantive explanation of the changes, why they were made, or what the Ink network addition accomplishes. Add a clear 'Description' section explaining what Ink network is, why it's being added, and the scope of integration. Provide context beyond the checklist format.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: Add Ink network' directly and clearly describes the main change across all modified files - adding support for the Ink network throughout the documentation and code.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/cow-163-ink-network

No actionable comments were generated in the recent review. 🎉

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

17-18: Network list ordering is inconsistent with other sections.

The EthFlow network arrays here are not alphabetically sorted, whereas the HooksTrampoline (line 45) and ComposableCoW (line 72) lists are. Consider reordering for consistency and easier maintenance (e.g., spotting missing or duplicate entries).

Suggested order
-| Production (most chains) | `0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC` | {explorerLinks(["Ethereum","Gnosis","Arbitrum One","Base","Avalanche","Polygon","BNB","Linea","Plasma","Ink","Sepolia"], "0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC")}, but not Lens! |
-| Staging (most chains)    | `0x04501b9b1D52e67f6862d157E00D13419D2D6E95` | {explorerLinks(["Ethereum","Gnosis","Arbitrum One","Base","Avalanche","Polygon","BNB","Linea","Plasma","Ink","Sepolia"], "0x04501b9b1D52e67f6862d157E00D13419D2D6E95")}, but not Lens! |
+| Production (most chains) | `0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC` | {explorerLinks(["Arbitrum One","Avalanche","Base","BNB","Ethereum","Gnosis","Ink","Linea","Plasma","Polygon","Sepolia"], "0xbA3cB449bD2B4ADddBc894D8697F5170800EAdeC")}, but not Lens! |
+| Staging (most chains)    | `0x04501b9b1D52e67f6862d157E00D13419D2D6E95` | {explorerLinks(["Arbitrum One","Avalanche","Base","BNB","Ethereum","Gnosis","Ink","Linea","Plasma","Polygon","Sepolia"], "0x04501b9b1D52e67f6862d157E00D13419D2D6E95")}, but not Lens! |

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.

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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/components/contract-addresses/index.tsx (1)

59-67: ⚠️ Potential issue | 🟡 Minor

Missing key prop on <Link> elements will cause React warnings.

When rendering an array of elements via reduce, each element needs a unique key prop to avoid React reconciliation warnings.

🔧 Proposed fix
   return chains.reduce(
     (acc, chain) => {
       if (acc.length) {
         acc.push(separator)
       }
-      acc.push(<Link to={explorerUrl(chain, address, { urlTrailing })}>{chain}</Link>)
+      acc.push(<Link key={chain} to={explorerUrl(chain, address, { urlTrailing })}>{chain}</Link>)
       return acc
     }
     , []);
 }
🤖 Fix all issues with AI agents
In `@docs/cow-protocol/reference/contracts/periphery/README.mdx`:
- Around line 45-56: The MDX array passed to explorerLinks is missing commas
after the "Ink" and "Optimism" entries which breaks parsing; update the array
inside the explorerLinks([...]) call (the list containing "Arbitrum One",
"Avalanche", ..., "Ink", "Lens", "Linea", "Optimism", "Plasma") to include the
missing commas so each string is a separate element and the MDX/JS is valid.

In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 100: Replace the incorrect token symbol in the Ink reward line: change
the expression "Ink: $$\min\{X.X ~\textrm{XPL}, 6 ~\textrm{COW}\}$$." so that
the placeholder token symbol "XPL" is "ETH" (e.g., "Ink: $$\min\{X.X
~\textrm{ETH}, 6 ~\textrm{COW}\}$$."), preserving the LaTeX formatting and the
rest of the text.
🧹 Nitpick comments (1)
src/components/contract-addresses/index.tsx (1)

70-72: Consider moving the asArray helper above explorerLinks for better readability.

While function hoisting makes this work, placing helper functions before their usage improves code flow and readability.

@Danziger
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

github-actions bot added a commit that referenced this pull request Feb 10, 2026
- Lens: $$10 \;\textrm{GHO}$$
- BNB: $$0.04 \;\textrm{BNB}$$
- Linea: $$0.0015 \;\textrm{ETH}$$
- Linea and Ink: $$0.0015 \;\textrm{ETH}$$
Copy link
Author

Choose a reason for hiding this comment

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

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.

3 participants