mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 21:41:12 +00:00
Create AuthoritiesChange digest item in correct block (#2512)
* finalize srml modules in reverse order * update runtime versions
This commit is contained in:
committed by
Gavin Wood
parent
ac195a0060
commit
59be403730
@@ -288,56 +288,39 @@ pub trait OffchainWorker<BlockNumber> {
|
||||
impl<N> OffchainWorker<N> for () {}
|
||||
|
||||
macro_rules! tuple_impl {
|
||||
($one:ident,) => {
|
||||
impl<Number: Copy, $one: OnFinalize<Number>> OnFinalize<Number> for ($one,) {
|
||||
($first:ident, $($rest:ident,)+) => {
|
||||
tuple_impl!([$first] [$first] [$($rest)+]);
|
||||
};
|
||||
([$($direct:ident)+] [$($reverse:ident)+] []) => {
|
||||
impl<
|
||||
Number: Copy,
|
||||
$($direct: OnFinalize<Number>),+
|
||||
> OnFinalize<Number> for ($($direct),+,) {
|
||||
fn on_finalize(n: Number) {
|
||||
$one::on_finalize(n);
|
||||
$($reverse::on_finalize(n);)+
|
||||
}
|
||||
}
|
||||
impl<Number: Copy, $one: OnInitialize<Number>> OnInitialize<Number> for ($one,) {
|
||||
impl<
|
||||
Number: Copy,
|
||||
$($direct: OnInitialize<Number>),+
|
||||
> OnInitialize<Number> for ($($direct),+,) {
|
||||
fn on_initialize(n: Number) {
|
||||
$one::on_initialize(n);
|
||||
$($direct::on_initialize(n);)+
|
||||
}
|
||||
}
|
||||
impl<Number: Copy, $one: OffchainWorker<Number>> OffchainWorker<Number> for ($one,) {
|
||||
impl<
|
||||
Number: Copy,
|
||||
$($direct: OffchainWorker<Number>),+
|
||||
> OffchainWorker<Number> for ($($direct),+,) {
|
||||
fn generate_extrinsics(n: Number) {
|
||||
$one::generate_extrinsics(n);
|
||||
$($direct::generate_extrinsics(n);)+
|
||||
}
|
||||
}
|
||||
};
|
||||
($first:ident, $($rest:ident,)+) => {
|
||||
impl<
|
||||
Number: Copy,
|
||||
$first: OnFinalize<Number>,
|
||||
$($rest: OnFinalize<Number>),+
|
||||
> OnFinalize<Number> for ($first, $($rest),+) {
|
||||
fn on_finalize(n: Number) {
|
||||
$first::on_finalize(n);
|
||||
$($rest::on_finalize(n);)+
|
||||
}
|
||||
}
|
||||
impl<
|
||||
Number: Copy,
|
||||
$first: OnInitialize<Number>,
|
||||
$($rest: OnInitialize<Number>),+
|
||||
> OnInitialize<Number> for ($first, $($rest),+) {
|
||||
fn on_initialize(n: Number) {
|
||||
$first::on_initialize(n);
|
||||
$($rest::on_initialize(n);)+
|
||||
}
|
||||
}
|
||||
impl<
|
||||
Number: Copy,
|
||||
$first: OffchainWorker<Number>,
|
||||
$($rest: OffchainWorker<Number>),+
|
||||
> OffchainWorker<Number> for ($first, $($rest),+) {
|
||||
fn generate_extrinsics(n: Number) {
|
||||
$first::generate_extrinsics(n);
|
||||
$($rest::generate_extrinsics(n);)+
|
||||
}
|
||||
}
|
||||
tuple_impl!($($rest,)+);
|
||||
}
|
||||
([$($direct:ident)+] [$($reverse:ident)+] [$first:ident $($rest:ident)*]) => {
|
||||
tuple_impl!([$($direct)+] [$($reverse)+] []);
|
||||
tuple_impl!([$($direct)+ $first] [$first $($reverse)+] [$($rest)*]);
|
||||
};
|
||||
}
|
||||
|
||||
#[allow(non_snake_case)]
|
||||
|
||||
@@ -37,14 +37,14 @@ mod tests {
|
||||
use primitives::{twox_128, blake2_256, Blake2Hasher, ChangesTrieConfiguration, NeverNativeValue,
|
||||
NativeOrEncoded};
|
||||
use node_primitives::{Hash, BlockNumber, AccountId};
|
||||
use runtime_primitives::traits::{Header as HeaderT, Hash as HashT};
|
||||
use runtime_primitives::{generic, generic::Era, ApplyOutcome, ApplyError, ApplyResult, Perbill};
|
||||
use runtime_primitives::traits::{Header as HeaderT, Hash as HashT, Digest, DigestItem};
|
||||
use runtime_primitives::{generic::Era, ApplyOutcome, ApplyError, ApplyResult, Perbill};
|
||||
use {balances, indices, session, system, staking, consensus, timestamp, treasury, contract};
|
||||
use contract::ContractAddressFor;
|
||||
use system::{EventRecord, Phase};
|
||||
use node_runtime::{Header, Block, UncheckedExtrinsic, CheckedExtrinsic, Call, Runtime, Balances,
|
||||
BuildStorage, GenesisConfig, BalancesConfig, SessionConfig, StakingConfig, System,
|
||||
SystemConfig, GrandpaConfig, IndicesConfig, Event, Log};
|
||||
SystemConfig, GrandpaConfig, IndicesConfig, Event};
|
||||
use wabt;
|
||||
use primitives::map;
|
||||
|
||||
@@ -442,8 +442,10 @@ mod tests {
|
||||
]
|
||||
);
|
||||
|
||||
let digest = generic::Digest::<Log>::default();
|
||||
assert_eq!(Header::decode(&mut &block2.0[..]).unwrap().digest, digest);
|
||||
// session change => consensus authorities change => authorities change digest item appears
|
||||
let digest = Header::decode(&mut &block2.0[..]).unwrap().digest;
|
||||
assert_eq!(digest.logs().len(), 1);
|
||||
assert!(digest.logs()[0].as_authorities_change().is_some());
|
||||
|
||||
(block1, block2)
|
||||
}
|
||||
@@ -567,10 +569,6 @@ mod tests {
|
||||
phase: Phase::ApplyExtrinsic(2),
|
||||
event: Event::system(system::Event::ExtrinsicSuccess)
|
||||
},
|
||||
EventRecord {
|
||||
phase: Phase::Finalization,
|
||||
event: Event::session(session::RawEvent::NewSession(1))
|
||||
},
|
||||
EventRecord {
|
||||
phase: Phase::Finalization,
|
||||
event: Event::treasury(treasury::RawEvent::Spending(0))
|
||||
@@ -583,6 +581,10 @@ mod tests {
|
||||
phase: Phase::Finalization,
|
||||
event: Event::treasury(treasury::RawEvent::Rollover(0))
|
||||
},
|
||||
EventRecord {
|
||||
phase: Phase::Finalization,
|
||||
event: Event::session(session::RawEvent::NewSession(1))
|
||||
},
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -58,8 +58,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
||||
spec_name: create_runtime_str!("node"),
|
||||
impl_name: create_runtime_str!("substrate-node"),
|
||||
authoring_version: 10,
|
||||
spec_version: 75,
|
||||
impl_version: 75,
|
||||
spec_version: 76,
|
||||
impl_version: 76,
|
||||
apis: RUNTIME_API_VERSIONS,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user