MCPcopy Index your code
hub / github.com/ccxt/ccxt / fetchLedger

Method fetchLedger

java/lib/src/main/java/io/github/ccxt/exchanges/OkxCore.java:5569–5690  ·  view source on GitHub ↗

@method @name okx#fetchLedger @description fetch the history of changes, actions done by the user or operations that altered balance of the user @see https://www.okx.com/docs-v5/en/#rest-api-account-get-bills-details-last-7-days @see https://www.okx.com/docs-v5/en/#rest-api-account-get-bills-details

(Object... optionalArgs)

Source from the content-addressed store, hash-verified

5567 * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/?id=ledger-entry-structure}
5568 */
5569 public java.util.concurrent.CompletableFuture<Object> fetchLedger(Object... optionalArgs)
5570 {
5571
5572 return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
5573
5574 Object code = Helpers.getArg(optionalArgs, 0, null);
5575 Object since = Helpers.getArg(optionalArgs, 1, null);
5576 Object limit = Helpers.getArg(optionalArgs, 2, null);
5577 Object parameters = Helpers.getArg(optionalArgs, 3, new java.util.HashMap<String, Object>() {{}});
5578 (this.loadMarkets()).join();
5579 Object paginate = false;
5580 var paginateparametersVariable = this.handleOptionAndParams(parameters, "fetchLedger", "paginate");
5581 paginate = ((java.util.List<Object>) paginateparametersVariable).get(0);
5582 parameters = ((java.util.List<Object>) paginateparametersVariable).get(1);
5583 if (Helpers.isTrue(paginate))
5584 {
5585 return (this.fetchPaginatedCallDynamic("fetchLedger", code, since, limit, parameters)).join();
5586 }
5587 Object options = this.safeDict(this.options, "fetchLedger", new java.util.HashMap<String, Object>() {{}});
5588 Object method = this.safeString(options, "method");
5589 method = this.safeString(parameters, "method", method);
5590 parameters = this.omit(parameters, "method");
5591 Object request = new java.util.HashMap<String, Object>() {{}};
5592 Object marginMode = null;
5593 var marginModeparametersVariable = this.handleMarginModeAndParams("fetchLedger", parameters);
5594 marginMode = ((java.util.List<Object>) marginModeparametersVariable).get(0);
5595 parameters = ((java.util.List<Object>) marginModeparametersVariable).get(1);
5596 if (Helpers.isTrue(Helpers.isEqual(marginMode, null)))
5597 {
5598 marginMode = this.safeString(parameters, "mgnMode");
5599 }
5600 if (Helpers.isTrue(!Helpers.isEqual(method, "privateGetAssetBills")))
5601 {
5602 if (Helpers.isTrue(!Helpers.isEqual(marginMode, null)))
5603 {
5604 Helpers.addElementToObject(request, "mgnMode", marginMode);
5605 }
5606 }
5607 var typequeryVariable = this.handleMarketTypeAndParams("fetchLedger", null, parameters);
5608 var type = ((java.util.List<Object>) typequeryVariable).get(0);
5609 var query = ((java.util.List<Object>) typequeryVariable).get(1);
5610 if (Helpers.isTrue(!Helpers.isEqual(type, null)))
5611 {
5612 Helpers.addElementToObject(request, "instType", this.convertToInstrumentType(type));
5613 }
5614 if (Helpers.isTrue(!Helpers.isEqual(limit, null)))
5615 {
5616 Helpers.addElementToObject(request, "limit", limit);
5617 }
5618 Object currency = null;
5619 if (Helpers.isTrue(!Helpers.isEqual(code, null)))
5620 {
5621 currency = this.currency(code);
5622 Helpers.addElementToObject(request, "ccy", Helpers.GetValue(currency, "id"));
5623 }
5624 var requestparametersVariable = this.handleUntilOption("end", request, parameters);
5625 request = ((java.util.List<Object>) requestparametersVariable).get(0);
5626 parameters = ((java.util.List<Object>) requestparametersVariable).get(1);

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
addElementToObjectMethod · 0.95
GetValueMethod · 0.95
privateGetAssetBillsMethod · 0.65
loadMarketsMethod · 0.45
handleOptionAndParamsMethod · 0.45

Tested by

no test coverage detected