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 b5e7376758
commit 035a576008
36 changed files with 576 additions and 409 deletions
+2
View File
@@ -8,6 +8,7 @@ description = "Kusama variant of Statemint parachain runtime"
[dependencies]
serde = { version = "1.0.101", optional = true, features = ["derive"] }
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
log = { version = "0.4.14", default-features = false }
parachain-info = { path = "../pallets/parachain-info", default-features = false }
smallvec = "1.6.1"
@@ -101,6 +102,7 @@ runtime-benchmarks = [
]
std = [
"codec/std",
"scale-info/std",
"serde",
"log/std",
"sp-api/std",
+40 -36
View File
@@ -321,6 +321,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_.
@@ -348,58 +349,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 { .. }
),
}
}
@@ -771,7 +775,7 @@ impl_runtime_apis! {
impl sp_api::Metadata<Block> for Runtime {
fn metadata() -> OpaqueMetadata {
Runtime::metadata().into()
OpaqueMetadata::new(Runtime::metadata().into())
}
}