
com.binance4j.mining.client.MiningClient Maven / Gradle / Ivy
package com.binance4j.mining.client;
import java.util.Map;
import com.binance4j.core.Request;
import com.binance4j.core.client.RestClient;
import com.binance4j.core.param.FramedPaging;
import com.binance4j.core.param.Paging;
import com.binance4j.core.param.Params;
import com.binance4j.mining.dto.AccountListResponse;
import com.binance4j.mining.dto.AccountProfitsResponse;
import com.binance4j.mining.dto.AlgorithmsResponse;
import com.binance4j.mining.dto.CoinsResponse;
import com.binance4j.mining.dto.HashrateResaleCancellationResponse;
import com.binance4j.mining.dto.HashrateResaleDetailResponse;
import com.binance4j.mining.dto.HashrateResaleListResponse;
import com.binance4j.mining.dto.HashrateResaleResponse;
import com.binance4j.mining.dto.MinerDetailsResponse;
import com.binance4j.mining.dto.OtherProfitsResponse;
import com.binance4j.mining.dto.ProfitResponse;
import com.binance4j.mining.dto.StatisticsResponse;
import com.binance4j.mining.dto.WorkersResponse;
import com.binance4j.mining.param.AccountListParams;
import com.binance4j.mining.param.AccountProfitsParams;
import com.binance4j.mining.param.AlgorithmsAquisitionParams;
import com.binance4j.mining.param.CoinsAquisitionParams;
import com.binance4j.mining.param.HashrateResaleCancellationParams;
import com.binance4j.mining.param.HashrateResaleDetailParam;
import com.binance4j.mining.param.HashrateResaleListParams;
import com.binance4j.mining.param.HashrateResaleParams;
import com.binance4j.mining.param.MinerDetailsParams;
import com.binance4j.mining.param.MinersParams;
import com.binance4j.mining.param.ProfitsParams;
import com.binance4j.mining.param.StatisticsParams;
/**
* Api client for the NFT endpoints
*
* @see Documentation
*/
public class MiningClient extends RestClient {
/**
* @param key API public key.
* @param secret API secret key.
*/
public MiningClient(String key, String secret) {
super(MiningMapping.class, key, secret);
}
/**
* Acquiring algorithms.
*
* @return The request to execute.
*/
public Request getAlgorithms() {
return new Request<>(service.getAlgorithms(new AlgorithmsAquisitionParams().toMap()));
}
/**
* Acquiring coin name.
*
* @return The request to execute.
*/
public Request getCoins() {
return new Request<>(service.getCoins(new CoinsAquisitionParams().toMap()));
}
/**
* Request for detail miner list.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getMinersDetails(MinerDetailsParams params) {
return new Request<>(service.getMinersDetails(params.toMap()));
}
/**
* Request for miner list.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getMiners(MinersParams params) {
return new Request<>(service.getMiners(params.toMap()));
}
/**
* Get earnings list.
*
* @param params Request params.
* @param paging Paging.
* @return The request to execute.
*/
public Request getProfits(ProfitsParams params, FramedPaging paging) {
var replace = Map.of("startTime", "startDate", "endTime", "endDate", "page", "pageIndex", "limit", "pageSize");
return new Request<>(service.getProfits(Params.merge(params.toMap(), paging.toMap(replace))));
}
/**
* Get extra bonus list.
*
* @param params Request params.
* @param paging Paging.
* @return The request to execute.
*/
public Request getOtherProfits(ProfitsParams params, FramedPaging paging) {
var replace = Map.of("startTime", "startDate", "endTime", "endDate", "page", "pageIndex", "limit", "pageSize");
return new Request<>(service.getOtherProfits(Params.merge(params.toMap(), paging.toMap(replace))));
}
/**
* Get mining account earning.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getAccountProfits(AccountProfitsParams params) {
return new Request<>(service.getAccountProfits(params.toMap()));
}
/**
* Get mining account earning.
*
* @param params Request params.
* @param paging Paging.
* @return The request to execute.
*/
public Request getAccountProfits(AccountProfitsParams params, FramedPaging paging) {
var replace = Map.of("startTime", "startDate", "endTime", "endDate", "page", "pageIndex", "limit", "pageSize");
return new Request<>(service.getAccountProfits(Params.merge(params.toMap(), paging.toMap(replace))));
}
/**
* Get hashrate resale list.
*
* @return The request to execute.
*/
public Request getHashrateResales() {
return new Request<>(service.getHashrateResales(new HashrateResaleListParams().toMap()));
}
/**
* Get hashrate resale list.
*
* @param paging Paging.
* @return The request to execute.
*/
public Request getHashrateResales(Paging paging) {
var replace = Map.of("page", "pageIndex", "limit", "pageSize");
return new Request<>(service
.getHashrateResales(Params.merge(new HashrateResaleListParams().toMap(), paging.toMap(replace))));
}
/**
* Get hashrate resale detail.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getHashrateResalesDetails(HashrateResaleDetailParam params) {
return new Request<>(service.getHashrateResalesDetails(params.toMap()));
}
/**
* Get hashrate resale detail.
*
* @param params Request params.
* @param paging Paging.
* @return The request to execute.
*/
public Request getHashrateResalesDetails(HashrateResaleDetailParam params,
Paging paging) {
var replace = Map.of("page", "pageIndex", "limit", "pageSize");
return new Request<>(service.getHashrateResalesDetails(Params.merge(params.toMap(), paging.toMap(replace))));
}
/**
* Hashrate resale request.
*
* @param params Request params.
* @return The request to execute.
*/
public Request resellHashrate(HashrateResaleParams params) {
return new Request<>(service.resellHashrate(params.toMap()));
}
/**
* Cancel hashrate resale configuration.
*
* @param params Request params.
* @return The request to execute.
*/
public Request cancelHashrateResaleConfiguration(
HashrateResaleCancellationParams params) {
return new Request<>(service.cancelHashrateResaleConfiguration(params.toMap()));
}
/**
* Get Statistic list.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getStatistics(StatisticsParams params) {
return new Request<>(service.getStatistics(params.toMap()));
}
/**
* Get Account list.
*
* @param params Request params.
* @return The request to execute.
*/
public Request getAccounts(AccountListParams params) {
return new Request<>(service.getAccounts(params.toMap()));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy