@binance/mining
Version:
Official Binance Mining Connector - A lightweight library that provides a convenient interface to Binance's Mining REST API.
1,190 lines (1,182 loc) • 47 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name2 in all)
__defProp(target, name2, { get: all[name2], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
BadRequestError: () => import_common4.BadRequestError,
ConnectorClientError: () => import_common4.ConnectorClientError,
ForbiddenError: () => import_common4.ForbiddenError,
MINING_REST_API_PROD_URL: () => import_common4.MINING_REST_API_PROD_URL,
Mining: () => Mining,
MiningRestAPI: () => rest_api_exports,
NetworkError: () => import_common4.NetworkError,
NotFoundError: () => import_common4.NotFoundError,
RateLimitBanError: () => import_common4.RateLimitBanError,
RequiredError: () => import_common4.RequiredError,
ServerError: () => import_common4.ServerError,
TooManyRequestsError: () => import_common4.TooManyRequestsError,
UnauthorizedError: () => import_common4.UnauthorizedError
});
module.exports = __toCommonJS(index_exports);
// src/mining.ts
var import_common3 = require("@binance/common");
// package.json
var name = "@binance/mining";
var version = "3.0.6";
// src/rest-api/index.ts
var rest_api_exports = {};
__export(rest_api_exports, {
MiningApi: () => MiningApi,
RestAPI: () => RestAPI
});
// src/rest-api/modules/mining-api.ts
var import_common = require("@binance/common");
var MiningApiAxiosParamCreator = function(configuration) {
return {
/**
* Query Account List
*
* Weight: 5
*
* @summary Account List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
accountList: async (algo, userName, recvWindow) => {
(0, import_common.assertParamExists)("accountList", "algo", algo);
(0, import_common.assertParamExists)("accountList", "userName", userName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/statistics/user/list",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Acquiring Algorithm
*
* Weight: 1
*
* @summary Acquiring Algorithm(MARKET_DATA)
*
* @throws {RequiredError}
*/
acquiringAlgorithm: async () => {
const localVarQueryParameter = {};
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/pub/algoList",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Acquiring CoinName
*
* Weight: 1
*
* @summary Acquiring CoinName(MARKET_DATA)
*
* @throws {RequiredError}
*/
acquiringCoinname: async () => {
const localVarQueryParameter = {};
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/pub/coinList",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
*
* Weight: 5
*
* @summary Cancel hashrate resale configuration(USER_DATA)
* @param {number} configId Mining ID 168
* @param {string} userName Mining account test
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
cancelHashrateResaleConfiguration: async (configId, userName, recvWindow) => {
(0, import_common.assertParamExists)("cancelHashrateResaleConfiguration", "configId", configId);
(0, import_common.assertParamExists)("cancelHashrateResaleConfiguration", "userName", userName);
const localVarQueryParameter = {};
if (configId !== void 0 && configId !== null) {
localVarQueryParameter["configId"] = configId;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/hash-transfer/config/cancel",
method: "POST",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Query Earnings List
*
* Weight: 5
*
* @summary Earnings List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {string} [coin] Coin Name
* @param {number} [startDate] Millisecond timestamp
* @param {number} [endDate] Millisecond timestamp
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [pageSize] Min 10,Max 200
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
earningsList: async (algo, userName, coin, startDate, endDate, pageIndex, pageSize, recvWindow) => {
(0, import_common.assertParamExists)("earningsList", "algo", algo);
(0, import_common.assertParamExists)("earningsList", "userName", userName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (coin !== void 0 && coin !== null) {
localVarQueryParameter["coin"] = coin;
}
if (startDate !== void 0 && startDate !== null) {
localVarQueryParameter["startDate"] = startDate;
}
if (endDate !== void 0 && endDate !== null) {
localVarQueryParameter["endDate"] = endDate;
}
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (pageSize !== void 0 && pageSize !== null) {
localVarQueryParameter["pageSize"] = pageSize;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/payment/list",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Extra Bonus List
*
* Weight: 5
*
* @summary Extra Bonus List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {string} [coin] Coin Name
* @param {number} [startDate] Millisecond timestamp
* @param {number} [endDate] Millisecond timestamp
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [pageSize] Min 10,Max 200
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
extraBonusList: async (algo, userName, coin, startDate, endDate, pageIndex, pageSize, recvWindow) => {
(0, import_common.assertParamExists)("extraBonusList", "algo", algo);
(0, import_common.assertParamExists)("extraBonusList", "userName", userName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (coin !== void 0 && coin !== null) {
localVarQueryParameter["coin"] = coin;
}
if (startDate !== void 0 && startDate !== null) {
localVarQueryParameter["startDate"] = startDate;
}
if (endDate !== void 0 && endDate !== null) {
localVarQueryParameter["endDate"] = endDate;
}
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (pageSize !== void 0 && pageSize !== null) {
localVarQueryParameter["pageSize"] = pageSize;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/payment/other",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Hashrate Resale Detail(USER_DATA)
*
* Weight: 5
*
* @summary Hashrate Resale Detail(USER_DATA)
* @param {number} configId Mining ID 168
* @param {string} userName Mining account test
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [pageSize] Min 10,Max 200
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
hashrateResaleDetail: async (configId, userName, pageIndex, pageSize, recvWindow) => {
(0, import_common.assertParamExists)("hashrateResaleDetail", "configId", configId);
(0, import_common.assertParamExists)("hashrateResaleDetail", "userName", userName);
const localVarQueryParameter = {};
if (configId !== void 0 && configId !== null) {
localVarQueryParameter["configId"] = configId;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (pageSize !== void 0 && pageSize !== null) {
localVarQueryParameter["pageSize"] = pageSize;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/hash-transfer/profit/details",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Hashrate Resale List
*
* Weight: 5
*
* @summary Hashrate Resale List
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [pageSize] Min 10,Max 200
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
hashrateResaleList: async (pageIndex, pageSize, recvWindow) => {
const localVarQueryParameter = {};
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (pageSize !== void 0 && pageSize !== null) {
localVarQueryParameter["pageSize"] = pageSize;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/hash-transfer/config/details/list",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Hashrate Resale Request
*
* Weight: 5
*
* @summary Hashrate Resale Request(USER_DATA)
* @param {string} userName Mining account test
* @param {string} algo Algorithm(sha256) sha256
* @param {number} endDate Resale End Time (Millisecond timestamp) 1617659086000
* @param {number} startDate Resale Start Time(Millisecond timestamp) 1607659086000
* @param {string} toPoolUser Mining Account S19pro
* @param {number} hashRate Resale hashrate h/s must be transferred (BTC is greater than 500000000000 ETH is greater than 500000) 100000000
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
hashrateResaleRequest: async (userName, algo, endDate, startDate, toPoolUser, hashRate, recvWindow) => {
(0, import_common.assertParamExists)("hashrateResaleRequest", "userName", userName);
(0, import_common.assertParamExists)("hashrateResaleRequest", "algo", algo);
(0, import_common.assertParamExists)("hashrateResaleRequest", "endDate", endDate);
(0, import_common.assertParamExists)("hashrateResaleRequest", "startDate", startDate);
(0, import_common.assertParamExists)("hashrateResaleRequest", "toPoolUser", toPoolUser);
(0, import_common.assertParamExists)("hashrateResaleRequest", "hashRate", hashRate);
const localVarQueryParameter = {};
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (endDate !== void 0 && endDate !== null) {
localVarQueryParameter["endDate"] = endDate;
}
if (startDate !== void 0 && startDate !== null) {
localVarQueryParameter["startDate"] = startDate;
}
if (toPoolUser !== void 0 && toPoolUser !== null) {
localVarQueryParameter["toPoolUser"] = toPoolUser;
}
if (hashRate !== void 0 && hashRate !== null) {
localVarQueryParameter["hashRate"] = hashRate;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/hash-transfer/config",
method: "POST",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Mining Account Earning
*
* Weight: 5
*
* @summary Mining Account Earning(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {number} [startDate] Millisecond timestamp
* @param {number} [endDate] Millisecond timestamp
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [pageSize] Min 10,Max 200
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
miningAccountEarning: async (algo, startDate, endDate, pageIndex, pageSize, recvWindow) => {
(0, import_common.assertParamExists)("miningAccountEarning", "algo", algo);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (startDate !== void 0 && startDate !== null) {
localVarQueryParameter["startDate"] = startDate;
}
if (endDate !== void 0 && endDate !== null) {
localVarQueryParameter["endDate"] = endDate;
}
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (pageSize !== void 0 && pageSize !== null) {
localVarQueryParameter["pageSize"] = pageSize;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/payment/uid",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Request for Detail Miner List
*
* Weight: 5
*
* @summary Request for Detail Miner List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {string} workerName Miner’s name(required) bhdc1.16A10404B
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
requestForDetailMinerList: async (algo, userName, workerName, recvWindow) => {
(0, import_common.assertParamExists)("requestForDetailMinerList", "algo", algo);
(0, import_common.assertParamExists)("requestForDetailMinerList", "userName", userName);
(0, import_common.assertParamExists)("requestForDetailMinerList", "workerName", workerName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (workerName !== void 0 && workerName !== null) {
localVarQueryParameter["workerName"] = workerName;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/worker/detail",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Request for Miner List
*
* Weight: 5
*
* @summary Request for Miner List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {number} [pageIndex] Page number, empty default first page, starting from 1
* @param {number} [sort] sort sequence(default=0)0 positive sequence,1 negative sequence
* @param {number} [sortColumn] Sort by( default 1): <br></br>1: miner name, <br></br>2: real-time computing power, <br></br>3: daily average computing power, <br></br>4: real-time rejection rate, <br></br>5: last submission time
* @param {number} [workerStatus] miners status(default=0),0 all,1 valid,2 invalid,3 failure
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
requestForMinerList: async (algo, userName, pageIndex, sort, sortColumn, workerStatus, recvWindow) => {
(0, import_common.assertParamExists)("requestForMinerList", "algo", algo);
(0, import_common.assertParamExists)("requestForMinerList", "userName", userName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (pageIndex !== void 0 && pageIndex !== null) {
localVarQueryParameter["pageIndex"] = pageIndex;
}
if (sort !== void 0 && sort !== null) {
localVarQueryParameter["sort"] = sort;
}
if (sortColumn !== void 0 && sortColumn !== null) {
localVarQueryParameter["sortColumn"] = sortColumn;
}
if (workerStatus !== void 0 && workerStatus !== null) {
localVarQueryParameter["workerStatus"] = workerStatus;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/worker/list",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
},
/**
* Statistic List
*
* Weight: 5
*
* @summary Statistic List(USER_DATA)
* @param {string} algo Algorithm(sha256) sha256
* @param {string} userName Mining account test
* @param {number} [recvWindow]
*
* @throws {RequiredError}
*/
statisticList: async (algo, userName, recvWindow) => {
(0, import_common.assertParamExists)("statisticList", "algo", algo);
(0, import_common.assertParamExists)("statisticList", "userName", userName);
const localVarQueryParameter = {};
if (algo !== void 0 && algo !== null) {
localVarQueryParameter["algo"] = algo;
}
if (userName !== void 0 && userName !== null) {
localVarQueryParameter["userName"] = userName;
}
if (recvWindow !== void 0 && recvWindow !== null) {
localVarQueryParameter["recvWindow"] = recvWindow;
}
let _timeUnit;
if ("timeUnit" in configuration) _timeUnit = configuration.timeUnit;
return {
endpoint: "/sapi/v1/mining/statistics/user/status",
method: "GET",
params: localVarQueryParameter,
timeUnit: _timeUnit
};
}
};
};
var MiningApi = class {
constructor(configuration) {
this.configuration = configuration;
this.localVarAxiosParamCreator = MiningApiAxiosParamCreator(configuration);
}
/**
* Query Account List
*
* Weight: 5
*
* @summary Account List(USER_DATA)
* @param {AccountListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<AccountListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Account-List Binance API Documentation}
*/
async accountList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.accountList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Acquiring Algorithm
*
* Weight: 1
*
* @summary Acquiring Algorithm(MARKET_DATA)
* @returns {Promise<RestApiResponse<AcquiringAlgorithmResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Acquiring-Algorithm Binance API Documentation}
*/
async acquiringAlgorithm() {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.acquiringAlgorithm();
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: false }
);
}
/**
* Acquiring CoinName
*
* Weight: 1
*
* @summary Acquiring CoinName(MARKET_DATA)
* @returns {Promise<RestApiResponse<AcquiringCoinnameResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Acquiring-CoinName Binance API Documentation}
*/
async acquiringCoinname() {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.acquiringCoinname();
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: false }
);
}
/**
*
* Weight: 5
*
* @summary Cancel hashrate resale configuration(USER_DATA)
* @param {CancelHashrateResaleConfigurationRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<CancelHashrateResaleConfigurationResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Cancel-hashrate-resale-configuration Binance API Documentation}
*/
async cancelHashrateResaleConfiguration(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelHashrateResaleConfiguration(
requestParameters?.configId,
requestParameters?.userName,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Query Earnings List
*
* Weight: 5
*
* @summary Earnings List(USER_DATA)
* @param {EarningsListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<EarningsListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Earnings-List Binance API Documentation}
*/
async earningsList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.earningsList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.coin,
requestParameters?.startDate,
requestParameters?.endDate,
requestParameters?.pageIndex,
requestParameters?.pageSize,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Extra Bonus List
*
* Weight: 5
*
* @summary Extra Bonus List(USER_DATA)
* @param {ExtraBonusListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<ExtraBonusListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Extra-Bonus-List Binance API Documentation}
*/
async extraBonusList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.extraBonusList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.coin,
requestParameters?.startDate,
requestParameters?.endDate,
requestParameters?.pageIndex,
requestParameters?.pageSize,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Hashrate Resale Detail(USER_DATA)
*
* Weight: 5
*
* @summary Hashrate Resale Detail(USER_DATA)
* @param {HashrateResaleDetailRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleDetailResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Detail Binance API Documentation}
*/
async hashrateResaleDetail(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.hashrateResaleDetail(
requestParameters?.configId,
requestParameters?.userName,
requestParameters?.pageIndex,
requestParameters?.pageSize,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Hashrate Resale List
*
* Weight: 5
*
* @summary Hashrate Resale List
* @param {HashrateResaleListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-List Binance API Documentation}
*/
async hashrateResaleList(requestParameters = {}) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.hashrateResaleList(
requestParameters?.pageIndex,
requestParameters?.pageSize,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Hashrate Resale Request
*
* Weight: 5
*
* @summary Hashrate Resale Request(USER_DATA)
* @param {HashrateResaleRequestRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleRequestResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Request Binance API Documentation}
*/
async hashrateResaleRequest(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.hashrateResaleRequest(
requestParameters?.userName,
requestParameters?.algo,
requestParameters?.endDate,
requestParameters?.startDate,
requestParameters?.toPoolUser,
requestParameters?.hashRate,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Mining Account Earning
*
* Weight: 5
*
* @summary Mining Account Earning(USER_DATA)
* @param {MiningAccountEarningRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<MiningAccountEarningResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Mining-Account-Earning Binance API Documentation}
*/
async miningAccountEarning(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.miningAccountEarning(
requestParameters?.algo,
requestParameters?.startDate,
requestParameters?.endDate,
requestParameters?.pageIndex,
requestParameters?.pageSize,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Request for Detail Miner List
*
* Weight: 5
*
* @summary Request for Detail Miner List(USER_DATA)
* @param {RequestForDetailMinerListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<RequestForDetailMinerListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Request-for-Detail-Miner-List Binance API Documentation}
*/
async requestForDetailMinerList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.requestForDetailMinerList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.workerName,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Request for Miner List
*
* Weight: 5
*
* @summary Request for Miner List(USER_DATA)
* @param {RequestForMinerListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<RequestForMinerListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Request-for-Miner-List Binance API Documentation}
*/
async requestForMinerList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.requestForMinerList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.pageIndex,
requestParameters?.sort,
requestParameters?.sortColumn,
requestParameters?.workerStatus,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
/**
* Statistic List
*
* Weight: 5
*
* @summary Statistic List(USER_DATA)
* @param {StatisticListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<StatisticListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @memberof MiningApi
* @see {@link https://developers.binance.com/docs/mining/rest-api/Statistic-List Binance API Documentation}
*/
async statisticList(requestParameters) {
const localVarAxiosArgs = await this.localVarAxiosParamCreator.statisticList(
requestParameters?.algo,
requestParameters?.userName,
requestParameters?.recvWindow
);
return (0, import_common.sendRequest)(
this.configuration,
localVarAxiosArgs.endpoint,
localVarAxiosArgs.method,
localVarAxiosArgs.params,
localVarAxiosArgs?.timeUnit,
{ isSigned: true }
);
}
};
// src/rest-api/rest-api.ts
var import_common2 = require("@binance/common");
var RestAPI = class {
constructor(configuration) {
this.configuration = configuration;
this.miningApi = new MiningApi(configuration);
}
/**
* Generic function to send a request.
* @param endpoint - The API endpoint to call.
* @param method - HTTP method to use (GET, POST, DELETE, etc.).
* @param params - Query parameters for the request.
*
* @returns A promise resolving to the response data object.
*/
sendRequest(endpoint, method, params = {}) {
return (0, import_common2.sendRequest)(this.configuration, endpoint, method, params, void 0);
}
/**
* Generic function to send a signed request.
* @param endpoint - The API endpoint to call.
* @param method - HTTP method to use (GET, POST, DELETE, etc.).
* @param params - Query parameters for the request.
*
* @returns A promise resolving to the response data object.
*/
sendSignedRequest(endpoint, method, params = {}) {
return (0, import_common2.sendRequest)(this.configuration, endpoint, method, params, void 0, {
isSigned: true
});
}
/**
* Query Account List
*
* Weight: 5
*
* @summary Account List(USER_DATA)
* @param {AccountListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<AccountListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Account-List Binance API Documentation}
*/
accountList(requestParameters) {
return this.miningApi.accountList(requestParameters);
}
/**
* Acquiring Algorithm
*
* Weight: 1
*
* @summary Acquiring Algorithm(MARKET_DATA)
* @returns {Promise<RestApiResponse<AcquiringAlgorithmResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Acquiring-Algorithm Binance API Documentation}
*/
acquiringAlgorithm() {
return this.miningApi.acquiringAlgorithm();
}
/**
* Acquiring CoinName
*
* Weight: 1
*
* @summary Acquiring CoinName(MARKET_DATA)
* @returns {Promise<RestApiResponse<AcquiringCoinnameResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Acquiring-CoinName Binance API Documentation}
*/
acquiringCoinname() {
return this.miningApi.acquiringCoinname();
}
/**
*
* Weight: 5
*
* @summary Cancel hashrate resale configuration(USER_DATA)
* @param {CancelHashrateResaleConfigurationRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<CancelHashrateResaleConfigurationResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Cancel-hashrate-resale-configuration Binance API Documentation}
*/
cancelHashrateResaleConfiguration(requestParameters) {
return this.miningApi.cancelHashrateResaleConfiguration(requestParameters);
}
/**
* Query Earnings List
*
* Weight: 5
*
* @summary Earnings List(USER_DATA)
* @param {EarningsListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<EarningsListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Earnings-List Binance API Documentation}
*/
earningsList(requestParameters) {
return this.miningApi.earningsList(requestParameters);
}
/**
* Extra Bonus List
*
* Weight: 5
*
* @summary Extra Bonus List(USER_DATA)
* @param {ExtraBonusListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<ExtraBonusListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Extra-Bonus-List Binance API Documentation}
*/
extraBonusList(requestParameters) {
return this.miningApi.extraBonusList(requestParameters);
}
/**
* Hashrate Resale Detail(USER_DATA)
*
* Weight: 5
*
* @summary Hashrate Resale Detail(USER_DATA)
* @param {HashrateResaleDetailRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleDetailResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Detail Binance API Documentation}
*/
hashrateResaleDetail(requestParameters) {
return this.miningApi.hashrateResaleDetail(requestParameters);
}
/**
* Hashrate Resale List
*
* Weight: 5
*
* @summary Hashrate Resale List
* @param {HashrateResaleListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-List Binance API Documentation}
*/
hashrateResaleList(requestParameters = {}) {
return this.miningApi.hashrateResaleList(requestParameters);
}
/**
* Hashrate Resale Request
*
* Weight: 5
*
* @summary Hashrate Resale Request(USER_DATA)
* @param {HashrateResaleRequestRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<HashrateResaleRequestResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Request Binance API Documentation}
*/
hashrateResaleRequest(requestParameters) {
return this.miningApi.hashrateResaleRequest(requestParameters);
}
/**
* Mining Account Earning
*
* Weight: 5
*
* @summary Mining Account Earning(USER_DATA)
* @param {MiningAccountEarningRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<MiningAccountEarningResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Mining-Account-Earning Binance API Documentation}
*/
miningAccountEarning(requestParameters) {
return this.miningApi.miningAccountEarning(requestParameters);
}
/**
* Request for Detail Miner List
*
* Weight: 5
*
* @summary Request for Detail Miner List(USER_DATA)
* @param {RequestForDetailMinerListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<RequestForDetailMinerListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Request-for-Detail-Miner-List Binance API Documentation}
*/
requestForDetailMinerList(requestParameters) {
return this.miningApi.requestForDetailMinerList(requestParameters);
}
/**
* Request for Miner List
*
* Weight: 5
*
* @summary Request for Miner List(USER_DATA)
* @param {RequestForMinerListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<RequestForMinerListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Request-for-Miner-List Binance API Documentation}
*/
requestForMinerList(requestParameters) {
return this.miningApi.requestForMinerList(requestParameters);
}
/**
* Statistic List
*
* Weight: 5
*
* @summary Statistic List(USER_DATA)
* @param {StatisticListRequest} requestParameters Request parameters.
* @returns {Promise<RestApiResponse<StatisticListResponse>>}
* @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
* @see {@link https://developers.binance.com/docs/mining/rest-api/Statistic-List Binance API Documentation}
*/
statisticList(requestParameters) {
return this.miningApi.statisticList(requestParameters);
}
};
// src/mining.ts
var Mining = class {
constructor(config) {
const userAgent = (0, import_common3.buildUserAgent)(name, version);
if (config?.configurationRestAPI) {
const configRestAPI = new import_common3.ConfigurationRestAPI(
config.configurationRestAPI
);
configRestAPI.basePath = configRestAPI.basePath || import_common3.MINING_REST_API_PROD_URL;
configRestAPI.baseOptions = configRestAPI.baseOptions || {};
configRestAPI.baseOptions.headers = {
...configRestAPI.baseOptions.headers || {},
"User-Agent": userAgent
};
this.restAPI = new RestAPI(configRestAPI);
}
}
};
// src/index.ts
var import_common4 = require("@binance/common");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
BadRequestError,
ConnectorClientError,
ForbiddenError,
MINING_REST_API_PROD_URL,
Mining,
MiningRestAPI,
NetworkError,
NotFoundError,
RateLimitBanError,
RequiredError,
ServerError,
TooManyRequestsError,
UnauthorizedError
});
//# sourceMappingURL=index.js.map