use frame_support::{BoundedVec, traits::ConstU32};
use codec::{Encode, Decode};
use scale_info::TypeInfo;
use sp_runtime::RuntimeDebug;

use crate::ELEMENT_MAX_BYTES;

type NonceType = BoundedVec<u8, ConstU32<{ ELEMENT_MAX_BYTES }>>;

#[derive(Default, Encode, Decode, Clone, PartialEq, TypeInfo, RuntimeDebug)]
pub struct ExodusSeparatedNonce {
    pub hiding: NonceType,
    pub binding: NonceType,
}

impl ExodusSeparatedNonce {
    pub fn new(hiding: NonceType, binding: NonceType) -> Self {
        Self { hiding, binding }
    }
}
