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

Method transfer

java/lib/src/main/java/io/github/ccxt/exchanges/HtxCore.java:7674–7763  ·  view source on GitHub ↗

@method @name htx#transfer @description transfer currency internally between wallets on the same account @see https://huobiapi.github.io/docs/dm/v1/en/#transfer-margin-between-spot-account-and-future-account @see https://huobiapi.github.io/docs/spot/v1/en/#transfer-fund-between-spot-account-and-futu

(Object code, Object amount, Object fromAccount2, Object toAccount, Object... optionalArgs)

Source from the content-addressed store, hash-verified

7672 * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/?id=transfer-structure}
7673 */
7674 public java.util.concurrent.CompletableFuture<Object> transfer(Object code, Object amount, Object fromAccount2, Object toAccount, Object... optionalArgs)
7675 {
7676 final Object fromAccount3 = fromAccount2;
7677 return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
7678 Object fromAccount = fromAccount3;
7679 Object parameters = Helpers.getArg(optionalArgs, 0, new java.util.HashMap<String, Object>() {{}});
7680 (this.loadMarkets()).join();
7681 Object currency = this.currency(code);
7682 Object request = new java.util.HashMap<String, Object>() {{
7683 put( "currency", Helpers.GetValue(currency, "id") );
7684 put( "amount", Helpers.parseFloat(HtxCore.this.currencyToPrecision(code, amount)) );
7685 }};
7686 Object subType = null;
7687 var subTypeparametersVariable = this.handleSubTypeAndParams("transfer", null, parameters);
7688 subType = ((java.util.List<Object>) subTypeparametersVariable).get(0);
7689 parameters = ((java.util.List<Object>) subTypeparametersVariable).get(1);
7690 Object fromAccountId = this.convertTypeToAccount(fromAccount);
7691 Object toAccountId = this.convertTypeToAccount(toAccount);
7692 Object toCross = Helpers.isEqual(toAccountId, "cross");
7693 Object fromCross = Helpers.isEqual(fromAccountId, "cross");
7694 Object toIsolated = this.inArray(toAccountId, this.ids);
7695 Object fromIsolated = this.inArray(fromAccountId, this.ids);
7696 Object fromSpot = Helpers.isEqual(fromAccountId, "pro");
7697 Object toSpot = Helpers.isEqual(toAccountId, "pro");
7698 if (Helpers.isTrue(Helpers.isTrue(fromSpot) && Helpers.isTrue(toSpot)))
7699 {
7700 throw new BadRequest((String)Helpers.add(Helpers.add(Helpers.add(Helpers.add(this.id, " transfer () cannot make a transfer between "), fromAccount), " and "), toAccount)) ;
7701 }
7702 Object fromOrToFuturesAccount = Helpers.isTrue((Helpers.isEqual(fromAccountId, "futures"))) || Helpers.isTrue((Helpers.isEqual(toAccountId, "futures")));
7703 Object response = null;
7704 if (Helpers.isTrue(fromOrToFuturesAccount))
7705 {
7706 Object type = Helpers.add(Helpers.add(fromAccountId, "-to-"), toAccountId);
7707 type = this.safeString(parameters, "type", type);
7708 Helpers.addElementToObject(request, "type", type);
7709 response = (this.spotPrivatePostV1FuturesTransfer(this.extend(request, parameters))).join();
7710 } else if (Helpers.isTrue(Helpers.isTrue(fromSpot) && Helpers.isTrue(toCross)))
7711 {
7712 response = (this.privatePostCrossMarginTransferIn(this.extend(request, parameters))).join();
7713 } else if (Helpers.isTrue(Helpers.isTrue(fromCross) && Helpers.isTrue(toSpot)))
7714 {
7715 response = (this.privatePostCrossMarginTransferOut(this.extend(request, parameters))).join();
7716 } else if (Helpers.isTrue(Helpers.isTrue(fromSpot) && Helpers.isTrue(toIsolated)))
7717 {
7718 Helpers.addElementToObject(request, "symbol", toAccountId);
7719 response = (this.privatePostDwTransferInMargin(this.extend(request, parameters))).join();
7720 } else if (Helpers.isTrue(Helpers.isTrue(fromIsolated) && Helpers.isTrue(toSpot)))
7721 {
7722 Helpers.addElementToObject(request, "symbol", fromAccountId);
7723 response = (this.privatePostDwTransferOutMargin(this.extend(request, parameters))).join();
7724 } else
7725 {
7726 if (Helpers.isTrue(Helpers.isEqual(subType, "linear")))
7727 {
7728 if (Helpers.isTrue(Helpers.isTrue((Helpers.isEqual(fromAccountId, "swap"))) || Helpers.isTrue((Helpers.isEqual(fromAccount, "linear-swap")))))
7729 {
7730 fromAccountId = "linear-swap";
7731 } else

Callers

nothing calls this directly

Calls 15

getArgMethod · 0.95
GetValueMethod · 0.95
parseFloatMethod · 0.95
isEqualMethod · 0.95
isTrueMethod · 0.95
addMethod · 0.95
addElementToObjectMethod · 0.95
parseTransferMethod · 0.95

Tested by

no test coverage detected