MANTRA Chain v5.0.0-rc0 Upgrade Summary
Overview
The v5.0.0-rc0 release represents a major upgrade from v4.0.1, introducing EVM compatibility and significant infrastructure improvements. This is the first release candidate for the v5 mainnet upgrade.
⚠️ Breaking Changes: This release contains breaking changes requiring a coordinated network upgrade. Please review the migration guide carefully: https://github.com/MANTRA-Chain/net/blob/main/mantra-dukong-1/upgrades/v5/guide.md
Example Configuration Changes in app.toml
:
[api]
max-open-connections = 1500
rpc-max-body-bytes = 3000000
[evm]
evm-chain-id = <EVM CHAIN ID>
[json-rpc]
enable = true
address = "0.0.0.0:8545"
ws-address = "0.0.0.0:8546"
api = "eth,net,debug,web3"
enable-indexer = true
metrics-address = "0.0.0.0:6065"
What's Changed
- feat: add grpc querier for wasm query plugins by @freeelancer in #289
- chore: update connect to v2.3.0-v4-mantra-1 by @freeelancer in #293
- feat: add mergify.yml by @allthatjazzleo in #294
- feat: pump go in release.yml by @allthatjazzleo in #295
- fix: add openapi route by @freeelancer in #299
- feat: added x/circuit api by @freeelancer in #305
- fix: remove broken links by @freeelancer in #304
- build: add template for v5 upgrade by @freeelancer in #283
- fix: change okx websocket url by @freeelancer in #310
- chore: add license badge by @freeelancer in #317
- feat: ibc-v10 by @freeelancer in #321
- chore: remove networks folder by @freeelancer in #323
- fix: update heighliner tag to v1.7.5 by @allthatjazzleo in #325
- fix: update workflow configurations for CodeQL and connect-test by @allthatjazzleo in #327
- feat: evm module with upgrades by @freeelancer in #345
- chore: remove registerdenoms by @freeelancer in #349
- chore(deps): bump wasmd fork from v0.55.0-ibc2.0 to v0.60.1 by @freeelancer in #350
- fix: cosmwasm version by @freeelancer in #351
Full Changelog: v4.0.1...v5.0.0-rc0
🚀 Major Features
🔥 EVM Module Integration
- Ethereum Compatibility: Full EVM runtime with smart contract execution capabilities
- Dual Address Support: Native support for both Ethereum and Cosmos address formats
- JSON-RPC Endpoints: Extensive compatibility for all common usage patterns and interactions
- Gas Fee Optimization: Dynamic EVM fee market with configurable base fees
- Denom Enhancement:
- Primary EVM denom:
aom
(18 decimals, Ethereum standard) - Primary Cosmos denom:
uom
(6 decimals, Cosmos standard)
- Primary EVM denom:
🌉 IBC v10 Upgrade
- Protocol Upgrade: Upgraded from IBC v8 to IBC v10 for enhanced cross-chain communication
- Improved Reliability: Better packet handling and timeout mechanisms
- Rate Limiting v10: Updated rate limiting with new field structures
🔧 Wasmd v0.60.1 Integration
- Enhanced Performance: Improved smart contract execution efficiency
- Extended Capabilities: New WebAssembly features and optimizations
📦 Module Changes
New Modules
- EVM Module: Ethereum Virtual Machine runtime
- EVM Feemarket: Dynamic gas pricing mechanism
Removed Modules
- xfeemarket: Legacy skip-mev feemarket module completely removed
- All APIs, store data, and related components eliminated
- Seamlessly replaced with EVM feemarket
Enhanced Modules
- Tax Module: Added automatic fee burning in end blocker
- Tokenfactory: IBC v10 compatibility with before-send hooks
- Sanction: Dependency updates and improved integration
🛠 Technical Upgrades
Core Dependencies
Component | v4.0.1 | v5.0.0-rc0 | Notes |
---|---|---|---|
Cosmos SDK | v0.50.13 | v0.53.0 | Major SDK upgrade |
IBC Go | v8.x | v10.x | Protocol enhancement |
CosmWasm | v2.x | v3.x | WebAssembly upgrade |
Wasmd | v0.50.x | v0.60.1 | Smart contract runtime |
Go Version | 1.23.1 | 1.23.8 | Language update |
Infrastructure Improvements
- Build System: Enhanced Makefiles and CI/CD workflows
- Testing: New EVM-specific E2E tests and Nix-based testing
- Documentation: Updated Swagger/OpenAPI specifications
- Security: Updated dependencies with security patches
⚠️ Breaking Changes
API Changes
- Module Versioning: All imports updated from
/v4
to/v5
- RPC Endpoints: New EVM JSON-RPC endpoints added
- Rate Limiting: Field changes (
channel_id
→channel_or_client_id
) - Genesis Format: Updated structure for EVM and IBC v10 modules
Configuration Updates
- app.toml: New EVM configuration sections required
- genesis.json: Updated module structure and parameters
- Client Config: New RPC endpoints and API routes
State Migration
- Store Upgrades: Automatic migration of store keys and data
- Account Cleanup: Legacy feemarket accounts automatically removed
- Parameter Reset: EVM and feemarket parameters initialized with defaults
🔨 Build from source
If you prefer to build from source, you can use the following commands:
git clone https://github.com/MANTRA-Chain/mantrachain
cd mantrachain && git checkout v5.0.0-rc0
make install