Skip to content

Conversation

LuisUrrutia
Copy link
Contributor

@LuisUrrutia LuisUrrutia commented Sep 24, 2025

Summary

  • Add SEI network configuration

Summary by CodeRabbit

  • New Features
    • Added support for Sei networks: Mainnet and Atlantic-2 Testnet.
    • Networks are now available for selection with preconfigured RPC endpoints and block explorers.
    • EIP-1559 fee market supported on Sei for improved fee handling.
    • Default confirmation set to 1 on Sei Mainnet for faster transaction acknowledgment.
    • Clear distinction between mainnet and testnet environments to simplify development and production use.

@LuisUrrutia LuisUrrutia requested review from a team as code owners September 24, 2025 13:24
Copy link

coderabbitai bot commented Sep 24, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Introduces a new network configuration file for Sei, defining two EVM networks: sei-mainnet and sei-atlantic-2 (testnet). Specifies chain IDs, RPC URLs, explorer URLs, EIP-1559 support, average block time, required confirmations, symbol, and inheritance of settings from mainnet to testnet.

Changes

Cohort / File(s) Summary
Network config (Sei)
config/networks/sei.json
Added JSON config defining sei-mainnet (chain_id 1329, EIP-1559, 400ms block time, 1 confirmation, SEI symbol, explorer and RPC) and sei-atlantic-2 (testnet, chain_id 1328) inheriting from mainnet with its own RPC and explorer; empty tags array.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • zeljkoX
  • tirumerla

Poem

I thump my paws—new nets in sight,
Sei sails in mainnet light,
Atlantic test waves hum at night,
Chain 1329, 1328 in flight,
Blocks blink fast—four-tenths bright,
EVM whiskers twitch just right,
Configs burrowed, deploys take bite. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description only contains a brief Summary ("Add SEI network configuration") and does not follow the repository template because the required "Testing Process" section and the Checklist are missing, so it lacks details on validation steps, test commands, and links to related issues or unit tests. Because these required sections are absent the description is incomplete and does not satisfy the repository's PR template. This omission prevents a full review of how the new network config was validated. Update the PR description to include a "Testing Process" section describing how the SEI config was validated (commands run, environments used, and sample results) and complete the Checklist by linking related issue(s) and stating whether unit tests were added or why they are not applicable; also mention any documentation or consumer-impacting changes. After adding these details the PR will conform to the repository template and be ready for review.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title "feat: Add SEI network" is concise, focused, and accurately summarizes the primary change (adding SEI network configuration), making it a clear single-sentence description of the main change.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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

@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)
config/networks/sei.json (1)

11-11: Add redundant RPC endpoints to config/networks/sei.json (rpc_urls)

Single RPC is a single point of failure — add failover endpoints. Suggested extras:

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 429e29e and 97dbf5a.

📒 Files selected for processing (1)
  • config/networks/sei.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: boostsecurity - boostsecurityio/semgrep-pro
  • GitHub Check: Redirect rules - openzeppelin-relayer
  • GitHub Check: Analyze (rust)
  • GitHub Check: Header rules - openzeppelin-relayer
  • GitHub Check: Pages changed - openzeppelin-relayer
🔇 Additional comments (4)
config/networks/sei.json (4)

18-23: Testnet specifics look good; inherit remaining fields.

Chain ID 1328 and testnet RPC match Atlantic‑2. Assuming inheritance is supported, no further testnet fields are required.

If our loader does not inherit features/average_blocktime_ms by default, mirror those fields explicitly here.


4-14: Approve — mainnet entry OK; clarifications on block time & EIP‑1559

  • average_blocktime_ms=400 is acceptable — official target is 1s, but observed/advertised averages are ≈400–500 ms (400 ms falls in that observed range).
  • features: "eip1559" is the correct tooling flag; Sei EVM exposes EIP‑1559–style params/tx types but does not implement EIP‑1559 base‑fee burning (fees go to validators).

10-10: Confirm 1 confirmation policy.
Tendermint-style fast finality can make required_confirmations = 1 acceptable; verify this matches other fast‑finality EVM networks under config/networks/*.json — if inconsistent, align to the repo default or document the rationale in the PR description or repo docs.


16-24: Confirmed: from inheritance is supported and child overrides take precedence.

Confirmed — NetworksFileConfig::flatten + InheritanceResolver recursively resolve parents; merging is implemented in NetworkConfigCommon::merge_with_parent and EvmNetworkConfig::merge_with_parent so child fields override parent (chain_id, is_testnet, rpc_urls) while collections (features, tags) are merged (see src/config/config_file/network/{inheritance.rs,evm.rs,common.rs,collection.rs}).

{
"average_blocktime_ms": 400,
"chain_id": 1329,
"explorer_urls": ["https://seitrace.com"],
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Validate explorer URL behavior for testnet.

If seitrace requires a network path or query to view Atlantic‑2, add the explicit testnet explorer URL. If chain ID autodetection works, current URL is fine.

Also applies to: 20-20


🌐 Web query:

Does seitrace.com require an explicit network path/param for Atlantic‑2 (testnet) links, or is chain auto‑detected by hash?

💡 Result:

Seitrace requires an explicit chain (path or query parameter) for Atlantic‑2 — it does not rely on automatic detection from a tx/hash. See Seitrace’s per‑chain API URLs (e.g. /atlantic-2/) and examples that include ?chain=atlantic-2. [1][2]

Sources:

  • Seitrace API per‑chain URLs (arctic-1 / pacific-1 / atlantic-2). [1]
  • Example explorer link using ?chain=atlantic-2 in Circle quickstart. [2]

Use a chain-specific Seitrace URL for Atlantic‑2 (testnet)
Seitrace requires an explicit chain path or query param — replace "https://seitrace.com" with a chain-specific URL (e.g. "https://seitrace.com/atlantic-2" or "https://seitrace.com/?chain=atlantic-2").
Location: config/networks/sei.json (lines 6 and 20).

🤖 Prompt for AI Agents
In config/networks/sei.json around lines 6 and 20, the explorer_urls entries use
the generic "https://seitrace.com" which doesn't specify the Atlantic-2 chain;
update both entries to a chain-specific Seitrace URL (for example
"https://seitrace.com/atlantic-2" or "https://seitrace.com/?chain=atlantic-2")
so the explorer points to the Atlantic-2 testnet.

Copy link
Collaborator

@zeljkoX zeljkoX left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants