Skip to content

Commit

Permalink
feat!: remove TransactionEffectsV1 and rename V2 to V1
Browse files Browse the repository at this point in the history
  • Loading branch information
Thoralf-M committed Oct 28, 2024
1 parent 46d46d6 commit 1ab58f2
Show file tree
Hide file tree
Showing 5 changed files with 569 additions and 901 deletions.
20 changes: 3 additions & 17 deletions crates/iota-rust-sdk/src/types/effects/mod.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
mod v1;
mod v2;

pub use v1::{ModifiedAtVersion, ObjectReferenceWithOwner, TransactionEffectsV1};
pub use v2::{
ChangedObject, EffectsObjectChange, IdOperation, ObjectIn, ObjectOut, TransactionEffectsV2,
pub use v1::{
ChangedObject, EffectsObjectChange, IdOperation, ObjectIn, ObjectOut, TransactionEffectsV1,
UnchangedSharedKind, UnchangedSharedObject,
};

Expand All @@ -18,45 +16,37 @@ pub use v2::{
pub enum TransactionEffects {
#[cfg_attr(feature = "schemars", schemars(rename = "1"))]
V1(Box<TransactionEffectsV1>),
#[cfg_attr(feature = "schemars", schemars(rename = "2"))]
V2(Box<TransactionEffectsV2>),
}

#[cfg(feature = "serde")]
#[cfg_attr(doc_cfg, doc(cfg(feature = "serde")))]
mod serialization {
use serde::{Deserialize, Deserializer, Serialize, Serializer};

use super::{TransactionEffects, TransactionEffectsV1, TransactionEffectsV2};
use super::{TransactionEffects, TransactionEffectsV1};

#[derive(serde_derive::Serialize)]
#[serde(tag = "version")]
enum ReadableEffectsRef<'a> {
#[serde(rename = "1")]
V1(&'a TransactionEffectsV1),
#[serde(rename = "2")]
V2(&'a TransactionEffectsV2),
}

#[derive(serde_derive::Deserialize)]
#[serde(tag = "version")]
pub enum ReadableEffects {
#[serde(rename = "1")]
V1(Box<TransactionEffectsV1>),
#[serde(rename = "2")]
V2(Box<TransactionEffectsV2>),
}

#[derive(serde_derive::Serialize)]
enum BinaryEffectsRef<'a> {
V1(&'a TransactionEffectsV1),
V2(&'a TransactionEffectsV2),
}

#[derive(serde_derive::Deserialize)]
pub enum BinaryEffects {
V1(Box<TransactionEffectsV1>),
V2(Box<TransactionEffectsV2>),
}

impl Serialize for TransactionEffects {
Expand All @@ -67,13 +57,11 @@ mod serialization {
if serializer.is_human_readable() {
let readable = match self {
TransactionEffects::V1(fx) => ReadableEffectsRef::V1(fx),
TransactionEffects::V2(fx) => ReadableEffectsRef::V2(fx),
};
readable.serialize(serializer)
} else {
let binary = match self {
TransactionEffects::V1(fx) => BinaryEffectsRef::V1(fx),
TransactionEffects::V2(fx) => BinaryEffectsRef::V2(fx),
};
binary.serialize(serializer)
}
Expand All @@ -88,12 +76,10 @@ mod serialization {
if deserializer.is_human_readable() {
ReadableEffects::deserialize(deserializer).map(|readable| match readable {
ReadableEffects::V1(fx) => Self::V1(fx),
ReadableEffects::V2(fx) => Self::V2(fx),
})
} else {
BinaryEffects::deserialize(deserializer).map(|binary| match binary {
BinaryEffects::V1(fx) => Self::V1(fx),
BinaryEffects::V2(fx) => Self::V2(fx),
})
}
}
Expand Down
Loading

0 comments on commit 1ab58f2

Please sign in to comment.