package server import ( "git.grassecon.org/grassrootseconomics/openethereum-node-status/pkg/rpc" "github.com/rs/zerolog/log" "github.com/ybbus/jsonrpc/v2" ) var ( RpcClient rpc.RpcClient ) type BatchResponse struct { SyncComplete bool ChainName string } func batchCall() (bool, BatchResponse) { var batchResponse BatchResponse rpcResponses, err := RpcClient.EthBatchRpcCall(jsonrpc.RPCRequests{ jsonrpc.NewRequest("eth_syncing"), jsonrpc.NewRequest("parity_chain"), }) if err != nil { log.Error(). Err(err). Str("module", "server"). Msg("error in batch responses") return false, batchResponse } if syncStatus, ok := rpcResponses[0]; ok { val, err := syncStatus.GetBool() if err != nil { return false, batchResponse } batchResponse.SyncComplete = !val } if chainName, ok := rpcResponses[1]; ok { val, err := chainName.GetString() if err != nil { return false, batchResponse } batchResponse.ChainName = val } return true, batchResponse }