Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Substrate Dependency #566

Merged
merged 19 commits into from
Dec 16, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
496 changes: 260 additions & 236 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions bin/millau/node/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,6 @@ pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {
task_manager
.spawn_essential_handle()
.spawn_blocking("grandpa-voter", sc_finality_grandpa::run_grandpa_voter(grandpa_config)?);
} else {
sc_finality_grandpa::setup_disabled_grandpa(network)?;
}

network_starter.start_network();
Expand Down
61 changes: 24 additions & 37 deletions bin/millau/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
pub mod rialto_messages;

use codec::Decode;
use frame_system::limits;
use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};
use sp_api::impl_runtime_apis;
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
Expand All @@ -50,7 +51,7 @@ use sp_version::RuntimeVersion;
pub use frame_support::{
construct_runtime, parameter_types,
traits::{Currency, ExistenceRequirement, Imbalance, KeyOwnerProofSystem, Randomness},
weights::{IdentityFee, RuntimeDbWeight, Weight},
weights::{constants::WEIGHT_PER_SECOND, DispatchClass, IdentityFee, RuntimeDbWeight, Weight},
StorageValue,
};

Expand Down Expand Up @@ -149,19 +150,17 @@ pub fn native_version() -> NativeVersion {

parameter_types! {
pub const BlockHashCount: BlockNumber = 250;
pub const MaximumBlockWeight: Weight = bp_millau::MAXIMUM_BLOCK_WEIGHT;
pub const ExtrinsicBaseWeight: Weight = 10_000_000;
pub const AvailableBlockRatio: Perbill = Perbill::from_percent(bp_millau::AVAILABLE_BLOCK_RATIO);
pub MaximumExtrinsicWeight: Weight = bp_millau::MAXIMUM_EXTRINSIC_WEIGHT;
pub const MaximumBlockLength: u32 = bp_millau::MAXIMUM_BLOCK_SIZE;
pub const Version: RuntimeVersion = VERSION;
pub const DbWeight: RuntimeDbWeight = RuntimeDbWeight {
read: 60_000_000, // ~0.06 ms = ~60 µs
write: 200_000_000, // ~0.2 ms = 200 µs
};

pub RuntimeBlockLength: limits::BlockLength = bp_millau::runtime_block_length();
pub RuntimeBlockWeights: limits::BlockWeights = bp_millau::runtime_block_weights();
}

impl frame_system::Trait for Runtime {
impl frame_system::Config for Runtime {
/// The basic call filter to use in dispatchable.
type BaseCallFilter = ();
/// The identifier used to distinguish between accounts.
Expand All @@ -186,24 +185,6 @@ impl frame_system::Trait for Runtime {
type Origin = Origin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount;
/// Maximum weight of each block.
type MaximumBlockWeight = MaximumBlockWeight;
/// The weight of database operations that the runtime can invoke.
type DbWeight = DbWeight;
/// The weight of the overhead invoked on the block import process, independent of the
/// extrinsics included in that block.
type BlockExecutionWeight = ();
/// The base weight of any extrinsic processed by the runtime, independent of the
/// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...)
type ExtrinsicBaseWeight = ExtrinsicBaseWeight;
/// The maximum weight that a single extrinsic of `Normal` dispatch class can have,
/// idependent of the logic of that extrinsics. (Roughly max block weight - average on
/// initialize cost).
type MaximumExtrinsicWeight = MaximumExtrinsicWeight;
/// Maximum size of all encoded transactions (in bytes) that are allowed in one block.
type MaximumBlockLength = MaximumBlockLength;
/// Portion of the block weight that is available to all normal transactions.
type AvailableBlockRatio = AvailableBlockRatio;
/// Version of the runtime.
type Version = Version;
/// Provides information about the pallet setup in the runtime.
Expand All @@ -217,12 +198,18 @@ impl frame_system::Trait for Runtime {
// TODO: update me (https://github.com/paritytech/parity-bridges-common/issues/78)
/// Weight information for the extrinsics of this pallet.
type SystemWeightInfo = ();
/// Block and extrinsics weights: base values and limits.
type BlockWeights = RuntimeBlockWeights;
/// The maximum length of a block (in bytes).
type BlockLength = RuntimeBlockLength;
/// The weight of database operations that the runtime can invoke.
type DbWeight = DbWeight;
}

impl pallet_aura::Trait for Runtime {
impl pallet_aura::Config for Runtime {
type AuthorityId = AuraId;
}
impl pallet_bridge_call_dispatch::Trait for Runtime {
impl pallet_bridge_call_dispatch::Config for Runtime {
type Event = Event;
type MessageId = (bp_message_lane::LaneId, bp_message_lane::MessageNonce);
type Call = Call;
Expand All @@ -232,7 +219,7 @@ impl pallet_bridge_call_dispatch::Trait for Runtime {
type AccountIdConverter = bp_millau::AccountIdConverter;
}

impl pallet_grandpa::Trait for Runtime {
impl pallet_grandpa::Config for Runtime {
type Event = Event;
type Call = Call;
type KeyOwnerProofSystem = ();
Expand All @@ -248,7 +235,7 @@ parameter_types! {
pub const MinimumPeriod: u64 = SLOT_DURATION / 2;
}

impl pallet_timestamp::Trait for Runtime {
impl pallet_timestamp::Config for Runtime {
/// A timestamp: milliseconds since the unix epoch.
type Moment = u64;
type OnTimestampSet = Aura;
Expand All @@ -264,7 +251,7 @@ parameter_types! {
pub const MaxLocks: u32 = 50;
}

impl pallet_balances::Trait for Runtime {
impl pallet_balances::Config for Runtime {
/// The type for recording an account's balance.
type Balance = Balance;
/// The ubiquitous event type.
Expand All @@ -282,14 +269,14 @@ parameter_types! {
pub const TransactionByteFee: Balance = 1;
}

impl pallet_transaction_payment::Trait for Runtime {
impl pallet_transaction_payment::Config for Runtime {
type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, ()>;
type TransactionByteFee = TransactionByteFee;
type WeightToFee = IdentityFee<Balance>;
type FeeMultiplierUpdate = ();
}

impl pallet_sudo::Trait for Runtime {
impl pallet_sudo::Config for Runtime {
type Event = Event;
type Call = Call;
}
Expand All @@ -300,9 +287,9 @@ parameter_types! {
pub const Offset: BlockNumber = 0;
}

impl pallet_session::Trait for Runtime {
impl pallet_session::Config for Runtime {
type Event = Event;
type ValidatorId = <Self as frame_system::Trait>::AccountId;
type ValidatorId = <Self as frame_system::Config>::AccountId;
type ValidatorIdOf = ();
type ShouldEndSession = pallet_session::PeriodicSessions<Period, Offset>;
type NextSessionRotation = pallet_session::PeriodicSessions<Period, Offset>;
Expand All @@ -314,11 +301,11 @@ impl pallet_session::Trait for Runtime {
type WeightInfo = ();
}

impl pallet_substrate_bridge::Trait for Runtime {
impl pallet_substrate_bridge::Config for Runtime {
type BridgedChain = bp_rialto::Rialto;
}

impl pallet_shift_session_manager::Trait for Runtime {}
impl pallet_shift_session_manager::Config for Runtime {}

parameter_types! {
pub const MaxMessagesToPruneAtOnce: bp_message_lane::MessageNonce = 8;
Expand All @@ -330,7 +317,7 @@ parameter_types! {
bp_millau::MAX_MESSAGES_IN_DELIVERY_TRANSACTION;
}

impl pallet_message_lane::Trait for Runtime {
impl pallet_message_lane::Config for Runtime {
type Event = Event;
type MaxMessagesToPruneAtOnce = MaxMessagesToPruneAtOnce;
type MaxUnrewardedRelayerEntriesAtInboundLane = MaxUnrewardedRelayerEntriesAtInboundLane;
Expand Down
8 changes: 4 additions & 4 deletions bin/millau/runtime/src/rialto_messages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,12 @@ impl MessageBridge for WithRialtoMessageBridge {
type BridgedChain = Rialto;

fn maximal_extrinsic_size_on_target_chain() -> u32 {
bp_rialto::MAXIMUM_EXTRINSIC_SIZE
bp_rialto::max_extrinsic_size()
}

fn weight_limits_of_message_on_bridged_chain(message_payload: &[u8]) -> RangeInclusive<Weight> {
// we don't want to relay too large messages + keep reserve for future upgrades
let upper_limit = bp_rialto::MAXIMUM_EXTRINSIC_WEIGHT / 2;
let upper_limit = bp_rialto::max_extrinsic_weight() / 2;

// given Rialto chain parameters (`TransactionByteFee`, `WeightToFee`, `FeeMultiplierUpdate`),
// the minimal weight of the message may be computed as message.length()
Expand All @@ -116,12 +116,12 @@ impl MessageBridge for WithRialtoMessageBridge {
}

fn this_weight_to_this_balance(weight: Weight) -> bp_millau::Balance {
<crate::Runtime as pallet_transaction_payment::Trait>::WeightToFee::calc(&weight)
<crate::Runtime as pallet_transaction_payment::Config>::WeightToFee::calc(&weight)
}

fn bridged_weight_to_bridged_balance(weight: Weight) -> bp_rialto::Balance {
// we're using the same weights in both chains now
<crate::Runtime as pallet_transaction_payment::Trait>::WeightToFee::calc(&weight) as _
<crate::Runtime as pallet_transaction_payment::Config>::WeightToFee::calc(&weight) as _
}

fn this_balance_to_bridged_balance(this_balance: bp_millau::Balance) -> bp_rialto::Balance {
Expand Down
2 changes: 0 additions & 2 deletions bin/rialto/node/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,6 @@ pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {
task_manager
.spawn_essential_handle()
.spawn_blocking("grandpa-voter", sc_finality_grandpa::run_grandpa_voter(grandpa_config)?);
} else {
sc_finality_grandpa::setup_disabled_grandpa(network)?;
}

network_starter.start_network();
Expand Down
2 changes: 1 addition & 1 deletion bin/rialto/runtime/src/exchange.rs
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ impl MaybeLockFundsTransaction for EthTransaction {

/// Prepares everything required to bench claim of funds locked by given transaction.
#[cfg(feature = "runtime-benchmarks")]
pub(crate) fn prepare_environment_for_claim<T: pallet_bridge_eth_poa::Trait<I>, I: frame_support::traits::Instance>(
pub(crate) fn prepare_environment_for_claim<T: pallet_bridge_eth_poa::Config<I>, I: frame_support::traits::Instance>(
transactions: &[(RawTransaction, RawTransactionReceipt)],
) -> bp_eth_poa::H256 {
use bp_eth_poa::compute_merkle_root;
Expand Down
Loading