From b7780d3716a1875093866d83227d9341556b0ed5 Mon Sep 17 00:00:00 2001 From: Benjamin Bollen <ben@erisindustries.com> Date: Wed, 5 Oct 2016 16:28:01 +0200 Subject: [PATCH] client: websocket, keys minor but necessary byte wrangling --- client/client.go | 29 +++++++++++++------------ client/core/transaction_factory_util.go | 2 +- keys/key_client.go | 2 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/client/client.go b/client/client.go index f8cdfd04..f733ec1b 100644 --- a/client/client.go +++ b/client/client.go @@ -18,7 +18,7 @@ package client import ( "fmt" - "strings" + // "strings" "github.com/tendermint/go-rpc/client" @@ -91,19 +91,20 @@ func (erisNodeClient *ErisNodeClient) DeriveWebsocketClient() (nodeWsClient Node var wsAddr string // TODO: clean up this inherited mess on dealing with the address prefixes. nodeAddr := erisNodeClient.broadcastRPC - if strings.HasPrefix(nodeAddr, "http://") { - wsAddr = strings.TrimPrefix(nodeAddr, "http://") - } - if strings.HasPrefix(nodeAddr, "tcp://") { - wsAddr = strings.TrimPrefix(nodeAddr, "tcp://") - } - if strings.HasPrefix(nodeAddr, "unix://") { - log.WithFields(log.Fields{ - "node address": nodeAddr, - }).Error("Unable to subscribe to websocket from unix socket.") - return nil, fmt.Errorf("Unable to construct websocket from unix socket: %s", nodeAddr) - } - wsAddr = "ws://" + wsAddr + // if strings.HasPrefix(nodeAddr, "http://") { + // wsAddr = strings.TrimPrefix(nodeAddr, "http://") + // } + // if strings.HasPrefix(nodeAddr, "tcp://") { + // wsAddr = strings.TrimPrefix(nodeAddr, "tcp://") + // } + // if strings.HasPrefix(nodeAddr, "unix://") { + // log.WithFields(log.Fields{ + // "node address": nodeAddr, + // }).Error("Unable to subscribe to websocket from unix socket.") + // return nil, fmt.Errorf("Unable to construct websocket from unix socket: %s", nodeAddr) + // } + // wsAddr = "ws://" + wsAddr + wsAddr = nodeAddr log.WithFields(log.Fields{ "websocket address": wsAddr, "endpoint": "/websocket", diff --git a/client/core/transaction_factory_util.go b/client/core/transaction_factory_util.go index c856fc1f..3ad64a6b 100644 --- a/client/core/transaction_factory_util.go +++ b/client/core/transaction_factory_util.go @@ -120,7 +120,7 @@ func checkCommon(nodeClient client.NodeClient, keyClient keys.KeyClient, pubkey, } pubKeyBytes, err2 = keyClient.PublicKey(addressBytes) if err2 != nil { - err = fmt.Errorf("Failed to fetch pubkey for address (%s): %v", addr, err) + err = fmt.Errorf("Failed to fetch pubkey for address (%s): %v", addr, err2) return } } diff --git a/keys/key_client.go b/keys/key_client.go index 44a60f1f..994f5a67 100644 --- a/keys/key_client.go +++ b/keys/key_client.go @@ -68,7 +68,7 @@ func (erisKeys *ErisKeyClient) Sign(signBytesString string, signAddress []byte) // the eris-keys server. func (erisKeys *ErisKeyClient) PublicKey(address []byte) (publicKey []byte, err error) { args := map[string]string{ - "addr": string(address), + "addr": fmt.Sprintf("%X", address), } pubS, err := RequestResponse(erisKeys.rpcString, "pub", args) if err != nil { -- GitLab