diff --git a/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/jackson/modules/BaseFeeDropsDeserializer.java b/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/jackson/modules/BaseFeeDropsDeserializer.java index 04ead38c3..0006b86e1 100644 --- a/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/jackson/modules/BaseFeeDropsDeserializer.java +++ b/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/jackson/modules/BaseFeeDropsDeserializer.java @@ -29,7 +29,14 @@ import java.io.IOException; /** - * Custom Jackson deserializer for {@link XrpCurrencyAmount}s. + * Custom Jackson deserializer for {@link XrpCurrencyAmount} instances found in {@link SetFee}. + *

+ * Before the XRPFees amendment, a {@link SetFee} + * transaction serializes its `BaseFee` to a hex string. After the + * XRPFees amendment, a {@link SetFee} transaction + * serializes its `BaseFee` to a decimal string. + * + * @see "https://xrpl.org/resources/known-amendments/#xrpfees" */ public class BaseFeeDropsDeserializer extends StdDeserializer { @@ -42,7 +49,7 @@ public BaseFeeDropsDeserializer() { @Override public XrpCurrencyAmount deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException { - // Pre-XRPFees SetFee transactions serialize `BaseFee` to a hex string. Post XRPFees SetFee transactions + // Pre-XRPFees, SetFee transactions serialize `BaseFee` to a hex string. Post XRPFees SetFee transactions // have a `BaseFeeDrops` field which is a decimal string. if (jsonParser.currentName().equals("BaseFee")) { return XrpCurrencyAmount.of(UnsignedLong.valueOf(jsonParser.getText(), 16)); diff --git a/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/transactions/SetFee.java b/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/transactions/SetFee.java index af1e539bd..838bd7ba3 100644 --- a/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/transactions/SetFee.java +++ b/xrpl4j-core/src/main/java/org/xrpl/xrpl4j/model/transactions/SetFee.java @@ -59,7 +59,8 @@ static ImmutableSetFee.Builder builder() { * * @return A hex {@link String} baseFee value. * - * @deprecated Prefer {@link #baseFeeDrops()} over this field. + * @deprecated Prefer {@link #baseFeeDrops()} over this field because the XRPFees ammendment now serializes this + * object's base fee into XRP drops. */ @Value.Default @Deprecated diff --git a/xrpl4j-core/src/test/java/org/xrpl/xrpl4j/model/transactions/SetFeeTest.java b/xrpl4j-core/src/test/java/org/xrpl/xrpl4j/model/transactions/SetFeeTest.java index 1743d80ac..ea3703534 100644 --- a/xrpl4j-core/src/test/java/org/xrpl/xrpl4j/model/transactions/SetFeeTest.java +++ b/xrpl4j-core/src/test/java/org/xrpl/xrpl4j/model/transactions/SetFeeTest.java @@ -32,6 +32,9 @@ import java.util.Optional; +/** + * Unit tests for {@link SetFee}. + */ public class SetFeeTest extends AbstractJsonTest { @Test