Skip to content

Conversation

@alfetopito
Copy link
Contributor

@alfetopito alfetopito commented Jan 8, 2026

Description

Add Plasma chain related data

Changes

Summary by CodeRabbit

  • Documentation

    • Added comprehensive Plasma network support across contract reference guides, tutorials, and configuration documentation
    • Expanded network coverage including contract addresses, rewards structures, signing schemes, governance, and widget configurations
    • Added Plasma endpoints and network-specific information for CoW Protocol services
  • Bug Fixes

    • Corrected Plasma explorer URL formatting

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 8, 2026

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

Project Deployment Review Updated (UTC)
docs Ready Ready Preview Jan 8, 2026 0:07am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 8, 2026

📝 Walkthrough

Walkthrough

This PR systematically adds Plasma network support across documentation files, including contract references, tutorial guides, protocol specifications, and a minor URL configuration fix for the Plasma explorer endpoint.

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
Adds "Plasma: N/A" entries to factory contract address and helper contract lists; re-sequences step enumerations in deployer guide
CoW Protocol Reference — Contracts
docs/cow-protocol/reference/contracts/core/README.mdx, docs/cow-protocol/reference/contracts/periphery/README.mdx
Adds Plasma to explorerLinks arrays for GPv2Settlement, GPv2AllowListAuthentication, GPv2VaultRelayer, EthFlow, HooksTrampoline, and ComposableCoW contract deployments
CoW Protocol Reference — Auctions
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
Expands bonding pool setup documentation with Plasma vouching contracts; adds "Plasma: 20 blocks" deadline and baseline protocol details; includes Plasma reward entries (cap and competition rewards)
CoW Protocol Documentation & Tutorials
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/widget/widget.md
Adds Plasma to domain separator explorer links, wrapped token mappings (WXPL), orderbook endpoints (staging/production), and widget partnerFee configurations
Governance Documentation
docs/governance/token.md
Adds Plasma to COW token address tables; adjusts section numbering in circulating supply calculations
Source Code Configuration
src/components/contract-addresses/index.tsx
Removes trailing slash from Plasma explorer URL (https://plasmascan.to/https://plasmascan.to)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • fhenneke
  • pretf00d

Poem

🐰 A plasma spark ignites the docs today,
New chains and links in every listed way,
From AMM to auctions, tokens, and more,
Plasma flows where it wasn't before! ⚡📜

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'feat: plasma' is vague and overly generic, providing minimal context about what is being added or changed for Plasma integration. Use a more descriptive title like 'feat: add Plasma chain support across documentation' to clearly convey the scope and nature of the changes.
Description check ❓ Inconclusive The description follows the template structure but uses checkboxes with links instead of clearly listing detailed changes, making it unclear what was actually modified beyond referencing preview pages. Replace preview links with explicit change descriptions (e.g., 'Added Plasma to contract addresses table, updated rewards calculations, extended network support lists') and remove checkboxes to clarify what was implemented.
✅ Passed checks (1 passed)
Check name Status Explanation
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

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.

@alfetopito alfetopito self-assigned this Jan 8, 2026
@alfetopito alfetopito marked this pull request as ready for review January 8, 2026 12:10
@alfetopito alfetopito requested a review from a team as a code owner January 8, 2026 12:11
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)
docs/cow-amm/tutorials/cow-amm-deployer.md (1)

29-29: Fix broken step numbering sequence. The numbered steps are currently [1, 1, 1, 2, 1], which breaks the tutorial's logical flow. Steps should be numbered sequentially [1, 2, 3, 4, 5] to guide readers through the deployment process correctly.

🔧 Proposed fix to restore correct step numbering
- 1. In order to create a new pool, one first needs to call the `newBPool` function of the factory contract. An example transaction that creates a new pool can be found [here](https://etherscan.io/tx/0x7543a97853827e267ecd3c1309509ac7704e4f85a53fbfacd6060f461d85bad8#eventlog). The relevant `LOG_NEW_POOL` log also reveals the address of the newly created pool; in our example transaction, it is `0x81530e9B069c69F6671A0A9d7Ee337cafEF419F6`.

-1. The next step is to approve the tokens we want to add to the pool; this can be done by calling the `approve()` function on the contract of the relevant ERC-20 token that is being added to the pool, where the "spender" needs to be set to the newly created BPool address from (1).
+2. The next step is to approve the tokens we want to add to the pool; this can be done by calling the `approve()` function on the contract of the relevant ERC-20 token that is being added to the pool, where the "spender" needs to be set to the newly created BPool address from (1).

-1. The next step is to bind the approved tokens to the pool, by using the `bind()` function of the newly created pool contract. We need to do one bind per token that will be added to the pool. Note that the `denorm` parameter should always be set to 1000000000000000000 (i.e., 10^18).
+3. The next step is to bind the approved tokens to the pool, by using the `bind()` function of the newly created pool contract. We need to do one bind per token that will be added to the pool. Note that the `denorm` parameter should always be set to 1000000000000000000 (i.e., 10^18).

-2. We can then set the swap fee; this is the fee trades will pay if they trade permissionlessly (i.e., outside of the batch), and this is done by calling the `setSwapFee()` function of the pool contract. The fee parameter needs to be specified in wei, hence, a 10% fee would be 100000000000000000 (i.e., 10^17)
+4. We can then set the swap fee; this is the fee trades will pay if they trade permissionlessly (i.e., outside of the batch), and this is done by calling the `setSwapFee()` function of the pool contract. The fee parameter needs to be specified in wei, hence, a 10% fee would be 100000000000000000 (i.e., 10^17)

-1. The final step is to finalize the pool by calling the `finalize()` function of the newly created pool contract.
+5. The final step is to finalize the pool by calling the `finalize()` function of the newly created pool contract.

Also applies to: 36-36, 43-43, 45-45, 57-57

🤖 Fix all issues with AI agents
In @docs/cow-protocol/reference/core/auctions/rewards.md:
- Line 49: Replace the placeholder reward cap string "Plasma: $$0.XXX
\;\textrm{XPL}$$" with the actual cap value specified in the PR description
(e.g., "Plasma: $$0.123 \;\textrm{XPL}$$"), keeping the same LaTeX/Markdown
formatting; update the line in
docs/cow-protocol/reference/core/auctions/rewards.md (the placeholder string) so
the document reflects the real numeric value before merging.
- Line 99: Replace the placeholder price-estimation reward "0.XXX" in the LaTeX
expression for Plasma (the line containing "Plasma: $$\min\{0.XXX ~\textrm{XPL},
6 ~\textrm{COW}\}$$") with the actual numeric XPL value used for other networks,
keeping the existing LaTeX formatting and units intact so the line becomes e.g.
"Plasma: $$\min\{<actual_value> ~\textrm{XPL}, 6 ~\textrm{COW}\}$$".
🧹 Nitpick comments (6)
docs/cow-protocol/reference/core/auctions/bonding_pools.md (3)

9-9: Fix hyphenation of compound adjectives.

Lines 9 and 15 use "yield bearing" but should use the hyphenated form "yield-bearing" when modifying a noun. This improves consistency with standard compound adjective formatting in technical documentation.

📝 Proposed fix
-Once this safe has been confirmed by the CoW DAO team, the safe should be funded with $500,000 USD in (yield bearing) stable coins and 1,500,000 COW tokens.
+Once this safe has been confirmed by the CoW DAO team, the safe should be funded with $500,000 USD in (yield-bearing) stable coins and 1,500,000 COW tokens.
-After this is done and has been confirmed by the CoW DAO team, the solver needs to deposit $50,000 in (yield-bearing) stable coins or ETH, and 500,000 COW tokens to the newly created safe, and gradually build the pool's size over the course of the following year all the way to $100,000 in (yield-bearing) stable coins or ETH, and 1,000,000 COW tokens.
+After this is done and has been confirmed by the CoW DAO team, the solver needs to deposit $50,000 in (yield-bearing) stable coins or ETH, and 500,000 COW tokens to the newly created safe, and gradually build the pool's size over the course of the following year all the way to $100,000 in (yield-bearing) stable coins or ETH, and 1,000,000 COW tokens.

Also applies to: 15-15


13-13: Fix spacing in compound word.

Line 13 uses "onchain" but should use the spaced/hyphenated form "on-chain" to match standard technical terminology and improve readability.

📝 Proposed fix
-...where the main benefit is that then they can fully control their calldata and the onchain submission process.
+...where the main benefit is that then they can fully control their calldata and the on-chain submission process.

43-43: Simplify verbose phrasing.

Line 43 uses "In order to" which is more verbose than necessary. Consider using the simpler "To" for cleaner, more concise documentation.

📝 Proposed fix
-In order to dissolve a bonding pool you must first unvouch for all solvers that have been vouched for by this bonding pool.
+To dissolve a bonding pool you must first unvouch for all solvers that have been vouched for by this bonding pool.
docs/cow-amm/tutorials/cow-amm-deployer.md (2)

40-40: Refine conciseness in step 2 instructions. The phrase "in order to set the correct approval" can be simplified to "to set the correct approval" for more direct language.

✍️ Proposed refinement
- One needs to take the token's decimals into account in order to set the correct approval.
+ One needs to take the token's decimals into account to set the correct approval.

45-45: Simplify redundant phrasing. The phrase "outside of the batch" is redundant; use "outside the batch" instead for clarity.

✍️ Proposed refinement
- We can then set the swap fee; this is the fee trades will pay if they trade permissionlessly (i.e., outside of the batch), and this is done by calling the `setSwapFee()` function of the pool contract.
+ We can then set the swap fee; this is the fee trades will pay if they trade permissionlessly (i.e., outside the batch), and this is done by calling the `setSwapFee()` function of the pool contract.
docs/governance/token.md (1)

99-99: Consider restoring sequential numbering for better source readability.

While markdown will auto-number these list items correctly, having three consecutive "1." markers (lines 93, 99, 107) makes the source markdown harder to read and maintain. The AI summary indicates these were changed from "2." and "3." respectively.

Consider using explicit sequential numbers (1., 2., 3.) for clarity, or if auto-numbering is preferred, add a comment explaining this convention.

📝 Suggested numbering for clarity
-1. Unvested COW Tokens
+2. Unvested COW Tokens
-1. DAO Treasury Holdings
+3. DAO Treasury Holdings

Also applies to: 107-107

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8853522 and 38be07d.

📒 Files selected for processing (13)
  • 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/widget/widget.md
  • docs/governance/token.md
  • src/components/contract-addresses/index.tsx
🧰 Additional context used
🪛 LanguageTool
docs/cow-amm/tutorials/cow-amm-deployer.md

[style] ~40-~40: Consider a more concise word here.
Context: ... take the token's decimals into account in order to set the correct approval. ::: 1. The n...

(IN_ORDER_TO_PREMIUM)


[style] ~43-~43: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... of the newly created pool contract. We need to do one bind per token that will be adde...

(REP_NEED_TO_VB)


[style] ~45-~45: This phrase is redundant. Consider using “outside”.
Context: ...y if they trade permissionlessly (i.e., outside of the batch), and this is done by calling...

(OUTSIDE_OF)

docs/cow-protocol/reference/core/auctions/rewards.md

[style] ~73-~73: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...en the best and second-best solution is very large, then the winning solver wins more when...

(EN_WEAK_ADJECTIVE)

docs/cow-protocol/reference/core/auctions/bonding_pools.md

[grammar] ~9-~9: Use a hyphen to join words.
Context: ...d be funded with $500,000 USD in (yield bearing) stable coins and 1,500,000 COW ...

(QB_NEW_EN_HYPHEN)


[grammar] ~13-~13: Ensure spelling is correct
Context: ...an fully control their calldata and the onchain submission process. Note that the inter...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~43-~43: Consider a more concise word here.
Context: ...nts. # How to dissolve a bonding pool In order to dissolve a bonding pool you must first ...

(IN_ORDER_TO_PREMIUM)

docs/cow-protocol/reference/core/auctions/competition_rules.md

[style] ~44-~44: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ..., gasLimit, calldata 2. The hook needs to be attempted, meaning the hook revertin...

(REP_NEED_TO_VB)


[style] ~53-~53: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ver network fees in the contract. - Solvers are allowed to use funds in the settlem...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~54-~54: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...es, also referred to as slippage. - Solvers are allowed to use funds in the settlem...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...cification](../../apis/driver.mdx). Solvers bear responsibility for all changes to ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🔇 Additional comments (17)
docs/cow-protocol/reference/core/auctions/bonding_pools.md (1)

23-34: The Plasma explorer URL is valid and already configured in the codebase.

The explorer URL https://plasmascan.to/ returned HTTP 200 and is already registered in src/components/contract-addresses/index.tsx as the official Plasma explorer endpoint. The URL pattern is consistent with all other block explorers in the list.

However, the contract address 0xAAA4De096D02AE21729aA31D967E148D4e3Ae501 cannot be definitively confirmed as the correct VouchRegister contract for Plasma. This address is used identically across multiple networks (Gnosis Chain, Arbitrum, Base, Avalanche, Polygon, Lens, BNB, Linea), which is consistent with cross-chain deployment patterns, but no explicit Plasma deployment records exist in the codebase to verify it corresponds to the VouchRegister contract on Plasma specifically.

docs/cow-protocol/tutorials/solvers/local_test.md (1)

67-68: Network endpoints properly documented. Addition of Plasma staging and production orderbook endpoints follows the established table format and URL patterns consistently.

docs/cow-protocol/tutorials/cow-swap/custom-links.md (1)

80-80: Plasma wrapped token documentation added correctly. The WXPL entry follows the established pattern for other chains with proper explorer link and token address reference.

docs/cow-amm/tutorials/cow-amm-deployer.md (1)

24-24: Plasma factory contract entry added appropriately. The "N/A" status is suitable for a network without a deployed factory contract yet, maintaining consistency with other networks awaiting deployment.

src/components/contract-addresses/index.tsx (1)

15-15: LGTM! Fixes URL construction.

Removing the trailing slash prevents a double-slash issue in the constructed explorer URLs. The explorerUrl function (line 31) concatenates the base URL with /address/..., so the trailing slash would have produced https://plasmascan.to//address/... instead of the correct https://plasmascan.to/address/....

docs/cow-amm/tutorials/cow-amm-for-solvers.md (1)

49-49: LGTM!

Consistent addition of Plasma to the helper contracts deployment list, following the same N/A pattern as other networks without deployments.

docs/cow-protocol/tutorials/widget/widget.md (1)

98-98: LGTM!

Plasma network entries added consistently across all partner fee configuration examples (bps values and recipient placeholders for all trade types). The additions follow the same pattern as other supported networks.

Also applies to: 118-118, 131-131, 144-144

docs/governance/token.md (1)

24-24: LGTM!

Plasma entries added consistently to both COW and vCOW token tables, indicating N/A availability, which aligns with the broader Plasma network support being added across the documentation.

Also applies to: 43-43

docs/cow-protocol/reference/contracts/core/README.mdx (1)

47-49: LGTM!

Plasma network added consistently to all three core contract deployment lists, using the same deterministic addresses as other chains. The additions correctly reflect the expansion of CoW Protocol to the Plasma network.

docs/cow-protocol/reference/core/signing_schemes.mdx (2)

39-51: LGTM!

Plasma is correctly added to the explorerLinks array for the domain separator view function, maintaining consistency with other supported networks.


138-138: LGTM!

Plasma is correctly listed as N/A for the helper contract, consistent with other newer networks that don't have this deployment yet.

docs/cow-protocol/reference/contracts/periphery/README.mdx (3)

17-18: LGTM!

Plasma is correctly added to both Production and Staging EthFlow network lists, maintaining consistent positioning before Sepolia.


45-58: LGTM!

Plasma (and Optimism) correctly added to the HooksTrampoline networks array.


71-83: LGTM!

Plasma correctly added to the ComposableCoW networks array with consistent positioning.

docs/cow-protocol/reference/core/auctions/competition_rules.md (3)

39-48: LGTM!

Formatting adjustments to hook execution rules are consistent and improve readability.


70-70: LGTM!

Plasma deadline of 20 blocks is consistent with similar L2 chains (Base, Avalanche, Polygon, Linea).


159-165: URLs are valid and properly linked. All three Plasma token addresses on plasmascan.to are accessible.

- Lens: $$10 \;\textrm{GHO}$$
- BNB: $$0.04 \;\textrm{BNB}$$
- Linea: $$0.0015 \;\textrm{ETH}$$
- Plasma: $$0.XXX \;\textrm{XPL}$$
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 | 🟡 Minor

Placeholder value needs to be replaced before merge.

The reward cap value 0.XXX XPL is a placeholder. This should be updated with the actual value before merging, as noted in the PR description.

🤖 Prompt for AI Agents
In @docs/cow-protocol/reference/core/auctions/rewards.md at line 49, Replace the
placeholder reward cap string "Plasma: $$0.XXX \;\textrm{XPL}$$" with the actual
cap value specified in the PR description (e.g., "Plasma: $$0.123
\;\textrm{XPL}$$"), keeping the same LaTeX/Markdown formatting; update the line
in docs/cow-protocol/reference/core/auctions/rewards.md (the placeholder string)
so the document reflects the real numeric value before merging.

- Lens Chain: $$\min\{0.15 ~\textrm{GHO}, 6 ~\textrm{COW}\}$$
- BNB Chain: $$\min\{0.001 ~\textrm{BNB}, 6 ~\textrm{COW}\}$$
- Linea: $$\min\{0.00003 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$.
- Plasma: $$\min\{0.XXX ~\textrm{XPL}, 6 ~\textrm{COW}\}$$.
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 | 🟡 Minor

Placeholder value needs to be replaced before merge.

The price estimation reward value 0.XXX XPL is a placeholder. This should be updated with the actual value before merging, consistent with other networks that have specific amounts defined.

🤖 Prompt for AI Agents
In @docs/cow-protocol/reference/core/auctions/rewards.md at line 99, Replace the
placeholder price-estimation reward "0.XXX" in the LaTeX expression for Plasma
(the line containing "Plasma: $$\min\{0.XXX ~\textrm{XPL}, 6 ~\textrm{COW}\}$$")
with the actual numeric XPL value used for other networks, keeping the existing
LaTeX formatting and units intact so the line becomes e.g. "Plasma:
$$\min\{<actual_value> ~\textrm{XPL}, 6 ~\textrm{COW}\}$$".

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