@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)
| 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); |
nothing calls this directly
no test coverage detected