use alloc::vec::Vec;
use codec::{Decode, Encode};
use frame_support::pallet_prelude::{MaxEncodedLen, TypeInfo};
use xcm::VersionedLocation;
#[derive(Clone, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)]
pub struct OriginAliaser {
pub location: VersionedLocation,
pub expiry: Option<u64>,
}
sp_api::decl_runtime_apis! {
pub trait AuthorizedAliasersApi {
fn authorized_aliasers(target: VersionedLocation) -> Result<Vec<OriginAliaser>, Error>;
fn is_authorized_alias(origin: VersionedLocation, target: VersionedLocation) -> Result<bool, Error>;
}
}
#[derive(Copy, Clone, Encode, Decode, Eq, PartialEq, Debug, TypeInfo)]
pub enum Error {
#[codec(index = 0)]
LocationVersionConversionFailed,
}