Releases: moonbeam-foundation/moonbeam
Runtime 1801
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
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
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
- Low priority
Changes
- 0.9.26 Dependency Upgrade (#1699)
⚠️ Fix confusing metric naming paritytech/polkadot#5716
- 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
⚠ Breaking changes
⚠ xcm-transactor
transact_through_derivative
andtransact_through_derivative_multilocation
have been joint into a single extrinsictransact_through_derivative
.transact_through_signed
andtransact_signed_derivative_multilocation
have been joint into a single extrinsictransact_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. Previousfee_location
parameter would now has to be inserted under thefee:CurrencyPayment
parameter. Previousdest_weight
oarameter would need to be inserted in theweight_info
parameter, undertransact_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. Previousfee_location
parameter would now has to be inserted under thefee:CurrencyPayment
parameter. Previousdest_weight
oarameter would need to be inserted in theweight_info
parameter, undertransact_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
0.8.3
.
For an extensive list of changes refer to #1647
Delegator Leave Functionality
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
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
⚠ 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 thenonce
field in Ethereum Block - The RPC library has changed to JSONRPSee. The log prefix for those has changed too from
rpc
tojosn
(ex:rpc=debug
=>json=debug
) - The starting log line to monitor when the node is ready has changed from
Listening for new connections <ADDR>
toRunning 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 to20MB
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
⚠ Breaking changes
- Add the pallet
Randomness
which provides random generators. It requires the collators to provide a VRF output using theirrand
(new) key. See the client v0.25.0 release note for details - Using a gas price too low is now returning
GasPriceTooLow
error instead ofGasLimitTooLow
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
andhotfix_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 ofmax_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
Runtimes
This runtime is a hotfix on top of runtime-1605
Description
- Adds a fix for truncated transfer from EVM (#1635, moonbeam-foundation/frontier#4)
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
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
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