Skip to content

Commit e6f6519

Browse files
Merge branch 'main' into fix/layout-gutters-and-theme-audit
Both sides of snippets/network-tabs.jsx changed the same label rows: main (#79) split "Chain ID" into distinct EVM and Cosmos chain ID entries using the labelClass/valueClass variables, while this branch removed those variables because Mintlify only compiles Tailwind classes written literally inside className. Kept main's labels and the new Cosmos chain ID rows with the utility lists written out as literals. snippets/sandbox-embed.jsx: kept main's "Sei Testnet" capitalisation in the usage comment without re-adding the &theme=dark parameter this branch drops, since SandboxEmbed now sets theme from the docs toggle. snippets/nonce-lane-diagrams.jsx: the throughput charts #78 added after this branch forked hardcoded the ceiling line to #f59e0b, the dark value of --sei-diagram-warning (2.1:1 on the light page). Routed them through the token like the other diagrams so dark mode is unchanged and light mode uses Co-authored-by: Cursor <cursoragent@cursor.com> #b45309.
2 parents d95a3f4 + bbd6c23 commit e6f6519

51 files changed

Lines changed: 470 additions & 176 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/styles/Sei/Headings.yml‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,32 @@ scope: heading
66
# AGENTS.md: "Sentence case for headings." Only the first word and proper nouns
77
# are capitalized. Proper nouns below are exempt so they may appear mid-heading.
88
match: $sentence
9+
# A colon starts a new sentence, so "Step 1: Evaluate compatibility" is still
10+
# sentence case.
11+
indicators:
12+
- ':'
913
exceptions:
1014
- Sei
1115
- Sei Giga
1216
- Sei EVM
1317
- Sei Network
18+
- Sei Mainnet
19+
- Sei Testnet
1420
- SeiDB
1521
- EVM
1622
- ERC
1723
- CosmWasm
1824
- Cosmos
1925
- Ethereum
26+
- Ethereum Mainnet
27+
- Arbitrum
28+
# Scoped to the migration heading so the rule still catches "Base fee" and
29+
# "Base layer" elsewhere.
30+
- Migrating from Base
31+
- Polygon PoS
32+
- Avalanche C-Chain
33+
- LayerZero V2
34+
- Uniswap V3
2035
- Solidity
2136
- Hardhat
2237
- Foundry

‎.github/styles/Sei/Terminology.yml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ action:
1010
swap:
1111
'the Sei blockchain': Sei
1212
'Sei [Cc]hain': Sei
13+
# Capitalized forms are reader-facing prose; the lowercase literals
14+
# 'pacific-1' and 'atlantic-2' are intentionally kept for CLI, config,
15+
# registry keys, and API paths, and don't match here (ignorecase: false).
16+
'Pacific-1': Sei Mainnet
17+
'Atlantic-2': Sei Testnet
18+
# The network names are proper nouns, so the lowercase prose forms are wrong
19+
# too. 'Sei Mainnet' and 'Sei Testnet' never match these patterns.
20+
'Sei mainnet': Sei Mainnet
21+
'Sei testnet': Sei Testnet
1322
'gas fees?': gas
1423
# Bare 'CW' is accepted shorthand for CosmWasm here — the standard names
1524
# CW20/CW721/CW1155 plus phrases like "CW pointer", "CW-based", and "CW NFT".

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
- **Sei Giga** is the next-generation architecture upgrade
1515
- **seid** is the CLI binary; always lowercase and code-formatted
1616
- **sei-js** (lowercase, hyphenated) for the JS/TS SDK
17-
- Use **Sei Mainnet** (EVM chain ID `1329`) and **Sei Testnet** (EVM chain ID `1328`) in reader-facing copy. Keep the literal identifiers `pacific-1` and `atlantic-2` only where technically required, especially in node-operator instructions, CLI or config values, API paths, and registry keys.
17+
- Use **Sei Mainnet** (EVM chain ID `1329`) and **Sei Testnet** (EVM chain ID `1328`) in reader-facing copy. Both are proper nouns, so "Sei mainnet" and "Sei testnet" are wrong. Keep the literal identifiers `pacific-1` (mainnet) and `atlantic-2` (testnet) only where technically required, especially in node-operator instructions, CLI or config values, API paths, and registry keys.
1818
- Precompiles live at specific addresses — always reference exact address when mentioning
1919
- **Twin Turbo Consensus** and **parallelization engine** are proper nouns
2020
- Prefer "dApp" over "app" when the context is blockchain

‎STYLE_GUIDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,8 @@ Use tables for comparing features, listing network information, or presenting st
285285

286286
When referencing network information, always include:
287287

288-
- Chain ID (both decimal and hex format where applicable)
288+
- EVM chain ID (both decimal and hex format where applicable)
289+
- Cosmos chain ID (`pacific-1`, `atlantic-2`) when the table documents `seid` or Cosmos endpoints
289290
- RPC URLs
290291
- Explorer links
291292

‎ai/agentic-wallets.mdx‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ account = Account.from_key("YOUR_PRIVATE_KEY")
157157
wallet_provider = EthAccountWalletProvider(
158158
config=EthAccountWalletProviderConfig(
159159
account=account,
160-
chain_id=1329, # Sei mainnet
160+
chain_id=1329, # Sei Mainnet
161161
rpc_url="https://evm-rpc.sei-apis.com",
162162
)
163163
)
@@ -215,7 +215,7 @@ For Sei-native DeFi actions (swaps on Symphony/DragonSwap, staking via Silo, len
215215

216216
### Known Quirks on Sei
217217

218-
Verified by running AgentKit `0.10.4` against Sei testnet (`chain 1328`). These quirks sit in AgentKit's network and action-provider layer and apply to **both** `ViemWalletProvider` and `PrivyWalletProvider`:
218+
Verified by running AgentKit `0.10.4` against Sei Testnet (`chain 1328`). These quirks sit in AgentKit's network and action-provider layer and apply to **both** `ViemWalletProvider` and `PrivyWalletProvider`:
219219

220220
- **Balances are labeled "ETH" in action output.** `walletActionProvider` hard-codes the native-currency symbol, so `get_wallet_details` returns strings like `Native Balance: 512993.50 ETH` and `native_transfer` responses say `Transferred 0.05 ETH to 0x...` even on Sei. Signing and arithmetic are unaffected — it's a display-only quirk. If the LLM will quote balances or transfer confirmations to users, add a post-processing step or a system-prompt instruction to rewrite `ETH` → `SEI` when `chain_id == 1329 || 1328`.
221221
- **`networkId` is `undefined`.** Coinbase's internal `CHAIN_ID_TO_NETWORK_ID` map only includes Ethereum, Polygon, Base, Arbitrum, and Optimism (mainnet + testnet). Sei's chain IDs aren't in it, so `walletProvider.getNetwork()` returns `{ protocolFamily: 'evm', chainId: '1328', networkId: undefined }`. This is harmless for signing/sending, but **any action provider that branches on `networkId`** will refuse to run on Sei. In practice, `AgentKit.from({...})` prints a warning like `The following action providers are not supported on the current network and will be unavailable: weth, x402` and silently drops them — if you expect an action and it's missing from `agentKit.getActions()`, check this warning first.
@@ -273,7 +273,7 @@ Response:
273273
</Step>
274274

275275
<Step title="Send a transaction on Sei">
276-
Use `eip155:1329` (CAIP-2 format) to target Sei mainnet:
276+
Use `eip155:1329` (CAIP-2 format) to target Sei Mainnet:
277277

278278
```bash
279279
curl --request POST https://api.privy.io/v1/wallets/wallet_abc123/rpc \
@@ -343,7 +343,7 @@ console.log('Wallet address:', wallet.address);
343343
// serialize a BigInt, so don't pass `parseEther(...)` directly.
344344
const { hash } = await privy.walletApi.ethereum.sendTransaction({
345345
walletId: wallet.id,
346-
caip2: 'eip155:1329', // Sei mainnet
346+
caip2: 'eip155:1329', // Sei Mainnet
347347
transaction: {
348348
to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
349349
value: '0x' + parseEther('0.01').toString(16),
@@ -381,7 +381,7 @@ print(f"Wallet address: {wallet.address}")
381381
result = client.wallets.rpc(
382382
wallet_id=wallet.id,
383383
method="eth_sendTransaction",
384-
caip2="eip155:1329", # Sei mainnet
384+
caip2="eip155:1329", # Sei Mainnet
385385
params={
386386
"transaction": {
387387
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
@@ -401,7 +401,7 @@ print(f"Transaction hash: {result.hash}")
401401

402402
### Known Quirks on Sei (Privy)
403403

404-
Verified by running `@privy-io/server-auth` `1.32.5` against Sei testnet (`eip155:1328`):
404+
Verified by running `@privy-io/server-auth` `1.32.5` against Sei Testnet (`eip155:1328`):
405405

406406
- **`value` must be a hex string, not a `BigInt`.** Privy's request signer uses RFC 8785 JSON canonicalization (`canonicalize`), which throws `TypeError: Do not know how to serialize a BigInt` if you pass a `BigInt` in any field of the `transaction` object. Convert viem's `parseEther(...)` output with `'0x' + parseEther('0.01').toString(16)` before sending.
407407
- **`authorizationKeyIds` on `createWallet` expects the public-key registration ID, not the dashboard key ID.** Passing the ID shown next to a key in the Privy dashboard can fail with `400 Invalid authorization key IDs`. If you only need an app-owned wallet (app credentials + `authorizationPrivateKey` for request signing), omit `authorizationKeyIds` — the wallet is still fully operable.
@@ -519,7 +519,7 @@ const wallet = await privy.walletApi.createWallet({ chainType: 'ethereum' });
519519
const walletProvider = await PrivyWalletProvider.configureWithWallet({
520520
appId: process.env.PRIVY_APP_ID!,
521521
appSecret: process.env.PRIVY_APP_SECRET!,
522-
chainId: '1329', // Sei mainnet
522+
chainId: '1329', // Sei Mainnet
523523
walletId: wallet.id,
524524
authorizationPrivateKey: process.env.PRIVY_AUTH_KEY,
525525
});

‎ai/mcp-server.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ Network arguments accept `sei`, `sei-testnet`, `1329`, `1328`, `0x531`, or `0x53
210210
| --- | --- | --- | --- |
211211
| `search_docs` | Search the official Sei docs | "How do I use the staking precompile?" | No |
212212
| `get_supported_networks` | List supported networks | "Which Sei networks are available?" | No |
213-
| `get_chain_info` | Network chain ID and latest block | "Show Sei mainnet info" | No |
213+
| `get_chain_info` | Network chain ID and latest block | "Show Sei Mainnet info" | No |
214214
| `get_balance` | Native SEI balance | "Check balance of 0x123..." | No |
215215
| `is_contract` | Verify a contract address | "Is 0x789... a contract?" | No |
216216
| `read_contract` | Call a read-only contract function | "Read DEX reserves" | No |

‎ai/sei-skill/install.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The default install targets Claude Code, placing the skill in `~/.claude/skills/
2424
./install.sh
2525
```
2626

27-
The skill loads automatically in every Claude Code session. To verify it's active, ask: *"What is the SSTORE gas cost on Sei testnet?"*
27+
The skill loads automatically in every Claude Code session. To verify it's active, ask: *"What is the SSTORE gas cost on Sei Testnet?"*
2828

2929
</Tab>
3030

‎ai/sei-skill/prompts.mdx‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ Once sei-skill is installed, your AI assistant has accurate, up-to-date context
1010
## Contracts
1111

1212
```
13-
Set up Foundry for Sei testnet
13+
Set up Foundry for Sei Testnet
1414
```
1515
```
16-
Deploy a Solidity contract to Sei mainnet and verify it on Seiscan
16+
Deploy a Solidity contract to Sei Mainnet and verify it on Seiscan
1717
```
1818
```
1919
How do I call the Staking precompile from Solidity to delegate SEI?
@@ -49,7 +49,7 @@ Migrate my Ethereum contract to Sei — what do I need to change?
4949
## Frontend
5050

5151
```
52-
Set up Wagmi v2 with Sei mainnet and testnet chain configs
52+
Set up Wagmi v2 with Sei Mainnet and Sei Testnet chain configs
5353
```
5454
```
5555
How do I integrate Sei Global Wallet for social login in my dApp?
@@ -79,7 +79,7 @@ Set up wagmi useWriteContract for delegating SEI to a validator
7979
## Ecosystem
8080

8181
```
82-
What are reliable RPC endpoints for Sei mainnet with failover?
82+
What are reliable RPC endpoints for Sei Mainnet with failover?
8383
```
8484
```
8585
How do I bridge USDC to Sei using LayerZero V2?

‎evm/debugging-contracts.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ cast chain-id --rpc-url=$EVM_RPC_URL
170170

171171
## Try it live
172172

173-
Each `cast` diagnostic above is a plain read-only JSON-RPC call. Run the same four against Sei mainnet right here — the example address (`0xAa55…3d96`) is the sender from the `cast tx` output earlier on this page.
173+
Each `cast` diagnostic above is a plain read-only JSON-RPC call. Run the same four against Sei Mainnet right here — the example address (`0xAa55…3d96`) is the sender from the `cast tx` output earlier on this page.
174174

175175
<RunSnippet method="eth_chainId" network="mainnet" title="cast chain-id" description="eth_chainId — decodes to 1329. A mismatch here is the most common cause of a rejected transaction." />
176176

‎evm/differences-with-ethereum.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ Existing OpenZeppelin contracts and tools work unchanged.
239239

240240
## Testing & Migration Checklist
241241

242-
- ✅ Re‑deploy your Solidity code to Sei testnet; most contracts need no changes.
242+
- ✅ Re‑deploy your Solidity code to Sei Testnet; most contracts need no changes.
243243
- ✅ If you used SELFDESTRUCT, refactor to a soft‑close pattern.
244244
- ✅ Remove EIP‑1559 fee UI complexity; use a single `gasPrice` input in frontends.
245245
- ✅ If you rely on on‑chain “randomness,” integrate an oracle/VRF.

0 commit comments

Comments
 (0)