Skip to content

Releases: moonbeam-foundation/moonbeam

Moonbeam v0.21.1

10 Mar 05:14
bd30482
Compare
Choose a tag to compare

Priority

  • RPC Nodes: High - prevents eth_feeHistory request to crash node
  • Collators: Low

Breaking change

  • Metrics in prometheus are new using moonbeam_ prefix (see #1329).
    (This is likely to change in the next release to remove addition substrate_ prefix)

Changes

  • Fix wrong "to" value in tracing for DelegateCall (#1299)
  • Remove all unwrap() in production code (#1327)
  • use 'moonbeam' prefix when emitting prometheus metrics (#1329)
  • Pin frontier e37f7d9 (fix fee history unwrap) (#1341)
  • Update client version to v0.21.1 (#1346)

Dependency changes

Moonbeam: v0.21.0...v0.21.1
Substrate: moonbeam-foundation/substrate@c84f200...c84f200
Polkadot: moonbeam-foundation/polkadot@66cb46b...66cb46b
Cumulus: moonbeam-foundation/cumulus@b43fcff...b43fcff
Frontier: moonbeam-foundation/frontier@2be428c...e37f7d9

Moonbeam v0.21.0

26 Feb 20:30
0c89b92
Compare
Choose a tag to compare

Targeted deployment:

  • Alphanet: Saturday 26th Feb 2022
  • Moonriver: Monday 28th Feb 2022
  • Moonbeam: Wednesday 2nd Mar 2022

Changes

  • Pin frontier eth_call return code instead address (#1303)
  • Fix client debug unwrap issue (#1276)
  • Remove perf-test sys-info feature (#1192)
  • 0.9.17 Dependency Upgrade (#1319)
  • Fix issues from migrating to clap v3 (#1324)

Dependency changes

Moonbeam: v0.20.1...v0.21.0
Substrate: moonbeam-foundation/substrate@570b21a...c84f200
Polkadot: moonbeam-foundation/polkadot@c028a34...66cb46b
Cumulus: moonbeam-foundation/cumulus@c92f0ab...b43fcff
Frontier: moonbeam-foundation/frontier@07021fa...2be428c

Runtime 1300

25 Feb 02:59
4c937d5
Compare
Choose a tag to compare

Description

This runtime includes breaking changes on the api of asset-manager, detailed here:

Substrate API (PolkadotJS)⚠️Breaking Change⚠️

Asset manager query changes

Querying the account assets is now returning an Optional value:

  • runtime 1201: api.query.assets.account(assetId, accountId) => PalletAssetsAssetAccount
  • runtime 1300: api.query.assets.account(assetId, accountId) => Option<PalletAssetsAssetAccount>

This code snippet allows to support both:

const accountAssetData = await apiAt.query.assets.account(assetId, accountId);
if (!accountAssetData.isEmpty) {

  const accountAsset: PalletAssetsAssetAccount =
     unwrap" in accountAssetData ? accountAssetData.unwrap() : (accountAssetData as any);

  console.log(`Account balance is ${accountAsset.balance.toBigInt()}`);
}

A new storage item name SupportedFeePaymentAssets, being a vector Vec<AssetType>, which holds the assets that we accept for xcm fee payment

A new extrinsic RemoveSupportedAsset(asset, numAssetsWeightHint), where asset:AssetType is the asset to be removed and numAssetsWeightHint refers to the number of supported assets for fee payment (length of SupportedFeePaymentAssets) in storage.

⚠️ Additionally, the following extrinsics now ask for a weight hint

  • SetAssetUnitsPerSecond: an additional parameternumAssetsWeightHint needs to be passed, being the number of supported assets for fee payment (length of SupportedFeePaymentAssets) in storage.

  • ChangeExistingAssetType: an additional parameternumAssetsWeightHint needs to be passed, being the number of supported assets for fee payment (length of SupportedFeePaymentAssets) in storage.

Runtimes

Moonbase

✨ spec_version                : 1300
🏋 size                        : 1189429
#️⃣ sha256                      : 0xb335022301b9e6c56ff138633f906ce4899219f933feba2bbec2a4ac6622ea05
#️⃣ blake2-256                  : 0x690d1ed6d7237dc125c2e7383f2311b8c63e7e3ad4f401c02ab1d5e9a978f57f
🗳️ proposal (authorizeUpgrade) : 0xe41818e42f268f978e10fe50a6971e4314b0aeeddf3770fc3bad1f5544139fa5

Moonriver

✨ spec_version                : 1300
🏋 size                        : 1181500
#️⃣ sha256                      : 0x93828da89060e3d613997bcbe80c1d3c8125939cc848132d3c8f4aa4c62bfebe
#️⃣ blake2-256                  : 0xe4f8ad20bdf5fe62ec43732a6ae819e47f9bb15c1b9e650da171b06962f0a376
🗳️ proposal (authorizeUpgrade) : 0x6e9b0600fddd82f740f0a883e52804b65d9e1ef728c3f3f7a42ee7f929757cd8

Moonbeam

✨ spec_version                : 1300
🏋 size                        : 1164678
#️⃣ sha256                      : 0xdb1dc47e1775b51d509c281b7dca882f7db67e85f68ec27e6f15b4e31414bacc
#️⃣ blake2-256                  : 0xc18b6d14021a066f196d84f508978d34818094a083dca7841f8b5437f6140047
🗳️ proposal (authorizeUpgrade) : 0x02666936739fa8a5f9ed1873ecd3cce32b65d67ce6fdd3099e5ba00d53cb57c7

Build information

WASM runtime built using rustc 1.56.1 (59eed8a2a 2021-11-01)

Changes

  • 0.9.16 dependency upgrade (#1273)
  • Fix Staking total delegations mismatch (#1291)
  • Add BaseFeePerGas storage value update to migration code (#1298)
  • Add field names to pallet Event variants (#1277)
  • Uncomment event and pin to new xtokens commit (#1292)
  • Add GLMR ERC20 precompile on Moonbeam (#1308)
  • Enable native asset cross chain transfer in moonriver (#1236)
  • Fix removing request when delegation is kicked from bottom (#1307)
  • Supported fee payment assets storage (#1118)

Dependency changes

Moonbeam: runtime-1201...runtime-1300
Substrate: moonbeam-foundation/substrate@3a5aa8c...570b21a
Polkadot: moonbeam-foundation/polkadot@ac51d9b...c028a34
Cumulus: moonbeam-foundation/cumulus@0f82e1f...c92f0ab
Frontier: moonbeam-foundation/frontier@0b66a77...a74529a

Moonbeam v0.20.1

12 Feb 13:02
26bfea9
Compare
Choose a tag to compare

Priority

  • RPC Node => ‼️ HIGH: This is a high priority release and you must upgrade as as soon as possible.
  • Collator => Low

Changes

  • Fixes schema cache bug by removing the cache for now (#1282)
  • Create client v0.20.1 (#1283)

Dependency changes

Moonbeam: v0.20.0...v0.20.1
Substrate: moonbeam-foundation/substrate@570b21a...570b21a
Polkadot: moonbeam-foundation/polkadot@c028a34...c028a34
Cumulus: moonbeam-foundation/cumulus@c92f0ab...c92f0ab
Frontier: moonbeam-foundation/frontier@75183a3...07021fa

Moonbeam v0.20.0

10 Feb 23:43
824d960
Compare
Choose a tag to compare

Moonbeam v0.19.2

09 Feb 18:32
Compare
Choose a tag to compare

Changes

  • Use storage overrides in debug and tracing modules (#1270)
  • Update frontier 32b7cf4 (#1265)

Dependency changes

Moonbeam: v0.19.1...v0.19.2
Substrate: moonbeam-foundation/substrate@3a5aa8c...3a5aa8c
Polkadot: moonbeam-foundation/polkadot@ac51d9b...ac51d9b
Cumulus: moonbeam-foundation/cumulus@0f82e1f...0f82e1f
Frontier: moonbeam-foundation/frontier@3bb9f72...32b7cf4

Runtime 1201

09 Feb 00:14
7b2778f
Compare
Choose a tag to compare

Runtimes

Moonbase

✨ spec_version                : 1201
🏋 size                        : 1141606
#️⃣ sha256                      : 0x37d63a24e1a44643ab80fc17e16064cec07019ad5091b5a4bc85e91a6564a200
#️⃣ blake2-256                  : 0xae3d1a7ad0eff0318d2025762c9d7ebac8c869601151c1e086767bd3847d10dd
🗳️ proposal (authorizeUpgrade) : 0x4883be8cf4ef33ab52215e108b314b1bb2fb5af29b4380bca15f3274877e224c

Moonriver

✨ spec_version                : 1201
🏋 size                        : 1144838
#️⃣ sha256                      : 0xaa89108cd1e14f248d7889e52b3604ffdfb7796823e1412cbf4133e45c1298a5
#️⃣ blake2-256                  : 0xf520a6b0c3b724d29fec7cdee5b3402ace0c2d5f32b57872779a82d9c950f3bc
🗳️ proposal (authorizeUpgrade) : 0xb640e3694b755bc04a06b21dc1ce453dd6af531cb9cf2bab47bf9206fb1070e6

Moonbeam

✨ spec_version                : 1201
🏋 size                        : 1131471
#️⃣ sha256                      : 0xe5cb5e9017426d7809b5079f68dcc59b5c519a899782f5d271539cb52bd536ba
#️⃣ blake2-256                  : 0x97baa6a8847c94aecab65f3800ca581bbf47d6d0425aa9494a66593bfc0d47f2
🗳️ proposal (authorizeUpgrade) : 0xe9e1f2c91c0ddb6be19ff2c16f7027fd027d3f1a51d5ab18a91265368d182722

Build information

WASM runtime built using rustc 1.56.1 (59eed8a2a 2021-11-01)

Changes

  • Fix parent block eth hash calculation between runtime version (#1263)

Dependency changes

Moonbeam: runtime-1200...runtime-1201
Substrate: moonbeam-foundation/substrate@3a5aa8c...3a5aa8c
Polkadot: moonbeam-foundation/polkadot@ac51d9b...ac51d9b
Cumulus: moonbeam-foundation/cumulus@0f82e1f...0f82e1f
Frontier: moonbeam-foundation/frontier@b4729e6...0b66a77

Moonbeam v0.19.1

04 Feb 03:15
Compare
Choose a tag to compare

Runtime 1200

02 Feb 14:37
59522b7
Compare
Choose a tag to compare

Description

This runtime introduces many changes to our Ethereum layer, specially around the EIP 1559. Here are the important parts:

EVM 0.33.1 - London support

Ethereum 0.11.1

Ethereum API - Changes

  • new rpc eth_feeHistory: Returns transaction fee data for up to 1,024 blocks.
  • new property block.baseFeePerGas: baseFeePerGas used for the given block
  • new property transactionReceipt.effectiveGasPrice: gas price being used for the transaction
  • new property transaction.accessList: is an array of type [[{20 bytes}, [{32 bytes}...]]...], storing the contract address and the storage keys. Ex:
    • [
        [
          "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
          [
           "0x0000000000000000000000000000000000000000000000000000000000000003",
           "0x0000000000000000000000000000000000000000000000000000000000000007"
          ]
        ], [
          "0xbb9bc244d798123fde783fcc1c72d3bb8c189413",
          []
        ]
      ]
      
  • new property transaction.maxFeePerGas: how much BaseFee the transaction is allowed to pay.
  • new property transaction.maxPriorityFeePerGas: Correspond to the "tip" to the miner. (Note: It is currently included in the normal fees, being 20% to parachain bond and 80% burnt. This might change in the future)
  • new property transaction.type: The current type of transaction 0 (Legacy), 1 (EIP-2930), 2 (EIP-1559)
  • ⚠️The base fee used in block is currently constant (1Gwei on Moonbase/Moonriver and 100Gwei on Moonbeam). The call the eth_gasPrice will return that value.

Substrate API (PolkadotJS) - Staking query changes - ⚠️Breaking Change⚠️

  • ⚠️ parachainStaking.executeLeaveCandidates added the weight hint parameter CandidateDelegationCount. It was added after the benchmarking was made more accurate, which also increased the transaction weights (fees).

  • ⚠️parachainStaking.candidateState is now deprecated and won't return any data. It is replaced by the following 3 functions :

  • parachainStaking.candidateInfo => Returns the CandidateMetadata structure:

    •  ParachainStakingCandidateMetadata: {
         bond: 'u128',
         delegationCount: 'u32',
         totalCounted: 'u128',
         lowestTopDelegationAmount: 'u128',
         highestBottomDelegationAmount: 'u128',
         lowestBottomDelegationAmount: 'u128',
         topCapacity: 'ParachainStakingCapacityStatus',
         bottomCapacity: 'ParachainStakingCapacityStatus',
         request: 'Option<ParachainStakingCandidateBondLessRequest>',
         status: 'ParachainStakingCollatorStatus' // This was previously named `state`
       }
      
      Exemple:
      {
        bond: 1,000,000,000,000,000,000,000
        delegationCount: 1
        totalCounted: 2,000,000,000,000,000,000,000
        lowestTopDelegationAmount: 1,000,000,000,000,000,000,000
        highestBottomDelegationAmount: 0
        lowestBottomDelegationAmount: 0
        topCapacity: Partial
        bottomCapacity: Empty
        request: null
        status: Active
      }
      
  • parachainStaking.topDelegations => Returns the Delegations structure:

    •  ParachainStakingDelegations: {
         delegations: 'Vec<ParachainStakingBond>',
         total: 'u128'
       }
      
      Exemple:
      {
        delegations: [
          {
            owner: 0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d
            amount: 1,000,000,000,000,000,000,000
          }
        ]
        total: 1,000,000,000,000,000,000,000
      }
      
  • parachainStaking.bottomDelegations => Returns the same Delegations structure as TopDelegations.

  • ⚠️const parachainStaking.maxDelegatorsPerCandidate => is now replaced by maxTopDelegationsPerCandidate

  • const parachainStaking.maxTopDelegationsPerCandidate => the max number (u32) of delegations in the TopDelegations (currently set to 300 on all runtimes)

  • const parachainStaking.maxBottomDelegationsPerCandidate => the max number (u32) of delegations in the BottomDelegations (currently set to 50 on all runtimes). This implies that bottom delegations after 50 will get automatically and instantly revoked (The list, which includes delegations not eligible for rewards, is ordered by staking amount so the lowest staking delegation are the first ones to be revoked)

  • ⚠️event CandidateWentOffline(RoundIndex, T::AccountId) has been replaced by CandidateWentOffline(T::AccountId)

  • ⚠️event CandidateBackOnline(RoundIndex, T::AccountId) has been replaced by CandidateBackOnline(T::AccountId)

  • event DelegationKicked(T::AccountId, T::AccountId, BalanceOf<T>) has been added => This event is sent when the lowest of the BottomDelegations list is kicked (This happens when the top delegations and bottom delegations are full and a new delegation with higher amount is coming)

Substrate API (PolkadotJS) - Asset manager query changes - ⚠️Breaking Change⚠️

  • ⚠️assetManager.asset_id_units_per_second is now deprecated and won't return any data. It is replaced by the following function :

  • assetManager.asset_type_units_per_second => Returns u128 being the amount of units charged for an asset, as asset_id_units_per_second, but its a mapping whose key is the assetType and not the assetId

  • ⚠️assetManager.setAssetsUnitsPerSecond changes from requesting (T::AssetId, u128) to requesting (T::AssetType, u128)

  • ⚠️assetManager.registerAsset accepts an additional boolean parameter is_sufficient, that indicates whether an account can exist in storage just by having asset units

  • ⚠️event UnitsPerSecondChanged(T::AssetId, u128) has been replaced by UnitsPerSecondChanged(T::AssetType, u128)

  • assetManager.asset_type_id => Returns the assetId associated with an assetType (https://github.com/PureStake/moonbeam/blob/59522b72cd752bfab39c9229cdc7d7b869dffadd/pallets/asset-manager/src/lib.rs#L145)

  • a new extrinsic change_existing_asset_type, which allows to change the assetId associated to an assetType

Runtimes

Moonbase

✨ spec_version                : 1200
🏋 size                        : 1140744
#️⃣ sha256                      : 0x2bc686a2c640eb09ce47754ea34648224fbf00a9ed0704911336beb0a811b928
#️⃣ blake2-256                  : 0x480e902941988d9a1d0f62f8b4a1aa9abc3bc44fef2c19e82b0d68b4704cc17d
🗳️ proposal (authorizeUpgrade) : 0xa6cc36a14c0e62e060bc87656742d0469778d500dac44b14fe633d77edb55dd8

Moonriver

✨ spec_version                : 1200
🏋 size                        : 1144341
#️⃣ sha256                      : 0xe22d4bd47af1da1ab38b3284d08d2da247e5853428ca19124360c98272e8780e
#️⃣ blake2-256                  : 0xd616498de1a953e89a7dafb719adaf2b344a50562f92940300230219041cf9d1
🗳️ proposal (authorizeUpgrade) : 0x7a9ef6122fe98bef1940de26e5e32145cf89c5919a539c04759954a4c27e3c5a

Moonbeam

✨ spec_version                : 1200
🏋 size                        : 1131782
#️⃣ sha256                      : 0x6074b7b2db2d410b71c8eecfb8b849cc87723a66b677112278c5319f3f0f7baf
#️⃣ blake2-256                  : 0xed658efc35c7949ead7283405e4509377bad584545ca03459fe0babad823af46
🗳️ proposal (authorizeUpgrade) : 0x9fe2446e6caa9d488ed27596e6df26ee9a95eadc94d4d90076cbfacdeae75aa7

Build information

WASM runtime built using rustc 1.56.1 (59eed8a2a 2021-11-01)

Changes

  • Improve stability & performance of EVM tracing Step event (#1033, #1144)
  • Add is_sufficient support for Assets (#1077)
  • Update Frontier/Ethereum/EVM to support Substrate v0.9.13 + EIP-1559 (#1006, #1176, #1178)
  • Add Identity to NonTransfer proxy for all runtimes (#1123)
  • Add eth_feeHistory RPC method (#1126)
  • Add Author mapping precompile (#1129, #1160)
  • Add deposit/withdraw wETH functions to balances ERC20 precompile (#1106, #1145)
  • Add Democracy precompile to Moonriver (#1148)
  • Disable Identity, ParachainStaking and Treasury in MaintenanceMode (#1153)
  • Improve precompiles support for payable/view keywords (#1142)
  • Fix XCM max UMP weight and add transact info migration (#1114)
  • Fix incorrect staking total for candidate bond more and add extrinsic to fix incorrect state (#1162)
  • Enable XCM on moonbeam (#1183)
  • Fix support for U256::MAX value in ERC20 precompiles approve (#1201)
  • Add support for multi-location Statemine prefix breaking change (#1159, #1205, #1220)
  • Fix leftover staking delegation request in execute_leave_candida...
Read more

Runtime 1103

24 Jan 19:09
6ce3f54
Compare
Choose a tag to compare

Runtimes

Moonbase

✨ spec_version                : 1103
🏋 size                        : 1093694
#️⃣ sha256                      : 0x8c2babf954992e52df2b302abfad9c248bd9518d27de7b16b4a60aba9c3ca995
#️⃣ blake2-256                  : 0x0edad6a307312fd8e6914f437eb006852503d9ab6701de7bae183e3a9b705cd4
🗳️ proposal (authorizeUpgrade) : 0xf4900788fcd6e0770f48e88cc7fb1574a594294d536d13a84d2a624a5d03bb5d

Moonriver

✨ spec_version                : 1103
🏋 size                        : 1085315
#️⃣ sha256                      : 0x1d3472e2e492188f07b3b9d16271c26684d4e12c0e338c3aee72a5df1a2a19dd
#️⃣ blake2-256                  : 0xe680ebbeb387ea4afb1ec8e899499688eaab30da28beb73887cf4c74ee7d8aa2
🗳️ proposal (authorizeUpgrade) : 0x4bcc3d16c0d137480c4b16f5709986166067a4d9fdebdf0a747df2f231004def

Moonbeam

✨ spec_version                : 1103
🏋 size                        : 752763
#️⃣ sha256                      : 0x92ecf01198fb6134f8015b6824ec54553376e97f906b15671c73d1288c39e335
#️⃣ blake2-256                  : 0xbde1888bf1a7dfe1964615a1aac135938025be32a1c1431e7e07e0ab059d31e1
🗳️ proposal (authorizeUpgrade) : 0x69a4e58b3a19d1ce4e76c0bcba025db714c62e66e2dba3c60371276c173a6801

Build information

WASM runtime built using rustc 1.53.0 (53cb7b09b 2021-06-17)

Changes

Dependency changes

Moonbeam: runtime-1102...runtime-1103
Substrate: moonbeam-foundation/substrate@e09e70a...e09e70a
Polkadot: moonbeam-foundation/polkadot@415ce0d...415ce0d
Cumulus: moonbeam-foundation/cumulus@1cb6d23...1cb6d23
Frontier: moonbeam-foundation/frontier@8cfdfa3...276a54a