diff --git a/Cargo.lock b/Cargo.lock index 21c389e6..d710b98d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -736,7 +736,7 @@ dependencies = [ [[package]] name = "stellar-xdr" -version = "27.0.0" +version = "28.0.0" dependencies = [ "arbitrary", "base64", diff --git a/Cargo.toml b/Cargo.toml index 472d3b0e..4f818863 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ homepage = "https://github.com/stellar/rs-stellar-xdr" repository = "https://github.com/stellar/rs-stellar-xdr" authors = ["Stellar Development Foundation "] license = "Apache-2.0" -version = "27.0.0" +version = "28.0.0" edition = "2021" rust-version = "1.84.0" @@ -47,6 +47,7 @@ alloc = ["dep:hex", "dep:stellar-strkey", "escape-bytes/alloc", "dep:ethnum"] # Features from the XDR test_feature = [] cap_0083 = [] +cap_0084_muxed_contract = [] # Features available without any new dependencies. type_enum = [] diff --git a/src/generated.rs b/src/generated.rs index 38b27f6f..a4a0644d 100644 --- a/src/generated.rs +++ b/src/generated.rs @@ -4357,6 +4357,9 @@ pub use sc_address_type::*; mod muxed_ed25519_account; #[allow(unused_imports)] pub use muxed_ed25519_account::*; +mod muxed_contract; +#[allow(unused_imports)] +pub use muxed_contract::*; mod sc_address; #[allow(unused_imports)] pub use sc_address::*; diff --git a/src/generated/muxed_contract.rs b/src/generated/muxed_contract.rs new file mode 100644 index 00000000..9201397b --- /dev/null +++ b/src/generated/muxed_contract.rs @@ -0,0 +1,58 @@ +#[allow(unused_imports, clippy::wildcard_imports)] +use super::*; + +/// MuxedContract is an XDR Struct defined as: +/// +/// ```text +/// struct MuxedContract +/// { +/// uint64 id; +/// ContractID contractId; +/// }; +/// ``` +/// +#[cfg(feature = "cap_0084_muxed_contract")] +#[cfg_attr(feature = "alloc", derive(Default))] +#[derive(Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)] +#[cfg_attr(feature = "serde", cfg_eval::cfg_eval)] +#[cfg_attr(feature = "arbitrary", derive(Arbitrary))] +#[cfg_attr( + all(feature = "serde", feature = "alloc"), + serde_with::serde_as, + derive(serde::Serialize, serde::Deserialize), + serde(rename_all = "snake_case") +)] +#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] +pub struct MuxedContract { + #[cfg_attr( + all(feature = "serde", feature = "alloc"), + serde_as(as = "NumberOrString") + )] + pub id: u64, + pub contract_id: ContractId, +} + +#[cfg(feature = "cap_0084_muxed_contract")] +impl ReadXdr for MuxedContract { + #[cfg(feature = "std")] + fn read_xdr(r: &mut Limited) -> Result { + r.with_limited_depth(|r| { + Ok(Self { + id: u64::read_xdr(r)?, + contract_id: ContractId::read_xdr(r)?, + }) + }) + } +} + +#[cfg(feature = "cap_0084_muxed_contract")] +impl WriteXdr for MuxedContract { + #[cfg(feature = "std")] + fn write_xdr(&self, w: &mut Limited) -> Result<(), Error> { + w.with_limited_depth(|w| { + self.id.write_xdr(w)?; + self.contract_id.write_xdr(w)?; + Ok(()) + }) + } +} diff --git a/src/generated/sc_address.rs b/src/generated/sc_address.rs index b43d9112..f77a58a8 100644 --- a/src/generated/sc_address.rs +++ b/src/generated/sc_address.rs @@ -16,6 +16,10 @@ use super::*; /// ClaimableBalanceID claimableBalanceId; /// case SC_ADDRESS_TYPE_LIQUIDITY_POOL: /// PoolID liquidityPoolId; +/// #ifdef CAP_0084_MUXED_CONTRACT +/// case SC_ADDRESS_TYPE_MUXED_CONTRACT: +/// MuxedContract muxedContract; +/// #endif /// }; /// ``` /// @@ -34,6 +38,8 @@ pub enum ScAddress { MuxedAccount(MuxedEd25519Account), ClaimableBalance(ClaimableBalanceId), LiquidityPool(PoolId), + #[cfg(feature = "cap_0084_muxed_contract")] + MuxedContract(MuxedContract), } #[cfg(feature = "alloc")] @@ -50,6 +56,8 @@ impl ScAddress { ScAddressType::MuxedAccount, ScAddressType::ClaimableBalance, ScAddressType::LiquidityPool, + #[cfg(feature = "cap_0084_muxed_contract")] + ScAddressType::MuxedContract, ]; pub const VARIANTS: [ScAddressType; Self::_VARIANTS.len()] = { let mut arr = [Self::_VARIANTS[0]; Self::_VARIANTS.len()]; @@ -66,6 +74,8 @@ impl ScAddress { "MuxedAccount", "ClaimableBalance", "LiquidityPool", + #[cfg(feature = "cap_0084_muxed_contract")] + "MuxedContract", ]; pub const VARIANTS_STR: [&'static str; Self::_VARIANTS_STR.len()] = { let mut arr = [Self::_VARIANTS_STR[0]; Self::_VARIANTS_STR.len()]; @@ -85,6 +95,8 @@ impl ScAddress { Self::MuxedAccount(_) => "MuxedAccount", Self::ClaimableBalance(_) => "ClaimableBalance", Self::LiquidityPool(_) => "LiquidityPool", + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(_) => "MuxedContract", } } @@ -97,6 +109,8 @@ impl ScAddress { Self::MuxedAccount(_) => ScAddressType::MuxedAccount, Self::ClaimableBalance(_) => ScAddressType::ClaimableBalance, Self::LiquidityPool(_) => ScAddressType::LiquidityPool, + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(_) => ScAddressType::MuxedContract, } } @@ -144,6 +158,8 @@ impl ReadXdr for ScAddress { Self::ClaimableBalance(ClaimableBalanceId::read_xdr(r)?) } ScAddressType::LiquidityPool => Self::LiquidityPool(PoolId::read_xdr(r)?), + #[cfg(feature = "cap_0084_muxed_contract")] + ScAddressType::MuxedContract => Self::MuxedContract(MuxedContract::read_xdr(r)?), #[allow(unreachable_patterns)] _ => return Err(Error::Invalid), }; @@ -164,6 +180,8 @@ impl WriteXdr for ScAddress { Self::MuxedAccount(v) => v.write_xdr(w)?, Self::ClaimableBalance(v) => v.write_xdr(w)?, Self::LiquidityPool(v) => v.write_xdr(w)?, + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(v) => v.write_xdr(w)?, }; Ok(()) }) diff --git a/src/generated/sc_address_type.rs b/src/generated/sc_address_type.rs index 033e8dbe..761630ee 100644 --- a/src/generated/sc_address_type.rs +++ b/src/generated/sc_address_type.rs @@ -11,6 +11,10 @@ use super::*; /// SC_ADDRESS_TYPE_MUXED_ACCOUNT = 2, /// SC_ADDRESS_TYPE_CLAIMABLE_BALANCE = 3, /// SC_ADDRESS_TYPE_LIQUIDITY_POOL = 4 +/// #ifdef CAP_0084_MUXED_CONTRACT +/// , +/// SC_ADDRESS_TYPE_MUXED_CONTRACT = 5 +/// #endif /// }; /// ``` /// @@ -32,6 +36,8 @@ pub enum ScAddressType { MuxedAccount = 2, ClaimableBalance = 3, LiquidityPool = 4, + #[cfg(feature = "cap_0084_muxed_contract")] + MuxedContract = 5, } impl ScAddressType { @@ -41,6 +47,8 @@ impl ScAddressType { ScAddressType::MuxedAccount, ScAddressType::ClaimableBalance, ScAddressType::LiquidityPool, + #[cfg(feature = "cap_0084_muxed_contract")] + ScAddressType::MuxedContract, ]; pub const VARIANTS: [ScAddressType; Self::_VARIANTS.len()] = { let mut arr = [Self::_VARIANTS[0]; Self::_VARIANTS.len()]; @@ -57,6 +65,8 @@ impl ScAddressType { "MuxedAccount", "ClaimableBalance", "LiquidityPool", + #[cfg(feature = "cap_0084_muxed_contract")] + "MuxedContract", ]; pub const VARIANTS_STR: [&'static str; Self::_VARIANTS_STR.len()] = { let mut arr = [Self::_VARIANTS_STR[0]; Self::_VARIANTS_STR.len()]; @@ -76,6 +86,8 @@ impl ScAddressType { Self::MuxedAccount => "MuxedAccount", Self::ClaimableBalance => "ClaimableBalance", Self::LiquidityPool => "LiquidityPool", + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract => "MuxedContract", } } @@ -116,6 +128,8 @@ impl TryFrom for ScAddressType { 2 => ScAddressType::MuxedAccount, 3 => ScAddressType::ClaimableBalance, 4 => ScAddressType::LiquidityPool, + #[cfg(feature = "cap_0084_muxed_contract")] + 5 => ScAddressType::MuxedContract, #[allow(unreachable_patterns)] _ => return Err(Error::Invalid), }; diff --git a/src/generated/type_enum.rs b/src/generated/type_enum.rs index e63d73c7..7d6751e3 100644 --- a/src/generated/type_enum.rs +++ b/src/generated/type_enum.rs @@ -88,6 +88,8 @@ pub enum TypeVariant { ContractExecutable, ScAddressType, MuxedEd25519Account, + #[cfg(feature = "cap_0084_muxed_contract")] + MuxedContract, ScAddress, ScVec, ScMap, @@ -568,6 +570,8 @@ impl TypeVariant { TypeVariant::ContractExecutable, TypeVariant::ScAddressType, TypeVariant::MuxedEd25519Account, + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract, TypeVariant::ScAddress, TypeVariant::ScVec, TypeVariant::ScMap, @@ -1054,6 +1058,8 @@ impl TypeVariant { "ContractExecutable", "ScAddressType", "MuxedEd25519Account", + #[cfg(feature = "cap_0084_muxed_contract")] + "MuxedContract", "ScAddress", "ScVec", "ScMap", @@ -1546,6 +1552,8 @@ impl TypeVariant { Self::ContractExecutable => "ContractExecutable", Self::ScAddressType => "ScAddressType", Self::MuxedEd25519Account => "MuxedEd25519Account", + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract => "MuxedContract", Self::ScAddress => "ScAddress", Self::ScVec => "ScVec", Self::ScMap => "ScMap", @@ -2079,6 +2087,8 @@ impl TypeVariant { Self::ContractExecutable => gen.into_root_schema_for::(), Self::ScAddressType => gen.into_root_schema_for::(), Self::MuxedEd25519Account => gen.into_root_schema_for::(), + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract => gen.into_root_schema_for::(), Self::ScAddress => gen.into_root_schema_for::(), Self::ScVec => gen.into_root_schema_for::(), Self::ScMap => gen.into_root_schema_for::(), @@ -2783,6 +2793,8 @@ impl core::str::FromStr for TypeVariant { "ContractExecutable" => Ok(Self::ContractExecutable), "ScAddressType" => Ok(Self::ScAddressType), "MuxedEd25519Account" => Ok(Self::MuxedEd25519Account), + #[cfg(feature = "cap_0084_muxed_contract")] + "MuxedContract" => Ok(Self::MuxedContract), "ScAddress" => Ok(Self::ScAddress), "ScVec" => Ok(Self::ScVec), "ScMap" => Ok(Self::ScMap), @@ -3299,6 +3311,8 @@ pub enum Type { ContractExecutable(Box), ScAddressType(Box), MuxedEd25519Account(Box), + #[cfg(feature = "cap_0084_muxed_contract")] + MuxedContract(Box), ScAddress(Box), ScVec(Box), ScMap(Box), @@ -3781,6 +3795,8 @@ impl Type { TypeVariant::ContractExecutable, TypeVariant::ScAddressType, TypeVariant::MuxedEd25519Account, + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract, TypeVariant::ScAddress, TypeVariant::ScVec, TypeVariant::ScMap, @@ -4267,6 +4283,8 @@ impl Type { "ContractExecutable", "ScAddressType", "MuxedEd25519Account", + #[cfg(feature = "cap_0084_muxed_contract")] + "MuxedContract", "ScAddress", "ScVec", "ScMap", @@ -5015,6 +5033,10 @@ impl Type { MuxedEd25519Account::read_xdr(r)?, ))) }), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => r.with_limited_depth(|r| { + Ok(Self::MuxedContract(Box::new(MuxedContract::read_xdr(r)?))) + }), TypeVariant::ScAddress => { r.with_limited_depth(|r| Ok(Self::ScAddress(Box::new(ScAddress::read_xdr(r)?)))) } @@ -7140,6 +7162,11 @@ impl Type { ReadXdrIter::<_, MuxedEd25519Account>::new(&mut r.inner, r.limits.clone()) .map(|r| r.map(|t| Self::MuxedEd25519Account(Box::new(t)))), ), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => Box::new( + ReadXdrIter::<_, MuxedContract>::new(&mut r.inner, r.limits.clone()) + .map(|r| r.map(|t| Self::MuxedContract(Box::new(t)))), + ), TypeVariant::ScAddress => Box::new( ReadXdrIter::<_, ScAddress>::new(&mut r.inner, r.limits.clone()) .map(|r| r.map(|t| Self::ScAddress(Box::new(t)))), @@ -9227,6 +9254,11 @@ impl Type { ReadXdrIter::<_, Frame>::new(&mut r.inner, r.limits.clone()) .map(|r| r.map(|t| Self::MuxedEd25519Account(Box::new(t.0)))), ), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => Box::new( + ReadXdrIter::<_, Frame>::new(&mut r.inner, r.limits.clone()) + .map(|r| r.map(|t| Self::MuxedContract(Box::new(t.0)))), + ), TypeVariant::ScAddress => Box::new( ReadXdrIter::<_, Frame>::new(&mut r.inner, r.limits.clone()) .map(|r| r.map(|t| Self::ScAddress(Box::new(t.0)))), @@ -11542,6 +11574,11 @@ impl Type { ReadXdrIter::<_, MuxedEd25519Account>::new(dec, r.limits.clone()) .map(|r| r.map(|t| Self::MuxedEd25519Account(Box::new(t)))), ), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => Box::new( + ReadXdrIter::<_, MuxedContract>::new(dec, r.limits.clone()) + .map(|r| r.map(|t| Self::MuxedContract(Box::new(t)))), + ), TypeVariant::ScAddress => Box::new( ReadXdrIter::<_, ScAddress>::new(dec, r.limits.clone()) .map(|r| r.map(|t| Self::ScAddress(Box::new(t)))), @@ -13415,6 +13452,10 @@ impl Type { TypeVariant::MuxedEd25519Account => Ok(Self::MuxedEd25519Account(Box::new( serde_json::from_reader(r)?, ))), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => { + Ok(Self::MuxedContract(Box::new(serde_json::from_reader(r)?))) + } TypeVariant::ScAddress => Ok(Self::ScAddress(Box::new(serde_json::from_reader(r)?))), TypeVariant::ScVec => Ok(Self::ScVec(Box::new(serde_json::from_reader(r)?))), TypeVariant::ScMap => Ok(Self::ScMap(Box::new(serde_json::from_reader(r)?))), @@ -14756,6 +14797,10 @@ impl Type { TypeVariant::MuxedEd25519Account => Ok(Self::MuxedEd25519Account(Box::new( serde::de::Deserialize::deserialize(r)?, ))), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => Ok(Self::MuxedContract(Box::new( + serde::de::Deserialize::deserialize(r)?, + ))), TypeVariant::ScAddress => Ok(Self::ScAddress(Box::new( serde::de::Deserialize::deserialize(r)?, ))), @@ -16242,6 +16287,10 @@ impl Type { TypeVariant::MuxedEd25519Account => Ok(Self::MuxedEd25519Account(Box::new( MuxedEd25519Account::arbitrary(u)?, ))), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => { + Ok(Self::MuxedContract(Box::new(MuxedContract::arbitrary(u)?))) + } TypeVariant::ScAddress => Ok(Self::ScAddress(Box::new(ScAddress::arbitrary(u)?))), TypeVariant::ScVec => Ok(Self::ScVec(Box::new(ScVec::arbitrary(u)?))), TypeVariant::ScMap => Ok(Self::ScMap(Box::new(ScMap::arbitrary(u)?))), @@ -17471,6 +17520,8 @@ impl Type { TypeVariant::ContractExecutable => Self::ContractExecutable(Box::default()), TypeVariant::ScAddressType => Self::ScAddressType(Box::default()), TypeVariant::MuxedEd25519Account => Self::MuxedEd25519Account(Box::default()), + #[cfg(feature = "cap_0084_muxed_contract")] + TypeVariant::MuxedContract => Self::MuxedContract(Box::default()), TypeVariant::ScAddress => Self::ScAddress(Box::default()), TypeVariant::ScVec => Self::ScVec(Box::default()), TypeVariant::ScMap => Self::ScMap(Box::default()), @@ -18125,6 +18176,8 @@ impl Type { Self::ContractExecutable(ref v) => v.as_ref(), Self::ScAddressType(ref v) => v.as_ref(), Self::MuxedEd25519Account(ref v) => v.as_ref(), + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(ref v) => v.as_ref(), Self::ScAddress(ref v) => v.as_ref(), Self::ScVec(ref v) => v.as_ref(), Self::ScMap(ref v) => v.as_ref(), @@ -18613,6 +18666,8 @@ impl Type { Self::ContractExecutable(_) => "ContractExecutable", Self::ScAddressType(_) => "ScAddressType", Self::MuxedEd25519Account(_) => "MuxedEd25519Account", + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(_) => "MuxedContract", Self::ScAddress(_) => "ScAddress", Self::ScVec(_) => "ScVec", Self::ScMap(_) => "ScMap", @@ -19137,6 +19192,8 @@ impl Type { Self::ContractExecutable(_) => TypeVariant::ContractExecutable, Self::ScAddressType(_) => TypeVariant::ScAddressType, Self::MuxedEd25519Account(_) => TypeVariant::MuxedEd25519Account, + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(_) => TypeVariant::MuxedContract, Self::ScAddress(_) => TypeVariant::ScAddress, Self::ScVec(_) => TypeVariant::ScVec, Self::ScMap(_) => TypeVariant::ScMap, @@ -19699,6 +19756,8 @@ impl WriteXdr for Type { Self::ContractExecutable(v) => v.write_xdr(w), Self::ScAddressType(v) => v.write_xdr(w), Self::MuxedEd25519Account(v) => v.write_xdr(w), + #[cfg(feature = "cap_0084_muxed_contract")] + Self::MuxedContract(v) => v.write_xdr(w), Self::ScAddress(v) => v.write_xdr(w), Self::ScVec(v) => v.write_xdr(w), Self::ScMap(v) => v.write_xdr(w), diff --git a/src/lib.rs b/src/lib.rs index 21635663..4df1e825 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -121,6 +121,8 @@ pub const VERSION: Version = Version { "test_feature", #[cfg(feature = "cap_0083")] "cap_0083", + #[cfg(feature = "cap_0084_muxed_contract")] + "cap_0084_muxed_contract", ], }; diff --git a/src/str.rs b/src/str.rs index 26cff8bd..0efddfda 100644 --- a/src/str.rs +++ b/src/str.rs @@ -361,6 +361,11 @@ impl core::fmt::Display for ScAddress { } ScAddress::ClaimableBalance(claimable_balance_id) => claimable_balance_id.fmt(f), ScAddress::LiquidityPool(pool_id) => pool_id.fmt(f), + // Muxed contract addresses (CAP-0084) have no strkey encoding yet + // (stellar-strkey has no variant for them), so there is no string + // representation to produce. Flagged for human review. + #[cfg(feature = "cap_0084_muxed_contract")] + ScAddress::MuxedContract(_) => Err(core::fmt::Error), } } } diff --git a/xdr b/xdr index 68fa1ac5..787382ef 160000 --- a/xdr +++ b/xdr @@ -1 +1 @@ -Subproject commit 68fa1ac55692f68ad2a2ca549d0a283273554439 +Subproject commit 787382ef2099cca168ca1cb282730d6b7b9e2f16 diff --git a/xdr-definitions-json/xdr.json b/xdr-definitions-json/xdr.json index 5e1544da..301e3f3d 100644 --- a/xdr-definitions-json/xdr.json +++ b/xdr-definitions-json/xdr.json @@ -3470,7 +3470,7 @@ { "kind": "enum", "name": "SCAddressType", - "source": "enum SCAddressType\n{\n SC_ADDRESS_TYPE_ACCOUNT = 0,\n SC_ADDRESS_TYPE_CONTRACT = 1,\n SC_ADDRESS_TYPE_MUXED_ACCOUNT = 2,\n SC_ADDRESS_TYPE_CLAIMABLE_BALANCE = 3,\n SC_ADDRESS_TYPE_LIQUIDITY_POOL = 4\n};", + "source": "enum SCAddressType\n{\n SC_ADDRESS_TYPE_ACCOUNT = 0,\n SC_ADDRESS_TYPE_CONTRACT = 1,\n SC_ADDRESS_TYPE_MUXED_ACCOUNT = 2,\n SC_ADDRESS_TYPE_CLAIMABLE_BALANCE = 3,\n SC_ADDRESS_TYPE_LIQUIDITY_POOL = 4\n#ifdef CAP_0084_MUXED_CONTRACT\n ,\n SC_ADDRESS_TYPE_MUXED_CONTRACT = 5\n#endif\n};", "file_index": 5, "member_prefix": "SC_ADDRESS_TYPE_", "members": [ @@ -3523,7 +3523,7 @@ "kind": "union", "name": "SCAddress", "fixed_size": null, - "source": "union SCAddress switch (SCAddressType type)\n{\ncase SC_ADDRESS_TYPE_ACCOUNT:\n AccountID accountId;\ncase SC_ADDRESS_TYPE_CONTRACT:\n ContractID contractId;\ncase SC_ADDRESS_TYPE_MUXED_ACCOUNT:\n MuxedEd25519Account muxedAccount;\ncase SC_ADDRESS_TYPE_CLAIMABLE_BALANCE:\n ClaimableBalanceID claimableBalanceId;\ncase SC_ADDRESS_TYPE_LIQUIDITY_POOL:\n PoolID liquidityPoolId;\n};", + "source": "union SCAddress switch (SCAddressType type)\n{\ncase SC_ADDRESS_TYPE_ACCOUNT:\n AccountID accountId;\ncase SC_ADDRESS_TYPE_CONTRACT:\n ContractID contractId;\ncase SC_ADDRESS_TYPE_MUXED_ACCOUNT:\n MuxedEd25519Account muxedAccount;\ncase SC_ADDRESS_TYPE_CLAIMABLE_BALANCE:\n ClaimableBalanceID claimableBalanceId;\ncase SC_ADDRESS_TYPE_LIQUIDITY_POOL:\n PoolID liquidityPoolId;\n#ifdef CAP_0084_MUXED_CONTRACT\ncase SC_ADDRESS_TYPE_MUXED_CONTRACT:\n MuxedContract muxedContract;\n#endif\n};", "file_index": 5, "discriminant": { "name": "type", diff --git a/xdr-json/ScAddressType.json b/xdr-json/ScAddressType.json index 1dad7bd4..79ffd709 100644 --- a/xdr-json/ScAddressType.json +++ b/xdr-json/ScAddressType.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2019-09/schema", "title": "ScAddressType", - "description": "ScAddressType is an XDR Enum defined as:\n\n```text enum SCAddressType { SC_ADDRESS_TYPE_ACCOUNT = 0, SC_ADDRESS_TYPE_CONTRACT = 1, SC_ADDRESS_TYPE_MUXED_ACCOUNT = 2, SC_ADDRESS_TYPE_CLAIMABLE_BALANCE = 3, SC_ADDRESS_TYPE_LIQUIDITY_POOL = 4 }; ```", + "description": "ScAddressType is an XDR Enum defined as:\n\n```text enum SCAddressType { SC_ADDRESS_TYPE_ACCOUNT = 0, SC_ADDRESS_TYPE_CONTRACT = 1, SC_ADDRESS_TYPE_MUXED_ACCOUNT = 2, SC_ADDRESS_TYPE_CLAIMABLE_BALANCE = 3, SC_ADDRESS_TYPE_LIQUIDITY_POOL = 4 #ifdef CAP_0084_MUXED_CONTRACT , SC_ADDRESS_TYPE_MUXED_CONTRACT = 5 #endif }; ```", "type": "string", "enum": [ "account", diff --git a/xdr-version b/xdr-version index 4c676364..e728393c 100644 --- a/xdr-version +++ b/xdr-version @@ -1 +1 @@ -68fa1ac55692f68ad2a2ca549d0a283273554439 \ No newline at end of file +787382ef2099cca168ca1cb282730d6b7b9e2f16 \ No newline at end of file