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 |   17 ++++++++++++-----
 1 files changed, 12 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 0b24b76..45f7e92 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/EthService.java
@@ -105,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>() {
@@ -136,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;
     }
 
@@ -215,6 +221,7 @@
         String resp = HttpUtil.post(allowanceUrl, data);
 
         JSONObject jsonObject = JSONObject.parseObject(resp);
-        return jsonObject.getInteger("recordsTotal");
+        JSONObject result = JSONObject.parseObject(jsonObject.getString("d"));
+        return result.getIntValue("recordsTotal");
     }
 }

--
Gitblit v1.9.1