mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 01:38:32 +00:00
feat: set slashing mode in genesis config (#264)
In this PR we set the slashing mode value in the genesis config. For the 3 different runtime we specify the slashing mode : `mainnet/testnet` is set to `Disabled` and for `stagenet` to `LogOnly`. Co-authored-by: Steve Degosserie <723552+stiiifff@users.noreply.github.com>
This commit is contained in:
parent
70a505e9d8
commit
7c8227f1ab
6 changed files with 36 additions and 1 deletions
1
operator/Cargo.lock
generated
1
operator/Cargo.lock
generated
|
|
@ -9479,6 +9479,7 @@ dependencies = [
|
|||
"pallet-timestamp",
|
||||
"parity-scale-codec",
|
||||
"scale-info",
|
||||
"serde",
|
||||
"snowbridge-core 0.3.1",
|
||||
"snowbridge-outbound-queue-primitives",
|
||||
"sp-core",
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ sp-core = { workspace = true }
|
|||
sp-runtime = { workspace = true }
|
||||
pallet-external-validators = { workspace = true }
|
||||
sp-staking = { workspace = true }
|
||||
serde = { features = ["alloc", "derive"], workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
pallet-timestamp = { workspace = true, features = ["std"] }
|
||||
|
|
|
|||
|
|
@ -186,7 +186,9 @@ pub mod pallet {
|
|||
}
|
||||
|
||||
#[apply(derive_storage_traits)]
|
||||
#[derive(MaxEncodedLen, DecodeWithMemTracking, Default)]
|
||||
#[derive(
|
||||
MaxEncodedLen, DecodeWithMemTracking, serde::Deserialize, serde::Serialize, Default,
|
||||
)]
|
||||
pub enum SlashingModeOption {
|
||||
#[default]
|
||||
Enabled,
|
||||
|
|
@ -235,6 +237,22 @@ pub mod pallet {
|
|||
#[pallet::storage]
|
||||
pub type SlashingMode<T: Config> = StorageValue<_, SlashingModeOption, ValueQuery>;
|
||||
|
||||
#[pallet::genesis_config]
|
||||
#[derive(frame_support::DefaultNoBound)]
|
||||
pub struct GenesisConfig<T: Config> {
|
||||
// Slashing mode
|
||||
pub slashing_mode: SlashingModeOption,
|
||||
#[serde(skip)]
|
||||
pub _config: PhantomData<T>,
|
||||
}
|
||||
|
||||
#[pallet::genesis_build]
|
||||
impl<T: Config> BuildGenesisConfig for GenesisConfig<T> {
|
||||
fn build(&self) {
|
||||
<SlashingMode<T>>::put(self.slashing_mode.clone());
|
||||
}
|
||||
}
|
||||
|
||||
#[pallet::call]
|
||||
impl<T: Config> Pallet<T> {
|
||||
/// Cancel a slash that was deferred for a later era
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use crate::{
|
|||
use alloc::{format, vec, vec::Vec};
|
||||
use fp_evm::GenesisAccount;
|
||||
use hex_literal::hex;
|
||||
use pallet_external_validator_slashes::SlashingModeOption;
|
||||
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
|
||||
use serde_json::Value;
|
||||
use sp_consensus_babe::AuthorityId as BabeId;
|
||||
|
|
@ -106,6 +107,10 @@ fn testnet_genesis(
|
|||
phantom: Default::default(),
|
||||
members: treasury_council_members,
|
||||
},
|
||||
external_validators_slashes: pallet_external_validator_slashes::GenesisConfig {
|
||||
slashing_mode: SlashingModeOption::Disabled,
|
||||
..Default::default()
|
||||
},
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use crate::{
|
|||
use alloc::{format, vec, vec::Vec};
|
||||
use fp_evm::GenesisAccount;
|
||||
use hex_literal::hex;
|
||||
use pallet_external_validator_slashes::SlashingModeOption;
|
||||
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
|
||||
use serde_json::Value;
|
||||
use sp_consensus_babe::AuthorityId as BabeId;
|
||||
|
|
@ -106,6 +107,10 @@ fn testnet_genesis(
|
|||
phantom: Default::default(),
|
||||
members: treasury_council_members,
|
||||
},
|
||||
external_validators_slashes: pallet_external_validator_slashes::GenesisConfig {
|
||||
slashing_mode: SlashingModeOption::LogOnly,
|
||||
..Default::default()
|
||||
},
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use crate::{
|
|||
use alloc::{format, vec, vec::Vec};
|
||||
use fp_evm::GenesisAccount;
|
||||
use hex_literal::hex;
|
||||
use pallet_external_validator_slashes::SlashingModeOption;
|
||||
use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
|
||||
use serde_json::Value;
|
||||
use sp_consensus_babe::AuthorityId as BabeId;
|
||||
|
|
@ -106,6 +107,10 @@ fn testnet_genesis(
|
|||
phantom: Default::default(),
|
||||
members: treasury_council_members,
|
||||
},
|
||||
external_validators_slashes: pallet_external_validator_slashes::GenesisConfig {
|
||||
slashing_mode: SlashingModeOption::Disabled,
|
||||
..Default::default()
|
||||
},
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue