Skip to content

Commit

Permalink
Update clients
Browse files Browse the repository at this point in the history
  • Loading branch information
niall-bc committed Oct 1, 2020
1 parent 4179e5b commit 0d92b59
Show file tree
Hide file tree
Showing 46 changed files with 1,974 additions and 21 deletions.
1 change: 1 addition & 0 deletions android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ Class | Method | HTTP request | Description
*TradingApi* | [**deleteAllOrders**](docs/TradingApi.md#deleteAllOrders) | **DELETE** /orders | Delete all open orders (of a symbol, if specified)
*TradingApi* | [**deleteOrder**](docs/TradingApi.md#deleteOrder) | **DELETE** /orders/{orderId} | Cancel a trade
*TradingApi* | [**getFees**](docs/TradingApi.md#getFees) | **GET** /fees | Get current fee level
*TradingApi* | [**getFills**](docs/TradingApi.md#getFills) | **GET** /trades | Get a list of filled orders
*TradingApi* | [**getOrderById**](docs/TradingApi.md#getOrderById) | **GET** /orders/{orderId} | Get a specific order
*TradingApi* | [**getOrders**](docs/TradingApi.md#getOrders) | **GET** /orders | Get a list orders
*UnauthenticatedApi* | [**getL2OrderBook**](docs/UnauthenticatedApi.md#getL2OrderBook) | **GET** /l2/{symbol} | L2 Order Book
Expand Down
55 changes: 54 additions & 1 deletion android/docs/TradingApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Method | HTTP request | Description
[**deleteAllOrders**](TradingApi.md#deleteAllOrders) | **DELETE** /orders | Delete all open orders (of a symbol, if specified)
[**deleteOrder**](TradingApi.md#deleteOrder) | **DELETE** /orders/{orderId} | Cancel a trade
[**getFees**](TradingApi.md#getFees) | **GET** /fees | Get current fee level
[**getFills**](TradingApi.md#getFills) | **GET** /trades | Get a list of filled orders
[**getOrderById**](TradingApi.md#getOrderById) | **GET** /orders/{orderId} | Get a specific order
[**getOrders**](TradingApi.md#getOrders) | **GET** /orders | Get a list orders

Expand Down Expand Up @@ -183,6 +184,58 @@ This endpoint does not need any parameter.
- **Accept**: application/json


## getFills

> List<OrderSummary> getFills(symbol, from, to, limit)
Get a list of filled orders

Returns filled orders, including partial fills. Returns at most 100 results, use timestamp to paginate for further results

### Example

```java
// Import classes:
//import com.blockchain.exchange.rest.api.TradingApi;

TradingApi apiInstance = new TradingApi();
String symbol = null; // String | Only return results for this symbol
Long from = null; // Long | Epoch timestamp in ms
Long to = null; // Long | Epoch timestamp in ms
Integer limit = 100; // Integer | Maximum amount of results to return in a single call. If omitted, 100 results are returned by default.
try {
List<OrderSummary> result = apiInstance.getFills(symbol, from, to, limit);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TradingApi#getFills");
e.printStackTrace();
}
```

### Parameters


Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**symbol** | **String**| Only return results for this symbol | [optional] [default to null]
**from** | **Long**| Epoch timestamp in ms | [optional] [default to null]
**to** | **Long**| Epoch timestamp in ms | [optional] [default to null]
**limit** | **Integer**| Maximum amount of results to return in a single call. If omitted, 100 results are returned by default. | [optional] [default to null]

### Return type

[**List&lt;OrderSummary&gt;**](OrderSummary.md)

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json


## getOrderById

> OrderSummary getOrderById(orderId)
Expand Down Expand Up @@ -264,7 +317,7 @@ Name | Type | Description | Notes
**symbol** | **String**| Only return results for this symbol | [optional] [default to null]
**from** | **Long**| Epoch timestamp in ms | [optional] [default to null]
**to** | **Long**| Epoch timestamp in ms | [optional] [default to null]
**status** | [**OrderStatus**](.md)| Order Status | [optional] [default to null] [enum: OPEN, REJECTED, CANCELED, FILLED, EXPIRED]
**status** | [**OrderStatus**](.md)| Order Status | [optional] [default to null] [enum: OPEN, REJECTED, CANCELED, FILLED, PART_FILLED, EXPIRED]
**limit** | **Integer**| Maximum amount of results to return in a single call. If omitted, 100 results are returned by default. | [optional] [default to null]

### Return type
Expand Down
128 changes: 128 additions & 0 deletions android/src/main/java/com/blockchain/exchange/rest/api/TradingApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,134 @@ public void onErrorResponse(VolleyError error) {
}
}
/**
* Get a list of filled orders
* Returns filled orders, including partial fills. Returns at most 100 results, use timestamp to paginate for further results
* @param symbol Only return results for this symbol
* @param from Epoch timestamp in ms
* @param to Epoch timestamp in ms
* @param limit Maximum amount of results to return in a single call. If omitted, 100 results are returned by default.
* @return List<OrderSummary>
*/
public List<OrderSummary> getFills (String symbol, Long from, Long to, Integer limit) throws TimeoutException, ExecutionException, InterruptedException, ApiException {
Object postBody = null;

// create path and map variables
String path = "/trades";

// query params
List<Pair> queryParams = new ArrayList<Pair>();
// header params
Map<String, String> headerParams = new HashMap<String, String>();
// form params
Map<String, String> formParams = new HashMap<String, String>();
queryParams.addAll(ApiInvoker.parameterToPairs("", "symbol", symbol));
queryParams.addAll(ApiInvoker.parameterToPairs("", "from", from));
queryParams.addAll(ApiInvoker.parameterToPairs("", "to", to));
queryParams.addAll(ApiInvoker.parameterToPairs("", "limit", limit));
String[] contentTypes = {
};
String contentType = contentTypes.length > 0 ? contentTypes[0] : "application/json";

if (contentType.startsWith("multipart/form-data")) {
// file uploading
MultipartEntityBuilder localVarBuilder = MultipartEntityBuilder.create();
HttpEntity httpEntity = localVarBuilder.build();
postBody = httpEntity;
} else {
// normal form params
}

String[] authNames = new String[] { "ApiKeyAuth" };

try {
String localVarResponse = apiInvoker.invokeAPI (basePath, path, "GET", queryParams, postBody, headerParams, formParams, contentType, authNames);
if (localVarResponse != null) {
return (List<OrderSummary>) ApiInvoker.deserialize(localVarResponse, "array", OrderSummary.class);
} else {
return null;
}
} catch (ApiException ex) {
throw ex;
} catch (InterruptedException ex) {
throw ex;
} catch (ExecutionException ex) {
if (ex.getCause() instanceof VolleyError) {
VolleyError volleyError = (VolleyError)ex.getCause();
if (volleyError.networkResponse != null) {
throw new ApiException(volleyError.networkResponse.statusCode, volleyError.getMessage());
}
}
throw ex;
} catch (TimeoutException ex) {
throw ex;
}
}

/**
* Get a list of filled orders
* Returns filled orders, including partial fills. Returns at most 100 results, use timestamp to paginate for further results
* @param symbol Only return results for this symbol * @param from Epoch timestamp in ms * @param to Epoch timestamp in ms * @param limit Maximum amount of results to return in a single call. If omitted, 100 results are returned by default.
*/
public void getFills (String symbol, Long from, Long to, Integer limit, final Response.Listener<List<OrderSummary>> responseListener, final Response.ErrorListener errorListener) {
Object postBody = null;


// create path and map variables
String path = "/trades".replaceAll("\\{format\\}","json");

// query params
List<Pair> queryParams = new ArrayList<Pair>();
// header params
Map<String, String> headerParams = new HashMap<String, String>();
// form params
Map<String, String> formParams = new HashMap<String, String>();

queryParams.addAll(ApiInvoker.parameterToPairs("", "symbol", symbol));
queryParams.addAll(ApiInvoker.parameterToPairs("", "from", from));
queryParams.addAll(ApiInvoker.parameterToPairs("", "to", to));
queryParams.addAll(ApiInvoker.parameterToPairs("", "limit", limit));


String[] contentTypes = {

};
String contentType = contentTypes.length > 0 ? contentTypes[0] : "application/json";

if (contentType.startsWith("multipart/form-data")) {
// file uploading
MultipartEntityBuilder localVarBuilder = MultipartEntityBuilder.create();


HttpEntity httpEntity = localVarBuilder.build();
postBody = httpEntity;
} else {
// normal form params
}

String[] authNames = new String[] { "ApiKeyAuth" };

try {
apiInvoker.invokeAPI(basePath, path, "GET", queryParams, postBody, headerParams, formParams, contentType, authNames,
new Response.Listener<String>() {
@Override
public void onResponse(String localVarResponse) {
try {
responseListener.onResponse((List<OrderSummary>) ApiInvoker.deserialize(localVarResponse, "array", OrderSummary.class));
} catch (ApiException exception) {
errorListener.onErrorResponse(new VolleyError(exception));
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
errorListener.onErrorResponse(error);
}
});
} catch (ApiException ex) {
errorListener.onErrorResponse(new VolleyError(ex));
}
}
/**
* Get a specific order
*
* @param orderId Order ID
Expand Down
159 changes: 157 additions & 2 deletions c/api/TradingAPI.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
// Functions for enum for TradingAPI_getOrders

static char* getOrders__ToString(blockchain_com_exchange_rest_api_getOrders_status_e ){
char *Array[] = { "NULL", "OPEN", "REJECTED", "CANCELED", "FILLED", "EXPIRED" };

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

OPEN

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

18zwmLudY9NmFvs3R3ZHWcbZLHuh2uwDRA

char *Array[] = { "NULL", "OPEN", "REJECTED", "CANCELED", "FILLED", "PART_FILLED", "EXPIRED" };
return Array[];
}

static blockchain_com_exchange_rest_api_getOrders_status_e getOrders__FromString(char* ){
int stringToReturn = 0;
char *Array[] = { "NULL", "OPEN", "REJECTED", "CANCELED", "FILLED", "EXPIRED" };
char *Array[] = { "NULL", "OPEN", "REJECTED", "CANCELED", "FILLED", "PART_FILLED", "EXPIRED" };
size_t sizeofArray = sizeof(Array) / sizeof(Array[0]);

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

301

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

345

This comment has been minimized.

Copy link
@Lizzy127

This comment has been minimized.

Copy link
@aguinaldok4

aguinaldok4 Jul 14, 2023

bc1ql8rxw6apm8u4zcup7ljkrem6eeglg9536lqwzx-bc1ql8rxw6apm8u4zcup7ljkrem6eeglg9536lqwzx-(PBKDF2)-KDnW0tyfdEEJQzxI3oZ8kydpwkuFv9CHNm447hQCFZEvSaiWMyEYc3vl3zv4sMVtke70XSCCmzc4kcGJu49RWuM=0x37F1B3C2C2aDc6c6fD25A39D9E2eF6981C272D97
[email protected][9773180017']pub-8178060498788138

while(stringToReturn < sizeofArray) {
if(strcmp(, Array[stringToReturn]) == 0) {
Expand Down Expand Up @@ -328,6 +328,161 @@ TradingAPI_getFees(apiClient_t *apiClient)

}

// Get a list of filled orders
//
// Returns filled orders, including partial fills. Returns at most 100 results, use timestamp to paginate for further results
//
list_t*
TradingAPI_getFills(apiClient_t *apiClient, char * symbol , long from , long to , int limit )

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

TradingAPI_getFills(apiClient_t *apiClient, char * symbol , long from , long to , int limit )

{
list_t *localVarQueryParameters = list_create();
list_t *localVarHeaderParameters = NULL;
list_t *localVarFormParameters = NULL;
list_t *localVarHeaderType = list_create();
list_t *localVarContentType = NULL;
char *localVarBodyParameters = NULL;

// create the path
long sizeOfPath = strlen("/trades")+1;

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

TradingAPI_getFills(apiClient_t *apiClient, char * symbol , long from , long to , int limit )

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

TradingAPI_getFills(apiClient_t *apiClient, char * symbol , long from , long to , int limit )

@tuzzolo

char *localVarPath = malloc(sizeOfPath);
snprintf(localVarPath, sizeOfPath, "/trades");




// query parameters
char *keyQuery_symbol = NULL;
char * valueQuery_symbol = NULL;
keyValuePair_t *keyPairQuery_symbol = 0;
if (symbol)
{
keyQuery_symbol = strdup("symbol");
valueQuery_symbol = strdup((symbol));
keyPairQuery_symbol = keyValuePair_create(keyQuery_symbol, valueQuery_symbol);
list_addElement(localVarQueryParameters,keyPairQuery_symbol);
}

// query parameters
char *keyQuery_from = NULL;
long valueQuery_from ;
keyValuePair_t *keyPairQuery_from = 0;
if (from)
{
keyQuery_from = strdup("from");
valueQuery_from = (from);
keyPairQuery_from = keyValuePair_create(keyQuery_from, &valueQuery_from);
list_addElement(localVarQueryParameters,keyPairQuery_from);
}

// query parameters
char *keyQuery_to = NULL;
long valueQuery_to ;
keyValuePair_t *keyPairQuery_to = 0;
if (to)
{
keyQuery_to = strdup("to");
valueQuery_to = (to);
keyPairQuery_to = keyValuePair_create(keyQuery_to, &valueQuery_to);
list_addElement(localVarQueryParameters,keyPairQuery_to);
}

// query parameters
char *keyQuery_limit = NULL;
int valueQuery_limit ;
keyValuePair_t *keyPairQuery_limit = 0;
if (limit)
{
keyQuery_limit = strdup("limit");
valueQuery_limit = (limit);
keyPairQuery_limit = keyValuePair_create(keyQuery_limit, &valueQuery_limit);
list_addElement(localVarQueryParameters,keyPairQuery_limit);
}
list_addElement(localVarHeaderType,"application/json"); //produces

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

TradingAPI_getFills(apiClient_t *apiClient, char * symbol , long from , long to , int limit )

apiClient_invoke(apiClient,

This comment has been minimized.

Copy link
@Lizzy127

Lizzy127 Dec 18, 2021

### application/json

localVarPath,
localVarQueryParameters,
localVarHeaderParameters,
localVarFormParameters,
localVarHeaderType,
localVarContentType,
localVarBodyParameters,
"GET");

if (apiClient->response_code == 200) {
printf("%s\n","Success");
}
cJSON *TradingAPIlocalVarJSON = cJSON_Parse(apiClient->dataReceived);
if(!cJSON_IsArray(TradingAPIlocalVarJSON)) {
return 0;//nonprimitive container
}
list_t *elementToReturn = list_create();
cJSON *VarJSON;
cJSON_ArrayForEach(VarJSON, TradingAPIlocalVarJSON)
{
if(!cJSON_IsObject(VarJSON))
{
// return 0;
}
char *localVarJSONToChar = cJSON_Print(VarJSON);
list_addElement(elementToReturn , localVarJSONToChar);
}

cJSON_Delete( TradingAPIlocalVarJSON);
cJSON_Delete( VarJSON);
//return type
if (apiClient->dataReceived) {
free(apiClient->dataReceived);
apiClient->dataReceived = NULL;
apiClient->dataReceivedLen = 0;
}
list_free(localVarQueryParameters);


list_free(localVarHeaderType);

free(localVarPath);
if(keyQuery_symbol){
free(keyQuery_symbol);
keyQuery_symbol = NULL;
}
if(valueQuery_symbol){
free(valueQuery_symbol);
valueQuery_symbol = NULL;
}
if(keyPairQuery_symbol){
keyValuePair_free(keyPairQuery_symbol);
keyPairQuery_symbol = NULL;
}
if(keyQuery_from){
free(keyQuery_from);
keyQuery_from = NULL;
}
if(keyPairQuery_from){
keyValuePair_free(keyPairQuery_from);
keyPairQuery_from = NULL;
}
if(keyQuery_to){
free(keyQuery_to);
keyQuery_to = NULL;
}
if(keyPairQuery_to){
keyValuePair_free(keyPairQuery_to);
keyPairQuery_to = NULL;
}
if(keyQuery_limit){
free(keyQuery_limit);
keyQuery_limit = NULL;
}
if(keyPairQuery_limit){
keyValuePair_free(keyPairQuery_limit);
keyPairQuery_limit = NULL;
}
return elementToReturn;
end:
return NULL;

}

// Get a specific order
//
order_summary_t*
Expand Down
Loading

0 comments on commit 0d92b59

Please sign in to comment.