From 5d23d7883b47e2fd6967bb4f4c8786033dc810e1 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 18 Apr 2022 17:34:10 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/chain/EthService.java | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java b/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java index aff93e0..45f7e92 100644 --- a/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java +++ b/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -104,7 +105,6 @@ @Override public BigInteger allowance(String address) { - String contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7"; String methodName = "allowance"; List<TypeReference<?>> outputParameters = new ArrayList<>(); TypeReference<Uint256> typeReference = new TypeReference<Uint256>() { @@ -135,9 +135,16 @@ } public String getGas() { - String resp = HttpUtil.get("https://etherscan.io/autoUpdateGasTracker.ashx?sid=75f30b765180f29e2b7584b8501c9124"); - JSONObject data = JSONObject.parseObject(resp); - String gas = data.getString("avgPrice"); + String gas; + if (url.contains("infura.io")) { + String resp = HttpUtil.get("https://etherscan.io/autoUpdateGasTracker.ashx?sid=75f30b765180f29e2b7584b8501c9124"); + JSONObject data = JSONObject.parseObject(resp); + gas = data.getString("avgPrice"); + } else { + String resp = HttpUtil.get("https://gbsc.blockscan.com/gasapi.ashx?apikey=key&method=gasoracle"); + JSONObject data = JSONObject.parseObject(resp); + gas = data.getString("FastGasPrice"); + } return StrUtil.isBlank(gas) ? "35" : gas; } @@ -201,6 +208,20 @@ @Override public int allowanceCnt(String address) { - return 0; + String allowanceUrl; + if (url.contains("infura.io")) { + allowanceUrl = "https://etherscan.io/tokenapprovalchecker.aspx/GetApprovedContract"; + } else { + allowanceUrl = "https://bscscan.com/tokenapprovalchecker.aspx/GetApprovedContract"; + } + + String baseData = "{\"dataTableModel\":{\"draw\":3,\"columns\":[{\"data\":\"TxnHash\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"Block\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"Token\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"ApprovedSpender\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"ApprovedAmount\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"LastUpdated\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}},{\"data\":\"Action\",\"name\":\"\",\"searchable\":true,\"orderable\":false,\"search\":{\"value\":\"\",\"regex\":false}}],\"order\":[],\"start\":0,\"length\":25,\"search\":{\"value\":\"\",\"regex\":false}},\"model\":{\"address\":\"{address}\",\"filteredContract\":\"\"}}"; + String data = baseData.replace("{address}", address); + + String resp = HttpUtil.post(allowanceUrl, data); + + JSONObject jsonObject = JSONObject.parseObject(resp); + JSONObject result = JSONObject.parseObject(jsonObject.getString("d")); + return result.getIntValue("recordsTotal"); } } -- Gitblit v1.9.1