use super::SystemMsg;
use crate::messaging::SectionAuth;
use bls::PublicKey as BlsPublicKey;
use ed25519_dalek::Signature;
use serde::{Deserialize, Serialize};
use xor_name::XorName;
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, Clone)]
pub struct RelocateDetails {
pub pub_id: XorName,
pub dst: XorName,
pub dst_key: BlsPublicKey,
pub age: u8,
}
#[derive(Clone, PartialEq, Serialize, Deserialize, Debug)]
pub struct RelocatePayload {
pub details: SystemMsg,
pub section_signed: SectionAuth,
pub signature_of_new_name_with_old_key: Signature,
}
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)]
pub struct RelocatePromise {
pub name: XorName,
pub dst: XorName,
}