⚠ 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
⚠️ 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: PureStake/polkadot@2fd38f0...aadb8a6
Cumulus: PureStake/cumulus@a863763...595d0ab
Frontier: PureStake/frontier@896f99a...696a7a4