github moonbeam-foundation/moonbeam runtime-1700
Runtime 1700

latest releases: v0.41.1, v0.41.0, runtime-3300...
2 years ago

⚠ Breaking changes

  • Add the pallet Randomness which provides random generators. It requires the collators to provide a VRF output using their rand (new) key. See the client v0.25.0 release note for details
  • Using a gas price too low is now returning GasPriceTooLow error instead of GasLimitTooLow in the Substrate block side.
  • On-chain receipt root is now computed correctly

Parachain Staking Locks

In order to allow users to participate more in the democracy, we are allowing staked tokens to be used to vote:

parachain-staking now uses LockableCurrency instead of ReservableCurrency. Bonds will now use a lock with id stkngdel for delegators and stkngcol for collators rather than a reserve on their funds.

Querying free_balance will behave differently for stakers. Previously this amount would exclude bonds, now it will include them.It is likely that this will reflect in cases where it did not before, such as Ethereum wallets like MetaMask.

Users will still be unable to spend these bonded funds (transfer, pay for fees, etc.) while they are locked, but they will be able to do other operations which require a lock (e.g. they can vote with their staked funds).

Migration Strategy: For existing bonds, there is a two-pronged migration strategy to replace reserves with locks:

  • One is explicit (see the new extrinsics hotfix_migrate_delegators_from_reserve_to_locks and hotfix_migrate_collators_from_reserve_to_locks ), which can be used by either PureStake to migrate all bonds or by a user to migrate their own bond.

  • The other is JIT (just-in-time), which will migrate any account when a change to its bond occurs as needed.

It will not be necessary for any user, dapp, etc. to worry about migration except for a user who does not want to wait for bulk-migration and wants to migrate themselves.

We expect to migrate all accounts using these "hotfix extrinsics" immediately following a runtime upgrade, and this should be quick (10s to 100s of blocks).

Transaction fees

  • The base weight for extrinsics have been lower, reducing slightly the fee of all substrate transactions.
  • Ethereum transaction Weight is now checked pre-dispatch. This implies that gas_limit must not exceed the amount of weight left in the block (this was not the case before). The maximum gas_limit is now matching the originally intended limit for transaction of 75% (it was previously 100%). The 25% are kept for the block overhead (signature, relay information, randomness....)
  • For EIP-1559 transactions, the minimum caller balance required to validate the transaction is now lower in some cases (based on effective_gas_price instead of max_fee_per_gas).

Runtimes

Moonbase

✨ spec_version                : 1700
🏋 size                        : 1281877
#️⃣ sha256                      : 0xff3b2d41a2607e8677e80812b34c0a4a2abb1045e9cb87b8830a44633c147cdb
#️⃣ blake2-256                  : 0x78a006a44e7cc5d7873f134b069562d562783c8b6e3218ab221d1a154ab4a6cc
🗳️ proposal (authorizeUpgrade) : 0xbca72221d89f9d859bdb59cbe00593db9b717dcd99163f813c2263f3366a02f3

Moonriver

✨ spec_version                : 1700
🏋 size                        : 1214292
#️⃣ sha256                      : 0x17843c5d12c2cf2a43f4517eefc111c029bd9931d00a24c435e7ce6fded520c8
#️⃣ blake2-256                  : 0x378fa30b0819822f7ffa56621f5332a9ad1f627d1069315f7602823a58acf32e
🗳️ proposal (authorizeUpgrade) : 0xe4b749d35c9e4de83f460858aef7071efa91e53d080bf43dbcdfb0c0acc550cd

Moonbeam

✨ spec_version                : 1700
🏋 size                        : 1214961
#️⃣ sha256                      : 0x7c4eed21108aa8e659dd56c7d4a6b9cbd1183a14dea9ff76f47ce9ce3246289d
#️⃣ blake2-256                  : 0x43b7d64b740df65d2306ff3eddde8fb156df4bd47b6c125516434d496f1f7f2e
🗳️ proposal (authorizeUpgrade) : 0x7f795a55a5161f2174920c48610946ad0edebbf21a52bb2f34086b4324cd92fa

Build information

WASM runtime built using rustc 1.62.0 (a8314ef7d 2022-06-27)

Changes

  • Add nimbus kick off authorship validation (#1569, #1516)
  • Add nesting limit to Batch precompile (#1595)
  • Add storage entry RegisteredOrbiter & events OrbiterRegistered & OrbiterUnRegistered (#1593)
  • Add fix to cleanup state on collator exit. Add hotfix extrinsic (#1541)
  • Harmonize crate names (#1580)
  • Brings LengthToFee changes to Moonriver and Moonbeam runtimes (#1579)
  • Refactor PrecompileSet util for safer precompiles (#1601, #1642)
  • Add IdentityJudgement Proxy type (#1597)
  • Ensure dev accounts Charleth, Dorothy and Faith have funds at genesis (#1634)
  • Add Call Permit precompile (Moonbase Only) (#1617, #1648)
  • Upgrade dependencies to polkadot v0.9.23 (#1622, #1658)
  • Fix precompile staking interface (#1620)
  • Add support for Ethereum Call from Xcm (Moonbase Only) (#1641, #1674, #1567)
  • Replace staking reserves with locks (#1604)
  • Disable anonymous proxy (#1680)
  • Fix Ethereum receipt root (#1678)
  • Add Randomness pallet with relay BABE and local VRF (Moonbase Only) (#1376)

Dependency changes

Moonbeam: runtime-1606...runtime-1700
Substrate: paritytech/substrate@563f482...76522d7
Polkadot: paritytech/polkadot@568169b...purestake:2fd38f09
Cumulus: paritytech/cumulus@4bbedb3...purestake:a8637639
Frontier: PureStake/frontier@ca027df...896f99a

Don't miss a new moonbeam release

NewReleases is sending notifications on new releases.