Skip to content

Commit ebe6801

Browse files
ascjonesshawntabrizibkchr
authored
Metadata v14 (companion to #3336) (polkadot-fellows#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 paritytech/substrate#9737 * replace task executor with tokio handler paritytech/substrate#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>
1 parent c397e80 commit ebe6801

File tree

18 files changed

+149
-117
lines changed

18 files changed

+149
-117
lines changed

cumulus/pallets/collator-selection/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ targets = ['x86_64-unknown-linux-gnu']
1515
[dependencies]
1616
log = { version = "0.4.0", default-features = false }
1717
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = '2.0.0' }
18+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1819
serde = { version = "1.0.119", default-features = false }
1920
sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
2021
sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate', branch = "master" }
@@ -46,6 +47,7 @@ runtime-benchmarks = [
4647
std = [
4748
'codec/std',
4849
'log/std',
50+
'scale-info/std',
4951
'sp-runtime/std',
5052
'sp-staking/std',
5153
'sp-std/std',

cumulus/pallets/collator-selection/src/lib.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ pub mod pallet {
162162
}
163163

164164
/// Basic information about a collation candidate.
165-
#[derive(PartialEq, Eq, Clone, Encode, Decode, RuntimeDebug)]
165+
#[derive(PartialEq, Eq, Clone, Encode, Decode, RuntimeDebug, scale_info::TypeInfo)]
166166
pub struct CandidateInfo<AccountId, Balance> {
167167
/// Account identifier.
168168
pub who: AccountId,
@@ -247,7 +247,6 @@ pub mod pallet {
247247
}
248248

249249
#[pallet::event]
250-
#[pallet::metadata(T::AccountId = "AccountId", BalanceOf<T> = "Balance")]
251250
#[pallet::generate_deposit(pub(super) fn deposit_event)]
252251
pub enum Event<T: Config> {
253252
NewInvulnerables(Vec<T::AccountId>),

cumulus/polkadot-parachains/pallets/parachain-info/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ version = "0.1.0"
66

77
[dependencies]
88
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
9+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
910
serde = { version = "1.0.101", optional = true, features = ["derive"] }
1011

1112
frame-support = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
@@ -17,6 +18,7 @@ cumulus-primitives-core = { path = "../../../primitives/core", default-features
1718
default = ["std"]
1819
std = [
1920
"codec/std",
21+
"scale-info/std",
2022
"serde",
2123
"cumulus-primitives-core/std",
2224
"frame-support/std",

cumulus/polkadot-parachains/pallets/ping/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ version = "0.1.0"
66

77
[dependencies]
88
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
9+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
910
serde = { version = "1.0.101", optional = true, features = ["derive"] }
1011

1112
sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "master" }
@@ -22,6 +23,7 @@ cumulus-pallet-xcm = { path = "../../../pallets/xcm", default-features = false }
2223
default = ["std"]
2324
std = [
2425
"codec/std",
26+
"scale-info/std",
2527
"serde",
2628
"cumulus-primitives-core/std",
2729
"sp-std/std",

cumulus/polkadot-parachains/pallets/ping/src/lib.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ pub mod pallet {
7979

8080
#[pallet::event]
8181
#[pallet::generate_deposit(pub(super) fn deposit_event)]
82-
#[pallet::metadata(T::BlockNumber = "BlockNumber")]
8382
pub enum Event<T: Config> {
8483
PingSent(ParaId, u32, Vec<u8>),
8584
Pinged(ParaId, u32, Vec<u8>),
@@ -105,7 +104,7 @@ pub mod pallet {
105104
Xcm(vec![Transact {
106105
origin_type: OriginKind::Native,
107106
require_weight_at_most: 1_000,
108-
call: <T as Config>::Call::from(Call::<T>::ping(seq, payload.clone())).encode().into(),
107+
call: <T as Config>::Call::from(Call::<T>::ping { seq, payload: payload.clone() }).encode().into(),
109108
}]),
110109
) {
111110
Ok(()) => {
@@ -167,7 +166,7 @@ pub mod pallet {
167166
Xcm(vec![Transact {
168167
origin_type: OriginKind::Native,
169168
require_weight_at_most: 1_000,
170-
call: <T as Config>::Call::from(Call::<T>::pong(seq, payload.clone())).encode().into(),
169+
call: <T as Config>::Call::from(Call::<T>::pong { seq, payload: payload.clone() } ).encode().into(),
171170
}]),
172171
) {
173172
Ok(()) => Self::deposit_event(Event::PongSent(para, seq, payload)),

cumulus/polkadot-parachains/parachains-common/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ targets = ['x86_64-unknown-linux-gnu']
1111
[dependencies]
1212
# External dependencies
1313
codec = { package = 'parity-scale-codec', version = '2.0.0', features = ['derive'], default-features = false }
14+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1415

1516
# Substrate dependencies
1617
sp-consensus-aura = { git = 'https://github.com/paritytech/substrate', branch = "master", default-features = false }
@@ -42,6 +43,7 @@ substrate-wasm-builder = { git = 'https://github.com/paritytech/substrate', bran
4243
default = ["std"]
4344
std = [
4445
'codec/std',
46+
'scale-info/std',
4547
'sp-consensus-aura/std',
4648
'sp-std/std',
4749
'sp-io/std',

cumulus/polkadot-parachains/rococo/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ description = "Simple runtime used by the rococo parachain(s)"
77

88
[dependencies]
99
serde = { version = "1.0.101", optional = true, features = ["derive"] }
10+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1011
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
1112
log = { version = "0.4.14", default-features = false }
1213
parachain-info = { path = "../pallets/parachain-info", default-features = false }
@@ -63,6 +64,7 @@ substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", bran
6364
default = [ "std" ]
6465
std = [
6566
"codec/std",
67+
"scale-info/std",
6668
"serde",
6769
"log/std",
6870
"sp-api/std",

cumulus/polkadot-parachains/rococo/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ impl_runtime_apis! {
538538

539539
impl sp_api::Metadata<Block> for Runtime {
540540
fn metadata() -> OpaqueMetadata {
541-
Runtime::metadata().into()
541+
OpaqueMetadata::new(Runtime::metadata().into())
542542
}
543543
}
544544

cumulus/polkadot-parachains/shell/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = '2018'
77
[dependencies]
88
serde = { version = "1.0.101", optional = true, features = ["derive"] }
99
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] }
10+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1011
log = { version = "0.4.14", default-features = false }
1112
parachain-info = { path = "../pallets/parachain-info", default-features = false }
1213

@@ -44,6 +45,7 @@ substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", bran
4445
default = [ "std" ]
4546
std = [
4647
"codec/std",
48+
"scale-info/std",
4749
"serde",
4850
"log/std",
4951
"sp-api/std",

cumulus/polkadot-parachains/shell/src/lib.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#[cfg(feature = "std")]
2323
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
2424

25+
use codec::{Decode, Encode};
26+
use scale_info::TypeInfo;
2527
use sp_api::impl_runtime_apis;
2628
use sp_core::OpaqueMetadata;
2729
use sp_runtime::{
@@ -241,7 +243,7 @@ construct_runtime! {
241243
}
242244

243245
/// Simple implementation which fails any transaction which is signed.
244-
#[derive(Eq, PartialEq, Clone, Default, sp_core::RuntimeDebug, codec::Encode, codec::Decode)]
246+
#[derive(Eq, PartialEq, Clone, Default, sp_core::RuntimeDebug, Encode, Decode, TypeInfo)]
245247
pub struct DisallowSigned;
246248
impl sp_runtime::traits::SignedExtension for DisallowSigned {
247249
const IDENTIFIER: &'static str = "DisallowSigned";
@@ -319,7 +321,7 @@ impl_runtime_apis! {
319321

320322
impl sp_api::Metadata<Block> for Runtime {
321323
fn metadata() -> OpaqueMetadata {
322-
Runtime::metadata().into()
324+
OpaqueMetadata::new(Runtime::metadata().into())
323325
}
324326
}
325327

cumulus/polkadot-parachains/statemine/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ description = "Kusama variant of Statemint parachain runtime"
88
[dependencies]
99
serde = { version = "1.0.101", optional = true, features = ["derive"] }
1010
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
11+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1112
log = { version = "0.4.14", default-features = false }
1213
parachain-info = { path = "../pallets/parachain-info", default-features = false }
1314
smallvec = "1.6.1"
@@ -101,6 +102,7 @@ runtime-benchmarks = [
101102
]
102103
std = [
103104
"codec/std",
105+
"scale-info/std",
104106
"serde",
105107
"log/std",
106108
"sp-api/std",

cumulus/polkadot-parachains/statemine/src/lib.rs

+40-36
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ parameter_types! {
321321
/// The type used to represent the kinds of proxying allowed.
322322
#[derive(
323323
Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen,
324+
scale_info::TypeInfo,
324325
)]
325326
pub enum ProxyType {
326327
/// Fully permissioned proxy. Can execute any call on behalf of _proxied_.
@@ -348,58 +349,61 @@ impl InstanceFilter<Call> for ProxyType {
348349
match self {
349350
ProxyType::Any => true,
350351
ProxyType::NonTransfer => {
351-
!matches!(c, Call::Balances(..) | Call::Assets(..) | Call::Uniques(..))
352+
!matches!(c, Call::Balances { .. } | Call::Assets { .. } | Call::Uniques { .. })
352353
}
353354
ProxyType::CancelProxy => matches!(
354355
c,
355-
Call::Proxy(pallet_proxy::Call::reject_announcement(..))
356-
| Call::Utility(..) | Call::Multisig(..)
356+
Call::Proxy(pallet_proxy::Call::reject_announcement { .. })
357+
| Call::Utility { .. } | Call::Multisig { .. }
357358
),
358359
ProxyType::Assets => {
359360
matches!(
360361
c,
361-
Call::Assets(..) | Call::Utility(..) | Call::Multisig(..) | Call::Uniques(..)
362+
Call::Assets { .. }
363+
| Call::Utility { .. }
364+
| Call::Multisig { .. }
365+
| Call::Uniques { .. }
362366
)
363367
}
364368
ProxyType::AssetOwner => matches!(
365369
c,
366-
Call::Assets(pallet_assets::Call::create(..))
367-
| Call::Assets(pallet_assets::Call::destroy(..))
368-
| Call::Assets(pallet_assets::Call::transfer_ownership(..))
369-
| Call::Assets(pallet_assets::Call::set_team(..))
370-
| Call::Assets(pallet_assets::Call::set_metadata(..))
371-
| Call::Assets(pallet_assets::Call::clear_metadata(..))
372-
| Call::Uniques(pallet_uniques::Call::create(..))
373-
| Call::Uniques(pallet_uniques::Call::destroy(..))
374-
| Call::Uniques(pallet_uniques::Call::transfer_ownership(..))
375-
| Call::Uniques(pallet_uniques::Call::set_team(..))
376-
| Call::Uniques(pallet_uniques::Call::set_metadata(..))
377-
| Call::Uniques(pallet_uniques::Call::set_attribute(..))
378-
| Call::Uniques(pallet_uniques::Call::set_class_metadata(..))
379-
| Call::Uniques(pallet_uniques::Call::clear_metadata(..))
380-
| Call::Uniques(pallet_uniques::Call::clear_attribute(..))
381-
| Call::Uniques(pallet_uniques::Call::clear_class_metadata(..))
382-
| Call::Utility(..) | Call::Multisig(..)
370+
Call::Assets(pallet_assets::Call::create { .. })
371+
| Call::Assets(pallet_assets::Call::destroy { .. })
372+
| Call::Assets(pallet_assets::Call::transfer_ownership { .. })
373+
| Call::Assets(pallet_assets::Call::set_team { .. })
374+
| Call::Assets(pallet_assets::Call::set_metadata { .. })
375+
| Call::Assets(pallet_assets::Call::clear_metadata { .. })
376+
| Call::Uniques(pallet_uniques::Call::create { .. })
377+
| Call::Uniques(pallet_uniques::Call::destroy { .. })
378+
| Call::Uniques(pallet_uniques::Call::transfer_ownership { .. })
379+
| Call::Uniques(pallet_uniques::Call::set_team { .. })
380+
| Call::Uniques(pallet_uniques::Call::set_metadata { .. })
381+
| Call::Uniques(pallet_uniques::Call::set_attribute { .. })
382+
| Call::Uniques(pallet_uniques::Call::set_class_metadata { .. })
383+
| Call::Uniques(pallet_uniques::Call::clear_metadata { .. })
384+
| Call::Uniques(pallet_uniques::Call::clear_attribute { .. })
385+
| Call::Uniques(pallet_uniques::Call::clear_class_metadata { .. })
386+
| Call::Utility { .. } | Call::Multisig { .. }
383387
),
384388
ProxyType::AssetManager => matches!(
385389
c,
386-
Call::Assets(pallet_assets::Call::mint(..))
387-
| Call::Assets(pallet_assets::Call::burn(..))
388-
| Call::Assets(pallet_assets::Call::freeze(..))
389-
| Call::Assets(pallet_assets::Call::thaw(..))
390-
| Call::Assets(pallet_assets::Call::freeze_asset(..))
391-
| Call::Assets(pallet_assets::Call::thaw_asset(..))
392-
| Call::Uniques(pallet_uniques::Call::mint(..))
393-
| Call::Uniques(pallet_uniques::Call::burn(..))
394-
| Call::Uniques(pallet_uniques::Call::freeze(..))
395-
| Call::Uniques(pallet_uniques::Call::thaw(..))
396-
| Call::Uniques(pallet_uniques::Call::freeze_class(..))
397-
| Call::Uniques(pallet_uniques::Call::thaw_class(..))
398-
| Call::Utility(..) | Call::Multisig(..)
390+
Call::Assets(pallet_assets::Call::mint { .. })
391+
| Call::Assets(pallet_assets::Call::burn { .. })
392+
| Call::Assets(pallet_assets::Call::freeze { .. })
393+
| Call::Assets(pallet_assets::Call::thaw { .. })
394+
| Call::Assets(pallet_assets::Call::freeze_asset { .. })
395+
| Call::Assets(pallet_assets::Call::thaw_asset { .. })
396+
| Call::Uniques(pallet_uniques::Call::mint { .. })
397+
| Call::Uniques(pallet_uniques::Call::burn { .. })
398+
| Call::Uniques(pallet_uniques::Call::freeze { .. })
399+
| Call::Uniques(pallet_uniques::Call::thaw { .. })
400+
| Call::Uniques(pallet_uniques::Call::freeze_class { .. })
401+
| Call::Uniques(pallet_uniques::Call::thaw_class { .. })
402+
| Call::Utility { .. } | Call::Multisig { .. }
399403
),
400404
ProxyType::Collator => matches!(
401405
c,
402-
Call::CollatorSelection(..) | Call::Utility(..) | Call::Multisig(..)
406+
Call::CollatorSelection { .. } | Call::Utility { .. } | Call::Multisig { .. }
403407
),
404408
}
405409
}
@@ -771,7 +775,7 @@ impl_runtime_apis! {
771775

772776
impl sp_api::Metadata<Block> for Runtime {
773777
fn metadata() -> OpaqueMetadata {
774-
Runtime::metadata().into()
778+
OpaqueMetadata::new(Runtime::metadata().into())
775779
}
776780
}
777781

cumulus/polkadot-parachains/statemint/Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ description = "Statemint parachain runtime"
88
[dependencies]
99
serde = { version = "1.0.101", optional = true, features = ["derive"] }
1010
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
11+
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
1112
log = { version = "0.4.14", default-features = false }
1213
parachain-info = { path = "../pallets/parachain-info", default-features = false }
1314
smallvec = "1.6.1"
@@ -101,6 +102,7 @@ runtime-benchmarks = [
101102
]
102103
std = [
103104
"codec/std",
105+
"scale-info/std",
104106
"serde",
105107
"log/std",
106108
"sp-api/std",

0 commit comments

Comments
 (0)