|
| 1 | +--- |
| 2 | +title: 'EVM Standard Parity Plan' |
| 3 | +description: 'Work plan for bringing sei-js EVM workflows to industry-standard compatibility' |
| 4 | +icon: 'check-double' |
| 5 | +--- |
| 6 | + |
| 7 | +# EVM Standard Parity Plan |
| 8 | + |
| 9 | +This work raises `sei-js` to the level developers expect when they arrive with viem, wagmi, ethers, and modern EVM assumptions. |
| 10 | + |
| 11 | +## Success Criteria |
| 12 | + |
| 13 | +- Publish a parity matrix against viem, wagmi, and ethers with >=95% core feature coverage. |
| 14 | +- Keep zero open GitHub issues tagged `evm-compat` older than 14 days. |
| 15 | +- Separate SDK gaps from Sei network behavior so product decisions are explicit and easy to track. |
| 16 | + |
| 17 | +## Operating Principles |
| 18 | + |
| 19 | +- **Standard tooling first:** Sei should work through viem, wagmi, ethers, Foundry, Hardhat, and wallet standards without custom ceremony. |
| 20 | +- **Sei extensions second:** `@sei-js` should fill Sei-specific gaps through chain metadata, wallet discovery, precompile helpers, templates, and clear docs. |
| 21 | +- **Runnable evidence over claims:** Matrix rows should link to docs, examples, tests, or conformance checks. |
| 22 | +- **Network behavior is documented:** Known Sei differences should be tested and explained instead of hidden behind SDK wrappers. |
| 23 | + |
| 24 | +## Feature Groups |
| 25 | + |
| 26 | +The matrix scores practical developer workflows: |
| 27 | + |
| 28 | +- Chain metadata and transports |
| 29 | +- Wallet discovery, connect, disconnect, switch, and add-chain flows |
| 30 | +- Account, balance, block, transaction, receipt, and log reads |
| 31 | +- Contract read, write, deploy, simulate, estimate gas, and event flows |
| 32 | +- Native SEI, ERC-20, ERC-721, and ERC-1155 token flows |
| 33 | +- Message, typed-data, and transaction signing |
| 34 | +- WebSocket subscriptions and watcher flows |
| 35 | +- Sei precompiles, pointer contracts, and address helper flows |
| 36 | +- Templates, examples, and migration documentation |
| 37 | + |
| 38 | +## Phases |
| 39 | + |
| 40 | +### Phase 1: Baseline Matrix |
| 41 | + |
| 42 | +- Inventory current `sei-js` packages, templates, and docs. |
| 43 | +- Classify each capability as verified, covered, partial, planned, not core, or network-limited. |
| 44 | +- Publish the first matrix in docs. |
| 45 | + |
| 46 | +### Phase 2: Conformance Harness |
| 47 | + |
| 48 | +- Add repeatable checks for standard Ethereum JSON-RPC families on Sei mainnet, testnet, devnet, and local networks. |
| 49 | +- Run viem and ethers smoke tests for core flows. |
| 50 | +- Add browser-oriented wallet checks where the dependency can be mocked reliably. |
| 51 | + |
| 52 | +### Phase 3: SDK Improvements |
| 53 | + |
| 54 | +- Fill gaps with focused helpers only where standard libraries do not already solve the workflow. |
| 55 | +- Strengthen templates for common EVM flows: read, write, deploy, logs, signing, and precompiles. |
| 56 | +- Expand docs for Sei-specific differences that affect app behavior. |
| 57 | + |
| 58 | +### Phase 4: Maintenance SLA |
| 59 | + |
| 60 | +- Label compatibility issues with `evm-compat`. |
| 61 | +- Triage new reports into SDK, docs, network, or upstream-tool categories. |
| 62 | +- Review the aging queue weekly until no `evm-compat` issue exceeds 14 days. |
| 63 | + |
| 64 | +## Initial Focus |
| 65 | + |
| 66 | +1. Make the parity matrix public and source-backed. |
| 67 | +2. Build a conformance checklist around Sei's supported `eth_*` and `debug_*` methods. |
| 68 | +3. Prioritize gaps that create "Sei is weird" friction during the first hour of integration. |
| 69 | + |
| 70 | +## References |
| 71 | + |
| 72 | +- [Sei RPC Reference](https://docs.sei.io/evm/reference) |
| 73 | +- [Sei EVM Differences](https://docs.sei.io/evm/differences-with-ethereum) |
| 74 | +- [viem Clients](https://viem.sh/docs/clients/intro) |
| 75 | +- [wagmi Getting Started](https://wagmi.sh/react/getting-started) |
| 76 | +- [ethers v6 Getting Started](https://docs.ethers.org/v6/getting-started/) |
| 77 | +- [Solana JavaScript SDKs](https://solana.com/docs/clients/official/javascript) |
0 commit comments