From 634903745c78803e1b44a8563cdf34e3fc6581d8 Mon Sep 17 00:00:00 2001 From: pokkst Date: Fri, 19 Jul 2019 10:14:46 -0500 Subject: [PATCH] update cash account server list --- WalletTemplate-test.wallet | Bin 29648 -> 29648 bytes .../main/java/org/bitcoinj/net/NetHelper.java | 246 ++++++++++++------ 2 files changed, 171 insertions(+), 75 deletions(-) diff --git a/WalletTemplate-test.wallet b/WalletTemplate-test.wallet index 830fdb250c0652785a1f43faa1a2b2367c79876a..62f12870aa5d8be34ff0f903eb724d43a0376d16 100644 GIT binary patch delta 168 zcmcccobkeQ#tBkV3{%#=*&YAEMYrHtxlY%nHM9C_xzoHfU1}XSnrzSH_{V3#7{Cz0 zxS6>yn33-qH<-tubf1ZXNocZTj^gHfImV1kO}v|h^XeFxo^WrToS(r6)5WkkEIX2s zuZb6^i!p*h=>b^R+)TyIQduT&RZN@XieebWzCvtb&|tJ+NI1FGzu@!yInP)Dk54xQ delta 156 zcmcccobkeQ#tBkV%n5Jn;@BU(x_PkHV~3{H<=f#;*N5ma^-uY?(PVojM;EsRV*o=0 zj9F!N>>I$DnkBiGxXK s@}6A9%~Dx9j2w^H!R9e+jw^~`6l;W-&Y;0)!H{ruqkqBe%RSFn0p$EO82|tP diff --git a/core/src/main/java/org/bitcoinj/net/NetHelper.java b/core/src/main/java/org/bitcoinj/net/NetHelper.java index 12a6c32916a..9b4eeef5abc 100644 --- a/core/src/main/java/org/bitcoinj/net/NetHelper.java +++ b/core/src/main/java/org/bitcoinj/net/NetHelper.java @@ -25,7 +25,11 @@ public class NetHelper { private String[] cashAcctServers = new String[]{ "https://cashacct.imaginary.cash", - "https://api.cashaccount.info" + "https://api.cashaccount.info", + "https://electrum.imaginary.cash", + "https://cashaccounts.bchdata.cash", + "https://cashacct.electroncash.dk", + "https://rest.bitcoin.com/v2/cashAccounts" }; private String[] blockExplorers = new String[]{ @@ -130,11 +134,69 @@ private String getTxHexFromCashAcct(String cashAccount) { String name = splitAccount[0]; String block = splitAccount[1]; - if (!block.contains(".")) { + if(!lookupServer.contains("rest.bitcoin.com")) + { + if (!block.contains(".")) { + InputStream is = null; + + try { + is = (new URL(lookupServer + "/lookup/" + block + "/" + name)).openStream(); + } catch (IOException var56) { + var56.printStackTrace(); + } + + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + txHex = json.getJSONArray("results").getJSONObject(0).getString("transaction"); + } catch (JSONException | IOException var53) { + var53.printStackTrace(); + } finally { + try { + is.close(); + } catch (IOException var47) { + var47.printStackTrace(); + } + + } + } else { + String[] splitBlock = block.split("\\."); + String mainBlock = splitBlock[0]; + String collision = splitBlock[1]; + InputStream is = null; + + try { + is = (new URL(lookupServer + "/lookup/" + mainBlock + "/" + name + "/" + collision)).openStream(); + } catch (IOException var52) { + var52.printStackTrace(); + } + + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + txHex = json.getJSONArray("results").getJSONObject(0).getString("transaction"); + } catch (JSONException | IOException var49) { + var49.printStackTrace(); + } finally { + try { + if (is != null) { + is.close(); + } + } catch (IOException var48) { + var48.printStackTrace(); + } + + } + } + } + else + { InputStream is = null; try { - is = (new URL(lookupServer + "/lookup/" + block + "/" + name)).openStream(); + is = (new URL(lookupServer + "/check/" + name + "/" + block)).openStream(); } catch (IOException var56) { var56.printStackTrace(); } @@ -153,35 +215,6 @@ private String getTxHexFromCashAcct(String cashAccount) { var47.printStackTrace(); } - } - } else { - String[] splitBlock = block.split("\\."); - String mainBlock = splitBlock[0]; - String collision = splitBlock[1]; - InputStream is = null; - - try { - is = (new URL(lookupServer + "/lookup/" + mainBlock + "/" + name + "/" + collision)).openStream(); - } catch (IOException var52) { - var52.printStackTrace(); - } - - try { - BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); - String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); - JSONObject json = new JSONObject(jsonText); - txHex = json.getJSONArray("results").getJSONObject(0).getString("transaction"); - } catch (JSONException | IOException var49) { - var49.printStackTrace(); - } finally { - try { - if (is != null) { - is.close(); - } - } catch (IOException var48) { - var48.printStackTrace(); - } - } } @@ -250,62 +283,125 @@ private String getExpectedCashAccountAddress(String cashAccount) { String[] splitAccount = cashAccount.split("#"); String name = splitAccount[0]; String block = splitAccount[1]; - if (!block.contains(".")) { - InputStream is = null; - try { - is = (new URL(lookupServer + "/account/" + block + "/" + name)).openStream(); - } catch (IOException var56) { - var56.printStackTrace(); - } + if(!lookupServer.contains("rest.bitcoin.com")) { + if (!block.contains(".")) { + InputStream is = null; - try { - BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); - String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); - JSONObject json = new JSONObject(jsonText); - address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); - } catch (JSONException var53) { - var53.printStackTrace(); - } catch (IOException var54) { - var54.printStackTrace(); - } finally { try { - is.close(); - } catch (IOException var48) { - var48.printStackTrace(); + is = (new URL(lookupServer + "/account/" + block + "/" + name)).openStream(); + } catch (IOException var56) { + var56.printStackTrace(); } - } - } else { - String[] splitBlock = block.split("\\."); - String mainBlock = splitBlock[0]; - String collision = splitBlock[1]; - InputStream is = null; + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); + } catch (JSONException var53) { + var53.printStackTrace(); + } catch (IOException var54) { + var54.printStackTrace(); + } finally { + try { + is.close(); + } catch (IOException var48) { + var48.printStackTrace(); + } - try { - is = (new URL(lookupServer + "/account/" + mainBlock + "/" + name + "/" + collision)).openStream(); - } catch (IOException var52) { - var52.printStackTrace(); + } + } else { + String[] splitBlock = block.split("\\."); + String mainBlock = splitBlock[0]; + String collision = splitBlock[1]; + InputStream is = null; + + try { + is = (new URL(lookupServer + "/account/" + mainBlock + "/" + name + "/" + collision)).openStream(); + } catch (IOException var52) { + var52.printStackTrace(); + } + + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); + } catch (JSONException var49) { + var49.printStackTrace(); + } catch (IOException var50) { + var50.printStackTrace(); + } finally { + try { + if (is != null) { + is.close(); + } + } catch (IOException var47) { + var47.printStackTrace(); + } + + } } + } + else + { + if (!block.contains(".")) { + InputStream is = null; - try { - BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); - String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); - JSONObject json = new JSONObject(jsonText); - address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); - } catch (JSONException var49) { - var49.printStackTrace(); - } catch (IOException var50) { - var50.printStackTrace(); - } finally { try { - if (is != null) { + is = (new URL(lookupServer + "/lookup/" + name + "/" + block)).openStream(); + } catch (IOException var56) { + var56.printStackTrace(); + } + + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); + } catch (JSONException var53) { + var53.printStackTrace(); + } catch (IOException var54) { + var54.printStackTrace(); + } finally { + try { is.close(); + } catch (IOException var48) { + var48.printStackTrace(); } - } catch (IOException var47) { - var47.printStackTrace(); + + } + } else { + String[] splitBlock = block.split("\\."); + String mainBlock = splitBlock[0]; + String collision = splitBlock[1]; + InputStream is = null; + + try { + is = (new URL(lookupServer + "/lookup/" + name + "/" + mainBlock + "/" + collision)).openStream(); + } catch (IOException var52) { + var52.printStackTrace(); } + try { + BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); + String jsonText = org.bitcoinj.utils.JSONHelper.readJSONFile(rd); + JSONObject json = new JSONObject(jsonText); + address = json.getJSONObject("information").getJSONArray("payment").getJSONObject(0).getString("address"); + } catch (JSONException var49) { + var49.printStackTrace(); + } catch (IOException var50) { + var50.printStackTrace(); + } finally { + try { + if (is != null) { + is.close(); + } + } catch (IOException var47) { + var47.printStackTrace(); + } + } } }