Skip to content

Releases: moonbeam-foundation/moonbeam

Runtime 1801

13 Sep 01:55
Compare
Choose a tag to compare

Runtimes

  • This runtime is based on top of Runtime 1800. It includes additional fixes related to Precompiles

Moonbase

✨ spec_version                : 1801
🏋 size                        : 1375738
#️⃣ sha256                      : 0x1e3233ff3a849f35dbdb18c510308207f40ec9b2d0d77100f9c8d9da1de47f7f
#️⃣ blake2-256                  : 0xead5e8c907973446f89781a6c3eb9a059bacaed2b7eaa647ed154fdc43f0d213
🗳️ proposal (authorizeUpgrade) : 0xed086cca2c844fcd5db05e9f1fefa6c5396c94b1ebac09271a93de9272013e9b

Moonriver

✨ spec_version                : 1801
🏋 size                        : 1342052
#️⃣ sha256                      : 0x6fbe4f577431232ecffe5e6604683bd4ad7a7c7ddde50a8cd980db322a3cb1c7
#️⃣ blake2-256                  : 0x1dd8a942765d78ec1cc9b3e5e695167656726105b8b275c682087e6983bb245d
🗳️ proposal (authorizeUpgrade) : 0x69d6a36041e3779cb1157e9d7ecf289157b3cf46467fa5cfab616ace0eee6c60

Moonbeam

✨ spec_version                : 1801
🏋 size                        : 1342057
#️⃣ sha256                      : 0x3767b2996abd687031e96a41bf2ca7ebe29f325fe1cf25524715f44717ea8216
#️⃣ blake2-256                  : 0x51c4ef37f8ae268ac4ddd95dd20a2bcca5e56b79e51e3c73e002e6ce4bb8973f
🗳️ proposal (authorizeUpgrade) : 0x142ef3c1652666a5d94abee581782efa6df7ac3c4f38024df69694129ea13d12

Build information

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

Changes

  • Adds code check, gas increase for batch precompile (#1803)
  • Precompile fixes (#1806)

Dependency changes

Moonbeam: runtime-1800...runtime-1801
Substrate: moonbeam-foundation/substrate@c674000...c674000
Polkadot: moonbeam-foundation/polkadot@aadb8a6...aadb8a6
Cumulus: moonbeam-foundation/cumulus@595d0ab...595d0ab
Frontier: moonbeam-foundation/frontier@696a7a4...5b682d4

Runtime 1702

13 Sep 01:53
Compare
Choose a tag to compare

This release is based on top of Runtime 1701.
It includes a fix for the batch precompile to prevent access from a smart contract.

Moonbeam v0.26.0

26 Aug 08:15
Compare
Choose a tag to compare
  • Low priority

Changes

  • 0.9.26 Dependency Upgrade (#1699)
  • Bump client version to v0.26.0 (#1716)
  • Add OnFinality bootnode to Moonbeam (#1770)
  • patch jsonrpsee: allow unknown fields in json requests (#1777)

Dependency changes

Moonbeam: v0.25.0...v0.26.0
Substrate: paritytech/substrate@76522d7...purestake:c674000c
Polkadot: moonbeam-foundation/polkadot@2fd38f0...aadb8a6
Cumulus: moonbeam-foundation/cumulus@a863763...595d0ab
Frontier: moonbeam-foundation/frontier@896f99a...696a7a4

Runtime 1800

26 Aug 14:30
da59133
Compare
Choose a tag to compare

⚠ Breaking changes

⚠ xcm-transactor

  • transact_through_derivative and transact_through_derivative_multilocation have been joint into a single extrinsic transact_through_derivative.
  • transact_through_signed and transact_signed_derivative_multilocation have been joint into a single extrinsic transact_through_signed
  • A new struct CurrencyPayment has been added:
pub struct CurrencyPayment<CurrencyId> {
		// the currency in which we want to express our payment
		pub currency: Currency<CurrencyId>,
		// indicates whether we want to specify the fee amount to be used
		pub fee_amount: Option<u128>,
	}
  • A new struct TransactWeights has been added:
pub struct TransactWeights {
		// the amount of weight the Transact instruction should consume at most
		pub transact_require_weight_at_most: Weight,
		// the overall weight to be used for the whole XCM message execution. If None,
		// then this amount will be tried to be derived from storage.  If the storage item
		// for the chain is not populated, then it fails
		pub overall_weight: Option<Weight>,
	}
  • The signature of transact_through_derivative changed. Previous fee_location parameter would now has to be inserted under the fee:CurrencyPayment parameter. Previous dest_weight oarameter would need to be inserted in the weight_info parameter, under transact_required_at_most field.
transact_through_derivative(
			origin: OriginFor<T>,
			// destination to which the message should be sent
			dest: T::Transactor,
			// derivative index to be used
			index: u16,
			// fee to be used
			fee: CurrencyPayment<CurrencyIdOf<T>>,
			// inner call to be executed in destination. This wiol
			// be wrapped into utility.as_derivative
			inner_call: Vec<u8>,
			// weight information to be used
			weight_info: TransactWeights,
	     )
  • The signature of transact_through_signed changed. Previous fee_location parameter would now has to be inserted under the fee:CurrencyPayment parameter. Previous dest_weight oarameter would need to be inserted in the weight_info parameter, under transact_required_at_most field.
pub fn transact_through_signed(
			origin: OriginFor<T>,
			// destination to which the message should be sent
			dest: Box<VersionedMultiLocation>,
			// fee to be used
			fee: CurrencyPayment<CurrencyIdOf<T>>,
			// call to be executed in destination
			call: Vec<u8>,
			// weight information to be used
			weight_info: TransactWeights,
		) 

Solidity Interfaces

⚠️ The solidity interfaces for precompiles have been refactored as per solidity style guide. The minimum required solc compiler version is now 0.8.3.
For an extensive list of changes refer to #1647

Delegator Leave Functionality

⚠️ The extrinsics scheduleLeaveDelegators , cancelLeaveDelegators and executeLeaveDelegators have been marked for deprecation and will be removed after 6 months. In lieu of these extrinsics, util.batch with multiple delegation revokes must be used.

Runtimes

Moonbase

✨ spec_version                : 1800
🏋 size                        : 1374106
#️⃣ sha256                      : 0x9b6162c67ecad8f2d12ae43b8e537153432af82862afad6759f4c7188a523f7c
#️⃣ blake2-256                  : 0x94366433756a191b84d3fb997cfef3427f73ab22ff59673c8ecfdadebc1fc490
🗳️ proposal (authorizeUpgrade) : 0x96074a1aad9cd978ef89ccfba6ee524a3979ee8327204a09ff9776460f5910ac

Moonriver

✨ spec_version                : 1800
🏋 size                        : 1339107
#️⃣ sha256                      : 0xdfe936c3e0f96503923d8ac76f771d21841d73ffe3107ec7a176a90e69d83625
#️⃣ blake2-256                  : 0x854344dace9d97d7d9aba169c99401e90e8ae8ea6425ad397d687a4cfa33b972
🗳️ proposal (authorizeUpgrade) : 0x2480a36e14ced0bcf015dec1409566e3ace16160228f6486df1d15a131ac07f0

Moonbeam

✨ spec_version                : 1800
🏋 size                        : 1341288
#️⃣ sha256                      : 0x25e6cf5ab982fc69c224f912cb8c94b78330fe66b9b833dfe52f35ccb328d1e5
#️⃣ blake2-256                  : 0x61429c3eef9bd625ed83355516c237535ce71e4861934095738fc5badefb1aa6
🗳️ proposal (authorizeUpgrade) : 0x0f01d5ba0f7fed779b30047da426efdbd2f0ae6173aa54f55af9f3ae08be49f3

Build information

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

Changes

  • [MOON-1745] re-add status Leaving as deprecated (#1702)
  • EthereumXcmTransactionV2 (#1694)
  • [MOON-1806] remove deprecated parachain-staking items (#1700)
  • Precompiles revert function abi-encoded output (#1710)
  • 0.9.26 Dependency Upgrade (#1699)
  • Bump runtime to 1800 (#1715)
  • Move note author to staking on finalize (#1701)
  • Add randomness to all runtimes (#1727)
  • Bound length of Vec and Bytes when parsing precompile input (#1656)
  • Change name of descend origin barrier (#1729)
  • add democracy enactment offset (#1737)
  • [MOON-1846] add call permit solidity test (#1733)
  • Remove staking locks migration code (#1713)
  • Tune extrinsic base fee (#1576)
  • unify solidity interfaces (#1647)
  • Add required deposit to randomness precompile (#1743)
  • Improve precompiles revert messages + fix few issues (#1734)
  • EthereumXcm transact through proxy (#1724)
  • Girazoki xcm utils ml to account (#1732)
  • [MOON-863] add proxy precompile (#1705)
  • Decode Solidity bytes in precompile AuthorMapping::setKey (#1746)
  • Fix staking collator snapshot to use total counted instead of total exposure (#1719)
  • New collective to accept and reject treasury spending proposal (#1723)
  • Add CallPermit precompile to Moonriver and Moonbeam (#1706)
  • [MOON-1763] deprecate delegator leave in favor of batch schedule revoke (#1760)
  • Benchmark VRF verification (#1750)
  • Girazoki refactor xcm transactor (#1725)
  • fix: orbiters was rewarded only on rounds with rotation (#1728)
  • Collective precompile (#1757)
  • Benchmark randomness inherent (#1768)

Dependency changes

Moonbeam: runtime-1701...runtime-1800
Substrate: paritytech/substrate@76522d7...purestake:c674000c
Polkadot: moonbeam-foundation/polkadot@2fd38f0...aadb8a6
Cumulus: moonbeam-foundation/cumulus@a863763...595d0ab
Frontier: moonbeam-foundation/frontier@896f99a...696a7a4

Runtime 1701

22 Jul 15:13
Compare
Choose a tag to compare

Runtimes

Hotfix on top of Runtime 1700 to restore compatibility for DelegatorState storage item

Moonbase

✨ spec_version                : 1701
🏋 size                        : 1282950
#️⃣ sha256                      : 0x7b7c33a10a845ddc3f8530d08585d36450b616007040c0c5b2db0a336bd17f71
#️⃣ blake2-256                  : 0x7b19d5b9b47ee31e53aac9f5667c4cbb9692d4564502777e43747aa44c520d64
🗳️ proposal (authorizeUpgrade) : 0x316e63a20e134cfc9a783f99e4b023f06f05f8460136cb1015f4dc6c3f4dd4d0

Moonriver

✨ spec_version                : 1701
🏋 size                        : 1214670
#️⃣ sha256                      : 0xa52a81da9f4592fb452d183928ccfbd0a73a9c8a7efae7439cbffb21e23eda62
#️⃣ blake2-256                  : 0x5de7786b576ee9026ec65ed353845ab0f4d52b95b1fb3e899096d0e7c9bc78a5
🗳️ proposal (authorizeUpgrade) : 0xf99db6b6ec898f9b101038c037dd216ed0e7c6d510667c7ba7dde8d1b901865e

Moonbeam

✨ spec_version                : 1701
🏋 size                        : 1214977
#️⃣ sha256                      : 0x736208aaba495aa7314211061f4977a5d18abdfb677062695fe27747c59d1c77
#️⃣ blake2-256                  : 0x7003a5d9c12c060c82fa9016dc5eb3aca0ccd0ec293334b6cd1c7c587630f410
🗳️ proposal (authorizeUpgrade) : 0xe8519da2ccedb78fd701aa4178480e621c3a91528b150e2f95c68a58ccbf55f9

Build information

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

Changes

  • [MOON-1745] re-add status Leaving as deprecated (#1702)

Dependency changes

Moonbeam: runtime-1700...runtime-1701
Substrate: paritytech/substrate@76522d7...76522d7
Polkadot: moonbeam-foundation/polkadot@2fd38f0...2fd38f0
Cumulus: moonbeam-foundation/cumulus@a863763...a863763
Frontier: moonbeam-foundation/frontier@896f99a...896f99a

Moonbeam v0.25.0

19 Jul 00:12
4e2a578
Compare
Choose a tag to compare

⚠ Important

Client v0.25.0 is mandatory for collators to run the Runtime 1700. Here are the suggested dates to upgrade your node to v0.25.0:

  • Alphanet: Tuesday 19th July
  • Moonriver: Tuesday 26th July
  • Moonbeam: Tuesday 2nd August

It is also mandatory for collators to generate the new rand key (if you haven't done it since runtime 1600).
The easiest way is to author_rotateKeys (returning a 128 bytes hex string, corresponding to the nmbs (nimbus) and rand key) on your node and provide the new keys on chain with authorMapping.setKeys with your collator account (or proxy)

⚠ Breaking changes

  • Introducing the "rand" key for collators, required to produce the VRF output. The key is automatically generated when using author_rotateKeys (once your node is synced)
    A new error message will appear if you don't have your "rand" key set:
    VRF PreDigest was not included in the digests (check rand key is in keystore)
  • Substrate to storage changes using wildcard is now considered a "Unsafe" RPC and is disabled by default. Use --rpc-methods=unsafe (at your own risk) to support it
  • The seal field has been replaced by the nonce field in Ethereum Block
  • The RPC library has changed to JSONRPSee. The log prefix for those has changed too from rpc to josn (ex: rpc=debug => json=debug)
  • The starting log line to monitor when the node is ready has changed from Listening for new connections <ADDR> to Running JSON-RPC WS server: addr=<ADDR>
  • Gas estimation does not return OutOfGas anymore when the evm executes an invalid opcode. Instead will return an InvalidOpcode error containing the invalid opcode found. e.g.: evm error: InvalidCode(Opcode(228))

Important changes

  • New CLI argument --tracing-raw-max-memory-usage to bound the max amount of collected data per raw tracing request (while tracing, will then consume more than twice that size when converted to JSON). Defaults to 20MB

Changes

  • Bring LengthToFee changes to Moonriver and Moonbeam runtimes (#1579)
  • Remove grandpa revert (#1612)
  • Record raw tracing memory usage with limit (#1546)
  • Upgrade dependencies to polkadot v0.9.23 (#1622)
  • Remove perf-test (#1632)
  • Replace staking reserves with locks (#1604)
  • Fix geth error mismatches (#1673)
  • Updates cumulus to cherry-picked beed leak fix (#1679)
  • Fixes Receipt root fix (#1678)
  • Bump client version to v0.25.0 (#1687)

Dependency changes

Moonbeam: v0.24.0...v0.25.0
Substrate: paritytech/substrate@563f482...76522d7
Polkadot: paritytech/polkadot@568169b...purestake:2fd38f09
Cumulus: paritytech/cumulus@4bbedb3...purestake:a8637639
Frontier: moonbeam-foundation/frontier@652abf1...896f99a

Runtime 1700

19 Jul 00:54
af6901e
Compare
Choose a tag to compare

⚠ 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: moonbeam-foundation/frontier@ca027df...896f99a

Runtime 1606

04 Jul 23:03
3f9c08a
Compare
Choose a tag to compare

Runtimes

This runtime is a hotfix on top of runtime-1605

Description

Dependency changes

Moonbeam: runtime-1605...runtime-1606
Substrate: paritytech/substrate@563f482...563f482
Polkadot: paritytech/polkadot@568169b...568169b
Cumulus: paritytech/cumulus@4bbedb3...4bbedb3
Frontier: moonbeam-foundation/frontier@652abf1...ca027df

Runtime 1605

17 Jun 12:40
Compare
Choose a tag to compare

Runtimes

Moonbase

✨ spec_version                : 1605
🏋 size                        : 1267716
#️⃣ sha256                      : 0x402be3e5ea2335d76d02a516d806a79b084eb96a55f3dfd80cedfceae2266e3d
#️⃣ blake2-256                  : 0x9377d920cfc52a3f18054278eb6b88bae62da82ac38de24e722aabb86db90bd3
🗳️ proposal (authorizeUpgrade) : 0x87c2eae33fe9d58173729814c702e16ee5be68861c0766bf36488d011673136a

Moonriver

✨ spec_version                : 1605
🏋 size                        : 1256129
#️⃣ sha256                      : 0xb110a01490b9688dd4a21d984699850480870906fdb769884d19b5eef29f19ec
#️⃣ blake2-256                  : 0x07e962c837e3525c7ebef3447d07a17a519c090bdad92d7abfdab54cb2b77b48
🗳️ proposal (authorizeUpgrade) : 0xaccf2e9471f18765afbdb82d818b5fbb1cf45c52fb79feaf92d6de6b0dc50073

Moonbeam

✨ spec_version                : 1605
🏋 size                        : 1256694
#️⃣ sha256                      : 0x4b5ad624e9b9f0e263886ba554767bd76e049bb7494cddefc2f42e18e2423254
#️⃣ blake2-256                  : 0x6e87233be393c3e928db46836961e075fbec796bfc935fcd10d1d51f9d8b1d1b
🗳️ proposal (authorizeUpgrade) : 0xa82c6df8ff2cad706ce8871239e478bc737df83093c20ba01f7efdb3748b9ea6

Build information

WASM runtime built using rustc 1.57.0 (f1edd0429 2021-11-29)

Changes

  • [MOON-1745] re-add status Leaving as deprecated (#1586)
  • Add nesting limit to Batch precompile (#1595)
  • Orbiters: add storage entry RegisteredOrbiter & events OrbiterRegistered & OrbiterUnRegistered (#1593)

Dependency changes

Moonbeam: runtime-1603...runtime-1605
Substrate: paritytech/substrate@563f482...563f482
Polkadot: paritytech/polkadot@568169b...568169b
Cumulus: paritytech/cumulus@4bbedb3...4bbedb3
Frontier: moonbeam-foundation/frontier@652abf1...652abf1

Moonbeam v0.24.0

14 Jun 01:49
8369da6
Compare
Choose a tag to compare

Changes

  • Better Batch precompile gas estimation (#1554)
  • Introduce exponential length fee for substrate-based fees (#1496)
  • v0.9.20 dependency update (#1489)

Dependency changes

Moonbeam: v0.23.0...v0.24.0
Substrate: moonbeam-foundation/substrate@fc3fd07...616d33e
Polkadot: moonbeam-foundation/polkadot@f0dc95a...17c7b95
Cumulus: moonbeam-foundation/cumulus@76cf464...da577b3
Frontier: moonbeam-foundation/frontier@79ed3f2...df6a705