github moonbeam-foundation/moonbeam runtime-1500
Runtime 1500

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

⚠️ Breaking changes ⚠️

AuthorMapping pallet

  • ⚠️ MappingWithDeposit map changed from
#[derive(Clone, Encode, Decode, PartialEq, Eq, Debug, scale_info::TypeInfo)]
pub struct RegistrationInfo<AccountId, Balance> {
  pub(crate) account: AccountId,
  pub(crate) deposit: Balance,
}

to

#[derive(Clone, Encode, Decode, PartialEq, Eq, Debug, scale_info::TypeInfo)]
#[scale_info(skip_type_params(T))]
pub struct RegistrationInfo<T: Config> {
  pub(crate) account: T::AccountId,
  pub(crate) deposit: BalanceOf<T>,
  pub(crate) keys: T::Keys,
}
  • add_association and update_association extrinsics set the VRF keys to the input nimbus_id. If a collator sets their VRF keys and accidentally calls update_association with the new nimbus key, then it will reset the VRF key to that input new nimbus key.

AuthorSlotFilter pallet

  • Deprecates the pallet_author_slot_filter::EligibleRatio config item (Percent) in favor of pallet_author_slot_filter::EligibleCount (EligibilityValue/NonZeroU32). A migration would populate the new EligibleCount value as a percentage of PotentialAuthors defined at that height, if a EligibleRatio value existed. If a previous value was missing, the migration will set EligibleCount to a default value of 50.

XCM

  • MultiLocations for self owned tokens (i.e., the native tokens and local tokens) no longer accepts the absolute path (as seen by the root/parent/relay) but only accepts the relative path (as seen by Moonbase/Monriver/Moonbeam). This is specially important for the xtokens.transfer_multiasset extrinsic/precompile, for which we have found no usage whatsoever in explorers.

ParachainStaking pallet

  • ⚠️ DelegatorState migrated to new value struct. Removes requests and adds less_total, which was previously part of requests. Breaking change towards RPC clients.

before:

        pub struct Delegator<AccountId, Balance> {
                ...
		/// Requests to change delegations, relevant iff active
		pub requests: PendingDelegationRequests<AccountId, Balance>,
		...
	}

now:

        pub struct Delegator<AccountId, Balance> {
                ...
		/// Sum of pending revocation amounts + bond less amounts
	        pub less_total: Balance,
		...
	}
  • ✔️ Adds a new storage item DelegationScheduledRequests which maps a collator AccountId to a list of pending delegation requests (Vec<ScheduledRequest>). This contains the information that was previously provided by the requests.requests (removed) field in DelegatorState.
pub struct ScheduledRequest<AccountId, Balance> {
	pub delegator: AccountId,
	pub when_executable: RoundIndex,
	pub action: DelegationAction<Balance>,
}
  • ⚠️ Updates CancelledDelegationRequest. Property cancelled_request now only includes action and when_executable. A new collator field is added. Breaking change towards RPC clients and Event consumers.

before:

pub struct DelegationRequest<AccountId, Balance> {
	pub collator: AccountId,
	pub amount: Balance,
	pub when_executable: RoundIndex,
	pub action: DelegationChange,
}

now:

pub struct CancelledScheduledRequest<Balance> {
	pub when_executable: RoundIndex,
	pub action: DelegationAction<Balance>,
}

Runtimes

Moonbase

✨ spec_version                : 1500
🏋 size                        : 1231741
#️⃣ sha256                      : 0x10361c0e3a0cef0f87ffd2ab7ba3325e1ef4086c4c64c722a0ae5f36dd0efa20
#️⃣ blake2-256                  : 0x01ccd67058685051d1b33c93a647f0d3d53c310a5979eedd7b64953b0c5f9763
🗳️ proposal (authorizeUpgrade) : 0xbdf996c9712e4e0ce641bd5a85546f042b6822d7b0c83f5dfb95632c734ff0cb

Moonriver

✨ spec_version                : 1500
🏋 size                        : 1230930
#️⃣ sha256                      : 0x4cd6e3467c33f27c011d45d27457e73da2bd0d742c29c2bd44ecaa20c114f1e8
#️⃣ blake2-256                  : 0xdc6eca875ce9decb206b0440e407694502bda293b0766dd5428eacba4eb03aa4
🗳️ proposal (authorizeUpgrade) : 0x81c217849e24df50c3a669a5803594e64c7f1749f1ab8d6e4db643dff11a238f

Moonbeam

✨ spec_version                : 1500
🏋 size                        : 1227255
#️⃣ sha256                      : 0x1aa12bf01c871f69d8ecfbbfaecaa0fef66cdc0d5d268ea08fd7613556a3ba52
#️⃣ blake2-256                  : 0x1fa23dd958623de54119040d31fcd21e0f87bb356890981721524ca689cd0fd8
🗳️ proposal (authorizeUpgrade) : 0x0f1532f1a900e2a39bf8e8863c2871471d0bf5e4f10519d31ffbc609343715ad

Build information

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

Changes

  • Implement EvmData for tuples (#1387)
  • Revert back wrong hasher introduced for AssetTypeUnitsPerSecond (#1402)
  • Add support for new session key format to author mapping pallet & precompile (#1407)
  • Expose pending delegation request to staking precompile (#1406)
  • Expose candidate request is pending to staking precompile (#1414)
  • Cleanup XCM config (#1401)
  • Expose round number to staking precompile (#1432)
  • Add EIP2612 (Permit) for ERC20/XC20 precompiles (#1429)
  • Implement pallet orbiters (#1374)
  • Change author eligibilityRatio (percentage) to eligibilityCount (absolute) (PureStake/nimbus#53, #1400, #1439)
  • Remove staking rewards distribution for pending revoke/decrease delegations (#1408)
  • Support compilation feature on-chain-release-build for smaller wasm (#1441)
  • Bump runtime version to 1500 (#1443)

Dependency changes

Moonbeam: runtime-1401...runtime-1500
Substrate: PureStake/substrate@fc3fd07...fc3fd07
Polkadot: PureStake/polkadot@f0dc95a...f0dc95a
Cumulus: PureStake/cumulus@76cf464...76cf464
Frontier: PureStake/frontier@8574920...79ed3f2

Don't miss a new moonbeam release

NewReleases is sending notifications on new releases.