mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-14 06:59:24 +00:00
Make halting for external networks
This commit is contained in:
@@ -18,5 +18,5 @@ pub enum Call {
|
||||
pub enum Event {
|
||||
Batch { network: ExternalNetworkId, id: u32, block: BlockHash, instructions_hash: [u8; 32] },
|
||||
InstructionFailure { network: ExternalNetworkId, id: u32, index: u32 },
|
||||
Halt { network: NetworkId },
|
||||
Halt { network: ExternalNetworkId },
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ pub mod pallet {
|
||||
pub enum Event<T: Config> {
|
||||
Batch { network: ExternalNetworkId, id: u32, block: BlockHash, instructions_hash: [u8; 32] },
|
||||
InstructionFailure { network: ExternalNetworkId, id: u32, index: u32 },
|
||||
Halt { network: NetworkId },
|
||||
Halt { network: ExternalNetworkId },
|
||||
}
|
||||
|
||||
#[pallet::error]
|
||||
@@ -86,7 +86,7 @@ pub mod pallet {
|
||||
|
||||
// Halted networks.
|
||||
#[pallet::storage]
|
||||
pub(crate) type Halted<T: Config> = StorageMap<_, Identity, NetworkId, (), OptionQuery>;
|
||||
pub(crate) type Halted<T: Config> = StorageMap<_, Identity, ExternalNetworkId, (), OptionQuery>;
|
||||
|
||||
// The latest block a network has acknowledged as finalized
|
||||
#[pallet::storage]
|
||||
@@ -231,8 +231,7 @@ pub mod pallet {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn halt(network: NetworkId) -> Result<(), DispatchError> {
|
||||
// TODO: is it possible to halt serai network?
|
||||
pub fn halt(network: ExternalNetworkId) -> Result<(), DispatchError> {
|
||||
Halted::<T>::set(network, Some(()));
|
||||
Self::deposit_event(Event::Halt { network });
|
||||
Ok(())
|
||||
@@ -325,7 +324,7 @@ pub mod pallet {
|
||||
Err(InvalidTransaction::BadProof)?;
|
||||
}
|
||||
|
||||
if Halted::<T>::contains_key(NetworkId::from(network)) {
|
||||
if Halted::<T>::contains_key(network) {
|
||||
Err(InvalidTransaction::Custom(1))?;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
use scale::{Encode, Decode, MaxEncodedLen};
|
||||
use scale_info::TypeInfo;
|
||||
|
||||
use serai_primitives::NetworkId;
|
||||
use serai_primitives::ExternalNetworkId;
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)]
|
||||
#[cfg_attr(feature = "std", derive(zeroize::Zeroize))]
|
||||
@@ -13,5 +13,5 @@ use serai_primitives::NetworkId;
|
||||
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
|
||||
pub enum SignalId {
|
||||
Retirement([u8; 32]),
|
||||
Halt(NetworkId),
|
||||
Halt(ExternalNetworkId),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user