Version Packages - #339
Conversation
PR SummaryHigh Risk Overview Shared breaking theme: Bun + ESM-only (no CJS / flattened Other notable release notes folded in: scaffold hardening, MCP transport/security and docs routing, precompile ABI sync (P256/Solo), registry asset refresh, and Global Wallet EIP-6963/packaging work (with a documented Dynamic Reviewed by Cursor Bugbot for commit cf34d1a. Bugbot is set up for automated code reviews on this repo. Configure here. |
4554b7c to
86c672d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #339 +/- ##
=======================================
Coverage 97.17% 97.17%
=======================================
Files 80 80
Lines 5410 5410
=======================================
Hits 5257 5257
Misses 153 153
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
86c672d to
cf34d1a
Compare
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@sei-js/create-sei@2.0.0
Major Changes
29311bc: Migrate the monorepo to Bun and publish ESM-only packages.
Breaking: all packages drop CommonJS (
require) entry points and flattendist/. Consumers must use ESMimport.@sei-js/precompilesnow ships anexportsmap with working./ethers,./viem, and./precompilessubpaths.@sei-js/sei-global-walletkeeps the./solanaentrypoint.Install, build, and test with Bun (
bun install,bun run build,bun run test).@sei-js/mcp-servernow requires Node.js 20 or newer. The MCP server and precompiles development toolchain use Viem 2.55.16. Generated apps target the new@sei-js/precompilesmajor. Packages continue to publish to npm via Changesets.Minor Changes
6fade5f: Harden scaffolding against destination overwrites and extension traversal, propagate generation failures, and write the selected project name into generated manifests. Project names are now intentionally limited to unscoped lowercase npm-style directory names; scoped names, tildes, and other shell-significant characters are rejected.
Generate buildable base and precompiles apps with patched Next.js and React versions, an exact independently validated
@sei-js/precompilesdependency, preserved Biome tooling, conventional favicon handling, and a safe.gitignore.Keep the secure Sharp 0.35 line while disabling Next 15's incompatible image optimizer. The dedicated smoke uses a local candidate only when its pending or already-versioned manifest matches the template pin; otherwise it checks the exact npm release. It validates clean Bun installs, reports low and moderate advisories, blocks candidate checks on high and critical advisories, and exercises Biome, production builds, routes, and assets without coupling unrelated package releases to the scaffold audit.
Apply the official Sei lockup, app mark, and Powered by Sei artwork with the black-and-white base palette, restrained Maroon and Gold accents, and license-safe typography fallbacks.
Map Mantine neutrals to the accessible official ramp and pin React 19-compatible external-store synchronization.
Remove the stale Vercel deploy script and badge, and replace the MetaMask-specific default connector with the generic injected-wallet connector.
Keep default CLI failures concise while exposing full errors and stacks when
DEBUGis set.Patch Changes
-napp name option and correct the generated template documentation and Bank precompile link.SERVER_TRANSPORT, document the current Node.js, wallet, and HTTP configuration, and direct generated apps to the current package guide.@sei-js/mcp-server@1.0.0
Major Changes
29311bc: Migrate the monorepo to Bun and publish ESM-only packages.
Breaking: all packages drop CommonJS (
require) entry points and flattendist/. Consumers must use ESMimport.@sei-js/precompilesnow ships anexportsmap with working./ethers,./viem, and./precompilessubpaths.@sei-js/sei-global-walletkeeps the./solanaentrypoint.Install, build, and test with Bun (
bun install,bun run build,bun run test).@sei-js/mcp-servernow requires Node.js 20 or newer. The MCP server and precompiles development toolchain use Viem 2.55.16. Generated apps target the new@sei-js/precompilesmajor. Packages continue to publish to npm via Changesets.96d9e1c: Remove Sei devnet support. The MCP server no longer accepts
sei-devnet, chain ID713715, orDEVNET_RPC_URL. Registry exports now contain onlypacific-1andatlantic-2, andCHAIN_IDS.devnethas been removed.Minor Changes
5d52ab3: Harden MCP transport lifecycle and startup behavior. Chain-info responses no longer expose
rpcUrl, and credential-bearing RPC errors redact URLs and configured secrets. Unsupported networks now reject instead of falling back, while supported names and decimal/hex chain IDs normalize consistently.NFT ownership lookup failures now propagate instead of reporting
false. ERC-721 transfers now usesafeTransferFrom, so contract recipients must implementonERC721Received.Wallet-disabled servers retain the complete explicit read-only tool surface while signing and broadcasting tools remain hidden. HTTP listeners validate their host and concurrency limits, cap both SSE sessions and Streamable HTTP requests, and avoid allocating an unused bootstrap MCP server. Wallet-enabled HTTP still exits immediately before listen. For other startup failures, embedded
main()callers receive the exception while the packagedrunCli()path reports a sanitized error and exits nonzero.e0e4720: Remove the
search_sei_js_docstool and route the remainingsearch_docstool through the official docs.sei.io MCP endpoint instead of the legacy Mintlify/Trieve backends. Reconnect and retry once when the remote docs session expires so callers do not see a transient 404 or 410 error. Remove the obsoletedocs/rule from the package's.npmignore.Patch Changes
zodwith@modelcontextprotocol/sdkso both resolve the same schema types. Raise the SDK floor to^1.23.0, the first release that declares zod 4 support, so the pairing is unresolvable rather than silently broken.SERVER_TRANSPORT, document the current Node.js, wallet, and HTTP configuration, and direct generated apps to the current package guide.compare_networksentries instead of throwing an internal error.@sei-js/precompiles@3.0.0
Major Changes
29311bc: Migrate the monorepo to Bun and publish ESM-only packages.
Breaking: all packages drop CommonJS (
require) entry points and flattendist/. Consumers must use ESMimport.@sei-js/precompilesnow ships anexportsmap with working./ethers,./viem, and./precompilessubpaths.@sei-js/sei-global-walletkeeps the./solanaentrypoint.Install, build, and test with Bun (
bun install,bun run build,bun run test).@sei-js/mcp-servernow requires Node.js 20 or newer. The MCP server and precompiles development toolchain use Viem 2.55.16. Generated apps target the new@sei-js/precompilesmajor. Packages continue to publish to npm via Changesets.c928ae9: Breaking: remove the unsupported IBC and Oracle precompile addresses, ABIs, and Ethers factories.
Neither precompile is supported on Sei any more, so calls to them fail on-chain regardless of where the address and ABI come from. There is no drop-in replacement: re-declaring them locally will not restore working calls, and code still depending on them needs to move off these precompiles.
Also remove the redundant Viem-specific ABI aliases. Import the raw
*_PRECOMPILE_ABIconstants instead; they work directly with Viem and preserve literal types for contract inference. Theviemsubpath re-exports these raw constants alongside the Sei chain definitions.96d9e1c: Export Viem's canonical Sei mainnet and testnet definitions from the package root and
viementrypoint. Viem 2.55.16 or newer is now required.Minor Changes
b3db3e8: Export the Solo precompile from the
ethersentrypoint.ETHERS_SOLO_PRECOMPILE_ABIandgetSoloPrecompileEthersV6Contractwere implemented but never re-exported fromsrc/ethers/index.ts, so they were unreachable from the@sei-js/precompilespackage root.5675fcf: Sync the exported precompile ABIs with Sei Chain v6.6.1.
This adds the P256 precompile address, ABI, and Ethers factory. It also adds the missing staking queries and events, governance proposal methods, distribution events and validator commission withdrawal, JSON array extraction, and CW1155 pointer methods.
Patch Changes
@sei-js/registry@2.0.0
Major Changes
29311bc: Migrate the monorepo to Bun and publish ESM-only packages.
Breaking: all packages drop CommonJS (
require) entry points and flattendist/. Consumers must use ESMimport.@sei-js/precompilesnow ships anexportsmap with working./ethers,./viem, and./precompilessubpaths.@sei-js/sei-global-walletkeeps the./solanaentrypoint.Install, build, and test with Bun (
bun install,bun run build,bun run test).@sei-js/mcp-servernow requires Node.js 20 or newer. The MCP server and precompiles development toolchain use Viem 2.55.16. Generated apps target the new@sei-js/precompilesmajor. Packages continue to publish to npm via Changesets.39c277f: Remove IBC and gas data from the registry package.
IBC_INFO,ChannelInfo,GAS_INFO,ChainGasInfo, andModuleAdjustmentsare no longer exported, andTOKEN_LISTno longer contains IBC or ICS-20 assets.Refresh the bundled chain registry data with current network endpoints, explorers, and wallets.
WALLETSis now available from the package root.Align token metadata types with the community asset list:
Token.type_assetreplaces the non-runtimeToken.type_tokenfield, andDenomUnit.aliasesis optional.96d9e1c: Remove Sei devnet support. The MCP server no longer accepts
sei-devnet, chain ID713715, orDEVNET_RPC_URL. Registry exports now contain onlypacific-1andatlantic-2, andCHAIN_IDS.devnethas been removed.Minor Changes
1b38777: Refresh the community asset metadata from a reviewed upstream pin, including current non-IBC mainnet assets and retained image metadata.
TOKEN_LISTentries now useRegistryToken, which narrowstype_assetfrom the general optional string to a required upstream-schema asset type.Token.pointer_contractexposes optional, typed native/EVM pointer metadata.Keep source and bundle validation/filtering in sync, and add deterministic release checks for schema fidelity, generated data, submodule cleanliness, and retained image links.
Patch Changes
@sei-js/sei-global-wallet@2.0.0
Major Changes
29311bc: Migrate the monorepo to Bun and publish ESM-only packages.
Breaking: all packages drop CommonJS (
require) entry points and flattendist/. Consumers must use ESMimport.@sei-js/precompilesnow ships anexportsmap with working./ethers,./viem, and./precompilessubpaths.@sei-js/sei-global-walletkeeps the./solanaentrypoint.Install, build, and test with Bun (
bun install,bun run build,bun run test).@sei-js/mcp-servernow requires Node.js 20 or newer. The MCP server and precompiles development toolchain use Viem 2.55.16. Generated apps target the new@sei-js/precompilesmajor. Packages continue to publish to npm via Changesets.Minor Changes
5b4bff7: Harden Sei Global Wallet browser, EIP-6963, and packaging behavior without changing what existing installs resolve.
New exports:
registerEIP6963Provider,unregisterEIP6963Provider,eip6963ProviderInfo, andregisterSolanaStandard.@dynamic-labs/global-wallet-clientto^4.96.3, so applications inherit Dynamic's transitive fixes without waiting for a release here.globalandprocessaliases before loading its modules in browsers and edge-like SSR runtimes, without consumer bundler configuration and without replacing consumer-defined values. Import mutatesglobalThisonly when those values are absent. Theprocessshim installed onglobalThisis a copy, so theprocess/browser.jsmodule singleton is not mutated.process.env.NODE_ENVdefaults toproductionso libraries loaded afterwards do not take a development branch inside a production bundle.environmentId(the same identity Dynamic previously used), and replace the non-square wordmark with the unmodified square black mark from the official Sei brand kit../eip6963, and./ethereumentrypoints resolvable with no optional peer installed, including for types.Every optional peer range stays a superset of the 1.4.1 contract, and
@wallet-standard/walletstays a direct dependency, so no existing install changes how it resolves. Theeventsdependency is present so bundlers can resolve the bareeventsspecifier that@zerodev/sdkimports; browser builds of the./zerodevpath fail without it. Dynamic 4.96.3's own peer contract is the version set this release is verified against; it is documented under Optional peer versions as guidance rather than enforced through narrowed ranges.Patch Changes