//StringToAddress returns the Bitcoin address of a base58-encoded extended key. func StringAddress(data string) (string, error) { w, err := StringWallet(data) if err != nil { return "", err } // WTF the testvectors expect address made from uncompreessed public key? tnet := w.Prefix == TestPublic || w.Prefix == TestPrivate if false { return NewAddrFromPubkey(w.Key, AddrVerPubkey(tnet)).String(), nil } else { var xy secp256k1.XY xy.ParsePubkey(w.Key) return NewAddrFromPubkey(xy.Bytes(false), AddrVerPubkey(tnet)).String(), nil } }