Skip to content

Commit a5e4470

Browse files
authored
Merge pull request #19 from coinbase-samples/financing_fix
add missing class
2 parents 9ba6ce7 + 359105a commit a5e4470

22 files changed

+1011
-159
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# Changelog
22

3-
## [1.3.0] - 2025-MAY-09
3+
## [1.3.0] - 2025-MAY-15
44

55
### Added
66

7+
- Entity Endpoints
8+
- ListEntityBalances
9+
- ListAggregateEntityPositions
10+
- ListEntityPositions
711
- Futures Endpoints
812
- cancelEntityFuturesSweep
913
- getEntityFcmBalance

src/main/java/com/coinbase/prime/balances/BalancesService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
public interface BalancesService {
2323
// Balances
24+
ListEntityBalancesResponse listEntityBalances(ListEntityBalancesRequest request) throws CoinbaseClientException, CoinbasePrimeException;
2425
ListPortfolioBalancesResponse listPortfolioBalances(ListPortfolioBalancesRequest request) throws CoinbaseClientException, CoinbasePrimeException;
2526
GetWalletBalanceResponse getWalletBalance(GetWalletBalanceRequest request) throws CoinbaseClientException, CoinbasePrimeException;
2627
ListOnchainWalletBalancesResponse listOnchainWalletBalances(ListOnchainWalletBalancesRequest request) throws CoinbaseClientException, CoinbasePrimeException;

src/main/java/com/coinbase/prime/balances/BalancesServiceImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@ public BalancesServiceImpl(CoinbasePrimeClient client) {
2929
super(client);
3030
}
3131

32+
@Override
33+
public ListEntityBalancesResponse listEntityBalances(ListEntityBalancesRequest request) throws CoinbasePrimeException {
34+
return this.request(
35+
HttpMethod.GET,
36+
String.format("/entities/%s/balances", request.getEntityId()),
37+
request,
38+
List.of(200),
39+
new TypeReference<ListEntityBalancesResponse>() {});
40+
}
41+
3242
@Override
3343
public ListPortfolioBalancesResponse listPortfolioBalances(ListPortfolioBalancesRequest request) throws CoinbasePrimeException {
3444
return this.request(
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
package com.coinbase.prime.balances;
2+
3+
import com.coinbase.prime.model.enums.BalanceType;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
6+
public class ListEntityBalancesRequest {
7+
@JsonProperty("entity_id")
8+
private String entityId;
9+
10+
private String symbols;
11+
12+
private String cursor;
13+
14+
private int limit;
15+
16+
@JsonProperty("aggregation_type")
17+
private BalanceType aggregationType;
18+
19+
public ListEntityBalancesRequest() {
20+
}
21+
22+
public ListEntityBalancesRequest(Builder builder) {
23+
this.entityId = builder.entityId;
24+
this.symbols = builder.symbols;
25+
this.cursor = builder.cursor;
26+
this.limit = builder.limit;
27+
this.aggregationType = builder.aggregationType;
28+
}
29+
30+
public String getEntityId() {
31+
return entityId;
32+
}
33+
34+
public void setEntityId(String entityId) {
35+
this.entityId = entityId;
36+
}
37+
38+
public String getSymbols() {
39+
return symbols;
40+
}
41+
42+
public void setSymbols(String symbols) {
43+
this.symbols = symbols;
44+
}
45+
46+
public String getCursor() {
47+
return cursor;
48+
}
49+
50+
public void setCursor(String cursor) {
51+
this.cursor = cursor;
52+
}
53+
54+
public int getLimit() {
55+
return limit;
56+
}
57+
58+
public void setLimit(int limit) {
59+
this.limit = limit;
60+
}
61+
62+
public BalanceType getAggregationType() {
63+
return aggregationType;
64+
}
65+
66+
public void setAggregationType(BalanceType aggregationType) {
67+
this.aggregationType = aggregationType;
68+
}
69+
70+
public static class Builder {
71+
private String entityId;
72+
private String symbols;
73+
private String cursor;
74+
private int limit;
75+
private BalanceType aggregationType;
76+
77+
public Builder() {
78+
}
79+
80+
public Builder entityId(String entityId) {
81+
this.entityId = entityId;
82+
return this;
83+
}
84+
85+
public Builder symbols(String symbols) {
86+
this.symbols = symbols;
87+
return this;
88+
}
89+
90+
public Builder cursor(String cursor) {
91+
this.cursor = cursor;
92+
return this;
93+
}
94+
95+
public Builder limit(int limit) {
96+
this.limit = limit;
97+
return this;
98+
}
99+
100+
public Builder aggregationType(BalanceType aggregationType) {
101+
this.aggregationType = aggregationType;
102+
return this;
103+
}
104+
105+
public ListEntityBalancesRequest build() {
106+
return new ListEntityBalancesRequest(this);
107+
}
108+
}
109+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.coinbase.prime.balances;
2+
3+
import com.coinbase.prime.model.EntityBalance;
4+
import com.coinbase.prime.model.Pagination;
5+
6+
public class ListEntityBalancesResponse {
7+
private EntityBalance[] balances;
8+
9+
private Pagination pagination;
10+
11+
public ListEntityBalancesResponse() {
12+
}
13+
14+
public ListEntityBalancesResponse(EntityBalance[] balances, Pagination pagination) {
15+
this.balances = balances;
16+
this.pagination = pagination;
17+
}
18+
19+
public ListEntityBalancesResponse(Builder builder) {
20+
this.balances = builder.balances;
21+
this.pagination = builder.pagination;
22+
}
23+
24+
public EntityBalance[] getBalances() {
25+
return balances;
26+
}
27+
28+
public void setBalances(EntityBalance[] balances) {
29+
this.balances = balances;
30+
}
31+
32+
public Pagination getPagination() {
33+
return pagination;
34+
}
35+
36+
public void setPagination(Pagination pagination) {
37+
this.pagination = pagination;
38+
}
39+
40+
public static class Builder {
41+
private EntityBalance[] balances;
42+
private Pagination pagination;
43+
44+
public Builder() {
45+
}
46+
47+
public Builder balances(EntityBalance[] balances) {
48+
this.balances = balances;
49+
return this;
50+
}
51+
52+
public Builder pagination(Pagination pagination) {
53+
this.pagination = pagination;
54+
return this;
55+
}
56+
57+
public ListEntityBalancesResponse build() {
58+
return new ListEntityBalancesResponse(this);
59+
}
60+
}
61+
}

src/main/java/com/coinbase/prime/balances/ListPortfolioBalancesResponse.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818

1919
import com.coinbase.prime.model.Balance;
2020
import com.coinbase.prime.model.TotalBalance;
21-
import com.coinbase.prime.model.enums.BalancesType;
21+
import com.coinbase.prime.model.enums.BalanceType;
2222
import com.fasterxml.jackson.annotation.JsonProperty;
2323

2424
public class ListPortfolioBalancesResponse {
2525
private Balance[] balances;
26-
private BalancesType type;
26+
private BalanceType type;
2727
@JsonProperty("trading_balances")
2828
private TotalBalance tradingBalances;
2929
@JsonProperty("vault_balances")
@@ -47,11 +47,11 @@ public void setBalances(Balance[] balances) {
4747
this.balances = balances;
4848
}
4949

50-
public BalancesType getType() {
50+
public BalanceType getType() {
5151
return type;
5252
}
5353

54-
public void setType(BalancesType type) {
54+
public void setType(BalanceType type) {
5555
this.type = type;
5656
}
5757

@@ -73,7 +73,7 @@ public void setVaultBalances(TotalBalance vaultBalances) {
7373

7474
public static class Builder {
7575
private Balance[] balances;
76-
private BalancesType type;
76+
private BalanceType type;
7777
private TotalBalance tradingBalances;
7878
private TotalBalance vaultBalances;
7979

@@ -82,7 +82,7 @@ public Builder balances(Balance[] balances) {
8282
return this;
8383
}
8484

85-
public Builder type(BalancesType type) {
85+
public Builder type(BalanceType type) {
8686
this.type = type;
8787
return this;
8888
}

src/main/java/com/coinbase/prime/factory/PrimeServiceFactory.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,11 @@
3939
import com.coinbase.prime.orders.OrdersServiceImpl;
4040
import com.coinbase.prime.paymentmethods.PaymentMethodsService;
4141
import com.coinbase.prime.paymentmethods.PaymentMethodsServiceImpl;
42+
import com.coinbase.prime.portfolios.ListPortfoliosResponse;
4243
import com.coinbase.prime.portfolios.PortfoliosService;
4344
import com.coinbase.prime.portfolios.PortfoliosServiceImpl;
45+
import com.coinbase.prime.positions.PositionsService;
46+
import com.coinbase.prime.positions.PositionsServiceImpl;
4447
import com.coinbase.prime.products.ProductsService;
4548
import com.coinbase.prime.products.ProductsServiceImpl;
4649
import com.coinbase.prime.staking.StakingService;
@@ -77,6 +80,10 @@ public static CommissionService createCommissionService(CoinbasePrimeClient clie
7780
return new CommissionServiceImpl(client);
7881
}
7982

83+
public static FinancingService createFinancingService(CoinbasePrimeClient client) {
84+
return new FinancingServiceImpl(client);
85+
}
86+
8087
public static FuturesService createFuturesService(CoinbasePrimeClient client) {
8188
return new FuturesServiceImpl(client);
8289
}
@@ -97,10 +104,18 @@ public static PortfoliosService createPortfoliosService(CoinbasePrimeClient clie
97104
return new PortfoliosServiceImpl(client);
98105
}
99106

107+
public static PositionsService createPositionsService(CoinbasePrimeClient client) {
108+
return new PositionsServiceImpl(client);
109+
}
110+
100111
public static ProductsService createProductsService(CoinbasePrimeClient client) {
101112
return new ProductsServiceImpl(client);
102113
}
103114

115+
public static StakingService createStakingService(CoinbasePrimeClient client) {
116+
return new StakingServiceImpl(client);
117+
}
118+
104119
public static TransactionsService createTransactionsService(CoinbasePrimeClient client) {
105120
return new TransactionsServiceImpl(client);
106121
}
@@ -112,12 +127,4 @@ public static UsersService createUsersService(CoinbasePrimeClient client) {
112127
public static WalletsService createWalletsService(CoinbasePrimeClient client) {
113128
return new WalletsServiceImpl(client);
114129
}
115-
116-
public static FinancingService createFinancingService(CoinbasePrimeClient client) {
117-
return new FinancingServiceImpl(client);
118-
}
119-
120-
public static StakingService createStakingService(CoinbasePrimeClient client) {
121-
return new StakingServiceImpl(client);
122-
}
123130
}

src/main/java/com/coinbase/prime/futures/GetEntityPositionsResponse.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616

1717
package com.coinbase.prime.futures;
1818

19-
import com.coinbase.prime.model.Position;
19+
import com.coinbase.prime.model.FcmPosition;
2020
import com.fasterxml.jackson.annotation.JsonProperty;
2121

2222
public class GetEntityPositionsResponse {
23-
private Position[] positions;
23+
private FcmPosition[] positions;
2424

2525
@JsonProperty("clearing_account_id")
2626
private String clearingAccountId;
@@ -33,11 +33,11 @@ public GetEntityPositionsResponse(Builder builder) {
3333
this.clearingAccountId = builder.clearingAccountId;
3434
}
3535

36-
public Position[] getPositions() {
36+
public FcmPosition[] getPositions() {
3737
return positions;
3838
}
3939

40-
public void setPositions(Position[] positions) {
40+
public void setPositions(FcmPosition[] positions) {
4141
this.positions = positions;
4242
}
4343

@@ -50,12 +50,12 @@ public void setClearingAccountId(String clearingAccountId) {
5050
}
5151

5252
public static class Builder {
53-
private Position[] positions;
53+
private FcmPosition[] positions;
5454
private String clearingAccountId;
5555
public Builder() {
5656
}
5757

58-
public Builder positions(Position[] positions) {
58+
public Builder positions(FcmPosition[] positions) {
5959
this.positions = positions;
6060
return this;
6161
}

src/main/java/com/coinbase/prime/model/Conversion.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class Conversion {
2323
private ConversionDetails conversionDetails;
2424

2525
@JsonProperty("short_collateral")
26-
private String shortCollateral;
26+
private ShortCollateral shortCollateral;
2727

2828
@JsonProperty("conversion_datetime")
2929
private String conversionDatetime;
@@ -49,11 +49,11 @@ public void setConversionDetails(ConversionDetails conversionDetails) {
4949
this.conversionDetails = conversionDetails;
5050
}
5151

52-
public String getShortCollateral() {
52+
public ShortCollateral getShortCollateral() {
5353
return shortCollateral;
5454
}
5555

56-
public void setShortCollateral(String shortCollateral) {
56+
public void setShortCollateral(ShortCollateral shortCollateral) {
5757
this.shortCollateral = shortCollateral;
5858
}
5959

@@ -75,7 +75,7 @@ public void setPortfolioId(String portfolioId) {
7575

7676
public static class Builder {
7777
private ConversionDetails conversionDetails;
78-
private String shortCollateral;
78+
private ShortCollateral shortCollateral;
7979
private String conversionDatetime;
8080
private String portfolioId;
8181

@@ -87,7 +87,7 @@ public Builder conversionDetails(ConversionDetails conversionDetails) {
8787
return this;
8888
}
8989

90-
public Builder shortCollateral(String shortCollateral) {
90+
public Builder shortCollateral(ShortCollateral shortCollateral) {
9191
this.shortCollateral = shortCollateral;
9292
return this;
9393
}

0 commit comments

Comments
 (0)