From 5bd241dcaf34ae95710fe29ae39e1c8f94535f1d Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 18 Oct 2018 10:18:31 +0100 Subject: [PATCH] use NewComponent in FromIP This allows us to do less string-parsing. --- convert.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/convert.go b/convert.go index 973820c..a6cd3bf 100644 --- a/convert.go +++ b/convert.go @@ -68,14 +68,16 @@ func parseBasicNetMaddr(maddr ma.Multiaddr) (net.Addr, error) { // FromIP converts a net.IP type to a Multiaddr. func FromIP(ip net.IP) (ma.Multiaddr, error) { + var proto string switch { case ip.To4() != nil: - return ma.NewMultiaddr("/ip4/" + ip.String()) + proto = "ip4" case ip.To16() != nil: - return ma.NewMultiaddr("/ip6/" + ip.String()) + proto = "ip6" default: return nil, errIncorrectNetAddr } + return ma.NewComponent(proto, ip.String()) } // DialArgs is a convenience function returning arguments for use in net.Dial