Upgrade Recap
Here is a summary of the Runtime Upgrade 3100, including several key changes within the ecosystem. Runtime Upgrade consists of different feature sets depending on the network we’re updating. Below, you will find the detailed summary split between the destination environments:
- [All networks]
- Passkey support: support for the passkey cryptographic signatures
- Update to Polkdadot-SDK 1.11.0
- Technical support for Snowbridge
- Runtime API for XCM fee estimation
- [Moonbase Alpha]
- Introduce native EVM foreign assets
- changes the process to manage XCM derivative assets
- [Moonbeam]
- Increase block gas limit from 15 mln to 30 mln
- [Moonriver]
- Increase block gas limit from 30 mln to 60 mln
- Several Bug Fixes
Passkey support
It’s the first stage enabling the native use of Passkeys in projects, especially when implementing account abstraction like Smart Wallets.
Polkadot compatibility
New host function for PoV reclaim
Audience: Collators, Node operators
Introduces a new host function ext_storage_proof_size_storage_proof_size_version_1 for PoV reclaim
Prevent accidental change of network key for active authorities
Audience: Node operators
For all authority nodes, the node binary now enforces the presence of a network key, instead of auto-generating when it is absent.
Scaling Moonriver and Moonbeam
Async Backing: Increase the block gas limit
Audience: Core Developers, DappDevelopers
Parameters related to gas limits will be increased by a factor of 2 on Moonriver and Moonbeam. Therefore, the EVM max gas limit is increased from 15M to 30M on Moonbeam and from 30M to 60M on Moonriver. This, again, was made possible by the adoption of Asynchronous Backing.
When considering a simple transaction such as an ERC-20 transfer, the throughput of Moonriver and Moonbeam will increase by 2x.
Pending a successful deployment on Moonbeam, gas parameters will be doubled again in a subsequent release, increasing the overall throughput to 8x. Moonbeam’s gas parameters will also be augmented in release RT3200 by a factor of 2.
Moonbase Alpha continues to run with a 60M gas limit.
Ethereum Compatibility
A new way of creating Ethereum-compatible foreign assets
Audience: Dapp Developers
Runtime 3100 ensures Moonbean alpha is fully compatible with the Ethereum tools for testing and verifying foreign assets. This will allow app developers to use all the tools available for Solidity.
Technical details
A new pallet, “pallet-moonbeam-foreign-assets
”, has been added.
The purpose of this new pallet is to manage XCM derivative assets on Moonbeam through EVM smart contracts.
Before this implementation, XCM derivatives assets (aka “foreign assets”) were managed by the pallet asset manager and the pallet substrate pallet “pallet-asset
.” The long-term goal is to remove these two pallets from moon$ runtimes (asset-manager and pallet-asset), but before doing so, we will first have to migrate all existing foreign assets in production.
This is only the plan’s first stage: creating future foreign assets according to the new design. Subsequent PRs will manage the migration of existing foreign assets and the removal of the two depreciated pallets.
​​Note
Creating foreign assets requires a new process; the current one will not work anymore.
Native foreign assets metadata are immutable and cannot be changed once they are created (the legacy foreign assets implementation allowed changing the metadata)
X-Chain Capabilities
Technical support for Snowbridge
Audience: Dapp Developers
Runtime 3100 introduces the first stage support for Snowbridge. Snowbridge is a bridge between Ethereum and the Polkdadot ecosystem. In a word, it’s a parachain, BridgeHub, that connects to AssetHub
The objective for Runtime 3100 was to verify that we can accept assets coming from BridgeHub (through AssetHub).
Runtime API for XCM fee estimation
Audience: Dapp Developers
A new runtime API is introduced, the XcmDryRunApi, that, given an extrinsic or an XCM program, returns its effects:
- Execution result
- Local XCM (in the case of an extrinsic)
- Forwarded XCMs
- List of events
This API can be used alone for dry-running purposes, double-checking, or testing, but it mainly shines when used in conjunction with the XcmPaymentApi. UIs can use these two APIs to estimate transfers.
Other
Several Bug Fixes
Audience: Dapp Developers
- Solve incompatibility in rollbacks for EVM calls inside substrate transactions.