Skip to content

Instantly share code, notes, and snippets.

@wenxingxing
Last active October 21, 2022 13:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wenxingxing/d8175fc1935e06dacf2a95abe0ec1a82 to your computer and use it in GitHub Desktop.
Save wenxingxing/d8175fc1935e06dacf2a95abe0ec1a82 to your computer and use it in GitHub Desktop.
expand runtime/src/lib.rs
#![feature(prelude_import)]
#![recursion_limit = "256"]
#[prelude_import]
use std::prelude::rust_2021::*;
#[macro_use]
extern crate std;
pub use frame_support::{
construct_runtime, parameter_types,
traits::{
ConstU128, ConstU32, ConstU64, ConstU8, KeyOwnerProofSystem, Randomness, StorageInfo,
},
weights::{
constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
IdentityFee, Weight,
},
StorageValue,
};
pub use frame_system::Call as SystemCall;
pub use pallet_balances::Call as BalancesCall;
use pallet_grandpa::{
fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList,
};
/// Import the template pallet.
pub use pallet_template;
pub use pallet_timestamp::Call as TimestampCall;
use pallet_transaction_payment::CurrencyAdapter;
use sp_api::impl_runtime_apis;
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
#[cfg(any(feature = "std", test))]
pub use sp_runtime::BuildStorage;
use sp_runtime::{
create_runtime_str, generic, impl_opaque_keys,
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, NumberFor, Verify},
transaction_validity::{TransactionSource, TransactionValidity},
ApplyExtrinsicResult, MultiSignature,
};
pub use sp_runtime::{Perbill, Permill};
use sp_std::prelude::*;
#[cfg(feature = "std")]
use sp_version::NativeVersion;
use sp_version::RuntimeVersion;
/// An index to a block.
pub type BlockNumber = u32;
/// Alias to 512-bit hash when used in the context of a transaction signature on the chain.
pub type Signature = MultiSignature;
/// Some way of identifying an account on the chain. We intentionally make it equivalent
/// to the public key of our transaction signing scheme.
pub type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;
/// Balance of an account.
pub type Balance = u128;
/// Index of a transaction in the chain.
pub type Index = u32;
/// A hash of some data used by the chain.
pub type Hash = sp_core::H256;
/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know
/// the specifics of the runtime. They can then be made to be agnostic over specific formats
/// of data like extrinsics, allowing for them to continue syncing the network through upgrades
/// to even the core data structures.
pub mod opaque {
use super::*;
pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic;
/// Opaque block header type.
pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
/// Opaque block type.
pub type Block = generic::Block<Header, UncheckedExtrinsic>;
/// Opaque block identifier type.
pub type BlockId = generic::BlockId<Block>;
use ::sp_runtime::serde as __opaque_keys_serde_import__SessionKeys;
#[serde(crate = "__opaque_keys_serde_import__SessionKeys")]
pub struct SessionKeys {
pub aura: <Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
pub grandpa: <Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
}
#[automatically_derived]
impl ::core::clone::Clone for SessionKeys {
#[inline]
fn clone(&self) -> SessionKeys {
SessionKeys {
aura: ::core::clone::Clone::clone(&self.aura),
grandpa: ::core::clone::Clone::clone(&self.grandpa),
}
}
}
impl ::core::marker::StructuralPartialEq for SessionKeys {}
#[automatically_derived]
impl ::core::cmp::PartialEq for SessionKeys {
#[inline]
fn eq(&self, other: &SessionKeys) -> bool {
self.aura == other.aura && self.grandpa == other.grandpa
}
}
impl ::core::marker::StructuralEq for SessionKeys {}
#[automatically_derived]
impl ::core::cmp::Eq for SessionKeys {
#[inline]
#[doc(hidden)]
#[no_coverage]
fn assert_receiver_is_total_eq(&self) -> () {
let _: ::core::cmp::AssertParamIsEq<
<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>;
let _: ::core::cmp::AssertParamIsEq<
<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>;
}
}
#[allow(deprecated)]
const _: () = {
#[automatically_derived]
impl ::codec::Encode for SessionKeys {
fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
) {
::codec::Encode::encode_to(&self.aura, __codec_dest_edqy);
::codec::Encode::encode_to(&self.grandpa, __codec_dest_edqy);
}
}
#[automatically_derived]
impl ::codec::EncodeLike for SessionKeys {}
};
#[allow(deprecated)]
const _: () = {
#[automatically_derived]
impl ::codec::Decode for SessionKeys {
fn decode<__CodecInputEdqy: ::codec::Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> ::core::result::Result<Self, ::codec::Error> {
::core::result::Result::Ok(SessionKeys {
aura: {
let __codec_res_edqy = <<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `SessionKeys::aura`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
},
grandpa: {
let __codec_res_edqy = <<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `SessionKeys::grandpa`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
},
})
}
}
};
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
impl ::scale_info::TypeInfo for SessionKeys {
type Identity = Self;
fn type_info() -> ::scale_info::Type {
::scale_info::Type::builder()
.path(::scale_info::Path::new("SessionKeys", "node_template_runtime::opaque"))
.type_params(::alloc::vec::Vec::new())
.docs(&[])
.composite(
::scale_info::build::Fields::named()
.field(|f| {
f.ty::<<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public>()
.name("aura")
.type_name("<Aura as $crate::BoundToRuntimeAppPublic>::Public")
.docs(&[])
})
.field(|f| {
f.ty::<<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public>()
.name("grandpa")
.type_name(
"<Grandpa as $crate::BoundToRuntimeAppPublic>::Public",
)
.docs(&[])
}),
)
}
}
};
impl core::fmt::Debug for SessionKeys {
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
fmt.debug_struct("SessionKeys")
.field("aura", &self.aura)
.field("grandpa", &self.grandpa)
.finish()
}
}
#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
use __opaque_keys_serde_import__SessionKeys as _serde;
#[automatically_derived]
impl __opaque_keys_serde_import__SessionKeys::Serialize for SessionKeys {
fn serialize<__S>(
&self,
__serializer: __S,
) -> __opaque_keys_serde_import__SessionKeys::__private::Result<__S::Ok, __S::Error>
where
__S: __opaque_keys_serde_import__SessionKeys::Serializer,
{
let mut __serde_state = match _serde::Serializer::serialize_struct(
__serializer,
"SessionKeys",
false as usize + 1 + 1,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"aura",
&self.aura,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"grandpa",
&self.grandpa,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};
#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
use __opaque_keys_serde_import__SessionKeys as _serde;
#[automatically_derived]
impl<'de> __opaque_keys_serde_import__SessionKeys::Deserialize<'de> for SessionKeys {
fn deserialize<__D>(
__deserializer: __D,
) -> __opaque_keys_serde_import__SessionKeys::__private::Result<Self, __D::Error>
where
__D: __opaque_keys_serde_import__SessionKeys::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
enum __Field {
__field0,
__field1,
__ignore,
}
struct __FieldVisitor;
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(
&self,
__formatter: &mut _serde::__private::Formatter,
) -> _serde::__private::fmt::Result {
_serde::__private::Formatter::write_str(__formatter, "field identifier")
}
fn visit_u64<__E>(
self,
__value: u64,
) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
0u64 => _serde::__private::Ok(__Field::__field0),
1u64 => _serde::__private::Ok(__Field::__field1),
_ => _serde::__private::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(
self,
__value: &str,
) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
"aura" => _serde::__private::Ok(__Field::__field0),
"grandpa" => _serde::__private::Ok(__Field::__field1),
_ => _serde::__private::Ok(__Field::__ignore),
}
}
fn visit_bytes<__E>(
self,
__value: &[u8],
) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
b"aura" => _serde::__private::Ok(__Field::__field0),
b"grandpa" => _serde::__private::Ok(__Field::__field1),
_ => _serde::__private::Ok(__Field::__ignore),
}
}
}
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(
__deserializer: __D,
) -> _serde::__private::Result<Self, __D::Error>
where
__D: _serde::Deserializer<'de>,
{
_serde::Deserializer::deserialize_identifier(__deserializer, __FieldVisitor)
}
}
struct __Visitor<'de> {
marker: _serde::__private::PhantomData<SessionKeys>,
lifetime: _serde::__private::PhantomData<&'de ()>,
}
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = SessionKeys;
fn expecting(
&self,
__formatter: &mut _serde::__private::Formatter,
) -> _serde::__private::fmt::Result {
_serde::__private::Formatter::write_str(__formatter, "struct SessionKeys")
}
#[inline]
fn visit_seq<__A>(
self,
mut __seq: __A,
) -> _serde::__private::Result<Self::Value, __A::Error>
where
__A: _serde::de::SeqAccess<'de>,
{
let __field0 = match match _serde::de::SeqAccess::next_element::<
<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>(&mut __seq)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
0usize,
&"struct SessionKeys with 2 elements",
));
},
};
let __field1 = match match _serde::de::SeqAccess::next_element::<
<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>(&mut __seq)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
1usize,
&"struct SessionKeys with 2 elements",
));
},
};
_serde::__private::Ok(SessionKeys { aura: __field0, grandpa: __field1 })
}
#[inline]
fn visit_map<__A>(
self,
mut __map: __A,
) -> _serde::__private::Result<Self::Value, __A::Error>
where
__A: _serde::de::MapAccess<'de>,
{
let mut __field0: _serde::__private::Option<
<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
> = _serde::__private::None;
let mut __field1: _serde::__private::Option<
<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
> = _serde::__private::None;
while let _serde::__private::Some(__key) =
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
match __key {
__Field::__field0 => {
if _serde::__private::Option::is_some(&__field0) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"aura",
),
);
}
__field0 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<
<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>(&mut __map)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field1 => {
if _serde::__private::Option::is_some(&__field1) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"grandpa",
),
);
}
__field1 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<
<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public,
>(&mut __map) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
}
},
);
},
_ => {
let _ = match _serde::de::MapAccess::next_value::<
_serde::de::IgnoredAny,
>(&mut __map)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
},
}
}
let __field0 = match __field0 {
_serde::__private::Some(__field0) => __field0,
_serde::__private::None => {
match _serde::__private::de::missing_field("aura") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field1 = match __field1 {
_serde::__private::Some(__field1) => __field1,
_serde::__private::None => {
match _serde::__private::de::missing_field("grandpa") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
_serde::__private::Ok(SessionKeys { aura: __field0, grandpa: __field1 })
}
}
const FIELDS: &'static [&'static str] = &["aura", "grandpa"];
_serde::Deserializer::deserialize_struct(
__deserializer,
"SessionKeys",
FIELDS,
__Visitor {
marker: _serde::__private::PhantomData::<SessionKeys>,
lifetime: _serde::__private::PhantomData,
},
)
}
}
};
impl SessionKeys {
/// Generate a set of keys with optionally using the given seed.
///
/// The generated key pairs are stored in the keystore.
///
/// Returns the concatenated SCALE encoded public keys.
pub fn generate(
seed: Option<::sp_runtime::sp_std::vec::Vec<u8>>,
) -> ::sp_runtime::sp_std::vec::Vec<u8> {
let keys = Self {
aura: <<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::generate_pair(
seed.clone(),
),
grandpa: <<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::generate_pair(
seed.clone(),
),
};
::sp_runtime::codec::Encode::encode(&keys)
}
/// Converts `Self` into a `Vec` of `(raw public key, KeyTypeId)`.
pub fn into_raw_public_keys(
self,
) -> ::sp_runtime::sp_std::vec::Vec<(
::sp_runtime::sp_std::vec::Vec<u8>,
::sp_runtime::KeyTypeId,
)> {
let mut keys = Vec::new();
keys.push((
::sp_runtime::RuntimeAppPublic::to_raw_vec(&self.aura),
<<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID,
));
keys.push((
::sp_runtime::RuntimeAppPublic::to_raw_vec(&self.grandpa),
<<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID,
));
keys
}
/// Decode `Self` from the given `encoded` slice and convert `Self` into the raw public
/// keys (see [`Self::into_raw_public_keys`]).
///
/// Returns `None` when the decoding failed, otherwise `Some(_)`.
pub fn decode_into_raw_public_keys(
encoded: &[u8],
) -> Option<
::sp_runtime::sp_std::vec::Vec<(
::sp_runtime::sp_std::vec::Vec<u8>,
::sp_runtime::KeyTypeId,
)>,
> {
<Self as ::sp_runtime::codec::Decode>::decode(&mut &encoded[..])
.ok()
.map(|s| s.into_raw_public_keys())
}
}
impl ::sp_runtime::traits::OpaqueKeys for SessionKeys {
type KeyTypeIdProviders = (Aura, Grandpa);
fn key_ids() -> &'static [::sp_runtime::KeyTypeId] {
&[
<<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID,
<<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID,
]
}
fn get_raw(&self, i: ::sp_runtime::KeyTypeId) -> &[u8] {
match i {
i if i
== <<Aura as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID => {
self.aura.as_ref()
}
i if i
== <<Grandpa as ::sp_runtime::BoundToRuntimeAppPublic>::Public as ::sp_runtime::RuntimeAppPublic>::ID => {
self.grandpa.as_ref()
}
_ => &[],
}
}
}
}
pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: { ::sp_runtime::RuntimeString::Borrowed("node-template") },
impl_name: { ::sp_runtime::RuntimeString::Borrowed("node-template") },
authoring_version: 1,
spec_version: 100,
impl_version: 1,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
state_version: 1,
};
const _: () = {};
/// This determines the average expected block time that we are targeting.
/// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`.
/// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked
/// up by `pallet_aura` to implement `fn slot_duration()`.
///
/// Change this to adjust the block time.
pub const MILLISECS_PER_BLOCK: u64 = 6000;
pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;
pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);
pub const HOURS: BlockNumber = MINUTES * 60;
pub const DAYS: BlockNumber = HOURS * 24;
/// The version information used to identify this runtime when compiled natively.
#[cfg(feature = "std")]
pub fn native_version() -> NativeVersion {
NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
}
const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);
pub struct BlockHashCount;
impl BlockHashCount {
/// Returns the value of this parameter type.
pub const fn get() -> BlockNumber {
2400
}
}
impl<I: From<BlockNumber>> ::frame_support::traits::Get<I> for BlockHashCount {
fn get() -> I {
I::from(Self::get())
}
}
impl ::frame_support::traits::TypedGet for BlockHashCount {
type Type = BlockNumber;
fn get() -> BlockNumber {
Self::get()
}
}
pub struct Version;
impl Version {
/// Returns the value of this parameter type.
pub const fn get() -> RuntimeVersion {
VERSION
}
}
impl<I: From<RuntimeVersion>> ::frame_support::traits::Get<I> for Version {
fn get() -> I {
I::from(Self::get())
}
}
impl ::frame_support::traits::TypedGet for Version {
type Type = RuntimeVersion;
fn get() -> RuntimeVersion {
Self::get()
}
}
/// We allow for 2 seconds of compute with a 6 second average block time.
pub struct BlockWeights;
impl BlockWeights {
/// Returns the value of this parameter type.
pub fn get() -> frame_system::limits::BlockWeights {
frame_system::limits::BlockWeights::with_sensible_defaults(
2 * WEIGHT_PER_SECOND,
NORMAL_DISPATCH_RATIO,
)
}
}
impl<I: From<frame_system::limits::BlockWeights>> ::frame_support::traits::Get<I> for BlockWeights {
fn get() -> I {
I::from(Self::get())
}
}
impl ::frame_support::traits::TypedGet for BlockWeights {
type Type = frame_system::limits::BlockWeights;
fn get() -> frame_system::limits::BlockWeights {
Self::get()
}
}
pub struct BlockLength;
impl BlockLength {
/// Returns the value of this parameter type.
pub fn get() -> frame_system::limits::BlockLength {
frame_system::limits::BlockLength::max_with_normal_ratio(
5 * 1024 * 1024,
NORMAL_DISPATCH_RATIO,
)
}
}
impl<I: From<frame_system::limits::BlockLength>> ::frame_support::traits::Get<I> for BlockLength {
fn get() -> I {
I::from(Self::get())
}
}
impl ::frame_support::traits::TypedGet for BlockLength {
type Type = frame_system::limits::BlockLength;
fn get() -> frame_system::limits::BlockLength {
Self::get()
}
}
pub struct SS58Prefix;
impl SS58Prefix {
/// Returns the value of this parameter type.
pub const fn get() -> u8 {
42
}
}
impl<I: From<u8>> ::frame_support::traits::Get<I> for SS58Prefix {
fn get() -> I {
I::from(Self::get())
}
}
impl ::frame_support::traits::TypedGet for SS58Prefix {
type Type = u8;
fn get() -> u8 {
Self::get()
}
}
impl frame_system::Config for Runtime {
/// The basic call filter to use in dispatchable.
type BaseCallFilter = frame_support::traits::Everything;
/// Block & extrinsics weights: base values and limits.
type BlockWeights = BlockWeights;
/// The maximum length of a block (in bytes).
type BlockLength = BlockLength;
/// The identifier used to distinguish between accounts.
type AccountId = AccountId;
/// The aggregated dispatch type that is available for extrinsics.
type Call = Call;
/// The lookup mechanism to get account ID from whatever is passed in dispatchers.
type Lookup = AccountIdLookup<AccountId, ()>;
/// The index type for storing how many extrinsics an account has signed.
type Index = Index;
/// The index type for blocks.
type BlockNumber = BlockNumber;
/// The type for hashing blocks and tries.
type Hash = Hash;
/// The hashing algorithm used.
type Hashing = BlakeTwo256;
/// The header type.
type Header = generic::Header<BlockNumber, BlakeTwo256>;
/// The ubiquitous event type.
type Event = Event;
/// The ubiquitous origin type.
type Origin = Origin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount;
/// The weight of database operations that the runtime can invoke.
type DbWeight = RocksDbWeight;
/// Version of the runtime.
type Version = Version;
/// Converts a module to the index of the module in `construct_runtime!`.
///
/// This type is being generated by `construct_runtime!`.
type PalletInfo = PalletInfo;
/// What to do if a new account is created.
type OnNewAccount = ();
/// What to do if an account is fully reaped from the system.
type OnKilledAccount = ();
/// The data to be stored in an account.
type AccountData = pallet_balances::AccountData<Balance>;
/// Weight information for the extrinsics of this pallet.
type SystemWeightInfo = ();
/// This is used as an identifier of the chain. 42 is the generic substrate prefix.
type SS58Prefix = SS58Prefix;
/// The set code logic, just the default since we're not a parachain.
type OnSetCode = ();
type MaxConsumers = frame_support::traits::ConstU32<16>;
}
impl pallet_randomness_collective_flip::Config for Runtime {}
impl pallet_aura::Config for Runtime {
type AuthorityId = AuraId;
type DisabledValidators = ();
type MaxAuthorities = ConstU32<32>;
}
impl pallet_grandpa::Config for Runtime {
type Event = Event;
type Call = Call;
type KeyOwnerProofSystem = ();
type KeyOwnerProof =
<Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, GrandpaId)>>::Proof;
type KeyOwnerIdentification = <Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(
KeyTypeId,
GrandpaId,
)>>::IdentificationTuple;
type HandleEquivocation = ();
type WeightInfo = ();
type MaxAuthorities = ConstU32<32>;
}
impl pallet_timestamp::Config for Runtime {
/// A timestamp: milliseconds since the unix epoch.
type Moment = u64;
type OnTimestampSet = Aura;
type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>;
type WeightInfo = ();
}
/// Existential deposit.
pub const EXISTENTIAL_DEPOSIT: u128 = 500;
impl pallet_balances::Config for Runtime {
type MaxLocks = ConstU32<50>;
type MaxReserves = ();
type ReserveIdentifier = [u8; 8];
/// The type for recording an account's balance.
type Balance = Balance;
/// The ubiquitous event type.
type Event = Event;
type DustRemoval = ();
type ExistentialDeposit = ConstU128<EXISTENTIAL_DEPOSIT>;
type AccountStore = System;
type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>;
}
impl pallet_transaction_payment::Config for Runtime {
type Event = Event;
type OnChargeTransaction = CurrencyAdapter<Balances, ()>;
type OperationalFeeMultiplier = ConstU8<5>;
type WeightToFee = IdentityFee<Balance>;
type LengthToFee = IdentityFee<Balance>;
type FeeMultiplierUpdate = ();
}
impl pallet_sudo::Config for Runtime {
type Event = Event;
type Call = Call;
}
/// Configure the pallet-template in pallets/template.
impl pallet_template::Config for Runtime {
type Event = Event;
}
#[doc(hidden)]
mod sp_api_hidden_includes_construct_runtime {
pub extern crate frame_support as hidden_include;
}
const _: () = {
#[allow(unused)]
type __hidden_use_of_unchecked_extrinsic = UncheckedExtrinsic;
};
pub struct Runtime;
#[automatically_derived]
impl ::core::clone::Clone for Runtime {
#[inline]
fn clone(&self) -> Runtime {
*self
}
}
#[automatically_derived]
impl ::core::marker::Copy for Runtime {}
impl ::core::marker::StructuralPartialEq for Runtime {}
#[automatically_derived]
impl ::core::cmp::PartialEq for Runtime {
#[inline]
fn eq(&self, other: &Runtime) -> bool {
true
}
}
impl ::core::marker::StructuralEq for Runtime {}
#[automatically_derived]
impl ::core::cmp::Eq for Runtime {
#[inline]
#[doc(hidden)]
#[no_coverage]
fn assert_receiver_is_total_eq(&self) -> () {}
}
impl core::fmt::Debug for Runtime {
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
fmt.debug_tuple("Runtime").finish()
}
}
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
impl ::scale_info::TypeInfo for Runtime {
type Identity = Self;
fn type_info() -> ::scale_info::Type {
::scale_info::Type::builder()
.path(::scale_info::Path::new("Runtime", "node_template_runtime"))
.type_params(::alloc::vec::Vec::new())
.docs(&[])
.composite(::scale_info::build::Fields::unit())
}
}
};
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::GetNodeBlockType
for Runtime {
type NodeBlock = opaque::Block;
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::GetRuntimeBlockType
for Runtime {
type RuntimeBlock = Block;
}
#[allow(non_camel_case_types)]
pub enum Event {
#[codec(index = 0u8)]
System(frame_system::Event<Runtime>),
#[codec(index = 4u8)]
Grandpa(pallet_grandpa::Event),
#[codec(index = 5u8)]
Balances(pallet_balances::Event<Runtime>),
#[codec(index = 6u8)]
TransactionPayment(pallet_transaction_payment::Event<Runtime>),
#[codec(index = 7u8)]
Sudo(pallet_sudo::Event<Runtime>),
#[codec(index = 8u8)]
TemplateModule(pallet_template::Event<Runtime>),
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::clone::Clone for Event {
#[inline]
fn clone(&self) -> Event {
match self {
Event::System(__self_0) => Event::System(::core::clone::Clone::clone(__self_0)),
Event::Grandpa(__self_0) => Event::Grandpa(::core::clone::Clone::clone(__self_0)),
Event::Balances(__self_0) => Event::Balances(::core::clone::Clone::clone(__self_0)),
Event::TransactionPayment(__self_0) => {
Event::TransactionPayment(::core::clone::Clone::clone(__self_0))
},
Event::Sudo(__self_0) => Event::Sudo(::core::clone::Clone::clone(__self_0)),
Event::TemplateModule(__self_0) => {
Event::TemplateModule(::core::clone::Clone::clone(__self_0))
},
}
}
}
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralPartialEq for Event {}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialEq for Event {
#[inline]
fn eq(&self, other: &Event) -> bool {
let __self_tag = ::core::intrinsics::discriminant_value(self);
let __arg1_tag = ::core::intrinsics::discriminant_value(other);
__self_tag == __arg1_tag
&& match (self, other) {
(Event::System(__self_0), Event::System(__arg1_0)) => *__self_0 == *__arg1_0,
(Event::Grandpa(__self_0), Event::Grandpa(__arg1_0)) => *__self_0 == *__arg1_0,
(Event::Balances(__self_0), Event::Balances(__arg1_0)) => *__self_0 == *__arg1_0,
(Event::TransactionPayment(__self_0), Event::TransactionPayment(__arg1_0)) => {
*__self_0 == *__arg1_0
},
(Event::Sudo(__self_0), Event::Sudo(__arg1_0)) => *__self_0 == *__arg1_0,
(Event::TemplateModule(__self_0), Event::TemplateModule(__arg1_0)) => {
*__self_0 == *__arg1_0
},
_ => unsafe { ::core::intrinsics::unreachable() },
}
}
}
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralEq for Event {}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::Eq for Event {
#[inline]
#[doc(hidden)]
#[no_coverage]
fn assert_receiver_is_total_eq(&self) -> () {
let _: ::core::cmp::AssertParamIsEq<frame_system::Event<Runtime>>;
let _: ::core::cmp::AssertParamIsEq<pallet_grandpa::Event>;
let _: ::core::cmp::AssertParamIsEq<pallet_balances::Event<Runtime>>;
let _: ::core::cmp::AssertParamIsEq<pallet_transaction_payment::Event<Runtime>>;
let _: ::core::cmp::AssertParamIsEq<pallet_sudo::Event<Runtime>>;
let _: ::core::cmp::AssertParamIsEq<pallet_template::Event<Runtime>>;
}
}
#[allow(deprecated)]
const _: () = {
#[allow(non_camel_case_types)]
#[automatically_derived]
impl ::codec::Encode for Event {
fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
) {
match *self {
Event::System(ref aa) => {
__codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Event::Grandpa(ref aa) => {
__codec_dest_edqy.push_byte(4u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Event::Balances(ref aa) => {
__codec_dest_edqy.push_byte(5u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Event::TransactionPayment(ref aa) => {
__codec_dest_edqy.push_byte(6u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Event::Sudo(ref aa) => {
__codec_dest_edqy.push_byte(7u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Event::TemplateModule(ref aa) => {
__codec_dest_edqy.push_byte(8u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
_ => {},
}
}
}
#[automatically_derived]
impl ::codec::EncodeLike for Event {}
};
#[allow(deprecated)]
const _: () = {
#[allow(non_camel_case_types)]
#[automatically_derived]
impl ::codec::Decode for Event {
fn decode<__CodecInputEdqy: ::codec::Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> ::core::result::Result<Self, ::codec::Error> {
match __codec_input_edqy
.read_byte()
.map_err(|e| e.chain("Could not decode `Event`, failed to read variant byte"))?
{
__codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::System({
let __codec_res_edqy =
<frame_system::Event<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::System.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 4u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::Grandpa({
let __codec_res_edqy =
<pallet_grandpa::Event as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::Grandpa.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 5u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::Balances({
let __codec_res_edqy =
<pallet_balances::Event<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::Balances.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 6u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::TransactionPayment({
let __codec_res_edqy =
<pallet_transaction_payment::Event<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::TransactionPayment.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 7u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::Sudo({
let __codec_res_edqy =
<pallet_sudo::Event<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::Sudo.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 8u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Event::TemplateModule({
let __codec_res_edqy =
<pallet_template::Event<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Event::TemplateModule.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
_ => ::core::result::Result::Err(<_ as ::core::convert::Into<_>>::into(
"Could not decode `Event`, variant doesn't exist",
)),
}
}
}
};
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
impl ::scale_info::TypeInfo for Event {
type Identity = Self;
fn type_info() -> ::scale_info::Type {
::scale_info::Type::builder()
.path(::scale_info::Path::new("Event", "node_template_runtime"))
.type_params(::alloc::vec::Vec::new())
.docs(&[])
.variant(
::scale_info::build::Variants::new()
.variant("System", |v| {
v.index(0u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<frame_system::Event<Runtime>>()
.type_name("frame_system::Event<Runtime>")
.docs(&[])
}))
.docs(&[])
})
.variant("Grandpa", |v| {
v.index(4u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<pallet_grandpa::Event>()
.type_name("pallet_grandpa::Event")
.docs(&[])
}))
.docs(&[])
})
.variant("Balances", |v| {
v.index(5u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<pallet_balances::Event<Runtime>>()
.type_name("pallet_balances::Event<Runtime>")
.docs(&[])
}))
.docs(&[])
})
.variant("TransactionPayment", |v| {
v.index(6u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<pallet_transaction_payment::Event<Runtime>>()
.type_name("pallet_transaction_payment::Event<Runtime>")
.docs(&[])
}))
.docs(&[])
})
.variant("Sudo", |v| {
v.index(7u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<pallet_sudo::Event<Runtime>>()
.type_name("pallet_sudo::Event<Runtime>")
.docs(&[])
}))
.docs(&[])
})
.variant("TemplateModule", |v| {
v.index(8u8 as ::core::primitive::u8)
.fields(::scale_info::build::Fields::unnamed().field(|f| {
f.ty::<pallet_template::Event<Runtime>>()
.type_name("pallet_template::Event<Runtime>")
.docs(&[])
}))
.docs(&[])
}),
)
}
}
};
impl core::fmt::Debug for Event {
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
match self {
Self::System(ref a0) => fmt.debug_tuple("Event::System").field(a0).finish(),
Self::Grandpa(ref a0) => fmt.debug_tuple("Event::Grandpa").field(a0).finish(),
Self::Balances(ref a0) => fmt.debug_tuple("Event::Balances").field(a0).finish(),
Self::TransactionPayment(ref a0) => {
fmt.debug_tuple("Event::TransactionPayment").field(a0).finish()
},
Self::Sudo(ref a0) => fmt.debug_tuple("Event::Sudo").field(a0).finish(),
Self::TemplateModule(ref a0) => {
fmt.debug_tuple("Event::TemplateModule").field(a0).finish()
},
_ => Ok(()),
}
}
}
impl From<frame_system::Event<Runtime>> for Event {
fn from(x: frame_system::Event<Runtime>) -> Self {
Event::System(x)
}
}
impl TryInto<frame_system::Event<Runtime>> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
frame_system::Event<Runtime>,
Self::Error,
> {
match self {
Self::System(evt) => Ok(evt),
_ => Err(()),
}
}
}
impl From<pallet_grandpa::Event> for Event {
fn from(x: pallet_grandpa::Event) -> Self {
Event::Grandpa(x)
}
}
impl TryInto<pallet_grandpa::Event> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
pallet_grandpa::Event,
Self::Error,
> {
match self {
Self::Grandpa(evt) => Ok(evt),
_ => Err(()),
}
}
}
impl From<pallet_balances::Event<Runtime>> for Event {
fn from(x: pallet_balances::Event<Runtime>) -> Self {
Event::Balances(x)
}
}
impl TryInto<pallet_balances::Event<Runtime>> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
pallet_balances::Event<Runtime>,
Self::Error,
> {
match self {
Self::Balances(evt) => Ok(evt),
_ => Err(()),
}
}
}
impl From<pallet_transaction_payment::Event<Runtime>> for Event {
fn from(x: pallet_transaction_payment::Event<Runtime>) -> Self {
Event::TransactionPayment(x)
}
}
impl TryInto<pallet_transaction_payment::Event<Runtime>> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
pallet_transaction_payment::Event<Runtime>,
Self::Error,
> {
match self {
Self::TransactionPayment(evt) => Ok(evt),
_ => Err(()),
}
}
}
impl From<pallet_sudo::Event<Runtime>> for Event {
fn from(x: pallet_sudo::Event<Runtime>) -> Self {
Event::Sudo(x)
}
}
impl TryInto<pallet_sudo::Event<Runtime>> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
pallet_sudo::Event<Runtime>,
Self::Error,
> {
match self {
Self::Sudo(evt) => Ok(evt),
_ => Err(()),
}
}
}
impl From<pallet_template::Event<Runtime>> for Event {
fn from(x: pallet_template::Event<Runtime>) -> Self {
Event::TemplateModule(x)
}
}
impl TryInto<pallet_template::Event<Runtime>> for Event {
type Error = ();
fn try_into(
self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
pallet_template::Event<Runtime>,
Self::Error,
> {
match self {
Self::TemplateModule(evt) => Ok(evt),
_ => Err(()),
}
}
}
/// The runtime origin type representing the origin of a call.
///
/// Origin is always created with the base filter configured in [`frame_system::Config::BaseCallFilter`].
pub struct Origin {
caller: OriginCaller,
filter: self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::rc::Rc<
Box<dyn Fn(&<Runtime as frame_system::Config>::Call) -> bool>,
>,
}
#[automatically_derived]
impl ::core::clone::Clone for Origin {
#[inline]
fn clone(&self) -> Origin {
Origin {
caller: ::core::clone::Clone::clone(&self.caller),
filter: ::core::clone::Clone::clone(&self.filter),
}
}
}
#[cfg(feature = "std")]
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::fmt::Debug for Origin {
fn fmt(
&self,
fmt: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::fmt::Formatter,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
(),
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::fmt::Error,
> {
fmt.debug_struct("Origin")
.field("caller", &self.caller)
.field("filter", &"[function ptr]")
.finish()
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait
for Origin
{
type Call = <Runtime as frame_system::Config>::Call;
type PalletsOrigin = OriginCaller;
type AccountId = <Runtime as frame_system::Config>::AccountId;
fn add_filter(&mut self, filter: impl Fn(&Self::Call) -> bool + 'static) {
let f = self.filter.clone();
self.filter =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::rc::Rc::new(
Box::new(move |call| f(call) && filter(call)),
);
}
fn reset_filter(&mut self) {
let filter = <<Runtime as frame_system::Config>::BaseCallFilter as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::Contains<
<Runtime as frame_system::Config>::Call,
>>::contains;
self.filter =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::rc::Rc::new(
Box::new(filter),
);
}
fn set_caller_from(&mut self, other: impl Into<Self>) {
self.caller = other.into().caller;
}
fn filter_call(&self, call: &Self::Call) -> bool {
match self.caller {
OriginCaller::system(frame_system::Origin::<Runtime>::Root) => true,
_ => (self.filter)(call),
}
}
fn caller(&self) -> &Self::PalletsOrigin {
&self.caller
}
fn try_with_caller<R>(
mut self,
f: impl FnOnce(Self::PalletsOrigin) -> Result<R, Self::PalletsOrigin>,
) -> Result<R, Self> {
match f(self.caller) {
Ok(r) => Ok(r),
Err(caller) => {
self.caller = caller;
Err(self)
},
}
}
fn none() -> Self {
frame_system::RawOrigin::None.into()
}
fn root() -> Self {
frame_system::RawOrigin::Root.into()
}
fn signed(by: Self::AccountId) -> Self {
frame_system::RawOrigin::Signed(by).into()
}
fn as_signed(self) -> Option<Self::AccountId> {
match self.caller {
OriginCaller::system(frame_system::RawOrigin::Signed(by)) => Some(by),
_ => None,
}
}
}
#[allow(non_camel_case_types)]
pub enum OriginCaller {
#[codec(index = 0u8)]
system(frame_system::Origin<Runtime>),
#[allow(dead_code)]
Void(self::sp_api_hidden_includes_construct_runtime::hidden_include::Void),
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::clone::Clone for OriginCaller {
#[inline]
fn clone(&self) -> OriginCaller {
match self {
OriginCaller::system(__self_0) => {
OriginCaller::system(::core::clone::Clone::clone(__self_0))
},
OriginCaller::Void(__self_0) => {
OriginCaller::Void(::core::clone::Clone::clone(__self_0))
},
}
}
}
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralPartialEq for OriginCaller {}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialEq for OriginCaller {
#[inline]
fn eq(&self, other: &OriginCaller) -> bool {
let __self_tag = ::core::intrinsics::discriminant_value(self);
let __arg1_tag = ::core::intrinsics::discriminant_value(other);
__self_tag == __arg1_tag
&& match (self, other) {
(OriginCaller::system(__self_0), OriginCaller::system(__arg1_0)) => {
*__self_0 == *__arg1_0
},
(OriginCaller::Void(__self_0), OriginCaller::Void(__arg1_0)) => {
*__self_0 == *__arg1_0
},
_ => unsafe { ::core::intrinsics::unreachable() },
}
}
}
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralEq for OriginCaller {}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::Eq for OriginCaller {
#[inline]
#[doc(hidden)]
#[no_coverage]
fn assert_receiver_is_total_eq(&self) -> () {
let _: ::core::cmp::AssertParamIsEq<frame_system::Origin<Runtime>>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::Void,
>;
}
}
impl core::fmt::Debug for OriginCaller {
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
match self {
Self::system(ref a0) => fmt.debug_tuple("OriginCaller::system").field(a0).finish(),
Self::Void(ref a0) => fmt.debug_tuple("OriginCaller::Void").field(a0).finish(),
_ => Ok(()),
}
}
}
#[allow(deprecated)]
const _: () = {
#[allow(non_camel_case_types)]
#[automatically_derived]
impl ::codec::Encode for OriginCaller {
fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
) {
match *self {
OriginCaller::system(ref aa) => {
__codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
OriginCaller::Void(ref aa) => {
__codec_dest_edqy.push_byte(1usize as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
_ => {},
}
}
}
#[automatically_derived]
impl ::codec::EncodeLike for OriginCaller {}
};
#[allow(deprecated)]
const _: () = {
#[allow(non_camel_case_types)]
#[automatically_derived]
impl ::codec::Decode for OriginCaller {
fn decode<__CodecInputEdqy: ::codec::Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> ::core::result::Result<Self, ::codec::Error> {
match __codec_input_edqy.read_byte().map_err(|e| {
e.chain("Could not decode `OriginCaller`, failed to read variant byte")
})? {
__codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(OriginCaller::system({
let __codec_res_edqy =
<frame_system::Origin<Runtime> as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `OriginCaller::system.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 1usize as ::core::primitive::u8 => {
::core::result::Result::Ok(OriginCaller::Void({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::Void as ::codec::Decode>::decode(
__codec_input_edqy,
);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `OriginCaller::Void.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
_ => ::core::result::Result::Err(<_ as ::core::convert::Into<_>>::into(
"Could not decode `OriginCaller`, variant doesn't exist",
)),
}
}
}
};
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
impl ::scale_info::TypeInfo for OriginCaller {
type Identity = Self;
fn type_info() -> ::scale_info::Type {
::scale_info::Type::builder()
.path(::scale_info::Path::new("OriginCaller", "node_template_runtime"))
.type_params(::alloc::vec::Vec::new())
.docs(&[])
.variant(
::scale_info::build::Variants::new()
.variant(
"system",
|v| {
v
.index(0u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<frame_system::Origin<Runtime>>()
.type_name("frame_system::Origin<Runtime>")
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"Void",
|v| {
v
.index(1usize as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::Void,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::Void",
)
.docs(&[])
}),
)
.docs(&[])
},
),
)
}
}
};
const _: () = {
impl ::codec::MaxEncodedLen for OriginCaller {
fn max_encoded_len() -> ::core::primitive::usize {
0_usize
.max(
0_usize
.saturating_add(
<frame_system::Origin<Runtime>>::max_encoded_len(),
),
)
.max(
0_usize
.saturating_add(
<self::sp_api_hidden_includes_construct_runtime::hidden_include::Void>::max_encoded_len(),
),
)
.saturating_add(1)
}
}
};
#[allow(dead_code)]
impl Origin {
/// Create with system none origin and [`frame_system::Config::BaseCallFilter`].
pub fn none() -> Self {
<Origin as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait>::none()
}
/// Create with system root origin and [`frame_system::Config::BaseCallFilter`].
pub fn root() -> Self {
<Origin as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait>::root()
}
/// Create with system signed origin and [`frame_system::Config::BaseCallFilter`].
pub fn signed(by: <Runtime as frame_system::Config>::AccountId) -> Self {
<Origin as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait>::signed(
by,
)
}
}
impl From<frame_system::Origin<Runtime>> for OriginCaller {
fn from(x: frame_system::Origin<Runtime>) -> Self {
OriginCaller::system(x)
}
}
impl TryFrom<OriginCaller> for frame_system::Origin<Runtime> {
type Error = OriginCaller;
fn try_from(
x: OriginCaller,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
frame_system::Origin<Runtime>,
OriginCaller,
> {
if let OriginCaller::system(l) = x {
Ok(l)
} else {
Err(x)
}
}
}
impl From<frame_system::Origin<Runtime>> for Origin {
/// Convert to runtime origin, using as filter: [`frame_system::Config::BaseCallFilter`].
fn from(x: frame_system::Origin<Runtime>) -> Self {
let o: OriginCaller = x.into();
o.into()
}
}
impl From<OriginCaller> for Origin {
fn from(x: OriginCaller) -> Self {
let mut o = Origin {
caller: x,
filter:
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::rc::Rc::new(
Box::new(|_| true),
),
};
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait::reset_filter(
&mut o,
);
o
}
}
impl From<Origin>
for self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result<
frame_system::Origin<Runtime>,
Origin,
>
{
/// NOTE: converting to pallet origin loses the origin filter information.
fn from(val: Origin) -> Self {
if let OriginCaller::system(l) = val.caller {
Ok(l)
} else {
Err(val)
}
}
}
impl From<Option<<Runtime as frame_system::Config>::AccountId>> for Origin {
/// Convert to runtime origin with caller being system signed or none and use filter [`frame_system::Config::BaseCallFilter`].
fn from(x: Option<<Runtime as frame_system::Config>::AccountId>) -> Self {
<frame_system::Origin<Runtime>>::from(x).into()
}
}
pub type System = frame_system::Pallet<Runtime>;
pub type RandomnessCollectiveFlip = pallet_randomness_collective_flip::Pallet<Runtime>;
pub type Timestamp = pallet_timestamp::Pallet<Runtime>;
pub type Aura = pallet_aura::Pallet<Runtime>;
pub type Grandpa = pallet_grandpa::Pallet<Runtime>;
pub type Balances = pallet_balances::Pallet<Runtime>;
pub type TransactionPayment = pallet_transaction_payment::Pallet<Runtime>;
pub type Sudo = pallet_sudo::Pallet<Runtime>;
pub type TemplateModule = pallet_template::Pallet<Runtime>;
/// All pallets included in the runtime as a nested tuple of types.
#[deprecated(note = "The type definition has changed from representing all pallets \
excluding system, in reversed order to become the representation of all pallets \
including system pallet in regular order. For this reason it is encouraged to use \
explicitly one of `AllPalletsWithSystem`, `AllPalletsWithoutSystem`, \
`AllPalletsWithSystemReversed`, `AllPalletsWithoutSystemReversed`. \
Note that the type `frame_executive::Executive` expects one of `AllPalletsWithSystem` \
, `AllPalletsWithSystemReversed`, `AllPalletsReversedWithSystemFirst`. More details in \
https://github.com/paritytech/substrate/pull/10043")]
pub type AllPallets = AllPalletsWithSystem;
/// All pallets included in the runtime as a nested tuple of types.
pub type AllPalletsWithSystem = ((
System,
(
RandomnessCollectiveFlip,
(Timestamp, (Aura, (Grandpa, (Balances, (TransactionPayment, (Sudo, (TemplateModule,))))))),
),
));
/// All pallets included in the runtime as a nested tuple of types.
/// Excludes the System pallet.
pub type AllPalletsWithoutSystem = ((
RandomnessCollectiveFlip,
(Timestamp, (Aura, (Grandpa, (Balances, (TransactionPayment, (Sudo, (TemplateModule,))))))),
));
/// All pallets included in the runtime as a nested tuple of types in reversed order.
/// Excludes the System pallet.
pub type AllPalletsWithoutSystemReversed = ((
TemplateModule,
(
Sudo,
(
TransactionPayment,
(Balances, (Grandpa, (Aura, (Timestamp, (RandomnessCollectiveFlip,))))),
),
),
));
/// All pallets included in the runtime as a nested tuple of types in reversed order.
pub type AllPalletsWithSystemReversed = ((
TemplateModule,
(
Sudo,
(
TransactionPayment,
(Balances, (Grandpa, (Aura, (Timestamp, (RandomnessCollectiveFlip, (System,)))))),
),
),
));
/// All pallets included in the runtime as a nested tuple of types in reversed order.
/// With the system pallet first.
pub type AllPalletsReversedWithSystemFirst = (System, AllPalletsWithoutSystemReversed);
/// Provides an implementation of `PalletInfo` to provide information
/// about the pallet setup in the runtime.
pub struct PalletInfo;
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfo
for PalletInfo
{
fn index<P: 'static>() -> Option<usize> {
let type_id =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
P,
>();
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
System,
>()
{
return Some(0usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
RandomnessCollectiveFlip,
>()
{
return Some(1usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Timestamp,
>()
{
return Some(2usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Aura,
>()
{
return Some(3usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Grandpa,
>()
{
return Some(4usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Balances,
>()
{
return Some(5usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TransactionPayment,
>()
{
return Some(6usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Sudo,
>()
{
return Some(7usize);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TemplateModule,
>()
{
return Some(8usize);
}
None
}
fn name<P: 'static>() -> Option<&'static str> {
let type_id =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
P,
>();
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
System,
>()
{
return Some("System");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
RandomnessCollectiveFlip,
>()
{
return Some("RandomnessCollectiveFlip");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Timestamp,
>()
{
return Some("Timestamp");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Aura,
>()
{
return Some("Aura");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Grandpa,
>()
{
return Some("Grandpa");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Balances,
>()
{
return Some("Balances");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TransactionPayment,
>()
{
return Some("TransactionPayment");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Sudo,
>()
{
return Some("Sudo");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TemplateModule,
>()
{
return Some("TemplateModule");
}
None
}
fn module_name<P: 'static>() -> Option<&'static str> {
let type_id =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
P,
>();
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
System,
>()
{
return Some("frame_system");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
RandomnessCollectiveFlip,
>()
{
return Some("pallet_randomness_collective_flip");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Timestamp,
>()
{
return Some("pallet_timestamp");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Aura,
>()
{
return Some("pallet_aura");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Grandpa,
>()
{
return Some("pallet_grandpa");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Balances,
>()
{
return Some("pallet_balances");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TransactionPayment,
>()
{
return Some("pallet_transaction_payment");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Sudo,
>()
{
return Some("pallet_sudo");
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TemplateModule,
>()
{
return Some("pallet_template");
}
None
}
fn crate_version<P: 'static>(
) -> Option<self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::CrateVersion>
{
let type_id =
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
P,
>();
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
System,
>()
{
return Some(
<frame_system::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
RandomnessCollectiveFlip,
>()
{
return Some(
<pallet_randomness_collective_flip::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Timestamp,
>()
{
return Some(
<pallet_timestamp::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Aura,
>()
{
return Some(
<pallet_aura::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Grandpa,
>()
{
return Some(
<pallet_grandpa::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Balances,
>()
{
return Some(
<pallet_balances::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TransactionPayment,
>()
{
return Some(
<pallet_transaction_payment::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
Sudo,
>()
{
return Some(
<pallet_sudo::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
if type_id
== self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::any::TypeId::of::<
TemplateModule,
>()
{
return Some(
<pallet_template::Pallet<
Runtime,
> as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::PalletInfoAccess>::crate_version(),
);
}
None
}
}
pub enum Call {
#[codec(index = 0u8)]
System(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
),
#[codec(index = 2u8)]
Timestamp(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
),
#[codec(index = 4u8)]
Grandpa(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
),
#[codec(index = 5u8)]
Balances(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
),
#[codec(index = 7u8)]
Sudo(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
),
#[codec(index = 8u8)]
TemplateModule(
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
),
}
#[automatically_derived]
impl ::core::clone::Clone for Call {
#[inline]
fn clone(&self) -> Call {
match self {
Call::System(__self_0) => Call::System(::core::clone::Clone::clone(__self_0)),
Call::Timestamp(__self_0) => Call::Timestamp(::core::clone::Clone::clone(__self_0)),
Call::Grandpa(__self_0) => Call::Grandpa(::core::clone::Clone::clone(__self_0)),
Call::Balances(__self_0) => Call::Balances(::core::clone::Clone::clone(__self_0)),
Call::Sudo(__self_0) => Call::Sudo(::core::clone::Clone::clone(__self_0)),
Call::TemplateModule(__self_0) => {
Call::TemplateModule(::core::clone::Clone::clone(__self_0))
},
}
}
}
impl ::core::marker::StructuralPartialEq for Call {}
#[automatically_derived]
impl ::core::cmp::PartialEq for Call {
#[inline]
fn eq(&self, other: &Call) -> bool {
let __self_tag = ::core::intrinsics::discriminant_value(self);
let __arg1_tag = ::core::intrinsics::discriminant_value(other);
__self_tag == __arg1_tag
&& match (self, other) {
(Call::System(__self_0), Call::System(__arg1_0)) => *__self_0 == *__arg1_0,
(Call::Timestamp(__self_0), Call::Timestamp(__arg1_0)) => *__self_0 == *__arg1_0,
(Call::Grandpa(__self_0), Call::Grandpa(__arg1_0)) => *__self_0 == *__arg1_0,
(Call::Balances(__self_0), Call::Balances(__arg1_0)) => *__self_0 == *__arg1_0,
(Call::Sudo(__self_0), Call::Sudo(__arg1_0)) => *__self_0 == *__arg1_0,
(Call::TemplateModule(__self_0), Call::TemplateModule(__arg1_0)) => {
*__self_0 == *__arg1_0
},
_ => unsafe { ::core::intrinsics::unreachable() },
}
}
}
impl ::core::marker::StructuralEq for Call {}
#[automatically_derived]
impl ::core::cmp::Eq for Call {
#[inline]
#[doc(hidden)]
#[no_coverage]
fn assert_receiver_is_total_eq(&self) -> () {
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
>;
let _: ::core::cmp::AssertParamIsEq<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
>;
}
}
#[allow(deprecated)]
const _: () = {
#[automatically_derived]
impl ::codec::Encode for Call {
fn encode_to<__CodecOutputEdqy: ::codec::Output + ?::core::marker::Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
) {
match *self {
Call::System(ref aa) => {
__codec_dest_edqy.push_byte(0u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Call::Timestamp(ref aa) => {
__codec_dest_edqy.push_byte(2u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Call::Grandpa(ref aa) => {
__codec_dest_edqy.push_byte(4u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Call::Balances(ref aa) => {
__codec_dest_edqy.push_byte(5u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Call::Sudo(ref aa) => {
__codec_dest_edqy.push_byte(7u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
Call::TemplateModule(ref aa) => {
__codec_dest_edqy.push_byte(8u8 as ::core::primitive::u8);
::codec::Encode::encode_to(aa, __codec_dest_edqy);
},
_ => {},
}
}
}
#[automatically_derived]
impl ::codec::EncodeLike for Call {}
};
#[allow(deprecated)]
const _: () = {
#[automatically_derived]
impl ::codec::Decode for Call {
fn decode<__CodecInputEdqy: ::codec::Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> ::core::result::Result<Self, ::codec::Error> {
match __codec_input_edqy
.read_byte()
.map_err(|e| e.chain("Could not decode `Call`, failed to read variant byte"))?
{
__codec_x_edqy if __codec_x_edqy == 0u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::System({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::System.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 2u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::Timestamp({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::Timestamp.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 4u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::Grandpa({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::Grandpa.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 5u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::Balances({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::Balances.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 7u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::Sudo({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::Sudo.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
__codec_x_edqy if __codec_x_edqy == 8u8 as ::core::primitive::u8 => {
::core::result::Result::Ok(Call::TemplateModule({
let __codec_res_edqy = <self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
> as ::codec::Decode>::decode(__codec_input_edqy);
match __codec_res_edqy {
::core::result::Result::Err(e) => {
return ::core::result::Result::Err(
e.chain("Could not decode `Call::TemplateModule.0`"),
);
},
::core::result::Result::Ok(__codec_res_edqy) => __codec_res_edqy,
}
}))
},
_ => ::core::result::Result::Err(<_ as ::core::convert::Into<_>>::into(
"Could not decode `Call`, variant doesn't exist",
)),
}
}
}
};
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
impl ::scale_info::TypeInfo for Call {
type Identity = Self;
fn type_info() -> ::scale_info::Type {
::scale_info::Type::builder()
.path(::scale_info::Path::new("Call", "node_template_runtime"))
.type_params(::alloc::vec::Vec::new())
.docs(&[])
.variant(
::scale_info::build::Variants::new()
.variant(
"System",
|v| {
v
.index(0u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<System, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"Timestamp",
|v| {
v
.index(2u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Timestamp, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"Grandpa",
|v| {
v
.index(4u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Grandpa, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"Balances",
|v| {
v
.index(5u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Balances, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"Sudo",
|v| {
v
.index(7u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Sudo, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
)
.variant(
"TemplateModule",
|v| {
v
.index(8u8 as ::core::primitive::u8)
.fields(
::scale_info::build::Fields::unnamed()
.field(|f| {
f
.ty::<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
>()
.type_name(
"self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TemplateModule, Runtime>",
)
.docs(&[])
}),
)
.docs(&[])
},
),
)
}
}
};
impl core::fmt::Debug for Call {
fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
match self {
Self::System(ref a0) => fmt.debug_tuple("Call::System").field(a0).finish(),
Self::Timestamp(ref a0) => fmt.debug_tuple("Call::Timestamp").field(a0).finish(),
Self::Grandpa(ref a0) => fmt.debug_tuple("Call::Grandpa").field(a0).finish(),
Self::Balances(ref a0) => fmt.debug_tuple("Call::Balances").field(a0).finish(),
Self::Sudo(ref a0) => fmt.debug_tuple("Call::Sudo").field(a0).finish(),
Self::TemplateModule(ref a0) => {
fmt.debug_tuple("Call::TemplateModule").field(a0).finish()
},
_ => Ok(()),
}
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::GetDispatchInfo
for Call
{
fn get_dispatch_info(
&self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchInfo {
match self {
Call::System(call) => call.get_dispatch_info(),
Call::Timestamp(call) => call.get_dispatch_info(),
Call::Grandpa(call) => call.get_dispatch_info(),
Call::Balances(call) => call.get_dispatch_info(),
Call::Sudo(call) => call.get_dispatch_info(),
Call::TemplateModule(call) => call.get_dispatch_info(),
}
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::GetCallMetadata
for Call
{
fn get_call_metadata(
&self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
use self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::GetCallName;
match self {
Call::System(call) => {
let function_name = call.get_call_name();
let pallet_name = "System";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
Call::Timestamp(call) => {
let function_name = call.get_call_name();
let pallet_name = "Timestamp";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
Call::Grandpa(call) => {
let function_name = call.get_call_name();
let pallet_name = "Grandpa";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
Call::Balances(call) => {
let function_name = call.get_call_name();
let pallet_name = "Balances";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
Call::Sudo(call) => {
let function_name = call.get_call_name();
let pallet_name = "Sudo";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
Call::TemplateModule(call) => {
let function_name = call.get_call_name();
let pallet_name = "TemplateModule";
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallMetadata {
function_name,
pallet_name,
}
},
}
}
fn get_module_names() -> &'static [&'static str] {
&["System", "Timestamp", "Grandpa", "Balances", "Sudo", "TemplateModule"]
}
fn get_call_names(module: &str) -> &'static [&'static str] {
use self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::{
Callable, GetCallName,
};
match module {
"System" => <<System as Callable<Runtime>>::Call as GetCallName>::get_call_names(),
"Timestamp" => {
<<Timestamp as Callable<Runtime>>::Call as GetCallName>::get_call_names()
},
"Grandpa" => <<Grandpa as Callable<Runtime>>::Call as GetCallName>::get_call_names(),
"Balances" => <<Balances as Callable<Runtime>>::Call as GetCallName>::get_call_names(),
"Sudo" => <<Sudo as Callable<Runtime>>::Call as GetCallName>::get_call_names(),
"TemplateModule" => {
<<TemplateModule as Callable<Runtime>>::Call as GetCallName>::get_call_names()
},
_ => ::core::panicking::panic("internal error: entered unreachable code"),
}
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::Dispatchable
for Call
{
type Origin = Origin;
type Config = Call;
type Info =
self::sp_api_hidden_includes_construct_runtime::hidden_include::weights::DispatchInfo;
type PostInfo =
self::sp_api_hidden_includes_construct_runtime::hidden_include::weights::PostDispatchInfo;
fn dispatch(
self,
origin: Origin,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo{
if !<Self::Origin as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OriginTrait>::filter_call(
&origin,
&self,
) {
return self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_std::result::Result::Err(
frame_system::Error::<Runtime>::CallFiltered.into(),
);
}
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
self,
origin,
)
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable
for Call
{
type Origin = Origin;
fn dispatch_bypass_filter(
self,
origin: Origin,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::DispatchResultWithPostInfo{
match self {
Call::System(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
Call::Timestamp(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
Call::Grandpa(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
Call::Balances(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
Call::Sudo(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
Call::TemplateModule(call) => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::UnfilteredDispatchable::dispatch_bypass_filter(
call,
origin,
)
}
}
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
> {
match self {
Call::System(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
System,
Runtime,
>,
) -> Self {
Call::System(call)
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
> {
match self {
Call::Timestamp(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Timestamp,
Runtime,
>,
) -> Self {
Call::Timestamp(call)
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
> {
match self {
Call::Grandpa(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Grandpa,
Runtime,
>,
) -> Self {
Call::Grandpa(call)
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
> {
match self {
Call::Balances(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Balances,
Runtime,
>,
) -> Self {
Call::Balances(call)
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
> {
match self {
Call::Sudo(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
Sudo,
Runtime,
>,
) -> Self {
Call::Sudo(call)
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::IsSubType<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
> for Call
{
#[allow(unreachable_patterns)]
fn is_sub_type(
&self,
) -> Option<
&self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
> {
match self {
Call::TemplateModule(call) => Some(call),
_ => None,
}
}
}
impl
From<
self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
> for Call
{
fn from(
call: self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch::CallableCallFor<
TemplateModule,
Runtime,
>,
) -> Self {
Call::TemplateModule(call)
}
}
impl Runtime {
pub fn metadata() -> self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::RuntimeMetadataPrefixed{
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::RuntimeMetadataLastVersion::new(
<[_]>::into_vec(
#[rustc_box]
::alloc::boxed::Box::new([
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "System",
index: 0u8,
storage: Some(
frame_system::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
frame_system::Pallet::<Runtime>::call_functions(),
),
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
frame_system::Event<Runtime>,
>(),
}),
constants: frame_system::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: frame_system::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "RandomnessCollectiveFlip",
index: 1u8,
storage: Some(
pallet_randomness_collective_flip::Pallet::<
Runtime,
>::storage_metadata(),
),
calls: None,
event: None,
constants: pallet_randomness_collective_flip::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_randomness_collective_flip::Pallet::<
Runtime,
>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "Timestamp",
index: 2u8,
storage: Some(
pallet_timestamp::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
pallet_timestamp::Pallet::<Runtime>::call_functions(),
),
event: None,
constants: pallet_timestamp::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_timestamp::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "Aura",
index: 3u8,
storage: Some(
pallet_aura::Pallet::<Runtime>::storage_metadata(),
),
calls: None,
event: None,
constants: pallet_aura::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_aura::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "Grandpa",
index: 4u8,
storage: Some(
pallet_grandpa::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
pallet_grandpa::Pallet::<Runtime>::call_functions(),
),
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
pallet_grandpa::Event,
>(),
}),
constants: pallet_grandpa::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_grandpa::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "Balances",
index: 5u8,
storage: Some(
pallet_balances::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
pallet_balances::Pallet::<Runtime>::call_functions(),
),
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
pallet_balances::Event<Runtime>,
>(),
}),
constants: pallet_balances::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_balances::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "TransactionPayment",
index: 6u8,
storage: Some(
pallet_transaction_payment::Pallet::<
Runtime,
>::storage_metadata(),
),
calls: None,
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
pallet_transaction_payment::Event<Runtime>,
>(),
}),
constants: pallet_transaction_payment::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_transaction_payment::Pallet::<
Runtime,
>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "Sudo",
index: 7u8,
storage: Some(
pallet_sudo::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
pallet_sudo::Pallet::<Runtime>::call_functions(),
),
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
pallet_sudo::Event<Runtime>,
>(),
}),
constants: pallet_sudo::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_sudo::Pallet::<Runtime>::error_metadata(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletMetadata {
name: "TemplateModule",
index: 8u8,
storage: Some(
pallet_template::Pallet::<Runtime>::storage_metadata(),
),
calls: Some(
pallet_template::Pallet::<Runtime>::call_functions(),
),
event: Some(self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::PalletEventMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
pallet_template::Event<Runtime>,
>(),
}),
constants: pallet_template::Pallet::<
Runtime,
>::pallet_constants_metadata(),
error: pallet_template::Pallet::<Runtime>::error_metadata(),
},
]),
),
self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::ExtrinsicMetadata {
ty: self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
UncheckedExtrinsic,
>(),
version: <UncheckedExtrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::VERSION,
signed_extensions: <<UncheckedExtrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::ExtrinsicMetadata>::SignedExtensions as self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::SignedExtension>::metadata()
.into_iter()
.map(|meta| self::sp_api_hidden_includes_construct_runtime::hidden_include::metadata::SignedExtensionMetadata {
identifier: meta.identifier,
ty: meta.ty,
additional_signed: meta.additional_signed,
})
.collect(),
},
self::sp_api_hidden_includes_construct_runtime::hidden_include::scale_info::meta_type::<
Runtime,
>(),
)
.into()
}
}
#[cfg(any(feature = "std", test))]
pub type SystemConfig = frame_system::GenesisConfig;
#[cfg(any(feature = "std", test))]
pub type AuraConfig = pallet_aura::GenesisConfig<Runtime>;
#[cfg(any(feature = "std", test))]
pub type GrandpaConfig = pallet_grandpa::GenesisConfig;
#[cfg(any(feature = "std", test))]
pub type BalancesConfig = pallet_balances::GenesisConfig<Runtime>;
#[cfg(any(feature = "std", test))]
pub type TransactionPaymentConfig = pallet_transaction_payment::GenesisConfig;
#[cfg(any(feature = "std", test))]
pub type SudoConfig = pallet_sudo::GenesisConfig<Runtime>;
#[cfg(any(feature = "std", test))]
use self::sp_api_hidden_includes_construct_runtime::hidden_include::serde as __genesis_config_serde_import__;
#[cfg(any(feature = "std", test))]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
#[serde(crate = "__genesis_config_serde_import__")]
pub struct GenesisConfig {
pub system: SystemConfig,
pub aura: AuraConfig,
pub grandpa: GrandpaConfig,
pub balances: BalancesConfig,
pub transaction_payment: TransactionPaymentConfig,
pub sudo: SudoConfig,
}
#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
use __genesis_config_serde_import__ as _serde;
#[automatically_derived]
impl __genesis_config_serde_import__::Serialize for GenesisConfig {
fn serialize<__S>(
&self,
__serializer: __S,
) -> __genesis_config_serde_import__::__private::Result<__S::Ok, __S::Error>
where
__S: __genesis_config_serde_import__::Serializer,
{
let mut __serde_state = match _serde::Serializer::serialize_struct(
__serializer,
"GenesisConfig",
false as usize + 1 + 1 + 1 + 1 + 1 + 1,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"system",
&self.system,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"aura",
&self.aura,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"grandpa",
&self.grandpa,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"balances",
&self.balances,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"transactionPayment",
&self.transaction_payment,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
match _serde::ser::SerializeStruct::serialize_field(
&mut __serde_state,
"sudo",
&self.sudo,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
};
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};
#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
use __genesis_config_serde_import__ as _serde;
#[automatically_derived]
impl<'de> __genesis_config_serde_import__::Deserialize<'de> for GenesisConfig {
fn deserialize<__D>(
__deserializer: __D,
) -> __genesis_config_serde_import__::__private::Result<Self, __D::Error>
where
__D: __genesis_config_serde_import__::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
}
struct __FieldVisitor;
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(
&self,
__formatter: &mut _serde::__private::Formatter,
) -> _serde::__private::fmt::Result {
_serde::__private::Formatter::write_str(__formatter, "field identifier")
}
fn visit_u64<__E>(self, __value: u64) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
0u64 => _serde::__private::Ok(__Field::__field0),
1u64 => _serde::__private::Ok(__Field::__field1),
2u64 => _serde::__private::Ok(__Field::__field2),
3u64 => _serde::__private::Ok(__Field::__field3),
4u64 => _serde::__private::Ok(__Field::__field4),
5u64 => _serde::__private::Ok(__Field::__field5),
_ => _serde::__private::Err(_serde::de::Error::invalid_value(
_serde::de::Unexpected::Unsigned(__value),
&"field index 0 <= i < 6",
)),
}
}
fn visit_str<__E>(
self,
__value: &str,
) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
"system" => _serde::__private::Ok(__Field::__field0),
"aura" => _serde::__private::Ok(__Field::__field1),
"grandpa" => _serde::__private::Ok(__Field::__field2),
"balances" => _serde::__private::Ok(__Field::__field3),
"transactionPayment" => _serde::__private::Ok(__Field::__field4),
"sudo" => _serde::__private::Ok(__Field::__field5),
_ => _serde::__private::Err(_serde::de::Error::unknown_field(
__value, FIELDS,
)),
}
}
fn visit_bytes<__E>(
self,
__value: &[u8],
) -> _serde::__private::Result<Self::Value, __E>
where
__E: _serde::de::Error,
{
match __value {
b"system" => _serde::__private::Ok(__Field::__field0),
b"aura" => _serde::__private::Ok(__Field::__field1),
b"grandpa" => _serde::__private::Ok(__Field::__field2),
b"balances" => _serde::__private::Ok(__Field::__field3),
b"transactionPayment" => _serde::__private::Ok(__Field::__field4),
b"sudo" => _serde::__private::Ok(__Field::__field5),
_ => {
let __value = &_serde::__private::from_utf8_lossy(__value);
_serde::__private::Err(_serde::de::Error::unknown_field(
__value, FIELDS,
))
},
}
}
}
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(
__deserializer: __D,
) -> _serde::__private::Result<Self, __D::Error>
where
__D: _serde::Deserializer<'de>,
{
_serde::Deserializer::deserialize_identifier(__deserializer, __FieldVisitor)
}
}
struct __Visitor<'de> {
marker: _serde::__private::PhantomData<GenesisConfig>,
lifetime: _serde::__private::PhantomData<&'de ()>,
}
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = GenesisConfig;
fn expecting(
&self,
__formatter: &mut _serde::__private::Formatter,
) -> _serde::__private::fmt::Result {
_serde::__private::Formatter::write_str(__formatter, "struct GenesisConfig")
}
#[inline]
fn visit_seq<__A>(
self,
mut __seq: __A,
) -> _serde::__private::Result<Self::Value, __A::Error>
where
__A: _serde::de::SeqAccess<'de>,
{
let __field0 =
match match _serde::de::SeqAccess::next_element::<SystemConfig>(&mut __seq)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
0usize,
&"struct GenesisConfig with 6 elements",
));
},
};
let __field1 =
match match _serde::de::SeqAccess::next_element::<AuraConfig>(&mut __seq) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
1usize,
&"struct GenesisConfig with 6 elements",
));
},
};
let __field2 = match match _serde::de::SeqAccess::next_element::<GrandpaConfig>(
&mut __seq,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
2usize,
&"struct GenesisConfig with 6 elements",
));
},
};
let __field3 = match match _serde::de::SeqAccess::next_element::<BalancesConfig>(
&mut __seq,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
3usize,
&"struct GenesisConfig with 6 elements",
));
},
};
let __field4 = match match _serde::de::SeqAccess::next_element::<
TransactionPaymentConfig,
>(&mut __seq)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
4usize,
&"struct GenesisConfig with 6 elements",
));
},
};
let __field5 =
match match _serde::de::SeqAccess::next_element::<SudoConfig>(&mut __seq) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
_serde::__private::Some(__value) => __value,
_serde::__private::None => {
return _serde::__private::Err(_serde::de::Error::invalid_length(
5usize,
&"struct GenesisConfig with 6 elements",
));
},
};
_serde::__private::Ok(GenesisConfig {
system: __field0,
aura: __field1,
grandpa: __field2,
balances: __field3,
transaction_payment: __field4,
sudo: __field5,
})
}
#[inline]
fn visit_map<__A>(
self,
mut __map: __A,
) -> _serde::__private::Result<Self::Value, __A::Error>
where
__A: _serde::de::MapAccess<'de>,
{
let mut __field0: _serde::__private::Option<SystemConfig> =
_serde::__private::None;
let mut __field1: _serde::__private::Option<AuraConfig> =
_serde::__private::None;
let mut __field2: _serde::__private::Option<GrandpaConfig> =
_serde::__private::None;
let mut __field3: _serde::__private::Option<BalancesConfig> =
_serde::__private::None;
let mut __field4: _serde::__private::Option<TransactionPaymentConfig> =
_serde::__private::None;
let mut __field5: _serde::__private::Option<SudoConfig> =
_serde::__private::None;
while let _serde::__private::Some(__key) =
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
} {
match __key {
__Field::__field0 => {
if _serde::__private::Option::is_some(&__field0) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"system",
),
);
}
__field0 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<SystemConfig>(
&mut __map,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field1 => {
if _serde::__private::Option::is_some(&__field1) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field("aura"),
);
}
__field1 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<AuraConfig>(
&mut __map,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field2 => {
if _serde::__private::Option::is_some(&__field2) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"grandpa",
),
);
}
__field2 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<GrandpaConfig>(
&mut __map,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field3 => {
if _serde::__private::Option::is_some(&__field3) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"balances",
),
);
}
__field3 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<BalancesConfig>(
&mut __map,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field4 => {
if _serde::__private::Option::is_some(&__field4) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field(
"transactionPayment",
),
);
}
__field4 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<
TransactionPaymentConfig,
>(&mut __map)
{
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
__Field::__field5 => {
if _serde::__private::Option::is_some(&__field5) {
return _serde::__private::Err(
<__A::Error as _serde::de::Error>::duplicate_field("sudo"),
);
}
__field5 = _serde::__private::Some(
match _serde::de::MapAccess::next_value::<SudoConfig>(
&mut __map,
) {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
},
);
},
}
}
let __field0 = match __field0 {
_serde::__private::Some(__field0) => __field0,
_serde::__private::None => {
match _serde::__private::de::missing_field("system") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field1 = match __field1 {
_serde::__private::Some(__field1) => __field1,
_serde::__private::None => {
match _serde::__private::de::missing_field("aura") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field2 = match __field2 {
_serde::__private::Some(__field2) => __field2,
_serde::__private::None => {
match _serde::__private::de::missing_field("grandpa") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field3 = match __field3 {
_serde::__private::Some(__field3) => __field3,
_serde::__private::None => {
match _serde::__private::de::missing_field("balances") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field4 = match __field4 {
_serde::__private::Some(__field4) => __field4,
_serde::__private::None => {
match _serde::__private::de::missing_field("transactionPayment") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
let __field5 = match __field5 {
_serde::__private::Some(__field5) => __field5,
_serde::__private::None => {
match _serde::__private::de::missing_field("sudo") {
_serde::__private::Ok(__val) => __val,
_serde::__private::Err(__err) => {
return _serde::__private::Err(__err);
},
}
},
};
_serde::__private::Ok(GenesisConfig {
system: __field0,
aura: __field1,
grandpa: __field2,
balances: __field3,
transaction_payment: __field4,
sudo: __field5,
})
}
}
const FIELDS: &'static [&'static str] =
&["system", "aura", "grandpa", "balances", "transactionPayment", "sudo"];
_serde::Deserializer::deserialize_struct(
__deserializer,
"GenesisConfig",
FIELDS,
__Visitor {
marker: _serde::__private::PhantomData::<GenesisConfig>,
lifetime: _serde::__private::PhantomData,
},
)
}
}
};
#[automatically_derived]
impl ::core::default::Default for GenesisConfig {
#[inline]
fn default() -> GenesisConfig {
GenesisConfig {
system: ::core::default::Default::default(),
aura: ::core::default::Default::default(),
grandpa: ::core::default::Default::default(),
balances: ::core::default::Default::default(),
transaction_payment: ::core::default::Default::default(),
sudo: ::core::default::Default::default(),
}
}
}
#[cfg(any(feature = "std", test))]
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildStorage
for GenesisConfig
{
fn assimilate_storage(
&self,
storage: &mut self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::Storage,
) -> std::result::Result<(), String> {
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
frame_system::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.system, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
pallet_aura::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.aura, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
pallet_grandpa::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.grandpa, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
pallet_balances::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.balances, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
pallet_transaction_payment::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.transaction_payment, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::BuildModuleGenesisStorage::<
Runtime,
pallet_sudo::__InherentHiddenInstance,
>::build_module_genesis_storage(&self.sudo, storage)?;
self::sp_api_hidden_includes_construct_runtime::hidden_include::BasicExternalities::execute_with_storage(
storage,
|| {
<AllPalletsWithSystem as self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::OnGenesis>::on_genesis();
},
);
Ok(())
}
}
trait InherentDataExt {
fn create_extrinsics(
&self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Vec<
<Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::BlockT>::Extrinsic,
>;
fn check_extrinsics(
&self,
block: &Block,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult;
}
impl InherentDataExt
for self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::InherentData
{
fn create_extrinsics(
&self,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Vec<
<Block as self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::BlockT>::Extrinsic,
>{
use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent;
let mut inherents = Vec::new();
if let Some(inherent) = Timestamp::create_inherent(self) {
let inherent = <UncheckedExtrinsic as self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Extrinsic>::new(
inherent.into(),
None,
)
.expect(
"Runtime UncheckedExtrinsic is not Opaque, so it has to return \
`Some`; qed",
);
inherents.push(inherent);
}
inherents
}
fn check_extrinsics(
&self,
block: &Block,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult{
use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::{
IsFatalError, ProvideInherent,
};
use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _;
use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{
ExtrinsicCall, IsSubType,
};
let mut result = self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::CheckInherentsResult::new();
for xt in block.extrinsics() {
if self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Extrinsic::is_signed(
xt,
)
.unwrap_or(false)
{
break;
}
let mut is_inherent = false;
{
let call = <UncheckedExtrinsic as ExtrinsicCall>::call(xt);
if let Some(call) = IsSubType::<_>::is_sub_type(call) {
if Timestamp::is_inherent(call) {
is_inherent = true;
if let Err(e) = Timestamp::check_inherent(call, self) {
result
.put_error(Timestamp::INHERENT_IDENTIFIER, &e)
.expect("There is only one fatal error; qed");
if e.is_fatal_error() {
return result;
}
}
}
}
}
if !is_inherent {
break;
}
}
match Timestamp::is_inherent_required(self) {
Ok(Some(e)) => {
let found = block
.extrinsics()
.iter()
.any(|xt| {
let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Extrinsic::is_signed(
xt,
)
.unwrap_or(false);
if !is_signed {
let call = <UncheckedExtrinsic as ExtrinsicCall>::call(xt);
if let Some(call) = IsSubType::<_>::is_sub_type(call) {
Timestamp::is_inherent(&call)
} else {
false
}
} else {
false
}
});
if !found {
result
.put_error(Timestamp::INHERENT_IDENTIFIER, &e)
.expect("There is only one fatal error; qed");
if e.is_fatal_error() {
return result;
}
}
},
Ok(None) => {},
Err(e) => {
result
.put_error(Timestamp::INHERENT_IDENTIFIER, &e)
.expect("There is only one fatal error; qed");
if e.is_fatal_error() {
return result;
}
},
}
result
}
}
impl
self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::EnsureInherentsAreFirst<
Block,
> for Runtime
{
fn ensure_inherents_are_first(block: &Block) -> Result<(), u32> {
use self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::ProvideInherent;
use self::sp_api_hidden_includes_construct_runtime::hidden_include::sp_runtime::traits::Block as _;
use self::sp_api_hidden_includes_construct_runtime::hidden_include::traits::{
ExtrinsicCall, IsSubType,
};
let mut first_signed_observed = false;
for (i, xt) in block.extrinsics().iter().enumerate() {
let is_signed = self::sp_api_hidden_includes_construct_runtime::hidden_include::inherent::Extrinsic::is_signed(
xt,
)
.unwrap_or(false);
let is_inherent = if is_signed {
false
} else {
let mut is_inherent = false;
{
let call = <UncheckedExtrinsic as ExtrinsicCall>::call(xt);
if let Some(call) = IsSubType::<_>::is_sub_type(call) {
if Timestamp::is_inherent(&call) {
is_inherent = true;
}
}
}
is_inherent
};
if !is_inherent {
first_signed_observed = true;
}
if first_signed_observed && is_inherent {
return Err(i as u32);
}
}
Ok(())
}
}
impl self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::ValidateUnsigned
for Runtime
{
type Call = Call;
fn pre_dispatch(
call: &Self::Call,
) -> Result<
(),
self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidityError,
>{
#[allow(unreachable_patterns)]
match call {
Call::Grandpa(inner_call) => Grandpa::pre_dispatch(inner_call),
_ => Ok(()),
}
}
fn validate_unsigned(
#[allow(unused_variables)]
source: self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionSource,
call: &Self::Call,
) -> self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::TransactionValidity
{
#[allow(unreachable_patterns)]
match call {
Call::Grandpa(inner_call) => Grandpa::validate_unsigned(source, inner_call),
_ => {
self::sp_api_hidden_includes_construct_runtime::hidden_include::unsigned::UnknownTransaction::NoUnsignedValidator
.into()
}
}
}
}
const _: () =
if !(<frame_system::Error<Runtime> as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE
<= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE)
{
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&[
"The maximum encoded size of the error type in the `System` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`",
],
&[],
),
)
};
const _: () =
if !(<pallet_grandpa::Error<Runtime> as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE
<= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE)
{
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&[
"The maximum encoded size of the error type in the `Grandpa` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`",
],
&[],
),
)
};
const _: () =
if !(<pallet_balances::Error<Runtime> as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE
<= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE)
{
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&[
"The maximum encoded size of the error type in the `Balances` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`",
],
&[],
),
)
};
const _: () =
if !(<pallet_sudo::Error<Runtime> as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE
<= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE)
{
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&[
"The maximum encoded size of the error type in the `Sudo` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`",
],
&[],
),
)
};
const _: () =
if !(<pallet_template::Error<Runtime> as ::frame_support::traits::PalletError>::MAX_ENCODED_SIZE
<= ::frame_support::MAX_MODULE_ERROR_ENCODED_SIZE)
{
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&[
"The maximum encoded size of the error type in the `TemplateModule` pallet exceeds `MAX_MODULE_ERROR_ENCODED_SIZE`",
],
&[],
),
)
};
/// The address format for describing accounts.
pub type Address = sp_runtime::MultiAddress<AccountId, ()>;
/// Block header type as expected by this runtime.
pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
/// Block type as expected by this runtime.
pub type Block = generic::Block<Header, UncheckedExtrinsic>;
/// The SignedExtension to the basic transaction logic.
pub type SignedExtra = (
frame_system::CheckNonZeroSender<Runtime>,
frame_system::CheckSpecVersion<Runtime>,
frame_system::CheckTxVersion<Runtime>,
frame_system::CheckGenesis<Runtime>,
frame_system::CheckEra<Runtime>,
frame_system::CheckNonce<Runtime>,
frame_system::CheckWeight<Runtime>,
pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
);
/// Unchecked extrinsic type as expected by this runtime.
pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;
/// The payload being signed in transactions.
pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>;
/// Executive: handles dispatch to the various modules.
pub type Executive = frame_executive::Executive<
Runtime,
Block,
frame_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
>;
#[doc(hidden)]
mod sp_api_hidden_includes_IMPL_RUNTIME_APIS {
pub extern crate sp_api as sp_api;
}
pub struct RuntimeApi {}
/// Implements all runtime apis for the client side.
#[cfg(any(feature = "std", test))]
pub struct RuntimeApiImpl<
Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT,
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block> + 'static,
> {
call: &'static C,
commit_on_success: std::cell::RefCell<bool>,
changes: std::cell::RefCell<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges,
>,
storage_transaction_cache: std::cell::RefCell<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StorageTransactionCache<
Block,
C::StateBackend,
>,
>,
recorder: std::option::Option<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ProofRecorder<Block>,
>,
}
#[cfg(any(feature = "std", test))]
unsafe impl<
Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT,
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block>,
> Send for RuntimeApiImpl<Block, C>
{
}
#[cfg(any(feature = "std", test))]
unsafe impl<
Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT,
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block>,
> Sync for RuntimeApiImpl<Block, C>
{
}
#[cfg(any(feature = "std", test))]
impl<
Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT,
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block>,
> self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiExt<Block>
for RuntimeApiImpl<Block, C>
{
type StateBackend = C::StateBackend;
fn execute_in_transaction<
F: FnOnce(
&Self,
) -> self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::TransactionOutcome<R>,
R,
>(
&self,
call: F,
) -> R
where
Self: Sized,
{
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
*std::cell::RefCell::borrow_mut(&self.commit_on_success) = false;
let res = call(self);
*std::cell::RefCell::borrow_mut(&self.commit_on_success) = true;
self.commit_or_rollback(match res {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::TransactionOutcome::Commit(
_,
) => true,
_ => false,
});
res.into_inner()
}
fn has_api<A: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeApiInfo + ?Sized>(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<Block>,
) -> std::result::Result<bool, self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError>
where
Self: Sized,
{
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
Block,
>::runtime_version_at(self.call, at)
.map(|v| self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion::has_api_with(
&v,
&A::ID,
|v| v == A::VERSION,
))
}
fn has_api_with<
A: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeApiInfo + ?Sized,
P: Fn(u32) -> bool,
>(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<Block>,
pred: P,
) -> std::result::Result<bool, self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError>
where
Self: Sized,
{
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
Block,
>::runtime_version_at(self.call, at)
.map(|v| self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion::has_api_with(
&v,
&A::ID,
pred,
))
}
fn api_version<
A: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeApiInfo + ?Sized,
>(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<Block>,
) -> std::result::Result<
Option<u32>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
>
where
Self: Sized,
{
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
Block,
>::runtime_version_at(self.call, at)
.map(|v| self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion::api_version(
&v,
&A::ID,
))
}
fn record_proof(&mut self) {
self.recorder = std::option::Option::Some(std::default::Default::default());
}
fn proof_recorder(
&self,
) -> std::option::Option<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ProofRecorder<Block>,
> {
std::clone::Clone::clone(&self.recorder)
}
fn extract_proof(
&mut self,
) -> std::option::Option<self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StorageProof> {
std::option::Option::take(&mut self.recorder).map(|recorder| {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ProofRecorder::<
Block,
>::to_storage_proof(&recorder)
})
}
fn into_storage_changes(
&self,
backend: &Self::StateBackend,
parent_hash: Block::Hash,
) -> core::result::Result<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StorageChanges<
C::StateBackend,
Block,
>,
String,
>
where
Self: Sized,
{
let at = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId::Hash(
std::clone::Clone::clone(&parent_hash),
);
let state_version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
Block,
>::runtime_version_at(self.call, &at)
.map(|v| {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion::state_version(
&v,
)
})
.map_err(|e| {
let res = ::alloc::fmt::format(::core::fmt::Arguments::new_v1(
&["Failed to get state version: "],
&[::core::fmt::ArgumentV1::new_display(&e)],
));
res
})?;
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::into_storage_changes(
std::cell::RefCell::take(&self.changes),
backend,
core::cell::RefCell::take(&self.storage_transaction_cache),
state_version,
)
}
}
#[cfg(any(feature = "std", test))]
impl<Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT, C>
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ConstructRuntimeApi<Block, C> for RuntimeApi
where
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block> + 'static,
{
type RuntimeApi = RuntimeApiImpl<Block, C>;
fn construct_runtime_api<'a>(
call: &'a C,
) -> self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiRef<'a, Self::RuntimeApi> {
RuntimeApiImpl {
call: unsafe { std::mem::transmute(call) },
commit_on_success: true.into(),
changes: std::default::Default::default(),
recorder: std::default::Default::default(),
storage_transaction_cache: std::default::Default::default(),
}
.into()
}
}
#[cfg(any(feature = "std", test))]
impl<
Block: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT,
C: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<Block>,
> RuntimeApiImpl<Block, C>
{
fn commit_or_rollback(&self, commit: bool) {
let proof = "\
We only close a transaction when we opened one ourself.
Other parts of the runtime that make use of transactions (state-machine)
also balance their transactions. The runtime cannot close client initiated
transactions; qed";
if *std::cell::RefCell::borrow(&self.commit_on_success) {
let res = if commit {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::commit_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
)
} else {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::rollback_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
)
};
std::result::Result::expect(res, proof);
}
}
}
impl sp_api::runtime_decl_for_Core::Core<Block> for Runtime {
fn version() -> RuntimeVersion {
VERSION
}
fn execute_block(block: Block) {
Executive::execute_block(block);
}
fn initialize_block(header: &<Block as BlockT>::Header) {
Executive::initialize_block(header)
}
}
impl sp_api::runtime_decl_for_Metadata::Metadata<Block> for Runtime {
fn metadata() -> OpaqueMetadata {
OpaqueMetadata::new(Runtime::metadata().into())
}
}
impl sp_block_builder::runtime_decl_for_BlockBuilder::BlockBuilder<Block> for Runtime {
fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
Executive::apply_extrinsic(extrinsic)
}
fn finalize_block() -> <Block as BlockT>::Header {
Executive::finalize_block()
}
fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {
data.create_extrinsics()
}
fn check_inherents(
block: Block,
data: sp_inherents::InherentData,
) -> sp_inherents::CheckInherentsResult {
data.check_extrinsics(&block)
}
}
impl sp_transaction_pool::runtime_api::runtime_decl_for_TaggedTransactionQueue::TaggedTransactionQueue<
Block,
> for Runtime {
fn validate_transaction(
source: TransactionSource,
tx: <Block as BlockT>::Extrinsic,
block_hash: <Block as BlockT>::Hash,
) -> TransactionValidity {
Executive::validate_transaction(source, tx, block_hash)
}
}
impl sp_offchain::runtime_decl_for_OffchainWorkerApi::OffchainWorkerApi<Block> for Runtime {
fn offchain_worker(header: &<Block as BlockT>::Header) {
Executive::offchain_worker(header)
}
}
impl sp_consensus_aura::runtime_decl_for_AuraApi::AuraApi<Block, AuraId> for Runtime {
fn slot_duration() -> sp_consensus_aura::SlotDuration {
sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
}
fn authorities() -> Vec<AuraId> {
Aura::authorities().into_inner()
}
}
impl sp_session::runtime_decl_for_SessionKeys::SessionKeys<Block> for Runtime {
fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
opaque::SessionKeys::generate(seed)
}
fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {
opaque::SessionKeys::decode_into_raw_public_keys(&encoded)
}
}
impl fg_primitives::runtime_decl_for_GrandpaApi::GrandpaApi<Block> for Runtime {
fn grandpa_authorities() -> GrandpaAuthorityList {
Grandpa::grandpa_authorities()
}
fn current_set_id() -> fg_primitives::SetId {
Grandpa::current_set_id()
}
fn submit_report_equivocation_unsigned_extrinsic(
_equivocation_proof: fg_primitives::EquivocationProof<
<Block as BlockT>::Hash,
NumberFor<Block>,
>,
_key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
) -> Option<()> {
None
}
fn generate_key_ownership_proof(
_set_id: fg_primitives::SetId,
_authority_id: GrandpaId,
) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
None
}
}
impl
frame_system_rpc_runtime_api::runtime_decl_for_AccountNonceApi::AccountNonceApi<
Block,
AccountId,
Index,
> for Runtime
{
fn account_nonce(account: AccountId) -> Index {
System::account_nonce(account)
}
}
impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentApi::TransactionPaymentApi<
Block,
Balance,
> for Runtime {
fn query_info(
uxt: <Block as BlockT>::Extrinsic,
len: u32,
) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo<Balance> {
TransactionPayment::query_info(uxt, len)
}
fn query_fee_details(
uxt: <Block as BlockT>::Extrinsic,
len: u32,
) -> pallet_transaction_payment::FeeDetails<Balance> {
TransactionPayment::query_fee_details(uxt, len)
}
}
impl pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentCallApi::TransactionPaymentCallApi<
Block,
Balance,
Call,
> for Runtime {
fn query_call_info(
call: Call,
len: u32,
) -> pallet_transaction_payment::RuntimeDispatchInfo<Balance> {
TransactionPayment::query_call_info(call, len)
}
fn query_call_fee_details(
call: Call,
len: u32,
) -> pallet_transaction_payment::FeeDetails<Balance> {
TransactionPayment::query_call_fee_details(call, len)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_api::Core<__SR_API_BLOCK__> for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
RuntimeVersion: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
<__SR_API_BLOCK__ as BlockT>::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_api::Metadata<__SR_API_BLOCK__> for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
OpaqueMetadata: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_block_builder::BlockBuilder<__SR_API_BLOCK__>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
<__SR_API_BLOCK__ as BlockT>::Extrinsic: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
ApplyExtrinsicResult: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
<__SR_API_BLOCK__ as BlockT>::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Vec<<__SR_API_BLOCK__ as BlockT>::Extrinsic>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
sp_inherents::InherentData: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
sp_inherents::CheckInherentsResult: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_transaction_pool::runtime_api::TaggedTransactionQueue<__SR_API_BLOCK__>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
TransactionSource: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
<__SR_API_BLOCK__ as BlockT>::Extrinsic: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
<__SR_API_BLOCK__ as BlockT>::Hash: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
TransactionValidity: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_offchain::OffchainWorkerApi<__SR_API_BLOCK__>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
<__SR_API_BLOCK__ as BlockT>::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_consensus_aura::AuraApi<__SR_API_BLOCK__, AuraId>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
sp_consensus_aura::SlotDuration: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Vec<AuraId>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> sp_session::SessionKeys<__SR_API_BLOCK__> for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
Option<Vec<u8>>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Vec<u8>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Vec<u8>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Option<Vec<(Vec<u8>, KeyTypeId)>>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> fg_primitives::GrandpaApi<__SR_API_BLOCK__>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
GrandpaAuthorityList: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
fg_primitives::SetId: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
fg_primitives::EquivocationProof<
<__SR_API_BLOCK__ as BlockT>::Hash,
NumberFor<__SR_API_BLOCK__>,
>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
fg_primitives::OpaqueKeyOwnershipProof: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Option<()>: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
fg_primitives::SetId: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
GrandpaId: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Option<fg_primitives::OpaqueKeyOwnershipProof>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> frame_system_rpc_runtime_api::AccountNonceApi<__SR_API_BLOCK__, AccountId, Index>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
AccountId: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Index: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
> pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<__SR_API_BLOCK__, Balance>
for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
<__SR_API_BLOCK__ as BlockT>::Extrinsic: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo<Balance>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
<__SR_API_BLOCK__ as BlockT>::Extrinsic: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
pallet_transaction_payment::FeeDetails<Balance>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
#[cfg(any(feature = "std", test))]
impl<
__SR_API_BLOCK__: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockT
+ std::panic::UnwindSafe
+ std::panic::RefUnwindSafe,
RuntimeApiImplCall: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt<__SR_API_BLOCK__>
+ 'static,
>
pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi<
__SR_API_BLOCK__,
Balance,
Call,
> for RuntimeApiImpl<__SR_API_BLOCK__, RuntimeApiImplCall>
where
RuntimeApiImplCall::StateBackend:
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::StateBackend<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::HashFor<__SR_API_BLOCK__>,
>,
Call: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
pallet_transaction_payment::RuntimeDispatchInfo<Balance>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
Call: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
u32: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
pallet_transaction_payment::FeeDetails<Balance>:
std::panic::UnwindSafe + std::panic::RefUnwindSafe,
__SR_API_BLOCK__::Header: std::panic::UnwindSafe + std::panic::RefUnwindSafe,
{
fn __runtime_api_internal_call_api_at(
&self,
at: &self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::BlockId<__SR_API_BLOCK__>,
context: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ExecutionContext,
params: std::vec::Vec<u8>,
fn_name: &dyn Fn(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::RuntimeVersion,
) -> &'static str,
) -> std::result::Result<
std::vec::Vec<u8>,
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApiError,
> {
if *std::cell::RefCell::borrow(&self.commit_on_success) {
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::OverlayedChanges::start_transaction(
&mut std::cell::RefCell::borrow_mut(&self.changes),
);
}
let res = (|| {
let version = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::runtime_version_at(self.call, at)?;
let params = self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAtParams::<
_,
fn() -> _,
_,
> {
at,
function: (*fn_name)(version),
native_call: None,
arguments: params,
overlayed_changes: &self.changes,
storage_transaction_cache: &self.storage_transaction_cache,
context,
recorder: &self.recorder,
};
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::CallApiAt::<
__SR_API_BLOCK__,
>::call_api_at::<
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NeverNativeValue,
_,
>(self.call, params)
})();
self.commit_or_rollback(std::result::Result::is_ok(&res));
res.map(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::NativeOrEncoded::into_encoded,
)
}
}
const RUNTIME_API_VERSIONS: self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::ApisVec = ::sp_version::sp_std::borrow::Cow::Borrowed(
&[
(sp_api::runtime_decl_for_Core::ID, sp_api::runtime_decl_for_Core::VERSION),
(
sp_api::runtime_decl_for_Metadata::ID,
sp_api::runtime_decl_for_Metadata::VERSION,
),
(
sp_block_builder::runtime_decl_for_BlockBuilder::ID,
sp_block_builder::runtime_decl_for_BlockBuilder::VERSION,
),
(
sp_transaction_pool::runtime_api::runtime_decl_for_TaggedTransactionQueue::ID,
sp_transaction_pool::runtime_api::runtime_decl_for_TaggedTransactionQueue::VERSION,
),
(
sp_offchain::runtime_decl_for_OffchainWorkerApi::ID,
sp_offchain::runtime_decl_for_OffchainWorkerApi::VERSION,
),
(
sp_consensus_aura::runtime_decl_for_AuraApi::ID,
sp_consensus_aura::runtime_decl_for_AuraApi::VERSION,
),
(
sp_session::runtime_decl_for_SessionKeys::ID,
sp_session::runtime_decl_for_SessionKeys::VERSION,
),
(
fg_primitives::runtime_decl_for_GrandpaApi::ID,
fg_primitives::runtime_decl_for_GrandpaApi::VERSION,
),
(
frame_system_rpc_runtime_api::runtime_decl_for_AccountNonceApi::ID,
frame_system_rpc_runtime_api::runtime_decl_for_AccountNonceApi::VERSION,
),
(
pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentApi::ID,
pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentApi::VERSION,
),
(
pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentCallApi::ID,
pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentCallApi::VERSION,
),
],
);
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
const _: () = {};
pub mod api {
use super::*;
#[cfg(feature = "std")]
pub fn dispatch(method: &str, mut __sp_api__input_data: &[u8]) -> Option<Vec<u8>> {
match method {
"Core_version" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"version"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_api::runtime_decl_for_Core::Core<Block>>::version()
}))
},
"Core_execute_block" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (block): (Block) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"execute_block"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_api::runtime_decl_for_Core::Core<Block>>::execute_block(block)
}))
},
"Core_initialize_block" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (header): (<Block as BlockT>::Header) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"initialize_block"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_api::runtime_decl_for_Core::Core<Block>>::initialize_block(
&header,
)
}))
},
"Metadata_metadata" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"metadata"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_api::runtime_decl_for_Metadata::Metadata<Block>>::metadata()
}))
},
"BlockBuilder_apply_extrinsic" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (extrinsic): (<Block as BlockT>::Extrinsic) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"apply_extrinsic"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_block_builder::runtime_decl_for_BlockBuilder::BlockBuilder<
Block,
>>::apply_extrinsic(extrinsic)
}))
},
"BlockBuilder_finalize_block" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"finalize_block"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_block_builder::runtime_decl_for_BlockBuilder::BlockBuilder<
Block,
>>::finalize_block()
}))
},
"BlockBuilder_inherent_extrinsics" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (data): (sp_inherents::InherentData) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"inherent_extrinsics",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_block_builder::runtime_decl_for_BlockBuilder::BlockBuilder<
Block,
>>::inherent_extrinsics(data)
}))
},
"BlockBuilder_check_inherents" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (block, data): (Block, sp_inherents::InherentData) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"check_inherents"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_block_builder::runtime_decl_for_BlockBuilder::BlockBuilder<
Block,
>>::check_inherents(block, data)
}))
},
"TaggedTransactionQueue_validate_transaction" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (
source,
tx,
block_hash,
): (
TransactionSource,
<Block as BlockT>::Extrinsic,
<Block as BlockT>::Hash,
) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"validate_transaction",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_transaction_pool::runtime_api::runtime_decl_for_TaggedTransactionQueue::TaggedTransactionQueue<
Block,
>>::validate_transaction(source, tx, block_hash)
}))
},
"OffchainWorkerApi_offchain_worker" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (header): (<Block as BlockT>::Header) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"offchain_worker"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_offchain::runtime_decl_for_OffchainWorkerApi::OffchainWorkerApi<
Block,
>>::offchain_worker(&header)
}))
},
"AuraApi_slot_duration" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"slot_duration"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_consensus_aura::runtime_decl_for_AuraApi::AuraApi<
Block,
AuraId,
>>::slot_duration()
}))
},
"AuraApi_authorities" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"authorities"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_consensus_aura::runtime_decl_for_AuraApi::AuraApi<
Block,
AuraId,
>>::authorities()
}))
},
"SessionKeys_generate_session_keys" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (seed): (Option<Vec<u8>>) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"generate_session_keys",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_session::runtime_decl_for_SessionKeys::SessionKeys<
Block,
>>::generate_session_keys(seed)
}))
},
"SessionKeys_decode_session_keys" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (encoded): (Vec<u8>) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"decode_session_keys",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as sp_session::runtime_decl_for_SessionKeys::SessionKeys<
Block,
>>::decode_session_keys(encoded)
}))
},
"GrandpaApi_grandpa_authorities" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"grandpa_authorities",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as fg_primitives::runtime_decl_for_GrandpaApi::GrandpaApi<
Block,
>>::grandpa_authorities()
}))
},
"GrandpaApi_current_set_id" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (): () = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"current_set_id"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as fg_primitives::runtime_decl_for_GrandpaApi::GrandpaApi<
Block,
>>::current_set_id()
}))
},
"GrandpaApi_submit_report_equivocation_unsigned_extrinsic" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (
_equivocation_proof,
_key_owner_proof,
): (
fg_primitives::EquivocationProof<
<Block as BlockT>::Hash,
NumberFor<Block>,
>,
fg_primitives::OpaqueKeyOwnershipProof,
) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"submit_report_equivocation_unsigned_extrinsic",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as fg_primitives::runtime_decl_for_GrandpaApi::GrandpaApi<
Block,
>>::submit_report_equivocation_unsigned_extrinsic(
_equivocation_proof,
_key_owner_proof,
)
}))
},
"GrandpaApi_generate_key_ownership_proof" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (
_set_id,
_authority_id,
): (fg_primitives::SetId, GrandpaId) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"generate_key_ownership_proof",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as fg_primitives::runtime_decl_for_GrandpaApi::GrandpaApi<
Block,
>>::generate_key_ownership_proof(_set_id, _authority_id)
}))
},
"AccountNonceApi_account_nonce" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (account): (AccountId) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"account_nonce"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as frame_system_rpc_runtime_api::runtime_decl_for_AccountNonceApi::AccountNonceApi<
Block,
AccountId,
Index,
>>::account_nonce(account)
}))
},
"TransactionPaymentApi_query_info" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (uxt, len): (<Block as BlockT>::Extrinsic, u32) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"query_info"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentApi::TransactionPaymentApi<
Block,
Balance,
>>::query_info(uxt, len)
}))
},
"TransactionPaymentApi_query_fee_details" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (uxt, len): (<Block as BlockT>::Extrinsic, u32) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"query_fee_details"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentApi::TransactionPaymentApi<
Block,
Balance,
>>::query_fee_details(uxt, len)
}))
},
"TransactionPaymentCallApi_query_call_info" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (call, len): (Call, u32) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(&"query_call_info"),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentCallApi::TransactionPaymentCallApi<
Block,
Balance,
Call,
>>::query_call_info(call, len)
}))
},
"TransactionPaymentCallApi_query_call_fee_details" => {
Some(self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::Encode::encode(&{
let (call, len): (Call, u32) = match self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::DecodeLimit::decode_all_with_depth_limit(
self::sp_api_hidden_includes_IMPL_RUNTIME_APIS::sp_api::MAX_EXTRINSIC_DEPTH,
&mut __sp_api__input_data,
) {
Ok(res) => res,
Err(e) => {
::core::panicking::panic_fmt(
::core::fmt::Arguments::new_v1(
&["Bad input data provided to ", ": "],
&[
::core::fmt::ArgumentV1::new_display(
&"query_call_fee_details",
),
::core::fmt::ArgumentV1::new_display(&e),
],
),
)
}
};
#[allow(deprecated)]
<Runtime as pallet_transaction_payment_rpc_runtime_api::runtime_decl_for_TransactionPaymentCallApi::TransactionPaymentCallApi<
Block,
Balance,
Call,
>>::query_call_fee_details(call, len)
}))
},
_ => None,
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment