-
Notifications
You must be signed in to change notification settings - Fork 34
feat: Add SEI network #477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughIntroduces 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
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
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. Comment |
There was a problem hiding this 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:
- Mainnet (pacific-1 / EVM): keep https://evm-rpc.sei-apis.com and add https://evm-rpc-sei.stingray.plus, https://sei-evm-rpc.publicnode.com (optional WS: wss://evm-ws.sei-apis.com).
- Testnet (Atlantic‑2 / EVM): include https://evm-rpc-testnet.sei-apis.com and add https://sei-testnet.public.blastapi.io, https://sei-testnet.drpc.org (also include native testnet RPC https://rpc-testnet.sei-apis.com for Cosmos tooling).
Use provider-backed mirrors or a paid RPC for production-critical services.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 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"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Summary
Summary by CodeRabbit