// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthAccountsResponse.java
// public class EthAccountsResponse {
// 
//     public List<String> result;
// 
//     @Override
//     public String toString() {
//         return "EthAccountsResponse{" +
// //                "id='" + id + '\'' +
// //                ", jsonrpc='" + jsonrpc + '\'' +
//                 ", result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthBlockNumberResponse.java
// public class EthBlockNumberResponse {
// 
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "EthBlockNumberResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthGetBalanceResponse.java
// public class EthGetBalanceResponse {
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "EthGetBalanceResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthSyncingResponse.java
// public class EthSyncingResponse {
// 
//     @FalseToNull
//     public EthSyncingResult result;
// 
//     @Override
//     public String toString() {
//         return "EthSyncingResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/NetPeerCountResponse.java
// public class NetPeerCountResponse {
// 
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "NetPeerCountResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalListAccountsResponse.java
// public class PersonalListAccountsResponse {
// 
//     @Json(name = "result")
//     public List<String> accounts;
//     public PersonalListAccountsError error;
// 
//     @Override
//     public String toString() {
//         return "PersonalListAccountsResponse{" +
//                 "result=" + accounts +
//                 ", error=" + error +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalNewAccountResponse.java
// public class PersonalNewAccountResponse {
// // {"jsonrpc":"2.0","id":5,"result":"0x36605dbfe30b25acd05a21884d19483be54de6fd"}
// 
//     public String result;
// 
//     @Override
//     public String toString() {
//         return "PersonalNewAccountResponse{" +
//                 "result='" + result + '\'' +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalUnlockAccountResponse.java
// public class PersonalUnlockAccountResponse {
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/SendTransactionresult.java
// public class SendTransactionresult {
// }


import com.jaeckel.geth.json.EthAccountsResponse;
import com.jaeckel.geth.json.EthBlockNumberResponse;
import com.jaeckel.geth.json.EthGetBalanceResponse;
import com.jaeckel.geth.json.EthSyncingResponse;
import com.jaeckel.geth.json.NetPeerCountResponse;
import com.jaeckel.geth.json.PersonalListAccountsResponse;
import com.jaeckel.geth.json.PersonalNewAccountResponse;
import com.jaeckel.geth.json.PersonalUnlockAccountResponse;
import com.jaeckel.geth.json.SendTransactionresult;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;
import com.thetransactioncompany.jsonrpc2.JSONRPC2Request;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.logging.HttpLoggingInterceptor;
package com.jaeckel.geth;




public class GethConnector implements EthereumJsonRpc {

    private static final String METHOD_NET_PEER_COUNT = "net_peerCount";
    private static final String METHOD_ETH_BLOCK_NUMBER = "eth_blockNumber";
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthAccountsResponse.java
// public class EthAccountsResponse {
// 
//     public List<String> result;
// 
//     @Override
//     public String toString() {
//         return "EthAccountsResponse{" +
// //                "id='" + id + '\'' +
// //                ", jsonrpc='" + jsonrpc + '\'' +
//                 ", result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthBlockNumberResponse.java
// public class EthBlockNumberResponse {
// 
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "EthBlockNumberResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthGetBalanceResponse.java
// public class EthGetBalanceResponse {
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "EthGetBalanceResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/EthSyncingResponse.java
// public class EthSyncingResponse {
// 
//     @FalseToNull
//     public EthSyncingResult result;
// 
//     @Override
//     public String toString() {
//         return "EthSyncingResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/NetPeerCountResponse.java
// public class NetPeerCountResponse {
// 
//     @Hex
//     public long result;
// 
//     @Override
//     public String toString() {
//         return "NetPeerCountResponse{" +
//                 "result=" + result +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalListAccountsResponse.java
// public class PersonalListAccountsResponse {
// 
//     @Json(name = "result")
//     public List<String> accounts;
//     public PersonalListAccountsError error;
// 
//     @Override
//     public String toString() {
//         return "PersonalListAccountsResponse{" +
//                 "result=" + accounts +
//                 ", error=" + error +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalNewAccountResponse.java
// public class PersonalNewAccountResponse {
// // {"jsonrpc":"2.0","id":5,"result":"0x36605dbfe30b25acd05a21884d19483be54de6fd"}
// 
//     public String result;
// 
//     @Override
//     public String toString() {
//         return "PersonalNewAccountResponse{" +
//                 "result='" + result + '\'' +
//                 '}';
//     }
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/PersonalUnlockAccountResponse.java
// public class PersonalUnlockAccountResponse {
// }
// 
// Path: geth-connector/src/main/java/com/jaeckel/geth/json/SendTransactionresult.java
// public class SendTransactionresult {
// }


// Path: geth-connector/src/main/java/com/jaeckel/geth/GethConnector.java
import com.jaeckel.geth.json.EthAccountsResponse;
import com.jaeckel.geth.json.EthBlockNumberResponse;
import com.jaeckel.geth.json.EthGetBalanceResponse;
import com.jaeckel.geth.json.EthSyncingResponse;
import com.jaeckel.geth.json.NetPeerCountResponse;
import com.jaeckel.geth.json.PersonalListAccountsResponse;
import com.jaeckel.geth.json.PersonalNewAccountResponse;
import com.jaeckel.geth.json.PersonalUnlockAccountResponse;
import com.jaeckel.geth.json.SendTransactionresult;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;
import com.thetransactioncompany.jsonrpc2.JSONRPC2Request;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.logging.HttpLoggingInterceptor;

package com.jaeckel.geth;




public class GethConnector implements EthereumJsonRpc {

    private static final String METHOD_NET_PEER_COUNT = "net_peerCount";
    private static final String METHOD_ETH_BLOCK_NUMBER = "eth_blockNumber";
    private static final String METHOD_ETH_GET_BALANCE = "eth_getBalance";