Summary of Changes
Upgrade Recap
Here is a summary of the Runtime Upgrade 3300, 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]
- Optimization for PoV limits
- Introduces the first from a set of network parameters that can be modified via Governance
- [Moonbeam]
- Support for smart contract testing frameworks (e.g. Foundry)
- [Client]
- Ship Lazy Loading in the standard client (moving from the experimental towards production deployment)
- Several Bug Fixes
Decentralized Governance
Network parameters can be modified via Governance
Parametrize the deposit for randomness.
The EvrLoot team requested decreasing the deposit for randomness. Instead of making an arbitrary decision, we are moving this constant to become a parameter whose value could be changed via Moonbeam governance.
If you want to learn more about how Randomness works: Randomness | Moonbeam Docs
Polkadot Compatibility
Optimization for PoV limits
Audience: Dapp Developers
In the Polkadot ecosystem, Parachains delegate security to the relay chain by providing Proof of Validity for each block containing the data the relay chain needs to verify that the block is correct.
The downside of this approach is that since the PoV has a size limit of ~5mb, there is a limit to what can be sent within a block.
Parity has released a v1 of the state implementation that optimizes some aspects of the PoV data required by the relay to operate. One optimization is to only include the hash of the data that is to be deleted, not the data itself (as in the legacy version).
Migrating to the new state version will benefit some operations by lowering the fee and allowing more functionalities to be included in runtime, as the runtime itself is part of the PoV during a runtime upgrade process.
Ethereum Compatibility
A new way of creating Ethereum-compatible foreign assets
Audience: Dapp Developers
Runtime 3300 ensures Moonbase Alpha is fully compatible with the Ethereum tools for testing and verifying foreign assets. Foreign assets will not be managed as precompiles; they will be standard ERC-20 contracts. This makes the state of these assets transparent to EVM tools, allowing app developers to use all the tools available for Solidity. In the subsequent Runtime, we will enable it for Moonriver and Moonbeam. After the successful rollout of this feature, we plan to migrate existing assets that will be community—and project-agreed and announced early on.
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)
Other
Several Bug Fixes
Audience: Dapp Developers
- Security: AccountCodes is read without accounting PoV in some cases
- RPC rate limiting is not implemented in cumulus