diff --git a/src/main/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilder.java b/src/main/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilder.java index ed2e3a3ef..6b6f04385 100644 --- a/src/main/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilder.java +++ b/src/main/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilder.java @@ -17,6 +17,7 @@ */ public class LiquidityPoolsRequestBuilder extends RequestBuilder { private static final String RESERVES_PARAMETER_NAME = "reserves"; + private static final String ACCOUNT_PARAMETER_NAME = "account"; public LiquidityPoolsRequestBuilder(OkHttpClient httpClient, HttpUrl serverURI) { super(httpClient, serverURI, "liquidity_pools"); @@ -69,6 +70,18 @@ public LiquidityPoolsRequestBuilder forReserves(String... reserves) { uriBuilder.setQueryParameter(RESERVES_PARAMETER_NAME, String.join(",", reserves)); return this; } + + /** + * Returns all liquidity pools the specified account is participating in. + * + * @param account Account ID to filter liquidity pools + * @return current {@link LiquidityPoolsRequestBuilder} instance + * @see LiquidityPools + */ + public LiquidityPoolsRequestBuilder forAccount(String account) { + uriBuilder.setQueryParameter(ACCOUNT_PARAMETER_NAME, account); + return this; + } /** * Requests specific uri and returns {@link Page} of {@link LiquidityPoolResponse}. diff --git a/src/test/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilderTest.java b/src/test/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilderTest.java index 4e277ab96..fce03a607 100644 --- a/src/test/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilderTest.java +++ b/src/test/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilderTest.java @@ -26,4 +26,23 @@ public void testForReserves() { .buildUri(); assertEquals("https://horizon-testnet.stellar.org/liquidity_pools?reserves=EURT%3AGAP5LETOV6YIE62YAM56STDANPRDO7ZFDBGSNHJQIYGGKSMOZAHOOS2S%2CPHP%3AGAP5LETOV6YIE62YAM56STDANPRDO7ZFDBGSNHJQIYGGKSMOZAHOOS2S", uri.toString()); } + + @Test + public void testForAccount() { + Server server = new Server("https://horizon-testnet.stellar.org"); + HttpUrl uri = server.liquidityPools() + .forAccount("GAP5LETOV6YIE62YAM56STDANPRDO7ZFDBGSNHJQIYGGKSMOZAHOOS2S") + .buildUri(); + assertEquals("https://horizon-testnet.stellar.org/liquidity_pools?account=GAP5LETOV6YIE62YAM56STDANPRDO7ZFDBGSNHJQIYGGKSMOZAHOOS2S", uri.toString()); + } + + @Test + public void testForAccountClear() { + Server server = new Server("https://horizon-testnet.stellar.org"); + HttpUrl uri = server.liquidityPools() + .forAccount("GAP5LETOV6YIE62YAM56STDANPRDO7ZFDBGSNHJQIYGGKSMOZAHOOS2S") + .forAccount(null) + .buildUri(); + assertEquals("https://horizon-testnet.stellar.org/liquidity_pools?account", uri.toString()); + } }