@@ -4018,6 +4018,9 @@ impl serde::Serialize for CoinMetadata {
4018
4018
if self.icon_url.is_some() {
4019
4019
len += 1;
4020
4020
}
4021
+ if self.metadata_cap_id.is_some() {
4022
+ len += 1;
4023
+ }
4021
4024
let mut struct_ser = serializer.serialize_struct("sui.rpc.v2beta2.CoinMetadata", len)?;
4022
4025
if let Some(v) = self.id.as_ref() {
4023
4026
struct_ser.serialize_field("id", v)?;
@@ -4037,6 +4040,9 @@ impl serde::Serialize for CoinMetadata {
4037
4040
if let Some(v) = self.icon_url.as_ref() {
4038
4041
struct_ser.serialize_field("iconUrl", v)?;
4039
4042
}
4043
+ if let Some(v) = self.metadata_cap_id.as_ref() {
4044
+ struct_ser.serialize_field("metadataCapId", v)?;
4045
+ }
4040
4046
struct_ser.end()
4041
4047
}
4042
4048
}
@@ -4054,6 +4060,8 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4054
4060
"description",
4055
4061
"icon_url",
4056
4062
"iconUrl",
4063
+ "metadata_cap_id",
4064
+ "metadataCapId",
4057
4065
];
4058
4066
4059
4067
#[allow(clippy::enum_variant_names)]
@@ -4064,6 +4072,7 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4064
4072
Symbol,
4065
4073
Description,
4066
4074
IconUrl,
4075
+ MetadataCapId,
4067
4076
__SkipField__,
4068
4077
}
4069
4078
impl<'de> serde::Deserialize<'de> for GeneratedField {
@@ -4092,6 +4101,7 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4092
4101
"symbol" => Ok(GeneratedField::Symbol),
4093
4102
"description" => Ok(GeneratedField::Description),
4094
4103
"iconUrl" | "icon_url" => Ok(GeneratedField::IconUrl),
4104
+ "metadataCapId" | "metadata_cap_id" => Ok(GeneratedField::MetadataCapId),
4095
4105
_ => Ok(GeneratedField::__SkipField__),
4096
4106
}
4097
4107
}
@@ -4119,6 +4129,7 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4119
4129
let mut symbol__ = None;
4120
4130
let mut description__ = None;
4121
4131
let mut icon_url__ = None;
4132
+ let mut metadata_cap_id__ = None;
4122
4133
while let Some(k) = map_.next_key()? {
4123
4134
match k {
4124
4135
GeneratedField::Id => {
@@ -4159,6 +4170,12 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4159
4170
}
4160
4171
icon_url__ = map_.next_value()?;
4161
4172
}
4173
+ GeneratedField::MetadataCapId => {
4174
+ if metadata_cap_id__.is_some() {
4175
+ return Err(serde::de::Error::duplicate_field("metadataCapId"));
4176
+ }
4177
+ metadata_cap_id__ = map_.next_value()?;
4178
+ }
4162
4179
GeneratedField::__SkipField__ => {
4163
4180
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4164
4181
}
@@ -4171,6 +4188,7 @@ impl<'de> serde::Deserialize<'de> for CoinMetadata {
4171
4188
symbol: symbol__,
4172
4189
description: description__,
4173
4190
icon_url: icon_url__,
4191
+ metadata_cap_id: metadata_cap_id__,
4174
4192
})
4175
4193
}
4176
4194
}
@@ -4191,6 +4209,9 @@ impl serde::Serialize for CoinTreasury {
4191
4209
if self.total_supply.is_some() {
4192
4210
len += 1;
4193
4211
}
4212
+ if self.supply_state.is_some() {
4213
+ len += 1;
4214
+ }
4194
4215
let mut struct_ser = serializer.serialize_struct("sui.rpc.v2beta2.CoinTreasury", len)?;
4195
4216
if let Some(v) = self.id.as_ref() {
4196
4217
struct_ser.serialize_field("id", v)?;
@@ -4200,6 +4221,11 @@ impl serde::Serialize for CoinTreasury {
4200
4221
#[allow(clippy::needless_borrows_for_generic_args)]
4201
4222
struct_ser.serialize_field("totalSupply", ToString::to_string(&v).as_str())?;
4202
4223
}
4224
+ if let Some(v) = self.supply_state.as_ref() {
4225
+ let v = coin_treasury::SupplyState::try_from(*v)
4226
+ .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?;
4227
+ struct_ser.serialize_field("supplyState", &v)?;
4228
+ }
4203
4229
struct_ser.end()
4204
4230
}
4205
4231
}
@@ -4213,12 +4239,15 @@ impl<'de> serde::Deserialize<'de> for CoinTreasury {
4213
4239
"id",
4214
4240
"total_supply",
4215
4241
"totalSupply",
4242
+ "supply_state",
4243
+ "supplyState",
4216
4244
];
4217
4245
4218
4246
#[allow(clippy::enum_variant_names)]
4219
4247
enum GeneratedField {
4220
4248
Id,
4221
4249
TotalSupply,
4250
+ SupplyState,
4222
4251
__SkipField__,
4223
4252
}
4224
4253
impl<'de> serde::Deserialize<'de> for GeneratedField {
@@ -4243,6 +4272,7 @@ impl<'de> serde::Deserialize<'de> for CoinTreasury {
4243
4272
match value {
4244
4273
"id" => Ok(GeneratedField::Id),
4245
4274
"totalSupply" | "total_supply" => Ok(GeneratedField::TotalSupply),
4275
+ "supplyState" | "supply_state" => Ok(GeneratedField::SupplyState),
4246
4276
_ => Ok(GeneratedField::__SkipField__),
4247
4277
}
4248
4278
}
@@ -4266,6 +4296,7 @@ impl<'de> serde::Deserialize<'de> for CoinTreasury {
4266
4296
{
4267
4297
let mut id__ = None;
4268
4298
let mut total_supply__ = None;
4299
+ let mut supply_state__ = None;
4269
4300
while let Some(k) = map_.next_key()? {
4270
4301
match k {
4271
4302
GeneratedField::Id => {
@@ -4282,6 +4313,12 @@ impl<'de> serde::Deserialize<'de> for CoinTreasury {
4282
4313
map_.next_value::<::std::option::Option<crate::_serde::NumberDeserialize<_>>>()?.map(|x| x.0)
4283
4314
;
4284
4315
}
4316
+ GeneratedField::SupplyState => {
4317
+ if supply_state__.is_some() {
4318
+ return Err(serde::de::Error::duplicate_field("supplyState"));
4319
+ }
4320
+ supply_state__ = map_.next_value::<::std::option::Option<coin_treasury::SupplyState>>()?.map(|x| x as i32);
4321
+ }
4285
4322
GeneratedField::__SkipField__ => {
4286
4323
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4287
4324
}
@@ -4290,12 +4327,84 @@ impl<'de> serde::Deserialize<'de> for CoinTreasury {
4290
4327
Ok(CoinTreasury {
4291
4328
id: id__,
4292
4329
total_supply: total_supply__,
4330
+ supply_state: supply_state__,
4293
4331
})
4294
4332
}
4295
4333
}
4296
4334
deserializer.deserialize_struct("sui.rpc.v2beta2.CoinTreasury", FIELDS, GeneratedVisitor)
4297
4335
}
4298
4336
}
4337
+ impl serde::Serialize for coin_treasury::SupplyState {
4338
+ #[allow(deprecated)]
4339
+ fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4340
+ where
4341
+ S: serde::Serializer,
4342
+ {
4343
+ let variant = match self {
4344
+ Self::Unknown => "SUPPLY_STATE_UNKNOWN",
4345
+ Self::Fixed => "FIXED",
4346
+ };
4347
+ serializer.serialize_str(variant)
4348
+ }
4349
+ }
4350
+ impl<'de> serde::Deserialize<'de> for coin_treasury::SupplyState {
4351
+ #[allow(deprecated)]
4352
+ fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4353
+ where
4354
+ D: serde::Deserializer<'de>,
4355
+ {
4356
+ const FIELDS: &[&str] = &[
4357
+ "SUPPLY_STATE_UNKNOWN",
4358
+ "FIXED",
4359
+ ];
4360
+
4361
+ struct GeneratedVisitor;
4362
+
4363
+ impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
4364
+ type Value = coin_treasury::SupplyState;
4365
+
4366
+ fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4367
+ write!(formatter, "expected one of: {:?}", &FIELDS)
4368
+ }
4369
+
4370
+ fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
4371
+ where
4372
+ E: serde::de::Error,
4373
+ {
4374
+ i32::try_from(v)
4375
+ .ok()
4376
+ .and_then(|x| x.try_into().ok())
4377
+ .ok_or_else(|| {
4378
+ serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self)
4379
+ })
4380
+ }
4381
+
4382
+ fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
4383
+ where
4384
+ E: serde::de::Error,
4385
+ {
4386
+ i32::try_from(v)
4387
+ .ok()
4388
+ .and_then(|x| x.try_into().ok())
4389
+ .ok_or_else(|| {
4390
+ serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self)
4391
+ })
4392
+ }
4393
+
4394
+ fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4395
+ where
4396
+ E: serde::de::Error,
4397
+ {
4398
+ match value {
4399
+ "SUPPLY_STATE_UNKNOWN" => Ok(coin_treasury::SupplyState::Unknown),
4400
+ "FIXED" => Ok(coin_treasury::SupplyState::Fixed),
4401
+ _ => Err(serde::de::Error::unknown_variant(value, FIELDS)),
4402
+ }
4403
+ }
4404
+ }
4405
+ deserializer.deserialize_any(GeneratedVisitor)
4406
+ }
4407
+ }
4299
4408
impl serde::Serialize for Command {
4300
4409
#[allow(deprecated)]
4301
4410
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
0 commit comments