From b9d583aeb3de1ce824f0c6ff6367a5e15904e449 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 18 Apr 2022 14:29:59 +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