Skip to content

Commit

Permalink
fix: enable throttling
Browse files Browse the repository at this point in the history
  • Loading branch information
CertainLach committed Oct 16, 2023
1 parent 8c199c3 commit 700b0c8
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 8 deletions.
2 changes: 2 additions & 0 deletions node/cli/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,8 @@ pub fn run() -> Result<()> {
}
}
#[cfg(feature = "try-runtime")]
// embedded try-runtime cli will be removed soon.
#[allow(deprecated)]
Some(Subcommand::TryRuntime(cmd)) => {
use std::{future::Future, pin::Pin};

Expand Down
4 changes: 3 additions & 1 deletion pallets/inflation/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,9 @@ pub mod pallet {
type TreasuryAccountId: Get<Self::AccountId>;

// The block number provider, which should be callable from `on_initialize` hook.
type OnInitializeBlockNumberProvider: BlockNumberProvider<BlockNumber = BlockNumberFor<Self>>;
type OnInitializeBlockNumberProvider: BlockNumberProvider<
BlockNumber = BlockNumberFor<Self>,
>;

/// Number of blocks that pass between treasury balance updates due to inflation
#[pallet::constant]
Expand Down
3 changes: 3 additions & 0 deletions primitives/common/src/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ use sp_runtime::Perbill;

use crate::types::{Balance, BlockNumber};

#[cfg(not(feature = "lookahead"))]
pub const MILLISECS_PER_BLOCK: u64 = 12000;
#[cfg(feature = "lookahead")]
pub const MILLISECS_PER_BLOCK: u64 = 3000;
pub const MILLISECS_PER_RELAY_BLOCK: u64 = 6000;

pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;
Expand Down
7 changes: 4 additions & 3 deletions runtime/common/config/pallets/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use frame_support::{
traits::{ConstU32, ConstU64, Currency},
};
use sp_arithmetic::Perbill;
use sp_runtime::traits::{BlockNumberProvider, AccountIdConversion};
use sp_runtime::traits::{AccountIdConversion, BlockNumberProvider};
use up_common::{
constants::*,
types::{AccountId, Balance, BlockNumber},
Expand Down Expand Up @@ -111,8 +111,8 @@ impl BlockNumberProvider for OnInitializeBlockNumberProvider {
type BlockNumber = BlockNumber;

fn current_block_number() -> Self::BlockNumber {
use parity_scale_codec::Decode;
use hex_literal::hex;
use parity_scale_codec::Decode;
use sp_io::storage;
// TODO: Replace with the following code after https://github.com/paritytech/polkadot-sdk/commit/3ea497b5a0fdda252f9c5a3c257cfaf8685f02fd lands
// <cumulus_pallet_parachain_system::Pallet<Runtime>>::last_relay_block_number()
Expand All @@ -122,7 +122,8 @@ impl BlockNumberProvider for OnInitializeBlockNumberProvider {
// First parachain block
return Default::default()
};
BlockNumber::decode(&mut encoded.as_ref()).expect("typeof(RelayBlockNumber) == typeof(BlockNumber) == u32; qed")
BlockNumber::decode(&mut encoded.as_ref())
.expect("typeof(RelayBlockNumber) == typeof(BlockNumber) == u32; qed")
}
}

Expand Down
20 changes: 20 additions & 0 deletions runtime/common/config/parachain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,29 @@ impl cumulus_pallet_parachain_system::Config for Runtime {
type ReservedDmpWeight = ReservedDmpWeight;
type ReservedXcmpWeight = ReservedXcmpWeight;
type XcmpMessageHandler = XcmpQueue;
#[cfg(not(feature = "lookahead"))]
type CheckAssociatedRelayNumber = cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;
#[cfg(feature = "lookahead")]
type CheckAssociatedRelayNumber =
cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases;
}

impl parachain_info::Config for Runtime {}

impl cumulus_pallet_aura_ext::Config for Runtime {}

/// Maximum number of blocks simultaneously accepted by the Runtime, not yet included
/// into the relay chain.
#[cfg(feature = "lookahead")]
const UNINCLUDED_SEGMENT_CAPACITY: u32 = 3;
/// How many parachain blocks are processed by the relay chain per parent. Limits the
/// number of blocks authored per slot.
#[cfg(feature = "lookahead")]
const BLOCK_PROCESSING_VELOCITY: u32 = 2;
#[cfg(feature = "lookahead")]
pub type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
Runtime,
{ MILLISECS_PER_RELAY_BLOCK as u32 },
BLOCK_PROCESSING_VELOCITY,
UNINCLUDED_SEGMENT_CAPACITY,
>;
7 changes: 3 additions & 4 deletions runtime/common/runtime_apis.rs
Original file line number Diff line number Diff line change
Expand Up @@ -682,11 +682,10 @@ macro_rules! impl_common_runtime_apis {
#[cfg(feature = "lookahead")]
impl cumulus_primitives_aura::AuraUnincludedSegmentApi<Block> for Runtime {
fn can_build_upon(
_included_hash: <Block as BlockT>::Hash,
_slot: cumulus_primitives_aura::Slot,
included_hash: <Block as BlockT>::Hash,
slot: cumulus_primitives_aura::Slot,
) -> bool {
// FIXME: Limit velocity
true
$crate::config::parachain::ConsensusHook::can_build_upon(included_hash, slot)
}
}

Expand Down

0 comments on commit 700b0c8

Please sign in to comment.