Metadata v14 (companion to #3336) (#564)

* Remove event pallet::metadata attributes

* Add scale-info deps, TypeInfo derives, update call variants

* Update metadata runtime APIs

* Add missing scale_info dependency, update rococo runtime API

* Add missing scale_info dependency

* Remove pushed diener patches

* Cargo.lock

* Add missing scale-info dependencies

* Fixes

* Statemint runtime fixes

* Call struct variant empty matches

* Add missing scale-info dependency

* Fixes

* scale-info 1.0

* cargo update -p xcm

* update lock

* Update Cargo.lock

* update to latest polkadot

* remove rpc_http_threads

https://github.com/paritytech/substrate/pull/9737

* replace task executor with tokio handler

https://github.com/paritytech/substrate/pull/9737

* fix test compilation?

* Update Cargo.lock

* cargo update

* remove unused

* Update substrate and polkadot

* Update test/client/src/lib.rs

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
Andrew Jones
2021-09-16 11:11:05 +01:00
committed by GitHub
parent b39bad58f1
commit e3eb3a0a12
36 changed files with 576 additions and 409 deletions
+40 -36
View File
@@ -287,6 +287,7 @@ parameter_types! {
/// The type used to represent the kinds of proxying allowed.
#[derive(
Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen,
scale_info::TypeInfo,
)]
pub enum ProxyType {
/// Fully permissioned proxy. Can execute any call on behalf of _proxied_.
@@ -314,58 +315,61 @@ impl InstanceFilter<Call> for ProxyType {
match self {
ProxyType::Any => true,
ProxyType::NonTransfer => {
!matches!(c, Call::Balances(..) | Call::Assets(..) | Call::Uniques(..))
!matches!(c, Call::Balances { .. } | Call::Assets { .. } | Call::Uniques { .. })
}
ProxyType::CancelProxy => matches!(
c,
Call::Proxy(pallet_proxy::Call::reject_announcement(..))
| Call::Utility(..) | Call::Multisig(..)
Call::Proxy(pallet_proxy::Call::reject_announcement { .. })
| Call::Utility { .. } | Call::Multisig { .. }
),
ProxyType::Assets => {
matches!(
c,
Call::Assets(..) | Call::Utility(..) | Call::Multisig(..) | Call::Uniques(..)
Call::Assets { .. }
| Call::Utility { .. }
| Call::Multisig { .. }
| Call::Uniques { .. }
)
}
ProxyType::AssetOwner => matches!(
c,
Call::Assets(pallet_assets::Call::create(..))
| Call::Assets(pallet_assets::Call::destroy(..))
| Call::Assets(pallet_assets::Call::transfer_ownership(..))
| Call::Assets(pallet_assets::Call::set_team(..))
| Call::Assets(pallet_assets::Call::set_metadata(..))
| Call::Assets(pallet_assets::Call::clear_metadata(..))
| Call::Uniques(pallet_uniques::Call::create(..))
| Call::Uniques(pallet_uniques::Call::destroy(..))
| Call::Uniques(pallet_uniques::Call::transfer_ownership(..))
| Call::Uniques(pallet_uniques::Call::set_team(..))
| Call::Uniques(pallet_uniques::Call::set_metadata(..))
| Call::Uniques(pallet_uniques::Call::set_attribute(..))
| Call::Uniques(pallet_uniques::Call::set_class_metadata(..))
| Call::Uniques(pallet_uniques::Call::clear_metadata(..))
| Call::Uniques(pallet_uniques::Call::clear_attribute(..))
| Call::Uniques(pallet_uniques::Call::clear_class_metadata(..))
| Call::Utility(..) | Call::Multisig(..)
Call::Assets(pallet_assets::Call::create { .. })
| Call::Assets(pallet_assets::Call::destroy { .. })
| Call::Assets(pallet_assets::Call::transfer_ownership { .. })
| Call::Assets(pallet_assets::Call::set_team { .. })
| Call::Assets(pallet_assets::Call::set_metadata { .. })
| Call::Assets(pallet_assets::Call::clear_metadata { .. })
| Call::Uniques(pallet_uniques::Call::create { .. })
| Call::Uniques(pallet_uniques::Call::destroy { .. })
| Call::Uniques(pallet_uniques::Call::transfer_ownership { .. })
| Call::Uniques(pallet_uniques::Call::set_team { .. })
| Call::Uniques(pallet_uniques::Call::set_metadata { .. })
| Call::Uniques(pallet_uniques::Call::set_attribute { .. })
| Call::Uniques(pallet_uniques::Call::set_class_metadata { .. })
| Call::Uniques(pallet_uniques::Call::clear_metadata { .. })
| Call::Uniques(pallet_uniques::Call::clear_attribute { .. })
| Call::Uniques(pallet_uniques::Call::clear_class_metadata { .. })
| Call::Utility { .. } | Call::Multisig { .. }
),
ProxyType::AssetManager => matches!(
c,
Call::Assets(pallet_assets::Call::mint(..))
| Call::Assets(pallet_assets::Call::burn(..))
| Call::Assets(pallet_assets::Call::freeze(..))
| Call::Assets(pallet_assets::Call::thaw(..))
| Call::Assets(pallet_assets::Call::freeze_asset(..))
| Call::Assets(pallet_assets::Call::thaw_asset(..))
| Call::Uniques(pallet_uniques::Call::mint(..))
| Call::Uniques(pallet_uniques::Call::burn(..))
| Call::Uniques(pallet_uniques::Call::freeze(..))
| Call::Uniques(pallet_uniques::Call::thaw(..))
| Call::Uniques(pallet_uniques::Call::freeze_class(..))
| Call::Uniques(pallet_uniques::Call::thaw_class(..))
| Call::Utility(..) | Call::Multisig(..)
Call::Assets(pallet_assets::Call::mint { .. })
| Call::Assets(pallet_assets::Call::burn { .. })
| Call::Assets(pallet_assets::Call::freeze { .. })
| Call::Assets(pallet_assets::Call::thaw { .. })
| Call::Assets(pallet_assets::Call::freeze_asset { .. })
| Call::Assets(pallet_assets::Call::thaw_asset { .. })
| Call::Uniques(pallet_uniques::Call::mint { .. })
| Call::Uniques(pallet_uniques::Call::burn { .. })
| Call::Uniques(pallet_uniques::Call::freeze { .. })
| Call::Uniques(pallet_uniques::Call::thaw { .. })
| Call::Uniques(pallet_uniques::Call::freeze_class { .. })
| Call::Uniques(pallet_uniques::Call::thaw_class { .. })
| Call::Utility { .. } | Call::Multisig { .. }
),
ProxyType::Collator => matches!(
c,
Call::CollatorSelection(..) | Call::Utility(..) | Call::Multisig(..)
Call::CollatorSelection { .. } | Call::Utility { .. } | Call::Multisig { .. }
),
}
}
@@ -756,7 +760,7 @@ impl_runtime_apis! {
impl sp_api::Metadata<Block> for Runtime {
fn metadata() -> OpaqueMetadata {
Runtime::metadata().into()
OpaqueMetadata::new(Runtime::metadata().into())
}
}