diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c2658e4c..24b24ad3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## Pending +### Update +- fix: allow `extendTo` to be 0 in `ExtendFootprintTTLOperation`. ([#810](https://github.com/lightsail-network/java-stellar-sdk/issues/810)) + ## 4.0.0 This release contains everything from 4.0.0-beta0, plus the changes made since. Below is the changelog since 3.1.0. diff --git a/src/main/java/org/stellar/sdk/operations/ExtendFootprintTTLOperation.java b/src/main/java/org/stellar/sdk/operations/ExtendFootprintTTLOperation.java index 89fc93852..797984957 100644 --- a/src/main/java/org/stellar/sdk/operations/ExtendFootprintTTLOperation.java +++ b/src/main/java/org/stellar/sdk/operations/ExtendFootprintTTLOperation.java @@ -62,7 +62,9 @@ public abstract static class ExtendFootprintTTLOperationBuilder< C extends ExtendFootprintTTLOperation, B extends ExtendFootprintTTLOperationBuilder> extends OperationBuilder { public B extendTo(Long extendTo) { - if (extendTo <= 0 || extendTo > 0xFFFFFFFFL) { + // `extendTo` can be 0, see + // https://github.com/lightsail-network/java-stellar-sdk/issues/810 + if (extendTo < 0 || extendTo > 0xFFFFFFFFL) { throw new IllegalArgumentException("extendTo isn't a ledger quantity (uint32)"); } this.extendTo = extendTo; diff --git a/src/test/java/org/stellar/sdk/operations/ExtendFootprintTTLOperationTest.java b/src/test/java/org/stellar/sdk/operations/ExtendFootprintTTLOperationTest.java index 9b9de5baf..2d4e8af37 100644 --- a/src/test/java/org/stellar/sdk/operations/ExtendFootprintTTLOperationTest.java +++ b/src/test/java/org/stellar/sdk/operations/ExtendFootprintTTLOperationTest.java @@ -68,6 +68,12 @@ public void testNotEqualsSource() { Assert.assertNotEquals(operation1, operation2); } + @Test + public void testLedgersToExpireIsZero() { + ExtendFootprintTTLOperation op = ExtendFootprintTTLOperation.builder().extendTo(0L).build(); + assertEquals(Long.valueOf(0), op.getExtendTo()); + } + @Test public void testLedgersToExpireIsInvalidThrowsLessThanZero() { try {