| | |
| | | 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; |
| | | |
| | |
| | | |
| | | @Override |
| | | public BigInteger allowance(String address) { |
| | | String contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7"; |
| | | String methodName = "allowance"; |
| | | List<TypeReference<?>> outputParameters = new ArrayList<>(); |
| | | TypeReference<Uint256> typeReference = new TypeReference<Uint256>() { |
| | |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | @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"); |
| | | } |
| | | } |