mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-09 05:57:59 +00:00
[XCM] Make NetworkId and Junction versioned (#7376)
* [XCM] Make NetworkId and Junction versioned * Fixes --------- Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -242,6 +242,26 @@ versioned_type! {
|
||||
}
|
||||
}
|
||||
|
||||
versioned_type! {
|
||||
/// A single `NetworkId` value, together with its version code.
|
||||
pub enum VersionedNetworkId {
|
||||
#[codec(index = 2)]
|
||||
V2(v2::NetworkId),
|
||||
#[codec(index = 3)]
|
||||
V3(v3::NetworkId),
|
||||
}
|
||||
}
|
||||
|
||||
versioned_type! {
|
||||
/// A single `Junction` value, together with its version code.
|
||||
pub enum VersionedJunction {
|
||||
#[codec(index = 2)]
|
||||
V2(v2::Junction),
|
||||
#[codec(index = 3)]
|
||||
V3(v3::Junction),
|
||||
}
|
||||
}
|
||||
|
||||
versioned_type! {
|
||||
/// A single `MultiLocation` value, together with its version code.
|
||||
#[derive(Ord, PartialOrd)]
|
||||
|
||||
@@ -117,16 +117,25 @@ pub enum NetworkId {
|
||||
Kusama,
|
||||
}
|
||||
|
||||
impl TryInto<NetworkId> for Option<NewNetworkId> {
|
||||
impl TryFrom<Option<NewNetworkId>> for NetworkId {
|
||||
type Error = ();
|
||||
fn try_into(self) -> result::Result<NetworkId, ()> {
|
||||
fn try_from(new: Option<NewNetworkId>) -> result::Result<NetworkId, ()> {
|
||||
match new {
|
||||
None => Ok(NetworkId::Any),
|
||||
Some(id) => Self::try_from(id),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<NewNetworkId> for NetworkId {
|
||||
type Error = ();
|
||||
fn try_from(new: NewNetworkId) -> result::Result<NetworkId, ()> {
|
||||
use NewNetworkId::*;
|
||||
Ok(match self {
|
||||
None => NetworkId::Any,
|
||||
Some(Polkadot) => NetworkId::Polkadot,
|
||||
Some(Kusama) => NetworkId::Kusama,
|
||||
_ => return Err(()),
|
||||
})
|
||||
match new {
|
||||
Polkadot => Ok(NetworkId::Polkadot),
|
||||
Kusama => Ok(NetworkId::Kusama),
|
||||
_ => Err(()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,6 +88,18 @@ impl From<OldNetworkId> for Option<NetworkId> {
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<OldNetworkId> for NetworkId {
|
||||
type Error = ();
|
||||
fn try_from(old: OldNetworkId) -> Result<Self, Self::Error> {
|
||||
use OldNetworkId::*;
|
||||
match old {
|
||||
Any | Named(_) => Err(()),
|
||||
Polkadot => Ok(NetworkId::Polkadot),
|
||||
Kusama => Ok(NetworkId::Kusama),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// An identifier of a pluralistic body.
|
||||
#[derive(
|
||||
Copy,
|
||||
|
||||
Reference in New Issue
Block a user