Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
📝 WalkthroughWalkthroughThis update consists of extensive editorial revisions across documentation files in multiple directories, including governance, interoperability, processes, development, research, security, and testing. The changes are exclusively textual and stylistic, focusing on correcting grammar, spelling, punctuation, capitalization, and phrasing for clarity and consistency. Adjustments include the adoption of British English spelling, improved sentence structure, and minor formatting refinements. No changes were made to technical content, logic, structure, exported entities, or procedural instructions. A few files introduce placeholder notes indicating forthcoming content. All modifications are limited to documentation and do not affect any code or functional aspects of the project. 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 7
🔭 Outside diff range comments (1)
sites/wonderland/docs/testing/unit-integration.md (1)
78-80: Undefined variableinputcauses compilation failure
inputis not declared in the scope of the test; the intention is clearly to reuseinputToTest.- inputToTest = bound(input, 10, type(uint256).max); + inputToTest = bound(inputToTest, 10, type(uint256).max);
🧹 Nitpick comments (101)
sites/wonderland/docs/development/research/onboarding/knowledge-base/intermediate/solidity.md (1)
52-52: Convert bare URL to Markdown link to satisfy MD034.Markdown‐lint flags bare URLs; wrap the link in proper Markdown syntax for consistency and to avoid future CI failures.
-https://www.alchemy.com/university/courses/ethereum: pretty cool introduction in general. It includes challenges, cryptography content and more. +[Alchemy University – Ethereum Course](https://www.alchemy.com/university/courses/ethereum): pretty cool introduction in general. It includes challenges, cryptography content and more.sites/wonderland/docs/development/research/onboarding/knowledge-base/core/layer_2.md (1)
3-5: Add a tracking reference for the placeholder.The “Coming soon!” note is useful, but without a reference (e.g., a GitHub issue number or TODO) it can easily be forgotten. Consider adding a link or identifier so progress can be monitored.
sites/wonderland/docs/development/research/onboarding/knowledge-base/core/bridges.md (1)
3-5: Link the placeholder to a follow-up task.Similar to the other file, adding “Coming soon!” is fine, but anchoring it to an issue or TODO will help ensure the section is completed.
sites/wonderland/docs/development/research/technical-writing.md (1)
10-10: Add a space after the em-dash for consistency.Style elsewhere in the doc uses spaced em-dashes (
— something). Here it’s—distillingwithout the trailing space.-…clarity —distilling volumes of detail… +…clarity — distilling volumes of detail…sites/optimism/docs/processes/coding.md (1)
22-22: Tighten wording for smoother flow-These are the contracts to pay special attention to and get a deep understanding of them: +Pay special attention to and develop a deep understanding of the following contracts:This removes redundancy and reads more naturally.
.github/ISSUE_TEMPLATE/🐞-bug-report.md (1)
12-12: Colon breaks the “if” clause – revert to em-dashes or parenthesesIntroducing a colon after “should” interrupts the conditional clause and leaves a dangling comma after “issues.” Em-dashes (or parentheses) keep the sentence fluid and grammatically sound:
-If something isn’t behaving the way it should: from broken links to rendering issues, use this template to help us fix it fast. +If something isn’t behaving the way it should—from broken links to rendering issues—use this template to help us fix it fast.sites/optimism/docs/welcome.md (1)
9-9: Use the conventional plural “L2s”, not “L2S”.The acronym is typically written with a lowercase plural “s” for readability and consistency with common usage in the ecosystem.
-Whether you’re here to ship a feature, reason through protocol design, or audit smart contracts that power interop across L2S, this guide is for you. +Whether you’re here to ship a feature, reason through protocol design, or audit smart contracts that power interop across L2s, this guide is for you.sites/optimism/docs/processes/projects.md (2)
11-11: Prefer “each with its own scope” for natural phrasingThe revised wording is grammatically valid but sounds slightly awkward. Re-introducing “own” improves readability without changing meaning.
-We maintain multiple projects in parallel, each with its scope, timeline, and deliverables. +We maintain multiple projects in parallel, each with its own scope, timeline, and deliverables.
13-13: Optional: spell out “organisation” to match British-English styleThe document adopts British English elsewhere. Replacing the abbreviation “org” with “organisation” keeps tone consistent.
-> ⚠️ **Note:** The following link is private; you will be able to access it if you are in the Wonderland org. +> ⚠️ **Note:** The following link is private; you will be able to access it if you are in the Wonderland organisation.sites/wonderland/docs/development/research/onboarding/knowledge-base/basics/tokenomics.md (2)
40-40: Mixed British / American English – pick one.This line adopts British spelling (“prioritise decentralisation”), while earlier lines retain American forms (“behavior”, “incentivized”). For overall polish, run a quick pass to standardise spelling across the doc set.
111-112: Spelling consistency again.“incentivized” (American) clashes with the British spellings introduced elsewhere. Consider switching to “incentivised” (or revert to American throughout) to keep consistency.
sites/wonderland/docs/development/research/onboarding/knowledge-base/intermediate/cryptography.md (2)
7-11: Use the standard spelling “cipher” for modern technical clarity
“Cypher” is an archaic variant; the contemporary cryptography literature overwhelmingly uses “cipher”. Sticking to the standard term avoids distracting the reader.- … by cracking a supposedly "unbreakable" cypher. + … by cracking a supposedly "unbreakable" cipher. … - … especially one sent both in cypher and plain text, could reveal … + … especially one sent both in cipher and plain text, could reveal …
41-41: Consistent terminology
Same note as above – replace “cyphers” with “ciphers” to stay consistent with common usage.- Even the strongest cyphers are useless if the keys are compromised. + Even the strongest ciphers are useless if the keys are compromised.sites/wonderland/docs/development/research/onboarding/challenges/basic/tokenomics.md (2)
5-5: Lower-case “blockchain” & normalise dash usage for consistencyMinor copy-editing nit to align with common style guides (non-proper nouns are lower-case; use an en-dash for compound modifiers).
-> 💡 Aerodrome is a top AMM-DEX protocol deployed on Base, an Ethereum Layer-2 Blockchain. +> 💡 Aerodrome is a top AMM-DEX protocol deployed on Base, an Ethereum Layer-2 blockchain.
43-43: Insert definite article for smoother flowSmall readability polish.
-Structure your commits clearly, with meaningful messages that outline the progress of your work. See [Git Practices](/docs/processes/github/git-practices.md) for reference. +Structure your commits clearly, with meaningful messages that outline the progress of your work. See the [Git Practices](/docs/processes/github/git-practices.md) guide for reference.sites/wonderland/docs/development/frontend/best-practices.md (5)
6-7: Alt text is too wordy for accessibility.Screen-reader guidance recommends concise descriptions (<125 chars). Consider trimming to something like:
- alt="A panda developer frustrated with code, then realising the importance of following best practices" + alt="Frustrated developer panda realising best practices matter"
65-65: Minor wording redundancy.“facilitating easier” → “facilitating” (or “making it easier”).
-It establishes a clear hierarchy, facilitating easier navigation and identification of dependencies for developers. +It establishes a clear hierarchy, facilitating navigation and identification of dependencies for developers.
204-205: Sentence clarity.“function similarly to using a button” reads awkwardly. Suggest:
-Depending on the chosen component (in this case, a button), it will function similarly to using a button, inheriting all its properties. +The chosen component (in this case, a button) behaves like a native `<button>`, inheriting all of its properties.
249-252: Heading phrasing.“Use Appropriate Break Lines” is unconventional; “Use Appropriate Line Breaks” is standard.
-### Use Appropriate Break Lines in React Components +### Use Appropriate Line Breaks in React ComponentsAlso, change instances in the paragraph below.
375-376: Clarify tool purpose.Maybe explicitly note that
crypto-husky-checksblocks commits containing private keys or secrets, to set expectation for new contributors.No change required if you prefer brevity.
sites/wonderland/docs/development/offchain/rpc-request.md (7)
5-5: Consider capitalising “Your” for stylistic consistencyThe heading uses title-case everywhere except “your”.
# RPC Request Batching: Easily 10x Your Request PerformanceUp to you, just flagging for consistency with other docs.
9-11: Replace “infinitely times more flexible”The expression is grammatically off. A cleaner alternative:
-…which is infinitely times more flexible: +…which is far more flexible:
21-22: Fix subject-verb agreement & comma splice-Solidity constructors are a thing of beauty, which runs in the node's memory before contract deployment, we are going to take advantage of that 😈. +Solidity constructors are a thing of beauty. They run in the node’s memory before contract deployment, and we are going to take advantage of that 😈.
35-37: Clearer wording availableMinor tweak:
-This contract is where magic happens. It will perform the necessary calls, store them in an array, and then return all the data. +This contract performs the necessary calls, stores the results in an array, and then returns the data.
62-63: Improve phrasing of “do a request”-It will do a request per query, +It will make one request per query,
87-88: Code-comment styleAdd a space after the slashes and start with a capital for consistency:
-//This contract is used to fetch multiple pools from the PoolManager contract +// This contract is used to fetch multiple pools from the PoolManager contract
106-114: Tighten assembly commentsCurrent wording is verbose; consider:
-// abi.encode adds offset (32 bytes) that we need to skip +// Skip the 32-byte offset added by abi.encode … -// the number of bytes from _dataStart to the end of memory -// which, due to how the data has been laid out in memory, will coincide with -// where our desired data ends. +// bytes from _dataStart to the end of memory (our encoded data)Purely optional; semantics are fine.
sites/wonderland/docs/development/research/onboarding/knowledge-base/overview.md (1)
7-7: Ensure consistent spacing around the em-dashA single leading space before the em-dash but none after (
examples —we) looks off. Either drop the spaces entirely (examples—we) or keep them on both sides (examples — we) for consistency with common style guides.-… practical examples —we **really** suggest that you engage… +… practical examples — we **really** suggest that you engage…sites/optimism/docs/governance/our-work/overview.md (1)
11-11: Drop the definite article for smoother cadence“Governance is designed to evolve” reads more naturally than “The governance is designed to evolve.”
-The governance is designed to evolve. +Governance is designed to evolve.sites/optimism/docs/governance/governance-overview.md (1)
25-25: Missing article before “pass”Add “a” to keep the phrase idiomatic.
- How is quorum calculated, and what constitutes “pass”? + How is quorum calculated, and what constitutes a “pass”?sites/optimism/docs/governance/bye.md (1)
9-9: Colon after “encodes” is unnecessaryThe verb already introduces the clause. Removing the colon tightens the sentence.
- It encodes: who can propose, who can vote, and who can veto. + It encodes who can propose, who can vote, and who can veto.sites/optimism/docs/governance/governor-walkthrough.md (2)
11-11: Trim wordiness flagged by LanguageToolA shorter opener keeps the point crisp.
- In the long run, anyone should be able to propose changes, + Ultimately, anyone should be able to propose changes,
128-129: Use British “towards” for consistencyMost docs in this PR favour British spelling (e.g., “signalling”). Align “toward” accordingly.
- …evolving toward permissionless proposals, + …evolving towards permissionless proposals,sites/optimism/docs/governance/the-operating-manual/the-token-house.md (2)
27-28: Replace “participates in veto power” with a more idiomatic verbThe phrase “participates in veto power” reads awkwardly. Consider “exercises veto power” or “holds veto power” for smoother prose.
-The Token House also participates in veto power when applicable, particularly over certain Citizens’ House proposals. +The Token House also exercises veto power when applicable, particularly over certain Citizens’ House proposals.
57-58: Article consistencyIn most governance docs, “The Foundation” is used as a proper noun. Here we drop the definite article. Restoring it maintains consistency.
-The Foundation operates as a steward and is expected to decentralize its role over time. +The Foundation operates as a steward and is expected to decentralise its role over time.sites/optimism/docs/governance/the-operating-manual/the-citizens-house.md (1)
26-27: Tighten wording of revocation clause“if the criteria are no longer met or based on conduct” is slightly ambiguous.
Suggested tweak for clarity:- Revocable, if the criteria are no longer met or based on conduct + Revocable if the criteria are no longer met, or due to misconductsites/optimism/docs/governance/intro-to-governance.md (1)
28-30: Consistent spelling of “time-lock / timelock”Line 28 uses “Timelock”; line 96 now reads “time lock controller”. Pick one spelling to avoid confusion (the wider docs generally use “timelock”).
- **Timelock**: A delay between passing a proposal and executing it. Gives time for reactions before changes take effect. + **Timelock**: A delay between passing a proposal and executing it, giving time for reactions before changes take effect.and
- A time lock controller that enforces a minimum delay before execution. + A timelock controller that enforces a minimum delay before execution.sites/optimism/docs/governance/the-operating-manual/the-operating-manual.md (1)
9-10: Minor: drop future tense for leaner styleOptional style suggestion—switch from “we will describe” to present tense for punchier docs.
-In this section, we will describe the current governance proposal process of the Collective. +This section describes the Collective’s current governance proposal process.sites/wonderland/docs/development/research/onboarding/knowledge-base/basics/game-theory.md (7)
20-20: Convert bare URL to Markdown link.Avoid bare URLs to comply with MD034 and improve readability.
-If this is your first time hearing about Game Theory, we recommend that you see https://oyc.yale.edu/economics/econ-159/lecture-1 +If this is your first time hearing about Game Theory, we recommend that you watch the [Yale Game Theory lecture](https://oyc.yale.edu/economics/econ-159/lecture-1).
39-39: Remove trailing comma inside quoted label.The comma after “K” is unnecessary and looks like a typo.
-...the node labelled with "K," for instance, means it's Katzenberg's turn... +...the node labelled with "K" for instance, means it's Katzenberg's turn...
51-52: Minor wording tweak for flow.-Let's think of the following example: two players, **Katzenberg** ... +Consider the following example: two players, **Katzenberg** ...
66-69: Punctuation & inline example formatting.
- End the “For example” sentence with a comma, not a period.
- Wrap inline LaTeX macros in
$…$so Docusaurus renders them.-For example. Given three possible decisions ... +For example, given three possible decisions ... -... where $S = S_1 \times S_2 \times \dots S_n = \prod_{i=1}^{n} S_i$. This means ... +... where $S = S_1 \times S_2 \times \dots S_n = \prod_{i=1}^{n} S_i$. This means ...
92-93: Sentence-open repetition.Three consecutive list items start with “If”. Combine or vary wording to avoid monotony.
100-104: Lower-case non-proper noun.-Player 1 prefers Opera, and Player 2 prefers the Movie. +Player 1 prefers opera, and Player 2 prefers the movie.
125-126: Trim adverb repetition.-A **strictly dominant strategy** yields a _strictly higher_ payoff ... +A **strictly dominant strategy** yields a higher payoff ...sites/wonderland/docs/development/research/onboarding/knowledge-base/core/oracles.md (3)
3-3: Consider consistent hyphenation for “off-chain/on-chain”.
You switched to “on-chain” later in the document but still use “offchain/onchain” here. For clarity and consistency, adopt one style (e.g., “off-chain” / “on-chain”) throughout the file.
23-23: Capitalisation + hyphenation.
“Offchain services” starts a clause mid-sentence; use lower-case and keep the chosen hyphenation style:- Offchain services that watch for these requests, + off-chain services that watch for these requests,
35-35: Replace weak intensifier “really”.
Language-tool flagged this. “Especially”, “critically”, or simply removing the adverb strengthens the sentence:- … security is **really** **relevant** for oracles … + … security is **especially** relevant for oracles …sites/optimism/docs/interoperability/messaging-protocol.md (2)
8-8: Add a hyphen to the compound adjective.Use “high-level summary” to satisfy compound-adjective grammar.
-This is a high level summary of how messaging works. +This is a high-level summary of how messaging works.
158-159: Fix awkward phrasing in the Pull description.The inserted comma breaks the sentence. Suggest:
-**Pull**: An event is emitted on the origin chain, and destination, `validateMessage()` on `CrossL2Inbox` is called to verify and process it. +**Pull**: An event is emitted on the origin chain, and on the destination chain `validateMessage()` on `CrossL2Inbox` is called to verify and process it.sites/optimism/docs/interoperability/predeploys-reference.md (2)
30-31: Back-tick the function name for consistency.-Apps initiate messages using sendMessage, which accepts a destination chain ID, +Apps initiate messages using `sendMessage`, which accepts a destination chain ID,
64-65: Clarify parameter names with code formatting.-...takes a from and to token address and an amount... +...takes a `from` and `to` token address and an amount...sites/optimism/docs/interoperability/execution-and-sequencing.md (1)
49-50: Prefer crisper wording over “lag behind”.“Lag behind” is flagged as wordy and informal. A tighter alternative such as “fall behind” keeps the sentence clear and formal.
- A sequencer can lag behind other chains without halting block production. + A sequencer can fall behind other chains without halting block production.sites/optimism/docs/interoperability/intro-to-interop.md (1)
11-13: Tighten sentence and fix capitalisation of “OP Stack”.Minor grammar/style nitpicks:
- Use the project’s canonical capitalisation “OP Stack”.
- “Call initiating messages” is confusing—messages are emitted, not “called”.
-In the OP stack, interop is built into the protocol. Chains should be able to emit logs, call initiating messages, and other chains should be able to consume them as inputs to their transactions. **This does not require routing through Ethereum L1.** +In the OP Stack, interop is built into the protocol. Chains should be able to emit logs containing initiating messages, and other chains should be able to consume those messages as inputs to their transactions. **This does not require routing through Ethereum L1.**sites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md (5)
4-4: Avoid repetition of “dive”Using the same verb twice in a short sentence reads awkwardly.
-We strongly recommend that you dive into the core concepts listed [here](https://inevitableeth.com/en/home/concepts) before diving into how Ethereum works. +We strongly recommend that you dive into the core concepts listed [here](https://inevitableeth.com/en/home/concepts) before exploring how Ethereum works.
31-32: Re-structure the memory vs. storage explanation for clarityThe current wording is a bit choppy and the “while” clause is a fragment. A quick re-write also makes the two concepts visually distinct.
-Also, we will differentiate between memory and storage. The first one is volatile and transient across execution. Measured in bytes, allocated in 32-byte chunks, it is freed after code execution. While the second one is persistent, a 32-byte key-value store unique to each contract address. Written changes remain across transactions. +Let's differentiate between memory and storage. +* **Memory** is volatile and exists only during execution. It is measured in bytes, allocated in 32-byte chunks, and freed when the call finishes. +* **Storage** is persistent: a 32-byte key-value store unique to each contract address. Writes remain across transactions.
46-47: Drop weak intensifier “really”Removing the filler makes the sentence tighter.
-...is really important for you to design protocols... +...is important when designing protocols...
72-74: Replace emoticon and bare URL with descriptive Markdown linkEmojis and naked URLs break handbook style and trigger MD034.
-We recommend you watch this video : ) 👇 -https://www.youtube.com/watch?v=_tcyI_lNvo0 +Recommended video on contract creation: +[Devcon – Understanding Contract Creation](https://www.youtube.com/watch?v=_tcyI_lNvo0)
160-161: Broken emphasis splits the word “are”The stray
**leavesa**rein the output.-**As you probably know, clients a**re software implementations that speak the protocol's rules. +As you probably know, **clients are** software implementations that speak the protocol's rules.sites/wonderland/docs/testing/campaign-processes.md (2)
20-21: Heading ends with a comma – drop trailing punctuationMarkdown-lint flags this; removing the trailing comma keeps headings clean.
-### Advanced Testing (AT), including +### Advanced Testing (AT) including
94-95: Minor stylistic nitpick“A lot of” can be trimmed for conciseness.
-better to have a few real positives than a lot of false negatives +better to have a few real positives than many false negativessites/wonderland/docs/development/solidity/coding-style.md (1)
40-40: Minor formatting nit – stray space before colonThere’s an extra space before the colon that wasn’t cleaned up:
-...defined in a package : +...defined in a package:Dropping the space keeps the sentence tidy.
sites/wonderland/docs/development/overview.md (1)
19-21: Add missing question-mark to keep bullet style consistent.- - How do we onboard people across roles + - How do we onboard people across roles? - - How do we write and share research with clarity and care + - How do we write and share research with clarity and care?sites/wonderland/docs/development/research/onboarding/challenges/basic/game-theory.md (1)
88-89: Capitalise “See” after the periodMinor stylistic nit.
- - Structure your commits with meaningful messages that outline the progress of your work. see [Git Practices](/docs/processes/github/git-practices.md) for reference. + - Structure your commits with meaningful messages that outline the progress of your work. See [Git Practices](/docs/processes/github/git-practices.md) for reference.sites/wonderland/docs/development/offchain/onboarding/challenge.md (2)
58-60: GET with body is atypicalA GET request traditionally takes parameters via the query string, not the body. Consider rephrasing for clarity:
- - Return TVL for specified chains based on the request body + - Return TVL for specified chains, using query parameters to specify the chains
75-76: Punctuation tweak for bulletAdd a colon to separate the topic from the explanatory clause.
- - Documentation, how can I use each library? + - Documentation: how can I use each library?sites/wonderland/docs/processes/github/repo-readiness.md (1)
25-26: Fix possessive pronoun- - If you project exports an NPM package, add a tag at the top of the README (replace `repo-name` with the actual name) + - If your project exports an NPM package, add a tag at the top of the README (replace `repo-name` with the actual name)sites/wonderland/docs/development/frontend/onboarding/frontend-dev-challenge.md (1)
5-6: Re-phrase cliché “Feel free to …”“Feel free to” is conversational filler and can be tightened for concision.
Example adjustment:-As you navigate our workflows, we welcome your critical perspective. Feel free to suggest improvements and alternatives when you identify better solutions. +As you navigate our workflows, we welcome your critical perspective. Please suggest improvements or alternatives whenever you identify better solutions.sites/wonderland/docs/processes/github/git-environment.md (2)
1-1: Typo in heading
Git Enviroment→Git Environment.-# Git Enviroment +# Git Environment
112-115: Heading ends with a colon (markdown-lint MD026)Remove the trailing punctuation for lint compliance.
-### Generate GPG key: +### Generate GPG keysites/wonderland/docs/processes/github/ssh-setup.md (3)
61-71: Inconsistent terminology – “anon” vs “anonymous”Earlier bullets standardise on “anonymous”; keep wording consistent.
-The following files will make sure you automatically use your anon SSH key whenever inside `~/Code/wonderland`, and your one whenever inside `~/Code/personal`. +The following files ensure you automatically use your anonymous SSH key inside `~/Code/wonderland`, and your personal key inside `~/Code/personal`. ... -That command should print your anonymous git information. +That command should print your anonymous Git information.
104-115: Repeated “anon” label in GitHub key stepsReplace “anon” with “anonymous” for consistency and clarity.
- 3. Key: **Paste your anon SSH public key** + 3. Key: **Paste your anonymous SSH public key**(Apply to both occurrences.)
105-105: Bare URL violates MD034Convert to Markdown link to satisfy markdown-lint.
-1. Go to https://github.com/settings/keys. +1. Go to [GitHub SSH Keys settings](https://github.com/settings/keys).sites/wonderland/docs/processes/github/git-practices.md (1)
42-44: Add missing alt text to the meme image
Accessibility tooling (MD045) flags<img src="/img/pr-meme.jpg" …>for lackingalt. Consider:-<img src="/img/pr-meme.jpg" width="900" /> +<img src="/img/pr-meme.jpg" alt="over-sized pull-request meme" width="900" />sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/limit-order.md (3)
12-13: Rework the transition sentence for concision.“ Apart from that, we encourage you …” is conversational filler. Consider trimming to keep a crisp technical tone.
- Apart from that, we encourage you to read the resources at the end of the article. + We encourage you to review the resources listed at the end of the article.
100-101: Simplify wording.“We will find different types of orders, such as:” can be tightened.
-We will find different types of orders, such as: +Common order types include:
123-126: Fix tense consistency in bullet list.Mixing “executed” and “execute” is jarring.
- 1500 shares executed at 151 USD - 500 shares execute at 152 USD —next available price + 1 500 shares executed at 151 USD + 500 shares executed at 152 USD — next available pricesites/wonderland/docs/development/research/onboarding/knowledge-base/defi/amm.md (5)
5-6: Split the 70-word opener for readability.The opening sentence is a run-on. Two shorter sentences improve scan-ability.
-AMMs are protocols that do away with traditional limit-order books by letting users trade against a shared pool of deposited assets, using various formula-based approaches to determine prices rather than matching discrete orders. By learning how these formulas work, we can understand the core mechanics of an AMM, including how liquidity is added or removed, how prices move when trades occur, and why LPs, liquidity providers, face potential gains and risks such as impermanent loss. +AMMs replace traditional limit-order books with a shared liquidity pool. Formula-based pricing, rather than discrete order matching, sets exchange rates. Understanding these formulas reveals how liquidity is added or removed, how prices shift during trades, and why liquidity providers (LPs) can earn fees yet face risks such as impermanent loss.
11-12: Lower-case ‘where’ to keep the sentence flowing from the equation.-Where $x$ and $y$ are on-chain balances ... +where $x$ and $y$ are on-chain balances ...
19-30: Correct typos in the example table header and numeric formatting.
- “ETH Purcharsed” → “ETH Purchased”.
- DAI values like “251004” and “2604,167” lose thousands separators and mix comma/period conventions.
-| **ETH Purcharsed** | **Cost per ETH in DAI** | **Total Cost in DAI** | **Premium** | +| **ETH Purchased** | **Cost per ETH (DAI)** | **Total Cost (DAI)** | **Premium** |Consider formatting large numbers with thin-space or comma separators consistently (e.g., 25 010; 2 604.17).
42-43: Consistency: lower-case ‘where’.-Where each xi could be weighted differently, +where each $x_i$ can be weighted differently,
52-53: Lower-case ‘where’ & italic variables.-Where $x$ and $y$ are the respective token amounts provided. +where $x$ and $y$ are the respective token amounts provided.sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md (2)
11-16: Tighten spacing and remove stray currency spacing.
- Remove extra space after the dollar sign.
- Final sentence runs long; add a period before “The concept”.
-For example, a DeFi platform might require a user to deposit \$ 150 of ETH to borrow \$ 100 of a stablecoin. This excess collateral acts as a buffer to protect lenders: if the borrower fails to repay, the protocol can seize and sell the collateral to cover the debt. The concept of *overcollateralization* is essential in an anonymous system with no credit scores, as it ensures the solvency of the loan pool even under volatile market conditions. +For example, a DeFi platform might require a user to deposit \$150 of ETH to borrow \$100 of a stablecoin. This excess collateral protects lenders: if the borrower defaults, the protocol can seize and sell the collateral. The concept of *overcollateralization* is essential in an anonymous system with no credit scores, ensuring solvency even under volatile market conditions.
31-35: Minor casing and dash tweak.-For example, on MakerDAO —now Sky protocol—, the standard collateralization ratio was 150%. +For example, on MakerDAO —now re-branded as Sky Protocol— the standard collateralization ratio was 150%.sites/wonderland/docs/development/offchain/best-practices.md (5)
54-55: Polish wording & replace bare URLSmall editorial tweaks improve flow and satisfy markdown-lint:
- - Leverage the Branded types pattern for adding clarity, safety and correctness to our code: - https://egghead.io/blog/using-branded-types-in-typescript + - Leverage the branded types pattern for adding clarity, safety, and correctness to our code. + [Using branded types in TypeScript](https://egghead.io/blog/using-branded-types-in-typescript)This adds the serial comma, lowers the generic “Branded”, and converts the bare URL to a proper link, eliminating MD034.
66-68: Capitalisation & punctuation consistency- - Classes that interact with a metadata source like `Github`, `JsonFile` & `Ipfs` should implement the interface `IMetadataProvider` and should be called `GithubProvider`, `JsonFileProvider` & `IpfsProvider`. + - Classes that interact with a metadata source such as `GitHub`, `JsonFile`, and `IPFS` should implement the `IMetadataProvider` interface and be named `GitHubProvider`, `JsonFileProvider`, and `IPFSProvider`. - - A class that aggregates multiple sources like `Metadata`, `Pricing` & `BlockchainEvents`, should be called, for example, `AggregatorService`; the word aggregator might change, based on the business logic. It could be, for example, `MetricsService`. + - A class that aggregates multiple sources—such as `Metadata`, `Pricing`, and `BlockchainEvents`—can be named `AggregatorService`. The term “Aggregator” may vary with business needs; e.g. `MetricsService`.• GitHub / IPFS proper casing
• Replace&with “and”
• Tighten wording & remove surplus commas.
75-79: Convert bare URL, tighten examples, fix wording- - Avoid throwing literals; enforce it with an ESLint rule https://eslint.org/docs/latest/rules/no-throw-literal + - Avoid throwing literals; enforce this with ESLint’s [`no-throw-literal`](https://eslint.org/docs/latest/rules/no-throw-literal). - - Ex: Don't write `EmptyArrayException`; write `EmptyArray` + - e.g., don’t write `EmptyArrayException`; write `EmptyArray`.Removes MD034 warning, switches “Ex:” to standard “e.g.”, and adds a full stop.
84-84: Minor style tweak for example phrasing- - Ex: Don't write `it('should run successfully')`, write `it('runs successfully')`. + - e.g., don’t write `it('should run successfully')`; prefer `it('runs successfully')`.Uses “e.g.”, consistent quote style, and semicolon separator.
121-122: Resolve comma splice- - We use Discord for communication, whenever you have a PR ready for review, make sure to drop it in the pr-reviews channel! + - We use Discord for communication. Whenever you have a PR ready for review, please share it in the `#pr-reviews` channel.Splits the run-on sentence and formats the channel name.
sites/wonderland/docs/security/internal-reviews.md (12)
7-7: Hyphenate “day-to-day” for grammatical correctness-In the tumultuous chasm of the day to day, this aspect may be lost, +In the tumultuous chasm of the day-to-day, this aspect may be lost,
13-13: Break the run-on sentence and use “slip past”-If you are reading this, you are probably a part of the ecosystem, and you are well aware of how devastating a single bug can be, and how easily it can slip by multiple sets of eyes. +If you are reading this, you are probably part of the ecosystem. You are well aware of how devastating a single bug can be and how easily it can slip past multiple sets of eyes.
17-17: Use the compound adjective “open-source”-...emphasize the open source aspect of the code we write. +...emphasize the open-source aspect of the code we write.
34-34: Tighten wording & add hyphen to “pull-request”-...pull request reviews rarely are as thorough as they should be, development is conditioned by deadlines... +...pull-request reviews are rarely as thorough as they should be; development is constrained by deadlines...
36-36: Fix preposition misuse (“relying on” → “entrusting”)-Suddenly you are relying the success of your protocol, which took many months to build, to two or three people... +Suddenly you are entrusting the success of your protocol—which took many months to build—to two or three people...
42-42: Avoid repetitive sentence starts-This is effective because the attacking mindset tends to be different from the building mindset. This also allows the reviewers... +This approach is effective because the attacking mindset differs from the building mindset. It also allows reviewers...
50-50: Remove stray period and present tense mismatch-**Moreover, if you deploy the protocol and someone exploits it, the cost is absolute.**. +**Moreover, if you deploy the protocol and someone exploits it, the cost is absolute.**
67-68: Minor phrasing tweak for emphasis-Critical bugs are severe, even if they are caught before making it into production, and they should be treated with the utmost importance and never ignored. +Critical bugs are severe, even when caught before production, and should never be ignored.
72-72: Use lower-case “developers” to match style-...into a report for the team of Developers to assess and fix. +...into a report for the team of developers to assess and fix.
76-76: Replace cliché “low-hanging fruit”-...we remove low-hanging fruit that can waste external auditors’ time. +...we remove straightforward issues that would otherwise consume external auditors’ time.
80-80: Streamline “in doubt as to whether”-If you are in doubt as to whether this is a good process to add to your company, try it. +If you are uncertain whether this is a good process to add to your company, try it.
84-84: Prefer “comprises” over “is comprised of” & drop redundant adverb-Wonderland's Security Team is comprised of people who have been developing in the ecosystem for years, have completed our Internal Security Onboarding, and have shown interest and skill in securing code. However, because we always strive to have two or more people performing the internal reviews... +Wonderland's Security Team comprises people who have been developing in the ecosystem for years, have completed our Internal Security Onboarding, and have shown interest and skill in securing code. However, because we strive to have two or more people performing internal reviews...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Lumi <lumi@wonderland.xyz>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Lumi <lumi@wonderland.xyz>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Lumi <lumi@wonderland.xyz>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Lumi <lumi@wonderland.xyz>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Lumi <lumi@wonderland.xyz>
There was a problem hiding this comment.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
sites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md (1)
159-159: Fix broken bold markup around “clients are”.The stray
**splits the word and breaks formatting.-**As you probably know, clients a**re software implementations that speak the protocol's rules. +**As you probably know, clients are** software implementations that speak the protocol's rules.
🧹 Nitpick comments (12)
sites/wonderland/docs/development/frontend/best-practices.md (3)
65-65: Drop the redundant “easier”“Facilitating easier navigation” is tautological—“facilitating navigation” already conveys the meaning.
-…establishes a clear hierarchy, facilitating easier navigation and identification of dependencies… +…establishes a clear hierarchy, facilitating navigation and identification of dependencies…
204-205: Clarify the tip wordingThe phrase repeats “button” and reads awkwardly. Streamline it:
-Depending on the chosen component (in this case, a button), it will function similarly to using a button, inheriting all its properties. +Depending on the component you style (a button in this example), the resulting element behaves like a native button and inherits all its attributes.
247-252: Use the standard term “Line Breaks” in the headingThe body text uses “line breaks”, so align the heading for consistency:
-### Use Appropriate Break Lines in React Components +### Use Appropriate Line Breaks in React Componentssites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md (7)
4-4: Consider avoiding the double use of “dive”.A small wording tweak removes the repetition and reads more smoothly.
-We strongly recommend that you dive into the core concepts listed [here](https://inevitableeth.com/en/home/concepts) before diving into how Ethereum works. +We strongly recommend that you explore the core concepts listed [here](https://inevitableeth.com/en/home/concepts) before diving into how Ethereum works.
31-32: Re-structure the memory vs. storage paragraph for flow and grammar.The current phrasing has a sentence fragment beginning with “While the second one…”. A quick rewrite improves readability.
-Also, we will differentiate between memory and storage. The first one is volatile and transient across execution. Measured in bytes, allocated in 32-byte chunks, it is freed after code execution. While the second one is persistent, a 32-byte key-value store unique to each contract address. Written changes remain across transactions. +Additionally, we differentiate between memory and storage. The former is volatile — it exists only during execution, is measured in bytes, allocated in 32-byte chunks, and freed after code execution. The latter is persistent: a 32-byte key-value store unique to each contract address whose contents remain across transactions.
46-46: Drop the weak intensifier “really”.Tightens the sentence without changing meaning.
-You might be asking: Why should I care? And the answer is that a good mental model of the EVM's fundamentals is really important for you to design protocols that rely on EVM-friendly patterns. +You might be asking: Why should I care? A good mental model of the EVM's fundamentals is important for designing protocols that rely on EVM-friendly patterns.
54-54: Minor style nit – optional.Consider swapping the informal “You should check out” for a parenthetical reference to keep tone encyclopaedic.
72-72: Streamline the sentence and fix spacing around the emoticon.-We recommend you watch this video : ) 👇 +We recommend watching this video 👇
99-99: Add terminating period for completeness.-... Working with Memory and Storage](https://learnevm.com/chapters/evm/memory) +... Working with Memory and Storage](https://learnevm.com/chapters/evm/memory).
287-287: Add missing colon after “Why Important”.-**Why Important**Introduced a new way to compute a contract's address before it's deployed, using `create2`. +**Why Important:** Introduced a new way to compute a contract's address before it's deployed, using `CREATE2`.sites/wonderland/docs/development/research/onboarding/knowledge-base/core/oracles.md (2)
3-3: Hyphenate “off-chain/on-chain” for style consistencyAcross the handbook we use the hyphenated form “off-chain / on-chain”. The four edited sentences here diverge from that convention and introduce both lowercase and capitalised variants. Bringing them back in line improves uniformity and searchability.
-… any offchain data … “pushes” it onchain. +… any off-chain data … “pushes” it on-chain. -They feed offchain information into the network … +They feed off-chain information into the network … -… wants some offchain data on demand. -… Offchain services that watch … +… wants some off-chain data on demand. +… Off-chain services that watch … -… which offchain services monitor. Suppose multiple Node.js services … +… which off-chain services monitor. Suppose multiple Node.js services …Also applies to: 5-5, 23-23, 49-49
11-11: Replace the weak intensifier “really bad”The phrase “really bad outcomes” is conversational and flagged by LanguageTool. A more precise wording reads better in technical documentation.
-… they can cause really bad outcomes, such as incorrect collateral liquidations … +… they can cause severe outcomes, such as incorrect collateral liquidations …
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
sites/wonderland/docs/development/frontend/best-practices.md(5 hunks)sites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md(8 hunks)sites/wonderland/docs/development/research/onboarding/knowledge-base/core/oracles.md(2 hunks)sites/wonderland/docs/development/research/onboarding/knowledge-base/overview.md(1 hunks)sites/wonderland/docs/processes/github/git-environment.md(7 hunks)sites/wonderland/docs/processes/github/overview.md(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- sites/wonderland/docs/processes/github/overview.md
- sites/wonderland/docs/processes/github/git-environment.md
🚧 Files skipped from review as they are similar to previous changes (1)
- sites/wonderland/docs/development/research/onboarding/knowledge-base/overview.md
🧰 Additional context used
🧠 Learnings (1)
sites/wonderland/docs/development/frontend/best-practices.md (3)
Learnt from: th0rOdinson
PR: defi-wonderland/handbook#64
File: sites/wonderland/docs/development/frontend/best-practices.md:130-133
Timestamp: 2025-07-17T20:57:21.483Z
Learning: In CSS examples within documentation, always use the standard CSS property names (e.g., `color` not `colour`) even when the documentation uses British English spelling conventions, as CSS properties must match the exact specification.
Learnt from: th0rOdinson
PR: defi-wonderland/handbook#50
File: packages/common-config/preset/commonDocusaurusConfig.ts:50-53
Timestamp: 2025-07-08T17:52:29.172Z
Learning: In the defi-wonderland/handbook repository, for external handbook URLs in the navbar dropdown (like "https://handbook.wonderland.xyz/optimism"), the `to` property is used instead of `href` to avoid adding the openInNew icon since these are considered internal links within the handbook ecosystem from a UX perspective.
Learnt from: th0rOdinson
PR: defi-wonderland/handbook#50
File: packages/common-config/src/components/CategoryCards/index.tsx:26-39
Timestamp: 2025-07-08T17:47:11.797Z
Learning: In the defi-wonderland/handbook monorepo CategoryCards component, the custom click handler with preventDefault, window.scrollTo, and setTimeout before window.location.href navigation was chosen as the best solution after exploring Docusaurus-based and native React approaches that didn't work for this specific use case.
🪛 LanguageTool
sites/wonderland/docs/development/frontend/best-practices.md
[style] ~65-~65: This phrase is redundant. Consider writing “facilitating”.
Context: ...tion. It establishes a clear hierarchy, facilitating easier navigation and identification of depend...
(FACILITATE_EASIER)
sites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md
[style] ~46-~46: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...ntal model of the EVM's fundamentals is really important for you to design protocols that rely o...
(EN_WEAK_ADJECTIVE)
[style] ~99-~99: Consider a different adjective to strengthen your wording.
Context: ...rsistence, you need storage. For a deeper discussion of how these operations are ...
(DEEP_PROFOUND)
sites/wonderland/docs/development/research/onboarding/knowledge-base/core/oracles.md
[style] ~11-~11: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...r manipulate the oracle, they can cause really bad outcomes, such as incorrect collateral ...
(EN_WEAK_ADJECTIVE)
[grammar] ~23-~23: Ensure spelling is correct
Context: ...request specifying what data is needed. Offchain services that watch for these requests,...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (9)
sites/wonderland/docs/development/frontend/best-practices.md (1)
209-210: LGTM, but keep CSS keywords in American EnglishGood switch to British “colour” for prose. Just a quick reminder—when referring to actual CSS property names or tokens, stick with
color, per spec (learning ID #130-133). No change needed here as it’s descriptive text.sites/wonderland/docs/development/research/onboarding/knowledge-base/core/evm.md (7)
19-19: LGTM – clear statement of scope.
34-34: LGTM – good clarification.
43-43: LGTM – citation reads well.
52-52: LGTM – accurate description.
79-79: LGTM – clear and precise.
111-111: LGTM – heading is now correct.
128-128: LGTM – sentence reads clearly.sites/wonderland/docs/development/research/onboarding/knowledge-base/core/oracles.md (1)
15-15: Stray-Ibolding bug fixed — looks goodThe previous mis-bolding of “Immediate-read oracles” has been corrected. No further action needed.
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (1)
sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md (1)
29-29: Fix typo “loan-to-valuo” → “loan-to-value”The key financial term is misspelled; leaving it unchanged undermines credibility.
-...a maximum *loan-to-valuo (LTV).* +...a maximum *loan-to-value (LTV).*
🧹 Nitpick comments (2)
sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md (2)
11-12: Drop the space between “$” and the amount for consistencyThroughout the handbook we format currency without a space (e.g. “$150”), but this line introduces “$ 150”. Align with house style and update all similar occurrences in this file.
-...require a user to deposit $ 150 of ETH to borrow $ 100 of a stablecoin. +...require a user to deposit $150 of ETH to borrow $100 of a stablecoin.
59-66: Minor formatting: bullet continuation merges with paragraphThe long bullet list blends into the surrounding text, making it harder to scan. Consider inserting a blank line before the “Variable (Floating) Interest Rates” bullet so Markdown renders them as distinct list items.
-**Fixed Interest Rates:** ... hedging mechanisms). Aave also offers a "stable" interest rate option that behaves similarly to a fixed rate in the short term (though Aave's stable rates can be rebalanced if conditions change significantly). -- **Variable (Floating) Interest Rates:** ... +**Fixed Interest Rates:** ... hedging mechanisms). Aave also offers a "stable" interest rate option that behaves similarly to a fixed rate in the short term (though Aave's stable rates can be rebalanced if conditions change significantly). +- **Variable (Floating) Interest Rates:** ...
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md(3 hunks)
🧰 Additional context used
🧠 Learnings (1)
sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md (2)
Learnt from: th0rOdinson
PR: defi-wonderland/handbook#50
File: packages/common-config/preset/commonDocusaurusConfig.ts:50-53
Timestamp: 2025-07-08T17:52:29.172Z
Learning: In the defi-wonderland/handbook repository, for external handbook URLs in the navbar dropdown (like "https://handbook.wonderland.xyz/optimism"), the `to` property is used instead of `href` to avoid adding the openInNew icon since these are considered internal links within the handbook ecosystem from a UX perspective.
Learnt from: th0rOdinson
PR: defi-wonderland/handbook#50
File: packages/common-config/src/components/CategoryCards/index.tsx:26-39
Timestamp: 2025-07-08T17:47:11.797Z
Learning: In the defi-wonderland/handbook monorepo CategoryCards component, the custom click handler with preventDefault, window.scrollTo, and setTimeout before window.location.href navigation was chosen as the best solution after exploring Docusaurus-based and native React approaches that didn't work for this specific use case.
🪛 LanguageTool
sites/wonderland/docs/development/research/onboarding/knowledge-base/defi/lending-protocol.md
[grammar] ~29-~29: Ensure spelling is correct
Context: ...ralization ratio —or a maximum loan-to-valuo (LTV). When a user supplies assets to ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
This PR addresses various grammar issues in the documentation.
Summary by CodeRabbit