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());
+ }
}